:root{color-scheme:light;--font-ui:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-display:"Source Serif 4",Georgia,"Times New Roman",serif;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:2rem;--text-4xl:2.75rem;--text-5xl:4rem;--leading-xs:1rem;--leading-sm:1.25rem;--leading-base:1.5rem;--leading-lg:1.75rem;--leading-xl:1.875rem;--leading-2xl:2rem;--leading-3xl:2.5rem;--leading-4xl:3rem;--leading-5xl:4rem;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--space-9:6rem;--radius-none:0;--radius-sm:0.125rem;--radius-md:0.25rem;--radius-pill:999px;--ease-standard:cubic-bezier(0.2,0,0,1);--duration-fast:120ms;--duration-base:180ms;--duration-slow:240ms;--colour-bg:#F7F7F3;--colour-surface:#FFFFFF;--colour-surface-muted:#EFEFEB;--colour-text:#0B0B0A;--colour-text-muted:#5F625E;--colour-border:#D8D8D1;--colour-accent:#B3261E;--colour-accent-secondary:#003F7D;--colour-success:#1F6F43;--colour-warning:#9A6B00;--colour-danger:#B3261E;--colour-focus:#003F7D;--shadow-overlay:0 18px 48px rgb(11 11 10/0.18)}[data-theme=dark]{color-scheme:dark;--colour-bg:#0B0B0A;--colour-surface:#151612;--colour-surface-muted:#20221C;--colour-text:#F7F7F3;--colour-text-muted:#B9BBB4;--colour-border:#3A3C35;--colour-accent:#F05A50;--colour-accent-secondary:#77B7FF;--colour-success:#5DCC8B;--colour-warning:#E2B84B;--colour-danger:#F05A50;--colour-focus:#77B7FF;--shadow-overlay:0 18px 48px rgb(0 0 0/0.45)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--colour-bg:#0B0B0A;--colour-surface:#151612;--colour-surface-muted:#20221C;--colour-text:#F7F7F3;--colour-text-muted:#B9BBB4;--colour-border:#3A3C35;--colour-accent:#F05A50;--colour-accent-secondary:#77B7FF;--colour-success:#5DCC8B;--colour-warning:#E2B84B;--colour-danger:#F05A50;--colour-focus:#77B7FF;--shadow-overlay:0 18px 48px rgb(0 0 0/0.45)}}*{box-sizing:border-box}html{font-family:var(--font-ui);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}body,html{background:var(--colour-bg);color:var(--colour-text)}body{margin:0;font-size:var(--text-base);line-height:var(--leading-base)}a{color:var(--colour-accent-secondary);text-underline-offset:.18em}a:hover{text-decoration-thickness:.12em}::selection{background:var(--colour-accent);color:#FFFFFF}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--colour-focus);outline-offset:2px}.display{font-family:var(--font-display);font-size:clamp(var(--text-3xl),6vw,var(--text-5xl));line-height:.98;letter-spacing:-.055em;font-weight:650}.screen-title{font-family:var(--font-ui);font-size:var(--text-3xl);line-height:var(--leading-3xl);letter-spacing:-.04em;font-weight:800}.section-title{font-size:var(--text-2xl);line-height:var(--leading-2xl);letter-spacing:-.035em;font-weight:700}.body-large{font-size:var(--text-lg);line-height:var(--leading-lg)}.body-large,.meta-label{color:var(--colour-text-muted)}.meta-label{font-size:var(--text-xs);line-height:var(--leading-xs);letter-spacing:.16em;text-transform:uppercase;font-weight:700}.app-shell{min-height:100dvh;display:grid;grid-template-rows:auto 1fr;background:var(--colour-bg)}.app-topbar{min-height:64px;justify-content:space-between;gap:var(--space-4);padding:0 var(--space-5);border-bottom:1px solid var(--colour-border);background:var(--colour-surface)}.app-brand,.app-topbar{display:flex;align-items:center}.app-brand{gap:var(--space-3);min-width:0}.app-brand-mark{width:36px;height:36px;display:grid;place-items:center;background:var(--colour-text);color:var(--colour-bg);font-weight:800}.app-brand-text{font-size:var(--text-sm);line-height:var(--leading-sm);font-weight:800;letter-spacing:.14em;text-transform:uppercase}.app-layout{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:0}.app-rail{border-right:1px solid var(--colour-border);background:var(--colour-surface);padding:var(--space-4)}.app-content{min-width:0;padding:var(--space-6)}.nav-list{display:grid;grid-gap:var(--space-1);gap:var(--space-1);margin:0;padding:0;list-style:none}.nav-link{display:flex;align-items:center;gap:var(--space-3);min-height:44px;padding:var(--space-3) var(--space-4);border-left:4px solid transparent;color:var(--colour-text-muted);text-decoration:none;font-weight:600}.nav-link:hover,.nav-link[aria-current=page]{background:var(--colour-surface-muted);color:var(--colour-text)}.nav-link[aria-current=page]{border-left-color:var(--colour-accent)}.card,.panel{background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius-md)}.panel{padding:var(--space-6)}.card{padding:var(--space-5)}.card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--colour-border)}.card-title{margin:0;font-size:var(--text-xl);line-height:var(--leading-xl);font-weight:700;letter-spacing:-.03em}.button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:0 var(--space-4);border:1px solid transparent;border-radius:var(--radius-sm);font:inherit;font-size:var(--text-sm);font-weight:700;line-height:var(--leading-sm);text-decoration:none;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.button:active{transform:translateY(1px)}.button-primary{background:var(--colour-text);color:var(--colour-bg);border-color:var(--colour-text)}.button-primary:hover{background:var(--colour-accent);border-color:var(--colour-accent);color:#FFFFFF}.button-secondary{background:transparent;color:var(--colour-text);border-color:var(--colour-border)}.button-secondary:hover{border-color:var(--colour-text);background:var(--colour-surface-muted)}.button-danger{background:var(--colour-danger);color:#FFFFFF;border-color:var(--colour-danger)}.field{display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.field-label{font-size:var(--text-sm);font-weight:700;color:var(--colour-text)}.field-helper{font-size:var(--text-sm);color:var(--colour-text-muted)}.input,.select,.textarea{width:100%;min-height:44px;border:1px solid var(--colour-border);border-radius:var(--radius-sm);background:var(--colour-surface);color:var(--colour-text);font:inherit;padding:var(--space-3) var(--space-4)}.textarea{min-height:120px;resize:vertical}.input[aria-invalid=true],.select[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--colour-danger)}.field-error{color:var(--colour-danger);font-size:var(--text-sm);font-weight:600}.status{display:inline-flex;align-items:center;gap:var(--space-2);min-height:28px;padding:0 var(--space-3);border-radius:var(--radius-pill);border:1px solid var(--colour-border);font-size:var(--text-xs);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.status-info{color:var(--colour-accent-secondary);border-color:color-mix(in srgb,var(--colour-accent-secondary),transparent 55%)}.status-success{color:var(--colour-success);border-color:color-mix(in srgb,var(--colour-success),transparent 55%)}.status-warning{color:var(--colour-warning);border-color:color-mix(in srgb,var(--colour-warning),transparent 55%)}.status-danger{color:var(--colour-danger);border-color:color-mix(in srgb,var(--colour-danger),transparent 55%)}.alert{border:1px solid var(--colour-border);border-left-width:5px;background:var(--colour-surface);padding:var(--space-4)}.alert-info{border-left-color:var(--colour-accent-secondary)}.alert-success{border-left-color:var(--colour-success)}.alert-warning{border-left-color:var(--colour-warning)}.alert-danger{border-left-color:var(--colour-danger)}.theme-toggle{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1);border:1px solid var(--colour-border);border-radius:var(--radius-pill);background:var(--colour-surface-muted)}.theme-toggle button{min-height:36px;padding:0 var(--space-3);border:0;border-radius:var(--radius-pill);background:transparent;color:var(--colour-text-muted);font:inherit;font-size:var(--text-sm);font-weight:700;cursor:pointer}.theme-toggle button[aria-pressed=true]{background:var(--colour-text);color:var(--colour-bg)}.grid-12{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-gap:var(--space-5);gap:var(--space-5)}.stack-sm{display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.stack-md{display:grid;grid-gap:var(--space-5);gap:var(--space-5)}.stack-lg{display:grid;grid-gap:var(--space-7);gap:var(--space-7)}@media (max-width:900px){.app-layout{grid-template-columns:1fr}.app-rail{display:none}.app-content{padding:var(--space-4)}.grid-12{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-4)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:1ms!important}}.auth-screen{min-height:100dvh;display:grid;place-items:center;padding:var(--space-5);background:var(--colour-bg)}.auth-card{width:100%;max-width:420px}.app-main{min-width:0;padding:var(--space-6);max-width:1200px;margin:0 auto;width:100%}.topbar-actions{display:flex;align-items:center;gap:var(--space-3);min-width:0}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;padding-bottom:var(--space-5);border-bottom:1px solid var(--colour-border);margin-bottom:var(--space-6)}.page-header .stack-sm{min-width:0}.toolbar{gap:var(--space-3);flex-wrap:wrap}.spread,.toolbar{display:flex;align-items:center}.spread{justify-content:space-between;gap:var(--space-4)}.muted{color:var(--colour-text-muted)}.row-link{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-5);border:1px solid var(--colour-border);border-radius:var(--radius-md);background:var(--colour-surface);color:var(--colour-text);text-decoration:none;transition:border-color var(--duration-fast) var(--ease-standard)}.row-link:hover{border-color:var(--colour-text)}.row-list{display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.tabs{display:flex;gap:var(--space-1);border-bottom:1px solid var(--colour-border);margin-bottom:var(--space-6);flex-wrap:wrap}.tab{min-height:44px;padding:0 var(--space-4);border:0;border-bottom:3px solid transparent;background:transparent;color:var(--colour-text-muted);font:inherit;font-weight:600;cursor:pointer}.tab[aria-selected=true]{color:var(--colour-text);border-bottom-color:var(--colour-accent)}.workspace{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);grid-gap:var(--space-5);gap:var(--space-5);align-items:start}.workspace-outline{position:-webkit-sticky;position:sticky;top:var(--space-5)}@media (max-width:900px){.workspace{grid-template-columns:1fr}.workspace-outline{position:static}.app-main{padding:var(--space-4)}}.status-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;padding:var(--space-4) var(--space-5);border:1px solid var(--colour-border);border-radius:var(--radius-md);background:var(--colour-surface-muted)}.status-outline{color:var(--colour-text-muted);border-color:var(--colour-border)}.status-draft{color:var(--colour-warning);border-color:color-mix(in srgb,var(--colour-warning),transparent 55%)}.status-ready{color:var(--colour-accent-secondary);border-color:color-mix(in srgb,var(--colour-accent-secondary),transparent 55%)}.status-recorded{color:var(--colour-accent);border-color:color-mix(in srgb,var(--colour-accent),transparent 55%)}.status-complete{color:var(--colour-success);border-color:color-mix(in srgb,var(--colour-success),transparent 55%)}.token-box{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-4);border:1px solid var(--colour-border);border-radius:var(--radius-sm);background:var(--colour-surface-muted);font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:var(--text-sm);word-break:break-all}.bottom-nav{display:none}@media (max-width:900px){.bottom-nav{position:-webkit-sticky;position:sticky;bottom:0;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;border-top:1px solid var(--colour-border);background:var(--colour-surface);z-index:10}.bottom-nav a{min-height:56px;display:grid;place-items:center;padding:var(--space-2);color:var(--colour-text-muted);text-decoration:none;font-size:var(--text-xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase;border-top:3px solid transparent}.bottom-nav a[aria-current=page]{color:var(--colour-text);border-top-color:var(--colour-accent)}}.record-screen{min-height:100dvh;display:flex;flex-direction:column;gap:var(--space-6);padding:var(--space-6);max-width:760px;margin:0 auto}.record-script{flex:1 1;border:1px solid var(--colour-border);border-radius:var(--radius-md);background:var(--colour-surface);padding:var(--space-6);font-size:var(--text-xl);line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.record-button{min-height:88px;font-size:var(--text-2xl);font-weight:800;letter-spacing:.02em}.record-status{text-align:center;font-size:var(--text-lg);font-weight:700}.record-dot{display:inline-block;width:.7em;height:.7em;border-radius:var(--radius-pill);background:var(--colour-accent);margin-right:var(--space-2);vertical-align:baseline}.full-width{width:100%}.empty-state{display:grid;grid-gap:var(--space-3);gap:var(--space-3);padding:var(--space-8) var(--space-5);text-align:center;border:1px dashed var(--colour-border);border-radius:var(--radius-md)}.empty-state h2{font-family:var(--font-display);font-weight:600;margin:0}.inline-actions{display:flex;gap:var(--space-3);flex-wrap:wrap}.field-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-4);gap:var(--space-4)}@media (max-width:640px){.field-row{grid-template-columns:1fr}}@media (max-width:900px){.app-topbar{flex-wrap:wrap;gap:var(--space-3);padding:var(--space-3) var(--space-4)}.topbar-actions .meta-label{display:none}.app-main{padding-bottom:var(--space-8)}}@media (max-width:480px){.theme-toggle button{padding:0 var(--space-2)}.page-header{flex-direction:column;align-items:stretch}}