@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=DM+Sans:wght@400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&family=DM+Sans:wght@300;400;500&display=swap";:root{--font-sans: "DM Sans", "Inter", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;--font-display: "Cormorant Garamond", "Times New Roman", serif;--color-bg: #0b0b0c;--color-bg-elevated: #141416;--color-surface: #1a1b1e;--color-surface-2: #222329;--color-border: rgba(255, 255, 255, .18);--color-border-strong: rgba(255, 255, 255, .34);--color-text-primary: #f4f4f5;--color-text-secondary: #cbcbcf;--color-text-muted: #9a9aa2;--color-primary: #76767c;--color-primary-hover: #626268;--color-primary-light: #ededee;--color-primary-soft: rgba(255, 255, 255, .16);--color-secondary: #26272c;--color-secondary-hover: #313239;--color-danger: #e04f4f;--color-danger-hover: #be3c3c;--color-success: #36b98d;--color-warning: #d8a848;--color-gold: #e5c184;--color-gray-50: #0b0b0c;--color-gray-100: #141416;--color-gray-200: #1f2024;--color-gray-300: #2f3035;--color-gray-400: #5f6169;--color-gray-500: #80828b;--color-gray-600: #a7a8b0;--color-gray-700: #c7c8cd;--color-gray-800: #dddddf;--color-gray-900: #f4f4f5;--color-blue-50: #1a1a1d;--color-blue-600: #8a8a90;--color-green-50: #171917;--color-green-600: #36b98d;--color-green-700: #2ea37d;--color-purple-50: #1a1a1d;--color-purple-600: #7a7a80;--spacing-1: .25rem;--spacing-2: .5rem;--spacing-3: .75rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-10: 2.5rem;--spacing-12: 3rem;--spacing-8: 2rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--shadow-sm: 0 2px 12px rgba(1, 6, 19, .24);--shadow-md: 0 12px 28px rgba(1, 6, 19, .35);--shadow-lg: 0 20px 44px rgba(1, 6, 19, .42);--shadow-xl: 0 30px 70px rgba(1, 6, 19, .5);--transition-fast: .14s ease;--transition-normal: .22s ease;--transition-slow: .32s ease}html,body,#root{width:100%;height:100%}body{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(1200px 700px at -10% -10%,rgba(255,255,255,.08),transparent 58%),radial-gradient(900px 550px at 108% -6%,rgba(255,255,255,.06),transparent 52%),linear-gradient(165deg,#0b0b0c,#131316 44%,#191a1f);color:var(--color-text-primary);line-height:1.5;letter-spacing:.01em}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:.01em}p,span,button,input,textarea,label{font-family:var(--font-sans)}::-moz-selection{background:#ffffff47;color:#f7fbff}::selection{background:#ffffff47;color:#f7fbff}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#ffffff0a}::-webkit-scrollbar-thumb{background:#ffffff47;border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:#ffffff70}.container{width:100%;max-width:1280px;margin:0 auto;padding:0 var(--spacing-4)}.flex-column{flex-direction:column}.gap-2{gap:var(--spacing-2)}.gap-3{gap:var(--spacing-3)}.gap-4{gap:var(--spacing-4)}.gap-6{gap:var(--spacing-6)}.mt-1{margin-top:var(--spacing-1)}.mt-2{margin-top:var(--spacing-2)}.mt-3{margin-top:var(--spacing-3)}.mt-4{margin-top:var(--spacing-4)}.mb-2{margin-bottom:var(--spacing-2)}.mb-3{margin-bottom:var(--spacing-3)}.mb-4{margin-bottom:var(--spacing-4)}.mb-6{margin-bottom:var(--spacing-6)}.mb-8{margin-bottom:var(--spacing-8)}.audio-manager-panel{position:fixed;top:0;right:-700px;width:700px;height:100vh;background:linear-gradient(180deg,#0e101cfa,#0a0c16fa);border-left:1px solid rgba(255,255,255,.1);z-index:2000;display:flex;flex-direction:column;transition:right .3s cubic-bezier(.4,0,.2,1);box-shadow:-10px 0 40px #00000080;font-family:system-ui,-apple-system,sans-serif}.audio-manager-panel.visible{right:0}.audio-panel-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid rgba(255,255,255,.1);background:linear-gradient(180deg,#1a1f34eb,#15182ae6);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.audio-panel-title{display:flex;align-items:center;gap:12px;font-size:1.1rem;font-weight:600;color:#fff;margin:0}.audio-panel-title svg{width:24px;height:24px;color:#65656b}.audio-panel-close-btn{width:36px;height:36px;border-radius:8px;border:none;background:transparent;color:#fff9;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.audio-panel-close-btn:hover{background:#ffffff1a;color:#fff}.audio-panel-close-btn svg{width:20px;height:20px}.audio-panel-content{flex:1;display:flex;overflow:hidden}.audio-panel-waypoints{width:50%;display:flex;flex-direction:column;border-right:1px solid rgba(255,255,255,.1);overflow:hidden}.audio-panel-waypoints-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.1);background:#14142380;flex-wrap:wrap;gap:8px}.audio-panel-section-title{font-size:.95rem;font-weight:600;color:#fff;margin:0;white-space:nowrap}.audio-panel-selection-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.audio-panel-deselect-btn,.audio-panel-select-all-btn{background:transparent;border:none;color:#fff9;font-size:.8rem;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s ease;white-space:nowrap}.audio-panel-deselect-btn:hover,.audio-panel-select-all-btn:hover{color:#fff;background:#ffffff1a}.audio-panel-deselect-btn:disabled,.audio-panel-select-all-btn:disabled{opacity:.45;cursor:not-allowed;background:transparent;color:#ffffff73}.audio-panel-waypoints-list{flex:1;overflow-y:auto;overflow-x:hidden;padding:12px;display:flex;flex-direction:column;gap:8px}.audio-panel-waypoint-item{display:flex;align-items:center;gap:10px;padding:10px;border-radius:8px;border:1px solid transparent;background:#ffffff08;transition:all .2s ease;position:relative;min-width:0}.audio-panel-waypoint-item:hover{background:#ffffff12;border-color:#fff3;transform:translateY(-1px)}.audio-panel-waypoint-item.selected{border-color:#65656b;background:#ffffff26}.audio-panel-waypoint-audio{flex:1;display:flex;align-items:center;gap:10px;padding:7px 10px;background:#ffffff1a;border-radius:6px;border:1px solid rgba(255,255,255,.3);min-width:0;flex-wrap:nowrap}.audio-panel-waypoint-number{width:28px;height:28px;border-radius:50%;background:#fff3;color:#65656b;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:600;flex-shrink:0}.audio-panel-waypoint-item.selected .audio-panel-waypoint-number{background:#65656b;color:#fff}.audio-panel-waypoint-thumb{width:60px;height:40px;border-radius:6px;overflow:hidden;background:#ffffff0d;flex-shrink:0;position:relative}.audio-panel-waypoint-thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.audio-panel-waypoint-thumb-placeholder{width:100%;height:100%;background:#ffffff0d}.audio-panel-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px 20px;color:#fff6;text-align:center}.audio-panel-empty svg{width:48px;height:48px;opacity:.5}.audio-panel-empty p{margin:0;font-size:.9rem}.audio-panel-upload{flex:1;display:flex;flex-direction:column;padding:20px;gap:16px;overflow:hidden}.audio-panel-upload-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.audio-panel-upload-btn-header{display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:8px;border:1px solid #65656b;background:#65656b;color:#fff;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.audio-panel-upload-btn-header:hover:not(:disabled){background:#9d9d9d;border-color:#9d9d9d;transform:translateY(-1px)}.audio-panel-upload-btn-header:disabled{opacity:.5;cursor:not-allowed}.audio-panel-upload-btn-header svg{width:16px;height:16px}.audio-panel-loop-toggle{border:1px solid rgba(255,255,255,.45);background:#ffffff1f;color:#e9f0ffeb;border-radius:8px;padding:8px 12px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.audio-panel-loop-toggle:hover:not(:disabled){border-color:#65656b;background:#ffffff38}.audio-panel-loop-toggle.active{border-color:#10b981;background:#10b98133;color:#d2fae5}.audio-panel-loop-toggle:disabled{opacity:.45;cursor:not-allowed;border-color:#94a3b859;background:#94a3b814;color:#94a3b8d9}.audio-panel-files-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.audio-panel-file-item{display:flex;align-items:center;gap:10px;padding:12px;border-radius:8px;background:#ffffff06;border:1px solid rgba(255,255,255,.12);transition:all .2s ease}.audio-panel-file-item:hover{background:#ffffff12;border-color:#fff3;transform:translateY(-1px)}.audio-panel-file-item.selected{border-color:#65656b;background:#ffffff26}.audio-panel-file-info{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.audio-panel-file-name{font-size:.9rem;font-weight:500;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.audio-panel-file-meta{font-size:.8rem;color:#fff6;font-family:monospace}.audio-panel-file-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.audio-panel-play-btn{width:32px;height:32px;border-radius:6px;border:1px solid rgba(255,255,255,.2);background:#fff3;color:#65656b;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.audio-panel-play-btn:hover{background:#ffffff4d;border-color:#65656b}.audio-panel-play-btn svg{width:16px;height:16px}.audio-panel-icon{width:18px;height:18px;color:#fff6;flex-shrink:0}.audio-panel-assign-btn{width:32px;height:32px;border-radius:6px;border:1px solid rgba(16,185,129,.3);background:#10b98129;color:#10b981;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.audio-panel-assign-btn:hover{background:#10b98147;border-color:#10b981}.audio-panel-assign-btn svg{width:16px;height:16px}.audio-panel-unassign-btn{width:32px;height:32px;border-radius:6px;border:1px solid rgba(245,158,11,.4);background:#f59e0b29;color:#f59e0b;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.audio-panel-unassign-btn:hover{background:#f59e0b42;border-color:#f59e0b}.audio-panel-delete-btn{width:32px;height:32px;border-radius:6px;border:1px solid rgba(239,68,68,.35);background:#ef444424;color:#ef4444;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.audio-panel-delete-btn:hover{background:#ef44443d;border-color:#ef4444}.audio-panel-unassign-btn svg,.audio-panel-delete-btn svg{width:16px;height:16px}.audio-panel-audio-name{font-size:.84rem;font-weight:500;color:#e9f0fff0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0;max-width:none}.audio-panel-waypoint-audio .audio-panel-unassign-btn{margin-left:auto}.audio-panel-files-list::-webkit-scrollbar,.audio-panel-waypoints-list::-webkit-scrollbar{width:8px}.audio-panel-files-list::-webkit-scrollbar-track,.audio-panel-waypoints-list::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.audio-panel-files-list::-webkit-scrollbar-thumb,.audio-panel-waypoints-list::-webkit-scrollbar-thumb{background:#ffffff52;border-radius:4px}.audio-panel-files-list::-webkit-scrollbar-thumb:hover,.audio-panel-waypoints-list::-webkit-scrollbar-thumb:hover{background:#ffffff85}.audio-panel-upload-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:30px 20px;border:2px dashed rgba(255,255,255,.2);border-radius:12px;background:#ffffff05;cursor:pointer;transition:all .2s ease;min-height:150px}.audio-panel-upload-zone:hover,.audio-panel-upload-zone.drag-over{border-color:#65656b;background:#ffffff1a}.audio-panel-upload-icon{width:48px;height:48px;color:#fff6;display:flex;align-items:center;justify-content:center}.audio-panel-upload-zone:hover .audio-panel-upload-icon{color:#65656b}.audio-panel-upload-icon svg{width:100%;height:100%}.audio-panel-upload-zone span{color:#fff9;font-size:.9rem;text-align:center}.audio-panel-upload-btn{display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 24px;border-radius:10px;border:1px solid #65656b;background:#65656b;color:#fff;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;width:100%}.audio-panel-upload-btn:hover:not(:disabled){background:#9d9d9d;border-color:#9d9d9d;transform:translateY(-1px);box-shadow:0 4px 12px #fff6}.audio-panel-upload-btn:disabled{opacity:.5;cursor:not-allowed}.audio-panel-upload-btn svg{width:18px;height:18px}.audio-panel-upload-btn .spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.button{font-weight:600;border-radius:.82rem;transition:transform var(--transition-fast),box-shadow var(--transition-normal),border-color var(--transition-normal),background var(--transition-normal),color var(--transition-normal);border:1px solid transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-family:inherit;letter-spacing:.02em;position:relative;overflow:clip;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none}.button:before{display:none}.button:focus{outline:none;box-shadow:0 0 0 3px #ffffff4d}.button:disabled{cursor:not-allowed;opacity:.5}.button:disabled:before{display:none}.button-primary{background:var(--color-primary);border-color:#ffffff38;color:#f6f6f7;box-shadow:none}.button-primary:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:none;transform:none}.button-primary:active:not(:disabled){transform:none}.button-secondary{background:#ffffff0f;color:var(--color-text-secondary);border:1px solid var(--color-border)}.button-secondary:hover:not(:disabled){background:#ffffff1a;border-color:var(--color-border-strong);color:var(--color-text-primary);transform:none}.button-danger{background:var(--color-danger);border-color:#fca4a461;color:#fff7f7;box-shadow:none}.button-danger:hover:not(:disabled){background:var(--color-danger-hover);box-shadow:none;transform:none}.button-outline{border:1px solid rgba(255,255,255,.5);background-color:transparent;color:var(--color-text-primary)}.button-outline:hover:not(:disabled){background:#ffffff24;color:#f2f2f3}.button-sm{padding:9px 16px;font-size:.79rem;border-radius:.76rem}.button-md{padding:11px 20px;font-size:.88rem}.button-lg{padding:13px 28px;font-size:.95rem}@media (max-width: 768px){.button-sm,.button-md,.button-lg{min-height:44px}}.input-group{margin-bottom:var(--spacing-4)}.input-label{display:block;font-size:.82rem;font-weight:600;color:var(--color-text-secondary);margin-bottom:var(--spacing-2);letter-spacing:.05em;text-transform:uppercase}.input-required{color:var(--color-danger);margin-left:var(--spacing-1)}.input{width:100%;padding:.78rem var(--spacing-4);border:1.5px solid var(--color-border);border-radius:.86rem;font-size:.95rem;font-family:inherit;transition:border-color var(--transition-normal),box-shadow var(--transition-normal),background var(--transition-normal),color var(--transition-normal);background:linear-gradient(180deg,#ffffff14,#ffffff08);color:var(--color-text-primary)}.input::-moz-placeholder{color:var(--color-text-muted)}.input::placeholder{color:var(--color-text-muted)}.input:hover{border-color:var(--color-border-strong);background:linear-gradient(180deg,#ffffff1a,#ffffff0a)}.input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #ffffff2e,0 10px 18px #030a1938;background:linear-gradient(180deg,#ffffff1c,#ffffff0d)}.input-error{border-color:var(--color-danger)}.input-error:focus{border-color:var(--color-danger);box-shadow:0 0 0 3px #e04f4f2e}.input-error-message{margin-top:var(--spacing-2);font-size:.8rem;color:#ffadad;display:flex;align-items:center;gap:var(--spacing-1)}.input-error-message:before{content:"*"}.card{background:linear-gradient(180deg,#ffffff17,#ffffff0a);border-radius:var(--radius-2xl);box-shadow:var(--shadow-md);border:1px solid var(--color-border);padding:var(--spacing-6);transition:box-shadow var(--transition-normal),border-color var(--transition-normal),transform var(--transition-normal);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.card:hover{box-shadow:var(--shadow-lg);border-color:var(--color-border-strong);transform:translateY(-1px)}.loading-container{display:flex;justify-content:center;align-items:center;padding:var(--spacing-8)}.loading-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background-color:#040811b8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:50}.loading-spinner{border:4px solid rgba(255,255,255,.22);border-top-color:var(--color-primary-light);border-radius:50%;animation:spin 1s linear infinite}.loading-spinner-sm{width:24px;height:24px}.loading-spinner-md{width:40px;height:40px}.loading-spinner-lg{width:64px;height:64px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:12000;overflow:hidden;overscroll-behavior:contain}.modal-container{display:flex;min-height:100dvh;align-items:center;justify-content:center;padding:var(--spacing-4);padding-top:max(var(--spacing-4),env(safe-area-inset-top,0px));padding-bottom:max(var(--spacing-4),env(safe-area-inset-bottom,0px))}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(700px 500px at 12% 6%,rgba(255,255,255,.16),transparent 62%),radial-gradient(700px 500px at 88% 12%,rgba(229,193,132,.1),transparent 58%),#02050cd1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:opacity var(--transition-normal)}.modal-content{position:relative;background:linear-gradient(180deg,#141e34f2,#0d1323f5);border:1px solid var(--color-border);border-radius:1.2rem;box-shadow:0 36px 70px #01061394,inset 0 1px #ffffff1a;width:100%;max-height:min(90dvh,52rem);display:flex;flex-direction:column;overflow:hidden}.modal-sm{max-width:28rem}.modal-md{max-width:32rem}.modal-lg{max-width:42rem}.modal-xl{max-width:56rem}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-6);border-bottom:1px solid rgba(168,185,219,.2)}.modal-title{font-size:1.62rem;font-weight:600;color:var(--color-text-primary);letter-spacing:.02em;font-family:var(--font-display)}.modal-close{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;padding:var(--spacing-2);min-width:40px;min-height:40px;transition:all var(--transition-fast);border-radius:var(--radius-md);touch-action:manipulation;-webkit-tap-highlight-color:transparent}.modal-close:hover{color:var(--color-text-primary);background:#ffffff1a}.modal-close svg{width:24px;height:24px}.modal-body{padding:var(--spacing-6);flex:1 1 auto;min-height:0;overflow-y:auto}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-3);padding:var(--spacing-6);border-top:1px solid rgba(168,185,219,.2)}@media (max-width: 768px){.modal-container{align-items:center;padding:.75rem;padding-top:max(.75rem,env(safe-area-inset-top,0px));padding-bottom:max(.75rem,env(safe-area-inset-bottom,0px))}.modal-content{border-radius:1rem;max-height:min(calc(100dvh - 1.5rem),42rem)}.modal-header{padding:.85rem .95rem}.modal-title{font-size:1.08rem}.modal-body{padding:.85rem .95rem}.modal-footer{padding:.8rem .95rem;flex-wrap:wrap;justify-content:flex-end}.modal-footer>.button,.modal-footer>button{min-width:8rem;justify-content:center}}.share-modal-content{padding:0}.share-modal-header{text-align:center;padding:1.15rem 1.15rem .85rem;border-bottom:1px solid rgba(168,185,219,.22)}.share-modal-header h3{font-size:1.15rem;font-weight:600;color:var(--color-text-primary);margin:0 0 .2rem;font-family:var(--font-display);line-height:1.25;overflow-wrap:anywhere}.share-modal-header p{font-size:.78rem;color:var(--color-text-secondary);margin:0}.share-generating{padding:1.6rem 1.15rem;text-align:center}.share-spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.26);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 1rem}.share-generating p{color:var(--color-text-secondary);font-size:.9rem;margin:0}.share-link-container{padding:.95rem 1.15rem 1.15rem;display:flex;gap:.75rem;background:#ffffff08}.share-link-input{flex:1;padding:.68rem .8rem;border:1px solid var(--color-border);border-radius:.8rem;font-size:.78rem;font-family:Consolas,SFMono-Regular,Menlo,monospace;background:#ffffff14;color:var(--color-text-primary);cursor:pointer}.share-link-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #ffffff29}.share-copy-button{display:flex;align-items:center;gap:.45rem;padding:.66rem .95rem;background:linear-gradient(135deg,var(--color-primary) 0%,#6a6a70 100%);color:#f8fbff;border:1px solid rgba(255,255,255,.48);border-radius:.8rem;font-size:.8rem;font-weight:600;cursor:pointer;transition:all var(--transition-normal);white-space:nowrap;min-height:44px;touch-action:manipulation;box-shadow:0 10px 20px #3a73da59}.share-copy-button:hover{transform:translateY(-1px);box-shadow:0 14px 24px #3a73da6b}.share-copy-button:active{transform:translateY(0)}.share-copy-button.copied{background:linear-gradient(135deg,#35b588,#4fd3a5);border-color:#94ffdc73}.share-copy-button.copied:hover{box-shadow:0 14px 24px #35b58866}.share-error{padding:1rem 1.15rem 1.15rem;color:#ffbcbc}.share-error p{margin:0 0 .9rem}.share-error button{min-height:40px;border-radius:.75rem;border:1px solid rgba(252,164,164,.5);background:#e04f4f33;color:#ffd6d6;cursor:pointer;padding:.45rem .9rem}@media (max-width: 768px){.share-modal-header{padding:.8rem .85rem .65rem}.share-modal-header h3{font-size:1rem}.share-modal-header p{font-size:.72rem}.share-link-container{flex-direction:column;padding:.75rem .85rem .85rem;gap:.5rem}.share-link-input{width:100%;min-height:42px;font-size:.7rem;padding:.58rem .68rem}.share-copy-button{width:100%;justify-content:center;padding:.56rem .72rem;font-size:.76rem}.share-error{padding:.8rem .85rem .9rem}}.login-form{display:flex;flex-direction:column;gap:var(--spacing-4)}.login-error{background:linear-gradient(135deg,#e04f4f2e,#e04f4f14);border:1px solid rgba(252,164,164,.45);color:#ffd0d0;padding:var(--spacing-3) var(--spacing-4);border-radius:.9rem;font-size:.8rem;display:flex;align-items:center;gap:var(--spacing-2);animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.login-error:before{content:"!";font-size:1rem;font-weight:700}.login-submit-button{margin-top:var(--spacing-1)}.login-demo-credentials{margin-top:var(--spacing-5);padding-top:var(--spacing-5);border-top:1px solid var(--color-border);animation:fadeIn .6s ease .3s both}.login-demo-title{font-weight:600;margin-bottom:var(--spacing-3);color:var(--color-text-secondary);font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;text-align:center;cursor:default;transition:all var(--transition-normal)}.login-demo-title:hover{letter-spacing:.15em;color:var(--color-primary-light)}.login-demo-list{display:flex;flex-direction:column;gap:var(--spacing-2)}.login-demo-item{background:linear-gradient(135deg,#ffffff14,#ffffff08);padding:var(--spacing-3);border-radius:.95rem;border:1px solid var(--color-border);transition:all var(--transition-normal);cursor:pointer;position:relative;overflow:hidden}.login-demo-item:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.16),transparent);transition:left .5s ease}.login-demo-item:hover:before{left:100%}.login-demo-item:hover{background:linear-gradient(135deg,#ffffff24,#ffffff0f);border-color:var(--color-border-strong);transform:translateY(-2px) scale(1.01);box-shadow:0 12px 28px #030a1966}.login-demo-item:active{transform:translateY(-1px) scale(1)}.login-demo-item-role{font-weight:700;color:var(--color-text-secondary);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--spacing-1);transition:all var(--transition-normal)}.login-demo-item:hover .login-demo-item-role{letter-spacing:.12em;color:var(--color-primary-light)}.login-demo-item-credentials{font-size:.75rem;color:var(--color-text-muted);font-family:Courier New,monospace;transition:color var(--transition-normal)}.login-demo-item:hover .login-demo-item-credentials{color:var(--color-text-secondary)}.login-demo-item-clicked{animation:clickPulse .3s ease}@keyframes clickPulse{0%,to{transform:scale(1)}50%{transform:scale(.98)}}.login-page{min-height:100vh;background:radial-gradient(circle at 14% 8%,rgba(255,255,255,.16),transparent 54%),radial-gradient(circle at 84% 92%,rgba(229,193,132,.12),transparent 52%),linear-gradient(165deg,#070b14,#0d162b 48%,#0b1222);display:flex;align-items:center;justify-content:center;padding:var(--spacing-4);position:relative;overflow:hidden}.login-page:before{content:"";position:absolute;top:-10%;right:-10%;width:500px;height:500px;background:radial-gradient(circle,rgba(255,255,255,.22) 0%,transparent 70%);border-radius:50%;animation:float 20s ease-in-out infinite;filter:blur(60px)}.login-page:after{content:"";position:absolute;bottom:-10%;left:-10%;width:400px;height:400px;background:radial-gradient(circle,rgba(229,193,132,.18) 0%,transparent 70%);border-radius:50%;animation:float 15s ease-in-out infinite reverse;filter:blur(60px)}@keyframes float{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-50px) scale(1.1)}66%{transform:translate(-20px,20px) scale(.9)}}.login-page-container{width:100%;max-width:26rem;position:relative;z-index:1}.login-page-back-row{position:absolute;top:clamp(.9rem,2.2vw,1.4rem);left:clamp(.9rem,2.8vw,1.8rem);z-index:2;display:flex;justify-content:flex-start;margin-bottom:0}.login-page-back-button{display:inline-flex;align-items:center;gap:.45rem;padding:.52rem .9rem;border-radius:.78rem;border:1px solid rgba(255,255,255,.2);background:#ffffff0d;color:var(--color-text-secondary);font-size:.8rem;font-weight:600;letter-spacing:.02em;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.login-page-back-button svg{width:14px;height:14px;flex-shrink:0}.login-page-back-button:hover{background:#ffffff1a;border-color:#ffffff4d;color:var(--color-text-primary)}.login-page-back-button:focus-visible{outline:none;box-shadow:0 0 0 3px #ffffff38}.login-page-header{text-align:center;margin-bottom:var(--spacing-8)}.login-page-title{font-family:var(--font-display);font-size:3rem;font-weight:700;color:#fff;margin-bottom:.6rem;letter-spacing:-.01em;cursor:default;transition:transform var(--transition-normal)}.login-page-title:hover{transform:scale(1.02)}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.login-page-subtitle{color:var(--color-text-secondary);font-size:.94rem;font-weight:400;opacity:.88;transition:all var(--transition-normal);cursor:default}.login-page-description{color:var(--color-text-muted);font-size:.84rem;font-weight:400;margin-top:var(--spacing-2);opacity:.9;transition:all var(--transition-normal);cursor:default}.login-page-card{background:#111b2fad;-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);border:1px solid var(--color-border);box-shadow:0 14px 42px #0106138a,inset 0 1px #ffffff14;transition:all var(--transition-slow)}.login-page-card:hover{border-color:var(--color-border-strong);box-shadow:0 20px 56px #0106139e,inset 0 1px #ffffff1f}@media (max-width: 640px){.login-page{padding:var(--spacing-3)}.login-page-container{max-width:100%}.login-page-back-row{top:.75rem;left:.75rem;margin-bottom:0}.login-page-back-button{min-height:40px;padding:.5rem .8rem;font-size:.78rem}.login-page-title{font-size:2.35rem}.login-page-subtitle{font-size:.86rem}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}@theme inline{--animation-delay-0: 0s; --animation-delay-75: 75ms; --animation-delay-100: .1s; --animation-delay-150: .15s; --animation-delay-200: .2s; --animation-delay-300: .3s; --animation-delay-500: .5s; --animation-delay-700: .7s; --animation-delay-1000: 1s; --animation-repeat-0: 0; --animation-repeat-1: 1; --animation-repeat-infinite: infinite; --animation-direction-normal: normal; --animation-direction-reverse: reverse; --animation-direction-alternate: alternate; --animation-direction-alternate-reverse: alternate-reverse; --animation-fill-mode-none: none; --animation-fill-mode-forwards: forwards; --animation-fill-mode-backwards: backwards; --animation-fill-mode-both: both; --percentage-0: 0; --percentage-5: .05; --percentage-10: .1; --percentage-15: .15; --percentage-20: .2; --percentage-25: .25; --percentage-30: .3; --percentage-35: .35; --percentage-40: .4; --percentage-45: .45; --percentage-50: .5; --percentage-55: .55; --percentage-60: .6; --percentage-65: .65; --percentage-70: .7; --percentage-75: .75; --percentage-80: .8; --percentage-85: .85; --percentage-90: .9; --percentage-95: .95; --percentage-100: 1; --percentage-translate-full: 1; --animate-in: enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); --animate-out: exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); @keyframes enter { from { opacity: var(--tw-enter-opacity,1); transform: translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0)); filter: blur(var(--tw-enter-blur,0)); }}@keyframes exit { to { opacity: var(--tw-exit-opacity,1); transform: translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0)); filter: blur(var(--tw-exit-blur,0)); }}--animate-accordion-down: accordion-down var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); --animate-accordion-up: accordion-up var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); --animate-collapsible-down: collapsible-down var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); --animate-collapsible-up: collapsible-up var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); @keyframes accordion-down { from { height: 0; }to { height: var(--radix-accordion-content-height,var(--bits-accordion-content-height,var(--reka-accordion-content-height,var(--kb-accordion-content-height,var(--ngp-accordion-content-height,auto))))); }}@keyframes accordion-up { from { height: var(--radix-accordion-content-height,var(--bits-accordion-content-height,var(--reka-accordion-content-height,var(--kb-accordion-content-height,var(--ngp-accordion-content-height,auto))))); }to { height: 0; }}@keyframes collapsible-down { from { height: 0; }to { height: var(--radix-collapsible-content-height,var(--bits-collapsible-content-height,var(--reka-collapsible-content-height,var(--kb-collapsible-content-height,auto)))); }}@keyframes collapsible-up { from { height: var(--radix-collapsible-content-height,var(--bits-collapsible-content-height,var(--reka-collapsible-content-height,var(--kb-collapsible-content-height,auto)))); }to { height: 0; }}--animate-caret-blink: caret-blink 1.25s ease-out infinite; @keyframes caret-blink { 0%,70%,100% { opacity: 1; }20%,50% { opacity: 0; }}}@utility animation-duration-*{--tw-animation-duration: calc(--value(number)*1ms) ; --tw-animation-duration: --value(--animation-duration-*,[duration],"initial",[*]); animation-duration: calc(--value(number)*1ms) ; animation-duration: --value(--animation-duration-*,[duration],"initial",[*]);}@utility delay-*{animation-delay: calc(--value(number)*1ms) ; animation-delay: --value(--animation-delay-*,[duration],"initial",[*]); --tw-animation-delay: calc(--value(number)*1ms) ; --tw-animation-delay: --value(--animation-delay-*,[duration],"initial",[*]);}@utility repeat-*{animation-iteration-count: --value(--animation-repeat-*,number,"initial",[*]); --tw-animation-iteration-count: --value(--animation-repeat-*,number,"initial",[*]);}@utility direction-*{animation-direction: --value(--animation-direction-*,"initial",[*]); --tw-animation-direction: --value(--animation-direction-*,"initial",[*]);}@utility fill-mode-*{animation-fill-mode: --value(--animation-fill-mode-*,"initial",[*]); --tw-animation-fill-mode: --value(--animation-fill-mode-*,"initial",[*]);}@utility running{animation-play-state: running;}@utility paused{animation-play-state: paused;}@utility play-state-*{animation-play-state: --value("initial",[*]);}@utility blur-in{--tw-enter-blur: 20px;}@utility blur-in-*{--tw-enter-blur: calc(--value(number)*1px) ; --tw-enter-blur: --value(--blur-*,[*]);}@utility blur-out{--tw-exit-blur: 20px;}@utility blur-out-*{--tw-exit-blur: calc(--value(number)*1px) ; --tw-exit-blur: --value(--blur-*,[*]);}@utility fade-in{--tw-enter-opacity: 0;}@utility fade-in-*{--tw-enter-opacity: calc(--value(number)*.01) ; --tw-enter-opacity: --value(--percentage-*,[*]);}@utility fade-out{--tw-exit-opacity: 0;}@utility fade-out-*{--tw-exit-opacity: calc(--value(number)*.01) ; --tw-exit-opacity: --value(--percentage-*,[*]);}@utility zoom-in{--tw-enter-scale: 0;}@utility zoom-in-*{--tw-enter-scale: calc(--value(number)*1%) ; --tw-enter-scale: --value(ratio) ; --tw-enter-scale: --value(--percentage-*,[*]);}@utility -zoom-in-*{--tw-enter-scale: calc(--value(number)*-1%) ; --tw-enter-scale: calc(--value(ratio)*-1) ; --tw-enter-scale: --value(--percentage-*,[*]);}@utility zoom-out{--tw-exit-scale: 0;}@utility zoom-out-*{--tw-exit-scale: calc(--value(number)*1%) ; --tw-exit-scale: --value(ratio) ; --tw-exit-scale: --value(--percentage-*,[*]);}@utility -zoom-out-*{--tw-exit-scale: calc(--value(number)*-1%) ; --tw-exit-scale: calc(--value(ratio)*-1) ; --tw-exit-scale: --value(--percentage-*,[*]);}@utility spin-in{--tw-enter-rotate: 30deg;}@utility spin-in-*{--tw-enter-rotate: calc(--value(number)*1deg) ; --tw-enter-rotate: calc(--value(ratio)*360deg) ; --tw-enter-rotate: --value(--rotate-*,[*]);}@utility -spin-in{--tw-enter-rotate: -30deg;}@utility -spin-in-*{--tw-enter-rotate: calc(--value(number)*-1deg) ; --tw-enter-rotate: calc(--value(ratio)*-360deg) ; --tw-enter-rotate: --value(--rotate-*,[*]);}@utility spin-out{--tw-exit-rotate: 30deg;}@utility spin-out-*{--tw-exit-rotate: calc(--value(number)*1deg) ; --tw-exit-rotate: calc(--value(ratio)*360deg) ; --tw-exit-rotate: --value(--rotate-*,[*]);}@utility -spin-out{--tw-exit-rotate: -30deg;}@utility -spin-out-*{--tw-exit-rotate: calc(--value(number)*-1deg) ; --tw-exit-rotate: calc(--value(ratio)*-360deg) ; --tw-exit-rotate: --value(--rotate-*,[*]);}@utility slide-in-from-top{--tw-enter-translate-y: -100%;}@utility slide-in-from-top-*{--tw-enter-translate-y: calc(--value(integer)*var(--spacing)*-1); --tw-enter-translate-y: calc(--value(--percentage-*,--percentage-translate-*)*-100%) ; --tw-enter-translate-y: calc(--value(ratio)*-100%) ; --tw-enter-translate-y: calc(--value(--translate-*,[percentage],[length])*-1) ;}@utility slide-in-from-bottom{--tw-enter-translate-y: 100%;}@utility slide-in-from-bottom-*{--tw-enter-translate-y: calc(--value(integer)*var(--spacing)); --tw-enter-translate-y: calc(--value(--percentage-*,--percentage-translate-*)*100%) ; --tw-enter-translate-y: calc(--value(ratio)*100%) ; --tw-enter-translate-y: --value(--translate-*,[percentage],[length]);}@utility slide-in-from-left{--tw-enter-translate-x: -100%;}@utility slide-in-from-left-*{--tw-enter-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%) ; --tw-enter-translate-x: calc(--value(ratio)*-100%) ; --tw-enter-translate-x: calc(--value(--translate-*,[percentage],[length])*-1) ;}@utility slide-in-from-right{--tw-enter-translate-x: 100%;}@utility slide-in-from-right-*{--tw-enter-translate-x: calc(--value(integer)*var(--spacing)); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%) ; --tw-enter-translate-x: calc(--value(ratio)*100%) ; --tw-enter-translate-x: --value(--translate-*,[percentage],[length]);}@utility slide-in-from-start{&:dir(ltr){ --tw-enter-translate-x: -100%; }&:dir(rtl){ --tw-enter-translate-x: 100%; }}@utility slide-in-from-start-*{&:where(:dir(ltr),[dir="ltr"],[dir="ltr"]*){ --tw-enter-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%) ; --tw-enter-translate-x: calc(--value(ratio)*-100%) ; --tw-enter-translate-x: calc(--value(--translate-*,[percentage],[length])*-1) ; }&:where(:dir(rtl),[dir="rtl"],[dir="rtl"]*){ --tw-enter-translate-x: calc(--value(integer)*var(--spacing)); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%) ; --tw-enter-translate-x: calc(--value(ratio)*100%) ; --tw-enter-translate-x: --value(--translate-*,[percentage],[length]); }}@utility slide-in-from-end{&:dir(ltr){ --tw-enter-translate-x: 100%; }&:dir(rtl){ --tw-enter-translate-x: -100%; }}@utility slide-in-from-end-*{&:where(:dir(ltr),[dir="ltr"],[dir="ltr"]*){ --tw-enter-translate-x: calc(--value(integer)*var(--spacing)); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%) ; --tw-enter-translate-x: calc(--value(ratio)*100%) ; --tw-enter-translate-x: --value(--translate-*,[percentage],[length]); }&:where(:dir(rtl),[dir="rtl"],[dir="rtl"]*){ --tw-enter-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%) ; --tw-enter-translate-x: calc(--value(ratio)*-100%) ; --tw-enter-translate-x: calc(--value(--translate-*,[percentage],[length])*-1) ; }}@utility slide-out-to-top{--tw-exit-translate-y: -100%;}@utility slide-out-to-top-*{--tw-exit-translate-y: calc(--value(integer)*var(--spacing)*-1); --tw-exit-translate-y: calc(--value(--percentage-*,--percentage-translate-*)*-100%) ; --tw-exit-translate-y: calc(--value(ratio)*-100%) ; --tw-exit-translate-y: calc(--value(--translate-*,[percentage],[length])*-1) ;}@utility slide-out-to-bottom{--tw-exit-translate-y: 100%;}@utility slide-out-to-bottom-*{--tw-exit-translate-y: calc(--value(integer)*var(--spacing)); --tw-exit-translate-y: calc(--value(--percentage-*,--percentage-translate-*)*100%) ; --tw-exit-translate-y: calc(--value(ratio)*100%) ; --tw-exit-translate-y: --value(--translate-*,[percentage],[length]);}@utility slide-out-to-left{--tw-exit-translate-x: -100%;}@utility slide-out-to-left-*{--tw-exit-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%) ; --tw-exit-translate-x: calc(--value(ratio)*-100%) ; --tw-exit-translate-x: calc(--value(--translate-*,[percentage],[length])*-1) ;}@utility slide-out-to-right{--tw-exit-translate-x: 100%;}@utility slide-out-to-right-*{--tw-exit-translate-x: calc(--value(integer)*var(--spacing)); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%) ; --tw-exit-translate-x: calc(--value(ratio)*100%) ; --tw-exit-translate-x: --value(--translate-*,[percentage],[length]);}@utility slide-out-to-start{&:dir(ltr){ --tw-exit-translate-x: -100%; }&:dir(rtl){ --tw-exit-translate-x: 100%; }}@utility slide-out-to-start-*{&:where(:dir(ltr),[dir="ltr"],[dir="ltr"]*){ --tw-exit-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%) ; --tw-exit-translate-x: calc(--value(ratio)*-100%) ; --tw-exit-translate-x: calc(--value(--translate-*,[percentage],[length])*-1) ; }&:where(:dir(rtl),[dir="rtl"],[dir="rtl"]*){ --tw-exit-translate-x: calc(--value(integer)*var(--spacing)); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%) ; --tw-exit-translate-x: calc(--value(ratio)*100%) ; --tw-exit-translate-x: --value(--translate-*,[percentage],[length]); }}@utility slide-out-to-end{&:dir(ltr){ --tw-exit-translate-x: 100%; }&:dir(rtl){ --tw-exit-translate-x: -100%; }}@utility slide-out-to-end-*{&:where(:dir(ltr),[dir="ltr"],[dir="ltr"]*){ --tw-exit-translate-x: calc(--value(integer)*var(--spacing)); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%) ; --tw-exit-translate-x: calc(--value(ratio)*100%) ; --tw-exit-translate-x: --value(--translate-*,[percentage],[length]); }&:where(:dir(rtl),[dir="rtl"],[dir="rtl"]*){ --tw-exit-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%) ; --tw-exit-translate-x: calc(--value(ratio)*-100%) ; --tw-exit-translate-x: calc(--value(--translate-*,[percentage],[length])*-1) ; }}@theme inline{@keyframes accordion-down {from {height: 0;} to {height: var( --radix-accordion-content-height, var(--accordion-panel-height, auto) );}} @keyframes accordion-up {from {height: var( --radix-accordion-content-height, var(--accordion-panel-height, auto) );} to {height: 0;}}}@custom-variant data-open{&:where([data-state="open"]),&:where([data-open]:not([data-open="false"])) {@slot;}}@custom-variant data-closed{&:where([data-state="closed"]),&:where([data-closed]:not([data-closed="false"])) {@slot;}}@custom-variant data-checked{&:where([data-state="checked"]),&:where([data-checked]:not([data-checked="false"])) {@slot;}}@custom-variant data-unchecked{&:where([data-state="unchecked"]),&:where([data-unchecked]:not([data-unchecked="false"])) {@slot;}}@custom-variant data-selected{&:where([data-selected="true"]) {@slot;}}@custom-variant data-disabled{&:where([data-disabled="true"]),&:where([data-disabled]:not([data-disabled="false"])) {@slot;}}@custom-variant data-active{&:where([data-state="active"]),&:where([data-active]:not([data-active="false"])) {@slot;}}@custom-variant data-horizontal{&:where([data-orientation="horizontal"]) {@slot;}}@custom-variant data-vertical{&:where([data-orientation="vertical"]) {@slot;}}@utility no-scrollbar{-ms-overflow-style: none; scrollbar-width: none; &::-webkit-scrollbar {display: none;}}*,:before,:after{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / .5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / .5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}html{scroll-behavior:smooth;font-family:Inter,system-ui,sans-serif;width:100%;max-width:100%;overflow-x:hidden;overflow-x:clip}body{--tw-bg-opacity:1;background-color:rgb(10 10 10 / var(--tw-bg-opacity, 1));--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity, 1));font-family:Inter,system-ui,sans-serif;width:100%;max-width:100%;overflow-x:hidden;overflow-x:clip}#root{width:100%;max-width:100%;overflow-x:hidden;overflow-x:clip}h1,h2,h3,h4,h5,h6{font-family:Inter,system-ui,sans-serif}:root{--background: oklch(1 0 0);--foreground: oklch(.145 0 0);--card: oklch(1 0 0);--card-foreground: oklch(.145 0 0);--popover: oklch(1 0 0);--popover-foreground: oklch(.145 0 0);--primary: oklch(.205 0 0);--primary-foreground: oklch(.985 0 0);--secondary: oklch(.97 0 0);--secondary-foreground: oklch(.205 0 0);--muted: oklch(.97 0 0);--muted-foreground: oklch(.556 0 0);--accent: oklch(.97 0 0);--accent-foreground: oklch(.205 0 0);--destructive: oklch(.577 .245 27.325);--border: oklch(.922 0 0);--input: oklch(.922 0 0);--ring: oklch(.708 0 0);--chart-1: oklch(.809 .105 251.813);--chart-2: oklch(.623 .214 259.815);--chart-3: oklch(.546 .245 262.881);--chart-4: oklch(.488 .243 264.376);--chart-5: oklch(.424 .199 265.638);--radius: .625rem;--sidebar: oklch(.985 0 0);--sidebar-foreground: oklch(.145 0 0);--sidebar-primary: oklch(.205 0 0);--sidebar-primary-foreground: oklch(.985 0 0);--sidebar-accent: oklch(.97 0 0);--sidebar-accent-foreground: oklch(.205 0 0);--sidebar-border: oklch(.922 0 0);--sidebar-ring: oklch(.708 0 0);--color-1: 0 100% 63%;--color-2: 270 100% 63%;--color-3: 210 100% 63%;--color-4: 195 100% 63%;--color-5: 90 100% 63%}*{--tw-border-opacity:1;border-color:rgb(38 38 38 / var(--tw-border-opacity, 1));outline-color:#4f8cff80}.container-max{padding-left:1rem;padding-right:1rem}@media (min-width: 640px){.container-max{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width: 768px){.container-max{padding-left:4rem;padding-right:4rem}}@media (min-width: 1024px){.container-max{padding-left:6rem;padding-right:6rem}}.container-max{margin-left:auto;margin-right:auto;max-width:80rem}.page-x{padding-left:1rem;padding-right:1rem}@media (min-width: 640px){.page-x{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width: 768px){.page-x{padding-left:4rem;padding-right:4rem}}@media (min-width: 1024px){.page-x{padding-left:6rem;padding-right:6rem}}.section-padding{padding-top:7rem;padding-bottom:7rem}@media (min-width: 768px){.section-padding{padding-top:8rem;padding-bottom:8rem}}.glass-panel{border-radius:12px;border-width:1px;--tw-border-opacity:1;border-color:rgb(38 38 38 / var(--tw-border-opacity, 1));background-color:#1116;--tw-backdrop-blur:blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.-inset-0\.5{top:-.125rem;right:-.125rem;bottom:-.125rem;left:-.125rem}.-inset-6{top:-1.5rem;right:-1.5rem;bottom:-1.5rem;left:-1.5rem}.inset-0{top:0;right:0;bottom:0;left:0}.-inset-y-6{top:-1.5rem;bottom:-1.5rem}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.-bottom-16{bottom:-4rem}.-left-4{left:-1rem}.-right-8{right:-2rem}.bottom-6{bottom:1.5rem}.bottom-8{bottom:2rem}.bottom-\[-12\.5px\]{bottom:-12.5px}.left-0{left:0}.left-1\/2{left:50%}.left-4{left:1rem}.left-5{left:1.25rem}.left-6{left:1.5rem}.left-\[-11\.5px\]{left:-11.5px}.right-0{right:0}.right-6{right:1.5rem}.right-\[-11\.5px\]{right:-11.5px}.top-0{top:0}.top-1\/2{top:50%}.top-24{top:6rem}.top-4{top:1rem}.top-5{top:1.25rem}.top-6{top:1.5rem}.top-\[-12\.5px\]{top:-12.5px}.isolate{isolation:isolate}.-z-10{z-index:-10}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[-10\]{z-index:-10}.z-\[1\]{z-index:1}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2 / span 2}.row-start-1{grid-row-start:1}.mx-8{margin-left:2rem;margin-right:2rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-1\.5{margin-bottom:.375rem}.mb-12{margin-bottom:3rem}.mb-14{margin-bottom:3.5rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-0\.5{margin-left:.125rem}.ml-1{margin-left:.25rem}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-8{margin-top:2rem}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.aspect-\[4\/3\]{aspect-ratio:4/3}.aspect-video{aspect-ratio:16 / 9}.size-3\.5{width:.875rem;height:.875rem}.size-4{width:1rem;height:1rem}.size-5{width:1.25rem;height:1.25rem}.size-6{width:1.5rem;height:1.5rem}.size-full{width:100%;height:100%}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-16{height:4rem}.h-24{height:6rem}.h-4{height:1rem}.h-56{height:14rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-72{height:18rem}.h-8{height:2rem}.h-80{height:20rem}.h-9{height:2.25rem}.h-full{height:100%}.h-px{height:1px}.min-h-\[320px\]{min-height:320px}.min-h-\[360px\]{min-height:360px}.min-h-\[400px\]{min-height:400px}.min-h-\[560px\]{min-height:560px}.min-h-screen{min-height:100vh}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-60{width:15rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[35rem\]{width:35rem}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0px}.max-w-3xl{max-width:48rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-\[160px\]{max-width:160px}.max-w-\[220px\]{max-width:220px}.max-w-sm{max-width:24rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.grow{flex-grow:1}.origin-center{transform-origin:center}.origin-top{transform-origin:top}.-translate-x-1\/2{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\[5\%\]{--tw-translate-x:5%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rotate-45{--tw-rotate:-45deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-0{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.scroll-mt-24{scroll-margin-top:6rem}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0px}.gap-1{gap:.25rem}.gap-10{gap:2.5rem}.gap-2{gap:.5rem}.gap-20{gap:5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.gap-y-2{row-gap:.5rem}.gap-y-6{row-gap:1.5rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.self-start{align-self:flex-start}.justify-self-end{justify-self:end}.overflow-hidden{overflow:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-\[22px\]{border-radius:22px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:12px}.rounded-md{border-radius:8px}.rounded-sm{border-radius:6px}.rounded-xl{border-radius:16px}.rounded-b-xl{border-bottom-right-radius:16px;border-bottom-left-radius:16px}.rounded-t-xl{border-top-left-radius:16px;border-top-right-radius:16px}.rounded-br-full{border-bottom-right-radius:9999px}.rounded-tr-full{border-top-right-radius:9999px}.border{border-width:1px}.border-0{border-width:0px}.border-y{border-top-width:1px;border-bottom-width:1px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-black{--tw-border-opacity:1;border-color:rgb(0 0 0 / var(--tw-border-opacity, 1))}.border-black\/25{border-color:#00000040}.border-black\/30{border-color:#0000004d}.border-border,.border-border-color{--tw-border-opacity:1;border-color:rgb(38 38 38 / var(--tw-border-opacity, 1))}.border-border\/60{border-color:#26262699}.border-border\/80{border-color:#262626cc}.border-current{border-color:currentColor}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.border-transparent{border-color:transparent}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255 / var(--tw-border-opacity, 1))}.border-white\/10{border-color:#ffffff1a}.border-white\/20{border-color:#fff3}.border-white\/25{border-color:#ffffff40}.border-white\/30{border-color:#ffffff4d}.border-t-transparent{border-top-color:transparent}.bg-background{--tw-bg-opacity:1;background-color:rgb(10 10 10 / var(--tw-bg-opacity, 1))}.bg-background\/40{background-color:#0a0a0a66}.bg-background\/80{background-color:#0a0a0acc}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.bg-black\/20{background-color:#0003}.bg-black\/30{background-color:#0000004d}.bg-black\/40{background-color:#0006}.bg-black\/5{background-color:#0000000d}.bg-emerald-100{--tw-bg-opacity:1;background-color:rgb(209 250 229 / var(--tw-bg-opacity, 1))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.bg-neutral-100{--tw-bg-opacity:1;background-color:rgb(245 245 245 / var(--tw-bg-opacity, 1))}.bg-neutral-300{--tw-bg-opacity:1;background-color:rgb(212 212 212 / var(--tw-bg-opacity, 1))}.bg-surface{--tw-bg-opacity:1;background-color:rgb(26 26 26 / var(--tw-bg-opacity, 1))}.bg-surface-secondary{--tw-bg-opacity:1;background-color:rgb(17 17 17 / var(--tw-bg-opacity, 1))}.bg-surface-secondary\/80{background-color:#111c}.bg-surface\/60{background-color:#1a1a1a99}.bg-surface\/90{background-color:#1a1a1ae6}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/15{background-color:#ffffff26}.bg-white\/40{background-color:#fff6}.bg-white\/60{background-color:#fff9}.bg-\[radial-gradient\(35\%_80\%_at_25\%_0\%\,--theme\(--color-foreground\/\.08\)\,transparent\)\]{background-image:radial-gradient(35% 80% at 25% 0%,--theme(--color-foreground/.08),transparent)}.bg-\[radial-gradient\(50\%_50\%_at_50\%_50\%\,--theme\(--color-foreground\/\.04\)_0\,--theme\(--color-foreground\/\.01\)_80\%\,transparent_100\%\)\]{background-image:radial-gradient(50% 50% at 50% 50%,--theme(--color-foreground/.04) 0,--theme(--color-foreground/.01) 80%,transparent 100%)}.bg-\[radial-gradient\(68\.54\%_68\.72\%_at_55\.02\%_31\.46\%\,--theme\(--color-foreground\/\.06\)_0\,hsla\(0\,0\%\,55\%\,\.02\)_50\%\,--theme\(--color-foreground\/\.01\)_80\%\)\]{background-image:radial-gradient(68.54% 68.72% at 55.02% 31.46%,--theme(--color-foreground/.06) 0,hsla(0,0%,55%,.02) 50%,--theme(--color-foreground/.01) 80%)}.bg-\[radial-gradient\(circle_at_top\,_rgba\(79\,140\,255\,0\.22\)\,_transparent_55\%\)\,_radial-gradient\(circle_at_bottom\,_rgba\(242\,184\,75\,0\.18\)\,_transparent_55\%\)\]{background-image:radial-gradient(circle at top,rgba(79,140,255,.22),transparent 55%),radial-gradient(circle at bottom,rgba(242,184,75,.18),transparent 55%)}.bg-\[radial-gradient\(color-mix\(in_oklab\,var\(--foreground\)30\%\,transparent\)_1px\,transparent_1px\)\]{background-image:radial-gradient(color-mix(in oklab,var(--foreground)30%,transparent) 1px,transparent 1px)}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.from-accent\/40{--tw-gradient-from:rgb(79 140 255 / .4) var(--tw-gradient-from-position);--tw-gradient-to:rgb(79 140 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-black\/20{--tw-gradient-from:rgb(0 0 0 / .2) var(--tw-gradient-from-position);--tw-gradient-to:rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-black\/40{--tw-gradient-from:rgb(0 0 0 / .4) var(--tw-gradient-from-position);--tw-gradient-to:rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-black\/50{--tw-gradient-from:rgb(0 0 0 / .5) var(--tw-gradient-from-position);--tw-gradient-to:rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-black\/80{--tw-gradient-from:rgb(0 0 0 / .8) var(--tw-gradient-from-position);--tw-gradient-to:rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-neutral-100{--tw-gradient-from:#f5f5f5 var(--tw-gradient-from-position);--tw-gradient-to:rgb(245 245 245 / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-surface-secondary{--tw-gradient-from:#111111 var(--tw-gradient-from-position);--tw-gradient-to:rgb(17 17 17 / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-surface\/90{--tw-gradient-from:rgb(26 26 26 / .9) var(--tw-gradient-from-position);--tw-gradient-to:rgb(26 26 26 / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.via-accent-warm\/30{--tw-gradient-to:rgb(242 184 75 / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), rgb(242 184 75 / .3) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-surface{--tw-gradient-to:rgb(26 26 26 / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), #1A1A1A var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-surface-secondary\/90{--tw-gradient-to:rgb(17 17 17 / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), rgb(17 17 17 / .9) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-transparent{--tw-gradient-to:rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), transparent var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-black\/90{--tw-gradient-to:rgb(0 0 0 / .9) var(--tw-gradient-to-position)}.to-black\/95{--tw-gradient-to:rgb(0 0 0 / .95) var(--tw-gradient-to-position)}.to-surface\/90{--tw-gradient-to:rgb(26 26 26 / .9) var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.bg-\[size\:32px_32px\]{background-size:32px 32px}.stroke-emerald-500{stroke:#10b981}.stroke-emerald-600{stroke:#059669}.object-cover{-o-object-fit:cover;object-fit:cover}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-7{padding:1.75rem}.p-\[1px\]{padding:1px}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-0\.5{padding-bottom:.125rem}.pb-10{padding-bottom:2.5rem}.pb-16{padding-bottom:4rem}.pb-32{padding-bottom:8rem}.pb-8{padding-bottom:2rem}.pl-10{padding-left:2.5rem}.pl-3{padding-left:.75rem}.pt-1{padding-top:.25rem}.pt-14{padding-top:3.5rem}.pt-32{padding-top:8rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-\[10px\]{font-size:10px}.text-\[14vw\]{font-size:14vw}.text-\[20rem\]{font-size:20rem}.text-\[22rem\]{font-size:22rem}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-body-lg{font-size:18px;line-height:1.6;font-weight:400}.text-h2{font-size:44px;line-height:1.2;letter-spacing:-.01em;font-weight:600}.text-h3-sm{font-size:20px;line-height:1.4;font-weight:600}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-light{font-weight:300}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.not-italic{font-style:normal}.leading-\[1\.02\]{line-height:1.02}.leading-\[1\.05\]{line-height:1.05}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-\[0\.15em\]{letter-spacing:.15em}.tracking-\[0\.18em\]{letter-spacing:.18em}.tracking-\[0\.22em\]{letter-spacing:.22em}.tracking-\[0\.25em\]{letter-spacing:.25em}.tracking-\[0\.2em\]{letter-spacing:.2em}.tracking-tight{letter-spacing:-.025em}.tracking-tighter{letter-spacing:-.05em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.\!text-black{--tw-text-opacity:1 !important;color:rgb(0 0 0 / var(--tw-text-opacity, 1))!important}.text-black{--tw-text-opacity:1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.text-black\/30{color:#0000004d}.text-black\/40{color:#0006}.text-black\/45{color:#00000073}.text-black\/5{color:#0000000d}.text-black\/50{color:#00000080}.text-black\/55{color:#0000008c}.text-black\/65{color:#000000a6}.text-black\/70{color:#000000b3}.text-black\/\[0\.03\]{color:#00000008}.text-emerald-700{--tw-text-opacity:1;color:rgb(4 120 87 / var(--tw-text-opacity, 1))}.text-foreground{--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-foreground\/90{color:#ffffffe6}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-neutral-500{--tw-text-opacity:1;color:rgb(115 115 115 / var(--tw-text-opacity, 1))}.text-neutral-600{--tw-text-opacity:1;color:rgb(82 82 82 / var(--tw-text-opacity, 1))}.text-neutral-700{--tw-text-opacity:1;color:rgb(64 64 64 / var(--tw-text-opacity, 1))}.text-neutral-800{--tw-text-opacity:1;color:rgb(38 38 38 / var(--tw-text-opacity, 1))}.text-neutral-900{--tw-text-opacity:1;color:rgb(23 23 23 / var(--tw-text-opacity, 1))}.text-red-400{--tw-text-opacity:1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-text-muted{--tw-text-opacity:1;color:rgb(113 113 122 / var(--tw-text-opacity, 1))}.text-text-secondary{--tw-text-opacity:1;color:rgb(161 161 170 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-white\/25{color:#ffffff40}.text-white\/40{color:#fff6}.text-white\/45{color:#ffffff73}.text-white\/60{color:#fff9}.text-white\/70{color:#ffffffb3}.text-white\/80{color:#fffc}.text-zinc-900{--tw-text-opacity:1;color:rgb(24 24 27 / var(--tw-text-opacity, 1))}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-\[0\.07\]{opacity:.07}.shadow-\[0_20px_80px_rgba\(15\,23\,42\,0\.18\)\]{--tw-shadow:0 20px 80px rgba(15,23,42,.18);--tw-shadow-colored:0 20px 80px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-card{--tw-shadow:0 10px 40px rgba(0, 0, 0, .35);--tw-shadow-colored:0 10px 40px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-foreground\/10{--tw-ring-color:rgb(255 255 255 / .1)}.ring-offset-background{--tw-ring-offset-color:#0A0A0A}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-lg{--tw-backdrop-blur:blur(16px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-md{--tw-backdrop-blur:blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.contain-strict{contain:strict}.text-balance{text-wrap:balance}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes glow{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.\[background-clip\:padding-box\,border-box\]{background-clip:padding-box,border-box}.\[background-origin\:border-box\]{background-origin:border-box}.\[border\:calc\(0\.08\*1rem\)_solid_transparent\]{border:.08rem solid transparent}.\[mask-image\:radial-gradient\(ellipse_at_center\,var\(--background\)_30\%\,transparent\)\]{-webkit-mask-image:radial-gradient(ellipse at center,var(--background) 30%,transparent);mask-image:radial-gradient(ellipse at center,var(--background) 30%,transparent)}.landing-page-shell{width:100%;max-width:100%;overflow-x:hidden;overflow-x:clip}.tech-display,.port-display,.ind-display,.hero-text{font-family:Cormorant Garamond,serif}.tech-body,.port-body,.ind-body,.hero-body{font-family:DM Sans,sans-serif}.login-btn{position:relative;display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:6px 16px 6px 18px;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:#ffffffbf;transition:color .25s ease,border-color .25s ease,background .25s ease;white-space:nowrap}.login-btn:hover{color:#fff;border-color:#ffffffb3;background:#ffffff0d}.login-btn .arrow{display:inline-flex;align-items:center;transition:transform .25s ease}.login-btn:hover .arrow{transform:translate(3px)}@keyframes spinSlow{to{transform:rotate(360deg)}}@keyframes spinSlowRev{to{transform:rotate(-360deg)}}.spin-cw{animation:spinSlow 22s linear infinite;transform-origin:center}.spin-ccw{animation:spinSlowRev 16s linear infinite;transform-origin:center}.cap-item{transition:background .35s ease;border-bottom:1px solid #e5e7eb}.cap-item:last-child{border-bottom:none}.cap-item.is-active,.cap-item:hover{background:#000}.cap-item.is-active .cap-label,.cap-item:hover .cap-label{color:#fff}.cap-item.is-active .cap-num,.cap-item:hover .cap-num{color:#ffffff59}.cap-label,.cap-num{transition:color .3s ease}.cap-detail-enter{animation:detailIn .4s cubic-bezier(.16,1,.3,1) both}@keyframes detailIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.port-card{position:relative;overflow:hidden;cursor:pointer;border-radius:1.25rem;background:#111}.port-card img{transition:transform .7s cubic-bezier(.16,1,.3,1),filter .5s ease;filter:grayscale(40%) brightness(.85)}.port-card:hover img{transform:scale(1.05);filter:grayscale(0%) brightness(1)}.port-card-overlay{background:linear-gradient(to top,rgba(0,0,0,.9) 0%,rgba(0,0,0,.25) 55%,transparent 100%);transition:opacity .4s ease}.port-card:hover .port-card-overlay{opacity:.85}.port-card-btn{opacity:0;transform:translateY(8px);transition:opacity .35s ease,transform .35s cubic-bezier(.16,1,.3,1)}.port-card:hover .port-card-btn{opacity:1;transform:translateY(0)}.port-index{opacity:.3;transition:opacity .3s ease}.port-card:hover .port-index{opacity:.7}.view-all-btn{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.2);color:#fff;transition:color .35s ease}.view-all-btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#fff;transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.16,1,.3,1);z-index:0}.view-all-btn:hover:before{transform:scaleX(1)}.view-all-btn:hover{color:#000}.view-all-btn span,.view-all-btn svg{position:relative;z-index:1}.ind-image-enter{animation:indImageIn .55s cubic-bezier(.16,1,.3,1) forwards}@keyframes indImageIn{0%{opacity:0;transform:scale(1.04) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.ind-content-enter{animation:indContentIn .45s cubic-bezier(.16,1,.3,1) forwards}@keyframes indContentIn{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:translate(0)}}.ind-row{position:relative;cursor:pointer;overflow:hidden}.ind-row:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:#e5e7eb}.ind-row-fill{position:absolute;top:0;right:0;bottom:0;left:0;background:#000;transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.16,1,.3,1);z-index:0}.ind-row:hover .ind-row-fill,.ind-row.active .ind-row-fill{transform:scaleX(1)}.ind-row-content{position:relative;z-index:1;transition:color .3s ease}.ind-row:hover .ind-row-content,.ind-row.active .ind-row-content{color:#fff}.ind-number{transition:opacity .3s ease}.ind-row:not(:hover):not(.active) .ind-number{opacity:.35}.ind-arrow{width:0;overflow:hidden;transition:width .35s cubic-bezier(.16,1,.3,1),opacity .3s ease;opacity:0}.ind-row:hover .ind-arrow,.ind-row.active .ind-arrow{width:28px;opacity:1}.content-enter{opacity:0;transform:translateY(32px)}.content-visible{opacity:1;transform:translateY(0);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}.content-exiting{opacity:0;transform:translateY(-20px) scale(.97);transition:opacity .45s cubic-bezier(.4,0,1,1),transform .45s cubic-bezier(.4,0,1,1);pointer-events:none}.stagger-1{transition-delay:.05s}.stagger-2{transition-delay:.15s}.stagger-3{transition-delay:.25s}.stagger-4{transition-delay:.35s}.overlay-fade{transition:opacity .6s ease}@keyframes ping-slow{0%{transform:scale(1);opacity:.6}70%{transform:scale(1.6);opacity:0}to{transform:scale(1.6);opacity:0}}.play-ring{animation:ping-slow 2.2s cubic-bezier(0,0,.2,1) infinite}@keyframes fadeInScale{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.close-btn{animation:fadeInScale .4s .5s both}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.slide-title{animation:slideUp .5s cubic-bezier(.16,1,.3,1) both}.grain:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");pointer-events:none;z-index:2;opacity:.35}.placeholder\:text-zinc-500::-moz-placeholder{--tw-text-opacity:1;color:rgb(113 113 122 / var(--tw-text-opacity, 1))}.placeholder\:text-zinc-500::placeholder{--tw-text-opacity:1;color:rgb(113 113 122 / var(--tw-text-opacity, 1))}.before\:pointer-events-none:before{content:var(--tw-content);pointer-events:none}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:inset-0:before{content:var(--tw-content);top:0;right:0;bottom:0;left:0}.before\:-z-10:before{content:var(--tw-content);z-index:-10}.before\:animate-\[glow_6s_ease-in-out_infinite\]:before{content:var(--tw-content);animation:glow 6s ease-in-out infinite}.before\:bg-\[linear-gradient\(135deg\,hsl\(var\(--color-1\)\)\,hsl\(var\(--color-2\)\)\,hsl\(var\(--color-3\)\)\,hsl\(var\(--color-4\)\)\,hsl\(var\(--color-5\)\)\)\]:before{content:var(--tw-content);background-image:linear-gradient(135deg,hsl(var(--color-1)),hsl(var(--color-2)),hsl(var(--color-3)),hsl(var(--color-4)),hsl(var(--color-5)))}.before\:bg-\[length\:200\%_200\%\]:before{content:var(--tw-content);background-size:200% 200%}.before\:opacity-80:before{content:var(--tw-content);opacity:.8}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:bottom-\[-4px\]:after{content:var(--tw-content);bottom:-4px}.after\:left-0:after{content:var(--tw-content);left:0}.after\:h-\[2px\]:after{content:var(--tw-content);height:2px}.after\:w-full:after{content:var(--tw-content);width:100%}.after\:rounded-full:after{content:var(--tw-content);border-radius:9999px}.after\:bg-white:after{content:var(--tw-content);--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.after\:content-\[\'\'\]:after{--tw-content:"";content:var(--tw-content)}.hover\:border-accent\/80:hover{border-color:#4f8cffcc}.hover\:border-black:hover{--tw-border-opacity:1;border-color:rgb(0 0 0 / var(--tw-border-opacity, 1))}.hover\:border-white\/30:hover{border-color:#ffffff4d}.hover\:border-white\/60:hover{border-color:#fff9}.hover\:bg-accent:hover{--tw-bg-opacity:1;background-color:rgb(79 140 255 / var(--tw-bg-opacity, 1))}.hover\:bg-black\/60:hover{background-color:#0009}.hover\:bg-white\/10:hover{background-color:#ffffff1a}.hover\:bg-white\/20:hover{background-color:#fff3}.hover\:text-black:hover{--tw-text-opacity:1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.hover\:text-white\/70:hover{color:#ffffffb3}.hover\:text-white\/80:hover{color:#fffc}.hover\:underline:hover{text-decoration-line:underline}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgb(79 140 255 / var(--tw-ring-opacity, 1))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:text-zinc-500:disabled{--tw-text-opacity:1;color:rgb(113 113 122 / var(--tw-text-opacity, 1))}.disabled\:opacity-100:disabled{opacity:1}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.group\/feature:hover .group-hover\/feature\:h-8{height:2rem}.group\/feature:hover .group-hover\/feature\:translate-x-2{--tw-translate-x:.5rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-x-1{--tw-translate-x:.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:border-black{--tw-border-opacity:1;border-color:rgb(0 0 0 / var(--tw-border-opacity, 1))}.group:hover .group-hover\:border-white{--tw-border-opacity:1;border-color:rgb(255 255 255 / var(--tw-border-opacity, 1))}.group\/feature:hover .group-hover\/feature\:bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.group\/feature:hover .group-hover\/feature\:opacity-100{opacity:1}.has-\[\>img\:first-child\]\:pt-0:has(>img:first-child){padding-top:0}.data-\[size\=sm\]\:gap-3[data-size=sm]{gap:.75rem}.data-\[size\=sm\]\:py-3[data-size=sm]{padding-top:.75rem;padding-bottom:.75rem}.group\/card[data-size=sm] .group-data-\[size\=sm\]\/card\:p-3{padding:.75rem}.group\/card[data-size=sm] .group-data-\[size\=sm\]\/card\:px-3{padding-left:.75rem;padding-right:.75rem}.group\/card[data-size=sm] .group-data-\[size\=sm\]\/card\:text-sm{font-size:.875rem;line-height:1.25rem}@media (min-width: 640px){.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:gap-4{gap:1rem}.sm\:gap-6{gap:1.5rem}.sm\:border-r{border-right-width:1px}.sm\:border-r-0{border-right-width:0px}.sm\:border-t-0{border-top-width:0px}.sm\:p-4{padding:1rem}.sm\:p-6{padding:1.5rem}.sm\:text-left{text-align:left}.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-lg{font-size:1.125rem;line-height:1.75rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width: 768px){.md\:mb-10{margin-bottom:2.5rem}.md\:mb-20{margin-bottom:5rem}.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:h-60{height:15rem}.md\:h-80{height:20rem}.md\:w-\[420px\]{width:420px}.md\:w-auto{width:auto}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-end{align-items:flex-end}.md\:justify-between{justify-content:space-between}.md\:gap-12{gap:3rem}.md\:border-b-0{border-bottom-width:0px}.md\:border-r{border-right-width:1px}.md\:p-8{padding:2rem}.md\:px-6{padding-left:1.5rem;padding-right:1.5rem}.md\:py-16{padding-top:4rem;padding-bottom:4rem}.md\:py-20{padding-top:5rem;padding-bottom:5rem}.md\:py-7{padding-top:1.75rem;padding-bottom:1.75rem}.md\:pb-0{padding-bottom:0}.md\:pt-20{padding-top:5rem}.md\:text-2xl{font-size:1.5rem;line-height:2rem}.md\:text-3xl{font-size:1.875rem;line-height:2.25rem}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}.md\:text-5xl{font-size:3rem;line-height:1}.md\:text-6xl{font-size:3.75rem;line-height:1}.md\:text-\[15vw\]{font-size:15vw}.md\:text-h2{font-size:44px;line-height:1.2;letter-spacing:-.01em;font-weight:600}.md\:text-h2-sm{font-size:32px;line-height:1.3;font-weight:600}.md\:text-lg{font-size:1.125rem;line-height:1.75rem}}@media (min-width: 1024px){.lg\:row-span-2{grid-row:span 2 / span 2}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:h-\[640px\]{height:640px}.lg\:h-auto{height:auto}.lg\:h-full{height:100%}.lg\:min-h-\[560px\]{min-height:560px}.lg\:w-1\/2{width:50%}.lg\:max-w-4xl{max-width:56rem}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-\[1fr_420px\]{grid-template-columns:1fr 420px}.lg\:grid-cols-\[260px_1fr_260px\]{grid-template-columns:260px 1fr 260px}.lg\:grid-cols-\[minmax\(0\,1\.1fr\)_minmax\(0\,0\.9fr\)\]{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}.lg\:grid-cols-\[minmax\(0\,1\.2fr\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.lg\:flex-row{flex-direction:row}.lg\:items-start{align-items:flex-start}.lg\:items-center{align-items:center}.lg\:border-x{border-left-width:1px;border-right-width:1px}.lg\:border-b{border-bottom-width:1px}.lg\:border-l{border-left-width:1px}.lg\:border-r{border-right-width:1px}.lg\:p-7{padding:1.75rem}.lg\:px-10{padding-left:2.5rem;padding-right:2.5rem}.lg\:py-0{padding-top:0;padding-bottom:0}.lg\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.lg\:pl-12{padding-left:3rem}.lg\:pl-16{padding-left:4rem}.lg\:text-4xl{font-size:2.25rem;line-height:2.5rem}.lg\:text-5xl{font-size:3rem;line-height:1}.lg\:text-7xl{font-size:4.5rem;line-height:1}}@media (min-width: 1280px){.xl\:grid-cols-\[1fr_480px\]{grid-template-columns:1fr 480px}.xl\:grid-cols-\[300px_1fr_300px\]{grid-template-columns:300px 1fr 300px}.xl\:px-14{padding-left:3.5rem;padding-right:3.5rem}.xl\:pl-14{padding-left:3.5rem}.xl\:pl-16{padding-left:4rem}}@media (prefers-color-scheme: dark){.dark\:border-neutral-800{--tw-border-opacity:1;border-color:rgb(38 38 38 / var(--tw-border-opacity, 1))}.dark\:bg-emerald-700\/20{background-color:#04785733}.dark\:bg-neutral-700{--tw-bg-opacity:1;background-color:rgb(64 64 64 / var(--tw-bg-opacity, 1))}.dark\:bg-neutral-900{--tw-bg-opacity:1;background-color:rgb(23 23 23 / var(--tw-bg-opacity, 1))}.dark\:from-neutral-800{--tw-gradient-from:#262626 var(--tw-gradient-from-position);--tw-gradient-to:rgb(38 38 38 / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.dark\:text-emerald-400{--tw-text-opacity:1;color:rgb(52 211 153 / var(--tw-text-opacity, 1))}.dark\:text-foreground{--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.dark\:text-neutral-100{--tw-text-opacity:1;color:rgb(245 245 245 / var(--tw-text-opacity, 1))}.dark\:text-neutral-300{--tw-text-opacity:1;color:rgb(212 212 212 / var(--tw-text-opacity, 1))}.dark\:text-neutral-400{--tw-text-opacity:1;color:rgb(163 163 163 / var(--tw-text-opacity, 1))}.dark\:text-neutral-50{--tw-text-opacity:1;color:rgb(250 250 250 / var(--tw-text-opacity, 1))}}.navbar{position:sticky;top:0;z-index:120;background:var(--color-bg);border-bottom:1px solid rgba(255,255,255,.12);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.navbar-container{width:100%;padding:0 1rem}.navbar-content{display:flex;justify-content:space-between;align-items:center;height:64px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.navbar-logo{font-family:var(--font-display);font-size:2rem;font-weight:700;color:#fff;letter-spacing:-.01em;line-height:1}.navbar-user-section{display:flex;align-items:center;gap:var(--spacing-3)}.navbar-user-info{text-align:right}.navbar-user-name{font-weight:600;color:var(--color-text-primary);font-size:.84rem;letter-spacing:.02em}.navbar-user-role{font-size:.7rem;color:var(--color-text-muted);text-transform:capitalize;letter-spacing:.06em}@media (max-width: 640px){.navbar-container{padding:0 1rem}.navbar-content{height:60px;padding:0;border-radius:0}.navbar-logo{font-size:1.7rem}.navbar-user-info{display:none}.navbar-user-section .button{min-height:40px;padding:6px 12px}}@media (min-width: 640px){.navbar-container{padding:0 1.5rem}}@media (min-width: 768px){.navbar-container{padding:0 4rem}}@media (min-width: 1024px){.navbar-container{padding:0 6rem}.navbar-logo{font-size:2.15rem}}.layout{min-height:100vh;background:transparent;color:var(--color-text-primary);position:relative}.layout:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(700px 420px at 12% 8%,rgba(255,255,255,.08),transparent 66%),radial-gradient(640px 390px at 86% 0%,rgba(229,193,132,.06),transparent 64%);z-index:0}.layout-main{margin:0;padding:1.25rem 1rem 1.5rem;width:100%;min-width:0;position:relative;z-index:1}@media (max-width: 640px){.layout-main{padding:1rem 1rem 1.35rem}}@media (min-width: 640px){.layout-main{padding:1.3rem 1.5rem 1.6rem}}@media (min-width: 768px){.layout-main{padding:1.5rem 4rem 1.8rem}}@media (min-width: 1024px){.layout-main{padding:1.6rem 6rem 2rem}}.project-card{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-4);min-width:0;position:relative;transition:transform var(--transition-normal),border-color var(--transition-normal),box-shadow var(--transition-normal),background var(--transition-normal);background:#ffffff05;border:1px solid rgba(255,255,255,.12);padding:.95rem 1rem;border-radius:.9rem;box-shadow:none}.project-card:hover{background:#ffffff08;border-color:#ffffff2e;box-shadow:none;transform:none}.project-card-content{flex:1;min-width:0;overflow:hidden;display:flex;align-items:center;gap:var(--spacing-4)}.project-card-info{flex:1;min-width:0;overflow:hidden}.project-card-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-3);margin-bottom:var(--spacing-1)}.project-card-title{flex:1;min-width:0;font-size:1.2rem;font-weight:600;color:var(--color-text-primary);font-family:var(--font-display);letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-card-menu-button{width:40px;height:40px;border-radius:.82rem;border:1px solid var(--color-border);background:#ffffff12;color:var(--color-text-secondary);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;transition:all var(--transition-fast);opacity:1;pointer-events:auto;transform:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.project-card-menu-button svg{width:16px;height:16px}.project-card-menu-button:hover{background:#ffffff1f;border-color:var(--color-border-strong);color:var(--color-text-primary)}.project-card-badge{padding:2px 8px;font-size:.65rem;font-weight:600;border-radius:4px;text-transform:uppercase;letter-spacing:.05em;flex-shrink:0}.project-card-badge-published{background:#16a34a26;color:#4ade80;border:1px solid rgba(22,163,74,.3)}.project-card-badge-draft{background:#eab30826;color:#facc15;border:1px solid rgba(234,179,8,.3)}.project-card-description{font-size:.82rem;color:var(--color-text-secondary);white-space:normal;overflow:hidden;overflow-wrap:anywhere;word-break:break-word;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:var(--spacing-1)}.project-card-meta{display:flex;align-items:center;flex-wrap:wrap;min-width:0;gap:var(--spacing-2);font-size:.7rem;color:var(--color-text-muted);letter-spacing:.04em;text-transform:uppercase}.project-card-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-1)}.project-card-tag{padding:3px 8px;font-size:.63rem;background:#ffffff1f;color:var(--color-text-secondary);border-radius:999px;border:1px solid rgba(255,255,255,.2);font-weight:500}.project-card-actions{display:flex;gap:.42rem;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}.project-card-actions .button{min-height:38px;touch-action:manipulation;border-radius:.72rem;font-size:.78rem;padding:8px 14px}.project-card-error-modal-text{margin:0;font-size:.95rem;line-height:1.5;color:var(--color-text-secondary)}@media (max-width: 1200px){.project-card{align-items:flex-start}.project-card-actions{max-width:360px}}@media (max-width: 900px){.project-card{flex-direction:column;align-items:stretch;gap:var(--spacing-3)}.project-card-actions{justify-content:flex-start;width:100%;max-width:none}}@media (max-width: 768px){.project-card{padding:var(--spacing-3);border-radius:.85rem}.project-card-header{padding-right:52px}.project-card-title{font-size:1.08rem}.project-card-description{font-size:.8rem}.project-card-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--spacing-2)}.project-card-actions .button{width:100%;min-height:44px;justify-content:center;padding-left:10px;padding-right:10px}.project-card-menu-button{position:absolute;top:var(--spacing-3);right:var(--spacing-3);width:44px;height:44px;border-radius:8px;z-index:2}}@media (max-width: 520px){.project-card{gap:.7rem}.project-card-actions{grid-template-columns:1fr}.project-card-actions .button{font-size:.82rem}}.create-project-modal-form{display:flex;flex-direction:column;gap:var(--spacing-4)}.create-project-textarea-group{display:flex;flex-direction:column;gap:var(--spacing-2)}.create-project-textarea-label{display:block;font-size:.78rem;font-weight:600;color:var(--color-text-secondary);letter-spacing:.05em;text-transform:uppercase}.create-project-textarea{width:100%;padding:.7rem var(--spacing-3);border:1.5px solid var(--color-border);border-radius:.9rem;font-size:.875rem;font-family:inherit;transition:border-color var(--transition-normal),box-shadow var(--transition-normal),background var(--transition-normal);background-color:#ffffff0f;color:var(--color-text-primary);resize:vertical;min-height:80px}.create-project-textarea::-moz-placeholder{color:var(--color-text-muted)}.create-project-textarea::placeholder{color:var(--color-text-muted)}.create-project-textarea:hover{border-color:var(--color-border-strong);background-color:#ffffff14}.create-project-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #ffffff2e;background-color:#ffffff14}.create-project-modal-actions{display:flex;gap:var(--spacing-3);justify-content:flex-end;margin-top:var(--spacing-6);padding-top:var(--spacing-4);border-top:1px solid rgba(168,185,219,.2)}@media (max-width: 768px){.create-project-modal-form{gap:.8rem}.create-project-textarea{min-height:72px;padding:.62rem .8rem}.create-project-modal-actions{margin-top:.9rem;padding-top:.75rem;gap:.65rem}}.project-list{display:flex;flex-direction:column;gap:.72rem}.project-list-empty{text-align:center;padding:2.5rem 1rem;border:1px solid rgba(255,255,255,.14);border-radius:1rem;background:linear-gradient(180deg,#ffffff0d,#ffffff05)}.project-list-empty svg{width:48px;height:48px;margin:0 auto;color:var(--color-text-muted)}.project-list-empty h3{margin-top:var(--spacing-2);font-size:1.05rem;font-weight:600;color:var(--color-text-primary);letter-spacing:.02em}.project-list-empty p{margin-top:var(--spacing-1);font-size:.875rem;color:var(--color-text-secondary)}@media (max-width: 640px){.project-list{gap:var(--spacing-2)}.project-list-empty{padding:var(--spacing-6) 0}.project-list-empty h3,.project-list-empty p{font-size:.82rem}}.file-uploader{display:flex;flex-direction:column;gap:var(--spacing-4)}.file-uploader-input-group{display:flex;flex-direction:column;gap:var(--spacing-2)}.file-uploader-label{display:block;font-size:.78rem;font-weight:600;color:var(--color-text-secondary);letter-spacing:.05em;text-transform:uppercase}.file-uploader-input{display:block;width:100%;font-size:.8rem;color:var(--color-text-secondary);background:#ffffff0d;border:1.5px dashed var(--color-border);border-radius:.95rem;padding:var(--spacing-4);transition:all var(--transition-normal);cursor:pointer}.file-uploader-input:hover{border-color:var(--color-border-strong);background:#ffffff14}.file-uploader-input::file-selector-button{margin-right:var(--spacing-3);padding:8px 16px;border-radius:.65rem;border:none;font-size:.8rem;font-weight:600;background:#ffffff38;color:#d3e6ff;cursor:pointer;transition:all var(--transition-normal)}.file-uploader-input::file-selector-button:hover{background:#ffffff57;color:#eaf3ff}.file-uploader-selected-files{display:flex;flex-direction:column;gap:var(--spacing-2)}.file-uploader-selected-title{font-size:.78rem;font-weight:600;color:var(--color-text-secondary);letter-spacing:.05em;text-transform:uppercase}.file-uploader-file-list{display:flex;flex-direction:column;gap:var(--spacing-2)}.file-uploader-file-item{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-3);background:#ffffff0d;border:1px solid var(--color-border);border-radius:.82rem;transition:all var(--transition-normal)}.file-uploader-file-item:hover{background:#ffffff14;border-color:var(--color-border-strong)}.file-uploader-file-info{flex:1;min-width:0;margin-right:var(--spacing-3)}.file-uploader-file-name{font-size:.8rem;font-weight:600;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px}.file-uploader-file-size{font-size:.7rem;color:var(--color-text-muted)}.file-uploader-remove-button{background:none;border:none;color:#ff9f9f;cursor:pointer;padding:var(--spacing-1);border-radius:var(--radius-sm);transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.file-uploader-remove-button:hover{color:#ff7e7e;background:#ef44441a}.file-uploader-remove-button:disabled{opacity:.5;cursor:not-allowed}.file-uploader-remove-button svg{width:18px;height:18px}.file-uploader-file-item.status-uploading{border-color:#ffffff4d;background:#ffffff0d}.file-uploader-file-item.status-retrying,.file-uploader-file-item.status-queued{border-color:#facc1559;background:#facc150f}.file-uploader-file-item.status-success{border-color:#22c55e4d;background:#22c55e0d}.file-uploader-file-item.status-error{border-color:#ef44444d;background:#ef44440d}.file-uploader-status{display:flex;align-items:center;justify-content:center;width:24px;height:24px}.file-uploader-spinner{display:flex;align-items:center;justify-content:center}.file-uploader-spinner svg{width:20px;height:20px;color:#74747a}.file-uploader-spinner-icon{width:20px;height:20px}.file-uploader-spinner-circle{opacity:.25}.file-uploader-spinner-path{opacity:.75}.animate-spin{animation:spin 1s linear infinite}.file-uploader-status-icon{width:20px;height:20px}.file-uploader-status-icon.success{color:#22c55e}.file-uploader-status-icon.error{color:#ef4444}.file-uploader-progress-bar{width:100%;height:4px;background:#ffffff1a;border-radius:2px;overflow:hidden;margin-top:6px}.file-uploader-progress-fill{height:100%;background:linear-gradient(90deg,#66666c,#74747a);border-radius:2px;transition:width .2s ease-out}.file-uploader-progress-text{font-size:.7rem;color:#74747a;margin-left:6px;font-weight:600}.file-uploader-spinner{display:flex;align-items:center;gap:4px}.file-uploader-input:disabled{opacity:.6;cursor:not-allowed}.file-uploader-input:disabled::file-selector-button{cursor:not-allowed;opacity:.6}.file-uploader-file-icon{font-size:1.5rem;margin-right:var(--spacing-3)}.file-uploader-file-attempt{font-size:.68rem;color:#facc15;margin-top:2px}.file-uploader-file-error{font-size:.7rem;color:#fca5a5;margin-top:2px}.file-uploader-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:4px}.file-uploader-action-button{border:1px solid rgba(255,255,255,.48);background:#fff3;color:#d3e6ff;border-radius:8px;padding:6px 10px;font-size:.75rem;font-weight:600;cursor:pointer}.file-uploader-action-button:hover{background:#ffffff52}.file-uploader-action-button.secondary{border-color:var(--color-border);background:#ffffff14;color:var(--color-text-secondary)}.file-uploader-action-button.secondary:hover{background:#ffffff21}.asset-list{display:flex;flex-direction:column;gap:var(--spacing-3)}.asset-list-loading{text-align:center;padding:var(--spacing-4);color:var(--color-text-secondary);font-size:.875rem}.asset-list-empty{text-align:center;padding:var(--spacing-8)}.asset-list-empty p:first-child{color:var(--color-text-primary);font-size:.9rem;font-weight:600;margin-bottom:var(--spacing-2)}.asset-list-empty p:last-child{color:var(--color-text-muted);font-size:.8rem}.asset-list-header{font-size:1.35rem;font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-3);letter-spacing:.02em}.asset-list-table-wrap{overflow-x:auto;border:1px solid var(--color-border);border-radius:1rem;background:linear-gradient(180deg,#ffffff12,#ffffff08);box-shadow:var(--shadow-sm)}.asset-list-table{width:100%;border-collapse:collapse;font-size:.875rem}.asset-list-th{text-align:left;padding:var(--spacing-3) var(--spacing-4);font-weight:600;color:var(--color-text-secondary);border-bottom:1px solid rgba(168,185,219,.24);letter-spacing:.04em;text-transform:uppercase;font-size:.76rem}.asset-list-th-num{width:3rem;text-align:center}.asset-list-th-preview{width:5rem}.asset-list-th-name{min-width:10rem}.asset-list-th-coords{width:260px;min-width:260px}.asset-list-th-type,.asset-list-th-size{width:5rem}.asset-list-th-actions{width:4rem;text-align:center}.asset-list-row{transition:background var(--transition-normal)}.asset-list-row:hover{background:#ffffff12}.asset-list-td{padding:var(--spacing-3) var(--spacing-4);border-bottom:1px solid rgba(168,185,219,.17);vertical-align:middle}.asset-list-td-num{text-align:center;color:var(--color-text-muted)}.asset-list-td-preview{padding:var(--spacing-2)}.asset-list-preview-img{width:56px;height:56px;-o-object-fit:cover;object-fit:cover;border-radius:var(--radius-md);background:#0003}.asset-list-preview-placeholder{width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:#ffffff17;border-radius:var(--radius-md);font-size:.7rem;font-weight:600;color:var(--color-text-muted)}.asset-list-filename{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px;color:var(--color-text-primary)}.asset-list-td-size{color:var(--color-text-muted)}.asset-list-coords-row{display:flex;align-items:center;min-height:27px}.asset-list-coords-input{width:100%;font-family:monospace;font-size:11px;padding:3px 6px;border:1px solid var(--color-border);border-radius:6px;background:#ffffff14;color:var(--color-text-primary)}.asset-list-coords-input:focus{border-color:var(--color-primary);outline:none;background:#ffffff1c}.asset-list-coords-save-btn{margin-left:4px;padding:2px 8px;font-size:11px;border-radius:4px;border:1px solid rgba(255,255,255,.5);background:#fff3;color:#d3e6ff;cursor:pointer}.asset-list-coords-save-btn:disabled{opacity:.4;cursor:default}.asset-list-coords-loading{display:inline-flex;align-items:center;justify-content:center;min-width:20px;min-height:20px}.asset-list-coords-spinner{width:14px;height:14px;border:2px solid rgba(209,213,219,.35);border-top-color:#74747a;border-radius:50%;animation:asset-list-coords-spin .8s linear infinite}.asset-list-coords-error{font-size:10px;color:#dc2626;margin-top:2px}.asset-list-coords-success{font-size:10px;color:#16a34a;margin-top:2px;animation:asset-coords-success-fade 2s ease forwards}@keyframes asset-coords-success-fade{0%{opacity:1}80%{opacity:1}to{opacity:0}}@keyframes asset-list-coords-spin{to{transform:rotate(360deg)}}.asset-list-td-actions{text-align:center}.asset-list-delete-btn{background:#ef44441a;border:1px solid rgba(239,68,68,.4);color:#ffa2a2;cursor:pointer;padding:var(--spacing-2);border-radius:var(--radius-md);transition:all var(--transition-normal)}.asset-list-delete-btn:hover:not(:disabled){background:#ef444433;border-color:#ef444499;color:#ff7676}.asset-list-delete-btn svg{width:18px;height:18px;display:block}.asset-badge{padding:4px 8px;font-size:.7rem;font-weight:600;border-radius:4px;text-transform:uppercase;letter-spacing:.04em}.asset-badge-image{background:#9333ea26;color:#c084fc;border:1px solid rgba(147,51,234,.3)}.asset-badge-text{background:#16a34a26;color:#4ade80;border:1px solid rgba(22,163,74,.3)}.asset-badge-model{background:#eab30826;color:#facc15;border:1px solid rgba(234,179,8,.3)}.asset-list-pagination{display:flex;align-items:center;justify-content:center;gap:var(--spacing-4);padding:var(--spacing-3)}.asset-list-page-btn{padding:var(--spacing-2) var(--spacing-4);font-size:.875rem;font-weight:500;color:var(--color-text-primary);background:#ffffff14;border:1px solid var(--color-border);border-radius:.75rem;cursor:pointer;transition:all var(--transition-normal)}.asset-list-page-btn:hover:not(:disabled){background:#ffffff1f;border-color:var(--color-border-strong)}.asset-list-page-btn:disabled{opacity:.4;cursor:not-allowed}.asset-list-page-info{font-size:.875rem;color:var(--color-text-secondary)}.projects-page{display:flex;flex-direction:column;gap:var(--spacing-6);width:100%;min-width:0}.projects-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-3);padding:0 0 .95rem;border-bottom:1px solid rgba(255,255,255,.14)}.projects-header-info{display:flex;flex-direction:column;gap:.2rem}.projects-header-info h1{font-size:clamp(2rem,3.2vw,2.7rem);font-weight:600;font-family:var(--font-display);color:var(--color-text-primary);letter-spacing:.02em;margin-bottom:0;line-height:1.05}.projects-header-info p{color:var(--color-text-secondary);font-size:.84rem;letter-spacing:.05em;text-transform:uppercase;font-weight:600;opacity:.82}.projects-error{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;padding:1rem 1.1rem;margin:.25rem 0 .75rem;background:#e04f4f29;border:1px solid rgba(252,164,164,.4);border-radius:.95rem;color:#ffd3d3;font-size:.92rem;line-height:1.4}.projects-error-retry{margin-left:auto}.projects-pagination{display:flex;align-items:center;justify-content:center;gap:.8rem;margin-top:.35rem;padding:.4rem 0 .2rem}.projects-pagination-button{min-width:100px}.projects-pagination-info{min-width:128px;text-align:center;color:var(--color-text-secondary);font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;font-weight:600}@media (max-width: 900px){.projects-page{gap:var(--spacing-5)}.projects-header{flex-wrap:wrap;align-items:flex-start}.projects-header>.button{margin-left:auto}}@media (max-width: 640px){.projects-page{gap:var(--spacing-4)}.projects-header{flex-direction:column;align-items:stretch;padding:0 0 .85rem}.projects-header-info h1{font-size:1.9rem}.projects-header-info p{font-size:.8rem}.projects-header>.button{width:100%;margin-left:0;min-height:44px;justify-content:center}.projects-error{font-size:.88rem;padding:.875rem;border-radius:.7rem}.projects-error-retry{width:100%;margin-left:0;justify-content:center}.projects-pagination{gap:.55rem}.projects-pagination-button{min-width:92px}.projects-pagination-info{min-width:auto;font-size:.78rem}}.project-detail-page{display:flex;flex-direction:column;gap:var(--spacing-6);width:100%;max-width:none;margin:0;min-width:0}.project-detail-header{display:flex;flex-direction:column;gap:var(--spacing-4);padding:0 0 1rem;border:0;border-bottom:1px solid rgba(255,255,255,.12);border-radius:0;background:transparent;box-shadow:none}.project-detail-back-button{margin-bottom:0;align-self:flex-start}.project-detail-content-row{display:grid;grid-template-columns:minmax(0,360px) minmax(200px,220px);align-items:start;justify-content:start;gap:clamp(1rem,2vw,2rem)}.project-detail-thumbnail-section{display:flex;flex-direction:column;gap:var(--spacing-3);min-width:0}.project-detail-title{font-size:clamp(2rem,3.8vw,2.8rem);font-weight:600;color:var(--color-text-primary);letter-spacing:.02em;line-height:1.05;margin:0}.project-detail-summary{margin:0;color:var(--color-text-secondary);font-size:.9rem;line-height:1.45;letter-spacing:.04em;text-transform:uppercase}.project-detail-thumbnail{width:min(100%,360px);aspect-ratio:16 / 10;border-radius:1.125rem;overflow:hidden;background:#ffffff0a;border:1px solid var(--color-border);box-shadow:0 8px 20px #01061342;flex-shrink:0}.project-detail-thumbnail-placeholder{display:flex;align-items:center;justify-content:center;padding:1.25rem;color:var(--color-text-secondary);text-align:center;line-height:1.45}.project-detail-thumbnail img{width:100%;height:100%;display:block;-o-object-fit:cover;object-fit:cover}.project-detail-action-buttons{display:flex;flex-direction:column;align-items:stretch;gap:var(--spacing-3);width:100%;max-width:220px;margin-top:var(--spacing-1)}.project-detail-action-buttons .action-button{width:100%;min-width:0;min-height:44px;font-size:.98rem;padding:.85rem 1rem;margin-bottom:0;justify-content:center;touch-action:manipulation}.project-detail-error-modal-text{margin:0;font-size:.95rem;line-height:1.5;color:var(--color-text-secondary)}.project-detail-description{font-size:.9rem;color:var(--color-text-secondary);line-height:1.6}.project-detail-meta{display:flex;align-items:center;gap:var(--spacing-2);margin-top:var(--spacing-4);flex-wrap:wrap}.project-detail-badge{padding:4px 12px;font-size:.7rem;font-weight:600;border-radius:4px;text-transform:uppercase;letter-spacing:.05em}.project-detail-badge-published{background:#16a34a26;color:#4ade80;border:1px solid rgba(22,163,74,.3)}.project-detail-badge-draft{background:#eab30826;color:#facc15;border:1px solid rgba(234,179,8,.3)}.project-detail-tags{display:flex;gap:var(--spacing-2);flex-wrap:wrap}.project-detail-tag{padding:4px 10px;font-size:.7rem;background:#ffffff26;color:#74747a;border-radius:4px;border:1px solid rgba(255,255,255,.3);font-weight:500}.project-detail-tabs{display:flex;align-items:center;gap:var(--spacing-6);overflow-x:auto;border-bottom:1px solid rgba(255,255,255,.12);margin-top:var(--spacing-1);scrollbar-width:none}.project-detail-tabs::-webkit-scrollbar{display:none}.project-detail-tab{background:transparent;border:0;color:var(--color-text-muted);padding:.95rem 0 .8rem;min-height:44px;font-size:1rem;font-weight:600;cursor:pointer;border-bottom:2px solid transparent;transition:color var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast);white-space:nowrap;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.project-detail-tab:hover{color:var(--color-text-primary)}.project-detail-tab.active{color:var(--color-text-primary);border-bottom-color:var(--color-primary)}.project-detail-tab-panel{display:none;flex-direction:column;gap:var(--spacing-6);min-width:0;padding:clamp(.7rem,1.4vw,1.05rem) 0 0;border-radius:0;border:0;background:transparent}.project-detail-tab-panel.active{display:flex}.project-detail-upload-card,.project-detail-assets-card{background:transparent;border:0;border-radius:0;padding:0;min-width:0;box-shadow:none}.project-detail-upload-card{padding-bottom:clamp(1rem,1.8vw,1.25rem);border-bottom:1px solid rgba(255,255,255,.1)}.project-detail-upload-title,.project-detail-assets-title{font-size:1.45rem;font-weight:600;color:var(--color-text-primary);letter-spacing:.02em;margin:0}.project-detail-assets-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-4);gap:var(--spacing-3);flex-wrap:wrap}.project-detail-audio-card{overflow:visible;min-width:0;border-radius:0;border:0;border-top:1px solid rgba(255,255,255,.1);background:transparent;padding-top:.8rem}.project-detail-audio-card .audio-manager-standalone{position:relative;top:auto;right:auto;width:100%;max-width:100%;height:min(78vh,760px);min-height:560px;border:0;border-radius:.85rem;box-shadow:none;transition:none;background:#ffffff03}.project-detail-audio-card .audio-manager-standalone .audio-panel-header{border-bottom:1px solid rgba(255,255,255,.07);background:transparent}.project-detail-audio-card .audio-manager-standalone .audio-panel-title svg{color:var(--color-primary)}.project-detail-audio-card .audio-manager-standalone .audio-panel-waypoints{border-right:1px solid rgba(255,255,255,.07)}.project-detail-audio-card .audio-manager-standalone .audio-panel-waypoints-header{border-bottom:1px solid rgba(255,255,255,.07);background:transparent}.project-detail-audio-card .audio-manager-standalone .audio-panel-waypoint-item.selected{border-color:var(--color-primary);background:#ffffff1a}.project-detail-audio-card .audio-manager-standalone .audio-panel-waypoint-number{background:#fff3;color:var(--color-text-primary)}.project-detail-audio-card .audio-manager-standalone .audio-panel-waypoint-item.selected .audio-panel-waypoint-number{background:var(--color-primary);color:#fff}.project-detail-audio-card .audio-manager-standalone .audio-panel-play-btn{background:#ffffff1f;color:var(--color-text-primary)}.project-detail-audio-card .audio-manager-standalone .audio-panel-play-btn:hover{background:#ffffff2e;border-color:var(--color-primary)}.project-detail-audio-card .audio-manager-standalone .audio-panel-upload-btn-header{background:var(--color-primary);border-color:var(--color-primary)}.project-detail-audio-card .audio-manager-standalone .audio-panel-upload-btn-header:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.project-detail-audio-card .audio-manager-standalone .audio-panel-upload-zone:hover,.project-detail-audio-card .audio-manager-standalone .audio-panel-upload-zone.drag-over{border-color:var(--color-primary);background:#ffffff1f}.audio-standalone-pagination{display:flex;align-items:center;justify-content:center;gap:var(--spacing-3);padding:var(--spacing-2) var(--spacing-3);border-top:1px solid rgba(255,255,255,.08)}.audio-standalone-page-btn{border:1px solid rgba(255,255,255,.2);background:#ffffff0d;color:#fff;border-radius:var(--radius-sm);padding:6px 12px;font-size:.8rem;cursor:pointer;transition:all var(--transition-fast)}.audio-standalone-page-btn:hover:not(:disabled){border-color:var(--color-primary);background:#ffffff2e}.audio-standalone-page-btn:disabled{opacity:.5;cursor:not-allowed}.audio-standalone-page-info{font-size:.82rem;color:#ffffffb8}.project-detail-upload-card .file-uploader-input{background:#ffffff05;border-color:#ffffff29;border-radius:.85rem}.project-detail-upload-card .file-uploader-file-item{border-radius:.72rem;background:#ffffff05}.project-detail-assets-card .asset-list-table-wrap{border-radius:.9rem;border-color:#ffffff1a;background:#ffffff04;box-shadow:none}.project-detail-assets-card .asset-list-th{border-bottom-color:#ffffff1f}.project-detail-assets-card .asset-list-td{border-bottom-color:#ffffff14}.project-detail-not-found{text-align:center;padding:var(--spacing-8) 0}.project-detail-not-found h2{font-size:2rem;font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-4)}@media (max-width: 1024px){.project-detail-page{gap:var(--spacing-5)}.project-detail-content-row{grid-template-columns:minmax(0,1fr) minmax(200px,220px)}.project-detail-action-buttons{max-width:none}.project-detail-tabs{gap:var(--spacing-4)}.project-detail-audio-card .audio-manager-standalone{height:auto;min-height:0}.project-detail-audio-card .audio-manager-standalone .audio-panel-content{flex-direction:column}.project-detail-audio-card .audio-manager-standalone .audio-panel-waypoints{width:100%;border-right:0;border-bottom:1px solid rgba(255,255,255,.08)}.project-detail-audio-card .audio-manager-standalone .audio-panel-upload{width:100%;min-width:0}.project-detail-audio-card .audio-manager-standalone .audio-panel-waypoints-list,.project-detail-audio-card .audio-manager-standalone .audio-panel-files-list{max-height:320px}.project-detail-audio-card .audio-manager-standalone .audio-panel-upload-header{flex-wrap:wrap;gap:12px}.project-detail-audio-card .audio-manager-standalone .audio-panel-upload-header>div{flex-wrap:wrap;justify-content:flex-start}}@media (max-width: 768px){.project-detail-page{gap:var(--spacing-4)}.project-detail-header{gap:var(--spacing-3);padding:0 0 .9rem;border-radius:0}.project-detail-content-row{grid-template-columns:1fr}.project-detail-title{font-size:1.7rem}.project-detail-summary{font-size:.9rem}.project-detail-thumbnail{width:100%;max-width:none;aspect-ratio:16 / 9}.project-detail-action-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}.project-detail-action-buttons .delete-button{grid-column:1 / -1}.project-detail-action-buttons .action-button{width:100%;min-width:0;padding:.85rem .9rem}.project-detail-tabs{gap:var(--spacing-3);margin-top:0}.project-detail-tab{font-size:.95rem}.project-detail-upload-card,.project-detail-assets-card{padding:0;border-radius:1rem}.project-detail-tab-panel{padding:.8rem 0 0;border-radius:0;gap:var(--spacing-5)}.project-detail-assets-header{align-items:stretch}.project-detail-assets-header .button{width:100%;justify-content:center}.project-detail-audio-card .audio-manager-standalone{border-radius:.78rem}.project-detail-audio-card .audio-manager-standalone .audio-panel-header{padding:1rem 1.125rem}.project-detail-audio-card .audio-manager-standalone .audio-panel-title{font-size:1rem}.project-detail-audio-card .audio-manager-standalone .audio-panel-waypoints-header,.project-detail-audio-card .audio-manager-standalone .audio-panel-upload-header{padding:.875rem 1rem}.project-detail-audio-card .audio-manager-standalone .audio-panel-upload{padding:1rem}.project-detail-audio-card .audio-manager-standalone .audio-panel-waypoints-list,.project-detail-audio-card .audio-manager-standalone .audio-panel-files-list{max-height:280px;padding:.875rem}.project-detail-audio-card .audio-manager-standalone .audio-panel-upload-zone{min-height:120px;padding:1.25rem 1rem}.audio-standalone-pagination{flex-wrap:wrap}}@media (max-width: 560px){.project-detail-page{gap:var(--spacing-3)}.project-detail-header{padding:0 0 .75rem;border-radius:0}.project-detail-back-button,.project-detail-back-button .button{width:100%}.project-detail-back-button .button{justify-content:center}.project-detail-title{font-size:1.45rem;line-height:1.12}.project-detail-summary{font-size:.86rem}.project-detail-action-buttons{grid-template-columns:1fr}.project-detail-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:6px;border:1px solid rgba(255,255,255,.1);border-radius:.95rem;background:#ffffff08;overflow:visible}.project-detail-tab{padding:.78rem .6rem;text-align:center;border-radius:.75rem;border-bottom:0}.project-detail-tab.active{background:#ffffff2e;border-bottom-color:transparent;box-shadow:inset 0 0 0 1px #ffffff38}.project-detail-upload-card,.project-detail-assets-card{padding:0}.project-detail-tab-panel{padding:.72rem 0 0;border-radius:0;gap:var(--spacing-4)}.project-detail-upload-card .file-uploader-input::file-selector-button{display:block;width:100%;margin-right:0;margin-bottom:12px}.project-detail-upload-card .file-uploader-file-item{align-items:flex-start}.project-detail-upload-card .file-uploader-actions{flex-direction:column;align-items:stretch}.project-detail-upload-card .file-uploader-action-button{width:100%}.project-detail-audio-card .audio-manager-standalone .audio-panel-waypoint-item,.project-detail-audio-card .audio-manager-standalone .audio-panel-file-item{flex-wrap:wrap;align-items:flex-start}.project-detail-audio-card .audio-manager-standalone .audio-panel-waypoint-audio,.project-detail-audio-card .audio-manager-standalone .audio-panel-file-actions{width:100%}.project-detail-audio-card .audio-manager-standalone .audio-panel-file-actions{justify-content:flex-end;margin-left:0}.project-detail-audio-card .audio-manager-standalone .audio-panel-selection-controls,.project-detail-audio-card .audio-manager-standalone .audio-panel-upload-header>div{width:100%}.project-detail-audio-card .audio-manager-standalone .audio-panel-upload-header>div{justify-content:space-between}.project-detail-audio-card .audio-manager-standalone .audio-panel-loop-toggle,.project-detail-audio-card .audio-manager-standalone .audio-panel-upload-btn-header{flex:1 1 140px;justify-content:center}.audio-standalone-pagination{justify-content:space-between}.audio-standalone-page-info{width:100%;text-align:center;order:-1}}.loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:10000;display:flex;align-items:center;justify-content:center;transition:opacity .3s ease-out}.loading-overlay--blocking{background:linear-gradient(135deg,#0f172afa,#1e293bfa);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);pointer-events:auto}.loading-overlay:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 50%,rgba(255,255,255,.1) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(139,92,246,.1) 0%,transparent 50%);pointer-events:none}.loading-overlay--interactive{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;pointer-events:none;align-items:flex-end;justify-content:center;padding:0 16px 32px}.loading-overlay--interactive-center{align-items:center;justify-content:center;padding:0}.loading-overlay--interactive:before{display:none}.loading-overlay-centered-spinner{width:48px;height:48px;border-radius:50%;border:4px solid rgba(255,255,255,.28);border-top-color:#fff;animation:spin .8s linear infinite;filter:drop-shadow(0 8px 18px rgba(0,0,0,.32))}.loading-overlay-interactive-pill{pointer-events:auto;display:inline-flex;align-items:center;justify-content:center;padding:8px 20px;border-radius:999px;background:#0000008c;color:#fff;font-size:.9rem;font-weight:500;white-space:nowrap;box-shadow:0 8px 18px #00000047}.loading-overlay-interactive-card{display:inline-flex;align-items:center;gap:12px;max-width:min(90vw,520px);padding:10px 14px;border-radius:12px;background:#1118279e;border:1px solid rgba(255,255,255,.18);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 10px 28px #00000047}.loading-overlay-inline-spinner{width:20px;height:20px;border-radius:50%;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;animation:spin .9s linear infinite;flex-shrink:0}.loading-overlay-inline-texts{display:flex;flex-direction:column;gap:2px}.loading-overlay-inline-title{margin:0;color:#fff;font-size:.9rem;font-weight:600}.loading-overlay-inline-subtitle{margin:0;color:#ffffffd1;font-size:.78rem;font-weight:400}.loading-overlay-content{display:flex;flex-direction:column;align-items:center;gap:2.5rem;max-width:500px;width:90%;text-align:center;position:relative;z-index:1}.loading-spinner-large{width:100px;height:100px;position:relative}.spinner-ring{width:100%;height:100%;border:5px solid rgba(255,255,255,.1);border-top-color:#66666c;border-right-color:#7a7a80;border-radius:50%;animation:spin 1s linear infinite;box-shadow:0 0 20px #ffffff4d}@keyframes spin{to{transform:rotate(360deg)}}.loading-text-container{display:flex;flex-direction:column;align-items:center;gap:.5rem;min-height:80px;justify-content:center}.loading-main-text{color:#fff;font-size:1.75rem;font-weight:600;margin:0;letter-spacing:.5px;background:linear-gradient(135deg,#fff,#e0e7ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:fadeInUp .5s ease-out}.loading-sub-text{color:#ffffffb3;font-size:.95rem;font-weight:400;margin:0;animation:fadeIn .5s ease-out .2s both}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.loading-progress-container{width:100%;display:flex;flex-direction:column;gap:.75rem;align-items:center}.loading-progress-bar{width:100%;height:12px;background:#ffffff1a;border-radius:10px;overflow:hidden;position:relative;box-shadow:inset 0 2px 4px #0003}.loading-progress-fill{height:100%;background:linear-gradient(90deg,#66666c,#7a7a80,#7a7a80);border-radius:10px;transition:width .4s cubic-bezier(.4,0,.2,1);position:relative;box-shadow:0 0 10px #ffffff80}.loading-progress-fill:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.loading-progress-info{display:flex;align-items:center;justify-content:center;width:100%}.loading-progress-text{color:#fff;font-size:1rem;font-weight:600;text-shadow:0 2px 4px rgba(0,0,0,.3);letter-spacing:1px}.loading-steps{width:100%;display:flex;flex-direction:column;gap:1rem}.loading-step{display:flex;align-items:center;gap:1rem;padding:.75rem;border-radius:8px;background:#ffffff0d;transition:all .3s ease}.loading-step.completed{background:#22c55e1a;border:1px solid rgba(34,197,94,.3)}.loading-step.pending{opacity:.6}.loading-step-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.loading-step.completed .loading-step-icon{color:#22c55e}.loading-step.pending .loading-step-icon{color:#ffffff80}.loading-step-icon svg{width:100%;height:100%}.loading-step-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.2);border-top-color:#fff9;border-radius:50%;animation:spin .8s linear infinite}.loading-step-label{color:#ffffffe6;font-size:.875rem;font-weight:500}.loading-step.completed .loading-step-label{color:#fff}.recording-toolbar-container{position:fixed;bottom:0;left:0;right:0;width:100%;z-index:100;pointer-events:none}.recording-toolbar{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:#141414f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid rgba(255,255,255,.1);pointer-events:auto;min-height:70px;position:relative;z-index:10}.recording-toolbar-left{flex:0 0 auto;display:flex;align-items:center;gap:8px}.recording-toolbar-center{flex:1;display:flex;justify-content:center;align-items:center;gap:8px}.start-recording-button{display:flex;align-items:center;gap:6px;padding:10px 18px;background:#dc2626;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;min-width:160px;justify-content:center}.start-recording-button:hover{background:#b91c1c;transform:scale(1.05)}.start-recording-button.recording-active{background:#16a34a;animation:pulse-recording 2s infinite}.start-recording-button.recording-active:hover{background:#15803d}.play-route-button{display:flex;align-items:center;gap:0px;padding:7px;background:#5b5b61;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;min-width:120px;justify-content:center}.play-route-button:hover:not(:disabled){background:#6a6a71;transform:scale(1.05)}.play-route-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.save-route-button{display:flex;align-items:center;gap:0px;padding:7px;background:#16a34a;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;min-width:120px;justify-content:center}.save-route-button:hover{background:#15803d;transform:scale(1.05)}.clear-pauses-button{display:flex;align-items:center;gap:0px;padding:7px;background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;min-width:120px;justify-content:center}.clear-pauses-button:hover:not(:disabled){background:#fff3;border-color:#ffffff4d;transform:scale(1.05)}.clear-pauses-button:disabled{opacity:.45;cursor:not-allowed;transform:none}.discard-changes-button{display:flex;align-items:center;gap:6px;padding:8px 14px;background:#dc262633;color:#fca5a5;border:1px solid rgba(220,38,38,.3);border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.discard-changes-button:hover{background:#dc26264d;border-color:#dc262680}@keyframes pulse-recording{0%,to{box-shadow:0 0 #16a34ab3}50%{box-shadow:0 0 0 8px #16a34a00}}.recording-toolbar-right{flex:0 0 auto;display:flex;align-items:center;gap:12px}.delete-route-button{display:flex;align-items:center;gap:6px;padding:8px 14px;background:#dc262633;color:#fca5a5;border:1px solid rgba(220,38,38,.3);border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.delete-route-button:hover:not(:disabled){background:#dc26264d;border-color:#dc262680}.delete-route-button:disabled{opacity:.5;cursor:not-allowed}.close-recording-button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:6px;cursor:pointer;transition:all .2s ease}.close-recording-button:hover{background:#fff3;border-color:#ffffff4d}@media (max-width: 768px){.recording-toolbar{padding:12px 16px;min-height:60px}.start-recording-button{min-width:140px;padding:10px 16px;font-size:14px}}.navigator-toolbar-container{position:fixed;bottom:0;left:0;right:0;width:100%;z-index:100;pointer-events:none}.navigator-toolbar{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:#1e1e1ef2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid rgba(255,255,255,.1);pointer-events:auto;min-height:140px;position:relative;z-index:10}.navigator-toolbar-left{flex:0 0 auto;display:flex;align-items:center;gap:8px}.navigator-label{color:#fff;font-size:16px;font-weight:600;text-transform:uppercase;letter-spacing:1px}.navigator-toolbar-center{flex:1;display:flex;justify-content:flex-start;align-items:center;gap:16px;overflow-x:auto;overflow-y:hidden;padding:0 16px}.navigator-toolbar-center::-webkit-scrollbar{height:6px}.navigator-toolbar-center::-webkit-scrollbar-track{background:#ffffff1a;border-radius:3px}.navigator-toolbar-center::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:3px}.navigator-toolbar-center::-webkit-scrollbar-thumb:hover{background:#ffffff80}.navigation-points-container{display:flex;align-items:flex-start;gap:16px;min-width:100%}.navigation-point-item{display:flex;flex-direction:column;align-items:center;gap:8px;flex-shrink:0}.add-button-container{min-width:120px}.add-navigation-point-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:120px;height:120px;background:#ffffff0d;border:2px dashed rgba(255,255,255,.3);border-radius:8px;color:#fff;cursor:pointer;transition:all .2s ease;padding:0}.add-navigation-point-button:hover{background:#ffffff1a;border-color:#ffffff80;transform:scale(1.05)}.add-button-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px}.add-button-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.navigation-point-screenshot-container{position:relative;width:120px;height:120px;border-radius:8px;overflow:hidden;border:2px solid rgba(255,255,255,.2);background:#0000004d}.navigation-point-screenshot{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.delete-navigation-point-button{position:absolute;top:4px;right:4px;width:30px;height:30px;background:#dc2626cc;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;opacity:.88;z-index:2;pointer-events:auto;touch-action:manipulation}.navigation-point-screenshot-container:hover .delete-navigation-point-button{opacity:1}.delete-navigation-point-button:hover{background:#dc2626;transform:scale(1.1)}.navigation-point-description{width:120px;min-height:32px;padding:6px 8px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#fff;font-size:12px;text-align:center;cursor:pointer;transition:all .2s ease;word-wrap:break-word;overflow-wrap:break-word;display:flex;align-items:center;justify-content:center}.navigation-point-description:hover{background:#ffffff1a;border-color:#fff3}.navigation-point-description:empty:before{content:"Click to add description";color:#ffffff80}.navigation-point-description-edit{width:120px}.description-input{width:100%;min-height:32px;padding:6px 8px;background:#ffffff1a;border:2px solid rgba(255,255,255,.8);border-radius:4px;color:#fff;font-size:12px;text-align:center;outline:none}.description-input::-moz-placeholder{color:#ffffff80}.description-input::placeholder{color:#ffffff80}.navigator-toolbar-right{flex:0 0 auto;display:flex;align-items:center;gap:12px}.close-navigator-button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:6px;cursor:pointer;transition:all .2s ease}.close-navigator-button:hover{background:#fff3;border-color:#ffffff4d}@media (max-width: 768px){.navigator-toolbar{padding:12px 16px;min-height:120px}.add-navigation-point-button,.navigation-point-screenshot-container{width:100px;height:100px}.navigation-point-description,.navigation-point-description-edit{width:100px}}.waypoints-left-panel{width:280px;min-width:280px;height:100%;max-height:100%;display:flex;flex-direction:column;background:#000000d9;border-right:1px solid rgba(255,255,255,.1);flex-shrink:0}.waypoints-panel-header{padding:var(--spacing-3) var(--spacing-4);font-size:.9rem;font-weight:600;color:#fff;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.waypoints-panel-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-4);text-align:center;color:#ffffff80;font-size:.85rem}.waypoints-panel-empty p:first-child{font-weight:600;margin-bottom:var(--spacing-2)}.waypoints-panel-list{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:var(--spacing-2);display:flex;flex-direction:column;gap:var(--spacing-2)}.waypoints-panel-list::-webkit-scrollbar{width:6px}.waypoints-panel-list::-webkit-scrollbar-track{background:#ffffff0d}.waypoints-panel-list::-webkit-scrollbar-thumb{background:#ffffff40;border-radius:3px}.waypoints-panel-list::-webkit-scrollbar-thumb:hover{background:#fff6}.waypoints-panel-item{display:flex;align-items:center;gap:var(--spacing-3);width:100%;padding:var(--spacing-2);border:2px solid transparent;border-radius:8px;background:#ffffff0d;color:#fff;cursor:pointer;text-align:left;transition:all .2s ease}.waypoints-panel-item:hover:not(:disabled){background:#ffffff1a;border-color:#fff3}.waypoints-panel-item.active{border-color:#4a9eff;background:#4a9eff33;box-shadow:0 0 12px #4a9eff59}.waypoints-panel-item:disabled{cursor:not-allowed;opacity:.8}.waypoints-panel-num{flex-shrink:0;width:42px;display:inline-flex;align-items:center;gap:6px;font-size:.8rem;font-weight:600;color:#ffffffb3}.waypoints-panel-item.active .waypoints-panel-num{color:var(--color-text-primary)}.waypoints-start-flag{font-size:.75rem;line-height:1;color:#facc15;flex-shrink:0}.waypoints-panel-item.active .waypoints-start-flag{color:#fde68a}.waypoints-autoplay-toggle{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:4px;border:1px solid transparent;background:transparent;color:#ffffff4d;cursor:pointer;padding:0;transition:color .15s,background .15s,border-color .15s}.waypoints-autoplay-toggle:hover:not(.toggle-disabled){color:#ffffffb3;background:#ffffff14}.waypoints-autoplay-toggle.excluded{color:#f87171;background:#ef44441f;border-color:#ef44444d}.waypoints-autoplay-toggle.excluded:hover:not(.toggle-disabled){background:#ef444438}.waypoints-autoplay-toggle.toggle-disabled{opacity:.35;cursor:not-allowed;pointer-events:none}.waypoints-panel-thumb{width:56px;height:56px;-o-object-fit:cover;object-fit:cover;border-radius:6px;flex-shrink:0;background:#0000004d}.waypoints-panel-thumb-placeholder{width:56px;height:56px;border-radius:6px;flex-shrink:0;background:#ffffff14}.waypoints-panel-label{flex:1;min-width:0;font-size:.85rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.waypoints-panel-item.active .waypoints-panel-label{font-weight:600;color:var(--color-text-primary)}.objects-header{margin-top:var(--spacing-2);border-top:1px solid rgba(255,255,255,.08)}.objects-panel-list{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:var(--spacing-2);display:flex;flex-direction:column;gap:var(--spacing-2)}.objects-panel-list::-webkit-scrollbar{width:6px}.objects-panel-list::-webkit-scrollbar-track{background:#ffffff0d}.objects-panel-list::-webkit-scrollbar-thumb{background:#ffffff40;border-radius:3px}.objects-panel-list::-webkit-scrollbar-thumb:hover{background:#fff6}.objects-panel-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-4);text-align:center;color:#ffffff80;font-size:.85rem;min-height:120px}.objects-panel-empty p:first-child{font-weight:600;margin-bottom:var(--spacing-2)}.objects-panel-item{display:flex;align-items:center;gap:var(--spacing-3);width:100%;padding:var(--spacing-2);border:2px solid transparent;border-radius:8px;background:#ffffff0d;color:#fff;text-align:left;font:inherit;cursor:pointer;transition:all .2s ease}.objects-panel-item:hover:not(:disabled){background:#ffffff14;border-color:#fff3}.objects-panel-item:disabled{cursor:not-allowed;opacity:.55}.objects-panel-item.active{border-color:#4a9eff;background:#4a9eff33;box-shadow:0 0 12px #4a9eff59}.objects-panel-thumb{width:56px;height:56px;border-radius:6px;overflow:hidden;flex-shrink:0;background:#0000004d;display:flex;align-items:center;justify-content:center}.objects-panel-thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.objects-panel-thumb-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#ffffff14;color:#fff6;font-size:.7rem;text-align:center}.objects-panel-info{flex:1;min-width:0;display:flex;align-items:center;gap:var(--spacing-2)}.objects-panel-num{flex-shrink:0;width:24px;font-size:.8rem;font-weight:600;color:#ffffffb3}.objects-panel-item.active .objects-panel-num{color:var(--color-text-primary)}.objects-panel-name{flex:1;min-width:0;font-size:.85rem;font-weight:500;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.objects-panel-item.active .objects-panel-name{font-weight:600;color:var(--color-text-primary)}.image-library-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0009;display:flex;align-items:center;justify-content:center;z-index:10000}.image-library-modal{width:620px;max-width:90vw;max-height:80vh;background:#2a2a2a;border-radius:12px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #00000080}.image-library-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px}.image-library-title{font-size:1.25rem;font-weight:600;color:#fff}.image-library-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;border-radius:6px;background:transparent;color:#fff9;font-size:1.4rem;cursor:pointer;transition:all .2s ease}.image-library-close:hover{background:#ffffff1a;color:#fff}.image-library-body{flex:1;overflow-y:auto;padding:0 24px 24px}.image-library-section-label{font-size:.7rem;font-weight:600;color:#ffffffb3;text-transform:uppercase;letter-spacing:1px;margin-bottom:12px}.image-library-grid{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}.image-library-slot{width:88px;height:88px;background:#ffffff0f;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;border:2px solid transparent;flex-shrink:0}.image-library-slot:hover{background:#ffffff1f;border-color:#fff3}.image-library-slot.selected{border-color:#ef4444;background:#ef44441a}.image-library-slot img{max-width:64px;max-height:64px;-o-object-fit:contain;object-fit:contain}.image-library-dropzone{border:2px dashed rgba(255,255,255,.2);border-radius:8px;padding:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;margin-top:4px}.image-library-dropzone:hover{border-color:#fff6;background:#ffffff0a}.image-library-dropzone.drag-over{border-color:#ef4444;background:#ef44440d}.image-library-dropzone-text{color:#ffffff80;font-size:.9rem}.image-library-body::-webkit-scrollbar{width:6px}.image-library-body::-webkit-scrollbar-track{background:transparent}.image-library-body::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.image-library-body::-webkit-scrollbar-thumb:hover{background:#ffffff40}.action-buttons-group{display:flex;flex-direction:column;gap:6px;margin-top:8px}.action-dashed-btn{width:100%;padding:10px 12px;background:transparent;border:1px dashed rgba(255,255,255,.2);border-radius:6px;color:#fff9;font-size:.85rem;cursor:pointer;transition:all .2s ease}.action-dashed-btn:hover{border-color:#fff6;color:#ffffffe6;background:#ffffff0a}.action-list-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;cursor:pointer;margin-bottom:6px;transition:all .2s ease}.action-list-item:hover{background:#ffffff1a;border-color:#fff3}.action-list-name{font-size:.85rem;color:#ffffffe6}.action-list-type{font-size:.7rem;color:#fff6;text-transform:capitalize}.action-editor-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#000000f2;z-index:10;display:flex;flex-direction:column}.action-editor-header{padding:16px;border-bottom:1px solid rgba(255,255,255,.1);flex-shrink:0}.action-back-btn{background:none;border:none;color:#fffc;font-size:.95rem;cursor:pointer;padding:0;display:flex;align-items:center;gap:8px;font-family:inherit}.action-back-btn:hover{color:#fff}.action-editor-body{flex:1;overflow-y:auto;padding:16px}.action-editor-body::-webkit-scrollbar{width:6px}.action-editor-body::-webkit-scrollbar-track{background:transparent}.action-editor-body::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.action-delete-container{display:flex;justify-content:flex-end;margin-top:24px}.action-delete-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;padding:0;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:6px;color:#ef4444;font-size:1.1rem;cursor:pointer;transition:all .2s ease}.action-delete-btn:hover{background:#ef444433;border-color:#ef444480}.action-color-row{display:flex;align-items:center;gap:8px}.action-color-swatch{width:32px;height:32px;border-radius:6px;border:1px solid rgba(255,255,255,.2);flex-shrink:0;cursor:pointer;position:relative}.action-color-swatch input[type=color]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;width:100%;height:100%;cursor:pointer;border:none}.action-color-row .image-panel-input{flex:1}.action-size-row{display:flex;gap:8px;align-items:center}.action-size-input{flex:1;display:flex;gap:4px}.action-size-input input{width:100%;padding:8px 10px;background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:#fff;font-size:.85rem}.action-size-input input:focus{outline:none;border-color:#ef4444;background:#ffffff14}.action-size-input select{width:60px;padding:8px 4px;background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:#fff;font-size:.8rem}.action-size-input select option{background:#1a1a1a;color:#fff}.action-size-separator{color:#fff6;font-size:.85rem;flex-shrink:0}.action-section-label{font-size:.7rem;font-weight:600;color:#ffffff80;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px;margin-top:16px}.action-tour-selector{width:100%;padding:10px 12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:#fff9;font-size:.85rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s ease}.action-tour-selector:hover{background:#ffffff14;border-color:#ffffff40}.action-point-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.action-set-btn{background:none;border:none;color:#ef4444;font-size:.8rem;font-weight:600;cursor:pointer;padding:0;letter-spacing:.5px}.action-set-btn:hover{color:#dc2626}.action-set-btn:disabled{color:#ef444473;cursor:not-allowed}.action-point-display{width:100%;padding:10px 12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:#fff9;font-size:.85rem;min-height:38px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.action-existing-list{max-height:200px;overflow-y:auto;margin-top:8px;border:1px solid rgba(255,255,255,.1);border-radius:6px}.action-existing-item{padding:8px 12px;cursor:pointer;font-size:.85rem;color:#fffc;border-bottom:1px solid rgba(255,255,255,.05);transition:background .15s ease}.action-existing-item:last-child{border-bottom:none}.action-existing-item:hover{background:#ffffff14}.action-existing-empty{padding:12px;text-align:center;color:#ffffff4d;font-size:.8rem}.action-button-edit-item{padding:10px;background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:6px;margin-bottom:8px}.action-button-edit-row{display:flex;gap:6px;align-items:center}.action-button-edit-row .image-panel-input{flex:1}.action-button-remove{width:28px;height:28px;display:flex;align-items:center;justify-content:center;padding:0;background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:4px;color:#ef4444;font-size:1rem;cursor:pointer;flex-shrink:0;transition:all .2s ease}.action-button-remove:hover{background:#ef444433;border-color:#ef444466}.action-button-colors{display:flex;gap:12px;margin-top:6px}.action-color-hint{font-size:.7rem;color:#ffffff59}.action-preview-btn{width:100%;padding:10px;background:#4caf5026;border:1px solid rgba(76,175,80,.3);border-radius:6px;color:#4caf50;font-size:.85rem;cursor:pointer;transition:all .2s ease}.action-preview-btn:hover{background:#4caf5040;border-color:#4caf5080}.action-preview-btn:disabled{background:#ffffff08;border-color:#ffffff1a;color:#ffffff4d;cursor:not-allowed}.tour-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10000}.tour-modal{background:#1e1e1e;border-radius:12px;width:90%;max-width:520px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #0009}.tour-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px}.tour-modal-header h3{margin:0;color:#fff;font-size:1.25rem;font-weight:600}.tour-modal-close{background:none;border:none;color:#fff9;font-size:1.5rem;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.tour-modal-close:hover{color:#fff}.tour-modal-body{padding:0 24px;overflow-y:auto;flex:1}.tour-modal-list{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.tour-modal-item{display:flex;align-items:center;gap:12px;padding:10px 12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:8px;cursor:pointer;transition:all .2s ease}.tour-modal-item:hover{background:#ffffff1a;border-color:#ffffff26}.tour-modal-item.selected{background:#4caf5026;border-color:#4caf5066}.tour-modal-thumb{width:60px;height:40px;border-radius:4px;background:#66666c;flex-shrink:0;-o-object-fit:cover;object-fit:cover}.tour-modal-info{flex:1;min-width:0}.tour-modal-name{color:#fff;font-size:.9rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tour-modal-count{color:#fff6;font-size:.8rem;flex-shrink:0}.tour-modal-footer{padding:16px 24px;display:flex;align-items:center;gap:10px}.tour-modal-footer label{color:#ffffff80;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.tour-modal-footer .image-panel-input{flex:1}.tour-modal-select-btn{padding:8px 16px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:#ffffffb3;font-size:.8rem;cursor:pointer;flex-shrink:0;transition:all .2s ease}.tour-modal-select-btn:hover{background:#ffffff1f;color:#fff}.tour-modal-select-btn:disabled{opacity:.4;cursor:not-allowed}.tour-point-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b8;display:flex;align-items:center;justify-content:center;z-index:10001}.tour-point-modal{width:92%;max-width:720px;max-height:82vh;background:#1e1e1e;border-radius:12px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 12px 36px #000000a6}.tour-point-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.12)}.tour-point-modal-title{color:#fff;font-size:1.1rem;font-weight:600;display:flex;align-items:baseline;gap:8px}.tour-point-modal-subtitle{color:#ffffff8c;font-size:.8rem;font-weight:500}.tour-point-modal-close{width:28px;height:28px;border:none;background:none;color:#ffffffa6;font-size:18px;cursor:pointer}.tour-point-modal-close:hover{color:#fff}.tour-point-modal-body{padding:16px 20px;overflow:auto;flex:1}.tour-point-modal-list{display:flex;flex-direction:column;gap:10px}.tour-point-modal-item{width:100%;border:1px solid rgba(255,255,255,.1);background:#ffffff0a;border-radius:8px;display:flex;align-items:center;gap:12px;padding:10px 12px;cursor:pointer;text-align:left;transition:all .18s ease}.tour-point-modal-item:hover{border-color:#fff3;background:#ffffff14}.tour-point-modal-item.selected{border-color:#ffffffb3;background:#ffffff29}.tour-point-modal-thumb,.tour-point-modal-thumb-placeholder{width:120px;height:74px;border-radius:6px;flex-shrink:0}.tour-point-modal-thumb{-o-object-fit:cover;object-fit:cover}.tour-point-modal-thumb-placeholder{background:linear-gradient(135deg,#94a3b847,#94a3b81f)}.tour-point-modal-info{min-width:0;flex:1}.tour-point-modal-point{color:#fff;font-size:.92rem;font-weight:600}.tour-point-modal-name{color:#ffffffb3;font-size:.8rem;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tour-point-modal-empty{min-height:180px;display:flex;align-items:center;justify-content:center;color:#fff9;font-size:.9rem;text-align:center}.tour-point-modal-footer{padding:14px 20px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:flex-end}.tour-point-modal-save{min-width:150px;padding:10px 14px;border:none;border-radius:8px;background:#66666c;color:#fff;font-size:.9rem;font-weight:600;cursor:pointer}.tour-point-modal-save:hover:not(:disabled){background:#78787f}.tour-point-modal-save:disabled{opacity:.5;cursor:not-allowed}.goto-rotation-lock{margin-top:8px;font-size:12px;color:#94a3b8}.goto-rotation-clear{background:none;border:none;color:#74747a;cursor:pointer;padding:0;font-size:12px}.goto-set-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b8;display:flex;align-items:center;justify-content:center;z-index:10000}.goto-set-modal{background:#1a1a2e;border-radius:12px;width:680px;max-width:95vw;box-shadow:0 24px 60px #000000b3;overflow:hidden}.goto-set-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #2d2d4e;color:#f1f5f9;font-size:15px;font-weight:600}.goto-set-modal-close{background:none;border:none;color:#94a3b8;cursor:pointer;font-size:20px}.goto-set-modal-viewer{height:400px;overflow:hidden;position:relative;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.goto-set-modal-viewer:active{cursor:grabbing}.goto-set-modal-viewer img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;pointer-events:none;transition:transform .05s linear}.goto-set-modal-viewer canvas{width:100%!important;height:100%!important;display:block}.goto-set-modal-empty{height:100%;display:flex;align-items:center;justify-content:center;color:#94a3b8;font-size:13px}.goto-set-modal-hint{padding:10px 20px;font-size:12px;color:#64748b;text-align:center}.goto-set-modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid #2d2d4e}.goto-set-modal-save{padding:8px 20px;border-radius:6px;border:none;background:#66666c;color:#fff;font-weight:600;cursor:pointer}.goto-set-modal-save:hover{background:#78787f}.goto-set-modal-cancel{padding:8px 20px;border-radius:6px;border:1px solid #334155;background:transparent;color:#94a3b8;cursor:pointer}.image-right-panel{width:320px;min-width:320px;height:100%;max-height:100%;display:flex;flex-direction:column;background:#000000e6;border-left:1px solid rgba(255,255,255,.1);flex-shrink:0;color:#fff}.image-right-panel-header{display:flex;align-items:center;justify-content:space-between;padding:16px;font-size:.95rem;font-weight:600;color:#fff;border-bottom:1px solid rgba(255,255,255,.1);flex-shrink:0}.image-right-panel-title{flex:1}.image-right-panel-close{width:28px;height:28px;display:flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:6px;background:#ffffff14;color:#fff;font-size:1.25rem;line-height:1;cursor:pointer;transition:background .2s ease}.image-right-panel-close:hover{background:#ffffff26}.image-right-panel-body{flex:1;overflow-y:auto;padding:16px}.image-panel-section{margin-bottom:20px}.image-panel-section:last-child{margin-bottom:0}.image-panel-label{display:block;font-size:.8rem;font-weight:500;color:#ffffffb3;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.image-panel-select{width:100%;padding:10px 12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:#fff;font-size:.9rem;cursor:pointer;transition:all .2s ease}.image-panel-select:hover{background:#ffffff14;border-color:#ffffff40}.image-panel-select:focus{outline:none;border-color:#ef4444;background:#ffffff14}.image-panel-select option{background:#1a1a1a;color:#fff}.image-panel-preview{width:100%;height:180px;background:#0006;border:1px solid rgba(255,255,255,.1);border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center}.image-panel-preview img{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain}.image-panel-input{width:100%;padding:10px 12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:#fff;font-size:.9rem;transition:all .2s ease}.image-panel-input:hover{background:#ffffff14;border-color:#ffffff40}.image-panel-input:focus{outline:none;border-color:#ef4444;background:#ffffff14}.image-panel-input::-moz-placeholder{color:#fff6}.image-panel-input::placeholder{color:#fff6}.image-panel-position-group{display:flex;gap:10px}.image-panel-position-input{flex:1;display:flex;flex-direction:column}.image-panel-position-input label{font-size:.75rem;color:#fff9;margin-bottom:6px;font-weight:500}.image-panel-position-input input{width:100%;padding:8px 10px;background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:#fff;font-size:.85rem;transition:all .2s ease}.image-panel-position-input input:hover{background:#ffffff14;border-color:#ffffff40}.image-panel-position-input input:focus{outline:none;border-color:#ef4444;background:#ffffff14}.image-panel-slider{width:100%;height:6px;background:#ffffff1a;border-radius:3px;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.image-panel-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;background:#ef4444;border-radius:50%;cursor:pointer;-webkit-transition:all .2s ease;transition:all .2s ease}.image-panel-slider::-webkit-slider-thumb:hover{background:#dc2626;transform:scale(1.1)}.image-panel-slider::-moz-range-thumb{width:16px;height:16px;background:#ef4444;border:none;border-radius:50%;cursor:pointer;-moz-transition:all .2s ease;transition:all .2s ease}.image-panel-slider::-moz-range-thumb:hover{background:#dc2626;transform:scale(1.1)}.image-panel-textarea{width:100%;padding:10px 12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:#fff;font-size:.9rem;font-family:inherit;resize:vertical;transition:all .2s ease}.image-panel-textarea:hover{background:#ffffff14;border-color:#ffffff40}.image-panel-textarea:focus{outline:none;border-color:#ef4444;background:#ffffff14}.image-panel-textarea::-moz-placeholder{color:#fff6}.image-panel-textarea::placeholder{color:#fff6}.image-panel-toggle-container{display:flex;align-items:center;gap:12px;cursor:pointer;padding:10px 0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.image-panel-toggle-container input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#ffffff}.image-panel-toggle-label{font-size:.9rem;color:#ffffffe6;font-weight:400}.image-panel-choose-btn{width:100%;padding:10px 12px;background:#ffffff14;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:#fff;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.image-panel-choose-btn:hover{background:#ffffff24;border-color:#ffffff59}.image-panel-choose-btn:active{transform:scale(.98)}.image-panel-delete-btn{width:100%;padding:12px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:6px;color:#ef4444;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;margin-top:8px}.image-panel-delete-btn:hover{background:#ef444433;border-color:#ef444480}.image-panel-delete-btn:active{transform:scale(.98)}.image-panel-actions{display:flex;flex-direction:column;gap:10px}.image-panel-scene-actions{margin-top:2px}.image-panel-action-btn{width:100%;padding:10px 12px;border-radius:6px;border:1px solid rgba(255,255,255,.2);background:#ffffff14;color:#fff;font-size:.88rem;font-weight:600;cursor:pointer;transition:all .2s ease}.image-panel-action-btn--with-icon{display:inline-flex;align-items:center;gap:8px}.image-panel-action-icon{display:inline-flex;align-items:center;justify-content:center;color:#ffffffe6;flex-shrink:0}.image-panel-action-btn:hover:not(:disabled){background:#ffffff24;border-color:#ffffff59}.image-panel-action-btn:disabled{opacity:.55;cursor:not-allowed}.image-panel-action-btn.active{border-color:#facc15bf;background:#facc152e;color:#fef3c7}.image-panel-feedback{margin-top:10px;font-size:.8rem;line-height:1.4}.image-panel-feedback.success{color:#86efac}.image-panel-feedback.error{color:#fca5a5}.image-right-panel-body::-webkit-scrollbar{width:6px}.image-right-panel-body::-webkit-scrollbar-track{background:#ffffff0d}.image-right-panel-body::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.image-right-panel-body::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.ai-guide-manager-panel{width:320px;min-width:320px;height:100%;max-height:100%;display:flex;flex-direction:column;background:#000000e6;border-left:1px solid rgba(255,255,255,.1);flex-shrink:0;color:#fff}.ai-guide-manager-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid rgba(255,255,255,.1)}.ai-guide-manager-title{font-size:.95rem;font-weight:600;color:#fff}.ai-guide-manager-close{width:28px;height:28px;border:none;border-radius:6px;background:#ffffff14;color:#fff;font-size:1.1rem;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.ai-guide-manager-close:hover{background:#ffffff29}.ai-guide-manager-body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.ai-guide-manager-help{margin:0;font-size:.82rem;line-height:1.5;color:#ffffffbf}.ai-guide-manager-state{border:1px solid rgba(255,255,255,.16);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:4px;background:#ffffff0a}.ai-guide-manager-state.configured{border-color:#86efac80;background:#22c55e29}.ai-guide-manager-state.empty{border-color:#fbbf2480;background:#fbbf241f}.ai-guide-manager-state-label{font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;color:#ffffffc7}.ai-guide-manager-state-value{font-size:.84rem;font-weight:600}.ai-guide-manager-current{border:1px solid rgba(255,255,255,.14);border-radius:10px;padding:10px 12px;background:#ffffff08}.ai-guide-manager-current-name{font-size:.84rem;font-weight:600;color:#fff;margin-bottom:6px;word-break:break-word}.ai-guide-manager-current-meta{display:flex;justify-content:space-between;gap:10px;font-size:.75rem;color:#ffffffa8}.ai-guide-manager-input{display:none}.ai-guide-manager-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ai-guide-manager-btn{height:38px;border-radius:8px;border:1px solid transparent;font-size:.83rem;font-weight:600;cursor:pointer;transition:background .2s ease,border-color .2s ease,opacity .2s ease}.ai-guide-manager-btn:disabled{opacity:.55;cursor:not-allowed}.ai-guide-manager-btn.ghost{background:#ffffff14;border-color:#fff3;color:#fff}.ai-guide-manager-btn.ghost:hover:not(:disabled){background:#ffffff29}.ai-guide-manager-btn.primary{background:#ef444442;border-color:#ef444480;color:#fecaca}.ai-guide-manager-btn.primary:hover:not(:disabled){background:#ef44445c}.ai-guide-manager-btn.danger{background:#7f1d1d57;border-color:#f8717180;color:#fecaca}.ai-guide-manager-btn.danger:hover:not(:disabled){background:#7f1d1d80}.ai-guide-manager-selected{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;border:1px solid rgba(255,255,255,.14);background:#ffffff08}.ai-guide-manager-selected-name{font-size:.78rem;color:#ffffffe0;word-break:break-word}.ai-guide-manager-selected-size{font-size:.74rem;color:#ffffffad;white-space:nowrap}.ai-guide-manager-progress{width:100%;height:6px;border-radius:999px;overflow:hidden;background:#ffffff1f}.ai-guide-manager-progress-fill{height:100%;background:linear-gradient(90deg,#ef4444,#f59e0b);transition:width .2s ease}.ai-guide-manager-message{margin:0;font-size:.78rem;line-height:1.4}.ai-guide-manager-message.success{color:#86efac}.ai-guide-manager-message.error{color:#fca5a5}.ai-guide-manager-body::-webkit-scrollbar{width:6px}.ai-guide-manager-body::-webkit-scrollbar-track{background:#ffffff0d}.ai-guide-manager-body::-webkit-scrollbar-thumb{background:#ffffff3d;border-radius:4px}@media (max-width: 1200px){.ai-guide-manager-panel{width:300px;min-width:300px}}.edit-project-page-wrapper{width:100%;height:100vh;background:radial-gradient(circle at 12% 6%,rgba(255,255,255,.12),transparent 52%),radial-gradient(circle at 88% 92%,rgba(229,193,132,.1),transparent 54%),linear-gradient(165deg,#070b14,#0c1528 44%,#091020);overflow:hidden}.edit-project-page{display:flex;flex-direction:column;height:100vh;width:100%}.edit-project-page.editor-loading button{pointer-events:none;cursor:not-allowed!important;opacity:.55}.edit-project-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-4);background:linear-gradient(180deg,#111a2deb,#0c1222f0);border-bottom:1px solid var(--color-border);gap:var(--spacing-4);width:100%;z-index:100;position:relative}.edit-project-header-left{flex:0 0 auto;display:flex;align-items:center;gap:var(--spacing-3)}.edit-back-button{min-width:84px}.edit-project-title{font-size:1.5rem;font-weight:600;color:var(--color-text-primary);margin:0;white-space:nowrap;font-family:var(--font-display);letter-spacing:.03em}.edit-project-header-center{display:flex;gap:var(--spacing-2);align-items:center;flex:1;justify-content:center}.edit-tool-button{min-width:100px}.edit-tool-button.active{background:#e04f4f33;border-color:#fca4a480;color:#ffd3d3}.edit-project-header-right{flex:0 0 auto;display:flex;align-items:center}.preview-button{min-width:120px}.edit-project-content{flex:1;display:flex;flex-direction:row;padding:0;overflow:hidden;position:relative;width:100%;min-height:0;height:100%}.edit-project-tour-wrap{flex:1;min-width:0;min-height:0;overflow:hidden;position:relative}.edit-project-tour-wrap .virtual-tour{width:100%!important;height:100%!important;position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important}.edit-project-tour-wrap .virtual-tour canvas{width:100%!important;height:100%!important}.edit-project-not-found{text-align:center;padding:var(--spacing-12) 0}.edit-project-not-found h2{font-size:1.5rem;font-weight:700;color:#fff;margin-bottom:var(--spacing-4)}@media (max-width: 768px){.edit-project-header{flex-direction:column;align-items:stretch;gap:var(--spacing-3)}.edit-project-header-center{justify-content:flex-start}.edit-project-title{font-size:1rem}}.tour-page-container{position:relative;width:100%;height:100vh;height:100svh;overflow:hidden;background-color:#070b14}.tour-page-error-container{min-height:100vh;min-height:100svh;background:radial-gradient(circle at 10% 6%,rgba(255,255,255,.18),transparent 52%),radial-gradient(circle at 88% 90%,rgba(229,193,132,.13),transparent 56%),linear-gradient(165deg,#070b14,#0d162b 48%,#0b1222);display:flex;align-items:center;justify-content:center;padding:2rem;padding-top:max(2rem,env(safe-area-inset-top,0px));padding-bottom:max(2rem,env(safe-area-inset-bottom,0px))}.tour-page-error-content{text-align:center;max-width:42rem;width:100%}.tour-page-error-box{background:linear-gradient(180deg,#e04f4f2e,#e04f4f14);border:1px solid rgba(252,164,164,.45);border-radius:1rem;padding:2rem}.tour-page-error-title{font-size:2rem;font-weight:600;color:var(--color-text-primary);margin-bottom:.5rem;font-family:var(--font-display);letter-spacing:.02em}.tour-page-error-message{color:#ffd4d4;margin-bottom:1.5rem;line-height:1.5}.tour-page-error-box .button{min-height:44px;touch-action:manipulation}.tour-page-loading-container{min-height:100vh;min-height:100svh;background:radial-gradient(circle at 10% 6%,rgba(255,255,255,.18),transparent 52%),radial-gradient(circle at 88% 90%,rgba(229,193,132,.13),transparent 56%),linear-gradient(165deg,#070b14,#0d162b 48%,#0b1222);display:flex;align-items:center;justify-content:center;padding:2rem;padding-top:max(2rem,env(safe-area-inset-top,0px));padding-bottom:max(2rem,env(safe-area-inset-bottom,0px))}.tour-page-loading-content{display:flex;flex-direction:column;align-items:center;gap:.75rem;color:var(--color-text-primary)}.tour-page-loading-spinner{width:42px;height:42px;border-radius:50%;border:3px solid rgba(255,255,255,.24);border-top-color:#ffffffe6;animation:tour-page-spin .85s linear infinite}.tour-page-loading-text{margin:0;font-size:.95rem;color:#ffffffdb;letter-spacing:.01em}@keyframes tour-page-spin{to{transform:rotate(360deg)}}@media (max-width: 768px){.tour-page-error-container{padding:1rem;padding-top:max(1rem,env(safe-area-inset-top,0px));padding-bottom:max(1rem,env(safe-area-inset-bottom,0px))}.tour-page-error-box{border-radius:.9rem;padding:1.2rem}.tour-page-error-title{font-size:1.2rem}.tour-page-error-message{margin-bottom:1rem;font-size:.93rem}.tour-page-error-box .button{width:100%;justify-content:center}.tour-page-loading-container{padding:1rem;padding-top:max(1rem,env(safe-area-inset-top,0px));padding-bottom:max(1rem,env(safe-area-inset-bottom,0px))}.tour-page-loading-spinner{width:36px;height:36px}.tour-page-loading-text{font-size:.9rem}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Arial,sans-serif}.app,.virtual-tour{width:100vw;height:100vh;position:relative}.virtual-tour-loading{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#1e1e1e,#2a2a2a);z-index:10000;color:#fff;gap:20px}.virtual-tour-loading .loading-spinner{width:64px;height:64px;border:4px solid rgba(255,255,255,.2);border-top-color:#3a7bd5;border-radius:50%;animation:spin 1s linear infinite}.virtual-tour-loading p{font-size:18px;font-weight:500;margin:0;color:#ffffffe6}.loading-progress{width:300px;max-width:90%;height:8px;background:#fff3;border-radius:4px;overflow:hidden;margin-top:10px}.loading-progress-bar{height:100%;background:linear-gradient(90deg,#3a7bd5,#00d2ff);border-radius:4px;transition:width .3s ease;box-shadow:0 0 10px #3a7bd580}.navigator-panel{position:fixed;left:20px;bottom:calc(env(safe-area-inset-bottom,0px) + 80px);width:240px;max-height:60vh;background:transparent;color:#fff;display:flex;flex-direction:column;z-index:1000;transition:all .3s ease}.navigator-panel.collapsed{display:none}.scenes-container{flex:1;overflow-y:auto;overflow-x:hidden;padding:10px;background:#000000e6;max-height:60vh;border-radius:8px;box-shadow:0 2px 10px #00000080}.scenes-container::-webkit-scrollbar{width:6px}.scenes-container::-webkit-scrollbar-track{background:#ffffff0d}.scenes-container::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:3px}.scenes-container::-webkit-scrollbar-thumb:hover{background:#ffffff80}.scene-item{margin-bottom:10px;cursor:pointer;border-radius:8px;overflow:hidden;border:2px solid transparent;transition:all .3s ease;background:#ffffff0d;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.scene-item:hover{border-color:#ffffff4d;transform:translate(5px);background:#ffffff1a}.scene-item.active{border-color:#4a9eff;background:#4a9eff33;box-shadow:0 0 15px #4a9eff66}.scene-thumbnail{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block;transition:transform .3s ease}.navigator-thumb-frame{position:relative;display:block;width:100%;height:100px;overflow:hidden;background:linear-gradient(145deg,#ffffff14,#ffffff05)}.navigator-thumb-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:10px;background:linear-gradient(180deg,#080c16d6,#0b1220bd);color:#ffffffe0;text-align:center}.navigator-thumb-placeholder--failed{background:linear-gradient(180deg,#1c1111e6,#141016d1)}.navigator-thumb-spinner{width:22px;height:22px;border-radius:50%;border:2px solid rgba(255,255,255,.25);border-top-color:#fff;animation:spin .85s linear infinite}.navigator-thumb-placeholder-text{font-size:12px;font-weight:500;line-height:1.3}.scene-item:hover .scene-thumbnail{transform:scale(1.05)}.scene-label{padding:10px;font-size:14px;font-weight:500;text-align:left;background:#000000b3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scene-item.active .scene-label{background:#4a9eff4d;font-weight:600}.bottom-toolbar{position:fixed;left:0;bottom:0;right:0;display:flex;align-items:flex-end;justify-content:space-between;gap:10px;padding:0 20px calc(env(safe-area-inset-bottom,0px) + 16px);z-index:1000;pointer-events:none}.bottom-toolbar .left-btns{display:flex;align-items:center;gap:10px;min-width:0;pointer-events:auto;overscroll-behavior-x:contain}.bottom-toolbar .right-btns{display:flex;align-items:center;gap:10px;flex-shrink:0;pointer-events:auto}.ai-guide-panel{position:fixed;right:20px;bottom:calc(env(safe-area-inset-bottom,0px) + 86px);width:clamp(170px,22vw,320px);z-index:1002;opacity:0;visibility:hidden;transform:translateY(8px);pointer-events:none;transition:opacity .2s ease,transform .2s ease,visibility .2s step-end}.ai-guide-panel.open{opacity:1;visibility:visible;transform:translateY(0);transition:opacity .2s ease,transform .2s ease,visibility 0s linear}.ai-guide-close{position:absolute;top:-10px;right:-8px;width:28px;height:28px;border:1px solid rgba(255,255,255,.35);background:#000000a6;color:#fff;border-radius:999px;cursor:pointer;font-size:13px;font-weight:700;line-height:1;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 6px 16px #00000059;opacity:0;pointer-events:none;transform:scale(.92);transition:opacity .16s ease,transform .16s ease,background .2s ease;z-index:3}.ai-guide-panel.open:hover .ai-guide-close,.ai-guide-panel.open:focus-within .ai-guide-close{opacity:1;pointer-events:auto;transform:scale(1)}.ai-guide-close:hover{background:#000c}.ai-guide-frame-container{position:relative;width:100%;aspect-ratio:9 / 16;background:transparent;pointer-events:auto}.ai-guide-iframe{width:100%;height:100%;border:0;display:block;background:transparent}.ai-guide-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:13px;color:#ffffffd9;background:#00000059;border-radius:10px;z-index:1}.toolbar-button{width:64px;height:64px;background:transparent;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity .2s ease;box-shadow:none;position:relative;flex-shrink:0;pointer-events:auto;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none}.toolbar-button:hover{background:transparent;border-color:transparent;box-shadow:none}.toolbar-button:active{transform:none}.toolbar-button:disabled{opacity:.5;cursor:not-allowed}.toolbar-button.active{background:transparent;border-color:transparent}.toolbar-button.active:hover{background:transparent}.toolbar-button.muted{background:transparent;border-color:transparent}.toolbar-button.muted:hover{background:transparent}.toolbar-icon{width:64px;height:64px;display:block;filter:none}.toolbar-button:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-8px);background:#373a3d;border:1px solid rgba(228,232,240,.35);color:#fff;padding:8px 12px;border-radius:6px;font-size:13px;font-weight:500;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;box-shadow:0 4px 12px #0000004d;z-index:10001}.toolbar-button:first-child:after{left:87%}.toolbar-button:hover:after{opacity:1;transform:translate(-50%) translateY(-12px)}.toolbar-button:before{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-2px);border:6px solid transparent;border-top-color:#6c727ef2;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;z-index:10001}.toolbar-button:hover:before{opacity:1;transform:translate(-50%) translateY(-6px)}.toolbar-feedback{position:fixed;left:50%;top:20px;transform:translate(-50%) translateY(-100px);background:#000000e6;color:#fff;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:600;z-index:10000;box-shadow:0 4px 20px #00000080;opacity:0;transition:all .3s ease;pointer-events:none}.toolbar-feedback.show{transform:translate(-50%) translateY(0);opacity:1}.toolbar-feedback.success{background:#4caf50f2}.toolbar-feedback.error{background:#f44336f2}.toolbar-preparing-indicator{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 86px);transform:translate(-50%);display:inline-flex;flex-direction:column;align-items:center;gap:8px;min-width:180px;padding:12px 16px;border-radius:12px;background:#0a0e18e0;border:1px solid rgba(255,255,255,.14);color:#fff;box-shadow:0 12px 32px #00000059;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;pointer-events:none}.toolbar-preparing-spinner{width:28px;height:28px;border-radius:50%;border:3px solid rgba(255,255,255,.24);border-top-color:#fff;animation:spin .85s linear infinite}.toolbar-preparing-text{font-size:13px;font-weight:500;text-align:center;line-height:1.35}.measurement-toolbar-shell{position:fixed;left:32%;bottom:calc(env(safe-area-inset-bottom,0px) + 80px);transform:translate(-50%);display:flex;flex-direction:row;align-items:center;z-index:1002;pointer-events:none;--measurement-toolbar-pointer-left: 50%}.measure-delete-wrap{position:relative;display:inline-flex;align-items:center;justify-content:center}.measurement-clear-all-btn{position:absolute;left:50%;bottom:calc(100% + 10px);transform:translate(-50%);min-width:180px;border:none;border-radius:6px;background:#121419f0;color:#ff3b3b;font-size:14px;font-weight:600;line-height:1;letter-spacing:.2px;padding:12px 16px;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:color .14s ease,background-color .14s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.measurement-clear-all-btn:hover{color:#ff6a6a;background:#1c1f26fa}.measurement-clear-all-btn:focus-visible{outline:2px solid rgba(255,255,255,.45);outline-offset:1px}.measurement-toolbar{position:relative;display:flex;flex-direction:row;align-items:center;gap:4px;background:#15161beb;border-radius:4px;padding:8px 10px;box-shadow:0 12px 28px #0000006b;pointer-events:auto}.measurement-toolbar:after{content:"";position:absolute;bottom:-10px;left:var(--measurement-toolbar-pointer-left, 50%);transform:translate(-50%);pointer-events:none;width:0;height:0;border-left:9px solid transparent;border-right:9px solid transparent;border-top:10px solid rgba(21,22,27,.92)}.measure-tool-btn,.measure-unit-btn{position:relative;width:64px;height:64px;border:none;border-radius:4px;background:transparent;color:#ffffffc7;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:color .12s ease,background-color .12s ease}.measure-tool-btn:hover,.measure-unit-btn:hover{color:#fffffff5;background:#ffffff0f}.measure-tool-btn.active{color:#ffffffeb}.measure-tool-btn.measure-pointer.active{color:#f6dc00}.measure-tool-btn.measure-drag.active{color:#3d8dff}.measure-tool-btn.measure-delete.active{color:#ed1111}.measure-tool-btn:disabled,.measure-tool-btn:disabled:hover{color:#ffffff3d;background:transparent;cursor:not-allowed}.measure-tool-icon{width:64px;height:64px;display:inline-flex;align-items:center;justify-content:center}.measure-tool-icon svg{width:64px;height:64px;display:block}.measure-unit-stack{display:flex;flex-direction:column;align-items:flex-start;color:#fff;padding:0 18px;line-height:1.02}.measure-unit-option{font-size:22px;font-weight:500;color:#ffffff94;opacity:.28;text-transform:lowercase}.measure-unit-option.active{color:#fff;opacity:1;font-weight:700}.measure-tool-btn:after,.measure-unit-btn:after,.measurement-clear-all-btn:after{content:attr(data-tooltip);position:absolute;left:50%;bottom:calc(100% + 10px);transform:translate(-50%);padding:8px 10px;border-radius:6px;background:#373a3d;border:1px solid rgba(228,232,240,.35);color:#fff;font-size:13px;font-weight:500;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s ease;z-index:1010}.measure-tool-btn.measure-pointer:after{left:calc(50% + 12px)}.measure-tool-btn:hover:after,.measure-unit-btn:hover:after,.measurement-clear-all-btn:hover:after{opacity:1}@media (hover: none),(pointer: coarse){.toolbar-button:after,.toolbar-button:before,.measure-tool-btn:after,.measure-unit-btn:after,.measurement-clear-all-btn:after{display:none}.scene-item:hover{transform:none;border-color:transparent;background:#ffffff0d}.scene-item:hover .scene-thumbnail{transform:none}.ai-guide-close{opacity:1;pointer-events:auto;transform:none}}#measurement-labels{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:100}.point-label{position:absolute;background:#000000b3;color:#fff;padding:4px 8px;border-radius:4px;font-size:14px;font-weight:700;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;transform:translate(-50%,-150%);white-space:nowrap}.point-marker-label{position:absolute;width:28px;height:28px;border-radius:50%;background:#f6dc00;color:#000;font-size:28px;font-weight:700;line-height:1;display:flex;align-items:center;justify-content:center;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;transform:translate(-50%,-50%);box-shadow:0 1px 4px #00000073;z-index:2;will-change:transform}.point-marker-label.delete-hover{background:#d32f2f;color:#fff;box-shadow:0 1px 6px #d32f2f99}.point-marker-label.drag-selected{background:#3d8dff;color:#fff;box-shadow:0 1px 6px #3d8dffa6}.segment-label{position:absolute;background:#000;color:#fff;padding:4px 8px;border-radius:2px;font-size:13px;font-weight:600;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;transform:translate(-50%,-50%);white-space:nowrap;box-shadow:0 2px 4px #0000004d;will-change:transform}.segment-label.preview{background:#113b24;border:1px solid #2fd17f}.perimeter-label{position:absolute;background:#000;color:#fff;padding:5px 10px;border-radius:2px;font-size:14px;font-weight:700;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;transform:translate(-50%,-50%);white-space:nowrap;box-shadow:0 2px 4px #0000004d;will-change:transform}@media (max-width: 768px){.point-marker-label{width:22px;height:22px;font-size:20px}.segment-label{font-size:11px;padding:3px 6px}.perimeter-label{font-size:12px;padding:4px 8px}}@media (max-width: 480px){.point-marker-label{width:20px;height:20px;font-size:18px}.segment-label{font-size:10px;padding:3px 5px}.perimeter-label{font-size:11px;padding:3px 7px}}.upload-screen{position:fixed;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#1e1e1e,#2a2a2a);z-index:9999;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .5s ease}.upload-screen.active{opacity:1}.upload-screen.exit{opacity:0;transform:scale(1.05)}.upload-screen-container{width:100%;max-width:1200px;height:100%;max-height:900px;display:flex;flex-direction:column;padding:40px;gap:32px}.upload-screen-header{text-align:center;animation:fadeInDown .6s ease}.upload-logo{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:12px}.upload-logo svg{color:#3a7bd5}.upload-logo h1{margin:0;font-size:36px;font-weight:700;color:#fff;background:linear-gradient(135deg,#3a7bd5,#00d2ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.upload-subtitle{margin:0;font-size:16px;color:#999}.upload-screen-content{flex:1;display:flex;flex-direction:column;gap:24px;overflow-y:auto;overflow-x:hidden;min-height:0;animation:fadeInUp .6s ease .2s both}.upload-screen-content::-webkit-scrollbar{width:8px}.upload-screen-content::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.upload-screen-content::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.upload-screen-content::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.upload-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.upload-card{background:#252525;border-radius:16px;padding:32px;display:flex;flex-direction:column;align-items:center;gap:16px;border:2px solid transparent;transition:all .3s}.upload-card:hover{border-color:#3a7bd5;transform:translateY(-4px);box-shadow:0 8px 24px #3a7bd533}.upload-card-icon{width:80px;height:80px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#3a7bd5,#00d2ff);border-radius:20px;color:#fff}.upload-card h2{margin:0;font-size:24px;font-weight:600;color:#fff}.upload-card>p{margin:0;font-size:14px;color:#999;text-align:center}.upload-dropzone{width:100%;border:2px dashed #444;border-radius:12px;padding:32px 20px;text-align:center;cursor:pointer;transition:all .3s;background:#1e1e1e;display:flex;flex-direction:column;align-items:center;gap:8px}.upload-dropzone:hover{border-color:#3a7bd5;background:#2a2a2a}.upload-dropzone.dragover{border-color:#3a7bd5;background:#3a7bd51a;transform:scale(1.02)}.upload-dropzone-icon{color:#666;transition:color .3s}.upload-dropzone:hover .upload-dropzone-icon{color:#3a7bd5}.upload-dropzone-text{margin:0;font-size:14px;font-weight:500;color:#fff}.upload-dropzone-hint{margin:0;font-size:12px;color:#999}.upload-input{display:none}.upload-card-stats{width:100%;padding-top:16px;border-top:1px solid #333;text-align:center;font-size:14px;color:#3a7bd5;font-weight:500}.uploaded-assets-section{background:#252525;border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:16px;min-height:200px}.uploaded-assets-header{display:flex;justify-content:space-between;align-items:center}.uploaded-assets-header h3{margin:0;font-size:18px;font-weight:600;color:#fff}.manage-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;border:1px solid #444;background:transparent;color:#3a7bd5;font-size:14px;font-weight:500;cursor:pointer;border-radius:8px;transition:all .2s}.manage-btn:hover{background:#3a7bd51a;border-color:#3a7bd5}.uploaded-assets-preview{flex:1;min-height:150px;max-height:300px;overflow-y:auto;overflow-x:hidden}.uploaded-assets-preview::-webkit-scrollbar{width:6px}.uploaded-assets-preview::-webkit-scrollbar-track{background:#ffffff0d;border-radius:3px}.uploaded-assets-preview::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.uploaded-assets-preview::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.assets-empty-state{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.assets-empty-state p{margin:0;color:#666;font-size:16px}.empty-hint{font-size:14px!important;color:#555!important}.assets-preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}.asset-preview-item{aspect-ratio:1;border-radius:12px;overflow:hidden;background:#1e1e1e;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:12px;transition:transform .2s}.asset-preview-item:hover{transform:scale(1.05)}.asset-preview-item img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;position:absolute;top:0;left:0}.asset-preview-type{position:absolute;bottom:8px;left:8px;font-size:10px;font-weight:600;color:#fff;background:#000000b3;padding:4px 8px;border-radius:4px;z-index:1}.model-preview-icon{color:#666}.asset-preview-name{font-size:11px;color:#999;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.asset-preview-item.more{background:#333;font-size:18px;font-weight:600;color:#3a7bd5}.upload-screen-footer{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;animation:fadeInUp .6s ease .4s both}.upload-hint{color:#f59e0b;font-size:14px;margin:0;display:flex;align-items:center;gap:8px}.start-tour-btn{padding:16px 48px;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s;display:flex;align-items:center;gap:8px;background:linear-gradient(135deg,#3a7bd5,#00d2ff);color:#fff;opacity:.5;cursor:not-allowed;min-width:300px;justify-content:center}.start-tour-btn.enabled{opacity:1;cursor:pointer}.start-tour-btn.enabled:hover{transform:translateY(-2px);box-shadow:0 8px 24px #3a7bd566}.start-tour-btn:disabled{opacity:.5;cursor:not-allowed}.asset-management-modal{position:fixed;top:0;left:0;right:0;bottom:0;z-index:10000;display:flex;align-items:center;justify-content:center}.asset-modal-backdrop{position:absolute;top:0;left:0;right:0;bottom:0;background:#000c}.asset-modal-content{position:relative;width:90%;max-width:800px;max-height:80vh;background:#1e1e1e;border-radius:16px;display:flex;flex-direction:column;overflow:hidden}.asset-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid #333}.asset-modal-header h3{margin:0;font-size:20px;font-weight:600;color:#fff}.asset-modal-close{width:32px;height:32px;border:none;background:transparent;color:#999;font-size:32px;cursor:pointer;border-radius:6px;transition:all .2s;padding:0;line-height:1}.asset-modal-close:hover{background:#333;color:#fff}.asset-modal-body{flex:1;overflow-y:auto;overflow-x:hidden;padding:24px;display:flex;flex-direction:column;gap:24px;min-height:0;max-height:calc(80vh - 200px)}.asset-modal-body::-webkit-scrollbar{width:8px}.asset-modal-body::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.asset-modal-body::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.asset-modal-body::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.asset-modal-section h4{margin:0 0 12px;font-size:16px;font-weight:600;color:#fff}.asset-modal-list{display:flex;flex-direction:column;gap:8px}.empty-list{text-align:center;color:#666;font-size:14px;padding:20px}.asset-modal-item{display:flex;align-items:center;gap:12px;padding:12px;background:#252525;border-radius:8px;transition:background .2s}.asset-modal-item:hover{background:#2a2a2a}.asset-modal-item img{width:60px;height:60px;-o-object-fit:cover;object-fit:cover;border-radius:6px;flex-shrink:0}.model-modal-icon{width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:#333;border-radius:6px;color:#666;flex-shrink:0}.asset-modal-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.asset-modal-name{font-size:14px;font-weight:500;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asset-modal-size{font-size:12px;color:#999}.asset-modal-remove{width:32px;height:32px;border:none;background:transparent;color:#999;cursor:pointer;border-radius:6px;transition:all .2s;display:flex;align-items:center;justify-content:center;padding:0;flex-shrink:0}.asset-modal-remove:hover{background:#ff44441a;color:#f44}.asset-modal-footer{display:flex;justify-content:space-between;gap:12px;padding:20px 24px;border-top:1px solid #333}.clear-all-modal-btn,.done-modal-btn{padding:12px 24px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.clear-all-modal-btn{background:transparent;color:#f44;border:1px solid #ff4444}.clear-all-modal-btn:hover{background:#ff44441a}.done-modal-btn{background:#3a7bd5;color:#fff}.done-modal-btn:hover{background:#2a6bc5}.tour-loader{position:fixed;top:0;left:0;right:0;bottom:0;z-index:10000;display:none;align-items:center;justify-content:center;opacity:0;transition:opacity .5s ease}.tour-loader.active{opacity:1}.tour-loader[style*="display: flex"]{display:flex!important}.tour-loader-background{position:absolute;top:0;left:0;right:0;bottom:0;background-size:cover;background-position:center;background-repeat:no-repeat;background-image:linear-gradient(135deg,#5b5b61,#6f6f6f);filter:blur(0px);animation:fadeInScale .8s ease}.tour-loader-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.tour-loader-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:24px;padding:40px;max-width:500px;animation:fadeInUp .6s ease .2s both;background:#0000004d;border-radius:20px;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.tour-loader-icon{width:80px;height:80px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#3a7bd5,#00d2ff);border-radius:20px;color:#fff;box-shadow:0 8px 32px #3a7bd566;animation:pulse 2s ease-in-out infinite}.tour-loader-title{margin:0;font-size:28px;font-weight:700;color:#fff;text-align:center;text-shadow:0 2px 8px rgba(0,0,0,.3)}.tour-loader-status{margin:0;font-size:16px;color:#ffffffe6;text-align:center;min-height:24px;text-shadow:0 1px 4px rgba(0,0,0,.3)}.tour-loader-progress-container{width:100%;display:flex;flex-direction:column;gap:8px;align-items:center}.tour-loader-progress-bar{width:100%;height:8px;background:#fff3;border-radius:4px;overflow:hidden;box-shadow:inset 0 2px 4px #0003;border:1px solid rgba(255,255,255,.1)}.tour-loader-progress-fill{height:100%;width:0%;background:linear-gradient(90deg,#3a7bd5,#00d2ff);border-radius:4px;transition:width .3s ease;box-shadow:0 0 10px #3a7bd580;position:relative;overflow:hidden}.tour-loader-progress-fill:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{left:-100%}to{left:100%}}.tour-loader-progress-text{font-size:14px;font-weight:600;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.3);min-width:45px;text-align:center}.tour-loader-dots{display:flex;gap:8px;align-items:center;justify-content:center}.tour-loader-dots span{width:8px;height:8px;background:#fffc;border-radius:50%;animation:bounce 1.4s infinite ease-in-out both}.tour-loader-dots span:nth-child(1){animation-delay:-.32s}.tour-loader-dots span:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0);opacity:.5}40%{transform:scale(1);opacity:1}}@keyframes pulse{0%,to{transform:scale(1);box-shadow:0 8px 32px #3a7bd566}50%{transform:scale(1.05);box-shadow:0 12px 48px #3a7bd599}}@keyframes fadeInScale{0%{opacity:0;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.asset-manager-panel{position:fixed;top:0;right:-400px;width:400px;height:100vh;background:#0f0f19fa;border-left:1px solid rgba(255,255,255,.1);z-index:2000;display:flex;flex-direction:column;transition:right .3s cubic-bezier(.4,0,.2,1);box-shadow:-10px 0 40px #00000080;font-family:system-ui,-apple-system,sans-serif}.asset-manager-panel.visible{right:0}.amp-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid rgba(255,255,255,.1);background:#141423f2}.amp-title{display:flex;align-items:center;gap:12px;font-size:1.1rem;font-weight:600;color:#fff;margin:0}.amp-title svg{width:24px;height:24px;color:#65656b}.amp-close-btn{width:36px;height:36px;border-radius:8px;border:none;background:transparent;color:#fff9;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.amp-close-btn:hover{background:#ffffff1a;color:#fff}.amp-close-btn svg{width:20px;height:20px}.amp-tabs{display:flex;gap:8px;padding:16px 24px;border-bottom:1px solid rgba(255,255,255,.1)}.amp-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:transparent;color:#fff9;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.amp-tab:hover{background:#ffffff0d;border-color:#fff3}.amp-tab.active{background:#65656b;border-color:#65656b;color:#fff}.amp-tab svg{width:18px;height:18px}.amp-count{background:#ffffff26;padding:2px 8px;border-radius:10px;font-size:.75rem;font-weight:600}.amp-tab.active .amp-count{background:#ffffff40}.amp-content{flex:1;overflow-y:auto;padding:20px 24px}.amp-upload-zone{border:2px dashed rgba(255,255,255,.2);border-radius:12px;padding:24px;text-align:center;cursor:pointer;transition:all .2s ease;margin-bottom:20px;background:#ffffff05}.amp-upload-zone:hover,.amp-upload-zone.drag-over{border-color:#65656b;background:#ffffff1a}.amp-upload-zone.small{padding:16px}.amp-upload-icon{width:48px;height:48px;margin:0 auto 12px;color:#fff6}.amp-upload-icon.small{width:32px;height:32px;margin-bottom:8px}.amp-upload-icon.obj,.amp-upload-zone:hover .amp-upload-icon{color:#65656b}.amp-upload-zone span{display:block;font-size:.9rem;color:#fff9}.amp-formats{font-size:.8rem!important;color:#fff6!important;margin-top:8px}.amp-selected-file{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:10px;padding:8px 12px;background:#10b98126;border-radius:6px;color:#10b981}.amp-selected-file .file-name{font-size:.8rem;font-family:monospace}.amp-selected-file .clear-btn{background:none;border:none;color:#ffffff80;cursor:pointer;font-size:1rem;padding:0;line-height:1}.amp-selected-file .clear-btn:hover{color:#ef4444}.amp-model-upload{margin-bottom:20px}.amp-upload-row{margin-bottom:12px}.amp-upload-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:14px;border-radius:10px;border:none;background:#65656b;color:#fff;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease}.amp-upload-btn:hover:not(:disabled){background:#818cf8;transform:translateY(-1px)}.amp-upload-btn:disabled{opacity:.5;cursor:not-allowed}.amp-upload-btn svg{width:20px;height:20px}.amp-upload-btn .spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.amp-list{display:flex;flex-direction:column;gap:8px}.amp-empty{text-align:center;padding:40px 20px;color:#fff6}.amp-empty svg{width:48px;height:48px;margin-bottom:12px;opacity:.5}.amp-empty p{font-size:.95rem;margin:0}.amp-item{display:flex;align-items:center;gap:12px;padding:12px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:10px;transition:all .2s ease}.amp-item:hover{border-color:#ffffff26;background:#ffffff0d}.amp-item-thumb{width:50px;height:50px;border-radius:6px;overflow:hidden;flex-shrink:0}.amp-item-thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.amp-item-icon{width:50px;height:50px;border-radius:6px;background:#ffffff26;display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative}.amp-item-icon svg{width:24px;height:24px;color:#65656b}.amp-badge{position:absolute;bottom:-4px;right:-4px;padding:2px 6px;border-radius:4px;font-size:.6rem;font-weight:700;font-family:monospace;background:#65656b;color:#fff}.amp-item-info{flex:1;min-width:0}.amp-item-name{display:block;font-size:.9rem;font-weight:500;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.amp-item-meta{font-size:.8rem;color:#fff6;font-family:monospace}.amp-item-delete{width:32px;height:32px;border-radius:6px;border:1px solid rgba(255,255,255,.1);background:transparent;color:#ffffff80;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.amp-item-delete:hover{background:#ef444426;border-color:#ef4444;color:#ef4444}.amp-item-delete svg{width:16px;height:16px}.amp-clear-all{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px;margin-top:16px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:transparent;color:#ffffff80;font-size:.9rem;cursor:pointer;transition:all .2s ease}.amp-clear-all:hover{background:#ef44441a;border-color:#ef4444;color:#ef4444}.amp-clear-all svg{width:18px;height:18px}.amp-footer{padding:16px 24px;border-top:1px solid rgba(255,255,255,.1);background:#141423f2}.amp-hint{display:flex;align-items:center;gap:8px;font-size:.8rem;color:#fff6;margin:0 0 12px}.amp-hint svg{width:16px;height:16px;flex-shrink:0}.amp-reload-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:14px;border-radius:10px;border:1px solid #65656b;background:transparent;color:#65656b;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease}.amp-reload-btn:hover{background:#65656b;color:#fff}.amp-reload-btn svg{width:18px;height:18px}.toast-container{position:fixed;top:20px;right:20px;z-index:10001;display:flex;flex-direction:column;gap:10px}.toast{display:flex;align-items:center;gap:12px;padding:14px 20px;background:#191928f2;border:1px solid rgba(255,255,255,.1);border-radius:10px;box-shadow:0 10px 40px #0006;transform:translate(120%);transition:transform .3s ease;max-width:350px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.toast.show{transform:translate(0)}.toast-icon{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;flex-shrink:0}.toast-success .toast-icon{background:#10b98133;color:#10b981}.toast-error .toast-icon{background:#ef444433;color:#ef4444}.toast-info .toast-icon{background:#fff3;color:#65656b}.toast-message{font-size:.9rem;color:#fff}@media (max-width: 1024px){.navigator-panel{left:16px;bottom:calc(env(safe-area-inset-bottom,0px) + 92px);width:min(280px,34vw);max-height:56vh}.bottom-toolbar{padding:0 16px calc(env(safe-area-inset-bottom,0px) + 14px)}.toolbar-button,.toolbar-icon{width:58px;height:58px}.ai-guide-panel{right:16px;bottom:calc(env(safe-area-inset-bottom,0px) + 96px);width:clamp(160px,22vw,240px)}.measurement-toolbar-shell{left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 94px)}.measure-tool-btn,.measure-unit-btn{width:58px;height:58px}.measure-tool-icon,.measure-tool-icon svg{width:58px;height:58px}}@media (max-width: 768px){.navigator-panel{left:12px;right:12px;width:auto;max-height:min(46vh,360px);bottom:calc(env(safe-area-inset-bottom,0px) + 96px)}.scenes-container{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(128px,auto);align-content:start;align-items:start;justify-content:start;place-content:start;-moz-column-gap:8px;column-gap:8px;row-gap:12px;max-height:inherit;padding:8px;background:#090d16f0;border:1px solid rgba(255,255,255,.12);border-radius:22px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 18px 40px #00000061}.scene-item{margin-bottom:0;min-width:0;display:flex;flex-direction:column}.scene-item.active{transform:none}.scene-thumbnail{height:100%}.navigator-thumb-frame{height:auto;min-height:92px;aspect-ratio:16 / 9;flex:0 0 auto}.scene-label{font-size:12px;padding:6px 8px 7px;margin-top:-1px;white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-height:1.3}.bottom-toolbar{left:0;right:0;width:100%;justify-content:center;gap:0;padding:0 10px calc(env(safe-area-inset-bottom,0px) + 8px)}.bottom-toolbar .left-btns{flex:1 1 auto;width:100%;max-width:none;justify-content:space-between;gap:8px;padding:0;overflow-x:visible;scrollbar-width:none;-webkit-overflow-scrolling:auto;background:transparent;border:0;border-radius:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.bottom-toolbar .left-btns::-webkit-scrollbar{display:none}.bottom-toolbar .right-btns,.bottom-toolbar .fullscreen-toggle-btn{display:none}.ai-guide-panel{right:12px;bottom:calc(env(safe-area-inset-bottom,0px) + 102px);width:min(44vw,176px)}.toolbar-button{width:clamp(38px,11vw,46px);height:clamp(38px,11vw,46px);border-radius:11px;flex:0 0 auto}.toolbar-button.active,.toolbar-button.muted{background:#ffffff14}.toolbar-button:active{transform:scale(.97);background:#ffffff1f}.toolbar-icon{width:clamp(42px,12vw,50px);height:clamp(42px,12vw,50px);transform:none}.measurement-toolbar-shell{left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 102px);width:min(360px,calc(100vw - 16px));max-width:min(360px,calc(100vw - 16px))}.measurement-toolbar{width:100%;justify-content:space-between;gap:6px;padding:8px;border-radius:18px;background:linear-gradient(180deg,#13161ff5,#0a0c12f0);border:1px solid rgba(255,255,255,.1)}.measurement-toolbar:after{bottom:-8px;border-left-width:8px;border-right-width:8px;border-top-width:8px}.measure-tool-btn,.measure-unit-btn{width:50px;height:50px;border-radius:12px}.measure-tool-icon,.measure-tool-icon svg{width:50px;height:50px}.measure-unit-stack{align-items:center;padding:0 10px}.measure-unit-option{font-size:18px}.measurement-clear-all-btn{min-width:152px;bottom:calc(100% + 8px);padding:10px 14px;font-size:13px}.toolbar-preparing-indicator{bottom:calc(env(safe-area-inset-bottom,0px) + 100px);width:min(88vw,260px)}.toolbar-feedback{top:16px;max-width:calc(100vw - 32px);padding:10px 14px;font-size:13px;text-align:center}.upload-screen-container{padding:20px;gap:20px}.upload-logo h1{font-size:28px}.upload-cards{grid-template-columns:1fr}.upload-card{padding:24px}.upload-screen-footer{flex-direction:column}.start-tour-btn{width:100%;justify-content:center}.asset-manager-panel{width:100%;right:-100%}}@media (max-width: 480px){.toolbar-preparing-indicator{width:min(90vw,232px);bottom:calc(env(safe-area-inset-bottom,0px) + 96px)}.toolbar-preparing-text{font-size:12px}.navigator-panel{left:10px;right:10px;bottom:calc(env(safe-area-inset-bottom,0px) + 84px);max-height:min(44vh,320px)}.scenes-container{grid-auto-rows:minmax(112px,auto);-moz-column-gap:8px;column-gap:8px;row-gap:10px;padding:7px;border-radius:20px}.navigator-thumb-frame{height:auto;min-height:78px;aspect-ratio:16 / 9}.toolbar-button{width:clamp(37px,11vw,43px);height:clamp(37px,11vw,43px)}.toolbar-icon{width:clamp(40px,11.8vw,46px);height:clamp(40px,11.8vw,46px);transform:none}.ai-guide-panel{width:min(46vw,164px);right:10px;bottom:calc(env(safe-area-inset-bottom,0px) + 92px)}.ai-guide-close{top:8px;right:8px;opacity:1;pointer-events:auto;background:#000000c2}.bottom-toolbar{gap:0;padding:0 8px calc(env(safe-area-inset-bottom,0px) + 6px)}.bottom-toolbar .left-btns,.bottom-toolbar .right-btns{gap:6px;padding:0;border-radius:0}.bottom-toolbar .left-btns{max-width:none}.measurement-toolbar-shell{width:min(340px,calc(100vw - 12px));max-width:min(340px,calc(100vw - 12px));bottom:calc(env(safe-area-inset-bottom,0px) + 92px)}.measurement-toolbar{gap:4px;padding:7px}.measure-tool-btn,.measure-unit-btn{width:46px;height:46px}.measure-tool-icon,.measure-tool-icon svg{width:46px;height:46px}.measure-unit-stack{padding:0 8px}.measure-unit-option{font-size:17px}.measurement-clear-all-btn{min-width:144px;padding:9px 12px}.scene-label{font-size:11px;padding:5px 7px 6px;margin-top:-1px}}@media (max-width: 360px){.bottom-toolbar{gap:0;padding:0 7px calc(env(safe-area-inset-bottom,0px) + 4px)}.bottom-toolbar .left-btns,.bottom-toolbar .right-btns{gap:5px}.toolbar-button{width:35px;height:35px;border-radius:9px}.toolbar-icon{width:39px;height:39px;transform:none}.measurement-toolbar-shell{width:min(320px,calc(100vw - 8px));max-width:min(320px,calc(100vw - 8px))}.measurement-toolbar{gap:3px;padding:6px}.measure-tool-btn,.measure-unit-btn{width:42px;height:42px}.measure-tool-icon,.measure-tool-icon svg{width:42px;height:42px}.measure-unit-option{font-size:15px}}
