:root{--bg-primary:#bcc7d7;--bg-secondary:#a8b3c5;--bg-surface:#0000000f;--border-subtle:#00000014;--border-light:#00000026;--text-primary:#1a1a2e;--text-secondary:#1a1a2e99;--text-muted:#1a1a2e59;--accent:#8b6cb0;--danger:#c94f4f;color:var(--text-primary);background-color:var(--bg-primary);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden}button{font-family:inherit}a{color:var(--accent);text-decoration:none}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#00000026;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#00000040}.loading-screen{background:linear-gradient(135deg, #ffffff12 0%, transparent 50%, #0000000f 100%), var(--bg-primary);justify-content:center;align-items:center;width:100vw;height:100vh;display:flex}.landing{--mouse-x:50%;--mouse-y:50%;background:radial-gradient(circle at var(--mouse-x) var(--mouse-y), #ffffff40 0%, transparent 50%), linear-gradient(135deg, #d6dfe9 0%, #8e9bb0 40%, #6a7a94 70%, #4a5568 100%);justify-content:center;align-items:center;min-height:100vh;transition:background .1s;display:flex}.landing__hero{text-align:center;padding:2rem}.landing__title{color:var(--text-primary);letter-spacing:-.02em;margin-bottom:.5rem;font-size:3.5rem;font-weight:700}.landing__subtitle{color:var(--text-secondary);letter-spacing:.05em;margin-bottom:1.5rem;font-size:1.1rem}.landing__description{color:var(--text-muted);max-width:400px;margin:0 auto 2.5rem;font-size:.95rem;line-height:1.7}.landing__login-btn{color:#fff;cursor:pointer;background:#7a99cf;border:none;border-radius:8px;align-items:center;gap:.75rem;padding:.85rem 2rem;font-size:1rem;font-weight:500;transition:box-shadow .2s;display:inline-flex}.landing__login-btn:hover{box-shadow:0 4px 20px #0000001f}.register{background:linear-gradient(135deg,#d6dfe9 0%,#8e9bb0 40%,#6a7a94 70%,#4a5568 100%);justify-content:center;align-items:flex-start;height:100vh;padding:2rem;display:flex;overflow-y:auto}.register::-webkit-scrollbar{width:8px}.register::-webkit-scrollbar-track{background:0 0}.register::-webkit-scrollbar-thumb{background:#fff9;border-radius:4px}.register::-webkit-scrollbar-thumb:hover{background:#fffc}.register__form{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff59;border:1px solid #ffffff80;border-radius:16px;width:720px;max-width:100%;margin:auto 0;padding:2.5rem}.register__title{color:#4a4a4a;margin-bottom:.5rem;font-size:1.5rem;font-weight:600}.register__subtitle{color:#6a6a6a;margin-bottom:2rem;font-size:.85rem}.register__plans{grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1.5rem;display:grid}.register__plan{cursor:pointer;text-align:left;color:#4a4a4a;background:#ffffff40;border:2px solid #00000014;border-radius:10px;padding:1.25rem 1rem;font-family:inherit;transition:border-color .2s,background .2s}.register__plan:hover{background:#fff6;border-color:#00000026}.register__plan--active{border-color:var(--accent);background:#4285f41f}.register__plan-name{margin-bottom:.3rem;font-size:1rem;font-weight:600}.register__plan--active .register__plan-name{color:var(--accent)}.register__plan-price{margin-bottom:.25rem;font-size:1.2rem;font-weight:700}.register__plan-campaign{color:#ff6b6b;background:#ff6b6b1a;border:1px solid #ff6b6b4d;border-radius:4px;margin-bottom:.75rem;padding:.2rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.register__plan-features{flex-direction:column;gap:.3rem;margin:0;padding:0;list-style:none;display:flex}.register__plan-features li{color:#0000008c;padding-left:1rem;font-size:.72rem;position:relative}.register__plan-features li:before{content:"✓";color:#34a853;font-size:.7rem;position:absolute;left:0}.register__admin-note{color:#8b6914;background:#ffbb3326;border:1px solid #ffbb3359;border-radius:6px;margin-bottom:1rem;padding:.5rem .75rem;font-size:.8rem}.register__field{margin-bottom:1.25rem}.register__field label{color:#0000008c;margin-bottom:.4rem;font-size:.8rem;display:block}.register__input{color:#4a4a4a;background:#ffffff80;border:1px solid #0000001a;border-radius:6px;width:100%;padding:.65rem .75rem;font-family:inherit;font-size:.9rem;transition:border-color .2s}.register__input:focus{border-color:var(--accent);outline:none}.register__input--disabled{opacity:.5;cursor:not-allowed}.register__textarea{resize:vertical;min-height:80px}.register__input option{color:#4a4a4a;background:#fff}.register__error{color:var(--danger);margin-bottom:1rem;font-size:.8rem}.register__actions{gap:.75rem;margin-top:1.5rem;display:flex}.register__cancel{color:#0009;cursor:pointer;background:#0000000d;border:1px solid #0000001a;border-radius:6px;flex:1;padding:.65rem;font-size:.9rem}.register__submit{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;flex:2;padding:.65rem;font-size:.9rem;font-weight:500}.register__submit:disabled{opacity:.5;cursor:not-allowed}.register__note{color:#00000059;text-align:center;margin-top:1.25rem;font-size:.75rem}@media (width<=640px){.register__plans{grid-template-columns:1fr}}.lang-toggle{cursor:pointer;background:0 0;border:1px solid #a080c0;border-radius:8px;grid-template-columns:1fr 1fr;width:100%;height:34px;padding:0;font-family:inherit;display:grid;position:relative;overflow:hidden}.lang-toggle__label{z-index:1;letter-spacing:.03em;color:#2a2a2a;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-size:.75rem;font-weight:600;transition:color .3s;display:flex;position:relative}.lang-toggle__label--active{color:#fff}.lang-toggle__slider{pointer-events:none;background:#8b6cb0;border-radius:6px;width:calc(50% - 2px);height:calc(100% - 4px);transition:transform .3s cubic-bezier(.4,0,.2,1);position:absolute;top:2px;left:2px}.upgrade-overlay{z-index:1000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.upgrade-dialog{background:#1a1a1a;border:1px solid #ffffff1a;border-radius:12px;width:520px;max-width:90vw;overflow:hidden}.upgrade-dialog__header{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.upgrade-dialog__header h2{color:#fff;margin:0;font-size:1rem;font-weight:600}.upgrade-dialog__close{color:#ffffff80;cursor:pointer;background:0 0;border:none;font-size:1.4rem}.upgrade-dialog__body{padding:1.5rem 1.25rem}.upgrade-dialog__plans{grid-template-columns:1fr;gap:.75rem;margin-bottom:1.5rem;display:grid}.upgrade-dialog__plan-card{cursor:pointer;text-align:left;color:#fff;background:#ffffff08;border:2px solid #ffffff1a;border-radius:10px;padding:1.25rem 1rem;font-family:inherit;transition:border-color .2s,background .2s}.upgrade-dialog__plan-card:hover{background:#ffffff0f;border-color:#fff3}.upgrade-dialog__plan-card--active{border-color:var(--accent);background:#4285f414}.upgrade-dialog__plan-name{margin-bottom:.3rem;font-size:1rem;font-weight:600}.upgrade-dialog__plan-card--active .upgrade-dialog__plan-name{color:var(--accent)}.upgrade-dialog__plan-price{color:#fff;margin-bottom:.25rem;font-size:1.2rem;font-weight:700}.upgrade-dialog__plan-campaign{color:#ff6b6b;background:#ff6b6b1a;border:1px solid #ff6b6b4d;border-radius:4px;margin-bottom:.75rem;padding:.2rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.upgrade-dialog__features{flex-direction:column;gap:.3rem;margin:0;padding:0;list-style:none;display:flex}.upgrade-dialog__features li{color:#fff9;padding-left:1rem;font-size:.78rem;position:relative}.upgrade-dialog__features li:before{content:"✓";color:#34a853;font-size:.75rem;position:absolute;left:0}.upgrade-dialog__error{color:var(--danger);text-align:center;margin-bottom:1rem;font-size:.8rem}.upgrade-dialog__processing{color:#ffffff80;flex-direction:column;align-items:center;gap:.75rem;padding:1rem;font-size:.85rem;display:flex}.upgrade-dialog__success{text-align:center;padding:1rem}.upgrade-dialog__success p{color:#34a853;margin-bottom:1rem;font-size:1rem}.upgrade-dialog__success button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.5rem 1.5rem}.upgrade-dialog__current{text-align:center;color:#ffffff80;padding:1rem}.upgrade-dialog__stripe-btn{color:#fff;cursor:pointer;background:#635bff;border:none;border-radius:8px;width:100%;padding:.85rem;font-family:inherit;font-size:1rem;font-weight:500;transition:background .2s;display:block}.upgrade-dialog__stripe-btn:hover{background:#4f46e5}.wizard-overlay{z-index:500;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000bf;justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0}.wizard-panel{text-align:center;background:#1a1a1a;border:1px solid #ffffff1a;border-radius:16px;width:480px;max-width:100%;padding:2.5rem;position:relative}.wizard-panel__close{color:#ffffff80;cursor:pointer;background:0 0;border:none;padding:.2rem .4rem;font-size:.85rem;transition:color .2s;position:absolute;top:1rem;left:1.2rem}.wizard-panel__close:hover{color:#fff}.wizard-panel__icon{color:#fff6;margin-bottom:1.5rem}.wizard-panel__icon--success{color:#34a853}.wizard-panel h2{color:#fff;margin-bottom:.5rem;font-size:1.3rem;font-weight:600}.wizard-panel>p{color:#fff6;margin-bottom:1.5rem;font-size:.85rem;line-height:1.6}.wizard-panel__btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:.7rem 2rem;font-family:inherit;font-size:.95rem;font-weight:500}.wizard-panel__btn:disabled{opacity:.5;cursor:not-allowed}.wizard-panel__btn-secondary{color:#fff9;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:8px;padding:.7rem 1.5rem;font-family:inherit;font-size:.9rem}.wizard-panel__actions{justify-content:center;gap:.75rem;margin-top:1.5rem;display:flex}.wizard-panel__preview{background:#ffffff0a;border:1px solid #ffffff1f;border-radius:8px;align-items:center;margin-bottom:.75rem;padding:.6rem 1rem;display:flex}.wizard-panel__id{color:#fff6;white-space:nowrap;font-family:monospace;font-size:.9rem}.wizard-panel__input{color:#fff;background:0 0;border:none;outline:none;flex:1;font-family:monospace;font-size:.9rem}.wizard-panel__hint{color:#ffffff40;margin-bottom:0;font-size:.75rem}.wizard-panel__hint code{background:#ffffff0f;border-radius:3px;padding:.1rem .4rem;font-size:.7rem}.wizard-panel__error{color:var(--danger);margin-top:.5rem;font-size:.8rem}.wizard-panel__dropzone{cursor:pointer;border:2px dashed #ffffff26;border-radius:12px;margin-bottom:.5rem;padding:2.5rem 1.5rem;transition:border-color .2s,background .2s}.wizard-panel__dropzone:hover{background:#4285f40a;border-color:#4285f466}.wizard-panel__dropzone--has-file{background:#34a8530f;border-color:#34a853}.wizard-panel__dropzone p{color:#ffffff80;margin:0;font-size:.95rem}.wizard-panel__dropzone-sub{color:#ffffff4d!important;margin-top:.3rem!important;font-size:.8rem!important}.wizard-panel__dropzone-ext{font-family:monospace;color:#fff3!important;margin-top:.5rem!important;font-size:.75rem!important}.wizard-panel__file-info{flex-direction:column;gap:.3rem;display:flex}.wizard-panel__file-name{color:#fff;font-size:.9rem;font-weight:500}.wizard-panel__file-size{color:#fff6;font-size:.8rem}.add-scene-overlay{z-index:1000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.add-scene-dialog{background:#1a1a1a;border:1px solid #ffffff1a;border-radius:12px;width:440px;max-width:90vw;overflow:hidden}.add-scene-dialog__header{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.add-scene-dialog__header h2{color:#fff;margin:0;font-size:1rem;font-weight:600}.add-scene-dialog__close{color:#ffffff80;cursor:pointer;background:0 0;border:none;font-size:1.4rem}.add-scene-dialog__body{padding:1.25rem}.add-scene-dialog__field{margin-bottom:1.25rem}.add-scene-dialog__field label{color:#ffffff80;margin-bottom:.4rem;font-size:.8rem;display:block}.add-scene-dialog__name-preview{background:#ffffff0a;border:1px solid #ffffff1f;border-radius:6px;align-items:center;padding:.5rem .75rem;display:flex}.add-scene-dialog__id{color:#fff6;font-family:monospace;font-size:.85rem}.add-scene-dialog__name-preview input{color:#fff;background:0 0;border:none;outline:none;flex:1;font-family:monospace;font-size:.9rem}.add-scene-dialog__dropzone{text-align:center;cursor:pointer;color:#fff6;border:2px dashed #ffffff26;border-radius:8px;padding:1.5rem;font-size:.85rem;transition:border-color .2s}.add-scene-dialog__dropzone:hover{border-color:#4285f466}.add-scene-dialog__dropzone--has-file{color:#fff;border-color:#34a853}.add-scene-dialog__error{color:var(--danger);font-size:.8rem}.add-scene-dialog__footer{border-top:1px solid #ffffff14;justify-content:flex-end;gap:.75rem;padding:1rem 1.25rem;display:flex}.add-scene-dialog__cancel{color:#fff;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:6px;padding:.5rem 1rem;font-size:.85rem}.add-scene-dialog__submit{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.5rem 1.25rem;font-size:.85rem;font-weight:500}.add-scene-dialog__submit:disabled{opacity:.5;cursor:not-allowed}.dashboard{height:100vh;color:var(--text-primary);background:url(/bg1.png) 50%/cover no-repeat;flex-direction:column;display:flex;overflow:hidden}.dashboard__header{display:none}.dashboard__logo{letter-spacing:-.01em;color:var(--text-primary);font-size:1.2rem;font-weight:600}.dashboard__user-menu{position:relative}.dashboard__avatar{cursor:pointer;width:36px;height:36px;color:var(--text-primary);background:#a0adc0;border:2px solid #00000026;border-radius:50%;justify-content:center;align-items:center;font-size:.85rem;display:flex;overflow:hidden}.dashboard__avatar img{object-fit:cover;width:100%;height:100%}.dashboard__dropdown{z-index:100;background:#d5dde8;border:1px solid #0000001a;border-radius:8px;min-width:200px;margin-top:.5rem;padding:1rem;position:absolute;top:100%;right:0;box-shadow:0 4px 16px #0000001f}.dashboard__dropdown-name{color:var(--text-primary);margin-bottom:.25rem;font-weight:500}.dashboard__dropdown-email{color:var(--text-secondary);font-size:.8rem}.dashboard__dropdown-plan{color:var(--text-secondary);align-items:center;gap:.4rem;margin-top:.4rem;font-size:.8rem;display:flex}.dashboard__dropdown hr{border:none;border-top:1px solid #00000014;margin:.75rem 0}.dashboard__dropdown button{text-align:left;width:100%;color:var(--danger);cursor:pointer;background:0 0;border:none;padding:.5rem 0;font-size:.9rem}.dashboard__main{flex:1;min-height:0;display:flex;overflow:hidden}.dashboard__sidebar{background:#f8f8fd;border-right:none;border-radius:0 24px 24px 0;flex-direction:column;flex-shrink:0;gap:.5rem;width:225px;padding:1.5rem .9rem;transition:width .35s,padding .35s,border-radius .35s;display:flex;overflow:hidden}.dashboard__sidebar>*{opacity:1;transition:opacity .3s .32s}.dashboard__sidebar--hidden{pointer-events:none;border-radius:0;width:0;padding:1.5rem 0}.dashboard__sidebar--hidden>*{opacity:0;transition:opacity .15s}.dashboard__sidebar-logo{cursor:pointer;background:0 0;border:none;border-radius:8px;padding:.25rem .25rem 0;transition:filter .15s,opacity .3s .32s;position:relative;overflow:hidden}.dashboard__sidebar--hidden .dashboard__sidebar-logo{transition:filter .15s,opacity .15s}.dashboard__sidebar-logo-img{z-index:1;width:100%;height:auto;display:block;position:relative}.dashboard__sidebar-logo-shine{z-index:2;opacity:0;mix-blend-mode:screen;pointer-events:none;background:linear-gradient(105deg,#0000 20%,#ffffff73 35%,#ffffffb3 42%,#c8c8c84d 50%,#fff9 58%,#b4b4b440 65%,#0000 80%) 0 0/250% 100%;transition:opacity .25s;position:absolute;inset:0;-webkit-mask-image:url(/rogo.png);mask-image:url(/rogo.png);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.dashboard__sidebar-logo:hover .dashboard__sidebar-logo-shine{opacity:1;animation:1.2s ease-in-out infinite metallic-sweep}@keyframes metallic-sweep{0%{background-position:150% 0}to{background-position:-50% 0}}.dashboard__sidebar-logo:active{filter:brightness(1.6)drop-shadow(0 0 12px #fffc)}.dashboard__sidebar-logo:active .dashboard__sidebar-logo-shine{opacity:1;background:#ffffff80;animation:none}.dashboard__sidebar-divider{border:none;border-top:1px solid #999;margin:3.5rem 0 1rem}.dashboard__sidebar-btn{color:#2a2a2a;cursor:pointer;background:0 0;border:1px solid #a080c0;border-radius:8px;width:100%;padding:.55rem .8rem;font-family:inherit;font-size:.85rem;transition:background .2s,opacity .3s .32s}.dashboard__sidebar--hidden .dashboard__sidebar-btn{transition:background .2s,opacity .15s}.dashboard__sidebar-btn:hover{background:#a080c02e}.dashboard__sidebar-btn--accent{color:#2a2a2a;background:0 0;border:1px solid #a080c0;font-weight:600}.dashboard__sidebar-btn--accent:hover{background:#a080c02e}.dashboard__warning{color:var(--danger);margin-top:1rem;font-size:.75rem}.dashboard__sidebar-spacer{flex:1}.dashboard__sidebar-hint{color:#ffffff8c;word-break:break-all;margin:0 0 .25rem;padding:0 .25rem;font-size:.7rem;line-height:1.4}.dashboard__sidebar-lang{flex-direction:column;gap:.4rem;display:flex}.dashboard__sidebar-lang-label{color:#2a2a2a;letter-spacing:.02em;font-size:.75rem}.dashboard__content{scroll-behavior:smooth;flex:1;padding:2rem;transition:padding .35s,background .5s;overflow-y:auto}.dashboard__content--bright{background:#ffffffb3}.dashboard__content::-webkit-scrollbar{width:8px}.dashboard__content::-webkit-scrollbar-track{background:0 0}.dashboard__content::-webkit-scrollbar-thumb{background:#fff9;border-radius:4px}.dashboard__content::-webkit-scrollbar-thumb:hover{background:#fffc}.dashboard__empty{height:100%;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex}.dashboard__empty-btn{color:#5a78a8;cursor:pointer;background:0 0;border:1px solid #7a99cf80;border-radius:6px;padding:.6rem 2rem;font-size:.9rem;transition:background .2s,border-color .2s}.dashboard__empty-btn:hover{background:#7a99cf1f;border-color:#8b6cb0}.dashboard__greeting{align-items:center;gap:1rem;margin-top:1.2rem;margin-bottom:.25rem;display:flex}.dashboard__greeting-left{flex:none}.dashboard__greeting-hello{color:var(--text-primary);align-items:center;gap:.5rem;font-size:1.44rem;font-weight:600;display:flex}.dashboard__greeting-id{color:#999;font-size:.85rem;font-weight:400}.dashboard__greeting-sub{color:#777;align-items:center;min-height:1.4em;margin-top:.15rem;font-size:.82rem;display:flex}.dashboard__back-btn{border-radius:8px;justify-content:center;align-items:center;margin-right:.2rem;padding:.3rem;transition:background .15s;display:flex}.dashboard__back-btn:hover{background:#0000000f}.dashboard__name-edit{color:#777;background:0 0;border:none;border-bottom:1px solid #00000026;width:200px;padding:0;font-family:inherit;font-size:.82rem}.dashboard__name-edit:focus{border-color:var(--accent);color:var(--text-primary);outline:none}.dashboard__section-row{align-items:center;margin-top:2.5rem;margin-bottom:.8rem;padding-right:2rem;display:flex}.dashboard__section-title{color:#555;font-size:1.44rem;font-weight:600}.dashboard__section-count{color:#999;margin-left:.4rem;font-weight:400}.dashboard__toolbar{align-items:center;gap:.5rem;margin-left:auto;margin-right:2rem;display:flex}.dashboard__search-wrap{align-items:center;display:flex;position:relative}.dashboard__search-icon{color:#999;pointer-events:none;position:absolute;left:.6rem}.dashboard__search{width:240px;color:var(--text-primary);background:#ffffffb3;border:1px solid #0000001f;border-radius:8px;outline:none;padding:.45rem .6rem .45rem 2rem;font-family:inherit;font-size:.85rem;transition:border-color .15s}.dashboard__search:focus{border-color:var(--accent,#48f)}.dashboard__search::placeholder{color:var(--text-muted)}.dashboard__toolbar--scene{justify-content:flex-start;align-items:center;gap:1rem}.dashboard__toolbar-center{flex:1;align-items:center;gap:.5rem;min-width:0;display:flex}.dashboard__toolbar-name{color:var(--text-primary);background:0 0;border:none;border-bottom:1px solid #00000026;outline:none;max-width:280px;padding:.2rem 0;font-family:inherit;font-size:1.1rem;font-weight:600;transition:border-color .2s}.dashboard__toolbar-name:focus{border-color:var(--accent)}.dashboard__toolbar-actions{align-items:center;gap:.5rem;display:flex}.dashboard__grid{grid-template-columns:repeat(auto-fill,minmax(216px,1fr));gap:1.8rem;animation:.25s fadeIn;display:grid}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.dashboard__scene-grid{margin-top:0}.dashboard__scene-grid .project-card,.dashboard__scene-grid .project-card__info{background:#fff}.dashboard__grid>*{min-height:0}.project-card{aspect-ratio:5/6;cursor:pointer;background:#fff;border:1px solid #bbb;border-radius:14px;flex-direction:column;transition:box-shadow .2s;display:flex;position:relative}.project-card:hover{box-shadow:0 2px 8px #0000001a}.project-card__thumb{background:#a1adcf;border-radius:12px 12px 0 0;flex:0 0 75%;justify-content:center;align-items:center;display:flex;overflow:hidden}.project-card__thumb img{object-fit:cover;width:100%;height:100%;display:block}.project-card__thumb--fit-height img{width:auto;height:100%}.project-card__info{background:#fff;border-radius:0 0 12px 12px;flex-direction:column;flex:1;justify-content:center;min-height:0;padding:.3rem .72rem;display:flex;overflow:hidden}.project-card__name{white-space:nowrap;text-overflow:ellipsis;color:var(--text-primary);justify-content:space-between;align-items:baseline;gap:.5rem;font-size:.96rem;font-weight:500;line-height:1.3;display:flex;overflow:hidden}.project-card__date{color:var(--text-muted);flex-shrink:0;font-size:.72rem;font-weight:400}.project-card__id{color:var(--text-muted);margin-top:.18rem;font-size:.84rem;line-height:1.2}.card-menu{z-index:2;position:absolute;top:.4rem;right:.4rem}.card-menu__btn{cursor:pointer;color:#666;opacity:0;background:#ffffffb3;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;transition:background .15s;display:flex}.project-card:hover .card-menu__btn,.list-item:hover .card-menu__btn{opacity:1}.card-menu__btn:hover{color:#333;background:#fffffff2}.card-menu__dropdown{background:#fff;border:1px solid #0000001f;border-radius:8px;min-width:150px;margin-top:.25rem;position:absolute;top:100%;right:0;overflow:hidden;box-shadow:0 4px 16px #0000001f}.card-menu__item{text-align:left;width:100%;color:var(--text-primary);cursor:pointer;background:0 0;border:none;padding:.5rem .75rem;font-family:inherit;font-size:.82rem;transition:background .15s;display:block}.card-menu__item:hover{background:#8b6cb01a}.card-menu__item--danger{color:#d44}.card-menu__item--danger:hover{background:#dc444414}.list-item{position:relative}.project-card--add{background-image:linear-gradient(#fff,#fff),linear-gradient(135deg,#8b6cb0,#c4a6e0,#7a5aa0,#b892d4,#8b6cb0);background-origin:border-box;background-clip:padding-box,border-box;flex-direction:column;justify-content:center;align-items:center;display:flex}.project-card--add .project-card__info{background:0 0;position:absolute;bottom:12%}.project-card__plus{color:var(--text-muted);font-size:2.4rem}.detail-view{max-width:720px;margin:0 auto;animation:.35s fadeSlideIn}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.detail-view__top-bar{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.detail-view__back{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:0;font-size:.9rem}.detail-view__back:hover{color:var(--text-primary)}.detail-view__top-bar-actions{align-items:center;gap:.5rem;display:flex}.detail-view__gear-wrapper{position:relative}.detail-view__gear-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #00000026;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.1rem;transition:background .2s,color .2s;display:flex}.dashboard__gear-btn-lg{width:36px;height:36px;font-size:1.2rem}.detail-view__gear-btn:hover{color:var(--text-primary);background:#0000000f}.detail-view__gear-menu{z-index:50;background:#d5dde8;border:1px solid #0000001a;border-radius:8px;min-width:180px;margin-top:.4rem;padding:.4rem 0;animation:.15s fadeSlideIn;position:absolute;top:100%;right:0;box-shadow:0 4px 16px #0000001f}.detail-view__gear-menu-item{width:100%;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:none;padding:.55rem 1rem;font-size:.85rem;transition:background .15s}.detail-view__gear-menu-item:hover{background:#0000000f}.detail-view__gear-menu-item--danger{color:var(--danger)}.detail-view__gear-menu-item--danger:hover{background:#c94f4f1a}.detail-view__hero{aspect-ratio:3;background:#a8b3c5;border-radius:12px;align-items:center;width:100%;margin-bottom:1.5rem;display:flex;overflow:hidden}.detail-view__hero img{width:100%;height:auto;display:block}.detail-view__gear-menu-item--selected{color:var(--accent);background:#0000000f}.detail-view__thumb-edit{border-top:1px solid #0000000f;border-bottom:1px solid #0000000f;flex-direction:column;gap:.5rem;padding:.5rem .75rem .6rem;animation:.15s fadeSlideIn;display:flex}.detail-view__thumb-edit-delete{width:100%;color:var(--danger);cursor:pointer;background:#c94f4f14;border:1px solid #c94f4f40;border-radius:6px;padding:.4rem .6rem;font-size:.8rem;transition:background .15s}.detail-view__thumb-edit-delete:hover{background:#c94f4f2e}.detail-view__thumb-edit-drop{color:var(--text-muted);text-align:center;background:#ffffff0f;border:2px dashed #00000026;border-radius:8px;padding:1.2rem .6rem;font-size:.8rem;transition:border-color .2s,background .2s,color .2s}.detail-view__thumb-edit-drop--active{border-color:var(--accent);color:var(--text-primary);background:#7a99cf26}.detail-view__versions{flex-wrap:wrap;gap:.4rem;margin-bottom:1.5rem;display:flex}.detail-view__version-btn{color:var(--text-secondary);cursor:pointer;background:#fff3;border:1px solid #0000001a;border-radius:6px;padding:.4rem .9rem;font-family:inherit;font-size:.82rem;transition:all .2s}.detail-view__version-btn:hover{color:var(--text-primary);background:#ffffff59}.detail-view__version-btn--active{color:var(--text-primary);background:#8b6cb033;border-color:#8b6cb073;font-weight:500}.detail-view__version-btn--empty{opacity:.6;border-style:dashed}.detail-view__version-btn--empty.detail-view__version-btn--active{opacity:1}.detail-view__version-btn--deleted{opacity:.35;cursor:not-allowed;pointer-events:none;text-decoration:line-through}.detail-view__version-manage-wrapper{margin-left:.3rem;position:relative}.detail-view__version-manage-btn{width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:#ffffff26;border:1px solid #00000014;border-radius:6px;justify-content:center;align-items:center;font-size:.85rem;transition:background .2s,color .2s;display:flex}.detail-view__version-manage-btn:hover,.detail-view__version-manage-btn--active{color:var(--text-primary);background:#0000000f}.detail-view__version-manage-menu{z-index:50;background:#d5dde8;border:1px solid #0000001a;border-radius:8px;min-width:180px;margin-top:.35rem;padding:.35rem 0;animation:.15s fadeSlideIn;position:absolute;top:100%;left:0;box-shadow:0 4px 16px #0000001f}.detail-view__version-manage-empty{color:var(--text-muted);padding:.6rem 1rem;font-size:.8rem}.detail-view__version-manage-item{text-align:left;cursor:pointer;background:0 0;border:none;width:100%;padding:.5rem 1rem;font-family:inherit;font-size:.82rem;transition:background .15s}.detail-view__version-manage-item--danger{color:var(--danger)}.detail-view__version-manage-item--danger:hover{background:#c94f4f1a}.detail-view__version-add-btn{width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:#ffffff26;border:1px dashed #00000026;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;margin-left:.2rem;font-size:1.1rem;transition:background .2s,color .2s,border-color .2s;display:flex}.detail-view__version-add-btn:hover{color:var(--text-primary);background:#7a99cf26;border-color:#7a99cf66}.detail-view__version-drop{color:var(--text-muted);text-align:center;cursor:default;background:#ffffff0f;border:2px dashed #00000026;border-radius:8px;margin-top:.25rem;margin-bottom:.5rem;padding:1.2rem .8rem;font-size:.82rem;transition:border-color .2s,background .2s,color .2s}.detail-view__version-drop--active{border-color:var(--accent);color:var(--text-primary);background:#7a99cf26}.detail-view__version-drop-done{text-align:center;color:#4a8c5c;padding:1.2rem .8rem;font-size:.85rem;font-weight:500;animation:.3s fadeSlideIn}.detail-view__name-row{align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.detail-view__name-input{color:var(--text-primary);background:0 0;border:none;border-bottom:1px solid #00000026;outline:none;flex:1;padding:.3rem 0;font-family:inherit;font-size:1.4rem;font-weight:600;transition:border-color .2s}.detail-view__name-input:focus{border-color:var(--accent)}.detail-view__confirm-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#8b6cb0;border:none;border-radius:6px;padding:.35rem .9rem;font-size:.8rem;transition:opacity .2s}.detail-view__confirm-btn:hover{opacity:.85}.detail-view__id{color:var(--text-muted);white-space:nowrap;font-size:.8rem}.detail-view__section-title{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.detail-view__section-title h3{color:var(--text-secondary);font-size:.9rem;font-weight:500}.detail-view__empty-scenes{text-align:center;color:var(--text-muted);padding:2rem;font-size:.85rem}.detail-view__add-btn{color:var(--text-secondary);cursor:pointer;background:#0000000a;border:1px dashed #0003;border-radius:6px;margin-top:1rem;padding:.5rem 1.2rem;font-size:.85rem}.detail-view__scene-grid{grid-template-columns:repeat(auto-fill,minmax(216px,1fr));gap:1.8rem;display:grid}.detail-view__scene-grid>*{height:100%}.scene-card{cursor:pointer;background:#ffffff40;border:1px solid #00000014;border-radius:14px;height:100%;transition:border-color .2s,box-shadow .2s;overflow:hidden}.scene-card:hover{border-color:#0000002e;box-shadow:0 2px 8px #00000014}.scene-card__thumb{aspect-ratio:1;background:#a8b3c5;overflow:hidden}.scene-card__thumb img{object-fit:cover;width:100%;height:100%}.scene-card__name{white-space:nowrap;text-overflow:ellipsis;color:var(--text-primary);padding:.9rem;font-size:1.08rem;font-weight:500;overflow:hidden}.scene-card--add{border-style:dashed;flex-direction:column;justify-content:center;align-items:center;display:flex}.scene-card__plus{color:var(--text-muted);margin-bottom:.6rem;font-size:2.4rem}.detail-view__settings{margin-top:1.5rem;margin-bottom:2rem}.detail-view__settings h3{color:var(--text-secondary);margin-bottom:1rem;font-size:.85rem}.detail-view__setting-row{align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.detail-view__setting-row label{width:80px;color:var(--text-muted);flex-shrink:0;font-size:.8rem}.detail-view__setting-row input{color:var(--text-primary);background:#ffffff4d;border:1px solid #0000001a;border-radius:6px;outline:none;flex:1;padding:.5rem .6rem;font-family:monospace;font-size:.85rem}.detail-view__setting-row input:focus{border-color:var(--accent)}.detail-view__memo{color:var(--text-primary);resize:vertical;background:#ffffff4d;border:1px solid #0000001a;border-radius:6px;outline:none;flex:1;padding:.5rem .6rem;font-family:inherit;font-size:.85rem}.detail-view__memo:focus{border-color:var(--accent)}.detail-view__path-btn{color:#ffffffb3;cursor:pointer;white-space:nowrap;background:#ffffff2e;border:1px solid #ffffff4d;border-radius:6px;flex-shrink:0;margin-left:auto;padding:.45rem 1rem;font-size:.8rem;font-weight:600;transition:background .2s}.detail-view__path-btn:hover{color:#fff;background:#ffffff4d}.detail-view__model-data{flex:1;align-items:center;gap:.5rem;min-width:0;display:flex}.detail-view__model-name{min-width:0;color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;background:#ffffff4d;border:1px solid #0000001a;border-radius:6px;flex:1;padding:.5rem .6rem;font-size:.85rem;overflow:hidden}.detail-view__model-change-btn{color:var(--text-primary);cursor:pointer;background:#0000000f;border:1px solid #0000001f;border-radius:6px;flex-shrink:0;padding:.4rem .8rem;font-family:inherit;font-size:.8rem;transition:background .2s}.detail-view__model-change-btn:hover{background:#0000001a}.detail-view__model-change-btn:disabled{opacity:.5;cursor:not-allowed}.detail-view__rad-controls{align-items:center;gap:.4rem;display:flex}.detail-view__rad-quality{gap:.2rem;display:flex}.detail-view__model-files{flex-wrap:wrap;flex:1;gap:.3rem;min-width:0;display:flex}.detail-view__model-file-tag{color:var(--text-secondary);white-space:nowrap;background:#fff3;border:1px solid #00000014;border-radius:4px;padding:.3rem .6rem;font-size:.8rem}.detail-view__format-options{gap:.3rem;display:flex}.detail-view__format-btn{color:var(--text-secondary);cursor:pointer;background:#fff3;border:1px solid #0000001a;border-radius:4px;padding:.3rem .7rem;font-family:inherit;font-size:.8rem;transition:all .2s}.detail-view__format-btn:hover{color:var(--text-primary);background:#ffffff59}.detail-view__format-btn.active{color:var(--text-primary);background:#8b6cb033;border-color:#8b6cb073}.detail-view__input-with-btn{flex-direction:column;flex:1;display:flex}.detail-view__input-with-btn input,.detail-view__input-with-btn textarea{width:100%}.detail-view__enter-btn{color:#fff;cursor:pointer;background:#8b6cb0;border:none;border-radius:8px;width:100%;padding:.85rem;font-family:inherit;font-size:1rem;font-weight:500;transition:opacity .2s;display:block}.detail-view__enter-btn:hover{opacity:.9}.admin__badge--pro,.admin__badge--special{color:#c8960f;background:#fb33}.display-toggle{gap:0;margin-left:auto;display:flex}.display-toggle__btn{color:#999;cursor:pointer;background:0 0;border:1px solid #0000001f;justify-content:center;align-items:center;width:34px;height:34px;transition:background .2s,color .2s;display:flex}.display-toggle__btn:first-child{border-right:none;border-radius:6px 0 0 6px}.display-toggle__btn:last-child{border-radius:0 6px 6px 0}.display-toggle__btn:hover{color:#666;background:#0000000a}.display-toggle__btn--active{color:#fff;background:#8b6cb0;border-color:#8b6cb0}.display-toggle__btn--active:hover{color:#fff;background:#7a5aa0}.dashboard__list{flex-direction:column;gap:.42rem;animation:.25s fadeIn;display:flex}.list-item{cursor:pointer;background:#fff;border:1px solid #0000000f;border-radius:8px;align-items:center;gap:.9rem;padding:.6rem .9rem;transition:background .15s,border-color .15s;display:flex}.list-item:hover{background:#8b6cb01f;border-color:#8b6cb04d}.list-item[draggable=true]{cursor:grab}.list-item[draggable=true]:active{cursor:grabbing;opacity:.6}.list-item__thumb{background:#a0b5df;border-radius:7px;flex-shrink:0;width:48px;height:48px;overflow:hidden}.list-item__thumb img{object-fit:cover;width:100%;height:100%}.list-item__name{white-space:nowrap;text-overflow:ellipsis;color:var(--text-primary);flex:1;font-size:1.056rem;font-weight:500;overflow:hidden}.list-item__date{color:var(--text-muted);flex-shrink:0;font-size:.8rem}.list-item__id{color:var(--text-muted);flex-shrink:0;font-size:.9rem}.list-item__drag{color:var(--text-muted);cursor:grab;flex-shrink:0;font-size:1rem}.list-item--add{color:var(--text-muted);border-style:dashed;justify-content:center;gap:.6rem;padding:.78rem;font-size:1.02rem}.list-item--add:hover{color:var(--text-secondary)}.list-item__add-icon{font-size:1.32rem}.dashboard__sidebar-btn--active{color:#fff;background:#8b6cb0;border-color:#8b6cb0}.dashboard__sidebar-btn--active:hover{color:#fff;background:#7a5aa0;border-color:#7a5aa0}.account-panel{max-width:520px;margin:0 auto;animation:.35s slideInRight}@keyframes slideInRight{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}.account-panel__title{color:var(--text-primary);align-items:center;gap:1rem;margin-bottom:2rem;margin-left:-3rem;font-size:1.3rem;font-weight:600;display:flex}.account-panel__section{margin-bottom:1rem}.account-panel__section h3{color:var(--text-secondary);margin-bottom:.75rem;font-size:.85rem;font-weight:500}.account-panel__field{flex-direction:column;gap:.3rem;margin-bottom:.75rem;display:flex}.account-panel__field label{color:var(--text-muted);font-size:.8rem}.account-panel__field input{color:var(--text-primary);background:#ffffff4d;border:1px solid #0000001a;border-radius:6px;outline:none;padding:.55rem .7rem;font-family:inherit;font-size:.9rem;transition:border-color .2s}.account-panel__field input:focus{border-color:var(--accent)}.account-panel__field-row{align-items:center;gap:.5rem;display:flex}.account-panel__field-row input{flex:1}.account-panel__input--disabled{opacity:.5;cursor:not-allowed}.account-panel__save-btn{color:#fff;white-space:nowrap;cursor:pointer;background:#8b6cb0;border:none;border-radius:6px;padding:.5rem 1.5rem;font-family:inherit;font-size:.85rem;transition:opacity .2s}.account-panel__save-btn:hover{opacity:.85}.account-panel__save-btn:disabled{opacity:.5;cursor:not-allowed}.account-panel__divider{border:none;border-top:1px solid #00000014;margin:1.25rem 0}.account-panel__plan-row{align-items:center;gap:.75rem;display:flex}.account-panel__upgrade-btn{color:#5a78a8;cursor:pointer;background:0 0;border:1px solid #7a99cf80;border-radius:6px;padding:.35rem .9rem;font-family:inherit;font-size:.8rem;transition:background .2s}.account-panel__upgrade-btn:hover{background:#7a99cf1f}.account-panel__sub-row{align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.account-panel__sub-status{color:#4a8c5c;font-size:.85rem;font-weight:500}.account-panel__sub-end{color:var(--text-muted);font-size:.8rem}.account-panel__sub-free{color:var(--text-muted);font-size:.85rem}.account-panel__cancel-btn{color:var(--danger);cursor:pointer;background:0 0;border:1px solid #c94f4f66;border-radius:6px;padding:.45rem 1rem;font-family:inherit;font-size:.8rem;transition:background .2s}.account-panel__cancel-btn:hover{background:#c94f4f14}.account-panel__logout-btn{color:var(--danger);cursor:pointer;background:0 0;border:1px solid #c94f4f66;border-radius:6px;padding:.5rem 1.2rem;font-family:inherit;font-size:.85rem;transition:background .2s}.account-panel__logout-btn:hover{background:#c94f4f14}.folder-setup-overlay{z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.folder-setup-panel{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);text-align:center;background:#ffffffeb;border:1px solid #fff9;border-radius:20px;width:90%;max-width:420px;padding:3rem 2.5rem;box-shadow:0 20px 60px #00000026}.folder-setup-panel__icon{color:#6a7a94;margin-bottom:1.25rem}.folder-setup-panel__title{color:#3a3a3a;margin-bottom:.75rem;font-size:1.35rem;font-weight:600}.folder-setup-panel__desc{color:#777;white-space:pre-line;margin-bottom:2rem;font-size:.85rem;line-height:1.7}.folder-setup-panel__btn{color:#fff;cursor:pointer;background:#8b6cb0;border:none;border-radius:10px;align-items:center;gap:.5rem;padding:.75rem 2rem;font-size:.95rem;font-weight:500;transition:box-shadow .2s,transform .15s;display:inline-flex}.folder-setup-panel__btn:hover{transform:translateY(-1px);box-shadow:0 4px 20px #7a99cf59}.dashboard__path-toast{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;z-index:9999;pointer-events:none;background:#8e9bb0b3;border:1px solid #fff6;border-radius:8px;padding:.75rem 2rem;font-size:.9rem;font-weight:500;animation:2s forwards pathToastFade;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes pathToastFade{0%{opacity:1}70%{opacity:1}to{opacity:0}}.loading-overlay{z-index:9999;background:#000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.loading-overlay__black{background:#000;position:absolute;inset:0}.loading-overlay__bg-image{background-position:50%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0;transform:scale(1.05)}.loading-overlay__content{z-index:1;flex-direction:column;align-items:center;gap:1rem;display:flex;position:relative}.loading-overlay__progress{color:#fff;letter-spacing:.1em;text-shadow:0 1px 4px #0009;font-size:1.25rem;font-weight:300}.loading-overlay__bar-track{background:#ffffff1f;border-radius:2px;width:180px;height:4px;overflow:hidden}.loading-overlay__bar-fill{background:#fff;border-radius:2px;height:100%;transition:width .3s}.spinner{border:3px solid #ffffff26;border-top-color:#fff;border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.toolbar-group{flex-direction:column;gap:.35rem;display:flex;position:relative}.toolbar-btn{color:#ffffffb3;cursor:pointer;transform-origin:50%;background:#ffffff26;border:1px solid #ffffff26;border-radius:8px;justify-content:center;align-items:center;width:38px;height:38px;transition:background .2s,border-color .2s,transform .2s;display:flex}.toolbar-btn:hover{background:#ffffff1f;border-color:#ffffff4d;transform:scale(1.1)}.toolbar-btn--active{color:#fff;text-shadow:0 0 6px #fffc,0 0 14px #fff6;background:#ffffff2e;border-color:#fff9}.toolbar-panel{transform-origin:top;border-top:1px solid #ffffff1a;width:216px;margin-top:.25rem;padding-top:.25rem;animation:.3s ease-out forwards panel-expand;overflow:hidden}.toolbar-panel--collapsing{animation:.25s ease-in forwards panel-collapse}@keyframes panel-expand{0%{opacity:0;max-height:0;transform:scaleY(.6)}to{opacity:1;max-height:80vh;transform:scaleY(1)}}@keyframes panel-collapse{0%{opacity:1;max-height:80vh;transform:scaleY(1)}to{opacity:0;max-height:0;transform:scaleY(.6)}}.toolbar-panel__header{color:#fff9;border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding:.6rem .75rem;font-size:.8rem;display:flex}.toolbar-panel__actions{align-items:center;gap:.35rem;display:flex}.toolbar-panel__edit-btn{color:#ffffffa6;cursor:pointer;transform-origin:50%;background:#ffffff26;border:1px solid #ffffff26;border-radius:6px;justify-content:center;align-items:center;width:30px;height:30px;transition:background .2s,border-color .2s,transform .2s;display:flex}.toolbar-panel__edit-btn:hover{color:#fff;background:#ffffff1f;border-color:#ffffff4d;transform:scale(1.1)}.toolbar-panel__edit-btn--active{color:#fff;text-shadow:0 0 6px #fffc,0 0 14px #fff6;background:#ffffff2e;border-color:#fff9}.toolbar-panel__add{color:#fff;cursor:pointer;transform-origin:50%;background:#ffffff26;border:1px solid #ffffff26;border-radius:6px;justify-content:center;align-items:center;width:30px;height:30px;font-size:1.25rem;transition:background .2s,border-color .2s,transform .2s;display:flex}.toolbar-panel__add:hover{background:#ffffff1f;border-color:#ffffff4d;transform:scale(1.1)}.toolbar-panel__add--active{color:#fff;text-shadow:0 0 6px #fffc,0 0 14px #fff6;background:#ffffff2e;border-color:#fff9}.toolbar-panel__remove{color:#fff;cursor:pointer;transform-origin:50%;background:#ffffff26;border:1px solid #ffffff26;border-radius:6px;justify-content:center;align-items:center;width:30px;height:30px;font-size:1.25rem;transition:background .2s,border-color .2s,transform .2s;display:flex}.toolbar-panel__remove:hover{background:#ff64641a;border-color:#ff64644d;transform:scale(1.1)}.toolbar-panel__remove--active{color:#ff8a8a;background:#ff646433;border-color:#ff6b6b}.toolbar-panel__list{flex-direction:column;gap:.25rem;max-height:60vh;padding:.25rem;display:flex;overflow-y:auto}.toolbar-panel__empty{color:#ffffff59;text-align:center;padding:1rem 0;font-size:.75rem}.camera-item{cursor:pointer;border-radius:6px;flex-direction:column;align-items:center;gap:.15rem;padding:.2rem;transition:background .15s;display:flex;position:relative}.camera-item:hover{background:#ffffff0f}.camera-item--active{background:#ffffff1f;border:1px solid #fff6}.camera-item--dragging{opacity:.4}.camera-item--drag-over{border-top:2px solid #ffffffb3}.camera-item__thumb{aspect-ratio:16/9;color:#fff6;background:#ffffff0f;border-radius:4px;justify-content:center;align-items:center;width:95%;font-size:1.2rem;display:flex;position:relative;overflow:hidden}.camera-item__thumb-img{object-fit:cover;width:100%;height:100%;display:block}.camera-item__indicators{gap:2px;display:flex;position:absolute;bottom:3px;right:3px}.camera-item__indicator{color:#fff9;filter:drop-shadow(0 0 2px #00000080)}.camera-item__info{text-align:center;width:100%;min-width:0}.camera-item__label{color:#ffffffb3;white-space:nowrap;text-overflow:ellipsis;font-size:.7rem;overflow:hidden}.camera-item__home{color:#fff;background:#ffffff40;border-radius:3px;margin-right:.3rem;padding:.1rem .3rem;font-size:.6rem;font-weight:600;display:inline-block}.camera-item__delete-overlay{cursor:pointer;z-index:2;background:0 0;border-radius:4px;transition:background .2s;position:absolute;inset:0}.camera-item__delete-overlay:hover{background:#b4141473}.camera-item__edit-input{color:#fff;background:#ffffff0f;border:1px solid #fff3;border-radius:3px;outline:none;width:100%;padding:.15rem .3rem;font-family:inherit;font-size:.8rem}.camera-item__edit-input:focus{border-color:#ffffff80}.render-mode__list{flex-direction:column;gap:.15rem;padding:.35rem;display:flex}.render-mode__option{color:#ffffffa6;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:.5rem;padding:.45rem .65rem;font-family:inherit;font-size:.82rem;transition:background .15s,color .15s;display:flex}.render-mode__option:hover{color:#fff;background:#ffffff14}.render-mode__option--active{color:#fff;text-shadow:0 0 6px #fffc,0 0 14px #fff6;background:#ffffff26}.render-mode__option--active:hover{background:#ffffff38}.render-mode__sub{border-top:1px solid #ffffff1a;padding:.4rem .6rem}.render-mode__sub-label{color:#fff9;justify-content:space-between;align-items:center;margin-bottom:.3rem;font-size:.75rem;display:flex}.render-mode__sub-value{color:#fffc;font-variant-numeric:tabular-nums}.render-mode__slider{appearance:none;cursor:pointer;background:#ffffff26;border-radius:2px;outline:none;width:100%;height:4px}.render-mode__slider::-webkit-slider-thumb{-webkit-appearance:none;cursor:pointer;background:#ffffffd9;border:2px solid #fffc;border-radius:50%;width:14px;height:14px}.measure-panel__modes{flex-direction:column;gap:.15rem;padding:.35rem;display:flex}.measure-panel__info{border-top:1px solid #ffffff1a;flex-direction:column;gap:.35rem;padding:.5rem .6rem;display:flex}.measure-panel__hint{color:#ffffff80;font-size:.72rem}.measure-panel__hint-sub{color:#ffffff59;font-size:.65rem}.measure-panel__result{color:#fff;text-shadow:0 0 6px #fff6;font-variant-numeric:tabular-nums;font-size:.95rem;font-weight:600}.measure-panel__point-count{color:#ffffff73;font-size:.7rem}.measure-panel__reset{color:#ffffffb3;cursor:pointer;background:#ff64641f;border:1px solid #ff646440;border-radius:6px;width:100%;padding:.4rem;font-family:inherit;font-size:.72rem;transition:background .15s}.measure-panel__reset:hover{background:#ff646438}.measure-label{font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:4px;padding:.2rem .5rem;font-size:.75rem;font-weight:600}.align-topbar__label{color:#ffffff80;padding:.4rem .6rem;font-size:.72rem}.align-topbar__step{flex-direction:column;gap:.35rem;padding:.5rem .6rem;display:flex}.align-topbar__step-label{color:#ffffffb3;font-size:.72rem;font-weight:600}.align-topbar__step-desc{color:#ffffffe6;font-size:.75rem}.align-topbar__point{color:#4ade80;font-size:.72rem}.align-topbar__execute{color:#4ade80;cursor:pointer;background:#4ade8033;border:1px solid #4ade8066;border-radius:6px;width:100%;padding:.5rem;font-family:inherit;font-size:.8rem;font-weight:600;transition:background .15s}.align-topbar__execute:hover{background:#4ade804d}.align-topbar__cancel{color:#ffffffb3;cursor:pointer;background:#ff64641f;border:1px solid #ff646440;border-radius:6px;width:100%;padding:.4rem;font-family:inherit;font-size:.72rem;transition:background .15s}.align-topbar__cancel:hover{background:#ff646438}.align-topbar__progress-bar{background:#ffffff1a;border-radius:2px;height:4px;overflow:hidden}.align-topbar__progress-fill{background:#ffffffb3;height:100%;transition:width .2s}.align-topbar__done{color:#fff9;align-items:center;gap:.5rem;padding:.4rem .6rem;font-size:.72rem;display:flex}.align-topbar__done-badge{color:#4ade80;background:#4ade8026;border-radius:4px;padding:.1rem .4rem;font-size:.65rem;font-weight:700}.align-topbar__error{color:#ff6b6b;padding:.4rem .6rem;font-size:.7rem}.ann3d-billboard{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#333;-webkit-user-select:text;user-select:text;white-space:normal;pointer-events:auto;background:#ffffffbf;border:1px solid #0000001a;border-radius:10px;min-width:220px;max-width:380px;padding:.7rem .9rem;font-size:14px;line-height:1.5}.ann3d-date{color:#00000059;font-variant-numeric:tabular-nums;margin-bottom:.1rem;font-size:10px}.ann3d-author{opacity:.7;margin-bottom:.25rem;font-size:11px;font-weight:600}.ann3d-text{white-space:pre-wrap;word-break:break-word;font-size:14px}.ann3d-content{pointer-events:auto}.ann3d-entries{flex-direction:column;gap:.3rem;display:flex}.ann3d-entries--scrollable{max-height:60vh;padding-right:.2rem;overflow-y:auto}.ann3d-group{flex-direction:column;gap:.15rem;display:flex}.ann3d-group--same{border-left:2px solid #0000001f;margin-left:.1rem;padding-left:.5rem}.ann3d-group-author{margin-top:.3rem;margin-bottom:.05rem;font-size:11px;font-weight:600}.ann3d-entry{white-space:pre-wrap;word-break:break-word;font-size:14px}.ann3d-entry__row{align-items:flex-start;gap:.3rem;display:flex}.ann3d-entry__body{flex:1;min-width:0}.ann3d-entry__delete{color:#0003;cursor:pointer;background:0 0;border:none;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;margin-top:.1rem;font-size:15px;line-height:1;transition:color .15s,background .15s;display:flex}.ann3d-entry__delete:hover{color:#e04444;background:#ff50501a}.ann3d-entry--deleted{opacity:.5}.ann3d-entry--deleted div{font-style:italic;color:#00000059!important}.ann3d-expand-btn{color:#00000073;cursor:pointer;text-align:left;background:0 0;border:none;margin-top:.3rem;padding:.15rem 0;font-family:inherit;font-size:10px;transition:color .15s}.ann3d-expand-btn:hover{color:#333}.ann3d-edit{flex-direction:column;gap:.4rem;display:flex}.ann3d-textarea{color:#333;resize:vertical;background:#00000008;border:1px solid #0000001f;border-radius:5px;outline:none;width:100%;min-width:240px;padding:.4rem;font-family:inherit;font-size:14px;line-height:1.5}.ann3d-textarea:focus{border-color:#0000004d}.ann3d-textarea::placeholder{color:#0000004d}.ann3d-edit-actions{justify-content:flex-end;align-items:center;gap:.4rem;display:flex}.ann3d-btn{color:#0009;cursor:pointer;background:#00000008;border:1px solid #0000001f;border-radius:5px;justify-content:center;align-items:center;padding:.2rem .6rem;font-family:inherit;font-size:12px;transition:background .15s,color .15s,border-color .15s;display:flex}.ann3d-btn:hover,.ann3d-btn--ok{color:#333;background:#0000000f;border-color:#0003}.ann3d-btn--ok:hover{background:#0000001a}.ann3d-btn--clip{padding:.2rem .4rem}.ann3d-btn--clip:hover{color:#333;border-color:#00000040}.ann3d-btn--cancel:hover{color:#e04444;background:#ff50501a;border-color:#ff50504d}.ann3d-append{flex-direction:column;gap:.3rem;margin-top:.4rem;display:flex}.ann3d-append-input{color:#333;resize:vertical;background:#00000008;border:1px solid #0000001f;border-radius:5px;outline:none;width:100%;padding:.35rem;font-family:inherit;font-size:13px;line-height:1.4}.ann3d-append-input:focus{border-color:#0000004d}.ann3d-append-input::placeholder{color:#0000004d}.ann3d-pending-file{color:#0009;background:#0000000a;border:1px solid #0000001f;border-radius:4px;align-items:center;gap:.3rem;padding:.2rem .4rem;font-size:11px;display:flex}.ann3d-pending-file span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.ann3d-pending-remove{color:#00000059;cursor:pointer;background:0 0;border:none;padding:0 .2rem;font-size:14px;transition:color .15s}.ann3d-pending-remove:hover{color:#e04444}.ann3d-add-comment{color:#0000004d;cursor:pointer;text-align:left;background:0 0;border:none;margin-top:.4rem;padding:.2rem 0;font-family:inherit;font-size:11px;transition:color .15s}.ann3d-add-comment:hover{color:#0009}.ann3d-attach-img{cursor:pointer;object-fit:cover;border-radius:4px;width:100%;max-width:100%;max-height:120px;margin-top:.3rem}.ann3d-attach-img:hover{opacity:.85}.ann3d-lightbox{z-index:99999;cursor:pointer;background:#000000d9;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.ann3d-lightbox__img{object-fit:contain;border-radius:6px;max-width:80vw;max-height:80vh}.ann3d-lightbox__name{color:#ffffff80;margin-top:.5rem;font-size:11px}.ann3d-attach-loading{color:#0000004d;padding:.2rem 0;font-size:10px}.ann3d-attach-pdf{cursor:pointer;color:#0009;background:#00000008;border:1px solid #00000014;border-radius:4px;align-items:center;gap:.3rem;margin-top:.3rem;padding:.3rem .4rem;font-size:12px;transition:background .15s,border-color .15s;display:flex}.ann3d-attach-pdf:hover{color:#333;background:#0000000f;border-color:#00000026}.ann3d-attach-pdf span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.annotation-canvas-wrapper{z-index:20;pointer-events:auto;position:absolute;inset:0}.annotation-canvas{cursor:crosshair;display:block}.annotation-canvas__tools{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000b3;border-radius:12px;align-items:center;gap:1.5rem;padding:.6rem 1.2rem;display:flex;position:absolute;bottom:2rem;left:50%;transform:translate(-50%)}.annotation-canvas__colors{gap:.4rem;display:flex}.annotation-canvas__color{cursor:pointer;border:2px solid #0000;border-radius:50%;width:24px;height:24px;transition:border-color .15s}.annotation-canvas__color--active{border-color:#fff}.annotation-canvas__sizes{align-items:center;gap:.4rem;display:flex}.annotation-canvas__size{cursor:pointer;background:0 0;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.annotation-canvas__size span{background:#fff;border-radius:50%;display:block}.annotation-canvas__size--active{background:#ffffff26;border-color:#fff}.capture-overlay{z-index:5;pointer-events:none;position:absolute;inset:0}.capture-overlay__mask{position:absolute;inset:0}.capture-overlay__frame{pointer-events:none;border:2px solid #0006;border-radius:4px;position:absolute;overflow:hidden;box-shadow:0 0 0 1px #ffffff4d}.capture-overlay__grid{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.capture-overlay__safe-frame{pointer-events:none;border:1.6px solid #0009;position:absolute}.capture-overlay__crosshair-h{pointer-events:none;background:#0006;height:1.8px;position:absolute}.capture-overlay__crosshair-v{pointer-events:none;background:#0006;width:1.8px;position:absolute}.capture-overlay__crosshair--dashed{background:0 0!important}.capture-overlay__crosshair-h.capture-overlay__crosshair--dashed{border-top:1.8px dashed #0006;height:0}.capture-overlay__crosshair-v.capture-overlay__crosshair--dashed{border-left:1.8px dashed #0006;width:0}.capture-overlay__eye-level{pointer-events:none;z-index:-1;background:#ff323273;height:3px;position:absolute;left:0;right:0}.capture-overlay__info{color:#0009;white-space:nowrap;pointer-events:none;font-size:.79rem;position:absolute;top:4px;left:50%;transform:translate(-50%)}.capture-tab{z-index:40;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff59;border-right:1px solid #00000014;flex-direction:column;width:12%;min-width:216px;max-width:288px;display:flex;position:absolute;top:0;bottom:0;left:0;overflow:hidden auto}.capture-tab::-webkit-scrollbar{width:3px}.capture-tab::-webkit-scrollbar-thumb{background:#0000001f;border-radius:2px}.capture-tab__header{border-bottom:1px solid #0000000f;flex-shrink:0;justify-content:space-between;align-items:center;padding:.6rem .5rem;display:flex}.capture-tab__header--close-only{cursor:pointer;justify-content:flex-end;transition:background .15s}.capture-tab__header--close-only:hover{background:#00000008}.capture-tab__back{color:#00000080;cursor:pointer;background:0 0;border:none;align-items:center;gap:.3rem;min-width:0;padding:0;font-size:.7rem;display:flex}.capture-tab__back:hover{color:#333}.capture-tab__scene-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.capture-tab__close{color:#00000059;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0 .2rem;font-size:1.1rem}.capture-tab__close:hover{color:#333}.capture-tab__section-title{color:#00000059;text-transform:uppercase;letter-spacing:.04em;padding:.45rem .6rem .15rem;font-size:.65rem}.capture-tab__section{border-bottom:1px solid #0000000a;padding:.2rem .6rem .5rem}.capture-tab__row{align-items:center;gap:.3rem;margin-bottom:.25rem;display:flex}.capture-tab__row label{color:#0006;flex-shrink:0;min-width:28px;font-size:.6rem}.capture-tab__row input[type=range]{min-width:0;height:2px;accent-color:var(--accent,#555);flex:1}.capture-tab__num-input{color:#333;text-align:right;-moz-appearance:textfield;background:#00000008;border:1px solid #0000001a;border-radius:3px;width:36px;padding:.15rem .2rem;font-size:.6rem}.capture-tab__num-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.capture-tab__num-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.capture-tab__unit{color:#00000059;font-size:.55rem}.capture-tab__mode-btn{color:#00000080;cursor:pointer;text-align:left;background:#00000008;border:1px solid #00000014;border-radius:4px;width:100%;margin-bottom:.25rem;padding:.35rem .5rem;font-size:.65rem;transition:background .15s,border-color .15s}.capture-tab__mode-btn:hover{background:#0000000f}.capture-tab__mode-btn.active{color:#222;background:#0000000f;border-color:#00000040;font-weight:600}.capture-tab__divider{background:#00000014;flex-shrink:0;height:1px;margin:.2rem 0}.capture-tab__capture-btn{color:#16a34a;cursor:pointer;background:#22c55e1f;border:1px solid #22c55e59;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;gap:.4rem;width:calc(100% - 1rem);margin:.5rem auto;padding:.55rem;font-size:.75rem;font-weight:500;transition:background .2s,transform .15s;display:flex}.capture-tab__capture-btn:hover{background:#22c55e33;transform:scale(1.03)}.capture-tab__capture-btn--capturing{opacity:.8;pointer-events:none;cursor:wait}.capture-tab__spinner{border:2px solid #16a34a40;border-top-color:#16a34a;border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:.7s linear infinite capture-spin}@keyframes capture-spin{to{transform:rotate(360deg)}}.capture-tab__mode-toggle{gap:.2rem;padding:.25rem .5rem;display:flex}.capture-tab__mode-opt{color:#0006;cursor:pointer;text-align:center;letter-spacing:.02em;background:#00000005;border:1px solid #00000014;border-radius:4px;flex:1;padding:.25rem 0;font-size:.62rem;font-weight:600;transition:all .15s}.capture-tab__mode-opt:hover{color:#0009;background:#0000000d}.capture-tab__mode-opt.active{color:#222;background:#0000000f;border-color:#00000040;font-weight:700}.capture-tab__settings{flex:1;padding:.3rem .5rem}.capture-tab__setting{margin-bottom:.5rem}.capture-tab__setting label{color:#0006;margin-bottom:.2rem;font-size:.6rem;display:block}.capture-tab__pills{flex-wrap:wrap;gap:.2rem;display:flex}.capture-tab__pills button{color:#00000080;cursor:pointer;background:#00000008;border:1px solid #0000001a;border-radius:3px;padding:.15rem .35rem;font-size:.58rem;transition:background .15s,border-color .15s}.capture-tab__pills button:hover{background:#0000000f}.capture-tab__pills button.active{color:#222;background:#0000000f;border-color:#00000040;font-weight:600}.capture-tab__custom-input{color:#333;background:#00000008;border:1px solid #0000001a;border-radius:3px;width:100%;margin-top:.25rem;padding:.2rem .35rem;font-size:.6rem}.capture-tab__toggle-btn{color:#00000073;cursor:pointer;background:#00000008;border:1px solid #0000001a;border-radius:3px;padding:.15rem .5rem;font-size:.6rem}.capture-tab__toggle-btn.active{color:#dc2626;background:#ff32321a;border-color:#ff323259}.capture-tab__output-btn{color:#00000073;cursor:pointer;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:#00000008;border:1px solid #00000014;border-radius:3px;width:100%;padding:.25rem .4rem;font-size:.6rem;overflow:hidden}.capture-tab__output-btn:hover{background:#0000000f}.capture-tab__output-hint{color:#00000059;font-size:.6rem}.capture-tab__custom-res{align-items:center;gap:4px;margin-top:4px;display:flex}.capture-tab__custom-res span{color:#0006;font-size:.65rem}.capture-tab__custom-res .capture-tab__num-input{width:60px}.capture-tab__res-info{color:#0006;margin-top:2px;font-size:.6rem}.object-panel{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:45;background:#ffffffb3;border-left:1px solid #00000014;outline:none;flex-direction:column;width:280px;height:100%;display:flex;position:absolute;top:0;right:0}.object-panel__transform-nub{cursor:pointer;color:#00000059;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffb3;border:1px solid #00000014;border-right:none;border-radius:6px 0 0 6px;justify-content:center;align-items:center;width:28px;height:90px;transition:all .15s;display:flex;position:absolute;top:8px;left:-28px}.object-panel__transform-nub:hover{color:#000000b3;background:#ffffff80}.object-panel__transform-nub.open{color:#333;background:#ffffff80}.object-panel__transform-nub-text{writing-mode:vertical-rl;text-orientation:mixed;letter-spacing:.04em;white-space:nowrap;-webkit-user-select:none;user-select:none;font-size:.68rem;font-weight:600;transform:rotate(180deg)}.object-panel__transform{background:#00000005;border-bottom:1px solid #0000000f;padding:.5rem .6rem}.object-panel__transform-space{gap:.2rem;margin-bottom:.35rem;display:flex}.object-panel__transform-space-btn{color:#0006;cursor:pointer;text-align:center;background:#00000008;border:1px solid #00000014;border-radius:3px;flex:1;padding:.22rem 0;font-family:inherit;font-size:.68rem;transition:all .15s}.object-panel__transform-space-btn:hover{color:#000000b3}.object-panel__transform-space-btn.active{color:#c28520;background:#ffb4321f;border-color:#ffb43266}.object-panel__transform-modes{gap:.25rem;margin-bottom:.5rem;display:flex}.object-panel__transform-mode-btn{color:#00000073;cursor:pointer;text-align:center;background:#00000008;border:1px solid #00000014;border-radius:4px;flex:1;padding:.3rem 0;font-family:inherit;font-size:.72rem;font-weight:600;transition:all .15s}.object-panel__transform-mode-btn:hover{color:#000000b3;background:#0000000f}.object-panel__transform-mode-btn.active{color:#222;background:#0000000f;border-color:#00000040}.object-panel__transform-fields{flex-direction:column;gap:.4rem;display:flex}.object-panel__transform-section{flex-direction:column;gap:.15rem;display:flex}.object-panel__transform-title{color:#00000059;text-transform:uppercase;letter-spacing:.05em;font-size:.65rem}.object-panel__transform-empty{color:#0000004d;text-align:center;padding:.5rem 0;font-size:.75rem}.object-panel__num-field{align-items:center;gap:.2rem;display:flex}.object-panel__num-label{color:#00000073;text-align:center;flex-shrink:0;width:14px;font-size:.7rem;font-weight:700}.object-panel__num-btn{color:#00000080;cursor:pointer;background:#00000008;border:1px solid #0000001a;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:20px;font-family:inherit;font-size:.75rem;transition:background .1s;display:flex}.object-panel__num-btn:hover{color:#333;background:#00000014}.object-panel__num-input{color:#000c;text-align:center;-moz-appearance:textfield;background:#00000008;border:1px solid #0000001a;border-radius:3px;outline:none;flex:1;min-width:0;height:20px;padding:0 2px;font-family:inherit;font-size:.72rem}.object-panel__num-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.object-panel__num-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.object-panel__num-input:focus{border-color:#0000004d}.object-panel__header{color:#333;border-bottom:1px solid #0000000f;justify-content:space-between;align-items:center;padding:.7rem .8rem;font-size:.85rem;font-weight:600;display:flex}.object-panel__close{color:#00000059;cursor:pointer;background:0 0;border:none;padding:4px;transition:color .15s;display:flex}.object-panel__close:hover{color:#333}.object-panel__collapse-btn{color:#00000059;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:2px;transition:transform .15s,color .15s;display:flex}.object-panel__collapse-btn.expanded{transform:rotate(90deg)}.object-panel__collapse-btn:hover{color:#333}.object-panel__layer.drop-target,.object-panel__ungrouped.drop-target{background:#4285f40f}.object-panel__drop-hint{color:#0003;text-align:center;padding:.3rem .5rem;font-size:.7rem;font-style:italic}.object-panel__import{border-bottom:1px solid #0000000d;gap:.4rem;padding:.5rem .8rem;display:flex}.object-panel__import-btn{color:#333;cursor:pointer;background:#0000000d;border:1px solid #00000026;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:.4rem;padding:.4rem .6rem;font-family:inherit;font-size:.8rem;transition:background .15s;display:flex}.object-panel__import-btn:hover{background:#0000001a}.object-panel__add-layer-btn{color:#00000080;cursor:pointer;background:#00000008;border:1px solid #0000001a;border-radius:6px;justify-content:center;align-items:center;width:34px;height:34px;transition:all .15s;display:flex}.object-panel__add-layer-btn:hover{color:#333;background:#0000000f}.object-panel__list{flex:1;padding:.3rem 0;overflow-y:auto}.object-panel__layer-header{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.3rem;padding:.35rem .6rem;transition:background .1s;display:flex}.object-panel__layer-header:hover{background:#00000008}.object-panel__layer-header.active{background:#0000000d}.object-panel__layer-header.drag-over{border-top:2px solid #0000004d}.object-panel__vis-btn{color:#0006;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:2px;transition:color .15s;display:flex}.object-panel__vis-btn:hover{color:#333}.object-panel__layer-name{color:#000000b3;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.8rem;overflow:hidden}.object-panel__layer-name-input{color:#333;background:#00000008;border:1px solid #0000004d;border-radius:3px;outline:none;flex:1;padding:1px 4px;font-family:inherit;font-size:.8rem}.object-panel__drag-handle{color:#0003;cursor:grab;flex-shrink:0;font-size:.7rem}.object-panel__objects{padding-left:1.2rem}.object-panel__object{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.3rem;padding:.25rem .5rem;transition:background .1s;display:flex}.object-panel__object:hover{background:#00000008}.object-panel__object.selected{background:#0000000f}.object-panel__object.drag-over{border-top:2px solid #0000004d}.object-panel__obj-icon{color:#00000059;flex-shrink:0;display:flex}.object-panel__obj-name{color:#0009;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.75rem;overflow:hidden}.object-panel__section-label{color:#00000059;text-transform:uppercase;letter-spacing:.05em;padding:.4rem .8rem .15rem;font-size:.7rem}.object-panel__ungrouped{border-top:1px solid #0000000d;margin-top:.3rem}.object-panel__empty{text-align:center;color:#0000004d;padding:2rem 1rem;font-size:.8rem}.object-panel__dialog-overlay{z-index:50;background:#0000004d;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.object-panel__dialog{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffeb;border:1px solid #0000001a;border-radius:10px;max-width:240px;padding:1.2rem}.object-panel__dialog p{color:#000c;margin:0 0 1rem;font-size:.82rem;line-height:1.4}.object-panel__dialog-btns{justify-content:flex-end;gap:.5rem;display:flex}.object-panel__dialog-btns button{color:#333;cursor:pointer;background:#0000000a;border:1px solid #0000001a;border-radius:5px;padding:.3rem .8rem;font-family:inherit;font-size:.78rem;transition:background .15s}.object-panel__dialog-btns button:hover{background:#00000014}.object-panel__dialog-btns button.danger{color:#c03030;background:#dc32321f;border-color:#dc323259}.object-panel__dialog-btns button.danger:hover{background:#dc323238}.ai-assist{z-index:50;transform-origin:100% 100%;flex-direction:column;align-items:flex-end;gap:.5rem;display:flex;position:absolute;bottom:1rem;right:1rem;transform:scale(.8)}.ai-assist__btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#ffffffb3;letter-spacing:.05em;cursor:pointer;transform-origin:50%;-webkit-user-select:none;user-select:none;background:#fff3;border:1px solid #ffffff26;border-radius:50%;justify-content:center;align-items:center;width:100px;height:100px;font-size:1.4rem;font-weight:700;transition:background .2s,border-color .2s,transform .3s;display:flex;position:relative}.ai-assist__icon{color:#fff;filter:drop-shadow(0 0 6px #ffffffb3)drop-shadow(0 0 14px #fff6)drop-shadow(0 0 24px #c8dcff4d)}.ai-assist__btn:hover:not(.ai-assist__btn--active){background:#fff3;border-color:#ffffff4d;transform:scale(1.05)}.ai-assist__btn:hover .ai-assist__icon{filter:drop-shadow(0 0 8px #ffffffe6)drop-shadow(0 0 18px #ffffff80)drop-shadow(0 0 30px #c8dcff66)}.ai-assist__btn--active{cursor:default;background:#ffffff1f;border-color:#fff6;width:120px;height:120px}.ai-assist__ripple{pointer-events:none;border:2px solid #4285f480;border-radius:50%;animation:.8s ease-out forwards ai-ripple;position:absolute;inset:-10px}.ai-assist__ripple:nth-child(2){animation-delay:.2s}.ai-assist__ripple:nth-child(3){animation-delay:.4s}@keyframes ai-ripple{0%{opacity:1;transform:scale(.8)}to{opacity:0;transform:scale(1.6)}}.ai-assist__wave{width:80px;height:40px}.ai-assist__stop{color:#ff8a8a;cursor:pointer;background:#dc323233;border:1px solid #dc323266;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:.7rem;transition:background .15s;display:flex;position:absolute;bottom:4px;right:4px}.ai-assist__stop:hover{background:#dc323259}.ai-assist__panel{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffbf;border:1px solid #00000014;border-radius:10px;flex-direction:column;gap:.3rem;width:320px;max-height:280px;padding:.5rem;animation:.25s ease-out ai-panel-in;display:flex;overflow:hidden}@keyframes ai-panel-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.ai-assist__panel--out{animation:.4s ease-in forwards ai-panel-out}@keyframes ai-panel-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}.ai-assist__panel::-webkit-scrollbar{width:3px}.ai-assist__panel::-webkit-scrollbar-thumb{background:#0000001f;border-radius:2px}.ai-assist__transcript{color:#00000080;border-bottom:1px solid #00000014;padding:.2rem .4rem;font-size:.72rem;font-style:italic}.ai-assist__candidate{cursor:pointer;background:#00000008;border:1px solid #00000014;border-radius:6px;align-items:center;gap:.5rem;padding:.45rem .6rem;transition:background .15s,border-color .15s;animation:.2s ease-out ai-candidate-in;display:flex}@keyframes ai-candidate-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.ai-assist__candidate:hover{background:#0000000f;border-color:#00000026}.ai-assist__candidate-icon{flex-shrink:0;font-size:1rem}.ai-assist__candidate-body{flex:1;min-width:0}.ai-assist__candidate-label{color:#333;white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;font-weight:500;overflow:hidden}.ai-assist__candidate-desc{color:#00000073;font-size:.65rem}.ai-assist__status{color:#00000073;text-align:center;padding:.3rem;font-size:.65rem}.ai-assist__processing{color:#00000080;align-items:center;gap:.4rem;padding:.3rem .5rem;font-size:.7rem;display:flex}.ai-assist__spinner{border:2px solid #00000026;border-top-color:#333;border-radius:50%;width:12px;height:12px;animation:.6s linear infinite ai-spin}@keyframes ai-spin{to{transform:rotate(360deg)}}.viewer{-webkit-user-select:none;user-select:none;background:#111;width:100vw;height:100vh;position:relative;overflow:hidden}.viewer__canvas{z-index:0;position:relative;width:100%!important;height:100%!important}.viewer__top-bar{z-index:50;pointer-events:none;align-items:stretch;gap:.5rem;display:flex;position:absolute;top:1rem;left:1rem;right:1rem}.viewer__top-bar>*{pointer-events:auto}.viewer__scene-info{text-overflow:ellipsis;white-space:nowrap;color:#fff;pointer-events:none;flex:1;align-items:center;min-width:0;margin-left:1.5rem;font-size:.85rem;display:flex;overflow:hidden}.viewer__scene-name{color:#fff;-webkit-user-select:none;user-select:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;background:#ffffff80;border:1px solid #ffffff26;border-radius:12px;align-items:center;gap:.75rem;padding:.5rem 1rem;font-family:inherit;font-size:.95rem;font-weight:500;transition:background .2s,border-color .2s;display:flex}.viewer__scene-name:hover{background:#fff9;border-color:#ffffff4d}.viewer__back-arrow{font-size:1.2rem;line-height:1;transition:transform .2s;display:inline-block}.viewer__scene-name:hover .viewer__back-arrow{transform:translate(-2px)}.viewer__plan-badge{color:#ffffff80;text-transform:uppercase;letter-spacing:.05em;background:#fff3;border-radius:4px;padding:.2rem .5rem;font-size:.65rem}.viewer__left-bar{z-index:50;max-height:calc(100vh - 6rem);display:flex;position:absolute;top:50%;left:1rem;transform:translateY(-50%)}.viewer__toolbar-frame{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff4d;border:1px solid #ffffff26;border-radius:12px;flex-direction:column;gap:.5rem;max-height:100%;padding:.5rem;display:flex;overflow:hidden auto}.viewer__free-notice{text-align:center;padding:.5rem}.viewer__free-notice p{color:#ffffff73;margin:0;font-size:.7rem;line-height:1.5}.viewer__pen-tools{z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fff3;border:1px solid #ffffff26;border-radius:12px;align-items:center;gap:1.5rem;padding:.6rem 1.2rem;display:flex;position:absolute;bottom:2rem;left:50%;transform:translate(-50%)}.viewer__pen-colors{gap:.4rem;display:flex}.viewer__pen-color{transform-origin:50%;cursor:pointer;border:2px solid #0000;border-radius:50%;width:24px;height:24px;transition:border-color .2s,transform .2s}.viewer__pen-color:hover{transform:scale(1.1)}.viewer__pen-color--active{border-color:#fff}.viewer__pen-sizes{align-items:center;gap:.4rem;display:flex}.viewer__pen-size{transform-origin:50%;cursor:pointer;background:0 0;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;transition:border-color .2s,transform .2s;display:flex}.viewer__pen-size span{background:#ccc;border-radius:50%;display:block}.viewer__pen-size:hover{transform:scale(1.1)}.viewer__pen-size--active{background:#fff3;border-color:#fff}.viewer__pen-done{color:#fff;cursor:pointer;transform-origin:50%;background:#fff3;border:1px solid #fff3;border-radius:6px;padding:.35rem .8rem;font-family:inherit;font-size:.8rem;transition:background .2s,transform .2s}.viewer__pen-done:hover{background:#fff3;transform:scale(1.05)}.viewer__pen-history{gap:.25rem;display:flex}.viewer__pen-history-btn{color:#ccc;cursor:pointer;background:0 0;border:1px solid #fff3;border-radius:6px;justify-content:center;align-items:center;width:30px;height:30px;transition:background .2s,opacity .2s;display:flex}.viewer__pen-history-btn:hover:not(:disabled){background:#fff3}.viewer__pen-history-btn:disabled{opacity:.3;cursor:not-allowed}.viewer__pen-tool-select{gap:.25rem;display:flex}.viewer__pen-tool-btn{color:#fff9;cursor:pointer;background:0 0;border:1px solid #fff3;border-radius:6px;justify-content:center;align-items:center;width:30px;height:30px;transition:all .2s;display:flex}.viewer__pen-tool-btn:hover{color:#fff;background:#fff3}.viewer__pen-tool-btn.active{color:#fff;background:#ffffff26;border-color:#fff6}.viewer__drawing-overlay{z-index:15;pointer-events:none;position:absolute;inset:0}.viewer__drawing-overlay img{height:100%;display:block;position:absolute;top:0;left:50%;transform:translate(-50%)}.viewer--add-mode canvas{cursor:none!important}.viewer--add-mode:after{content:"";pointer-events:none;z-index:9999;width:24px;height:24px;top:var(--cursor-y,-100px);left:var(--cursor-x,-100px);border:2px solid #fffc;border-radius:50%;position:fixed;transform:translate(-50%,-50%);box-shadow:0 0 6px #ffffff80}.viewer__add-cursor-hint{z-index:20;color:#ffffffb3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none;background:#fff3;border:1px solid #ffffff26;border-radius:8px;padding:.4rem 1rem;font-size:.8rem;position:absolute;bottom:2rem;left:50%;transform:translate(-50%)}.comment-item{cursor:pointer;border-radius:6px;align-items:flex-start;gap:.4rem;padding:.35rem .4rem;transition:background .15s;display:flex;position:relative}.comment-item:hover{background:#ffffff0f}.comment-item__color{border-radius:2px;flex-shrink:0;align-self:stretch;width:4px;min-height:100%}.comment-item__body{flex:1;min-width:0}.comment-item__author{color:#ffffff8c;font-size:.6rem;font-weight:600}.comment-item__text{color:#fffc;white-space:pre-wrap;word-break:break-word;-webkit-user-select:text;user-select:text;-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:.7rem;line-height:1.3;display:-webkit-box;overflow:hidden}.comment-item--editing{background:#ffffff1f;border-radius:6px 6px 0 0}.comment-item__actions{flex-direction:column;flex-shrink:0;gap:2px;display:flex}.comment-item__action-btn{color:#ffffff4d;cursor:pointer;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;width:18px;height:18px;font-size:.85rem;transition:color .15s,background .15s;display:flex}.comment-item__action-btn:hover{color:#fff;background:#ffffff1a}.comment-item__action-btn--delete:hover{color:#ff7b7b;background:#ff505033}.comment-item__edit{background:#ffffff14;border-radius:0 0 6px 6px;flex-direction:column;gap:.25rem;margin-bottom:.15rem;padding:.3rem .4rem .4rem;display:flex}.comment-item__edit-input{color:#fff;resize:vertical;background:#ffffff0d;border:1px solid #ffffff26;border-radius:4px;outline:none;width:100%;padding:.25rem .35rem;font-family:inherit;font-size:.7rem;line-height:1.3}.comment-item__edit-input:focus{border-color:#fff6}.comment-item__edit-input::placeholder{color:#ffffff4d}.comment-item__edit-actions{justify-content:flex-end;gap:.25rem;display:flex}.comment-item__edit-ok,.comment-item__edit-cancel{color:#fff9;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff26;border-radius:3px;padding:.12rem .4rem;font-family:inherit;font-size:.6rem;transition:background .15s,color .15s}.comment-item__edit-ok{color:#fff;background:#ffffff26;border-color:#ffffff59}.comment-item__edit-ok:hover{background:#ffffff40}.comment-item__edit-cancel:hover{color:#fff;background:#ffffff1a}.viewer__home-toast{z-index:50;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:none;-webkit-user-select:none;user-select:none;background:#fff3;border:1px solid #ffffff26;border-radius:10px;padding:.6rem 1.5rem;font-size:.95rem;font-weight:500;animation:.3s home-toast-in;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes home-toast-in{0%{opacity:0;transform:translate(-50%,-50%)scale(.9)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.viewer__align-dialog-overlay{z-index:200;background:#0006;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.viewer__align-dialog{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;text-align:center;background:#1e1e1ef2;border:1px solid #ffffff26;border-radius:12px;max-width:420px;padding:1.5rem 2rem}.viewer__align-dialog p{margin:0 0 .6rem;font-size:.9rem;line-height:1.5}.viewer__align-dialog-btn{color:#fff;cursor:pointer;background:#ffffff26;border:1px solid #ffffff40;border-radius:8px;margin-top:.8rem;padding:.5rem 2.5rem;font-family:inherit;font-size:.85rem;transition:background .15s}.viewer__align-dialog-btn:hover{background:#ffffff40}.viewer__viewpoint-indicator{z-index:40;color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none;background:#fff3;border-radius:6px;padding:.35rem 1rem;font-size:.8rem;position:absolute;top:1rem;left:50%;transform:translate(-50%)}.viewer-settings{position:relative}.viewer-settings__toggle{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#ffffffb3;cursor:pointer;transform-origin:50%;background:#ffffff80;border:1px solid #ffffff26;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;padding:0;font-family:inherit;font-size:.95rem;transition:background .2s,border-color .2s,transform .2s;display:flex}.viewer-settings__toggle:hover{color:#fff;background:#fff9;border-color:#ffffff4d;transform:scale(1.05)}.viewer-settings__panel{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transform-origin:0 0;background:#ffffff26;border:1px solid #ffffff26;border-radius:10px;flex-direction:column;gap:.55rem;min-width:220px;padding:.6rem .75rem;animation:.3s ease-out forwards viewer-settings-expand;display:flex;position:absolute;top:calc(100% + .4rem);left:0;overflow:hidden}.viewer-settings__panel--collapsing{animation:.25s ease-in forwards viewer-settings-collapse}@keyframes viewer-settings-expand{0%{opacity:0;max-height:0;transform:scaleY(.6)}to{opacity:1;max-height:200px;transform:scaleY(1)}}@keyframes viewer-settings-collapse{0%{opacity:1;max-height:200px;transform:scaleY(1)}to{opacity:0;max-height:0;transform:scaleY(.6)}}.viewer-settings__row{flex-direction:column;gap:.2rem;display:flex}.viewer-settings__row label{color:#fff9;font-size:.7rem}.viewer-settings__control{align-items:center;gap:.5rem;display:flex}.viewer-settings__control input[type=range]{appearance:none;background:#fff3;border-radius:2px;outline:none;flex:1;height:3px}.viewer-settings__control input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;cursor:pointer;background:#ccc;border-radius:50%;width:12px;height:12px}.viewer-settings__value{color:#fffc;text-align:right;font-variant-numeric:tabular-nums;min-width:40px;font-size:.7rem}.viewer-settings__value-input{color:#fff;font-variant-numeric:tabular-nums;text-align:right;-moz-appearance:textfield;background:#ffffff0d;border:1px solid #ffffff26;border-radius:4px;outline:none;width:38px;padding:.15rem .25rem;font-family:inherit;font-size:.7rem}.viewer-settings__value-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.viewer-settings__value-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.viewer-settings__value-input:focus{border-color:#fff6}.viewer-settings__unit{color:#ffffff80;flex-shrink:0;font-size:.65rem}.viewer-settings__divider{background:#fff3;height:1px;margin:.1rem 0}.viewer-settings__default{color:#fff9;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff26;border-radius:4px;width:100%;padding:.3rem;font-family:inherit;font-size:.7rem;transition:background .15s,color .15s}.viewer-settings__default:hover{color:#fff;background:#fff3}.camera-mode{display:flex;position:relative}.camera-mode__toggle{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#ffffffb3;cursor:pointer;transform-origin:50%;background:#ffffff80;border:1px solid #ffffff26;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;padding:0;font-family:inherit;font-size:.95rem;transition:background .2s,border-color .2s,transform .2s;display:flex}.camera-mode__toggle:hover{color:#fff;background:#fff9;border-color:#ffffff4d;transform:scale(1.05)}.camera-mode__panel{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transform-origin:0 0;background:#ffffff26;border:1px solid #ffffff26;border-radius:10px;flex-direction:column;gap:.15rem;min-width:160px;padding:.35rem;animation:.3s ease-out forwards viewer-settings-expand;display:flex;position:absolute;top:calc(100% + .4rem);left:0;overflow:hidden}.camera-mode__panel--collapsing{animation:.25s ease-in forwards viewer-settings-collapse}.camera-mode__option{color:#ffffffa6;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:.5rem;padding:.45rem .65rem;font-family:inherit;font-size:.82rem;transition:background .15s,color .15s;display:flex}.camera-mode__option:hover{color:#fff;background:#ffffff14}.camera-mode__option--active{color:#fff;text-shadow:0 0 6px #fffc,0 0 14px #fff6;background:#ffffff26}.camera-mode__option--active:hover{background:#ffffff38}.fps-hint{z-index:100;color:#fff;letter-spacing:.1em;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:none;-webkit-user-select:none;user-select:none;background:#fff3;border:1px solid #ffffff26;border-radius:8px;padding:.6rem 1.5rem;font-size:1.1rem;font-weight:400;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.viewer__help{z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;background:#fff3;border:1px solid #ffffff26;border-radius:25px;justify-content:center;align-items:center;width:50px;height:50px;transition:width .25s cubic-bezier(.4,0,.2,1),height .25s cubic-bezier(.4,0,.2,1) .25s,border-radius .25s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;bottom:1rem;left:1rem;overflow:hidden}.viewer__help:hover:not(.viewer__help--open){background:#ffffff4d;border-color:#ffffff4d}.viewer__help--open{cursor:default;border-radius:12px;align-items:flex-start;width:270px;height:360px;transition:height .25s cubic-bezier(.4,0,.2,1),width .25s cubic-bezier(.4,0,.2,1) .25s,border-radius .25s cubic-bezier(.4,0,.2,1)}.viewer__help-icon{color:#ffffffa6;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.viewer__help-content{opacity:0;pointer-events:none;width:100%;padding:.7rem .9rem .8rem;transition:opacity .2s .4s;position:absolute;top:0;left:0}.viewer__help--open .viewer__help-content{opacity:1;pointer-events:auto;position:relative}.viewer__help--closing .viewer__help-content{opacity:0;transition:opacity .15s}.viewer__help-close{color:#ffffff80;cursor:pointer;background:0 0;border:1px solid #ffffff1f;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;transition:background .15s,color .15s;display:flex;position:absolute;top:.4rem;right:.4rem}.viewer__help-close:hover{color:#fff;background:#fff3}.viewer__help-title{color:#fff;border-bottom:1px solid #ffffff1f;margin-bottom:.5rem;padding-bottom:.35rem;font-size:.82rem;font-weight:600}.viewer__help-section{margin-bottom:.45rem}.viewer__help-heading{color:#fff9;text-transform:uppercase;letter-spacing:.03em;margin-bottom:.15rem;font-size:.65rem;font-weight:600}.viewer__help-row{color:#ffffffb3;font-size:.7rem;line-height:1.6}.viewer__help-row kbd{color:#fffc;background:#fff3;border:1px solid #ffffff26;border-radius:3px;margin:0 .1rem;padding:.05rem .3rem;font-family:inherit;font-size:.62rem;line-height:1.4;display:inline-block}.admin{color:#fff;background:#0a0a0a;flex-direction:column;min-height:100vh;display:flex}.admin__header{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex}.admin__header h1{font-size:1.2rem;font-weight:600}.admin__header-right{align-items:center;gap:1rem;display:flex}.admin__user{color:#ffffff80;font-size:.8rem}.admin__logout{color:#ff6b6b;cursor:pointer;background:#ff646426;border:1px solid #ff64644d;border-radius:6px;padding:.4rem .8rem;font-size:.8rem}.admin__tabs{border-bottom:1px solid #ffffff14;align-items:center;gap:0;padding:0 2rem;display:flex}.admin__tab{color:#ffffff73;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:.75rem 1.25rem;font-family:inherit;font-size:.85rem;transition:color .2s,border-color .2s}.admin__tab:hover{color:#ffffffb3}.admin__tab--active{color:#fff;border-bottom-color:var(--accent,#4285f4)}.admin__tabs-spacer{flex:1}.admin__tab-action{color:#fff9;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:5px;margin-left:.4rem;padding:.4rem .75rem;font-size:.75rem;transition:background .2s}.admin__tab-action:hover{background:#ffffff1f}.admin__main{flex:1;padding:2rem;overflow-y:auto}.admin__loading{justify-content:center;padding:3rem;display:flex}.admin__section{margin-bottom:2.5rem}.admin__section-header{align-items:center;gap:1rem;margin-bottom:.25rem;display:flex}.admin__section-title{margin-bottom:.75rem;font-size:.95rem;font-weight:600}.admin__section-header .admin__section-title{margin-bottom:0}.admin__section-desc{color:#ffffff59;margin-bottom:1rem;font-size:.75rem}.admin__add-btn{color:#4285f4;cursor:pointer;background:#4285f426;border:1px solid #4285f44d;border-radius:5px;padding:.35rem .75rem;font-size:.78rem}.admin__add-form{background:#ffffff08;border:1px solid #ffffff14;border-radius:8px;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;padding:.75rem 1rem;display:flex}.admin__add-form input,.admin__add-form select{color:#fff;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:4px;flex:1;min-width:120px;padding:.5rem .6rem;font-family:inherit;font-size:.8rem}.admin__add-form input:focus,.admin__add-form select:focus{border-color:var(--accent);outline:none}.admin__add-form button{background:var(--accent,#4285f4);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:.5rem 1rem;font-size:.8rem}.admin__table-wrap{overflow-x:auto}.admin__table{border-collapse:collapse;width:100%;font-size:.8rem}.admin__table th,.admin__table td{text-align:left;white-space:nowrap;border-bottom:1px solid #ffffff0f;padding:.6rem .75rem}.admin__table th{color:#ffffff80;text-transform:uppercase;letter-spacing:.05em;background:#0a0a0a;font-size:.75rem;font-weight:500;position:sticky;top:0}.admin__table tbody tr:hover{background:#ffffff08}.admin__empty-cell{color:#ffffff40;text-align:center!important;padding:1.5rem!important}.admin__badge{text-transform:uppercase;border-radius:4px;padding:.15rem .5rem;font-size:.7rem;font-weight:600;display:inline-block}.admin__badge--free{color:#5a78a8;background:#7a99cf33}.admin__badge--pro{color:#4285f4;background:#4285f433}.admin__badge--special{color:#fb3;background:#fb33}.admin__delete-btn{color:#ff6b6b;cursor:pointer;background:#ff64641a;border:1px solid #ff646433;border-radius:4px;padding:.3rem .6rem;font-size:.75rem}.admin__confirm{gap:.3rem;display:flex}.admin__confirm-yes{color:#fff;cursor:pointer;background:#f44;border:none;border-radius:4px;padding:.3rem .5rem;font-size:.7rem}.admin__confirm-no{color:#fff;cursor:pointer;background:#ffffff1a;border:none;border-radius:4px;padding:.3rem .5rem;font-size:.7rem}
