@font-face{font-family:Inter;src:url('/fonts/inter.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:'Space Grotesk';src:url('/fonts/space-grotesk.woff2') format('woff2');font-weight:300 700;font-display:swap}
@font-face{font-family:'JetBrains Mono';src:url('/fonts/jetbrains-mono.woff2') format('woff2');font-weight:100 800;font-display:swap}

/* Verdikt's existing Hallmark tokens, copied without color or font changes. */
:root {
  color-scheme: dark;
  --paper: oklch(0.165 0.012 285); --paper-2: oklch(0.195 0.013 285);
  --surface: oklch(0.215 0.014 285); --surface-2: oklch(0.255 0.016 286); --surface-3: oklch(0.3 0.018 286);
  --line: oklch(0.32 0.016 286); --line-soft: oklch(0.265 0.014 286);
  --ink: oklch(0.975 0.004 285); --ink-dim: oklch(0.76 0.012 286); --ink-faint: oklch(0.6 0.013 286); --ink-ghost: oklch(0.47 0.013 286);
  --accent: oklch(0.66 0.19 292); --accent-strong: oklch(0.72 0.2 292); --accent-ink: oklch(0.16 0.02 292);
  --accent-soft: oklch(0.66 0.19 292 / 0.14); --accent-line: oklch(0.66 0.19 292 / 0.42);
  --success: oklch(0.75 0.16 158); --success-soft: oklch(0.75 0.16 158 / 0.14);
  --warn: oklch(0.8 0.145 78); --warn-soft: oklch(0.8 0.145 78 / 0.14);
  --danger: oklch(0.66 0.205 24); --danger-soft: oklch(0.66 0.205 24 / 0.14);
  --font-body:Inter,ui-sans-serif,system-ui,sans-serif; --font-display:'Space Grotesk',ui-sans-serif,system-ui,sans-serif;
  --font-mono:'JetBrains Mono',ui-monospace,monospace; --ease-out:cubic-bezier(.22,1,.36,1);
}
[data-theme='light']{
  color-scheme:light; --paper:oklch(0.975 0.006 285); --paper-2:oklch(0.95 0.008 285);
  --surface:oklch(0.995 0.003 285); --surface-2:oklch(0.925 0.012 285); --surface-3:oklch(0.88 0.014 285);
  --line:oklch(0.75 0.018 285); --line-soft:oklch(0.86 0.012 285); --ink:oklch(0.19 0.018 285);
  --ink-dim:oklch(0.4 0.018 285); --ink-faint:oklch(0.5 0.016 285); --ink-ghost:oklch(0.62 0.014 285);
  --accent:oklch(0.57 0.2 292); --accent-strong:oklch(0.5 0.21 292); --accent-ink:white;
  --accent-soft:oklch(0.57 0.2 292 / 0.1); --accent-line:oklch(0.57 0.2 292 / 0.32);
  --success:oklch(0.46 0.14 158); --success-soft:oklch(0.46 0.14 158 / 0.1);
  --warn:oklch(0.53 0.13 78); --warn-soft:oklch(0.53 0.13 78 / 0.1);
  --danger:oklch(0.52 0.19 24); --danger-soft:oklch(0.52 0.19 24 / 0.1);
}
*{box-sizing:border-box} body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased}
button,input,textarea,select{font:inherit} button,a,input,select,textarea{touch-action:manipulation} button{cursor:pointer} button:disabled{cursor:not-allowed;opacity:.5}
a{color:inherit;text-decoration:none} h1,h2,h3,p{margin:0} h1,h2,h3{font-family:var(--font-display);letter-spacing:-.035em} h1{font-size:36px;line-height:1.2;font-weight:650} h2{font-size:23px;line-height:1.35;font-weight:600} h3{font-size:17px;font-weight:600}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--accent-strong);outline-offset:4px} svg{flex-shrink:0}
.shell{display:flex;height:calc(100dvh - 80px);overflow:auto}.sidebar{position:sticky;top:0;display:flex;flex-direction:column;height:calc(100dvh - 80px);width:264px;flex-shrink:0;background:var(--paper-2);border-right:1px solid var(--line-soft);padding:20px 12px 16px}
.brand{display:flex;align-items:center;gap:10px;padding:0 8px 24px}.brand-mark{display:grid;place-items:center;width:32px;height:32px;background:var(--accent-soft);color:var(--accent-strong);border-radius:6px}.brand strong{display:block;font:600 15px var(--font-display);letter-spacing:-.025em}.brand small{display:block;margin-top:4px;font-size:10px;letter-spacing:.18em;color:var(--ink-faint);text-transform:uppercase}
.nav{display:grid;gap:3px}.nav-item{display:flex;align-items:center;gap:12px;min-height:44px;border:0;border-radius:8px;padding:10px 12px;background:none;color:var(--ink-dim);text-align:left;font-size:13px;font-weight:500}.nav-item svg{color:var(--ink-faint)}.nav-item.active{background:var(--surface);color:var(--ink)}.nav-item.active svg{color:var(--accent-strong)}.nav-item:hover{background:var(--surface)}
.sidebar-bottom{margin-top:auto}.workspace-note{padding:16px;border:1px solid var(--line-soft);border-radius:12px;font-size:12px;color:var(--ink-faint)}.workspace-note strong{display:block;color:var(--ink-dim);font-weight:500;margin-bottom:5px}.workspace-note a{display:block;margin-top:8px;color:var(--accent-strong)}
.main-shell{flex:1;min-width:0}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:12px;min-height:65px;border-bottom:1px solid var(--line-soft);padding:12px 32px;background:color-mix(in oklab,var(--paper) 90%,transparent);backdrop-filter:blur(12px)}.network{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--ink-dim)}.dot{width:7px;height:7px;border-radius:50%;background:var(--success)}.badge{display:inline-flex;align-items:center;gap:6px;border-radius:100px;padding:3px 9px;font-size:10px;font-weight:650;letter-spacing:.055em;text-transform:uppercase;background:var(--warn-soft);color:var(--warn)}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:16px}.topbar-note{color:var(--ink-faint);font-size:11px}.icon-button{display:grid;place-items:center;min-width:40px;min-height:40px;background:transparent;border:1px solid var(--line-soft);border-radius:9px;color:var(--ink-dim)}
.main{max-width:1450px;margin:auto;padding:38px 52px 118px}.page-heading{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:32px}.eyebrow{font-size:12px;color:var(--ink-faint);margin-bottom:10px}.intro{max-width:600px;color:var(--ink-dim);margin-top:12px;font-size:14px;line-height:1.75}.heading-note{display:flex;align-items:center;gap:7px;margin-top:18px;color:var(--ink-faint);font-size:11px;white-space:nowrap}.heading-note svg{color:var(--success)}
.workspace{display:grid;grid-template-columns:166px minmax(0,1fr) 235px;gap:25px;align-items:start}.step-rail{list-style:none;margin:0;padding:0}.step-rail li{position:relative}.step-rail li:not(:last-child)::after{content:'';position:absolute;left:14px;top:40px;height:29px;width:1px;background:var(--line-soft)}.step-button{display:flex;align-items:center;gap:10px;width:100%;min-height:65px;text-align:left;background:transparent;border:0;color:var(--ink-faint);font-size:12px}.step-number{display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;height:28px;width:28px;flex-shrink:0;font-size:11px}.step-button.active{color:var(--ink)}.step-button.active .step-number{color:var(--accent-strong);background:var(--accent-soft);border-color:var(--accent-line)}.step-button.done .step-number{color:var(--success);border-color:color-mix(in oklab,var(--success) 40%,transparent)}
.card{background:var(--surface);border:1px solid var(--line-soft);border-radius:16px}.form-card{overflow:hidden}.section-top{padding:27px 29px 23px;border-bottom:1px solid var(--line-soft)}.section-number{display:block;color:var(--accent-strong);font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;margin-bottom:10px}.section-description{margin-top:10px;font-size:13px;color:var(--ink-dim);line-height:1.75}.form-body{padding:26px 29px}.field{margin-bottom:23px}.field:last-child{margin-bottom:0}.field label,.field-label{display:block;font-weight:550;font-size:13px;color:var(--ink);margin-bottom:9px}.optional{font-weight:400;color:var(--ink-faint);font-size:11px;margin-left:5px}.field input,.field textarea,.field select{display:block;width:100%;background:var(--paper-2);border:1px solid var(--line);border-radius:10px;color:var(--ink);padding:12px 13px;outline:none;min-height:46px}.field textarea{resize:vertical;min-height:143px;line-height:1.75}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent-strong);box-shadow:0 0 0 3px var(--accent-soft)}.field input::placeholder,.field textarea::placeholder{color:var(--ink-ghost)}.field [aria-invalid='true']{border-color:var(--danger)}.hint{font-size:11px;line-height:1.7;color:var(--ink-faint);margin-top:7px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.helper-link{background:transparent;border:0;color:var(--accent-strong);font-size:11px;padding:0;min-height:36px;text-align:left}.form-actions{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:19px 29px;border-top:1px solid var(--line-soft)}
.button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);border-radius:12px;padding:10px 16px;font-size:12px;font-weight:600;color:var(--ink-dim);background:transparent;transition:filter 120ms,background 120ms}.button:hover{background:var(--surface-2);color:var(--ink)}.button.primary{border-color:transparent;background:var(--accent);color:var(--accent-ink)}.button.primary:hover{filter:brightness(1.1)}.button.ghost{border-color:transparent;padding-left:0}.save-note{font-size:11px;color:var(--ink-faint)}
.aside-card{padding:21px 22px}.label{font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-faint)}.how-list{list-style:none;padding:0;margin:18px 0 0}.how-list li{display:flex;gap:10px;padding-bottom:20px;color:var(--ink-dim);font-size:12px;line-height:1.7}.how-list li:last-child{padding-bottom:0}.how-list span{display:grid;place-items:center;flex-shrink:0;background:var(--paper-2);width:24px;height:24px;border-radius:7px;color:var(--ink-faint);font:11px var(--font-mono)}.aside-foot{margin:19px 0 0;padding-top:15px;border-top:1px solid var(--line-soft);font-size:11px;color:var(--ink-faint)}.info-note{display:flex;align-items:flex-start;gap:10px;margin-top:18px;color:var(--ink-faint);font-size:11px;line-height:1.8}.info-note svg{margin-top:3px;flex-shrink:0}.accent-note{padding:14px 16px;background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:12px;color:var(--ink-dim);font-size:12px;line-height:1.8}.notice{padding:13px 16px;border:1px solid color-mix(in oklab,var(--warn) 35%,transparent);border-radius:10px;background:var(--warn-soft);font-size:12px;color:var(--ink-dim);line-height:1.8}.notice strong{color:var(--warn);font-weight:550}.error{color:var(--danger);background:var(--danger-soft);padding:12px 14px;border-radius:10px;margin-bottom:18px;font-size:12px}
.upload-area{display:block;border:1px dashed var(--line);border-radius:12px;padding:24px;text-align:center;background:var(--paper-2)}.upload-area svg{color:var(--ink-faint);margin-bottom:10px}.upload-area strong{display:block;font-weight:500;font-size:13px}.upload-area span{display:block;font-size:11px;color:var(--ink-faint);margin-top:4px}.upload-area input{display:block;width:100%;font-size:11px;color:var(--ink-dim);margin-top:18px}.files{list-style:none;margin:14px 0;padding:0}.files li{display:flex;align-items:center;gap:8px;padding:9px 0;border-bottom:1px solid var(--line-soft);font-size:12px;overflow-wrap:anywhere}.files .file-size{margin-left:auto;color:var(--ink-faint);font-size:11px;white-space:nowrap}.files button{border:0;background:none;color:var(--ink-faint);padding:8px;min-width:36px;min-height:36px}
.choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:10px 0 20px}.choice{display:flex;flex-direction:column;gap:3px;border:1px solid var(--line);border-radius:10px;background:var(--paper-2);padding:15px 12px;color:var(--ink-dim);text-align:left;min-height:80px}.choice strong{font-size:12px;font-weight:550}.choice span{color:var(--ink-faint);font-size:11px}.choice.selected{border-color:var(--accent-line);background:var(--accent-soft);color:var(--ink)}.choice.selected span{color:var(--accent-strong)}
.fee{display:flex;align-items:baseline;gap:7px;margin:9px 0;font:600 29px var(--font-display);letter-spacing:-.04em}.fee span{font:12px var(--font-body);color:var(--ink-faint);letter-spacing:0}.fee-details{padding:16px 0;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);display:grid;gap:9px;margin-top:18px}.fee-row{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;color:var(--ink-dim);font-size:12px}.fee-row span:last-child{color:var(--ink);font-variant-numeric:tabular-nums;text-align:right}.details{border-top:1px solid var(--line-soft);margin-top:19px;padding-top:13px;color:var(--ink-faint);font-size:11px}.details summary{cursor:pointer;min-height:32px;line-height:32px}.details p{margin-top:9px;line-height:1.8}.details a{color:var(--accent-strong);text-decoration:underline}.review-section{padding:16px 0;border-bottom:1px solid var(--line-soft)}.review-section:last-of-type{border:0}.review-section p{margin:7px 0;color:var(--ink-dim);font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}.review-section strong{font-weight:550}.review-head{display:flex;justify-content:space-between;align-items:center}.review-head button{min-height:32px}.check-row{display:flex;align-items:flex-start;gap:10px;font-size:12px;color:var(--ink-dim);line-height:1.75;margin-top:17px}.check-row input{margin-top:5px;accent-color:var(--accent);width:16px;height:16px;flex-shrink:0}.review-note{margin-top:20px}
.empty{max-width:720px;padding:40px;margin:auto}.empty p{color:var(--ink-dim);margin:12px 0 24px}.draft-title{white-space:pre-wrap;overflow-wrap:anywhere}.prose{max-width:760px;margin:auto}.prose section{padding:24px 28px;margin-bottom:18px}.prose p{color:var(--ink-dim);margin-top:12px}.prose ul{color:var(--ink-dim);padding-left:20px;font-size:13px}.glossary{width:100%;border-collapse:collapse;margin-top:16px}.glossary th,.glossary td{text-align:left;border-bottom:1px solid var(--line-soft);padding:14px 8px;font-size:12px}.glossary th{color:var(--ink-faint);font-weight:500}.glossary td:last-child{color:var(--ink-dim)}
.overview-workspace{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:25px;align-items:start}.overview-sections{display:grid;gap:20px}.overview-section{padding:25px 29px}.overview-section h2{margin-bottom:9px}.overview-section .section-description{margin-bottom:23px}.sticky-summary{position:sticky;top:88px}.overview-summary dl{margin:18px 0}.overview-summary dt{font-size:10px;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.07em;margin-top:18px}.overview-summary dd{margin:5px 0 0;font-size:12px;color:var(--ink-dim);overflow-wrap:anywhere}.overview-summary .button{width:100%;margin-top:18px}
.conversation-workspace{max-width:810px;margin:auto}.conversation-progress{display:flex;justify-content:space-between;gap:12px;color:var(--ink-faint);font-size:12px;margin-bottom:21px}.progress-track{height:3px;background:var(--line-soft);border-radius:5px;flex:1;align-self:center}.progress-track span{display:block;height:3px;border-radius:5px;background:var(--accent);transition:width 200ms var(--ease-out)}.guide-message{display:flex;align-items:flex-start;gap:13px;margin-bottom:23px}.guide-avatar{display:grid;place-items:center;border:1px solid var(--accent-line);background:var(--accent-soft);color:var(--accent-strong);border-radius:11px;width:37px;height:37px;flex-shrink:0}.guide-copy{max-width:630px;background:var(--paper-2);border:1px solid var(--line-soft);border-radius:0 14px 14px 14px;padding:17px 21px}.guide-copy h2{font-size:20px}.guide-copy p{font-size:13px;color:var(--ink-dim);margin-top:7px}.conversation-card{margin-left:50px}.conversation-footer{margin-left:50px;display:flex;justify-content:space-between;gap:15px;padding:20px 0}.conversation-history{border-left:1px solid var(--line-soft);margin:25px 0 0 18px;padding:0 0 0 31px}.conversation-history p{font-size:12px;color:var(--ink-faint);margin-bottom:8px}.conversation-history strong{color:var(--ink-dim);font-weight:500}
.prototype-bar{position:fixed;z-index:50;bottom:20px;left:calc(50% + 132px);transform:translateX(-50%);display:flex;align-items:center;gap:5px;border:1px solid var(--line);border-radius:14px;padding:7px 8px;background:var(--surface-2);box-shadow:0 8px 35px #0006;max-width:calc(100vw - 24px)}.prototype-bar .prototype-label{padding:0 10px;font-size:10px;color:var(--ink-faint);white-space:nowrap}.prototype-bar button{display:flex;justify-content:center;align-items:center;min-height:36px;border:0;border-radius:8px;padding:0 12px;background:transparent;color:var(--ink-dim);font-size:11px;white-space:nowrap}.prototype-bar button[aria-pressed='true']{background:var(--accent-soft);color:var(--accent-strong)}.prototype-bar button:hover{background:var(--surface-3)}.prototype-state{margin-top:24px;color:var(--ink-faint);font-size:10px}.prototype-state summary{cursor:pointer;min-height:32px}.prototype-state pre{font-family:var(--font-mono);font-size:10px;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink-dim);padding:12px;background:var(--paper-2);border:1px solid var(--line-soft);border-radius:9px}
.skip-link{position:fixed;left:12px;top:-70px;z-index:100;background:var(--accent);color:var(--accent-ink);padding:12px;border-radius:8px}.skip-link:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1500px){.main{padding:45px 65px 118px}.workspace{grid-template-columns:180px minmax(0,1fr) 270px;gap:30px}}
@media(max-width:1200px){.main{padding:30px 30px 112px}.workspace{grid-template-columns:145px minmax(0,1fr);gap:20px}.support-aside{grid-column:2;display:grid;grid-template-columns:1fr 1fr;gap:16px}.support-aside .info-note{margin-top:0}.overview-workspace{grid-template-columns:minmax(0,1fr) 240px}.page-heading{gap:15px}.heading-note{display:none}}
@media(max-width:900px){.shell{flex-direction:column}.sidebar{position:static;width:100%;height:auto;padding:15px 16px 10px;border-right:0;border-bottom:1px solid var(--line-soft)}.brand{padding:0 4px 14px}.nav{display:flex;overflow-x:auto;gap:5px}.nav-item{white-space:nowrap;font-size:12px;padding:9px 12px}.sidebar-bottom{display:none}.topbar{padding:8px 21px;min-height:55px}.topbar-note{display:none}.main{padding:29px 24px 104px}.workspace{grid-template-columns:145px minmax(0,1fr)}.prototype-bar{left:50%}.overview-workspace{grid-template-columns:1fr}.sticky-summary{position:static}.overview-summary{display:none}.page-heading{margin-bottom:26px}h1{font-size:31px}}
@media(max-width:600px){.main{padding:24px 16px 112px}.intro{font-size:13px}.workspace{grid-template-columns:1fr;gap:18px}.step-rail{display:flex;overflow-x:auto;padding-bottom:4px;gap:12px}.step-rail li{flex-shrink:0}.step-rail li::after{display:none}.step-button{min-height:42px;width:auto;gap:7px;font-size:11px}.step-number{width:23px;height:23px;font-size:10px}.support-aside{grid-column:1;grid-template-columns:1fr}.support-aside .info-note{margin-top:0}.section-top{padding:23px 21px 20px}.form-body{padding:23px 21px}.form-actions{padding:17px 21px}.field-row{grid-template-columns:1fr;gap:0}.choice-grid{gap:7px}.choice{padding:12px 9px}.choice strong{font-size:11px}.choice span{font-size:10px}.save-note{font-size:10px;max-width:100px}.prototype-bar{bottom:12px;padding:6px;gap:1px}.prototype-bar .prototype-label{display:none}.prototype-bar button{padding:0 10px;font-size:10px;min-height:38px}.prototype-bar .arrow{padding:0 6px}.conversation-card,.conversation-footer{margin-left:0}.guide-message{gap:9px}.guide-avatar{width:31px;height:31px}.guide-copy{padding:14px 17px}.guide-copy h2{font-size:18px}.overview-section{padding:23px 21px}.empty{padding:27px 23px}.prose section{padding:23px 21px}.glossary th,.glossary td{padding:11px 4px;font-size:11px}.topbar-right{gap:10px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
