:root,:root[data-theme=light]{--bg: #F4EDE2;--bg-elev: #EFE6D7;--bg-deep: #E8DDC8;--surface: #FAF5EA;--surface-2: #FFFFFF;--ink: #1C1915;--ink-soft: #4A433A;--ink-mute: #7A7164;--line: #D9CDB6;--line-soft: #E4DAC3;--accent: #B85C3A;--accent-soft: #E8C7B5;--accent-ink: #FAF5EA;--sage: #7A8B6F;--amber: #C99A4A;--crimson: #B44A3E;--sky: #6B8CA8;--violet: #8B7AA8;--sage-soft: #DCE3D2;--amber-soft: #F1E4C7;--crimson-soft: #F1D6D2;--sky-soft: #D8E3EE;--violet-soft: #E4DBED;--success: var(--sage);--success-soft: var(--sage-soft);--warning: var(--amber);--warning-soft: var(--amber-soft);--alert: var(--crimson);--alert-soft: var(--crimson-soft);--t-quick: .16s cubic-bezier(.2,.6,.2,1);--shadow-1: 0 1px 2px rgba(28,25,21,.04), 0 2px 6px rgba(28,25,21,.04);--shadow-2: 0 4px 12px rgba(28,25,21,.06), 0 12px 32px rgba(28,25,21,.06);--shadow-lg: 0 20px 60px -10px rgba(28,25,21,.14)}:root[data-theme=dark]{--bg: #1A1712;--bg-elev: #221E18;--bg-deep: #12100C;--surface: #26211A;--surface-2: #2C2620;--ink: #F4EDE2;--ink-soft: #C9BFAE;--ink-mute: #857B6C;--line: #3A3327;--line-soft: #352F25;--accent: #E0896A;--accent-soft: #3A2A20;--accent-ink: #1A1712;--sage: #9BAE90;--amber: #D9B070;--crimson: #D6786A;--sky: #9AB5C8;--violet: #A897BF}:root{--f-serif: "Instrument Serif", ui-serif, Georgia, serif;--f-sans: "Noto Sans", ui-sans-serif, system-ui, -apple-system, sans-serif;--f-mono: "JetBrains Mono", ui-monospace, monospace;--r-sm: 4px;--r-md: 8px;--r-lg: 12px;--r-xl: 20px;--r-full: 999px;--sp-xs: 4px;--sp-sm: 8px;--sp-md: 12px;--sp-lg: 20px;--sp-xl: 32px;--sp-2xl: 64px;--sp-3xl: 120px;--t-caps: .14em;--t-caps-wide: .2em}.vbtn-back{display:inline-flex;align-items:center;gap:8px;padding:8px 14px 8px 10px;border:1px solid var(--line);background:var(--surface);border-radius:var(--r-full);font-family:var(--f-mono);font-size:10.5px;letter-spacing:var(--t-caps);text-transform:uppercase;color:var(--ink-soft);margin-bottom:20px;transition:all var(--t-quick)}.vbtn-back:hover{border-color:var(--ink);color:var(--ink)}.vbtn-back svg{width:14px;height:14px;flex:none}.vpage-head{margin-bottom:28px}.vpage-head .eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-mute)}.vpage-head .eyebrow:before{content:"";width:6px;height:6px;border-radius:999px;background:var(--accent)}.vpage-head h1{font-family:var(--f-serif);font-weight:400;font-size:clamp(34px,4.4vw,48px);line-height:1.05;letter-spacing:-.02em;margin:8px 0 12px;color:var(--ink)}.vpage-head h1 em{font-style:italic;color:var(--accent)}.vpage-head .lead{font-family:var(--f-serif);font-style:italic;font-size:16px;color:var(--ink-soft);max-width:56ch;line-height:1.45}.vprogress-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px 20px;margin-bottom:18px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.vprogress-card .meta .lbl{font-family:var(--f-mono);font-size:10px;letter-spacing:var(--t-caps);text-transform:uppercase;color:var(--ink-mute)}.vprogress-card .meta .now{font-family:var(--f-serif);font-style:italic;font-size:16px;color:var(--ink)}.vprogress-card .meta .now b{font-style:normal;color:var(--accent);font-weight:400}.vprogress-card .bar-wrap{flex:1;min-width:180px;display:flex;flex-direction:column;gap:6px}.vprogress-card .bar{height:4px;background:var(--bg-deep);border-radius:var(--r-full);overflow:hidden}.vprogress-card .bar>div{height:100%;background:var(--accent);border-radius:var(--r-full);transition:width .4s cubic-bezier(.2,.6,.2,1)}.vprogress-card .counter{align-self:flex-end;font-family:var(--f-mono);font-size:10px;letter-spacing:var(--t-caps);text-transform:uppercase;color:var(--ink-mute)}.vprogress-card .counter b{color:var(--ink);font-weight:500}.vstep-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;transition:all var(--t-quick);margin-bottom:12px}.vstep-card[data-state=active]{background:var(--surface-2);border-color:var(--accent);border-width:1.5px;box-shadow:0 0 0 4px var(--accent-soft),var(--shadow-2)}.vstep-card[data-state=done]:hover{border-color:var(--ink-mute);box-shadow:var(--shadow-1)}.vstep-card[data-state=pending]{background:var(--bg-elev);border-style:dashed;border-color:var(--line-soft)}.vstep-head{display:flex;align-items:center;gap:16px;padding:18px 22px;width:100%;text-align:left;cursor:default}.vstep-card[data-state=done] .vstep-head{cursor:pointer}.vstep-num{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-family:var(--f-mono);font-size:13px;font-weight:500;flex-shrink:0}.vstep-card[data-state=pending] .vstep-num{background:var(--bg-deep);color:var(--ink-mute);border:1px solid var(--line-soft)}.vstep-card[data-state=active] .vstep-num{background:var(--accent);color:var(--accent-ink);box-shadow:0 0 0 6px color-mix(in oklab,var(--accent) 14%,transparent)}.vstep-card[data-state=done] .vstep-num{background:var(--success);color:var(--surface-2)}.vstep-eyebrow{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-mute);margin-bottom:2px}.vstep-title{font-family:var(--f-serif);font-weight:400;font-size:22px;line-height:1.15;color:var(--ink)}.vstep-card[data-state=pending] .vstep-title{color:var(--ink-mute)}.vstep-title em{font-style:italic;color:var(--accent)}.vstep-summary{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.vstep-summary .chip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:var(--r-full);background:var(--bg-elev);color:var(--ink-soft);font-family:var(--f-mono);font-size:10px;letter-spacing:.08em;border:1px solid var(--line-soft)}.vstep-summary .chip:before{content:"";width:6px;height:6px;border-radius:999px;background:var(--accent)}.vstep-summary .chip.done{color:var(--success);border-color:color-mix(in oklab,var(--success) 30%,transparent)}.vstep-summary .chip.done:before{background:var(--success)}.vstep-edit{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--line);border-radius:var(--r-full);background:var(--bg);font-family:var(--f-mono);font-size:10.5px;letter-spacing:var(--t-caps);text-transform:uppercase;color:var(--ink-mute)}.vstep-body{border-top:1px solid var(--line-soft);padding:18px 22px 22px}.vstep-body .intro{font-family:var(--f-serif);font-style:italic;font-size:13.5px;line-height:1.55;color:var(--ink-soft);max-width:62ch;margin-bottom:18px}.vstep-foot{margin-top:22px;display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}.vstep-foot .help{font-family:var(--f-serif);font-style:italic;font-size:13px;color:var(--ink-mute)}.vstep-foot .actions{display:flex;gap:10px}.vopt{display:flex;align-items:flex-start;gap:14px;padding:16px 18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);cursor:pointer;transition:all var(--t-quick);text-align:left;width:100%}.vopt:hover{border-color:var(--ink-mute)}.vopt+.vopt{margin-top:8px}.vopt .radio{width:20px;height:20px;border-radius:50%;border:1.5px solid var(--line);background:var(--surface);display:grid;place-items:center;flex-shrink:0;margin-top:1px}.vopt .radio:after{content:"";width:10px;height:10px;border-radius:50%;background:var(--accent-ink);opacity:0;transition:opacity var(--t-quick)}.vopt.on{background:var(--accent-soft);border-color:var(--accent)}.vopt.on .radio{background:var(--accent);border-color:var(--accent)}.vopt.on .radio:after{opacity:1}.vopt .body{flex:1;min-width:0}.vopt .title{font-family:var(--f-sans);font-weight:500;font-size:14.5px;color:var(--ink)}.vopt .desc{font-size:12.5px;color:var(--ink-mute);margin-top:3px;line-height:1.45}.vopt.on .desc{color:color-mix(in oklab,var(--accent) 55%,var(--ink-mute))}.voptx{display:flex;align-items:flex-start;gap:14px;padding:14px 16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);cursor:pointer;transition:all var(--t-quick);text-align:left;width:100%}.voptx+.voptx{margin-top:8px}.voptx .cbox{width:20px;height:20px;border-radius:5px;border:1.5px solid var(--line);background:var(--surface);display:grid;place-items:center;flex-shrink:0;margin-top:1px;color:transparent}.voptx.on{background:var(--accent-soft);border-color:var(--accent)}.voptx.on .cbox{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.vtoggle-row{display:flex;align-items:center;gap:14px;padding:12px 4px}.vtoggle-row+.vtoggle-row{border-top:1px solid var(--line-soft)}.vtoggle-row .meta{flex:1}.vtoggle-row .name{font-family:var(--f-sans);font-weight:500;font-size:14px}.vtoggle-row .desc{font-size:12px;color:var(--ink-mute);margin-top:2px;line-height:1.4}.vtoggle{position:relative;width:40px;height:22px;border-radius:var(--r-full);background:var(--bg-deep);border:1px solid var(--line);cursor:pointer;transition:all var(--t-quick);flex-shrink:0}.vtoggle:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--surface-2);border:1px solid var(--line);transition:all var(--t-quick)}.vtoggle.on{background:var(--accent);border-color:var(--accent)}.vtoggle.on:after{left:20px;background:var(--accent-ink);border-color:transparent}.vstepper{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);overflow:hidden}.vstepper button{width:38px;height:38px;display:grid;place-items:center;color:var(--ink-soft);background:transparent;border:none;font-size:16px;cursor:pointer;transition:background var(--t-quick)}.vstepper button:hover{background:var(--bg-elev);color:var(--ink)}.vstepper .val{min-width:56px;text-align:center;font-family:var(--f-mono);font-size:14px;color:var(--ink);border-left:1px solid var(--line-soft);border-right:1px solid var(--line-soft);line-height:38px}.vsubh{margin-bottom:12px}.vsubh .label{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-mute)}.vsubh .h{font-family:var(--f-serif);font-weight:400;font-size:17px;line-height:1.2;color:var(--ink);letter-spacing:-.005em;margin-top:4px}.vsubh .h em{font-style:italic;color:var(--accent)}.vsubh .help{font-size:12.5px;color:var(--ink-mute);margin-top:4px;line-height:1.5;max-width:60ch}.vcallout{display:flex;gap:12px;padding:14px 16px;border-radius:var(--r-md);border:1px solid transparent;align-items:flex-start}.vcallout svg{flex-shrink:0;margin-top:2px;width:18px;height:18px}.vcallout p{font-family:var(--f-serif);font-style:italic;font-size:13.5px;color:var(--ink-soft);line-height:1.5}.vcallout.info{background:color-mix(in oklab,var(--sky) 8%,var(--bg-elev));border-color:color-mix(in oklab,var(--sky) 22%,var(--line))}.vcallout.info svg{color:var(--sky)}.vcallout.warn{background:color-mix(in oklab,var(--warning) 10%,var(--bg-elev));border-color:color-mix(in oklab,var(--warning) 28%,var(--line))}.vcallout.warn svg{color:var(--warning)}.vcallout.warn p{font-family:var(--f-sans);font-style:normal;font-size:13px}.vcallout.alert{background:color-mix(in oklab,var(--alert) 10%,var(--bg-elev));border-color:color-mix(in oklab,var(--alert) 28%,var(--line))}.vcallout.alert svg{color:var(--alert)}.vcallout.alert p{font-family:var(--f-sans);font-style:normal;font-size:13px}
