*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary:#141414;--bg-secondary:#1a1a1a;--bg-card:#202020;--bg-overlay:#161616;--border:#383838;--border-light:#4a4a4a;--text-primary:#f0f0f0;--text-secondary:#aaa;--text-muted:#777;--accent:#f0f0f0;--btn-bg:#2a2a2a;--btn-hover:#383838;--error-320:#ff4b4b52;--error-999:#ff4b4b;--success-320:#00ffbb52;--success-999:#0fb;--warning-320:#ffb20052;--warning-999:#ffb200;--info-320:#6c9bff52;--info-999:#6c9bff;--purple-320:#c084fc52;--purple-999:#c084fc;--panel-bg:#ffffff0f;--panel-border:#ffffff24;--panel-alpha:#ffffff14;--panel-alpha-hover:#ffffff24;--text-2xs:8px;--text-xs:10px;--text-s:12px;--text-m:14px;--text-base:16px;--text-lg:18px;--text-xl:24px;--text-2xl:32px;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.light{--bg-primary:#f0f0f0;--bg-secondary:#e4e4e4;--bg-card:#d8d8d8;--bg-overlay:#ebebeb;--border:#ccc;--border-light:#b8b8b8;--text-primary:#141414;--text-secondary:#555;--text-muted:#888;--accent:#141414;--btn-bg:#d4d4d4;--btn-hover:#c8c8c8;--panel-bg:#0000000d;--panel-border:#0000001f;--panel-alpha:#0000000f;--panel-alpha-hover:#0000001f}body{background-color:var(--bg-primary);color:var(--text-primary);min-height:100vh;font-family:DM Sans,sans-serif}#root{text-align:left;width:100%;max-width:100%;min-height:100vh;margin:0}button{cursor:pointer;background:0 0;border:none;outline:none;font-family:inherit}input,textarea{outline:none;font-family:inherit}*{scrollbar-width:none}::-webkit-scrollbar{display:none}@keyframes ui-spin{to{transform:rotate(360deg)}}.ui-spinner{vertical-align:middle;border:2px solid #ffffff24;border-top-color:#ffffff9e;border-radius:50%;flex-shrink:0;width:22px;height:22px;animation:.78s linear infinite ui-spin;display:inline-block}.ui-spinner--sm{border-width:2px;width:14px;height:14px;animation-duration:.72s}.ui-spinner--lg{border-width:2px;width:32px;height:32px;animation-duration:.85s}.ui-loading-hint{align-items:center;gap:10px;display:flex}.ui-loading-hint__spin{opacity:.95}.ui-loading-hint__text{flex:1;min-width:0}.ui-loading-hint--block{text-align:center;justify-content:center;padding:20px 12px}.overlay-body .ui-spinner{border-color:#ffffff8c #ffffff1f #ffffff1f}.auth-gate-busy{flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}.auth-gate-busy .ui-spinner--lg{opacity:.85}.auth-gate-busy-label{color:#ffffff6b;letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:13px;font-weight:500}@media (prefers-reduced-motion:reduce){.ui-spinner{border-top-color:#ffffff73;animation:none}}.btn{letter-spacing:.08em;cursor:pointer;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:10px;font-family:DM Sans,sans-serif;font-weight:500;transition:background .15s,opacity .15s,transform 80ms;display:inline-flex}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.32;cursor:not-allowed;transform:none}.btn--loading{pointer-events:none}.btn--loading:not(:disabled){opacity:.92}.btn-spinner{border:2px solid #80808059;border-top-color:#808080eb;border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:.72s linear infinite ui-spin}@media (prefers-reduced-motion:reduce){.btn-spinner{border-top-color:#808080a6;animation:none}}.btn-white-8:hover{background:#ffffff24}.btn-white-8:active{background:#ffffff0f}.btn-white-16:hover{background:#ffffff38}.btn-white-16:active{background:#ffffff1f}.btn-white-24:hover{background:#ffffff4d}.btn-white-24:active{background:#fff3}.btn-white-32:hover{background:#fff6}.btn-white-32:active{background:#ffffff42}.btn-white-40:hover{background:#ffffff80}.btn-white-40:active{background:#ffffff57}.btn-white-56:hover{background:#ffffffa3}.btn-white-56:active{background:#ffffff80}.btn-white-64:hover{background:#ffffffb8}.btn-white-64:active{background:#ffffff94}.btn-white-72:hover{background:#ffffffd1}.btn-white-72:active{background:#ffffffa8}.btn-white-88:hover{background:#fffffff5}.btn-white-88:active{background:#ffffffd1}.btn-white-100:hover{background:#ffffffe0}.btn-white-100:active{background:#fffffff5}.btn-black-8:hover{background:#00000024}.btn-black-8:active{background:#0000000f}.btn-black-16:hover{background:#00000038}.btn-black-16:active{background:#0000001f}.btn-black-24:hover{background:#0000004d}.btn-black-24:active{background:#0003}.btn-black-32:hover{background:#0006}.btn-black-32:active{background:#00000042}.btn-black-40:hover{background:#00000080}.btn-black-40:active{background:#00000057}.btn-black-56:hover{background:#000000a3}.btn-black-56:active{background:#00000080}.btn-black-64:hover{background:#000000b8}.btn-black-64:active{background:#00000094}.btn-black-72:hover{background:#000000d1}.btn-black-72:active{background:#000000a8}.btn-black-88:hover{background:#000000f5}.btn-black-88:active{background:#000000d1}.btn-black-100:hover{background:#000000e0}.btn-black-100:active{background:#000000f5}.btn-xxs{height:16px;font-size:var(--text-2xs);letter-spacing:.1em;border-radius:4px;padding:0 8px}.btn-xs{height:24px;font-size:var(--text-xs);letter-spacing:.1em;border-radius:4px;padding:0 8px}.btn-s{height:32px;font-size:var(--text-s);border-radius:8px;padding:0 16px}.btn-m{height:40px;font-size:var(--text-m);border-radius:8px;padding:0 16px}.btn-l{height:48px;font-size:var(--text-base);border-radius:8px;padding:0 24px}.btn-xl{height:56px;font-size:var(--text-lg);border-radius:8px;padding:0 32px}.btn-xxl{height:64px;font-size:var(--text-lg);border-radius:8px;padding:0 40px}.btn-white-8{color:#e8e8e8;background:#ffffff14;border-color:#0000}.btn-white-16{color:#e8e8e8;background:#ffffff29;border-color:#0000}.btn-white-24{color:#e8e8e8;background:#ffffff3d;border-color:#0000}.btn-white-32{color:#e8e8e8;background:#ffffff52;border-color:#0000}.btn-white-40{color:#0d0d0d;background:#fff6;border-color:#0000}.btn-white-56{color:#0d0d0d;background:#ffffff8f;border-color:#0000}.btn-white-64{color:#0d0d0d;background:#ffffffa3;border-color:#0000}.btn-white-72{color:#0d0d0d;background:#ffffffb8;border-color:#0000}.btn-white-88{color:#0d0d0d;background:#ffffffe0;border-color:#0000}.btn-white-100{color:#0d0d0d;background:#fff;border-color:#0000}.btn-black-8{color:#0d0d0d;background:#00000014;border-color:#0000}.btn-black-16{color:#0d0d0d;background:#00000029;border-color:#0000}.btn-black-24{color:#0d0d0d;background:#0000003d;border-color:#0000}.btn-black-32{color:#0d0d0d;background:#00000052;border-color:#0000}.btn-black-40{color:#e8e8e8;background:#0006;border-color:#0000}.btn-black-56{color:#e8e8e8;background:#0000008f;border-color:#0000}.btn-black-64{color:#e8e8e8;background:#000000a3;border-color:#0000}.btn-black-72{color:#e8e8e8;background:#000000b8;border-color:#0000}.btn-black-88{color:#e8e8e8;background:#000000e0;border-color:#0000}.btn-black-100{color:#e8e8e8;background:#000;border-color:#0000}@keyframes login-flow-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes login-flow-panel-in{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.login-flow-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:250;box-sizing:border-box;background:#000000bf;justify-content:center;align-items:center;padding:24px;animation:.2s forwards login-flow-backdrop-in;display:flex;position:fixed;inset:0}.login-flow-backdrop--blocking{z-index:10000;cursor:default}.login-flow-dialog{background:#141414;border:1px solid #ffffff14;border-radius:12px;width:100%;max-width:440px;max-height:90vh;padding:28px 28px 24px;animation:.2s forwards login-flow-panel-in;overflow-y:auto;box-shadow:0 24px 80px #0000008c}.login-flow-header{border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:20px;display:flex}.login-flow-title{font-size:var(--text-xl,1.25rem);color:#ffffffeb;font-weight:400}.login-flow-subtitle{font-size:var(--text-s,.875rem);color:#fff6;margin-top:6px;line-height:1.45}.login-flow-close{color:#ffffff8c;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:4px;font-size:18px;line-height:1;transition:color .15s}.login-flow-close:hover{color:#ffffffd9}.login-flow-body{flex-direction:column;gap:10px;padding-top:16px;display:flex}.login-flow-error{font-size:var(--text-xs,.75rem);color:#ffb4a8;background:#ff64501f;border:1px solid #ff786440;border-radius:8px;margin:0 0 4px;padding:8px 10px}.login-flow-google-btn{justify-content:center;width:100%}.login-flow-divider{text-align:center;font-size:var(--text-2xs,.65rem);letter-spacing:.08em;text-transform:uppercase;color:#ffffff59;margin:6px 0 0}.login-flow-label{font-size:var(--text-2xs,.65rem);letter-spacing:.06em;text-transform:uppercase;color:#ffffff73;font-weight:600}.login-flow-input{box-sizing:border-box;color:#ffffffe6;width:100%;font-size:var(--text-s,.875rem);background:#00000059;border:1px solid #ffffff1f;border-radius:8px;padding:10px 12px}.login-flow-input::placeholder{color:#ffffff40}.login-flow-input:focus{border-color:#00ffbb59;outline:none}.login-flow-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.login-flow-actions--single{justify-content:stretch}.login-flow-actions--single>button{flex:1}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes backdrop-out{0%{opacity:1}to{opacity:0}}@keyframes panel-in{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes panel-out{0%{opacity:1;transform:scale(1)translateY(0)}to{opacity:0;transform:scale(.96)translateY(8px)}}.overlay-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;background:#000000b3;justify-content:center;align-items:center;animation:.2s forwards backdrop-in;display:flex;position:fixed;inset:0}.overlay-backdrop.closing{animation:.2s forwards backdrop-out}.overlay-panel{background:#141414;border:none;border-radius:8px;width:640px;max-width:95vw;max-height:90vh;padding:32px;animation:.2s forwards panel-in;overflow-y:auto}.overlay-backdrop.closing .overlay-panel{animation:.2s forwards panel-out}.overlay-header-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.overlay-login-cta{background:#ffffff0a;border:1px solid #ffffff14;border-radius:10px;flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:20px;padding:16px 18px;display:flex}.overlay-login-hint{font-size:var(--text-s);color:#ffffff73;max-width:42ch;margin:0;line-height:1.5}.overlay-header{justify-content:space-between;align-items:center;margin-bottom:32px;display:flex}.overlay-ds-btn{opacity:0;transition:opacity .15s}.overlay-ds-btn:hover{opacity:1}.overlay-body{flex-direction:column;gap:24px;display:flex}.overlay-title{font-size:var(--text-xl);color:#fff;font-weight:400}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:1px;display:grid}@media (width>=720px){.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.project-card{aspect-ratio:4/3;flex-direction:column;min-height:200px;padding:16px;transition:background .15s;display:flex;position:relative;box-shadow:inset 0 0 0 .5px #252525}.project-card.empty{background:0 0}.project-card.has-project{cursor:pointer}.project-card.has-project:hover{background:#ffffff08}.project-name{font-size:var(--text-m);color:#ffffffb8;white-space:nowrap;text-overflow:ellipsis;font-weight:400;display:block;overflow:hidden}.project-card-bottom{flex-direction:column;align-items:flex-start;gap:10px;margin-top:auto;display:flex}.project-analysis-badge{letter-spacing:.05em;text-transform:uppercase;border-radius:6px;max-width:100%;padding:6px 10px;font-size:10px;font-weight:700;line-height:1.25;display:inline-block;box-shadow:0 0 0 1px #ffffff0f}.project-analysis-badge--progress{color:#fcd34d;background:#fbbf2438;border:1px solid #fbbf248c}.project-analysis-badge--done{color:#6ee7b7;background:#34d39933;border:1px solid #34d39973}.project-analysis-badge--failed{color:#fca5a5;background:#f8717133;border:1px solid #f8717180}.project-analysis-badge--unknown{color:#93c5fd;background:#93c5fd26;border:1px solid #93c5fd66}.project-script{font-size:var(--text-2xs);letter-spacing:.1em;text-transform:uppercase;color:#ffffff40;font-weight:500}.project-menu-btn{color:#ffffffb3;cursor:pointer;opacity:0;letter-spacing:.05em;background:#00000080;border:none;border-radius:4px;padding:4px 6px;font-size:14px;line-height:1;transition:opacity .15s;position:absolute;top:8px;right:8px}.project-card:hover .project-menu-btn{opacity:1}.project-context-menu{z-index:10;background:#2a2a2a;border-radius:6px;flex-direction:column;gap:2px;min-width:120px;padding:4px;display:flex;position:absolute;top:32px;right:8px}.project-context-menu button{color:var(--text-primary);font-size:var(--text-xs);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:8px 10px;font-weight:400;transition:background .1s}.project-context-menu button:hover{background:#ffffff14}.project-rename-input{color:var(--text-primary);font-size:var(--text-s);background:0 0;border:none;border-bottom:1px solid #fff6;outline:none;width:100%;padding:0;font-weight:400}.upload-area{flex-direction:column;justify-content:center;align-items:center;gap:8px;height:100%;min-height:100vh;padding:40px;transition:background .2s;display:flex}.upload-area.dragging{background:#ffffff05}.upload-icon{opacity:.15;margin-bottom:16px}.upload-title{font-size:var(--text-base);color:#fff9;letter-spacing:.01em;font-weight:400}.upload-subtitle{font-size:var(--text-xs);color:#ffffff40;letter-spacing:.12em;text-transform:uppercase;font-weight:500}.upload-btn{min-width:192px;margin-top:24px}.upload-dashboard{font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:#ffffff59;border-radius:6px;align-items:center;gap:8px;padding:8px 12px;font-weight:500;transition:background .15s,color .15s;display:flex;position:absolute;top:24px;left:24px}.upload-dashboard:hover{color:#fff9;background:#ffffff0a}.upload-login{font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:#ffffffd9;cursor:pointer;background:#ffffff0f;border:1px solid #fff3;border-radius:8px;padding:8px 16px;font-weight:600;transition:background .15s,border-color .15s,color .15s;position:absolute;top:24px;right:24px}.upload-login:hover{color:#fff;background:#ffffff1a;border-color:#ffffff47}.upload-dashboard svg{opacity:.5;flex-shrink:0}.processing-screen{justify-content:center;align-items:center;min-height:100vh;display:flex}.processing-content{flex-direction:column;align-items:center;gap:16px;width:320px;display:flex}.processing-filename{font-size:var(--text-s);color:var(--text-muted);letter-spacing:.06em}.processing-status{opacity:.88;justify-content:center;align-items:center;min-height:28px;margin-bottom:4px;display:flex}.processing-message{font-size:var(--text-m);color:var(--text-secondary);text-align:center;letter-spacing:.01em;opacity:0;min-height:24px;transition:opacity .25s}.processing-message.visible{opacity:1}.processing-track{background:#ffffff14;border-radius:1px;width:100%;height:2px;margin-top:8px;overflow:hidden}.processing-fill{background:var(--text-primary);border-radius:1px;height:100%;transition:width 80ms linear;position:relative;overflow:hidden}.processing-fill:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000 0%,#ffffff24 50%,#0000 100%);animation:1.8s ease-in-out infinite processing-shimmer;position:absolute;inset:0}@keyframes processing-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.processing-fill:after{animation:none}}.processing-bottom{justify-content:space-between;align-items:center;width:100%;display:flex}.processing-step{font-size:var(--text-2xs);color:#ffffff40;letter-spacing:.08em;text-transform:uppercase}.processing-pct{font-size:var(--text-2xs);color:var(--text-muted);letter-spacing:.1em}.workspace{flex:1;height:100vh;display:flex;position:relative}.workspace-loading-bar{-webkit-backdrop-filter:blur(16px);height:32px;font-size:var(--text-xs);color:var(--success-999);z-index:200;background:#00ffbb14;justify-content:center;align-items:center;font-weight:500;display:flex;position:fixed;top:0;left:0;right:0}.workspace-summary{flex:1;max-width:900px;margin:0 auto;padding:32px;overflow-y:auto}.workspace-placeholder{color:var(--text-muted);font-size:var(--text-m);flex:1;justify-content:center;align-items:center;display:flex}.workspace-script-suspense{flex:1;justify-content:center;align-items:center;min-height:40vh;display:flex}.components-page{height:100vh;display:flex;overflow:hidden}.comp-sidebar{flex-shrink:0;width:320px;padding:16px;overflow-y:auto}.comp-dashboard{font-size:var(--text-xs);letter-spacing:.22em;text-transform:uppercase;color:var(--text-secondary);border-radius:8px;align-items:center;gap:8px;margin-bottom:16px;padding:8px;font-weight:500;transition:background .15s,color .15s;display:flex}.comp-dashboard:hover{color:var(--text-primary);background:#ffffff0f}.comp-dashboard svg{opacity:.6;flex-shrink:0}.comp-sidebar-panel{-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px);background:#ffffff0f;border:1px solid #ffffff24;border-radius:8px;flex-direction:column;gap:16px;padding:16px;display:flex}.comp-sidebar-label{font-size:var(--text-xs);letter-spacing:.2em;color:#fff;text-transform:uppercase;font-weight:500}.comp-sidebar-items{flex-direction:column;gap:8px;display:flex}.comp-sidebar-item{text-align:left;font-size:var(--text-xs);letter-spacing:.2em;color:#fffc;text-transform:uppercase;background:0 0;border-radius:8px;width:100%;padding:8px;font-weight:500;transition:background .1s,color .1s}.comp-sidebar-item:hover{color:#ffffffe0;background:#ffffff0f}.comp-sidebar-item.active{color:#ffffffe0;background:#ffffff24}.comp-content{flex-direction:column;flex:1;gap:64px;padding:40px 48px;display:flex;overflow-y:auto}.comp-section{flex-direction:column;gap:32px;display:flex}.comp-section-title{font-size:var(--text-xl);color:var(--text-primary);letter-spacing:-.01em;font-weight:500}.comp-group{flex-direction:column;gap:16px;display:flex}.comp-group-label{font-size:var(--text-2xs);letter-spacing:.16em;color:var(--text-muted);text-transform:uppercase;font-weight:500}.swatch-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:16px;display:grid}.swatch{flex-direction:column;gap:8px;display:flex}.swatch-color{aspect-ratio:1;border:1px solid #ffffff0f;border-radius:8px;width:100%}.swatch-name{font-size:var(--text-2xs);color:var(--text-secondary);letter-spacing:.04em;font-weight:500}.swatch-value{font-size:var(--text-2xs);color:var(--text-muted);letter-spacing:.04em;margin-top:-4px}.swatch-role{font-size:var(--text-2xs);color:var(--text-muted);letter-spacing:.02em;opacity:.6;margin-top:-4px}.alpha-wrap{border-radius:8px;padding:24px;overflow:auto}.alpha-dark{border:1px solid var(--border);background:#0d0d0d}.alpha-light{background:#f0f0f0;border:1px solid #ddd}.alpha-row{gap:16px;display:flex}.alpha-swatch{flex-direction:column;flex:1;align-items:center;gap:8px;min-width:48px;display:flex}.alpha-color{aspect-ratio:1;border-radius:8px;width:100%}.alpha-label{font-size:var(--text-2xs);color:#ffffff52;letter-spacing:.06em}.alpha-label-dark{color:#0006}.type-scale{border:1px solid var(--border);border-radius:8px;flex-direction:column;display:flex;overflow:hidden}.type-row{border-bottom:1px solid var(--border);grid-template-columns:216px 1fr 200px;align-items:center;gap:24px;padding:16px 24px;display:grid}.type-row:last-child{border-bottom:none}.type-meta{flex-shrink:0;align-items:center;gap:8px;display:flex}.type-px{font-size:var(--text-s);color:var(--text-primary);min-width:32px;font-weight:500}.type-badge{font-size:var(--text-2xs);letter-spacing:.1em;text-transform:uppercase;border-radius:4px;padding:2px 6px;font-weight:500}.badge-base{color:var(--text-primary);background:#ffffff14}.badge-ext{color:var(--text-muted);background:#ffffff0a}.type-token{font-size:var(--text-2xs);color:var(--text-muted);letter-spacing:.04em}.type-sample{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-weight:400;line-height:1;overflow:hidden}.type-role{font-size:var(--text-2xs);color:var(--text-muted);letter-spacing:.06em;text-align:right;flex-shrink:0}.matrix-wrap{border-radius:8px;padding:24px;overflow:auto}.matrix-grid{grid-template-columns:40px repeat(7,1fr);gap:8px;min-width:640px;display:grid}.matrix-cell{justify-content:center;align-items:center;display:flex}.matrix-col-header{font-size:var(--text-2xs);letter-spacing:.1em;text-transform:uppercase;height:24px;font-weight:500}.matrix-row-header{font-size:var(--text-2xs);letter-spacing:.06em;justify-content:flex-end;height:100%;padding-right:8px;font-weight:400}.matrix-btn-cell{justify-content:center;align-items:center;padding:8px 0;display:flex}.docs-page{background:var(--bg-primary);color:#e8e8e8;height:100vh;display:flex}.docs-sidebar{border-right:1px solid #ffffff0f;flex-direction:column;flex-shrink:0;gap:4px;width:260px;padding:24px 16px;display:flex;overflow-y:auto}.docs-sidebar-title{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.12em;color:#ffffff4d;margin-bottom:8px;padding:0 12px;font-weight:500}.docs-sidebar-item{font-size:var(--text-s);color:#ffffff80;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;width:100%;padding:8px 12px;font-weight:400;transition:background .12s,color .12s;display:flex}.docs-sidebar-item:hover{color:#ffffffb3;background:#ffffff0a}.docs-sidebar-item.active{color:#fff;background:#ffffff14}.docs-back{border-top:1px solid #ffffff0f;margin-top:auto;padding-top:16px}.docs-content{flex:1;max-width:900px;padding:48px 64px;overflow-y:auto}.docs-content h1{color:#fff;margin-bottom:8px;font-family:DM Serif Display,serif;font-size:36px;font-weight:400}.docs-content h2{font-size:var(--text-xl);color:#fff;border-bottom:1px solid #ffffff0f;margin:48px 0 16px;padding-bottom:8px;font-weight:500}.docs-content h3{font-size:var(--text-base);color:#ffffffd9;margin:24px 0 8px;font-weight:500}.docs-content p{font-size:var(--text-m);color:#fff9;margin-bottom:12px;line-height:1.7}.docs-content ul,.docs-content ol{margin-bottom:16px;padding-left:20px}.docs-content li{font-size:var(--text-m);color:#fff9;margin-bottom:4px;line-height:1.7}.docs-subtitle{font-size:var(--text-m);color:#ffffff59;margin-bottom:32px}.docs-roles{grid-template-columns:repeat(3,1fr);gap:16px;margin:16px 0 24px;display:grid}.docs-role-card{cursor:pointer;background:#ffffff08;border:1px solid #ffffff0f;border-radius:8px;padding:20px;transition:background .15s,border-color .15s}.docs-role-card:hover{background:#ffffff0d}.docs-role-card.active{background:#ffffff0f;border-color:#fff3}.docs-role-name{font-size:var(--text-base);color:#fff;margin-bottom:4px;font-weight:500}.docs-role-desc{font-size:var(--text-xs);color:#fff6;line-height:1.5}.docs-flow{flex-direction:column;gap:0;margin:16px 0 24px;display:flex}.docs-flow-step{align-items:stretch;gap:16px;min-height:64px;display:flex}.docs-flow-line{flex-direction:column;flex-shrink:0;align-items:center;width:24px;display:flex}.docs-flow-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-top:6px}.docs-flow-connector{background:#ffffff1a;flex:1;width:1px}.docs-flow-body{flex:1;padding-bottom:16px}.docs-flow-title{font-size:var(--text-s);color:#ffffffd9;margin-bottom:2px;font-weight:500}.docs-flow-meta{font-size:var(--text-xs);color:#ffffff59;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}.docs-flow-desc{font-size:var(--text-xs);color:#ffffff73;line-height:1.5}.docs-table{border-collapse:collapse;width:100%;font-size:var(--text-s);margin:16px 0 24px}.docs-table th{text-align:left;font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.1em;color:#ffffff59;border-bottom:1px solid #ffffff14;padding:10px 12px;font-weight:500}.docs-table td{color:#fff9;vertical-align:top;border-bottom:1px solid #ffffff0a;padding:10px 12px}.docs-table tr:hover td{background:#ffffff05}.docs-badge{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.08em;border-radius:4px;align-items:center;gap:4px;padding:2px 8px;font-weight:500;display:inline-flex}.docs-badge--director{color:#f59e0b;background:#f59e0b26}.docs-badge--filmmaker{color:#a78bfa;background:#a78bfa26}.docs-badge--pm{color:#34d399;background:#34d39926}.docs-badge--state{color:#ffffff80;background:#ffffff0f}.docs-flow-tabs{gap:4px;margin-bottom:16px;display:flex}.docs-flow-tab{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:#fff6;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff0f;border-radius:6px;padding:6px 14px;font-weight:500;transition:background .12s,color .12s}.docs-flow-tab:hover{color:#ffffffb3;background:#ffffff14}.docs-flow-tab.active{color:#fff;background:#ffffff1f;border-color:#fff3}.docs-panels{grid-template-columns:repeat(2,1fr);gap:12px;margin:16px 0 24px;display:grid}.docs-panel-card{background:#ffffff08;border:1px solid #ffffff0f;border-radius:8px;padding:16px}.docs-panel-name{font-size:var(--text-s);color:#ffffffd9;margin-bottom:4px;font-weight:500}.docs-panel-desc{font-size:var(--text-xs);color:#fff6;line-height:1.5}.docs-reject-arrow{font-size:var(--text-xs);color:#ff4b4bb3;background:#ff4b4b0f;border:1px solid #ff4b4b1f;border-radius:6px;align-items:center;gap:8px;margin:8px 0;padding:8px 12px;display:flex}.docs-diagram{margin:20px 0 24px}.docs-diagram-legend{flex-wrap:wrap;gap:16px;margin-bottom:20px;display:flex}.docs-diagram-legend-item{font-size:var(--text-xs);color:#ffffff80;align-items:center;gap:6px;display:flex}.docs-diagram-legend-dot{border-radius:50%;width:8px;height:8px}.docs-diagram-nodes{flex-direction:column;gap:0;display:flex}.docs-diagram-node{border-radius:0;align-items:flex-start;gap:12px;padding:10px 16px;transition:background .12s;display:flex;position:relative;box-shadow:inset 0 0 0 .5px #252525}.docs-diagram-node:hover{background:#ffffff05}.docs-diagram-node--reject{background:#ff4b4b0a}.docs-diagram-node--reject:hover{background:#ff4b4b0f}.docs-diagram-node--finish{background:#00ffbb0a}.docs-diagram-node--finish:hover{background:#00ffbb0f}.docs-diagram-node-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-top:4px}.docs-diagram-node-body{flex:1;min-width:0}.docs-diagram-node-label{font-size:var(--text-s);color:#ffffffd9;margin-bottom:1px;font-weight:500}.docs-diagram-node-desc{font-size:var(--text-xs);color:#ffffff59}.docs-diagram-arrow{color:#ffffff26;position:absolute;top:50%;right:16px;transform:translateY(-50%)}.docs-diagram-arrow--reject{color:#ff4b4b66;align-items:center;gap:4px;display:flex}.docs-diagram-arrow-label{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.1em}.docs-note{font-size:var(--text-s);color:#6c9bffcc;background:#6c9bff0f;border:1px solid #6c9bff1f;border-radius:6px;margin:12px 0;padding:12px 16px;line-height:1.6}.docs-feature-map{grid-template-columns:repeat(2,1fr);gap:0;margin:16px 0 24px;display:grid}.docs-feature-area{padding:16px;box-shadow:inset 0 0 0 .5px #252525}.docs-feature-area-title{font-size:var(--text-s);color:#ffffffd9;margin:0 0 8px;font-weight:500}.docs-feature-area-list{margin:0;padding-left:16px}.docs-feature-area-list li{font-size:var(--text-xs);color:#ffffff73;margin-bottom:2px;line-height:1.7}.auth-gate-app{background:#0a0a0a;min-height:100vh}.auth-gate-app--loading{justify-content:center;align-items:center;display:flex}.auth-gate-loading{color:#ffffff73;letter-spacing:.06em;margin:0;font-size:14px}.app{background:var(--bg-primary);flex-direction:column;min-height:100vh;display:flex}.app-main{flex-direction:column;flex:1;display:flex}.project-workspace{flex:1;justify-content:center;align-items:center;min-height:100vh;display:flex}.placeholder-text{text-align:center;color:var(--text-secondary);font-size:16px;line-height:2}.placeholder-text strong{color:var(--text-primary)}.access-denied-screen{color:#ffffffe0;background:#0a0a0a;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.access-denied-card{background:#141418f2;border:1px solid #ffffff1a;border-radius:12px;max-width:440px;padding:32px 28px}.access-denied-title{letter-spacing:-.02em;margin:0 0 16px;font-size:22px;font-weight:600}.access-denied-text{color:#ffffff8c;margin:0 0 24px;font-size:15px;line-height:1.55}.access-denied-signout{color:#fff;cursor:pointer;background:#ffffff0f;border:1px solid #fff3;border-radius:8px;padding:10px 20px;font-size:14px}.access-denied-signout:hover{background:#ffffff1a}.api-error-toast{z-index:9999;color:#ffe6e6f2;background:#1e1416f5;border:1px solid #ff505073;border-radius:10px;align-items:flex-start;gap:12px;max-width:min(520px,100vw - 32px);padding:12px 14px;font-size:14px;line-height:1.45;display:flex;position:fixed;top:16px;left:50%;transform:translate(-50%);box-shadow:0 12px 40px #00000073}.api-error-toast-text{word-break:break-word;flex:1;min-width:0}.api-error-toast-close{color:#ffffff8c;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0 4px;font-size:16px;line-height:1}.api-error-toast-close:hover{color:#fff}
