:root{--bg:#05070b;--panel:#0d121b;--line:#222d3d;--line-bright:#34445b;--text:#f3f7fb;--muted:#8a9aaf;--cyan:#5de4e7;--green:#71e6b2;--violet:#9d8bff;--danger:#ff8c9a;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}html,body{min-height:100%;margin:0;background:var(--bg);color:var(--text)}body{overflow:hidden}button,input,textarea,select{font:inherit}[hidden]{display:none!important}.ambient{position:fixed;width:42rem;height:42rem;border-radius:50%;filter:blur(100px);opacity:.12;pointer-events:none}.ambient-a{background:var(--cyan);left:-18rem;top:-20rem}.ambient-b{background:var(--violet);right:-20rem;bottom:-22rem}.login-shell{min-height:100vh;display:grid;place-items:center;padding:2rem;position:relative}.login-card{width:min(680px,100%);padding:4.5rem;border:1px solid var(--line);border-radius:28px;background:linear-gradient(145deg,rgba(18,25,37,.96),rgba(8,12,19,.94));box-shadow:0 40px 100px rgba(0,0,0,.45)}.brand-mark{display:grid;place-items:center;width:54px;height:54px;border:1px solid rgba(93,228,231,.5);border-radius:16px;color:var(--cyan);font:700 15px/1 ui-monospace,monospace;letter-spacing:.08em;background:rgba(93,228,231,.08)}.brand-mark.small{width:38px;height:38px;border-radius:11px;font-size:12px}.eyebrow{margin:1.5rem 0 .65rem;color:var(--cyan);text-transform:uppercase;letter-spacing:.14em;font:650 11px/1.2 ui-monospace,monospace}.login-card h1{max-width:560px;margin:0;font-size:clamp(2.8rem,7vw,5rem);letter-spacing:-.065em;line-height:.98}.lead{max-width:570px;margin:1.5rem 0 2.25rem;color:#b0bdce;font-size:1.1rem;line-height:1.7}.fine-print{margin:1rem 0 0;color:#68788e;font-size:.8rem}.primary-button,.secondary-button,.new-button,.icon-button{border:0;cursor:pointer;transition:.18s ease}.primary-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 1.25rem;border-radius:11px;color:#021113;background:linear-gradient(135deg,var(--cyan),var(--green));font-weight:750;text-decoration:none;box-shadow:0 8px 28px rgba(93,228,231,.16)}.primary-button:hover{transform:translateY(-1px);box-shadow:0 12px 34px rgba(93,228,231,.24)}.primary-button.compact{min-height:40px}.primary-button:disabled,.secondary-button:disabled{opacity:.4;cursor:default;transform:none}.secondary-button{min-height:40px;padding:0 1rem;border:1px solid var(--line-bright);border-radius:10px;color:var(--text);background:rgba(15,22,33,.86)}.app-shell{display:grid;grid-template-columns:282px minmax(0,1fr);height:100vh;position:relative}.sidebar{display:flex;flex-direction:column;min-height:0;padding:22px 17px;border-right:1px solid var(--line);background:rgba(7,10,15,.9);backdrop-filter:blur(18px)}.brand-row{display:flex;align-items:center;gap:12px;padding:0 7px 22px}.brand-row strong,.brand-row span{display:block}.brand-row strong{font-size:.95rem}.brand-row span{margin-top:3px;color:var(--muted);font-size:.72rem}.new-button{width:100%;display:flex;align-items:center;gap:9px;padding:11px 13px;border:1px solid rgba(93,228,231,.28);border-radius:10px;color:#dffeff;background:rgba(93,228,231,.07);font-weight:680;text-align:left}.new-button:hover{border-color:rgba(93,228,231,.55);background:rgba(93,228,231,.11)}.new-button span{color:var(--cyan);font-size:1.2rem}.sidebar-label{margin:26px 9px 9px;color:#63748a;text-transform:uppercase;letter-spacing:.12em;font:650 10px/1.2 ui-monospace,monospace}.project-list{flex:1;min-height:0;overflow-y:auto;padding-right:3px}.project-item{width:100%;display:block;padding:11px 12px;margin:3px 0;border:1px solid transparent;border-radius:10px;color:#b7c3d2;background:transparent;cursor:pointer;text-align:left}.project-item:hover{color:var(--text);background:rgba(255,255,255,.03)}.project-item.active{color:var(--text);border-color:var(--line);background:linear-gradient(135deg,rgba(93,228,231,.09),rgba(157,139,255,.06))}.project-item strong,.project-item span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-item strong{font-size:.86rem}.project-item span{margin-top:5px;color:#6f8198;font:500 10px/1.2 ui-monospace,monospace}.sidebar-footer{padding:16px 8px 0;border-top:1px solid var(--line)}.sidebar-footer a{color:#7f91a7;font-size:.76rem;text-decoration:none}.app-version{float:right;color:#526178;font:600 10px/1.5 ui-monospace,monospace}.user-name{margin-bottom:5px;color:#d7e0eb;font-size:.82rem;overflow:hidden;text-overflow:ellipsis}.workspace{min-width:0;display:flex;flex-direction:column}.workspace-header{min-height:104px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 27px;border-bottom:1px solid var(--line);background:rgba(8,12,18,.72)}.workspace-header .eyebrow{margin:0 0 6px}.workspace-header h1{margin:0;max-width:660px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1.35rem}.project-description{max-width:700px;margin:5px 0 0;color:var(--muted);font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-actions{display:flex;align-items:center;gap:9px;flex-shrink:0}.version-control{color:#77899e;font-size:.72rem}.version-control select,.editor-dialog select{margin-left:6px}select,input,textarea{border:1px solid var(--line-bright);border-radius:9px;outline:0;color:var(--text);background:#0b111a}select:focus,input:focus,textarea:focus{border-color:rgba(93,228,231,.72);box-shadow:0 0 0 3px rgba(93,228,231,.08)}select{min-height:38px;padding:0 30px 0 10px}.empty-state{flex:1;display:grid;place-content:center;justify-items:center;padding:3rem;text-align:center;background-image:linear-gradient(rgba(40,53,71,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(40,53,71,.16) 1px,transparent 1px);background-size:32px 32px}.empty-state .eyebrow{margin-top:2rem}.empty-state h2{max-width:680px;margin:0;font-size:clamp(2rem,4vw,3.8rem);line-height:1.02;letter-spacing:-.055em}.empty-state>p:not(.eyebrow){max-width:650px;margin:1.2rem auto 2rem;color:var(--muted);line-height:1.65}.empty-orbit{position:relative;width:120px;height:120px;border:1px solid #28384d;border-radius:50%;animation:orbit 12s linear infinite}.empty-orbit:before{content:'';position:absolute;inset:24px;border:1px solid #29384b;border-radius:50%}.empty-orbit span{position:absolute;width:11px;height:11px;border-radius:3px;background:var(--cyan);box-shadow:0 0 18px rgba(93,228,231,.65)}.empty-orbit span:nth-child(1){left:11px;top:22px}.empty-orbit span:nth-child(2){right:8px;top:52px;background:var(--violet)}.empty-orbit span:nth-child(3){left:53px;bottom:1px;background:var(--green)}@keyframes orbit{to{transform:rotate(360deg)}}.viewer-shell{flex:1;min-height:0;padding:10px;background:#02040a}.viewer-shell iframe{display:block;width:100%;height:100%;border:1px solid var(--line);border-radius:12px;background:#020617}.editor-dialog{width:min(650px,calc(100vw - 32px));padding:0;border:1px solid var(--line-bright);border-radius:18px;color:var(--text);background:#0c121c;box-shadow:0 30px 100px #000}.editor-dialog::backdrop{background:rgba(0,0,0,.72);backdrop-filter:blur(8px)}.editor-dialog form{padding:25px}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:22px}.dialog-head .eyebrow{margin:0 0 7px}.dialog-head h2{margin:0;font-size:1.55rem}.icon-button{width:36px;height:36px;border-radius:9px;color:#8798ad;background:transparent;font-size:1.5rem}.editor-dialog label{display:block;margin:14px 0;color:#9cacbf;font-size:.76rem;font-weight:650}.editor-dialog input,.editor-dialog textarea,.editor-dialog select{display:block;width:100%;margin:7px 0 0;padding:11px 12px;resize:vertical;color:#e8eef6}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-row select{margin-left:0}.field-divider{display:flex;align-items:center;gap:10px;color:#536176;font:600 9px/1 ui-monospace,monospace;text-transform:uppercase}.field-divider:before,.field-divider:after{content:'';flex:1;height:1px;background:var(--line)}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}.form-error{min-height:18px;margin:10px 0 0;color:var(--danger);font-size:.78rem}.busy{position:fixed;inset:0;z-index:20;display:grid;place-items:center;background:rgba(3,5,9,.78);backdrop-filter:blur(8px)}.busy-card{width:min(390px,calc(100vw - 32px));padding:30px;border:1px solid var(--line-bright);border-radius:16px;background:#0d141e;text-align:center;box-shadow:0 24px 80px #000}.busy-card strong,.busy-card p{display:block}.busy-card p{margin:9px 0 0;color:var(--muted);font-size:.82rem;line-height:1.5}.spinner{display:block;width:30px;height:30px;margin:0 auto 18px;border:2px solid #28364a;border-top-color:var(--cyan);border-radius:50%;animation:orbit .8s linear infinite}.toast{position:fixed;right:22px;bottom:22px;z-index:30;max-width:420px;padding:13px 16px;border:1px solid var(--line-bright);border-radius:10px;color:#eaf3fa;background:#111a25;box-shadow:0 16px 50px #000;font-size:.8rem}@media(max-width:850px){body{overflow:auto}.app-shell{grid-template-columns:1fr;height:auto;min-height:100vh}.sidebar{min-height:auto;border-right:0;border-bottom:1px solid var(--line)}.project-list{display:flex;gap:6px;overflow-x:auto}.project-item{min-width:190px}.sidebar-footer{display:none}.workspace{min-height:75vh}.workspace-header{align-items:flex-start;flex-direction:column}.header-actions{flex-wrap:wrap}.login-card{padding:2rem}.form-row{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
