@import url('https://fonts.googleapis.com/css2?family=Gowun+Batang:wght@700&family=IBM+Plex+Mono:wght@500&family=Noto+Sans+KR:wght@400;500;700&display=swap');
:root{--paper:#f5f0e8;--surface:#fffcf7;--ink:#1f2925;--muted:#68716c;--accent:#e86f51;--moss:#54715e;--amber:#b7792b;--danger:#b5463b;--line:#d8d0c4;--tertiary:#e3aa32;--success:#2f7660;--chart-1:var(--moss);--chart-2:var(--amber);--chart-3:var(--accent);--chart-4:var(--tertiary);--chart-5:var(--muted)}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 'Noto Sans KR',sans-serif}button,input,select,textarea{font:inherit}button,a{min-height:44px}a{color:inherit}.mono{font-family:'IBM Plex Mono',monospace}.muted{color:var(--muted)}.sim{display:inline-block;border:1px solid var(--amber);color:#815516;padding:3px 8px;font:12px 'IBM Plex Mono';letter-spacing:.06em}.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}.top{display:flex;align-items:center;justify-content:space-between;padding:20px 5vw;border-bottom:1px solid var(--line)}.brand{font:700 20px 'Gowun Batang'}.nav{display:flex;gap:16px;align-items:center}.nav button{border:0;background:none}.hero{min-height:calc(100vh - 73px);display:grid;grid-template-columns:1.2fr .8fr;gap:7vw;align-items:center;padding:8vh 5vw}.eyebrow{font:12px 'IBM Plex Mono';letter-spacing:.1em}.hero h1{font:700 clamp(48px,7vw,104px)/1.1 'Gowun Batang';letter-spacing:-.035em;word-break:keep-all;text-wrap:balance;max-width:10ch;margin:16px 0 24px}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.lead{max-width:34em;font-size:19px;color:var(--muted)}.actions{display:flex;gap:12px;margin-top:32px}.btn{border:1px solid var(--ink);background:transparent;padding:11px 18px;font-weight:700;cursor:pointer}.btn.primary{background:var(--ink);color:var(--surface)}.btn.accent{background:var(--accent);border-color:var(--accent);color:white}.index{border-top:3px solid var(--ink)}.index-row{display:grid;grid-template-columns:60px 1fr auto;gap:12px;padding:15px 0;border-bottom:1px solid var(--line)}.index-row strong{color:var(--accent)}.section{padding:80px 5vw}.section h2{font:700 clamp(32px,4vw,54px)/1.1 'Gowun Batang';word-break:keep-all;text-wrap:balance}.flow{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--ink)}.flow div{padding:18px 12px;border-bottom:1px solid var(--line)}.shell{min-height:100vh;background:var(--surface)}.workspace{display:grid;grid-template-columns:220px 1fr;min-height:calc(100vh - 73px)}.side{padding:28px 20px;border-right:1px solid var(--line)}.side a{display:block;padding:10px 8px;text-decoration:none}.main{padding:38px;max-width:1180px}.main h1{font:700 40px/1.1 'Gowun Batang';margin:0 0 10px}.status{display:flex;margin:30px 0;border-top:2px solid var(--line)}.step{flex:1;padding:15px 8px;border-top:4px solid transparent;margin-top:-3px}.step.done{border-color:var(--moss)}.step.current{border-color:var(--accent);font-weight:700}.panel{padding:22px 0;border-top:1px solid var(--line);margin-top:24px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field{display:grid;gap:6px}.field input,.field select,.field textarea{min-height:46px;border:1px solid var(--line);background:white;padding:10px}.field textarea{min-height:110px}.full{grid-column:1/-1}.notice{padding:12px 14px;background:#f8e8df;border-left:4px solid var(--accent)}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:13px 10px;border-bottom:1px solid var(--line)}.table th{font-size:13px;color:var(--muted)}.login{max-width:880px;margin:7vh auto;padding:0 24px}.login h1{font:700 52px/1.08 'Gowun Batang'}.roles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0}.roles button{text-align:left;padding:18px;border:1px solid var(--line);background:var(--surface)}.report-toolbar{display:flex;align-items:end;justify-content:space-between;gap:24px;margin:24px 0}.report-toolbar p{margin:8px 0 0;color:var(--muted)}.report-book{display:grid;gap:28px}.report-page{min-height:720px;padding:48px;background:white;border:1px solid var(--line);border-top:5px solid var(--moss);page-break-after:always}.report-page>header{display:flex;justify-content:space-between;padding-bottom:16px;border-bottom:1px solid var(--line);font-weight:700}.report-title{padding:72px 0 56px}.report-title>p,.report-kicker{font:500 12px/1.4 'IBM Plex Mono',monospace;letter-spacing:.08em;color:var(--moss)}.report-title h2,.report-chapter h2{font:700 clamp(34px,5vw,62px)/1.12 'Gowun Batang';margin:12px 0;word-break:keep-all}.report-title>span,.report-chapter>p{color:var(--muted);font-size:17px}.report-meta{display:grid;grid-template-columns:repeat(4,1fr);margin:0;border-top:2px solid var(--ink);border-bottom:1px solid var(--line)}.report-meta div{padding:16px 12px;border-right:1px solid var(--line)}.report-meta div:last-child{border:0}.report-meta dt,.report-context dt{font-size:12px;color:var(--muted)}.report-meta dd,.report-context dd{margin:5px 0 0;font-weight:700}.report-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.result-metric{padding:24px 18px;border-right:1px solid var(--line)}.result-metric:last-child{border:0}.result-metric span,.result-ledger span{font-size:12px;color:var(--muted)}.result-metric strong{display:block;font:700 28px/1.2 'Gowun Batang';margin:14px 0}.result-metric p{font-size:13px;color:var(--muted)}.report-boundary{margin-top:40px;padding-top:16px;border-top:1px solid var(--line);font-size:12px;color:#58615c}.report-chapter{padding:64px 0 40px;max-width:760px}.result-ledger{border-top:2px solid var(--ink)}.result-ledger div{display:grid;grid-template-columns:180px 1fr;gap:24px;padding:18px 8px;border-bottom:1px solid var(--line)}.report-composition{display:grid;grid-template-columns:repeat(3,1fr);border-top:2px solid var(--ink);border-bottom:1px solid var(--line)}.report-composition div{min-height:160px;padding:22px;border-right:1px solid var(--line)}.report-composition div:last-child{border:0}.report-composition span{display:block;color:var(--muted);font-size:13px}.report-composition b{display:block;margin-top:56px}.report-quote{font:700 28px/1.45 'Gowun Batang';color:var(--ink)!important}.report-note,.report-empty-data{padding:24px;background:var(--paper);border-left:5px solid var(--moss)}.report-note p,.report-empty-data p{margin-bottom:0}.report-empty-data span{display:block;color:var(--muted);font-size:12px}.report-empty-data strong{display:block;margin:12px 0;font-size:20px}.report-context{display:grid;grid-template-columns:repeat(3,1fr);margin:0;border-top:2px solid var(--ink);border-bottom:1px solid var(--line)}.report-context div{padding:22px;border-right:1px solid var(--line)}.report-context div:last-child{border:0}.report-status-line{display:grid;grid-template-columns:repeat(5,1fr);margin-top:36px;border-top:4px solid var(--moss)}.report-status-line>*{padding:16px 8px;border-bottom:1px solid var(--line)}.report-status-line strong{color:var(--moss)}.report-guidance{margin:0;padding:0;list-style:none;border-top:2px solid var(--ink)}.report-guidance li{padding:18px 10px 18px 36px;border-bottom:1px solid var(--line);position:relative}.report-guidance li:before{content:'✓';position:absolute;left:10px;color:var(--moss);font-weight:700}.error{color:var(--danger);font-weight:700}.success{color:var(--moss);font-weight:700}@media(max-width:760px){.hero{display:block;padding:60px 20px}.hero h1{font-size:52px}.actions,.roles,.grid{display:grid}.index{margin-top:60px}.flow{display:block}.top{padding:16px 20px}.workspace{display:block}.side{display:flex;overflow:auto;border-right:0;border-bottom:1px solid var(--line);padding:8px 12px}.side a{white-space:nowrap}.main{padding:28px 20px}.status{display:block;border:0}.step{border-top:0;border-left:4px solid var(--line);margin:0;padding:10px 14px}.step.done,.step.current{border-left-color:var(--moss)}.step.current{border-left-color:var(--accent)}.table{display:block;overflow:auto}.roles{grid-template-columns:1fr}.report-toolbar{display:block}.report-toolbar .btn{margin-top:16px}.report-page{min-height:0;padding:26px 20px}.report-title,.report-chapter{padding:40px 0 28px}.report-meta,.report-summary-grid,.report-composition,.report-context,.report-status-line{grid-template-columns:1fr}.report-meta div,.result-metric,.report-composition div,.report-context div{border-right:0;border-bottom:1px solid var(--line)}.result-ledger div{grid-template-columns:1fr;gap:6px}.report-composition div{min-height:110px}.report-composition b{margin-top:24px}}
@media(max-width:760px){.top{padding:14px 20px;gap:12px}.brand,.nav button{white-space:nowrap}.nav{gap:10px}.nav>span:not(.sim){display:none}}
@media print{.top,.side,.actions,.report-toolbar{display:none}.workspace{display:block}.main{padding:0}.report-page{border:0;page-break-after:always}.report-page:last-child{page-break-after:auto}.chart,.chart *{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
@page{size:A4;margin:14mm}
.report-page.branch-a{border-top-color:var(--moss)}.report-page.branch-b{border-top-style:dashed;border-top-color:var(--line)}.report-page.branch-live{border-top-style:solid;border-top-color:var(--amber)}
.report-badge{font:500 11px/1 'IBM Plex Mono',monospace;letter-spacing:.06em;padding:4px 8px;border:1px solid var(--ink);color:var(--ink);background:var(--paper)}
.report-page.branch-b .report-badge{border-style:dashed;color:var(--muted)}.report-page.branch-live .report-badge{background:color-mix(in srgb,var(--amber) 18%,white);border-color:var(--amber)}
.measures-panel textarea{width:100%;min-height:220px;font:13px/1.45 'IBM Plex Mono',monospace;border:1px solid var(--line);padding:12px;background:white}
.chart-live .chart-track{background:var(--surface)}.chart-mark.oob{background:var(--surface);border-width:2px}.mini-frame.live .track.solid{background:color-mix(in srgb,var(--moss) 12%,white)}.mini-frame.live .track.solid i{transform:rotate(45deg)}
.report-page>header{align-items:center;gap:12px}.report-page>header .page-meta{display:flex;align-items:center;gap:10px}
.chip-rail{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.chip{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid var(--ink);background:var(--paper);font-weight:700}.chip span{font:12px/1 'IBM Plex Mono',monospace;color:var(--muted);font-weight:500}.chip.moss{background:color-mix(in srgb,var(--moss) 14%,white)}.chip.amber{background:color-mix(in srgb,var(--amber) 16%,white)}.chip.accent{background:color-mix(in srgb,var(--accent) 14%,white)}
figure.chart{margin:28px 0 0;padding:0;border-top:2px solid var(--ink);break-inside:avoid}figure.chart figcaption{padding:14px 4px 10px;font-weight:700}figure.chart .chart-body{padding:8px 4px 16px}figure.chart table{width:100%;border-collapse:collapse;margin-top:12px}figure.chart th,figure.chart td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);font-size:14px}figure.chart th{color:var(--muted);font-weight:500;font-size:12px}
.chart-track{position:relative;height:28px;border:1px solid var(--ink);background:var(--surface);margin:18px 0 8px}.chart-track.hatch{background:repeating-linear-gradient(45deg,var(--surface),var(--surface) 6px,var(--line) 6px,var(--line) 7px)}.chart-band{position:absolute;top:0;bottom:0;left:25%;width:50%;background:repeating-linear-gradient(45deg,transparent,transparent 5px,var(--line) 5px,var(--line) 6px);border-left:1px dashed var(--muted);border-right:1px dashed var(--muted)}.chart-mark{position:absolute;top:50%;width:14px;height:14px;margin:-7px 0 0 -7px;border:2px solid var(--ink);background:var(--surface);transform:rotate(45deg)}.chart-mark.filled{background:var(--moss);border-color:var(--ink)}.chart-axis{display:flex;justify-content:space-between;font:12px 'IBM Plex Mono',monospace;color:var(--muted)}.chart-note{font-size:13px;color:var(--muted);margin:8px 0 0}
.stack-bar{display:flex;height:36px;border:1px solid var(--ink);overflow:hidden;margin:16px 0 8px}.stack-bar>i{display:block;border-right:1px solid var(--ink);min-width:0}.stack-bar>i:last-child{border:0}.stack-bar.hatch>i{background:repeating-linear-gradient(45deg,var(--surface),var(--surface) 6px,var(--line) 6px,var(--line) 7px)}.stack-bar .s1{background:color-mix(in srgb,var(--chart-1) 55%,white)}.stack-bar .s2{background:color-mix(in srgb,var(--chart-2) 50%,white)}.stack-bar .s3{background:color-mix(in srgb,var(--chart-3) 45%,white)}.stack-bar .s4{background:color-mix(in srgb,var(--chart-4) 50%,white)}.stack-legend{display:flex;flex-wrap:wrap;gap:10px 16px;font-size:13px}.stack-legend b{display:inline-block;width:10px;height:10px;border:1px solid var(--ink);margin-right:6px;vertical-align:middle}
.rank-list{display:grid;gap:12px;margin:16px 0}.rank-row{display:grid;grid-template-columns:minmax(100px,160px) 1fr auto;gap:12px;align-items:center}.rank-row .bar{height:22px;border:1px solid var(--ink);background:var(--surface)}.rank-row .bar>i{display:block;height:100%;background:color-mix(in srgb,var(--moss) 55%,white);border-right:1px solid var(--ink)}.rank-row .bar.hatch{background:repeating-linear-gradient(45deg,var(--surface),var(--surface) 6px,var(--line) 6px,var(--line) 7px)}.rank-row .bar.hatch>i{display:none}.rank-row .val{font:12px 'IBM Plex Mono',monospace;color:var(--muted)}
.timeline-chart{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin:20px 0 8px;border:1px solid var(--ink)}.timeline-chart .seg{min-height:88px;padding:12px 10px;border-right:1px solid var(--line);background:color-mix(in srgb,var(--moss) 12%,white);display:flex;flex-direction:column;justify-content:space-between}.timeline-chart .seg:last-child{border:0}.timeline-chart .seg strong{font-size:13px}.timeline-chart .seg span{font:11px/1.35 'IBM Plex Mono',monospace;color:var(--muted)}.timeline-chart .seg.empty{background:repeating-linear-gradient(45deg,var(--surface),var(--surface) 6px,var(--line) 6px,var(--line) 7px)}.summary-charts{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;margin-top:28px}.summary-charts .mini-frames{display:grid;gap:12px}.mini-frame{border:1px solid var(--ink);padding:12px 14px}.mini-frame .label{font-size:12px;color:var(--muted)}.mini-frame .track{height:16px;margin:10px 0 6px;border:1px solid var(--ink);background:repeating-linear-gradient(45deg,var(--surface),var(--surface) 5px,var(--line) 5px,var(--line) 6px);position:relative}.mini-frame .track i{position:absolute;left:50%;top:50%;width:10px;height:10px;margin:-5px 0 0 -5px;border:1.5px solid var(--ink);background:var(--surface);transform:rotate(45deg)}.mini-frame .hint{font-size:12px;color:var(--muted)}
@media(max-width:760px){.summary-charts{grid-template-columns:1fr}.timeline-chart{grid-template-columns:1fr}.timeline-chart .seg{min-height:64px;border-right:0;border-bottom:1px solid var(--line)}.rank-row{grid-template-columns:1fr;gap:6px}.chip-rail{display:grid}}
.play-instrument{min-width:0}
.playground{background:var(--ink);color:var(--surface)}.playground .muted{color:#bec6c1}.playground-head{display:flex;justify-content:space-between;align-items:end;gap:24px}.playground-head h2{max-width:760px}.playground-head .btn{color:var(--surface);border-color:var(--surface);flex:none}.playground-layout{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:24px;margin-top:36px}.play-guide,.play-instrument{background:var(--surface);color:var(--ink);padding:24px;border:1px solid var(--line)}.play-guide{align-self:start;position:sticky;top:16px}.play-guide h3,.pg-state h3,.pg-explain h3{margin-top:0}.play-guide li{margin:10px 0}.pg-inputs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.pg-check{grid-column:1/-1;display:flex;gap:10px;align-items:center;min-height:44px}.pg-check input{width:20px;height:20px}.pg-actions{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.pg-actions button.primary{background:var(--accent);border-color:var(--accent);color:white}.pg-actions button:disabled{cursor:not-allowed;opacity:.42}.pg-failures{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0}.pg-failures summary{cursor:pointer;font-weight:700;min-height:44px;padding-top:9px}.pg-state{margin-top:24px}.pg-state dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;border-top:2px solid var(--ink)}.pg-state dl div{padding:12px 10px;border-bottom:1px solid var(--line)}.pg-state dt{font-size:12px;color:var(--muted)}.pg-state dd{margin:4px 0 0;font-weight:700;overflow-wrap:anywhere}.pg-timeline{display:grid;grid-template-columns:repeat(5,minmax(110px,1fr));overflow:auto;margin-top:16px}.pg-timeline span{padding:12px 10px;border-top:4px solid var(--line);white-space:nowrap}.pg-timeline span.done{border-color:var(--moss)}.pg-timeline span.current{border-color:var(--accent);font-weight:700}.pg-explain{margin-top:24px;padding:20px;background:#f8e8df;border-left:5px solid var(--accent)}.pg-explain p{margin:8px 0}.pg-learning{font-weight:700}.pg-boundary{margin:24px 0 0;color:#d7ddd9;font-size:14px}.playground select{background:white}.playground input,.playground select{width:100%}@media(max-width:900px){.playground-layout{grid-template-columns:1fr}.play-guide{position:static}.pg-inputs{grid-template-columns:1fr 1fr}.pg-state dl{grid-template-columns:1fr 1fr}}@media(max-width:560px){.playground-head{display:block}.playground-head .btn{display:inline-flex;margin-top:18px}.play-guide,.play-instrument{padding:18px}.pg-inputs,.pg-state dl{grid-template-columns:1fr}.pg-actions{display:grid}.pg-actions .btn{width:100%}.pg-timeline{margin-right:-18px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.pg-pages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0;margin:16px 0 0;list-style:none}.pg-pages[hidden]{display:none}.pg-pages li{padding:10px;border:1px solid var(--line);font-size:13px}@media(max-width:560px){.pg-pages{grid-template-columns:1fr 1fr}}

/* ===== Result report redesign (Tiny Health–inspired, DESIGN tokens) ===== */
.rr-shell{display:grid;gap:28px;max-width:1100px}
.rr-page{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:28px 28px 24px;box-shadow:0 10px 30px rgba(31,41,37,.04);page-break-after:always}
.rr-page:last-child{page-break-after:auto}
.rr-page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.rr-page-head h2{margin:6px 0 0;font:700 clamp(24px,3vw,34px)/1.15 'Gowun Batang',serif;word-break:keep-all}
.rr-page-head .mono{color:var(--muted);font-size:12px;letter-spacing:.06em}
.rr-pill{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font:600 11px/1 'IBM Plex Mono',monospace;letter-spacing:.04em;border:1px solid var(--line);background:var(--paper);color:var(--muted)}
.rr-pill.live{background:color-mix(in srgb,var(--moss) 16%,white);border-color:color-mix(in srgb,var(--moss) 40%,var(--line));color:var(--moss)}
.rr-pill.wait{background:var(--paper);color:var(--muted)}
.rr-summary-top{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:20px}
.rr-title{font:700 clamp(32px,5vw,48px)/1.1 'Gowun Batang',serif;margin:10px 0 8px;word-break:keep-all;letter-spacing:-.02em}
.rr-lead{color:var(--muted);max-width:42em;margin:0;font-size:16px}
.rr-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:18px 0 20px;background:white}
.rr-meta>div{padding:14px 16px;border-right:1px solid var(--line)}
.rr-meta>div:last-child{border:0}
.rr-meta span{display:block;font-size:11px;color:var(--muted);margin-bottom:4px}
.rr-meta b{font-size:15px}
.rr-count-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}
.rr-count{border-radius:14px;padding:16px 18px;border:1px solid var(--line);background:white}
.rr-count em{display:block;font:700 36px/1 'Gowun Batang',serif;font-style:normal}
.rr-count span{color:var(--muted);font-size:13px}
.rr-count.need{background:color-mix(in srgb,var(--accent) 10%,white);border-color:color-mix(in srgb,var(--accent) 35%,var(--line))}
.rr-count.need em{color:var(--accent)}
.rr-count.ok{background:color-mix(in srgb,var(--moss) 12%,white)}
.rr-count.ok em{color:var(--moss)}
.rr-count.wait em{color:var(--muted)}
.rr-grid-2{display:grid;grid-template-columns:1.05fr .95fr;gap:16px;margin-bottom:16px}
.rr-hero,.rr-stack-card,.rr-taxa,.rr-timeline{background:white;border:1px solid var(--line);border-radius:14px;padding:20px}
.rr-hero-kicker{font:600 11px/1.3 'IBM Plex Mono',monospace;letter-spacing:.08em;color:var(--moss);text-transform:uppercase}
.rr-hero-value{font:700 clamp(40px,6vw,56px)/1 'Gowun Batang',serif;margin:8px 0 4px;letter-spacing:-.03em}
.rr-hero-value small{font-size:.38em;margin-left:6px;color:var(--muted);font-family:'IBM Plex Mono',monospace}
.rr-hero-status{margin:0 0 16px;color:var(--muted);font-size:14px}
.rr-hero.tone-low .rr-hero-value{color:var(--accent)}
.rr-hero.tone-high .rr-hero-value{color:var(--amber)}
.rr-hero.tone-ok .rr-hero-value{color:var(--moss)}
.rr-hero.is-empty .rr-hero-value{color:var(--line)}
.rr-gauge{position:relative;height:14px;border-radius:999px;background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 35%,white),var(--paper) 35%,var(--paper) 65%,color-mix(in srgb,var(--moss) 40%,white));border:1px solid var(--ink);margin:10px 0 8px}
.rr-gauge.empty{background:repeating-linear-gradient(45deg,var(--surface),var(--surface) 6px,var(--line) 6px,var(--line) 7px)}
.rr-band{position:absolute;left:25%;width:50%;top:0;bottom:0;border-left:1px dashed color-mix(in srgb,var(--ink) 25%,transparent);border-right:1px dashed color-mix(in srgb,var(--ink) 25%,transparent);background:color-mix(in srgb,var(--moss) 8%,transparent)}
.rr-dot{position:absolute;top:50%;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;background:var(--ink);border:3px solid white;box-shadow:0 1px 4px rgba(0,0,0,.18)}
.rr-gauge-labels{display:flex;justify-content:space-between;font:11px 'IBM Plex Mono',monospace;color:var(--muted)}
.rr-stack{display:flex;height:28px;border-radius:999px;overflow:hidden;border:1px solid var(--ink);margin:14px 0 12px}
.rr-stack.empty{background:repeating-linear-gradient(45deg,var(--surface),var(--surface) 6px,var(--line) 6px,var(--line) 7px)}
.rr-stack.empty i{flex:1;border-right:1px solid var(--line);background:transparent}
.rr-stack i{display:block;min-width:4px}
.rr-stack .c1{background:var(--moss)}.rr-stack .c2{background:var(--amber)}.rr-stack .c3{background:var(--accent)}.rr-stack .c4{background:var(--tertiary)}.rr-stack .c5{background:var(--muted)}
.rr-stack-title,.rr-section-head h3{margin:0;font:700 18px/1.2 'Gowun Batang',serif}
.rr-section-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px}
.rr-stack-legend{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.rr-stack-legend li{display:grid;grid-template-columns:14px 1fr auto;gap:10px;align-items:center;font-size:14px}
.rr-stack-legend .sw{width:12px;height:12px;border-radius:3px;border:1px solid var(--ink)}
.rr-stack-legend .sw.c1{background:var(--moss)}.rr-stack-legend .sw.c2{background:var(--amber)}.rr-stack-legend .sw.c3{background:var(--accent)}.rr-stack-legend .sw.c4{background:var(--tertiary)}.rr-stack-legend .sw.c5{background:var(--muted)}
.rr-stack-legend em{font-style:normal;font-family:'IBM Plex Mono',monospace;color:var(--muted)}
.rr-taxa-list{display:grid;gap:12px}
.rr-taxa-row{display:flex;justify-content:space-between;gap:16px;align-items:center;padding-bottom:10px;border-bottom:1px solid var(--line)}
.rr-taxa-main{display:flex;gap:12px;align-items:flex-start;flex:1;min-width:0}
.rr-rank{font:600 12px 'IBM Plex Mono',monospace;color:var(--muted);padding-top:4px}
.rr-taxa-main strong{display:block;margin-bottom:6px}
.rr-bar{height:10px;border-radius:999px;background:var(--paper);border:1px solid var(--line);overflow:hidden}
.rr-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--moss),color-mix(in srgb,var(--moss) 60%,var(--tertiary)));border-radius:999px}
.rr-taxa-pct{font-weight:700;color:var(--ink)}
.rr-taxa-row.skel span{display:block;height:12px;background:var(--paper);border-radius:6px}
.rr-taxa-row.skel span:first-child{width:55%}.rr-taxa-row.skel span:last-child{width:18%}
.rr-tl-track{display:grid;gap:0;border:1px solid var(--ink);border-radius:12px;overflow:hidden}
.rr-tl-seg{min-height:78px;padding:12px 10px;background:color-mix(in srgb,var(--moss) 10%,white);border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between}
.rr-tl-seg:last-child{border:0}
.rr-tl-seg strong{font-size:13px}
.rr-tl-seg span{font:11px/1.35 'IBM Plex Mono',monospace;color:var(--muted)}
.rr-tl-seg:not(.is-done){background:repeating-linear-gradient(45deg,var(--surface),var(--surface) 5px,var(--line) 5px,var(--line) 6px)}
.rr-chips{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:8px}
.rr-chips.large{grid-template-columns:repeat(3,1fr);margin:8px 0 16px}
.rr-chip{background:white;border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.rr-chip span{display:block;font-size:11px;color:var(--muted);margin-bottom:4px}
.rr-chip b{font-size:15px}
.rr-chip.moss{background:color-mix(in srgb,var(--moss) 12%,white)}
.rr-chip.amber{background:color-mix(in srgb,var(--amber) 14%,white)}
.rr-chip.accent{background:color-mix(in srgb,var(--accent) 12%,white)}
.rr-copy,.rr-muted{color:var(--muted);font-size:14px;line-height:1.55}
.rr-hero-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.rr-quote{margin:0;padding:24px;border-left:5px solid var(--moss);background:var(--paper);font:700 26px/1.45 'Gowun Batang',serif;border-radius:0 12px 12px 0}
.rr-note{margin-top:16px;padding:16px 18px;border-radius:12px;background:white;border:1px solid var(--line)}
.rr-note p{margin:6px 0 0;color:var(--muted)}
.rr-guide{margin:0;padding:0;list-style:none;border-top:2px solid var(--ink)}
.rr-guide li{padding:16px 8px 16px 32px;border-bottom:1px solid var(--line);position:relative}
.rr-guide li:before{content:'✓';position:absolute;left:8px;color:var(--moss);font-weight:700}
.rr-footnote{margin:18px 0 0;padding-top:14px;border-top:1px solid var(--line);font-size:12px;color:#58615c;line-height:1.5}
.rr-shell .main h1{margin-bottom:8px}
@media(max-width:900px){
  .rr-grid-2,.rr-meta,.rr-count-row,.rr-chips,.rr-chips.large,.rr-hero-grid{grid-template-columns:1fr}
  .rr-meta>div{border-right:0;border-bottom:1px solid var(--line)}
  .rr-summary-top{flex-direction:column}
  .rr-tl-track{grid-template-columns:1fr !important}
  .rr-tl-seg{min-height:58px;border-right:0;border-bottom:1px solid var(--line)}
  .rr-page{padding:20px}
}
@media print{
  .top,.side,.actions,.rr-summary-top .btn{display:none !important}
  .workspace{display:block}
  .main{padding:0;max-width:none}
  .rr-page{box-shadow:none;border-radius:0;break-inside:avoid}
  .rr-hero,.rr-stack-card,.rr-taxa,.rr-timeline,.rr-bar i,.rr-stack i,.rr-dot{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
