:root{--bg: oklch(.985 .003 85);--bg-panel: oklch(1 0 0);--bg-sunken: oklch(.965 .004 85);--ink: oklch(.18 .01 260);--ink-2: oklch(.35 .01 260);--ink-3: oklch(.52 .008 260);--ink-4: oklch(.7 .006 260);--rule: oklch(.9 .005 85);--rule-2: oklch(.94 .004 85);--accent: oklch(.52 .15 255);--accent-soft: oklch(.96 .025 255);--accent-ink: oklch(.38 .14 255);--warn: oklch(.58 .15 55);--warn-soft: oklch(.96 .04 65);--danger: oklch(.55 .18 25);--danger-soft: oklch(.96 .03 25);--ok: oklch(.58 .12 155);--ok-soft: oklch(.96 .03 155);--font-sans: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-serif: "Instrument Serif", "Source Serif 4", Georgia, serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--radius: 10px;--radius-sm: 6px;--radius-lg: 14px;--dens-pad: 1}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{font-size:14px;line-height:1.5}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;border:none;background:none;padding:0}a{color:inherit;text-decoration:none}.serif{font-family:var(--font-serif);font-weight:400;letter-spacing:-.01em}.mono{font-family:var(--font-mono)}.eyebrow{font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}.app{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.sidebar{border-right:1px solid var(--rule);padding:22px 18px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;background:var(--bg)}.brand{display:flex;align-items:center;gap:10px;margin-bottom:28px}.brand-mark{width:28px;height:28px;border-radius:8px;background:var(--ink);color:var(--bg);display:grid;place-items:center;font-family:var(--font-serif);font-size:18px;font-style:italic}.brand-name{font-size:14px;font-weight:500;letter-spacing:-.01em}.brand-sub{font-size:11px;color:var(--ink-3)}.nav-section{margin-bottom:22px}.nav-label{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-4);margin:0 8px 8px}.nav-item{display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:6px;font-size:13px;color:var(--ink-2);width:100%;text-align:left}.nav-item:hover{background:var(--bg-sunken);color:var(--ink)}.nav-item.active{background:var(--ink);color:var(--bg)}.nav-item .dot{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.6}.sidebar-footer{margin-top:auto;padding-top:14px;border-top:1px solid var(--rule-2);font-size:12px;color:var(--ink-3)}.main{min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 32px;border-bottom:1px solid var(--rule);background:var(--bg);position:sticky;top:0;z-index:10}.crumbs{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-3)}.crumbs .sep{color:var(--ink-4)}.crumbs .cur{color:var(--ink)}.top-right{display:flex;align-items:center;gap:10px}.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:var(--bg-sunken);color:var(--ink-2);font-size:12px;border:1px solid var(--rule-2)}.avatar{width:28px;height:28px;border-radius:50%;background:var(--ink);color:var(--bg);display:grid;place-items:center;font-size:12px;font-weight:500}.btn{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:8px;font-size:13px;font-weight:500;transition:all .14s ease;border:1px solid transparent;white-space:nowrap}.btn-primary{background:var(--ink);color:var(--bg)}.btn-primary:hover{background:#1f2227}.btn-accent{background:var(--accent);color:#fff}.btn-accent:hover{filter:brightness(1.05)}.btn-ghost{background:transparent;color:var(--ink-2);border-color:var(--rule)}.btn-ghost:hover{background:var(--bg-sunken);color:var(--ink)}.btn-soft{background:var(--bg-sunken);color:var(--ink);border-color:var(--rule-2)}.btn-soft:hover{background:#eeedea}.btn-icon{padding:8px;width:34px;height:34px;justify-content:center}.btn-sm{padding:6px 10px;font-size:12px}.btn-lg{padding:12px 20px;font-size:14px}.dash{max-width:1200px;margin:0 auto;padding:40px 32px 80px}.dash-hero{display:flex;justify-content:space-between;align-items:end;margin-bottom:36px;gap:40px}.dash-hero h1{font-family:var(--font-serif);font-size:52px;line-height:1.05;margin:0;font-weight:400;letter-spacing:-.02em}.dash-hero h1 em{font-style:italic;color:var(--ink-3)}.dash-hero p{color:var(--ink-3);max-width:360px;margin:0;font-size:14px;line-height:1.55}.search-bar{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--bg-panel);border:1px solid var(--rule);border-radius:10px;margin-bottom:40px;transition:border-color .14s}.search-bar:focus-within{border-color:var(--ink)}.search-bar input{flex:1;border:none;outline:none;background:transparent;font-size:14px}.search-bar input::placeholder{color:var(--ink-4)}.search-bar .kbd{padding:2px 6px;border-radius:4px;background:var(--bg-sunken);border:1px solid var(--rule-2);font-family:var(--font-mono);font-size:11px;color:var(--ink-3)}.section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:16px}.section-head h2{font-size:13px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);margin:0}.section-head .count{color:var(--ink-4);font-size:12px}.scenario-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin-bottom:48px}.scenario-card{padding:22px;background:var(--bg-panel);border:1px solid var(--rule);border-radius:var(--radius-lg);display:flex;flex-direction:column;min-height:180px;transition:all .18s ease;text-align:left;position:relative;cursor:pointer}.scenario-card:hover{border-color:var(--ink);transform:translateY(-1px)}.scenario-card .num{font-family:var(--font-serif);font-style:italic;font-size:32px;color:var(--ink-4);line-height:1;margin-bottom:40px;font-weight:400}.scenario-card .title{font-family:var(--font-serif);font-size:22px;line-height:1.15;margin-bottom:6px;font-weight:400;letter-spacing:-.01em}.scenario-card .desc{color:var(--ink-3);font-size:13px;line-height:1.45;margin-bottom:14px}.scenario-card .meta{margin-top:auto;display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--ink-4);letter-spacing:.06em;text-transform:uppercase}.scenario-card .arrow{color:var(--ink);opacity:0;transition:opacity .14s,transform .14s}.scenario-card:hover .arrow{opacity:1;transform:translate(2px)}.scenario-card.featured{background:var(--ink);color:var(--bg)}.scenario-card.featured .num,.scenario-card.featured .desc,.scenario-card.featured .meta{color:#aaaeb4}.scenario-card.featured:hover{border-color:var(--ink)}.lower-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:24px}.recent-list{border-top:1px solid var(--rule)}.recent-row{display:grid;grid-template-columns:1fr 140px 100px 24px;align-items:center;padding:14px 0;border-bottom:1px solid var(--rule-2);gap:16px;width:100%;text-align:left}.recent-row:hover{background:var(--bg-sunken)}.recent-row .r-title{font-size:13px}.recent-row .r-sub{font-size:11px;color:var(--ink-4)}.recent-row .r-type{font-size:12px;color:var(--ink-3)}.recent-row .r-time{font-family:var(--font-mono);font-size:11px;color:var(--ink-4)}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:6px;vertical-align:middle}.status-dot.done{background:var(--ok)}.status-dot.draft{background:var(--warn)}.status-dot.progress{background:var(--accent)}.favs-list{display:flex;flex-direction:column;gap:8px}.fav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;background:var(--bg-panel);border:1px solid var(--rule);font-size:12px}.fav-item:hover{background:var(--bg-sunken)}.fav-item .star{color:var(--warn)}.landing{max-width:900px;margin:0 auto;padding:48px 32px 80px}.landing .back{margin-bottom:28px}.landing h1{font-family:var(--font-serif);font-size:64px;line-height:1;margin:0 0 16px;font-weight:400;letter-spacing:-.02em}.landing .lede{font-size:18px;color:var(--ink-2);max-width:640px;line-height:1.5;margin:0 0 40px}.landing-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px 56px;margin-bottom:48px}.landing-block h3{font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin:0 0 12px}.landing-block p,.landing-block li{font-size:14px;color:var(--ink-2);line-height:1.55;margin:0}.landing-block ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px}.stepper-preview{margin-bottom:48px}.step-row{display:flex;gap:0;border-top:1px solid var(--rule)}.step-preview{flex:1;padding:20px 22px;border-right:1px solid var(--rule);position:relative}.step-preview:last-child{border-right:none}.step-preview .n{font-family:var(--font-serif);font-style:italic;font-size:28px;color:var(--ink-4);margin-bottom:28px}.step-preview .t{font-size:14px;font-weight:500;margin-bottom:4px}.step-preview .d{font-size:12px;color:var(--ink-3);line-height:1.45}.example-result{background:var(--bg-sunken);border:1px solid var(--rule);border-radius:var(--radius-lg);padding:28px;margin-bottom:48px}.example-result .eyebrow{margin-bottom:10px}.example-result .body{font-family:var(--font-serif);font-size:20px;line-height:1.35;color:var(--ink);font-style:italic}.example-result .body:before{content:"« ";color:var(--ink-4)}.example-result .body:after{content:" »";color:var(--ink-4)}.cta-row{display:flex;align-items:center;gap:12px;padding-top:24px;border-top:1px solid var(--rule)}.wf{min-height:100vh;display:flex;flex-direction:column}.wf-header{padding:20px 32px 0;border-bottom:1px solid var(--rule);background:var(--bg);position:sticky;top:57px;z-index:9}.wf-title-row{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:18px}.wf-title-row h1{font-family:var(--font-serif);font-size:28px;font-weight:400;letter-spacing:-.01em;margin:0}.wf-title-row .meta{font-size:12px;color:var(--ink-3);font-family:var(--font-mono)}.stepper{display:flex;gap:4px;position:relative}.stepper-step{flex:1;padding:12px 4px 14px;border-top:2px solid var(--rule);transition:border-color .2s;text-align:left;color:var(--ink-3);display:flex;align-items:baseline;gap:10px;font-size:13px}.stepper-step .sn{font-family:var(--font-mono);font-size:11px;color:var(--ink-4)}.stepper-step.active{border-top-color:var(--ink);color:var(--ink);font-weight:500}.stepper-step.active .sn{color:var(--ink)}.stepper-step.done{border-top-color:var(--ink-3);color:var(--ink-2)}.stepper-step.done .sn:before{content:"✓ ";color:var(--ok)}.stepper-step:disabled{cursor:not-allowed}.stepper-step:not(:disabled):hover{color:var(--ink)}.wf-body{padding:32px;flex:1}.brief-wrap{max-width:880px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:28px}.brief-progress{display:flex;align-items:center;gap:16px;padding:14px 18px;background:var(--bg-panel);border:1px solid var(--rule);border-radius:10px}.brief-progress .bar{flex:1;height:4px;background:var(--rule);border-radius:2px;overflow:hidden}.brief-progress .bar-fill{height:100%;background:var(--ink);transition:width .3s ease}.brief-progress .pct{font-family:var(--font-mono);font-size:13px;font-weight:500}.brief-progress .hint{font-size:12px;color:var(--ink-3)}.form-section{background:var(--bg-panel);border:1px solid var(--rule);border-radius:var(--radius-lg);padding:24px 26px}.form-section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--rule-2)}.form-section-head .idx{font-family:var(--font-serif);font-style:italic;font-size:22px;color:var(--ink-4);font-weight:400}.form-section-head h3{font-size:15px;font-weight:500;margin:0}.form-section-head .status{font-size:11px;font-family:var(--font-mono);color:var(--ink-4);text-transform:uppercase;letter-spacing:.08em}.form-section-head .status.ok{color:var(--ok)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 24px}.form-grid .full{grid-column:1 / -1}.field label{display:block;font-size:12px;color:var(--ink-2);margin-bottom:6px;font-weight:500}.field .help{font-size:11px;color:var(--ink-4);margin-top:4px}.field input[type=text],.field textarea,.field select{width:100%;padding:10px 12px;background:var(--bg);border:1px solid var(--rule);border-radius:8px;font-size:13px;transition:border-color .14s;outline:none;color:var(--ink)}.field textarea{resize:vertical;min-height:72px;font-family:var(--font-sans);line-height:1.5}.field input::placeholder,.field textarea::placeholder{color:var(--ink-4)}.segmented{display:inline-flex;border:1px solid var(--rule);border-radius:8px;background:var(--bg);padding:2px;gap:2px;flex-wrap:wrap}.segmented button{padding:7px 12px;border-radius:6px;font-size:12px;color:var(--ink-2);white-space:nowrap}.segmented button:hover{color:var(--ink)}.segmented button.selected{background:var(--ink);color:var(--bg)}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip-pick{padding:6px 10px;border-radius:999px;border:1px solid var(--rule);background:var(--bg);font-size:12px;color:var(--ink-2);transition:all .14s}.chip-pick:hover{border-color:var(--ink-3)}.chip-pick.selected{background:var(--ink);color:var(--bg);border-color:var(--ink)}.toggle-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0}.toggle{width:34px;height:20px;border-radius:999px;background:var(--rule);position:relative;transition:background .16s;flex-shrink:0}.toggle:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .16s;box-shadow:0 1px 2px #00000026}.toggle.on{background:var(--ink)}.toggle.on:after{transform:translate(14px)}.ai-hint{display:flex;gap:10px;align-items:flex-start;margin-top:10px;padding:10px 12px;background:var(--accent-soft);border-radius:8px;font-size:12px;color:var(--accent-ink);line-height:1.5}.ai-hint .ai-dot{width:14px;height:14px;border-radius:50%;background:var(--accent);flex-shrink:0;margin-top:2px;display:grid;place-items:center;color:#fff;font-size:9px;font-weight:700}.attach-list{display:flex;flex-direction:column;gap:6px}.attach-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid var(--rule);border-radius:8px;font-size:13px;background:var(--bg)}.attach-item .fname{flex:1}.attach-item .fsize{font-family:var(--font-mono);font-size:11px;color:var(--ink-4)}.attach-add{font-size:12px;color:var(--ink-3);padding:8px 12px;border:1px dashed var(--rule);border-radius:8px;text-align:left}.attach-add:hover{color:var(--ink);border-color:var(--ink-3)}.brief-footer{display:flex;justify-content:space-between;align-items:center;padding:20px 0;border-top:1px solid var(--rule)}.analysis-wrap{max-width:920px;margin:0 auto}.memo{background:var(--bg-panel);border:1px solid var(--rule);border-radius:var(--radius-lg);padding:40px 48px}.memo-head{padding-bottom:24px;margin-bottom:28px;border-bottom:1px solid var(--rule);display:flex;justify-content:space-between;align-items:flex-start}.memo-head .label{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);margin-bottom:6px}.memo-head h2{font-family:var(--font-serif);font-size:32px;line-height:1.15;margin:0;font-weight:400;letter-spacing:-.01em;max-width:520px}.memo-head .ts{font-family:var(--font-mono);font-size:11px;color:var(--ink-4);text-align:right}.memo-section{margin-bottom:30px}.memo-section:last-child{margin-bottom:0}.memo-section-head{display:flex;align-items:baseline;gap:12px;margin-bottom:12px}.memo-section-head .n{font-family:var(--font-mono);font-size:11px;color:var(--ink-4)}.memo-section-head h3{font-size:13px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;margin:0}.memo-section p{font-size:15px;line-height:1.6;color:var(--ink);margin:0 0 10px}.memo-section p.note{color:var(--ink-2)}.memo-section .highlight{background:#fff6d1;background:oklch(.97 .08 95);padding:1px 3px;border-radius:2px}.audience-map{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule);border-radius:10px;overflow:hidden;margin-top:14px}.aud-cell{background:var(--bg-panel);padding:14px 16px}.aud-cell .who{font-size:13px;font-weight:500;margin-bottom:2px}.aud-cell .mood{font-size:11px;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;margin-bottom:8px}.aud-cell .mood.agg{color:var(--danger)}.aud-cell .mood.skep{color:var(--warn)}.aud-cell .mood.neu{color:var(--ink-3)}.aud-cell .pct-mini{font-family:var(--font-mono);font-size:11px;color:var(--ink-4)}.risks{display:flex;flex-direction:column;gap:8px;margin-top:12px}.risk-item{display:grid;grid-template-columns:80px 1fr auto;gap:16px;align-items:center;padding:12px 14px;background:var(--bg-sunken);border-radius:8px;border-left:3px solid var(--rule)}.risk-item.high{border-left-color:var(--danger)}.risk-item.med{border-left-color:var(--warn)}.risk-item.low{border-left-color:var(--ok)}.risk-item .lvl{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.risk-item.high .lvl{color:var(--danger)}.risk-item.med .lvl{color:var(--warn)}.risk-item.low .lvl{color:var(--ok)}.risk-item .desc{font-size:13px;color:var(--ink)}.risk-item .prob{font-family:var(--font-mono);font-size:11px;color:var(--ink-4)}.strategy-box{margin-top:14px;padding:20px 22px;background:var(--ink);color:#e3e5e8;border-radius:10px}.strategy-box .l{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#8c8f95;margin-bottom:8px}.strategy-box p{font-family:var(--font-serif);font-size:20px;line-height:1.35;color:#f9f8f6;margin:0;font-style:italic}.strategy-box p strong{font-style:normal;font-family:var(--font-sans);font-weight:500;background:var(--accent);color:#fff;padding:1px 6px;border-radius:3px;font-size:15px;vertical-align:2px}.analysis-footer{display:flex;justify-content:space-between;align-items:center;padding:20px 0}.result-wrap{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1fr 340px;gap:28px;align-items:start}.result-doc-head{margin-bottom:28px;padding-bottom:18px;border-bottom:1px solid var(--rule);display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.result-doc-head h2{font-family:var(--font-serif);font-size:28px;font-weight:400;line-height:1.2;margin:0 0 4px;letter-spacing:-.01em}.result-doc-head .sub{font-size:12px;color:var(--ink-3);font-family:var(--font-mono)}.doc-body{font-size:15px;line-height:1.65;color:var(--ink)}.doc-body p{margin:0 0 16px}.doc-body .opener{font-family:var(--font-serif);font-size:19px;line-height:1.45;color:var(--ink);margin-bottom:18px}.doc-body .key{background:#fff6d1;background:oklch(.97 .06 95);padding:0 3px;border-radius:2px}.doc-body .quote{font-family:var(--font-serif);font-size:18px;line-height:1.4;padding:4px 0 4px 20px;border-left:2px solid var(--ink);margin:18px 0;color:var(--ink);font-style:italic}.doc-actions{display:flex;gap:8px;flex-wrap:wrap}.side-stack{display:flex;flex-direction:column;gap:14px;position:sticky;top:180px}.side-card{background:var(--bg-panel);border:1px solid var(--rule);border-radius:var(--radius-lg);padding:18px 20px}.side-card h4{font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin:0 0 12px;display:flex;justify-content:space-between;align-items:center}.side-card h4 .ico{color:var(--ink-4)}.side-card ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.side-card li{font-size:13px;line-height:1.45;padding-left:16px;position:relative;color:var(--ink-2)}.side-card li:before{content:"";position:absolute;left:0;top:7px;width:6px;height:6px;background:var(--ink-3);border-radius:50%}.side-card.short-version p{font-family:var(--font-serif);font-size:15px;line-height:1.4;margin:0;color:var(--ink);font-style:italic}.qna-list{display:flex;flex-direction:column;gap:10px}.qna-item{border-bottom:1px solid var(--rule-2);padding-bottom:10px}.qna-item:last-child{border-bottom:none;padding-bottom:0}.qna-item .q{font-size:12px;color:var(--ink-3);margin-bottom:4px}.qna-item .a{font-size:13px;color:var(--ink);line-height:1.45}.refine-wrap{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1fr 380px;gap:28px;align-items:start}.refine-doc{background:var(--bg-panel);border:1px solid var(--rule);border-radius:var(--radius-lg);padding:40px 48px}.diff-add{background:#d0fbdd;padding:0 2px;border-radius:2px}.diff-del{background:#ffe7e4;background:oklch(.95 .06 25);padding:0 2px;border-radius:2px;color:var(--ink-3);text-decoration:line-through}.chat-panel{background:var(--bg-panel);border:1px solid var(--rule);border-radius:var(--radius-lg);display:flex;flex-direction:column;position:sticky;top:180px;max-height:calc(100vh - 200px)}.chat-head{padding:14px 18px;border-bottom:1px solid var(--rule);display:flex;justify-content:space-between;align-items:center}.chat-head .t{font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.chat-head .ver{font-family:var(--font-mono);font-size:11px;color:var(--ink-4)}.chat-body{flex:1;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:14px}.msg{font-size:13px;line-height:1.5}.msg.user{align-self:flex-end;background:var(--ink);color:var(--bg);padding:8px 12px;border-radius:10px 10px 2px;max-width:85%}.msg.ai{color:var(--ink-2);display:flex;gap:10px}.msg.ai .ai-dot{width:18px;height:18px;border-radius:50%;background:var(--accent);flex-shrink:0;margin-top:2px;display:grid;place-items:center;color:#fff;font-size:10px;font-weight:700}.msg.ai .content{flex:1;background:var(--bg-sunken);padding:10px 12px;border-radius:2px 10px 10px}.msg.ai .applied{font-size:11px;color:var(--ok);margin-top:6px;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase}.chat-input{padding:14px;border-top:1px solid var(--rule)}.chat-input-box{display:flex;align-items:flex-end;gap:10px;background:var(--bg);border:1px solid var(--rule);border-radius:10px;padding:10px 12px;transition:border-color .14s}.chat-input-box:focus-within{border-color:var(--ink)}.chat-input-box textarea{flex:1;border:none;outline:none;background:transparent;resize:none;font-size:13px;min-height:20px;max-height:120px;font-family:var(--font-sans)}.chat-send{padding:6px 10px;border-radius:6px;background:var(--ink);color:var(--bg);font-size:11px;font-weight:500}.chat-send:disabled{opacity:.4;cursor:not-allowed}.chat-quick{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.chat-quick button{font-size:11px;padding:4px 9px;border-radius:999px;background:var(--bg-sunken);color:var(--ink-2);border:1px solid var(--rule-2)}.chat-quick button:hover{background:var(--bg);color:var(--ink)}.loading-shell{max-width:560px;margin:120px auto 0;text-align:center}.loading-shell .label{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);margin-bottom:14px}.loading-shell h2{font-family:var(--font-serif);font-size:36px;font-weight:400;line-height:1.15;margin:0 0 28px;letter-spacing:-.01em}.loading-steps{display:flex;flex-direction:column;gap:2px;text-align:left;background:var(--bg-panel);border:1px solid var(--rule);border-radius:var(--radius-lg);padding:18px}.loading-step{display:flex;align-items:center;gap:12px;padding:10px 6px;font-size:13px;color:var(--ink-4);font-family:var(--font-mono)}.loading-step.active{color:var(--ink)}.loading-step.done{color:var(--ink-3)}.loading-step .ls-dot{width:8px;height:8px;border-radius:50%;background:currentColor;opacity:.4}.loading-step.active .ls-dot{background:var(--accent);opacity:1;animation:pulse 1.2s infinite}.loading-step.done .ls-dot:before{content:"✓";color:var(--ok);font-size:11px;margin-left:-2px}.loading-step.done .ls-dot{background:transparent;opacity:1}@keyframes pulse{0%,to{opacity:.4;transform:scale(.8)}50%{opacity:1;transform:scale(1.1)}}.tweaks{position:fixed;bottom:20px;right:20px;width:300px;background:var(--bg-panel);border:1px solid var(--rule);border-radius:var(--radius-lg);box-shadow:0 10px 40px -10px #0003,0 2px 4px #0000000a;z-index:50;overflow:hidden}.tweaks-head{padding:12px 16px;border-bottom:1px solid var(--rule);display:flex;justify-content:space-between;align-items:center}.tweaks-head .t{font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}.tweaks-body{padding:14px 16px;display:flex;flex-direction:column;gap:14px}.tweak-row label{display:block;font-size:11px;color:var(--ink-3);margin-bottom:6px;font-weight:500}.tweak-swatches{display:flex;gap:6px}.tweak-swatch{width:28px;height:28px;border-radius:50%;border:2px solid var(--bg-panel);outline:1px solid var(--rule);cursor:pointer;transition:outline-color .14s}.tweak-swatch.selected{outline-color:var(--ink);outline-width:2px}.dens-airy{--dens-pad: 1.15}.dens-dense{--dens-pad: .85}.dens-airy .form-section{padding:30px 32px}.dens-dense .form-section{padding:18px 20px}.dens-airy .memo{padding:52px 60px}.dens-dense .memo{padding:28px 32px}.hstack{display:flex;align-items:center;gap:8px}.vstack{display:flex;flex-direction:column;gap:8px}.spacer{flex:1}.muted{color:var(--ink-3)}.hidden{display:none!important}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,sans-serif;font-size:14px;line-height:1.45}*,*:before,*:after{box-sizing:border-box}.page{min-height:100vh;display:flex}.auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg)}.auth-card{width:420px;max-width:92vw;background:var(--bg-panel);border:1px solid var(--rule);border-radius:var(--radius-lg);padding:32px}.auth-card h1{font-family:"Instrument Serif",serif;font-size:36px;margin:0 0 8px}.auth-card p.sub{color:var(--ink-3);margin:0 0 24px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field>label{font-size:12px;color:var(--ink-3);letter-spacing:.02em}.field input,.field textarea,.field select{width:100%;padding:10px 12px;border:1px solid var(--rule);border-radius:var(--radius-sm);background:var(--bg-panel);font-family:inherit;font-size:14px;color:var(--ink);outline:none}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--ink)}.field textarea{min-height:92px;resize:vertical}.btn-primary{background:var(--ink);color:var(--bg);border:0;padding:10px 16px;border-radius:var(--radius-sm);font-weight:500;cursor:pointer;font-family:inherit}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--rule);padding:10px 16px;border-radius:var(--radius-sm);cursor:pointer;font-family:inherit}.err{color:var(--danger);font-size:13px;margin:8px 0}.main{flex:1;min-width:0;padding:32px 48px}.topbar{display:flex;align-items:center;justify-content:space-between;padding:16px 48px;border-bottom:1px solid var(--rule);background:var(--bg-panel)}.topbar .crumbs{display:flex;gap:8px;color:var(--ink-3);font-size:13px}.topbar .crumbs a{color:var(--ink-3);text-decoration:none}.topbar .crumbs a:hover{color:var(--ink)}.balance-chip{font-family:JetBrains Mono,monospace;font-size:11px;padding:4px 10px;border:1px solid var(--rule);border-radius:999px;color:var(--ink-3)}.scenarios-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.scenario-card{padding:20px;border:1px solid var(--rule);border-radius:var(--radius-lg);background:var(--bg-panel);cursor:pointer;transition:transform .12s ease,border-color .12s ease;text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:8px;min-height:160px}.scenario-card:hover{transform:translateY(-1px);border-color:var(--ink)}.scenario-card .index{font-family:"Instrument Serif",serif;font-style:italic;font-size:32px;color:var(--ink-3);line-height:1}.scenario-card h3{font-family:"Instrument Serif",serif;font-size:22px;margin:0}.scenario-card p{font-size:13px;color:var(--ink-3);margin:0}.scenario-card.featured{background:var(--ink);color:var(--bg);border-color:var(--ink)}.scenario-card.featured .index,.scenario-card.featured p{color:#ffffffb8}.form-section{background:var(--bg-panel);border:1px solid var(--rule);border-radius:var(--radius-lg);padding:20px 24px;margin-bottom:14px}.form-section h2{font-size:15px;margin:0 0 12px;display:flex;align-items:baseline;gap:10px}.form-section h2 .idx{font-family:"Instrument Serif",serif;font-style:italic;font-size:22px;color:var(--ink-3)}.step-wrap{max-width:920px;margin:0 auto}.step-wrap h1{font-family:"Instrument Serif",serif;font-size:34px;margin:0 0 4px}.step-wrap .sub{color:var(--ink-3);margin-bottom:20px}.stepper{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:2px solid var(--rule);margin:20px 0 24px}.stepper button{background:none;border:0;border-top:2px solid transparent;margin-top:-2px;padding:14px 10px;text-align:left;cursor:pointer;color:var(--ink-3);font-family:inherit}.stepper button.done{color:var(--ink);border-top-color:var(--ink-3)}.stepper button.active{color:var(--ink);border-top-color:var(--ink)}.stepper .num{font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.08em;display:block;margin-bottom:4px}.result-doc{background:var(--bg-panel);border:1px solid var(--rule);border-radius:var(--radius-lg);padding:40px 48px}.result-doc h1{font-family:"Instrument Serif",serif;font-size:30px;margin:0 0 4px}.result-doc .meta{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--ink-3);letter-spacing:.08em;margin-bottom:20px}.result-doc .opener{font-family:"Instrument Serif",serif;font-size:20px;margin-bottom:16px}.result-doc .body{white-space:pre-wrap}.result-doc .quote{border-left:2px solid var(--ink);padding:8px 16px;font-family:"Instrument Serif",serif;font-style:italic;font-size:18px;margin-top:20px}.refine-grid{display:grid;grid-template-columns:1fr 380px;gap:28px}@media(max-width:1100px){.refine-grid{grid-template-columns:1fr}}.chat{display:flex;flex-direction:column;gap:12px;background:var(--bg-panel);border:1px solid var(--rule);border-radius:var(--radius-lg);padding:16px;max-height:calc(100vh - 220px)}.chat .msgs{overflow-y:auto;display:flex;flex-direction:column;gap:10px}.chat .msg{padding:10px 12px;border-radius:var(--radius-sm);max-width:88%;font-size:13px}.chat .msg.user{background:var(--ink);color:var(--bg);margin-left:auto}.chat .msg.ai{background:var(--bg-sunken);color:var(--ink);margin-right:auto}.chat textarea{min-height:54px}.table{width:100%;border-collapse:collapse;font-size:13px}.table th,.table td{padding:10px 12px;border-bottom:1px solid var(--rule);text-align:left}.topup-form{display:flex;gap:6px}.topup-form input{width:120px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000052;display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:var(--bg-panel);border:1px solid var(--rule);border-radius:var(--radius-lg);padding:24px 28px;width:440px;max-width:92vw;box-shadow:0 24px 60px -20px #00000059}.badge{display:inline-block;font-family:JetBrains Mono,monospace;font-size:11px;padding:2px 8px;border-radius:999px;letter-spacing:.04em}.badge.pending{background:var(--accent-soft);color:var(--accent-ink)}.badge.approved{background:#e8f5ea;color:var(--ok)}.badge.rejected{background:#fbeaea;color:var(--danger)}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--rule)}.tab{background:none;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;padding:10px 16px;font-family:inherit;font-size:13px;color:var(--ink-3);cursor:pointer;position:relative}.tab:hover{color:var(--ink)}.tab.active{color:var(--ink);border-bottom-color:var(--ink)}.install-prompt{position:fixed;left:12px;right:12px;bottom:12px;padding:10px 14px;background:var(--bg-panel);border:1px solid var(--rule);border-radius:var(--radius-lg);box-shadow:0 12px 30px -10px #0003;display:flex;align-items:center;gap:12px;z-index:90;max-width:560px;margin:0 auto}@supports (padding: env(safe-area-inset-bottom)){.install-prompt{bottom:calc(12px + env(safe-area-inset-bottom))}}.tab-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--warn);margin-left:6px;vertical-align:middle}
