:root{--bg:#faf9f6;--surface:#f1efe9;--paper:#fff;--text:#222820;--muted:#60675e;--accent:#315a46;--border:#dddcd5;--warning:#815123;--warning-bg:#f5efe4;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s6:24px;--s8:32px;--s12:48px;--radius:8px;--title:26px;--body:16px;--caption:13px;--compact:13px;--card:16px;--section:26px;--micro:12px;--verdict:22px}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:var(--body)/1.65 -apple-system,BlinkMacSystemFont,"Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic",sans-serif;word-break:keep-all;overflow-wrap:anywhere}button,a,input,select,textarea{font:inherit}button,select,input,textarea{max-width:100%;color:inherit}button,select,input[type=search],input[type=number],textarea{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);min-height:40px;padding:8px 12px}button{cursor:pointer;font-size:var(--caption);font-weight:600}button:hover{background:var(--surface);border-color:var(--accent)}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.primary{background:var(--accent);color:var(--paper);border-color:var(--accent)}.primary:hover{background:#254737;color:var(--paper)}h1,h2,h3,p{margin:0 0 12px}h1,h2{font-size:var(--title);line-height:1.4;letter-spacing:-.035em}h3{font-size:var(--body)}p{max-width:80ch}small,.muted,.disclaimer,.meta,.state-code,.section-label,.eyebrow{font-size:var(--caption);color:var(--muted)}small{line-height:1.55}.masthead,main,footer{max-width:1320px;margin:auto;padding:24px 32px}.masthead{padding-top:28px;padding-bottom:12px}.heading,.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.introduction p{margin:8px 0;max-width:none}.data-identity{border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:12px 0;margin-top:16px}.data-identity h2{font-size:var(--body);margin:0 0 8px}.data-identity dl{display:grid;grid-template-columns:1fr 1.05fr 1.25fr;gap:24px;margin:0}.data-identity dl>div{display:flex;gap:12px;min-width:0}.data-identity dt{font-size:var(--caption);color:var(--muted);white-space:nowrap}.data-identity dd{margin:0;font-size:var(--caption)}.data-identity strong{font-size:var(--body);font-variant-numeric:tabular-nums}.guide-nav{margin-top:12px}.guide{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;list-style:none;padding:0;margin:0}.guide li{min-width:0}.guide a{display:flex;flex-direction:column;color:var(--text);text-decoration:none;padding:8px 0;border-bottom:1px solid var(--border);font-size:var(--caption)}.guide a:hover{color:var(--accent)}.guide strong,.guide small{font-size:var(--caption)}main{padding-top:0}.tabs{display:flex;flex-wrap:wrap;gap:4px;border-bottom:1px solid var(--border);margin-bottom:20px}.tabs button{border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;padding:10px 16px;font-size:var(--body)}.tabs button[aria-current=page]{border-bottom-color:var(--accent);color:var(--accent)}#notice:not(:empty){font-size:var(--caption);color:var(--muted);padding:8px 0;margin-bottom:12px}.recommendation-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:20px}.recommendation-toolbar h2{font-size:var(--body);margin-bottom:4px}.recommendation-toolbar p{margin:0}.recommendation-run{display:flex;align-items:center;gap:12px}.hero-user-label{display:flex;align-items:center;gap:8px;font-size:var(--caption)}.hero-user-label select{min-width:180px;max-width:280px;font-size:var(--caption)}.recommendation-workspace{display:grid;grid-template-columns:230px minmax(0,1fr);gap:32px;align-items:start}.reading-history-panel{position:sticky;top:20px;background:var(--surface);border-radius:8px;padding:20px;min-width:0}.reading-history-panel h2,.results h2{font-size:var(--body)}.history-list{list-style:none;margin:12px 0 0;padding:0;max-height:580px;overflow:auto}.history-item{padding:12px 0;border-top:1px solid var(--border);font-size:var(--caption)}.history-item strong{font-size:var(--body);font-weight:500}.history-item small{display:block;margin-top:4px}.history-item p{margin:4px 0}.results{min-width:0;max-height:none;overflow:visible}.results>p{margin:8px 0}.results #result-sources p{margin:4px 0}.cover-note{border-bottom:1px solid var(--border);padding-bottom:12px}#history-match-summary{font-variant-numeric:tabular-nums}.book{display:grid;grid-template-columns:76px minmax(0,1fr);gap:20px;border-bottom:1px solid var(--border);padding:20px 0}.book.selected{border-left:3px solid var(--accent);padding-left:12px}.book-category-block{display:flex;flex-direction:column;justify-content:space-between;align-self:start;min-height:104px;padding:10px;border-radius:4px;background:var(--surface);font-size:var(--caption);color:var(--accent);border:1px solid var(--border)}.book-category-block strong{font-size:var(--title);line-height:1.4}.book-content{min-width:0}.book-heading{display:flex;align-items:start;gap:12px}.rank{font-size:var(--caption);color:var(--muted);min-width:22px;text-align:right;font-variant-numeric:tabular-nums}.book-title{font-size:var(--body);text-align:left;padding:0;min-height:0;line-height:1.55;border:0;background:transparent}.book-title:hover{background:transparent;color:var(--accent)}.meta,.reason{margin:6px 0;font-size:var(--caption)}.reason{color:var(--text)}.badges,.actions{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.badge,.kdc-marker,.kdc-badge{display:inline-block;border:1px solid var(--border);border-radius:4px;padding:2px 8px;font-size:var(--caption);font-weight:500;max-width:100%}.badge.accent,.kdc-marker.match,.kdc-badge.match{color:var(--accent);border-color:var(--accent)}.book .actions{margin-bottom:0}.book .actions button{padding:6px 10px;font-size:var(--caption)}.explore-entry{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:32px 0;padding:16px 0;border-top:1px solid var(--border)}.explore-entry p{margin:0;font-size:var(--caption)}details>summary{cursor:pointer;font-weight:600;padding:12px 0}summary .muted{font-weight:400;margin-left:12px}.process-details{border-top:1px solid var(--border)}.process-details>summary{font-size:var(--body);padding:20px 0}.reading-pane{max-width:100%;padding:16px 0}.hero-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:24px;margin-top:16px}.waterfall-panel,.policy-panel{min-width:0;padding:20px;border:1px solid var(--border);border-radius:8px;background:var(--paper)}.hero-grid h2{font-size:var(--body)}.universe{display:flex;flex-direction:column;padding:8px 0;font-size:var(--caption)}.universe strong{font-size:var(--body)}.budget-caption{text-align:right;font-size:var(--micro);color:var(--muted);padding-bottom:4px}.waterfall-row{display:grid;grid-template-columns:minmax(118px,1.3fr) minmax(76px,.9fr) minmax(40px,1fr) 80px;gap:10px;width:100%;align-items:center;text-align:left;border:0;border-radius:0;padding:2px 0;font-size:var(--body);font-weight:400;min-height:27px;background:transparent}.waterfall-row .flow-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.waterfall-row.process .flow-name{color:var(--muted)}.waterfall-row .flow-count{text-align:right;font-variant-numeric:tabular-nums}.waterfall-row .flow-count small,.waterfall-row b small{font-size:var(--micro);font-weight:400;color:var(--muted)}.waterfall-row.source{border-left:1px solid var(--muted);padding-left:11px}.waterfall-row.hot b{color:var(--text);font-weight:700}.waterfall-row.hot .time-track{background:var(--border)}.waterfall-row.hot .time-track>span{background:var(--text)}.waterfall-row b{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.waterfall-row.nested{padding-left:12px}.time-track{height:6px;display:block;background:var(--surface);border-radius:3px;overflow:hidden}.time-track>span{height:100%;display:block;background:var(--muted);border-radius:3px}.waterfall-total{display:flex;justify-content:space-between;gap:16px;border-top:2px solid var(--accent);padding-top:10px;margin-top:10px;font-size:var(--body)}.verdict-line{font-size:var(--verdict);line-height:1.32;letter-spacing:-.025em;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums;margin:0 0 2px}.verdict-detail{font-size:var(--body);color:var(--text);margin:0 0 6px}.flow-note{font-size:var(--micro);line-height:1.55;color:var(--muted);margin:0 0 8px}.flow-note strong{font-weight:600;color:var(--text)}.nowrap{white-space:nowrap}.idle-rules{margin-top:10px}.idle-rules>summary{font-size:var(--caption);color:var(--muted);padding:6px 0;cursor:pointer}.waterfall-total strong{font-variant-numeric:tabular-nums}.table-wrap{max-width:100%;overflow:auto}table{width:100%;border-collapse:collapse;font-size:var(--caption)}th,td{padding:8px;border-bottom:1px solid var(--border);text-align:left}td:not(:first-child),th:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}#stage-detail{font-size:var(--caption);margin-top:12px}#stage-detail h3{margin:12px 0}.debug{position:static;min-width:0;margin-top:24px}.debug h2{font-size:var(--body)}.debug #debug{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.debug section{border-top:1px solid var(--border);padding-top:12px;min-width:0}.debug h3{font-size:var(--body)}.kv{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin:12px 0;font-size:var(--caption)}.kv dt{color:var(--muted)}.kv dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}.history{font-size:var(--caption);padding-left:20px}.status-box{background:var(--surface);border-left:3px solid var(--accent);padding:12px;margin:12px 0;font-size:var(--caption)}.warning{color:var(--warning);background:var(--warning-bg);border-left-color:var(--warning)}.comparison,.journal{border-top:1px solid var(--border);padding-top:24px;margin-top:24px}.journal-row{font-size:var(--caption);padding:8px 0;border-bottom:1px solid var(--border)}.compare-grid,.metric-grid,.admin-grid,.score-distributions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.compare-grid>section,.score-distributions>section{min-width:0;background:var(--surface);padding:20px;border-radius:8px}.compare-grid ol{padding-left:24px}.compare-grid li{margin:12px 0}.metric{border-top:1px solid var(--border);padding:16px 0}.metric strong,.kdc-counts strong{display:block;font-size:var(--title);font-variant-numeric:tabular-nums}.admin-grid section{border-top:1px solid var(--border);padding-top:20px}.score-distributions svg{width:100%;height:auto;display:block}.score-range{stroke:var(--muted);stroke-width:2}.score-box{fill:var(--accent);fill-opacity:.3;stroke:var(--accent)}.score-median{stroke:var(--accent);stroke-width:3}.score-cut{stroke:var(--warning);stroke-dasharray:4 3;stroke-width:2}.kdc-comparison{padding:20px;border:1px solid var(--border);border-radius:8px;margin:16px 0}.kdc-counts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.kdc-counts>div{display:flex;flex-direction:column}.curve{position:relative;padding:16px 0;margin:16px 0}.curve-row{display:grid;grid-template-columns:40px minmax(0,1fr) 100px;gap:8px;align-items:center;min-height:36px;font-size:var(--caption)}.curve-row>.curve-track{position:relative;background:var(--surface);width:100%;height:16px}.curve-fill{display:block;background:var(--accent);height:100%}.curve-budget{position:absolute;top:0;bottom:0;border-left:2px dashed var(--warning);font-size:var(--caption);pointer-events:none}.curve-row small{text-align:right;font-variant-numeric:tabular-nums}.known-limitations{margin-bottom:32px}.known-limitations dl{margin:16px 0}.known-limitations dl>div{display:grid;grid-template-columns:160px minmax(0,1fr);gap:24px;padding:16px 0;border-top:1px solid var(--border)}.known-limitations dt{font-weight:600}.known-limitations dd{margin:0}.known-limitations small{display:block;max-width:90ch;color:var(--muted);margin-top:4px}.known-limitations strong{color:var(--warning)}.controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:24px 0}.controls label,.controls>div{display:flex;flex-direction:column;gap:8px;font-size:var(--body);font-weight:500}.controls small{font-weight:400;color:var(--muted)}.scenario-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:24px}.scenario-list button{text-align:left}.scenario-list button.active{border-color:var(--accent);background:var(--surface)}.scenario-list small{display:block;font-weight:400}.lab-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.lab-grid section{min-width:0}.lab-grid label{display:block;margin:12px 0}.lab-grid input[type=number]{max-width:96px}.lab-grid input[type=range]{max-width:180px;accent-color:var(--accent)}.lab-grid input[type=checkbox]{width:auto}.lab-grid fieldset{border:1px solid var(--border);margin:12px 0;padding:12px;min-width:0}.lab-grid fieldset label{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px;margin-right:12px}.lab-grid small{display:block;color:var(--muted)}.lab-grid output{min-width:40px;display:inline-block;text-align:right;font-variant-numeric:tabular-nums}#book-search-results{max-height:400px;overflow:auto}#lab-share-output{width:100%;height:96px}#lab-controls{border-top:1px solid var(--border)}#live-load-panel{margin-top:32px}#book-search-form{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin:16px 0}#book-search-form small{flex-basis:100%}#book-search-query{display:block}.evidence-section{margin-top:32px}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:var(--caption)}footer{margin-top:32px;border-top:1px solid var(--border);font-size:var(--caption);color:var(--muted)}footer .badge{margin-right:16px}.skip{position:absolute;left:16px;top:-100px;background:var(--paper);padding:12px;z-index:2}.skip:focus{top:16px}[hidden]{display:none!important}.flow{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.flow>span{font-size:var(--caption)}.flow strong,.flow small{display:block}.callout{font-size:var(--title);margin:24px 0}.section-label{margin-bottom:8px}.situation-presets{margin-bottom:20px}
@media(max-width:1099px){.masthead,main,footer{padding-left:24px;padding-right:24px}.data-identity dl{gap:16px;grid-template-columns:1fr 1fr}.data-identity dl>div:last-child{grid-column:1/-1}.recommendation-workspace{grid-template-columns:190px minmax(0,1fr);gap:24px}.reading-history-panel{padding:16px}.hero-grid{grid-template-columns:minmax(0,1fr)}.controls{grid-template-columns:repeat(2,minmax(0,1fr))}.recommendation-toolbar{align-items:start}.recommendation-run{flex-wrap:wrap;justify-content:end}.hero-user-label{flex-wrap:wrap}.book{grid-template-columns:60px minmax(0,1fr);gap:12px}.book-category-block{min-height:88px;padding:8px}.guide{grid-template-columns:repeat(3,minmax(0,1fr))}.scenario-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.masthead,main,footer{padding-left:16px;padding-right:16px}.masthead{padding-top:20px}.data-identity dl{grid-template-columns:1fr;gap:12px}.data-identity dl>div:last-child{grid-column:auto}.data-identity dt{min-width:76px}.guide{grid-template-columns:1fr}.guide a{display:grid;grid-template-columns:140px minmax(0,1fr);gap:8px}.tabs{gap:0}.tabs button{font-size:var(--caption);padding:10px}.recommendation-toolbar{display:block}.recommendation-run{justify-content:start;margin-top:12px}.hero-user-label{flex-wrap:nowrap}.hero-user-label select{min-width:0;max-width:220px}.recommendation-workspace{grid-template-columns:minmax(0,1fr);gap:24px}.reading-history-panel{position:static}.history-list{max-height:240px}.book{gap:12px;grid-template-columns:52px minmax(0,1fr)}.book-category-block{padding:6px;min-height:84px;font-size:var(--caption)}.book.selected{padding-left:8px}.book-heading{gap:8px}.book .actions{gap:6px}.book .actions button{padding:6px 8px}.compare-grid,.metric-grid,.admin-grid,.score-distributions,.lab-grid,.debug #debug{grid-template-columns:minmax(0,1fr)}.controls,.scenario-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.controls{font-size:var(--caption)}.controls label{font-size:var(--caption)}.hero-grid{gap:16px}.waterfall-panel,.policy-panel{padding:12px}.waterfall-row{grid-template-columns:minmax(76px,1.25fr) minmax(58px,.9fr) minmax(20px,.7fr) 64px;gap:6px;font-size:var(--caption);min-height:24px}.waterfall-row .flow-name{white-space:normal}.verdict-line{font-size:18px;letter-spacing:-.02em}.waterfall-total{flex-wrap:wrap}.known-limitations dl>div{grid-template-columns:minmax(0,1fr);gap:4px}.explore-entry{display:block}.explore-entry button{margin-top:12px}.process-details>summary .muted{display:block;margin-left:0}.curve-row{grid-template-columns:28px minmax(0,1fr) 90px}.kdc-counts{gap:12px}.section-heading{flex-wrap:wrap}.flow{grid-template-columns:repeat(3,minmax(0,1fr))}}

.budget-width-0 { width: 0%; }
.budget-left-0 { left: 0%; }
.budget-width-1 { width: 1%; }
.budget-left-1 { left: 1%; }
.budget-width-2 { width: 2%; }
.budget-left-2 { left: 2%; }
.budget-width-3 { width: 3%; }
.budget-left-3 { left: 3%; }
.budget-width-4 { width: 4%; }
.budget-left-4 { left: 4%; }
.budget-width-5 { width: 5%; }
.budget-left-5 { left: 5%; }
.budget-width-6 { width: 6%; }
.budget-left-6 { left: 6%; }
.budget-width-7 { width: 7%; }
.budget-left-7 { left: 7%; }
.budget-width-8 { width: 8%; }
.budget-left-8 { left: 8%; }
.budget-width-9 { width: 9%; }
.budget-left-9 { left: 9%; }
.budget-width-10 { width: 10%; }
.budget-left-10 { left: 10%; }
.budget-width-11 { width: 11%; }
.budget-left-11 { left: 11%; }
.budget-width-12 { width: 12%; }
.budget-left-12 { left: 12%; }
.budget-width-13 { width: 13%; }
.budget-left-13 { left: 13%; }
.budget-width-14 { width: 14%; }
.budget-left-14 { left: 14%; }
.budget-width-15 { width: 15%; }
.budget-left-15 { left: 15%; }
.budget-width-16 { width: 16%; }
.budget-left-16 { left: 16%; }
.budget-width-17 { width: 17%; }
.budget-left-17 { left: 17%; }
.budget-width-18 { width: 18%; }
.budget-left-18 { left: 18%; }
.budget-width-19 { width: 19%; }
.budget-left-19 { left: 19%; }
.budget-width-20 { width: 20%; }
.budget-left-20 { left: 20%; }
.budget-width-21 { width: 21%; }
.budget-left-21 { left: 21%; }
.budget-width-22 { width: 22%; }
.budget-left-22 { left: 22%; }
.budget-width-23 { width: 23%; }
.budget-left-23 { left: 23%; }
.budget-width-24 { width: 24%; }
.budget-left-24 { left: 24%; }
.budget-width-25 { width: 25%; }
.budget-left-25 { left: 25%; }
.budget-width-26 { width: 26%; }
.budget-left-26 { left: 26%; }
.budget-width-27 { width: 27%; }
.budget-left-27 { left: 27%; }
.budget-width-28 { width: 28%; }
.budget-left-28 { left: 28%; }
.budget-width-29 { width: 29%; }
.budget-left-29 { left: 29%; }
.budget-width-30 { width: 30%; }
.budget-left-30 { left: 30%; }
.budget-width-31 { width: 31%; }
.budget-left-31 { left: 31%; }
.budget-width-32 { width: 32%; }
.budget-left-32 { left: 32%; }
.budget-width-33 { width: 33%; }
.budget-left-33 { left: 33%; }
.budget-width-34 { width: 34%; }
.budget-left-34 { left: 34%; }
.budget-width-35 { width: 35%; }
.budget-left-35 { left: 35%; }
.budget-width-36 { width: 36%; }
.budget-left-36 { left: 36%; }
.budget-width-37 { width: 37%; }
.budget-left-37 { left: 37%; }
.budget-width-38 { width: 38%; }
.budget-left-38 { left: 38%; }
.budget-width-39 { width: 39%; }
.budget-left-39 { left: 39%; }
.budget-width-40 { width: 40%; }
.budget-left-40 { left: 40%; }
.budget-width-41 { width: 41%; }
.budget-left-41 { left: 41%; }
.budget-width-42 { width: 42%; }
.budget-left-42 { left: 42%; }
.budget-width-43 { width: 43%; }
.budget-left-43 { left: 43%; }
.budget-width-44 { width: 44%; }
.budget-left-44 { left: 44%; }
.budget-width-45 { width: 45%; }
.budget-left-45 { left: 45%; }
.budget-width-46 { width: 46%; }
.budget-left-46 { left: 46%; }
.budget-width-47 { width: 47%; }
.budget-left-47 { left: 47%; }
.budget-width-48 { width: 48%; }
.budget-left-48 { left: 48%; }
.budget-width-49 { width: 49%; }
.budget-left-49 { left: 49%; }
.budget-width-50 { width: 50%; }
.budget-left-50 { left: 50%; }
.budget-width-51 { width: 51%; }
.budget-left-51 { left: 51%; }
.budget-width-52 { width: 52%; }
.budget-left-52 { left: 52%; }
.budget-width-53 { width: 53%; }
.budget-left-53 { left: 53%; }
.budget-width-54 { width: 54%; }
.budget-left-54 { left: 54%; }
.budget-width-55 { width: 55%; }
.budget-left-55 { left: 55%; }
.budget-width-56 { width: 56%; }
.budget-left-56 { left: 56%; }
.budget-width-57 { width: 57%; }
.budget-left-57 { left: 57%; }
.budget-width-58 { width: 58%; }
.budget-left-58 { left: 58%; }
.budget-width-59 { width: 59%; }
.budget-left-59 { left: 59%; }
.budget-width-60 { width: 60%; }
.budget-left-60 { left: 60%; }
.budget-width-61 { width: 61%; }
.budget-left-61 { left: 61%; }
.budget-width-62 { width: 62%; }
.budget-left-62 { left: 62%; }
.budget-width-63 { width: 63%; }
.budget-left-63 { left: 63%; }
.budget-width-64 { width: 64%; }
.budget-left-64 { left: 64%; }
.budget-width-65 { width: 65%; }
.budget-left-65 { left: 65%; }
.budget-width-66 { width: 66%; }
.budget-left-66 { left: 66%; }
.budget-width-67 { width: 67%; }
.budget-left-67 { left: 67%; }
.budget-width-68 { width: 68%; }
.budget-left-68 { left: 68%; }
.budget-width-69 { width: 69%; }
.budget-left-69 { left: 69%; }
.budget-width-70 { width: 70%; }
.budget-left-70 { left: 70%; }
.budget-width-71 { width: 71%; }
.budget-left-71 { left: 71%; }
.budget-width-72 { width: 72%; }
.budget-left-72 { left: 72%; }
.budget-width-73 { width: 73%; }
.budget-left-73 { left: 73%; }
.budget-width-74 { width: 74%; }
.budget-left-74 { left: 74%; }
.budget-width-75 { width: 75%; }
.budget-left-75 { left: 75%; }
.budget-width-76 { width: 76%; }
.budget-left-76 { left: 76%; }
.budget-width-77 { width: 77%; }
.budget-left-77 { left: 77%; }
.budget-width-78 { width: 78%; }
.budget-left-78 { left: 78%; }
.budget-width-79 { width: 79%; }
.budget-left-79 { left: 79%; }
.budget-width-80 { width: 80%; }
.budget-left-80 { left: 80%; }
.budget-width-81 { width: 81%; }
.budget-left-81 { left: 81%; }
.budget-width-82 { width: 82%; }
.budget-left-82 { left: 82%; }
.budget-width-83 { width: 83%; }
.budget-left-83 { left: 83%; }
.budget-width-84 { width: 84%; }
.budget-left-84 { left: 84%; }
.budget-width-85 { width: 85%; }
.budget-left-85 { left: 85%; }
.budget-width-86 { width: 86%; }
.budget-left-86 { left: 86%; }
.budget-width-87 { width: 87%; }
.budget-left-87 { left: 87%; }
.budget-width-88 { width: 88%; }
.budget-left-88 { left: 88%; }
.budget-width-89 { width: 89%; }
.budget-left-89 { left: 89%; }
.budget-width-90 { width: 90%; }
.budget-left-90 { left: 90%; }
.budget-width-91 { width: 91%; }
.budget-left-91 { left: 91%; }
.budget-width-92 { width: 92%; }
.budget-left-92 { left: 92%; }
.budget-width-93 { width: 93%; }
.budget-left-93 { left: 93%; }
.budget-width-94 { width: 94%; }
.budget-left-94 { left: 94%; }
.budget-width-95 { width: 95%; }
.budget-left-95 { left: 95%; }
.budget-width-96 { width: 96%; }
.budget-left-96 { left: 96%; }
.budget-width-97 { width: 97%; }
.budget-left-97 { left: 97%; }
.budget-width-98 { width: 98%; }
.budget-left-98 { left: 98%; }
.budget-width-99 { width: 99%; }
.budget-left-99 { left: 99%; }
.budget-width-100 { width: 100%; }
.budget-left-100 { left: 100%; }


.history-visible{list-style:none;padding:0;margin:12px 0 0;max-height:580px;overflow:auto}.history-visible li{padding:12px 0;border-top:1px solid var(--border);font-size:var(--body)}.history-visible .meta{display:block}.category-0,.category-4,.category-5{background:#e9efea;color:#315a46}.category-1,.category-2,.category-8{background:#eee9e2;color:#70573c}.category-3,.category-6,.category-9{background:#e9edf0;color:#445966}.category-7{background:#ece9ef;color:#62536c}.category-unknown{background:var(--surface);color:var(--muted)}@media(max-width:600px){.history-visible{max-height:240px}}

@media(max-width:1099px){.book-category-block strong{font-size:var(--body)}}
/* Recommendation shelf: compact entry, four / three / two card columns. */
:root{--bg:#fff;--surface:#f4f4f3;--paper:#fff;--text:#242424;--muted:#6a6a68;--accent:#323232;--border:#dededb;--warning:#454543;--warning-bg:#f1f1ef;--title:18px;--body:15px;--caption:13px;--compact:13px;--card:18px;--section:18px;--radius:4px;--micro:12px;--verdict:22px}
body{line-height:1.5}
h1,h2,h3{font-size:var(--title);font-weight:600;letter-spacing:-.025em}
p{margin-bottom:8px}
button{font-weight:500}button:hover{border-color:var(--text)}
.primary,.primary:hover{background:var(--text);border-color:var(--text)}
.masthead,main,footer{max-width:1320px;padding-left:32px;padding-right:32px}
.masthead{padding-top:24px;padding-bottom:20px}.masthead h1{margin:0;white-space:nowrap}
.masthead .heading{align-items:center;gap:24px}
.masthead-data{font-size:var(--caption);color:var(--muted);margin:8px 0 0}
.tabs{margin:0;border:0;flex-wrap:nowrap;gap:4px}.tabs button{font-size:var(--body);padding:8px 12px;min-height:36px}
.tabs button[aria-current=page]{color:var(--text);border-bottom-color:var(--text)}
main{padding-top:0}.recommendation-toolbar{margin:0 0 24px;gap:16px;align-items:center}
.recommendation-toolbar>div:first-child{min-width:0;flex:1}
.recommendation-toolbar .scenario-list{display:flex;flex-wrap:wrap;gap:8px;margin:0}
.recommendation-toolbar .scenario-list button{padding:8px 10px;white-space:nowrap;font-size:var(--caption);min-height:36px}
.recommendation-toolbar .scenario-list small{display:none}
.recommendation-run{gap:8px;flex-shrink:0}
.hero-user-label{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.hero-user-label:focus-within{position:static;width:auto;height:auto;margin:0;clip-path:none;overflow:visible}
.recommendation-workspace{grid-template-columns:190px minmax(0,1fr);gap:32px}
.reading-history-panel{padding:0;background:transparent;border-radius:0;top:24px}
#reading-history h2,.results h2{font-size:var(--title);margin:0 0 8px}
#history-list-disclosure>summary{font-size:var(--title);padding:0 0 16px;list-style:none}
#history-list-disclosure>summary::-webkit-details-marker{display:none}
.history-visible{margin:0;padding:0;max-height:70vh;list-style:none;overflow:auto}
.history-visible li{display:flex;align-items:center;gap:8px;border:0;padding:10px 0;font-size:var(--body);min-width:0}
.history-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.history-category-dot{display:block;flex:0 0 7px;width:7px;height:7px;border-radius:50%}
.history-visible .meta{display:none}
.results>p,.results #result-sources p{margin:0}
#result-sources{font-size:var(--caption);color:var(--muted);margin-bottom:4px;font-variant-numeric:tabular-nums}
#history-match-summary{font-size:var(--caption);margin:0 0 4px}
.cover-note{font-size:var(--caption);border:0;padding:0 0 16px;margin:0!important}
#recommendations{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:20px;row-gap:32px;align-items:start}
.book,.book.selected{display:block;min-width:0;border:0;padding:0;background:transparent}
.book-category-block{width:100%;height:132px;min-height:132px;padding:12px;border:0;border-radius:3px;display:flex;align-items:flex-start;justify-content:space-between;text-align:left;position:relative}
.book-category-block strong{font-size:var(--title);font-weight:500}
.book-category-block:hover{border:0;filter:brightness(.97)}
.book.selected .book-category-block{outline:1px solid var(--text);outline-offset:3px}
.book-content{padding-top:12px}
.book-heading{gap:4px;position:relative;align-items:flex-start}
.book-title{font-size:var(--title);line-height:1.4;min-height:50px;font-weight:600;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere;text-overflow:ellipsis}
.rank{font-size:var(--caption);min-width:0;text-align:left;padding-top:3px}
.book .meta{font-size:var(--caption);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:6px 0 10px}
.book .reason{font-size:var(--caption);line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0 0 8px}
.book .badges{gap:4px;margin:0;min-height:24px}
.book .badge{font-size:var(--caption);padding:2px 5px;border:0;background:var(--surface);border-radius:2px}
.book .badge.accent{color:#315a46;background:#e9efea}
.kdc-match-dot{display:inline-block;flex:0 0 5px;width:5px;height:5px;background:var(--text);border-radius:50%;margin:8px 0 0 3px}
.card-actions{margin-top:8px}.card-actions>summary{font-size:var(--caption);color:var(--muted);font-weight:400;padding:2px 0}
.card-actions .actions{margin:8px 0 0;gap:4px}.card-actions .actions button{font-size:var(--caption);padding:5px 7px;min-height:32px}
.explore-entry{justify-content:flex-end;border:0;margin:24px 0 0;padding:0}
.explore-entry button{border:0;background:none;padding:0;min-height:32px;font-size:var(--caption);color:var(--muted)}
.process-details{margin-top:48px;border-top:1px solid var(--border)}
.process-details>summary{font-size:var(--title);padding:20px 0}
.hero-grid{margin:24px 0 48px;gap:32px}.waterfall-panel,.policy-panel{border:0;border-radius:0;background:none;padding:0}
.process-details>.reading-pane,.process-details>.debug,.process-details>.journal{margin-top:48px;padding:0;border:0}
.process-details>.reading-pane>summary{font-size:var(--title);padding-top:0}
.debug #debug{gap:24px}.debug section{border:0;padding:0}
.compare-grid>section,.score-distributions>section{background:none;border-radius:0;padding:0}
.kdc-comparison{padding:16px 0;border:0;border-radius:0}
#tab-benchmark,#tab-compare,#tab-admin,#tab-lab{padding-top:24px}
.known-limitations,.evidence-section,#saved-concurrency,#live-load-panel{margin-bottom:48px}
footer{margin-top:48px;padding-top:24px;padding-bottom:24px;color:var(--muted);font-size:var(--caption)}
footer p,footer summary{font-size:var(--caption);font-weight:400;line-height:1.6;margin:0;padding:0}
footer .badge{border:0;padding:0;margin:0;color:var(--muted)}
footer #build-id{display:inline;font-size:var(--caption)}
footer .footer-runtime{display:inline}footer .footer-runtime:after{content:' · '}
.footer-data>summary{list-style:none;cursor:pointer}.footer-data>summary::-webkit-details-marker{display:none}
.footer-data>summary:after{content:' +';padding-left:4px}
.footer-data[open]>summary:after{content:' −'}
.footer-data .data-identity{padding:16px 0;margin:8px 0;border:0}.footer-data .data-identity h2{font-size:var(--body)}
#shared-state-notice,[data-testid=shared-state-notice]{font-size:var(--caption)}
@media(max-width:1000px){
.masthead,main,footer{padding-left:24px;padding-right:24px}
.masthead .heading{gap:12px}.tabs button{padding:8px 9px}
.recommendation-toolbar{align-items:center}.recommendation-workspace{grid-template-columns:minmax(0,1fr);gap:24px}
.reading-history-panel{position:static;padding:0}
#history-list-disclosure>summary{padding-bottom:10px}
.history-visible{display:flex;gap:20px;max-height:none;overflow-x:auto;overflow-y:hidden;padding-bottom:8px}
.history-visible li{flex:0 0 155px;padding:0;border:0}
#recommendations{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 20px}
.book-category-block{height:132px;min-height:132px}.book-category-block strong{font-size:var(--title)}
.hero-grid{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:600px){
.masthead,main,footer{padding-left:16px;padding-right:16px}
.masthead{padding-top:20px;padding-bottom:20px}.masthead .heading{display:block}.masthead h1{margin-bottom:12px}
.tabs{justify-content:space-between;gap:0}.tabs button{font-size:var(--caption);padding:7px 10px;min-height:32px}
.masthead-data{margin-top:8px}
.recommendation-toolbar{display:flex;align-items:flex-start;gap:8px;margin-bottom:24px}
.recommendation-toolbar .scenario-list{gap:5px}.recommendation-toolbar .scenario-list button{padding:6px 8px;min-height:32px;font-size:var(--caption)}
.recommendation-run{margin-top:0}.recommendation-run>button{padding:6px 9px;min-height:32px}
#history-list-disclosure>summary{font-size:var(--body);padding:0;list-style:disclosure-closed}
#history-list-disclosure[open]>summary{list-style:disclosure-open;padding-bottom:10px}
.history-visible{display:block;max-height:240px;overflow:auto}.history-visible li{padding:8px 0}
.recommendation-workspace{gap:24px}
#recommendations{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px;row-gap:28px}
.book,.book.selected{padding:0}.book-category-block{height:120px;min-height:120px;padding:10px}
.book-title{font-size:var(--title);min-height:50px}.book-heading{gap:4px}.book .meta{margin-bottom:8px}
.book .badges{gap:4px}.book .badge{padding:2px 4px}
.explore-entry{display:flex}.explore-entry button{margin:0}
.process-details>summary{font-size:var(--title)}
.waterfall-panel,.policy-panel{padding:0}.hero-grid{gap:32px}
.compare-grid,.metric-grid,.admin-grid,.score-distributions,.lab-grid,.debug #debug{grid-template-columns:minmax(0,1fr)}
.footer-data .data-identity dl{grid-template-columns:minmax(0,1fr)}
}
/* Keep ranks separate from clamped titles and reduce mobile pre-grid space. */
.book-heading{display:grid;grid-template-columns:12px minmax(0,1fr) auto;gap:6px;align-items:start}
.book-heading>.rank{padding-top:3px;width:12px;white-space:nowrap}
.book-heading>.book-title{width:100%;align-content:start;align-self:start;padding:0}
@media(max-width:600px){
.masthead{padding-top:16px;padding-bottom:16px}
.recommendation-toolbar{margin-bottom:16px}
.recommendation-workspace{gap:16px}
.cover-note{padding-bottom:12px}
.book-heading{gap:6px}
}

#result-summary { margin: 0 0 .5rem; display: grid; gap: .15rem; }
#result-summary .summary-composition { margin: 0; font-size: .95rem; }
#result-summary .summary-match { margin: 0; font-size: .85rem; opacity: .75; }
#result-summary .summary-blanks { margin: .2rem 0 0; padding-left: 1rem; font-size: .8rem; opacity: .7; }
#result-summary .summary-blanks li { margin: 0; }
.class-linked { outline: 2px solid currentColor; outline-offset: 1px; border-radius: 4px; }
li.class-linked { outline-offset: -1px; }

#result-summary .summary-short { margin: .2rem 0 0; font-size: .85rem; }
