@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/assets/dm-sans-latin-ext-wght-normal-BOFOeGcA.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/assets/dm-sans-latin-wght-normal-Xz1IZZA0.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-wght-normal-CnvboYUG.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-normal-Ca2vKHc0.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-normal-ukD16Tqj.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--or-50:#FFF6EE;--or-100:#FFF0E6;--or-200:#FFE2CC;--or-300:#FFC59E;--or-400:#FF9450;--or-500:#FF5C00;--or-600:#E24D00;--or-700:#CC4400;--or-750:#BC3F00;--or-800:#8A3410;--or-900:#6E2808;--or-950:#2D1500;--brand-navy:#042848;--brand-orange:#FF5C00;--n-0:#FFFFFF;--n-25:#FDFBF8;--n-50:#FAF6F1;--n-100:#F3EDE5;--n-200:#ECE6DE;--n-300:#DED5C9;--n-400:#B3A596;--n-500:#8C7B70;--n-600:#6B5B4E;--n-700:#4E4136;--n-800:#3D2E22;--n-900:#1A1108;--n-950:#120B05;--green-500:#2A9D6A;--green-700:#1D6E49;--green-100:#EDF7F1;--green-300:#3FBD85;--blue-500:#3A7CC4;--blue-700:#2A5E96;--blue-100:#EEF4FB;--blue-300:#6FA8E4;--amber-500:#B07A2A;--amber-700:#7A4A0D;--amber-100:#F4EAD8;--amber-300:#D9A050;--red-500:#C0492F;--red-700:#8A3123;--red-100:#FBE4DF;--red-300:#E06A50;--dv-1:#2A9D6A;--dv-2:#3A7CC4;--dv-3:#7C5CBF;--dv-4:#C4513A;--dv-motivation:var(--dv-1);--dv-pressure:var(--dv-2);--dv-cognitive:var(--dv-3);--dv-somatic:var(--dv-4);--bg:var(--n-50);--bg-subtle:var(--n-25);--bg-sunken:var(--n-100);--surface:var(--n-0);--surface-raised:var(--n-0);--surface-overlay:var(--n-0);--scrim:rgba(26,17,8,.44);--ink:var(--n-900);--ink-2:var(--n-800);--ink-3:var(--n-600);--ink-4:var(--n-500);--ink-inverse:#FFF9F3;--ink-on-primary:var(--or-950);--border:rgba(26,17,8,.08);--border-strong:rgba(26,17,8,.14);--border-solid:var(--n-200);--border-input:var(--n-300);--primary:var(--or-500);--primary-hover:var(--or-600);--primary-active:var(--or-700);--primary-soft:var(--or-100);--primary-soft-hover:var(--or-200);--link:var(--or-750);--link-hover:var(--or-800);--hover-tint:rgba(26,17,8,.045);--active-tint:rgba(26,17,8,.08);--selected-tint:var(--or-50);--focus-ring:0 0 0 2px var(--surface),0 0 0 4px var(--or-500);--danger-hover:#AD402A;--ink-on-dark-fill:var(--or-100);--track:var(--n-200);--skeleton-base:var(--bg-sunken);--skeleton-sheen:var(--n-200);--tooltip-bg:var(--n-900);--tooltip-ink:var(--or-50);--success:var(--green-500);--success-strong:var(--green-700);--success-soft:var(--green-100);--info:var(--blue-500);--info-strong:var(--blue-700);--info-soft:var(--blue-100);--warning:var(--amber-500);--warning-strong:var(--amber-700);--warning-soft:var(--amber-100);--danger:var(--red-500);--danger-strong:var(--red-700);--danger-soft:var(--red-100);--shadow-xs:0 1px 2px rgba(26,17,8,.05);--shadow-sm:0 1px 2px rgba(26,17,8,.05),0 2px 8px rgba(26,17,8,.04);--shadow-md:0 1px 2px rgba(26,17,8,.05),0 10px 30px rgba(26,17,8,.06);--shadow-lg:0 2px 4px rgba(26,17,8,.06),0 18px 50px rgba(26,17,8,.12);--shadow-xl:0 4px 8px rgba(26,17,8,.08),0 32px 80px rgba(26,17,8,.18);--r-xs:6px;--r-sm:10px;--r-md:14px;--r-lg:20px;--r-xl:28px;--r-full:999px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--s-10:40px;--s-12:48px;--s-16:64px;--s-20:80px;--s-24:96px;--font-display:"Fraunces Variable",Georgia,serif;--font-ui:"DM Sans Variable",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-mono:ui-monospace,"SF Mono",Menlo,monospace;--fs-2xs:11px;--fs-xs:12px;--fs-sm:13px;--fs-md:14px;--fs-body:15px;--fs-lg:17px;--fs-xl:20px;--fs-2xl:24px;--fs-3xl:30px;--fs-4xl:38px;--fs-5xl:48px;--fs-6xl:60px;--dur-instant:.1s;--dur-fast:.15s;--dur-base:.2s;--dur-slow:.3s;--dur-slower:.45s;--ease-standard:cubic-bezier(.2,.6,.2,1);--ease-enter:cubic-bezier(.16,1,.3,1);--ease-exit:cubic-bezier(.4,0,1,1);--ease-spring:cubic-bezier(.34,1.56,.64,1);--container-sm:640px;--container-md:840px;--container-lg:1080px;--container-xl:1280px;--sidebar-w:264px}[data-theme=dark]{--bg:#161009;--bg-subtle:#120D07;--bg-sunken:#100B06;--surface:#1E1710;--surface-raised:#271E14;--surface-overlay:#2C2217;--scrim:rgba(8,5,2,.6);--ink:#F5EFE7;--ink-2:#E3D9CD;--ink-3:#A99C8D;--ink-4:#877A6C;--ink-inverse:var(--n-900);--ink-on-primary:#2D1500;--border:rgba(255,246,238,.09);--border-strong:rgba(255,246,238,.16);--border-solid:#332818;--border-input:#453723;--primary:#FF5C00;--primary-hover:#FF6F1F;--primary-active:#E24D00;--primary-soft:rgba(252,98,0,.14);--primary-soft-hover:rgba(252,98,0,.22);--link:#FF8A47;--link-hover:#FFA36B;--hover-tint:rgba(255,246,238,.05);--active-tint:rgba(255,246,238,.09);--selected-tint:rgba(252,98,0,.1);--focus-ring:0 0 0 2px var(--surface),0 0 0 4px var(--or-400);--track:#3A2E1C;--skeleton-base:#241C12;--skeleton-sheen:#2E2416;--tooltip-bg:var(--ink);--tooltip-ink:var(--n-900);--success:#3FBD85;--success-strong:#7FDBB2;--success-soft:rgba(63,189,133,.14);--info:#6FA8E4;--info-strong:#A3C8F0;--info-soft:rgba(111,168,228,.14);--warning:#D9A050;--warning-strong:#EBC48D;--warning-soft:rgba(217,160,80,.14);--danger:#E06A50;--danger-strong:#F0A090;--danger-soft:rgba(224,106,80,.15);--shadow-xs:0 1px 2px rgba(0,0,0,.3);--shadow-sm:0 1px 2px rgba(0,0,0,.32),0 2px 8px rgba(0,0,0,.24);--shadow-md:0 1px 2px rgba(0,0,0,.35),0 10px 30px rgba(0,0,0,.35);--shadow-lg:0 2px 4px rgba(0,0,0,.4),0 18px 50px rgba(0,0,0,.5);--shadow-xl:0 4px 8px rgba(0,0,0,.45),0 32px 80px rgba(0,0,0,.6)}:root{--logo-ink:#042848;--logo-or:#FF5C00;--logo-counter:var(--surface)}.lg-ink{fill:var(--logo-ink,#042848)}.lg-or{fill:var(--logo-or,#FF5C00)}.lg-counter{fill:var(--logo-counter,var(--surface))}[data-theme=dark]{--logo-ink:#F5EFE7}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-ui);font-weight:600;font-size:var(--fs-md);letter-spacing:.01em;border-radius:var(--r-sm);border:1px solid transparent;cursor:pointer;white-space:nowrap;height:40px;padding:0 var(--s-4);position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard),transform var(--dur-instant) var(--ease-standard)}.btn:focus-visible{box-shadow:var(--focus-ring)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-sm{height:32px;padding:0 var(--s-3);font-size:var(--fs-sm);border-radius:8px}.btn-lg{height:48px;padding:0 var(--s-6);font-size:var(--fs-body);border-radius:var(--r-md)}.btn-primary{background:var(--primary);color:var(--ink-on-primary);box-shadow:var(--shadow-xs)}.btn-primary:hover:not(:disabled){background:var(--primary-hover);box-shadow:var(--shadow-sm)}.btn-primary:active:not(:disabled){background:var(--primary-active)}.btn-secondary{background:var(--surface);color:var(--ink);border-color:var(--border-input);box-shadow:var(--shadow-xs)}.btn-secondary:hover:not(:disabled){background:var(--bg-subtle);border-color:var(--border-strong)}.btn-secondary:active:not(:disabled){background:var(--bg-sunken)}.btn-soft{background:var(--primary-soft);color:var(--link)}.btn-soft:hover:not(:disabled){background:var(--primary-soft-hover)}.btn-ghost{background:transparent;color:var(--ink-2)}.btn-ghost:hover:not(:disabled){background:var(--hover-tint);color:var(--ink)}.btn-ghost:active:not(:disabled){background:var(--active-tint)}.btn-danger{background:var(--red-500);color:var(--n-0);box-shadow:var(--shadow-xs)}.btn-danger:hover:not(:disabled){background:var(--danger-hover)}.btn-danger:active:not(:disabled){background:var(--red-700)}.btn-link{background:none;border:none;color:var(--link);height:auto;padding:0;font-weight:600}.btn-link:hover{color:var(--link-hover);text-decoration:underline;text-underline-offset:3px}.btn-icon{width:40px;padding:0}.btn-icon.btn-sm{width:32px}.btn.loading{pointer-events:none;color:transparent}.btn.loading:after{content:"";position:absolute;width:16px;height:16px;border-radius:50%;border:2px solid;border-color:currentColor transparent currentColor currentColor;animation:spin .7s linear infinite}.btn-primary.loading:after{border-color:var(--ink-on-primary) transparent var(--ink-on-primary) var(--ink-on-primary)}.btn-secondary.loading:after,.btn-ghost.loading:after{border-color:var(--ink-3) transparent var(--ink-3) var(--ink-3)}@keyframes spin{to{transform:rotate(360deg)}}.field{display:flex;flex-direction:column;gap:6px;max-width:360px}.field label{font-size:var(--fs-sm);font-weight:600;color:var(--ink-2)}.field .hint{font-size:var(--fs-xs);color:var(--ink-4)}.field .msg{font-size:var(--fs-xs);display:flex;align-items:center;gap:5px}.field .msg.error{color:var(--danger-strong)}.field .msg.success{color:var(--success-strong)}.input,.textarea,.select{font-family:var(--font-ui);font-size:var(--fs-md);color:var(--ink);background:var(--surface);border:1px solid var(--border-input);border-radius:var(--r-sm);height:40px;padding:0 var(--s-3);width:100%;transition:border-color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard),background var(--dur-fast) var(--ease-standard)}.input::-moz-placeholder,.textarea::-moz-placeholder{color:var(--ink-4)}.input::placeholder,.textarea::placeholder{color:var(--ink-4)}.input:hover:not(:disabled):not(:focus),.textarea:hover:not(:disabled):not(:focus),.select:hover:not(:disabled){border-color:var(--border-strong)}.input:focus,.textarea:focus,.select:focus{outline:none;border-color:var(--or-500);box-shadow:0 0 0 3px color-mix(in srgb,var(--or-500) 18%,transparent)}.input:disabled,.textarea:disabled,.select:disabled{background:var(--bg-sunken);color:var(--ink-4);cursor:not-allowed}.input.invalid,.textarea.invalid{border-color:var(--danger)}.input.invalid:focus,.textarea.invalid:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--danger) 18%,transparent)}.input.valid{border-color:var(--success)}.textarea{height:auto;min-height:96px;padding:var(--s-2) var(--s-3);line-height:1.55;resize:vertical}.input-wrap{position:relative;display:flex;align-items:center}.input-wrap .lead-ic{position:absolute;left:11px;color:var(--ink-4);pointer-events:none;display:flex}.input-wrap .input{padding-left:36px}.input-wrap .trail{position:absolute;right:8px;display:flex}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:36px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238C7B70' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.menu{background:var(--surface-overlay);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-lg);padding:var(--s-1);min-width:220px}.menu-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;font-size:var(--fs-md);color:var(--ink-2);cursor:pointer;transition:background var(--dur-instant) var(--ease-standard)}.menu-item:hover{background:var(--hover-tint);color:var(--ink)}.menu-item.selected{background:var(--selected-tint);color:var(--link);font-weight:600}.menu-item.destructive{color:var(--danger-strong)}.menu-item.destructive:hover{background:var(--danger-soft)}.menu-sep{height:1px;background:var(--border);margin:var(--s-1) var(--s-2)}.menu-label{font-size:var(--fs-2xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-4);padding:8px 10px 4px}.check,.radio{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:var(--fs-md);color:var(--ink-2);max-width:420px}.check input,.radio input{position:absolute;opacity:0;pointer-events:none}.check .box{width:18px;height:18px;flex-shrink:0;margin-top:2px;border:1.5px solid var(--border-input);border-radius:5px;background:var(--surface);display:grid;place-items:center;transition:all var(--dur-fast) var(--ease-standard)}.check .box svg{opacity:0;transform:scale(.5);transition:all var(--dur-fast) var(--ease-spring)}.check:hover .box{border-color:var(--ink-4)}.check input:checked+.box{background:var(--primary);border-color:var(--primary)}.check input:checked+.box svg{opacity:1;transform:scale(1)}.check input:focus-visible+.box{box-shadow:var(--focus-ring)}.check input:indeterminate+.box{background:var(--primary);border-color:var(--primary)}.check.disabled,.radio.disabled{opacity:.45;cursor:not-allowed}.radio .dot{width:18px;height:18px;flex-shrink:0;margin-top:2px;border:1.5px solid var(--border-input);border-radius:50%;background:var(--surface);display:grid;place-items:center;transition:all var(--dur-fast) var(--ease-standard)}.radio .dot:after{content:"";width:8px;height:8px;border-radius:50%;background:var(--ink-on-primary);transform:scale(0);transition:transform var(--dur-fast) var(--ease-spring)}.radio:hover .dot{border-color:var(--ink-4)}.radio input:checked+.dot{background:var(--primary);border-color:var(--primary)}.radio input:checked+.dot:after{transform:scale(1)}.radio input:focus-visible+.dot{box-shadow:var(--focus-ring)}.switch{display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-size:var(--fs-md);color:var(--ink-2)}.switch input{position:absolute;opacity:0;pointer-events:none}.switch .track{width:40px;height:24px;border-radius:var(--r-full);background:var(--border-input);position:relative;flex-shrink:0;transition:background var(--dur-base) var(--ease-standard)}.switch .track:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:var(--n-0);box-shadow:0 1px 3px #1a110840;transition:transform var(--dur-base) var(--ease-spring)}.switch input:checked+.track{background:var(--primary)}.switch input:checked+.track:after{transform:translate(16px)}.switch input:focus-visible+.track{box-shadow:var(--focus-ring)}.switch.disabled{opacity:.45;cursor:not-allowed}.slider{-webkit-appearance:none;width:100%;max-width:360px;height:24px;background:transparent;cursor:pointer}.slider::-webkit-slider-runnable-track{height:6px;border-radius:3px;background:linear-gradient(to right,var(--primary) var(--fill,50%),var(--track) var(--fill,50%))}.slider::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;margin-top:-7px;border-radius:50%;background:var(--surface);border:2px solid var(--primary);box-shadow:var(--shadow-sm);-webkit-transition:transform var(--dur-fast) var(--ease-spring);transition:transform var(--dur-fast) var(--ease-spring)}.slider::-webkit-slider-thumb:hover{transform:scale(1.12)}.slider:focus-visible{outline:none}.slider:focus-visible::-webkit-slider-thumb{box-shadow:var(--focus-ring)}.slider::-moz-range-track{height:6px;border-radius:3px;background:var(--track)}.slider::-moz-range-progress{height:6px;border-radius:3px;background:var(--primary)}.slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--surface);border:2px solid var(--primary);box-shadow:var(--shadow-sm)}.slider:focus-visible::-moz-range-thumb{box-shadow:var(--focus-ring)}.tag{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:7px;font-size:var(--fs-xs);font-weight:600;background:var(--bg-sunken);color:var(--ink-3);border:1px solid var(--border)}.tag .x{display:flex;cursor:pointer;color:var(--ink-4);border-radius:3px}.tag .x:hover{color:var(--ink)}.badge{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 9px;border-radius:var(--r-full);font-size:var(--fs-2xs);font-weight:700;letter-spacing:.03em}.badge-brand,.badge-orange{background:var(--primary-soft);color:var(--link)}.badge-neutral{background:var(--bg-sunken);color:var(--ink-3);border:1px solid var(--border)}.badge-success{background:var(--success-soft);color:var(--success-strong)}.badge-info{background:var(--info-soft);color:var(--info-strong)}.badge-warning{background:var(--warning-soft);color:var(--warning-strong)}.badge-danger{background:var(--danger-soft);color:var(--danger-strong)}.badge .pulse{width:6px;height:6px;border-radius:50%;background:currentColor}.chip{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 var(--s-3);border-radius:var(--r-full);font-size:var(--fs-sm);font-weight:600;color:var(--ink-2);background:var(--surface);border:1px solid var(--border-input);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:all var(--dur-fast) var(--ease-standard)}.chip:hover{border-color:var(--border-strong);background:var(--bg-subtle)}.chip.selected{background:var(--or-950);border-color:var(--or-950);color:var(--ink-on-dark-fill)}[data-theme=dark] .chip.selected{background:var(--or-100);border-color:var(--or-100);color:var(--or-950)}.chip:focus-visible{box-shadow:var(--focus-ring)}.avatar{display:inline-grid;place-items:center;border-radius:50%;background:var(--or-100);color:var(--or-800);font-weight:700;overflow:hidden;flex-shrink:0;border:1px solid rgba(26,17,8,.06)}[data-theme=dark] .avatar{background:var(--or-950);color:var(--or-300)}.avatar.a-xs{width:24px;height:24px;font-size:10px}.avatar.a-sm{width:32px;height:32px;font-size:12px}.avatar.a-md{width:40px;height:40px;font-size:14px}.avatar.a-lg{width:56px;height:56px;font-size:19px}.avatar.a-xl{width:80px;height:80px;font-size:26px}.avatar-stack{display:flex}.avatar-stack .avatar{border:2px solid var(--surface);margin-left:-8px}.avatar-stack .avatar:first-child{margin-left:0}.avatar-status{position:relative;display:inline-block}.avatar-status:after{content:"";position:absolute;bottom:0;right:0;width:10px;height:10px;border-radius:50%;background:var(--success);border:2px solid var(--surface)}.tip{position:relative;display:inline-flex}.tip .tip-bubble{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%) translateY(4px);background:var(--tooltip-bg);color:var(--tooltip-ink);font-size:var(--fs-xs);font-weight:500;line-height:1.4;padding:6px 10px;border-radius:8px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--dur-fast) var(--ease-standard),transform var(--dur-fast) var(--ease-enter);z-index:60}.tip .tip-bubble:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:var(--tooltip-bg)}.tip:hover .tip-bubble,.tip:focus-within .tip-bubble{opacity:1;transform:translate(-50%) translateY(0)}.alert{display:flex;gap:12px;padding:var(--s-4);border-radius:var(--r-md);font-size:var(--fs-md);border:1px solid;align-items:flex-start;max-width:640px}.alert .alert-title{font-weight:700;margin-bottom:2px}.alert .alert-body{color:inherit;opacity:.85;font-size:var(--fs-sm);line-height:1.5}.alert-info{background:var(--info-soft);border-color:color-mix(in srgb,var(--info) 30%,transparent);color:var(--info-strong)}.alert-success{background:var(--success-soft);border-color:color-mix(in srgb,var(--success) 30%,transparent);color:var(--success-strong)}.alert-warning{background:var(--warning-soft);border-color:color-mix(in srgb,var(--warning) 35%,transparent);color:var(--warning-strong)}.alert-danger{background:var(--danger-soft);border-color:color-mix(in srgb,var(--danger) 30%,transparent);color:var(--danger-strong)}.toast{display:flex;align-items:flex-start;gap:10px;background:var(--surface-overlay);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-lg);padding:var(--s-3) var(--s-4);max-width:380px;font-size:var(--fs-md)}.toast .t-title{font-weight:700;font-size:var(--fs-md)}.toast .t-body{font-size:var(--fs-sm);color:var(--ink-3)}#toastRegion{position:fixed;bottom:24px;right:24px;display:flex;flex-direction:column;gap:10px;z-index:200}#toastRegion .toast{animation:toastIn var(--dur-slow) var(--ease-enter)}@keyframes toastIn{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}@keyframes toastOut{to{opacity:0;transform:translateY(8px) scale(.97)}}.progress{height:6px;border-radius:3px;background:var(--track);overflow:hidden;max-width:360px}.progress>span{display:block;height:100%;border-radius:3px;background:var(--primary);transition:width var(--dur-slower) var(--ease-standard)}.progress.indeterminate>span{width:38%;animation:indet 1.4s var(--ease-standard) infinite}@keyframes indet{0%{transform:translate(-110%)}60%{transform:translate(160%)}to{transform:translate(280%)}}.spinner{width:20px;height:20px;border-radius:50%;border:2px solid var(--track);border-top-color:var(--primary);animation:spin .7s linear infinite}.skeleton{background:linear-gradient(90deg,var(--skeleton-base) 25%,var(--skeleton-sheen) 50%,var(--skeleton-base) 75%);background-size:200% 100%;animation:shimmer 1.6s ease infinite;border-radius:8px}@keyframes shimmer{to{background-position:-200% 0}}.overlay-demo{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--scrim);display:none;align-items:center;justify-content:center;z-index:150;animation:fadeIn var(--dur-base) var(--ease-standard)}.overlay-demo.open{display:flex}@keyframes fadeIn{0%{opacity:0}}.modal{background:var(--surface-overlay);border-radius:var(--r-lg);box-shadow:var(--shadow-xl);width:min(440px,calc(100vw - 48px));padding:var(--s-6);animation:modalIn var(--dur-slow) var(--ease-enter)}@keyframes modalIn{0%{opacity:0;transform:translateY(10px) scale(.97)}}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(400px,90vw);background:var(--surface-overlay);box-shadow:var(--shadow-xl);z-index:151;padding:var(--s-6);transform:translate(105%);transition:transform var(--dur-slow) var(--ease-enter);border-left:1px solid var(--border)}.drawer.open{transform:none}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-xs)}.card.pad{padding:var(--s-6)}.card.interactive{cursor:pointer;transition:box-shadow var(--dur-base) var(--ease-standard),transform var(--dur-base) var(--ease-standard),border-color var(--dur-base) var(--ease-standard)}.card.interactive:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);border-color:var(--border-strong)}.card.raised{box-shadow:var(--shadow-md)}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--border);position:relative}.tab{padding:10px var(--s-4);font-size:var(--fs-md);font-weight:600;color:var(--ink-3);cursor:pointer;border:none;background:none;position:relative;font-family:var(--font-ui);border-radius:8px 8px 0 0;transition:color var(--dur-fast) var(--ease-standard),background var(--dur-fast) var(--ease-standard)}.tab:hover{color:var(--ink);background:var(--hover-tint)}.tab.active{color:var(--link)}.tab.active:after{content:"";position:absolute;left:var(--s-3);right:var(--s-3);bottom:-1px;height:2px;background:var(--primary);border-radius:1px}.tabs.pill{border:none;background:var(--bg-sunken);padding:3px;border-radius:var(--r-sm);display:inline-flex;gap:2px}.tabs.pill .tab{border-radius:8px;padding:6px 14px;font-size:var(--fs-sm)}.tabs.pill .tab.active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-xs)}.tabs.pill .tab.active:after{display:none}.crumbs{display:flex;align-items:center;gap:6px;font-size:var(--fs-sm);color:var(--ink-4)}.crumbs a{color:var(--ink-4);text-decoration:none}.crumbs a:hover{color:var(--link);text-decoration:none}.crumbs .sep{color:var(--n-400);-webkit-user-select:none;-moz-user-select:none;user-select:none}.crumbs .current{color:var(--ink);font-weight:600}.data-table{width:100%;border-collapse:collapse;font-size:var(--fs-md);background:var(--surface)}.data-table th{text-align:left;font-size:var(--fs-2xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-4);padding:10px var(--s-4);border-bottom:1px solid var(--border-strong);white-space:nowrap;background:var(--bg-subtle)}.data-table td{padding:12px var(--s-4);border-bottom:1px solid var(--border);color:var(--ink-2)}.data-table tbody tr{transition:background var(--dur-instant) var(--ease-standard)}.data-table tbody tr:hover{background:var(--hover-tint)}.data-table tbody tr.selected{background:var(--selected-tint)}.data-table .num{font-family:var(--font-mono);font-size:var(--fs-sm);text-align:right}.table-shell{border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;box-shadow:var(--shadow-xs)}.pager{display:flex;align-items:center;gap:4px}.pager button{min-width:32px;height:32px;padding:0 8px;border-radius:8px;border:none;background:none;font-family:var(--font-ui);font-size:var(--fs-sm);font-weight:600;color:var(--ink-3);cursor:pointer;transition:background var(--dur-instant) var(--ease-standard),color var(--dur-instant) var(--ease-standard)}.pager button:hover:not(:disabled){background:var(--hover-tint);color:var(--ink)}.pager button.current{background:var(--or-950);color:var(--ink-on-dark-fill)}[data-theme=dark] .pager button.current{background:var(--or-100);color:var(--or-950)}.pager button:disabled{opacity:.4;cursor:not-allowed}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--s-16) var(--s-8);gap:var(--s-2)}.empty h4{margin:var(--s-4) 0 0;font-size:var(--fs-lg);font-weight:700;color:var(--ink)}.empty p{color:var(--ink-3);font-size:var(--fs-md);max-width:38ch}kbd{font-family:var(--font-mono);font-size:11px;background:var(--bg-sunken);border:1px solid var(--border-strong);border-bottom-width:2px;border-radius:5px;padding:1px 6px;color:var(--ink-3)}.prereq-list{list-style:none;margin:0;padding:0;max-width:560px;display:flex;flex-direction:column;gap:var(--s-3)}.prereq-list li{display:flex;gap:10px;align-items:flex-start}.prereq-list .prereq-mark{width:18px;flex-shrink:0;text-align:center;line-height:20px;font-size:var(--fs-xs);color:var(--ink-4)}.prereq-list .ok .prereq-mark{color:var(--success);font-weight:700}.checklist{list-style:none;margin:0;padding:0;max-width:480px}.checklist li{display:flex;gap:12px;padding:var(--s-3) 0;position:relative}.checklist li+li:before{content:"";position:absolute;left:11px;top:-12px;height:24px;width:2px;background:var(--border-strong)}.checklist .c-dot{width:24px;height:24px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;background:var(--bg-sunken);border:1.5px solid var(--border-input);color:transparent;font-size:12px;z-index:1;transition:all var(--dur-base) var(--ease-standard)}.checklist .done .c-dot{background:var(--success);border-color:var(--success);color:var(--n-0)}.checklist .current .c-dot{background:var(--surface);border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--or-500) 18%,transparent)}.checklist .c-title{font-size:var(--fs-md);font-weight:600;color:var(--ink);line-height:24px}.checklist li:not(.done):not(.current) .c-title{color:var(--ink-3);font-weight:500}.checklist .c-meta{display:block;font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--ink-4);margin-top:2px}.data-table.audit td{font-size:var(--fs-sm)}.data-table .mono{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--ink-3);white-space:nowrap}.hash{font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--ink-4);background:var(--bg-sunken);border:1px solid var(--border);border-radius:5px;padding:2px 6px;letter-spacing:.02em}.artifact{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);background:var(--surface);border:1px solid var(--border-input);border-radius:var(--r-sm);max-width:480px;text-decoration:none;transition:border-color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard)}.artifact:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.artifact:focus-visible{box-shadow:var(--focus-ring)}.artifact .a-ic{width:36px;height:36px;border-radius:9px;background:var(--primary-soft);color:var(--link);display:grid;place-items:center;flex-shrink:0}.artifact .a-name{font-weight:600;font-size:var(--fs-md);color:var(--ink)}.artifact .a-meta{font-size:var(--fs-xs);color:var(--ink-4)}.artifact .a-act{margin-left:auto;color:var(--link);flex-shrink:0}.firewall{display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-xs);font-weight:600;color:var(--ink-3);background:var(--bg-sunken);border:1px dashed var(--border-strong);border-radius:var(--r-full);padding:6px 12px}.firewall svg{flex-shrink:0;color:var(--ink-4)}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-ui);font-size:var(--fs-body);line-height:1.55;-webkit-font-smoothing:antialiased}h1,h2{font-family:var(--font-display);font-weight:500;line-height:1.15;margin:0;text-wrap:balance}h1{font-size:var(--fs-3xl)}h2{font-size:var(--fs-2xl)}h3{font-size:var(--fs-lg);font-weight:600;margin:0}p{margin:0}a{color:var(--link)}a:hover{color:var(--link-hover)}button{font:inherit;cursor:pointer}:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--r-xs)}.shell{max-width:480px;margin:0 auto;padding:var(--s-5) var(--s-4) var(--s-16);display:flex;flex-direction:column;gap:var(--s-5)}.stack-2{display:flex;flex-direction:column;gap:var(--s-2)}.stack-3{display:flex;flex-direction:column;gap:var(--s-3)}.stack-4{display:flex;flex-direction:column;gap:var(--s-4)}.row{display:flex;align-items:center;gap:var(--s-2)}.row-between{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2)}.card{padding:var(--s-5)}.btn-block{width:100%}.oauth-btn{position:relative;display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;padding:0 var(--s-4);border:1px solid var(--border, #d4d4d8);border-radius:var(--radius-md, 6px);background:var(--surface-1, #fff);color:inherit;font-size:var(--fs-sm, .875rem);font-weight:600;text-decoration:none;transition:background-color .15s,border-color .15s}.oauth-btn:hover{background:var(--surface-2, #f4f4f5);border-color:var(--border-strong, #a1a1aa)}.oauth-btn:focus-visible{outline:2px solid var(--accent, #2563eb);outline-offset:2px}.oauth-btn-pending{pointer-events:none;opacity:.7}.oauth-btn-mark{position:absolute;left:var(--s-4);display:flex;align-items:center}.oauth-btn-label{text-align:center;padding:0 var(--s-8)}.oauth-btn-spinner{animation:oauth-spin .8s linear infinite}@keyframes oauth-spin{to{transform:rotate(360deg)}}main.shell .btn,.phone-screen .btn{height:48px;font-size:var(--fs-body);border-radius:var(--r-md)}main.shell .chip,.phone-screen .chip{height:40px}.chip[aria-pressed=true]{background:var(--or-950);border-color:var(--or-950);color:var(--ink-on-dark-fill)}.chip[aria-pressed=true]:hover{background:var(--or-950)}[data-theme=dark] .chip[aria-pressed=true]{background:var(--or-100);border-color:var(--or-100);color:var(--or-950)}.badge-live{background:var(--success-soft);color:var(--success-strong)}.badge-synthetic{background:var(--warning-soft);color:var(--warning-strong)}.badge-frozen{background:var(--bg-sunken);color:var(--ink-3);border:1px solid var(--border)}.portal-standalone{display:block;padding:var(--s-2) var(--s-3);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg-sunken);color:var(--ink-1);font-weight:600;font-size:var(--fs-sm)}.portal-standalone:hover{border-color:var(--link)}.portal-standalone.active{border-color:var(--link);box-shadow:inset 3px 0 0 var(--link)}.badge-risk{background:var(--danger-soft);color:var(--danger-strong);border:1px solid color-mix(in srgb,var(--danger) 35%,transparent)}.error-note{display:flex;gap:12px;align-items:flex-start;padding:var(--s-4);border-radius:var(--r-md);font-size:var(--fs-md);border:1px solid color-mix(in srgb,var(--danger) 30%,transparent);background:var(--danger-soft);color:var(--danger-strong)}.portal-select,.portal-input{font-family:var(--font-ui);font-size:var(--fs-md);color:var(--ink);background:var(--surface);border:1px solid var(--border-input);border-radius:var(--r-sm);height:40px;padding:0 var(--s-3);transition:border-color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard)}.portal-select:hover:not(:disabled),.portal-input:hover:not(:disabled):not(:focus){border-color:var(--border-strong)}.portal-select:focus,.portal-input:focus{outline:none;border-color:var(--or-500);box-shadow:0 0 0 3px color-mix(in srgb,var(--or-500) 18%,transparent)}.portal-select:disabled,.portal-input:disabled{background-color:var(--bg-sunken);color:var(--ink-4);cursor:not-allowed}.portal-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:36px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238C7B70' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.portal-input{width:100%}textarea.portal-input{height:auto;min-height:96px;padding:var(--s-2) var(--s-3);line-height:1.55;resize:vertical}.eyebrow{font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--ink-3)}.muted{color:var(--ink-3);font-size:var(--fs-md)}.small{font-size:var(--fs-sm)}.dev-banner{position:sticky;top:0;z-index:10;background:var(--warning-soft);color:var(--warning-strong);font-size:var(--fs-xs);font-weight:600;letter-spacing:.04em;text-align:center;padding:6px var(--s-3);border-bottom:1px solid var(--border)}.portal-logo,.app-logo{display:block;height:auto}.portal-logo{width:150px}.app-logo{width:128px}.slider-row .slider{max-width:none;height:28px}.slider-row .slider[data-answered=false]::-webkit-slider-runnable-track{background:var(--track)}.slider-row .slider[data-answered=false]::-webkit-slider-thumb{border-color:var(--n-400)}.slider-row .slider[data-answered=false]::-moz-range-progress{background:var(--track)}.slider-row .slider[data-answered=false]::-moz-range-thumb{border-color:var(--n-400)}.slider-scale{display:flex;justify-content:space-between;font-size:var(--fs-xs);color:var(--ink-4)}.slider-value{font-variant-numeric:tabular-nums;font-weight:600;color:var(--ink-2);min-width:40px;text-align:right}.slider-value-empty{color:var(--ink-4);font-weight:500;font-style:italic}.btn-skip{align-self:flex-start;min-height:44px;padding:0 var(--s-2);background:none;border:none;color:var(--link);font-size:var(--fs-sm);font-weight:500;text-decoration:underline;text-underline-offset:3px}.btn-skip:hover{color:var(--link-hover)}.direction{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-2)}.direction .chip{justify-content:center}.step-dots{display:flex;gap:6px}.step-dots span{width:8px;height:8px;border-radius:var(--r-full);background:var(--track);transition:background var(--dur-base) var(--ease-standard)}.step-dots span[data-active=true]{background:var(--primary)}.history-bar{height:6px;border-radius:var(--r-full);background:var(--track);overflow:hidden}.history-bar>i{display:block;height:100%;background:var(--dv-2);border-radius:var(--r-full)}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,148px),1fr));gap:var(--s-3)}.kpi-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s-4)}.focus-progress{height:6px;border-radius:var(--r-full);background:var(--track);overflow:hidden}.focus-progress>i{display:block;height:100%;background:var(--primary);border-radius:var(--r-full);transition:width var(--dur-base) var(--ease-standard)}.focus-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s-2)}.focus-item{display:flex;align-items:center;gap:var(--s-3);font-size:var(--fs-sm)}.focus-dot{width:8px;height:8px;border-radius:var(--r-full);background:var(--primary);flex-shrink:0}.focus-item-done .focus-dot{background:var(--n-400)}.focus-item-done .focus-label{color:var(--ink-4);text-decoration:line-through}.focus-link{color:var(--link);font-weight:600;text-decoration:none}.focus-link:hover{text-decoration:underline}.recent-list{list-style:none;margin:0;padding:0}.recent-row{display:flex;justify-content:space-between;align-items:center;gap:var(--s-3);padding:var(--s-3) 0;border-bottom:1px solid var(--border);text-decoration:none;color:inherit}.recent-row:last-child{border-bottom:none}.recent-row:hover{background:var(--bg-subtle);margin:0 calc(-1 * var(--s-2));padding-left:var(--s-2);padding-right:var(--s-2);border-radius:var(--r-sm)}.recent-title{margin:0;font-weight:600;font-size:var(--fs-sm)}.wsw{width:100%;border-collapse:collapse;font-size:var(--fs-sm);background:var(--surface)}.wsw th{text-align:left;font-size:var(--fs-2xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-4);padding:10px var(--s-2);border-bottom:1px solid var(--border-strong);background:var(--bg-subtle)}.wsw td{padding:12px var(--s-2);border-bottom:1px solid var(--border);color:var(--ink-2);vertical-align:top}.wsw td:first-child{font-weight:600;white-space:nowrap}.wsw tbody tr{transition:background var(--dur-instant) var(--ease-standard)}.wsw tbody tr:hover{background:var(--hover-tint)}.invite-input{font:inherit;height:48px;padding:0 14px;border-radius:var(--r-sm);border:1px solid var(--border-input);background:var(--surface);color:var(--ink);letter-spacing:.06em;width:100%;transition:border-color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard)}.invite-input:focus{outline:none;border-color:var(--or-500);box-shadow:0 0 0 3px color-mix(in srgb,var(--or-500) 18%,transparent)}.skip-link{position:absolute;left:-9999px;z-index:30;background:var(--surface);color:var(--link);padding:var(--s-2) var(--s-4);border-radius:var(--r-sm);border:1px solid var(--border-strong)}.skip-link:focus{left:var(--s-3);top:var(--s-3)}.consent-choice{display:flex;align-items:flex-start;gap:var(--s-3);padding:var(--s-2) var(--s-3);min-height:44px;border:1px solid var(--border-strong);border-radius:var(--r-sm);cursor:pointer;transition:background var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard)}.consent-choice:hover{background:var(--hover-tint)}.consent-choice input{width:20px;height:20px;margin-top:2px;accent-color:var(--primary);flex:none}.consent-choice:has(input:checked){background:var(--selected-tint);border-color:var(--or-300)}.auth-layout{display:grid;min-height:100vh;background:var(--n-50);color:var(--ink)}@media (min-width: 1024px){.auth-layout{grid-template-columns:1fr 1fr}}.auth-layout-form{display:flex;flex-direction:column;justify-content:center;padding:var(--s-8) var(--s-6)}.auth-layout-form-inner{width:100%;max-width:440px;margin:0 auto}.auth-layout-title{font-family:var(--font-display);font-size:var(--fs-2xl);font-weight:600;margin:0;line-height:1.2}.auth-layout-logo img{display:block;height:auto;max-width:100%}.auth-layout-footer{margin-top:var(--s-2)}.auth-layout-panel{display:none;background:var(--brand-navy, #042848);color:#fff;padding:var(--s-10)}@media (min-width: 1024px){.auth-layout-panel{display:flex;align-items:center;justify-content:center}}.auth-layout-panel-inner{max-width:420px}.auth-layout-mark{opacity:.9}.auth-layout-bullets{list-style:none;margin:0;padding:0}.auth-layout-bullets li{display:flex;flex-direction:column;gap:var(--s-1)}.auth-layout-bullets strong{font-size:var(--fs-md)}.portal{display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:calc(100vh - 30px);max-width:var(--container-xl);margin:0 auto}.portal-side{padding:var(--s-6) var(--s-4);border-right:1px solid var(--border);display:flex;flex-direction:column;gap:var(--s-6)}.portal-nav{display:flex;flex-direction:column;gap:2px}.portal-nav a{display:block;padding:8px 10px;border-radius:8px;border-left:3px solid transparent;color:var(--ink-2);text-decoration:none;font-size:var(--fs-md);font-weight:500;transition:background var(--dur-instant) var(--ease-standard),color var(--dur-instant) var(--ease-standard)}.portal-nav a:hover{background:var(--hover-tint);color:var(--ink)}.portal-nav a[aria-current=page]{background:var(--primary-soft);border-left-color:var(--primary);border-radius:0 8px 8px 0;color:var(--link);font-weight:600}.portal-main{padding:var(--s-6) var(--s-8) var(--s-16);display:flex;flex-direction:column;gap:var(--s-5);min-width:0}.portal-nav-toggle{display:none;align-self:flex-start}@media (max-width: 900px){.portal{grid-template-columns:1fr}.portal-side{flex-direction:column;align-items:stretch;border-right:none;border-bottom:1px solid var(--border);gap:var(--s-4)}.portal-nav-toggle{display:inline-flex;margin-bottom:var(--s-2)}.portal-nav{display:none;flex-direction:column;width:100%}.portal-nav.portal-nav--open{display:flex}.portal-main{padding:var(--s-5) var(--s-4) var(--s-16)}}@keyframes pageIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.portal-main>*{animation:pageIn var(--dur-slow) var(--ease-enter) backwards}.portal-main>*:nth-child(2){animation-delay:40ms}.portal-main>*:nth-child(3){animation-delay:80ms}.portal-main>*:nth-child(n+4){animation-delay:.11s}.portal:has(.studio){max-width:none}.portal-main:has(.studio){padding-left:var(--s-5);padding-right:var(--s-5)}.studio{display:flex;align-items:stretch;border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;background:var(--bg);box-shadow:var(--shadow-sm);min-height:620px}.studio-chat{flex:1;min-width:0;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column}.studio-chat-head{padding:var(--s-3) var(--s-5);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:var(--s-3);flex-shrink:0}.studio-chat-head .spark{color:var(--primary);display:flex;flex-shrink:0}.studio-guard{padding:var(--s-2) var(--s-5);background:var(--bg-sunken);border-bottom:1px solid var(--border);font-size:var(--fs-sm);color:var(--ink-3);flex-shrink:0}.studio-chat-body{padding:var(--s-5);display:flex;flex-direction:column;gap:var(--s-4);flex-grow:1;min-height:0}.studio-art{width:452px;flex-shrink:0;display:flex;flex-direction:column;min-width:0}.studio-art-head{padding:var(--s-4) var(--s-4) 0;display:flex;flex-direction:column;gap:var(--s-3);flex-shrink:0}.studio-art-body{padding:var(--s-4);display:flex;flex-direction:column;gap:var(--s-3);min-width:0}.studio-art-empty{padding:var(--s-8) var(--s-4);text-align:center}.studio-steps{border:1px solid var(--border-solid);border-radius:var(--r-sm);overflow:hidden;background:var(--bg)}.studio-step{display:flex;gap:var(--s-2);padding:var(--s-2) var(--s-3);font-size:var(--fs-sm);border-bottom:1px solid var(--border-solid)}.studio-step:last-child{border-bottom:0}@media (max-width: 1240px){.studio{flex-direction:column;min-height:0}.studio-art{width:auto}.studio-chat{border-right:0;border-bottom:1px solid var(--border)}}.studio-tabs{display:flex;gap:var(--s-1)}.ap-rows{display:flex;flex-direction:column}.ap-row{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--s-4);padding:var(--s-3) 0;border-bottom:1px solid var(--border)}.ap-row:last-child{border-bottom:0;padding-bottom:0}.ap-row:first-child{padding-top:0}.ap-row>div{max-width:560px}.ap-row>div>b{font-size:var(--fs-md)}.ap-row p{margin:2px 0 0}.nudge{border-left:3px solid var(--primary)}.nudge-from{font-size:var(--fs-2xs);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-4);margin:0}.nudge-body{margin:0;font-size:var(--fs-md);color:var(--ink)}.nudge-ok{align-self:flex-start}.lib{display:flex;flex-direction:column}.lib-row{border-top:1px solid var(--border)}.lib-row:last-child{border-bottom:1px solid var(--border)}.lib-row>summary{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap;padding:var(--s-3) 0;cursor:pointer;list-style:none}.lib-row>summary::-webkit-details-marker{display:none}.lib-row>summary:before{content:"";width:0;height:0;flex-shrink:0;border-left:5px solid var(--ink-4);border-top:4px solid transparent;border-bottom:4px solid transparent;transition:transform .12s ease}.lib-row[open]>summary:before{transform:rotate(90deg)}.lib-row>summary:hover{background:var(--surface-2)}.lib-row>summary:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--r-sm)}.lib-name{font-weight:600}.lib-meta{font-size:var(--fs-2xs);color:var(--ink-4);margin-left:auto}.mode-note{border-radius:var(--r-sm);padding:var(--s-2) var(--s-3);font-size:var(--fs-sm)}.mode-note[data-mode=observational]{background:var(--success-soft);color:var(--success-strong)}.mode-note[data-mode=intervention]{background:var(--warning-soft);color:var(--warning-strong)}.tile{flex:1;min-width:150px}.tile .tile-num{font-family:var(--font-display);font-size:var(--fs-3xl);font-weight:500;font-variant-numeric:tabular-nums;line-height:1.1}.tile .tile-sub{font-size:var(--fs-xs);color:var(--ink-4)}.tile-basis{font-size:var(--fs-2xs);color:var(--ink-4)}.invariants{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-3)}@media (max-width: 700px){.invariants{grid-template-columns:1fr}}.invariant{display:flex;gap:var(--s-3);align-items:flex-start}.invariant .dot{width:8px;height:8px;border-radius:999px;background:var(--primary);margin-top:7px;flex:none}.chart{margin:0;display:flex;flex-direction:column;gap:var(--s-2)}.chart-table summary{cursor:pointer;font-size:var(--fs-sm);color:var(--link);text-decoration:underline;text-underline-offset:3px;min-height:44px;display:flex;align-items:center;width:-moz-fit-content;width:fit-content}.chart-table summary:hover{color:var(--link-hover)}.chart-table[open]{padding-bottom:var(--s-2)}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.tab-bar{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;display:grid;grid-template-columns:repeat(3,1fr);background:var(--surface);border-top:1px solid var(--border-strong);padding-bottom:env(safe-area-inset-bottom,0px);z-index:20}.tab-bar a{display:flex;align-items:center;justify-content:center;min-height:52px;font-size:var(--fs-md);font-weight:600;color:var(--ink-3);text-decoration:none;transition:background var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard)}.tab-bar a:hover{background:var(--hover-tint);color:var(--ink)}.tab-bar a.active{color:var(--or-800);box-shadow:inset 0 3px 0 var(--primary);background:var(--selected-tint)}.shell-tabbed{padding-bottom:calc(var(--s-16) + 52px + env(safe-area-inset-bottom,0px))}.phone{width:340px;max-width:100%;border:10px solid var(--n-900);border-radius:40px;background:var(--bg);box-shadow:var(--shadow-lg);overflow:hidden;position:relative}.phone-notch{width:110px;height:22px;background:var(--n-900);border-radius:0 0 14px 14px;margin:0 auto}.phone-screen{padding:var(--s-4) var(--s-4) var(--s-6);max-height:560px;overflow-y:auto;display:flex;flex-direction:column;gap:var(--s-2)}.phone-screen>*{flex-shrink:0}.likert{display:flex;gap:6px;flex-wrap:wrap}.likert-dot{width:36px;height:36px;border-radius:var(--r-full);border:1px solid var(--border-strong);background:var(--surface);color:var(--ink-2);font-size:var(--fs-sm);font-weight:600;display:inline-flex;align-items:center;justify-content:center;transition:background var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard)}.likert-dot:hover{background:var(--hover-tint)}.likert-dot[aria-pressed=true]{background:var(--primary);border-color:var(--primary);color:var(--ink-on-primary)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.slip-sheet{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--s-3)}.slip{border:1px dashed var(--border-input);border-radius:var(--r-sm);padding:var(--s-4);display:flex;flex-direction:column;gap:var(--s-2);-moz-column-break-inside:avoid;break-inside:avoid}.slip-study{font-size:var(--fs-xs);color:var(--ink-3);margin:0}.slip-code{font-family:var(--font-mono);font-size:var(--fs-xl);letter-spacing:.08em;margin:0}.slip-url{font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--ink-3);margin:0}.slip-qr{display:block}.slip-warn{font-size:var(--fs-2xs);font-weight:700;color:var(--danger-strong);margin:0}@media print{.portal-side,.dev-banner,.skip-link,.portal-main>*:not(.print-slips){display:none!important}.portal{display:block}.print-slips{border:0;box-shadow:none;padding:0}.slip-sheet{grid-template-columns:repeat(3,1fr)}.slip{border-style:solid}}.task-field{width:100%;height:220px;display:grid;place-items:center;border:1px solid var(--border-input);border-radius:var(--r-md);background:var(--surface-2);padding:0;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.task-field[data-phase=stimulus]{background:var(--surface)}.task-go,.task-nogo{display:block;width:96px;height:96px}.task-go{border-radius:50%;background:var(--primary)}.task-nogo{border-radius:var(--r-sm);background:var(--ink-3)}.flanker-row{display:flex;gap:var(--s-3);align-items:center}.flanker-side,.flanker-target{font-size:44px;line-height:1;color:var(--ink)}.flanker-key{min-width:116px}
