@font-face{font-family:'Noto Sans KR';src:url('./fonts/noto-sans-kr-ui.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:optional}
/* Chainlab UI: a calm document workspace. One accent (the logo blue), warm neutrals, hairlines, small radii. */
:root{color-scheme:light dark;--bg:#fff;--surface:#f7f6f3;--surface-2:#f1f1ef;--hover:rgba(55,53,47,.06);--press:rgba(55,53,47,.1);--text:#37352f;--text-2:#5f5e5b;--text-3:#6d6c68;--line:#e9e9e7;--line-strong:#d3d2ce;--accent:#0144c0;--accent-hover:#0238a0;--accent-bg:#e7eefb;--accent-text:#0144c0;--on-accent:#fff;--warn-bg:#fbf3db;--warn:#7a5b00;--excl-bg:#faebdd;--excl:#8a4b0f;--bad-bg:#fdebec;--bad:#b3261e;--r1:3px;--r2:6px;--r3:10px;--pop:0 1px 2px rgba(15,15,15,.08),0 8px 24px rgba(15,15,15,.12);--fs-cap:.8125rem;--fs-ui:.875rem;--fs-body:1rem;--fs-item:1.125rem;--fs-subsection:1.25rem;--fs-section:1.5rem;--fs-title-mobile:1.75rem;--fs-title-tablet:2.125rem;--fs-hero:2.5rem;--col:1120px;--prose:720px;--logo-plate:transparent}
:root[data-theme=light]{color-scheme:light}
:root[data-theme=dark]{color-scheme:dark;--bg:#191919;--surface:#202020;--surface-2:#2b2b2b;--hover:rgba(255,255,255,.07);--press:rgba(255,255,255,.12);--text:#ebebea;--text-2:#b4b3b0;--text-3:#9b9a97;--line:#2f2f2f;--line-strong:#454545;--accent:#6ea0ff;--accent-hover:#8fb6ff;--accent-bg:#1f2b45;--accent-text:#8fb6ff;--on-accent:#0b1a3a;--warn-bg:#33291a;--warn:#e8c569;--excl-bg:#35271a;--excl:#f0b27a;--bad-bg:#3a2224;--bad:#ff9a92;--pop:0 1px 2px rgba(0,0,0,.4),0 8px 24px rgba(0,0,0,.5);--logo-plate:transparent}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#191919;--surface:#202020;--surface-2:#2b2b2b;--hover:rgba(255,255,255,.07);--press:rgba(255,255,255,.12);--text:#ebebea;--text-2:#b4b3b0;--text-3:#9b9a97;--line:#2f2f2f;--line-strong:#454545;--accent:#6ea0ff;--accent-hover:#8fb6ff;--accent-bg:#1f2b45;--accent-text:#8fb6ff;--on-accent:#0b1a3a;--warn-bg:#33291a;--warn:#e8c569;--excl-bg:#35271a;--excl:#f0b27a;--bad-bg:#3a2224;--bad:#ff9a92;--pop:0 1px 2px rgba(0,0,0,.4),0 8px 24px rgba(0,0,0,.5);--logo-plate:transparent}}
*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scrollbar-color:var(--line-strong) transparent}
body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,'Apple SD Gothic Neo','Malgun Gothic','Noto Sans KR',sans-serif;font-size:var(--fs-body);line-height:1.65;accent-color:var(--accent);caret-color:var(--accent);font-variant-numeric:tabular-nums;border-top:3px solid var(--accent)}
[hidden]{display:none!important}
input:user-invalid,select:user-invalid{border-color:var(--bad)}
.report-context details:not([open])::details-content{display:block!important;content-visibility:visible!important;height:0!important;overflow:hidden!important}
::selection{background:var(--accent-bg);color:var(--text)}
button,input,select{font:inherit;color:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,a,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button[aria-busy=true]{cursor:wait}
a{color:inherit;text-decoration:none}main a:not([class]),.article a,.rule-doc a,.static-content a{color:var(--accent-text);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--accent-text) 35%,transparent);text-underline-offset:3px;text-decoration-thickness:1px}main a:not([class]):hover,.article a:hover,.rule-doc a:hover,.static-content a:hover{text-decoration-color:currentColor}
h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--text);line-height:1.3;letter-spacing:-.02em;text-wrap:balance;word-break:keep-all;overflow-wrap:anywhere}th{color:var(--text);line-height:1.5;letter-spacing:0}h1{font-size:var(--fs-page-title);font-weight:700}h2{font-size:var(--fs-section);font-weight:600}h3{font-size:var(--fs-item);font-weight:600}small{font-size:var(--fs-cap)}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.article p,.rule-doc p,.static-content p,.word-meaning,.page-head p,.hero p,.report-card p,.lab-example-description{text-wrap:pretty}
.chip,.status{text-wrap:nowrap}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r1)}[tabindex="-1"]:focus-visible{outline:none}
.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}
.skip{position:absolute;left:10px;top:-100px;padding:10px 14px;background:var(--text);color:var(--bg);border-radius:var(--r2);z-index:100}.skip:focus{top:10px}

/* Header */
.header{position:sticky;top:0;z-index:20;background:var(--bg);border-bottom:1px solid var(--line-strong)}
.header-inner{max-width:var(--col);margin:auto;display:flex;align-items:center;gap:8px;min-height:56px;padding:8px 24px}
.brand{display:inline-flex;align-items:center;min-height:44px;flex-shrink:0;line-height:1;border-radius:var(--r2);background:var(--logo-plate);padding:0 var(--logo-pad,0)}
.brand-logo{display:block;width:72px;height:auto}
.header nav{scrollbar-width:none;display:flex;gap:2px;margin-left:12px;font-size:var(--fs-ui);font-weight:500;flex:1;min-width:0}
.header nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 10px;border-radius:var(--r2);color:var(--text-2);white-space:nowrap;transition:background var(--motion-fast),color var(--motion-fast)}
.header nav a:hover{background:var(--hover);color:var(--text)}
.header nav a.active,.header nav a[aria-current=page]{background:var(--accent-bg);color:var(--accent-text);font-weight:700}
.rule-trigger{display:inline-flex;align-items:center;gap:8px;min-height:44px;border:1px solid var(--line-strong);border-radius:var(--r2);background:var(--surface);padding:0 12px;font-size:var(--fs-ui);font-weight:600;color:var(--text);transition:background var(--motion-fast),border-color var(--motion-fast),color var(--motion-fast)}
.rule-trigger:hover{border-color:var(--accent);background:var(--accent-bg);color:var(--accent-text)}.rule-trigger svg{width:16px;height:16px;flex:none}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;min-width:44px;min-height:44px;border:1px solid var(--line);border-radius:var(--r2);background:var(--bg);color:var(--text-2);padding:0;transition:background var(--motion-fast)}.theme-toggle:hover{background:var(--hover);color:var(--text)}.theme-toggle svg{width:18px;height:18px;display:none}.theme-toggle[data-mode=system] .i-system,.theme-toggle[data-mode=light] .i-light,.theme-toggle[data-mode=dark] .i-dark{display:block}.header-actions{display:flex;align-items:center;gap:8px;margin-left:auto}
.dot{width:6px;height:6px;display:inline-block;border-radius:50%;background:var(--accent);flex:none}

/* Page frame */
.wrap{max-width:var(--col);margin:auto;padding:0 24px}
#main{min-height:calc(100svh - 150px)}
.hero{padding:52px 0 24px;max-width:var(--prose)}.hero h1{margin:0 0 14px;font-size:var(--fs-hero);font-weight:700;line-height:1.18;letter-spacing:-.03em}.hero p{margin:0;color:var(--text-2);font-size:var(--fs-body);font-weight:500;line-height:1.65;word-break:keep-all}.accent{color:var(--accent-text)}
.page-head{padding:56px 0 20px;max-width:var(--prose)}.page-head h1{font-size:var(--fs-page-title);margin:0 0 10px;text-wrap:balance;word-break:keep-all;overflow-wrap:anywhere}.page-head p{color:var(--text-2);font-size:var(--fs-body);margin:0 0 6px;word-break:keep-all}
.breadcrumb{font-size:var(--fs-cap);color:var(--text-3)}.breadcrumb a{border-radius:var(--r1);padding:2px 0}.breadcrumb a:hover{color:var(--text);text-decoration:underline}
.muted{color:var(--text-2);font-size:var(--fs-ui)}
.mt{margin-top:32px}.fullwidth{width:100%}.route-notice{margin-top:15px}.search-wide{max-width:100%}

/* Buttons: primary, default (outline), ghost */
.primary,.outline,.paging button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:0 16px;border-radius:var(--r2);font-size:var(--fs-ui);font-weight:600;white-space:nowrap;transition:background var(--motion-fast),border-color var(--motion-fast);border:1px solid transparent}
.primary{background:var(--accent);color:var(--on-accent)}.primary:hover:not(:disabled){background:var(--accent-hover)}.primary:active:not(:disabled){filter:brightness(.95)}
.outline,.paging button{background:var(--bg);border-color:var(--line-strong);color:var(--text);font-weight:500}.outline:hover:not(:disabled),.paging button:hover:not(:disabled){background:var(--hover)}
.icon-button{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;border:0;border-radius:var(--r2);background:transparent;font-size:var(--fs-section);line-height:1;color:var(--text-2)}.icon-button:hover{background:var(--hover);color:var(--text)}
.chips{display:flex;gap:6px;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;min-height:36px;border:1px solid var(--line);background:var(--bg);padding:0 12px;font-size:var(--fs-ui);border-radius:var(--r2);color:var(--text-2);transition:background var(--motion-fast)}.chip:hover{background:var(--hover);color:var(--text)}.chip.active{background:var(--surface-2);color:var(--text);border-color:var(--line-strong);font-weight:600}

/* Search block */
.search-card{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r3);padding:20px 20px 16px;margin-bottom:10px;max-width:var(--prose)}
.mode-tabs{display:flex;flex-wrap:wrap;gap:2px;margin-bottom:12px;padding:3px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r2);width:fit-content;max-width:100%}
.mode-tabs label{position:relative;display:flex;align-items:center;min-height:44px;padding:0 12px;border-radius:var(--r2);font-size:var(--fs-ui);font-weight:500;color:var(--text-2);cursor:pointer;transition:background var(--motion-fast),color var(--motion-fast)}
.mode-tabs label:hover{color:var(--text)}.mode-tabs input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.mode-tabs label:has(input:checked){color:var(--text);font-weight:700}
.mode-tabs label:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:1px}
.search-line{display:flex;gap:8px}
.search-line input{border:1px solid var(--line-strong);border-radius:var(--r2);padding:0 14px;min-height:52px;font-size:var(--fs-body);font-weight:600;letter-spacing:-.01em;width:100%;min-width:0;background:var(--bg);outline:none;color:var(--text);transition:border-color var(--motion-fast),box-shadow var(--motion-fast)}
.search-line input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}.search-line input::placeholder{color:var(--text-3)}
.search-line .primary{min-height:52px;padding:0 24px;font-size:var(--fs-body);font-weight:700}
.search-examples{display:flex;align-items:center;gap:6px;margin-top:12px;flex-wrap:wrap;font-size:var(--fs-cap);color:var(--text-3)}
.example{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;border:1px solid var(--line);background:var(--bg);border-radius:var(--r2);color:var(--text-2);font-size:var(--fs-cap);font-weight:500;transition:background var(--motion-fast),border-color var(--motion-fast),color var(--motion-fast)}.example:hover{border-color:var(--accent);color:var(--accent-text);background:var(--accent-bg)}
.rule-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:var(--prose);padding:6px 6px 6px 14px;margin-bottom:6px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r2);color:var(--text-2);font-size:var(--fs-ui);flex-wrap:nowrap}
.rule-strip>span{display:block;min-width:0;flex:1 1 auto;padding:4px 0;line-height:1.5}.rule-strip .dot{margin-right:8px;vertical-align:middle}.rule-strip button{flex:none}.rule-strip b{font-weight:600;color:var(--text)}
.rule-strip button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 10px;background:transparent;border:0;border-radius:var(--r2);color:var(--accent-text);font-size:var(--fs-ui);font-weight:600}.rule-strip button:hover{background:var(--accent-bg)}
.compact-search{padding:12px 14px 12px}.compact-search .mode-tabs{margin-bottom:10px}.compact-search .search-line input{min-height:42px;font-size:var(--fs-body)}.compact-search .primary{min-height:42px}
.dialog-error{color:var(--bad);font-size:var(--fs-ui);min-height:0;margin:8px 0 0}.dialog-error[hidden]{display:none}

/* Home: search first, with quiet supporting links */
.home-top-layout,.home-reading-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:48px;align-items:start}.home-top-layout{margin-bottom:40px}
.home-search-col{min-width:0}
.home-search-col .hero,.home-search-col .search-card,.home-search-col .rule-strip,.home-search-col .search-help{max-width:none}
.home-side-panel{border-left:1px solid var(--line);padding-left:24px;margin-top:52px;min-width:0}
.home-side-panel .panel-head{padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:14px}
.home-side-panel .panel-head h2{font-size:var(--fs-body);font-weight:700;margin:0 0 4px;color:var(--text);letter-spacing:-.02em}
.home-side-panel .panel-head p{font-size:var(--fs-cap);color:var(--text-2);margin:0;line-height:1.5;word-break:keep-all}
.side-panel-section{margin-bottom:16px}
.side-panel-section:last-child{margin-bottom:0}
.side-section-title{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:4px}
.side-section-title h3{font-size:var(--fs-ui);font-weight:600;margin:0;color:var(--text)}
.side-more-link{display:inline-flex;align-items:center;min-height:44px;font-size:var(--fs-cap);color:var(--accent-text);font-weight:500;text-decoration:underline;text-underline-offset:3px}
.side-more-link:hover{color:var(--accent-hover)}
.side-section-desc{font-size:var(--fs-cap);color:var(--text-3);margin:0 0 10px;line-height:1.45;word-break:keep-all}
.side-chip-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.side-chip{display:flex;align-items:center;justify-content:center;gap:2px;min-height:44px;background:var(--bg);border:1px solid var(--line);border-radius:var(--r2);font-size:var(--fs-cap);font-weight:600;color:var(--text);text-decoration:none;transition:background var(--motion-fast),border-color var(--motion-fast),color var(--motion-fast)}
.side-chip:hover{background:var(--accent-bg);border-color:var(--accent);color:var(--accent-text);text-decoration:none}
.side-chip .chip-from{color:var(--text)}
.side-chip:hover .chip-from{color:var(--accent-text)}
.side-chip .chip-arrow{font-size:var(--fs-cap);color:var(--text-3)}
.side-chip:hover .chip-arrow{color:var(--accent-text)}
.side-chip .chip-to{color:var(--accent-text);font-weight:700}
.side-link-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.side-link-list li{border-bottom:1px solid var(--line)}
.side-link-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 6px;border-radius:var(--r1);text-decoration:none;transition:background var(--motion-fast)}
.side-link-item:hover{background:var(--hover);text-decoration:none}
.side-item-main{display:flex;flex-direction:column;gap:2px;min-width:0}
.side-item-main strong{font-size:var(--fs-ui);font-weight:600;color:var(--text);transition:color var(--motion-fast)}
.side-link-item:hover .side-item-main strong{color:var(--accent-text)}
.side-item-main span{font-size:var(--fs-cap);color:var(--text-2);line-height:1.4;word-break:keep-all}
.side-item-arrow{font-size:var(--fs-ui);color:var(--text-3);flex:none;transition:transform var(--motion-fast),color var(--motion-fast)}
.side-link-item:hover .side-item-arrow{color:var(--accent-text);transform:translateX(2px)}
.side-panel-foot{margin-top:14px;padding-top:10px;border-top:1px solid var(--line);font-size:var(--fs-cap);color:var(--text-3);display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.side-panel-foot p{margin:0}
.side-foot-links{display:flex;align-items:center;gap:6px}
.side-foot-links a{display:inline-flex;align-items:center;min-height:44px;color:var(--accent-text);text-decoration:underline;text-underline-offset:2px}

/* Home data line + sections */
.home-stats{margin:20px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:16px 0;border-top:1px solid var(--line);max-width:var(--prose)}
.home-stats>div{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.home-stats strong{font-size:var(--fs-subsection);font-weight:600;letter-spacing:-.02em;line-height:1.4;color:var(--text)}.home-stats strong span{font-size:var(--fs-ui);font-weight:400;margin-left:2px}.home-stats p{margin:0;font-size:var(--fs-cap);color:var(--text-2);word-break:keep-all;overflow-wrap:anywhere}

.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:15px;margin:48px 0 14px;border-top:2px solid var(--text);padding-top:14px}.section-head h2{font-size:var(--fs-section);font-weight:600;letter-spacing:-.02em;margin:0}.section-head a{display:inline-flex;align-items:center;min-height:44px;font-size:var(--fs-ui);color:var(--accent-text);padding:0 8px;margin:-10px -8px;border-radius:var(--r2);transition:background var(--motion-fast)}.section-head a:hover{background:var(--accent-bg)}.section-head small{color:var(--text-3)}
.report-grid{display:grid;grid-template-columns:minmax(0,1fr);border-top:1px solid var(--line)}
.report-card{display:flex;flex-direction:column;gap:4px;min-width:0;padding:18px 12px;border-bottom:1px solid var(--line);transition:background var(--motion-fast)}
.report-card:hover{background:var(--surface)}
.report-card h3,.report-card h2{font-size:var(--fs-item);font-weight:600;letter-spacing:-.02em;line-height:1.45;margin:0 0 2px;word-break:keep-all}
.report-card .report-question{font-size:var(--fs-ui);font-weight:600;color:var(--accent-text);margin:2px 0 0;line-height:1.5;word-break:keep-all;overflow-wrap:anywhere}
.report-card .report-conclusion{font-size:var(--fs-body);color:var(--text-2);margin:0;line-height:1.6;word-break:keep-all;overflow-wrap:anywhere}
.report-card .report-top{display:flex;align-items:center;gap:10px;font-size:var(--fs-cap);color:var(--text-3);margin:0 0 2px}
.report-card .report-top span:first-child{background:var(--accent-bg);color:var(--accent-text);font-weight:600;border-radius:var(--r1);padding:1px 8px}
.report-card .card-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 12px;margin-top:6px;font-size:var(--fs-cap);color:var(--text-3)}
.report-card .report-basis{color:var(--text-2);background:var(--surface);padding:2px 8px;border-radius:var(--r1);font-weight:500;word-break:keep-all}
.report-card small{color:var(--text-3)}
.report-filters{margin:4px 0 18px}
.related .report-card{max-width:none}
.explore-promo{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:40px 0 56px;padding:20px 22px;background:var(--accent-bg);border:1px solid color-mix(in srgb,var(--accent) 25%,var(--line));border-radius:var(--r3);max-width:var(--prose)}
.explore-promo h3{font-size:var(--fs-body);margin:0 0 2px}.explore-promo p{margin:0;font-size:var(--fs-ui);color:var(--text-2)}
.explore-promo a{display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border:1px solid transparent;border-radius:var(--r2);background:var(--accent);color:var(--on-accent);font-size:var(--fs-ui);font-weight:600;white-space:nowrap;transition:background var(--motion-fast)}.explore-promo a:hover{background:var(--accent-hover)}main .explore-promo a{color:var(--on-accent);text-decoration:none}main .explore-promo a:hover{background:var(--accent-hover);color:var(--on-accent)}

/* Footer */
footer{border-top:1px solid var(--line);margin-top:48px;color:var(--text-2)}
.footer-inner{max-width:var(--col);margin:auto;padding:24px;display:flex;align-items:center;justify-content:space-between;gap:16px 24px;flex-wrap:wrap}
.footer-brand{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.footer-inner small{color:var(--text-3);font-size:var(--fs-cap)}
.footer-links{display:flex;flex-wrap:wrap;gap:4px 8px;font-size:var(--fs-cap)}.footer-links a{display:inline-flex;align-items:center;min-height:44px;padding:0 10px;border-radius:var(--r2)}.footer-links a:hover{background:var(--hover);color:var(--text)}

/* Results */
.result-head{padding:20px 0 12px;display:flex;flex-direction:column;align-items:flex-start}.result-head>*{order:3;max-width:100%}.result-head>h1,.result-head>.result-head-row{order:1}.result-head>.status{order:2}.result-head h1{font-size:var(--fs-result-title);margin:0 0 10px;overflow-wrap:anywhere;word-break:keep-all}
.status{display:inline-flex;align-items:center;font-size:var(--fs-cap);font-weight:600;border-radius:var(--r1);padding:1px 8px;background:var(--accent-bg);color:var(--accent-text);margin:0 0 10px}
.status.excluded{background:var(--excl-bg);color:var(--excl)}.status.unknown{background:var(--warn-bg);color:var(--warn)}
.input-summary{margin:6px 0;font-size:var(--fs-body);color:var(--text-2);min-height:20px;overflow-wrap:anywhere}.input-summary a{font-size:var(--fs-body);margin-left:10px;color:var(--accent-text);text-decoration:underline;text-underline-offset:3px}
.notice{background:var(--warn-bg);border-radius:var(--r2);padding:12px 16px;font-size:var(--fs-ui);color:var(--warn);margin:14px 0;max-width:var(--prose)}.notice p{margin:0}.notice p+p{margin-top:6px}
.error{padding:14px 16px;background:var(--bad-bg);border-radius:var(--r2);color:var(--bad);margin:16px 0;max-width:var(--prose)}.error p{margin:0 0 10px;font-size:var(--fs-ui)}
.result-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:16px 0;border-top:1px solid var(--line);margin-top:12px}
.result-summary h2{font-size:var(--fs-subsection);margin:0 0 4px}.result-summary h2 b{font-size:var(--fs-section);font-weight:700}.result-summary p{margin:0;color:var(--text-2);font-size:var(--fs-ui)}
.letter-badge{display:inline-flex;background:var(--accent-bg);color:var(--accent-text);padding:0 8px;border-radius:var(--r1);margin-right:6px;font-size:var(--fs-body);font-weight:600}
.calculation-scope{padding:14px 16px;background:var(--surface);border-radius:var(--r2);margin-bottom:14px;font-size:var(--fs-ui);color:var(--text-2);max-width:var(--prose)}.calculation-scope strong{color:var(--text)}.calculation-scope p{margin:6px 0 0;line-height:1.65}
.filter-bar{padding:10px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:8px 16px;flex-wrap:wrap;font-size:var(--fs-cap);color:var(--text-2);margin-bottom:0}
.filter-bar label{display:flex;align-items:center;gap:8px;max-width:100%;min-width:0}
.filter-bar select,.filter-bar input{border:1px solid var(--line);border-radius:var(--r2);min-height:34px;padding:0 8px;background:var(--bg);font-size:var(--fs-body);color:var(--text);max-width:100%;min-width:0}.filter-bar input{width:65px}
.filter-bar .filter-count{margin-left:auto;color:var(--text-3)}
.active-end-filter{display:flex;align-items:center;gap:8px;flex-wrap:wrap;max-width:100%;min-width:0}.active-end-filter>span{min-width:0;overflow-wrap:anywhere}.active-end-filter b{white-space:pre-wrap}
.word-list{overflow:hidden}
.word-row{padding:12px 8px;border-bottom:1px solid var(--line);border-radius:0;transition:background var(--motion-fast)}.word-row:hover{background:var(--surface)}.word-row:last-child{border-bottom:0}
.word-main{display:flex;align-items:baseline;gap:6px 14px}
.word-link{font-size:var(--fs-subsection);color:var(--text);font-weight:600;letter-spacing:-.01em;min-width:72px;max-width:100%;overflow-wrap:anywhere;border-radius:var(--r1)}.word-link:hover{color:var(--accent-text);text-decoration:underline;text-underline-offset:4px}
.word-link{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px 10px;min-height:44px;padding:4px 0}.word-link small{font-size:var(--fs-cap);font-weight:400;color:var(--accent-text)}
.analysis-context{margin:8px 0 12px}.analysis-context p,.search-draft,.compare-row-basis{font-size:var(--fs-ui);color:var(--text-2);word-break:keep-all;overflow-wrap:anywhere}.analysis-context .outline{margin-top:6px}.search-draft{margin:8px 0 0}.input-recovery{display:block;margin-top:8px}.compare-row-basis{margin:12px 0}
.word-meaning{margin:5px 0 8px;color:var(--text-2);font-size:var(--fs-body);line-height:1.65;word-break:keep-all;overflow-wrap:anywhere}
.word-meta{color:var(--text-3);font-size:var(--fs-cap);flex:1;min-width:0;overflow-wrap:anywhere}
.next-count{font-size:var(--fs-cap);color:var(--text-2);text-align:right;max-width:100%;font-variant-numeric:tabular-nums;display:inline-flex;align-items:center;gap:5px}.next-count b{font-size:var(--fs-body);color:var(--text);margin-left:0;font-weight:600}.next-count .zero{color:var(--excl)}.next-count .zero-badge{display:inline-block;padding:1px 5px;border-radius:var(--r1);background:var(--warn-bg);color:var(--warn);font-size:var(--fs-cap);font-weight:700;line-height:1.3;cursor:help;border:1px solid transparent;transition:border-color var(--motion-fast),background var(--motion-fast)}.next-count .zero-badge:hover,.next-count .zero-badge:focus-visible{border-color:var(--warn);outline:none}
.row-reason{font-size:var(--fs-cap);color:var(--excl);margin-top:2px;line-height:1.35}
.word-row details{font-size:var(--fs-cap);color:var(--text-2);margin-top:4px}
.word-row summary,.input-summary summary{cursor:pointer;font-size:var(--fs-body);color:var(--text-3);display:inline-flex;align-items:center;min-height:32px;border-radius:var(--r1)}.word-row summary:hover,.input-summary summary:hover{color:var(--text)}
.sense-block{padding:10px 14px;border-radius:var(--r2);background:var(--surface);margin:6px 0;color:var(--text-2)}.sense-block p{margin:3px 0;font-size:var(--fs-ui);color:var(--text)}.sense-block small{color:var(--text-3)}.sense-block a{text-decoration:underline;text-underline-offset:3px;font-size:var(--fs-cap);color:var(--accent-text)}
.continuation-preview{margin:6px 0 2px}.continuation-caption{font-size:var(--fs-cap);color:var(--text-3);margin-bottom:6px}
/* Turn distribution and examples share a disclosure in each candidate row. */
.continuation-snapshot{--bin-0:var(--excl);--bin-1:color-mix(in srgb,var(--accent) 35%,var(--line-strong));--bin-2:color-mix(in srgb,var(--accent) 55%,var(--line-strong));--bin-3:color-mix(in srgb,var(--accent) 75%,var(--line-strong));--bin-4:var(--accent);margin:8px 0;max-width:var(--prose);font-size:var(--fs-cap);color:var(--text-2)}
.continuation-snapshot figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:6px;flex-wrap:wrap;word-break:keep-all}
.continuation-snapshot figcaption>span:last-child{white-space:nowrap}.snapshot-help{color:var(--text-3)}
.snapshot-bar{display:flex;overflow:hidden;height:12px;gap:0;background:var(--surface-2);border-radius:var(--r1)}
.snapshot-segment{flex:none;height:100%;background:var(--bucket-color)}
.bucket-0{--bucket-color:var(--bin-0)}.bucket-1{--bucket-color:var(--bin-1)}.bucket-2{--bucket-color:var(--bin-2)}.bucket-3{--bucket-color:var(--bin-3)}.bucket-4{--bucket-color:var(--bin-4)}
.snapshot-legend{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;list-style:none;margin:7px 0 0;padding:0}
.snapshot-legend li{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:0}
.snapshot-bin{display:flex;flex-direction:column;align-items:flex-start;width:100%;min-height:54px;padding:6px 8px;border:1px solid var(--line-strong);border-radius:var(--r1);background:var(--surface);color:inherit;text-align:left;font-size:inherit;line-height:1.4;transition:border-color var(--motion-fast),background-color var(--motion-fast)}
.snapshot-bin:hover,.snapshot-bin[aria-expanded=true]{background:var(--bg);border-color:var(--accent)}
.snapshot-label{display:flex;align-items:center;gap:5px;white-space:nowrap}.snapshot-key{width:6px;height:6px;flex:none;background:var(--bucket-color);border-radius:1px}
.distribution-rate{color:var(--text);font-weight:700;font-size:var(--fs-ui);white-space:nowrap}.distribution-count{color:var(--text-3);white-space:nowrap}
.snapshot-legend .bucket-0 .distribution-rate{color:var(--excl)}
.distribution-empty{margin:6px 0;color:var(--text-3);font-size:var(--fs-cap)}
.continuation-hover{position:fixed;z-index:40;max-height:calc(100dvh - 24px);overflow:auto;padding:12px 14px;border-radius:var(--r2);background:var(--bg);color:var(--text);box-shadow:var(--pop);font-size:var(--fs-cap);line-height:1.65;word-break:keep-all;overflow-wrap:anywhere}
.continuation-hover[hidden]{display:none}.hover-heading{display:block;font-size:var(--fs-ui);font-weight:600}.hover-total{display:block;color:var(--text-2);margin:2px 0 8px}
.hover-word-list{list-style:none;margin:0;padding:0}.hover-word-list li{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:4px 0}.hover-word-list b{min-width:0;font-size:var(--fs-ui);overflow-wrap:anywhere}.hover-word-list span{flex:none;color:var(--text-2);white-space:nowrap}.hover-word-list strong{color:var(--text);font-weight:600}
.hover-empty,.hover-note{margin:8px 0 0;color:var(--text-2)}.hover-note{padding-top:8px;border-top:1px solid var(--line)}
.continuation-groups{display:flex;flex-direction:column;gap:0;max-width:var(--prose);margin:6px 0;border-top:1px solid var(--line)}
.continuation-group{--bin-0:var(--excl);--bin-1:color-mix(in srgb,var(--accent) 35%,var(--line-strong));--bin-2:color-mix(in srgb,var(--accent) 55%,var(--line-strong));--bin-3:color-mix(in srgb,var(--accent) 75%,var(--line-strong));--bin-4:var(--accent);padding:10px 0;background:transparent;border-bottom:1px solid var(--line)}
.continuation-group.group-zero:not(.is-empty){padding:10px 12px;margin:4px 0;border:1px solid color-mix(in srgb,var(--excl) 30%,var(--line));border-radius:var(--r2);background:color-mix(in srgb,var(--excl-bg) 38%,var(--bg))}
.continuation-group h3{display:flex;align-items:center;justify-content:space-between;gap:6px 10px;flex-wrap:wrap;margin:0 0 8px;font-size:var(--fs-cap);font-weight:600;word-break:keep-all}
.continuation-group h3>span:first-child{display:inline-flex;align-items:center;gap:6px}
.continuation-group h3>span:first-child::before{content:"";width:8px;height:8px;border-radius:2px;background:var(--bucket-color,var(--accent));flex:none}
.continuation-group h3>span:last-child{font-size:var(--fs-cap);font-weight:500;color:var(--text-2);background:var(--bg);border:1px solid var(--line);border-radius:var(--r1);padding:1px 7px;white-space:nowrap}
.continuation-group.is-empty{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 12px;padding:6px 0;background:transparent;border-bottom:1px dashed var(--line);opacity:.75}
.continuation-group.is-empty h3{margin:0;font-size:var(--fs-cap);font-weight:500;color:var(--text-3);flex:1 1 auto}
.continuation-group.is-empty h3>span:last-child{background:transparent;border:0;padding:0;color:var(--text-3)}
.continuation-group.is-empty .group-empty{margin:0;font-size:var(--fs-cap);color:var(--text-3)}
.continuation-group .continuation-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;list-style:none;margin:0;padding:0;align-items:stretch}
.continuation-group .continuation-item{display:flex;align-items:baseline;justify-content:space-between;gap:2px 6px;padding:6px 9px;background:var(--bg);border:1px solid var(--line);border-radius:var(--r2);min-width:0;flex-wrap:wrap}
.continuation-group .continuation-item>span{font-size:var(--fs-cap);color:var(--text-2);white-space:nowrap;font-variant-numeric:tabular-nums;margin-left:auto}
.continuation-group .continuation-item>span strong{font-weight:700;color:var(--text)}
.group-zero .continuation-item>span strong{color:var(--excl)}
.distribution-note{max-width:var(--prose);margin:8px 0;font-size:var(--fs-cap);color:var(--text-2);word-break:keep-all;overflow-wrap:anywhere}
@media(max-width:800px){.continuation-group .continuation-items{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:550px){.snapshot-legend{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.snapshot-label{gap:3px}.snapshot-help{display:none}.snapshot-bin{padding:4px 5px}.continuation-group .continuation-items{grid-template-columns:1fr}}
.paging{display:flex;align-items:center;justify-content:center;gap:14px;margin:24px 0;color:var(--text-2);font-size:var(--fs-ui)}
.empty{padding:32px 24px;text-align:center;border-radius:var(--r3);color:var(--text-2);background:var(--surface);margin-top:12px}.empty h3{margin-bottom:8px;color:var(--text)}.empty p{font-size:var(--fs-ui)}.empty .outline{margin-top:8px}
.zero-alternatives{display:flex;flex-direction:column;gap:8px;margin:14px auto;max-width:440px;text-align:left}
.zero-alt-link{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 14px;border-radius:var(--r2);font-size:var(--fs-ui);font-weight:500;text-align:center;word-break:keep-all;text-decoration:none}
.zero-no-data{color:var(--text-2);max-width:var(--prose);margin:8px auto;line-height:1.6;word-break:keep-all}
.loading{padding:40px;text-align:center;font-size:var(--fs-ui);color:var(--text-3)}.loading:before{content:'';display:block;width:20px;height:20px;border:2px solid var(--line);border-top-color:var(--text-2);border-radius:50%;margin:0 auto 14px;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
/* Reserve the first viewport while the overview arrives so the footer stays below it. */
#explore-results{display:flow-root;min-height:70svh}
#explore-results>.section-head:first-child{margin-top:0}
.fineprint{color:var(--text-3);font-size:var(--fs-cap);margin:14px 0 24px;max-width:var(--prose)}
.related{margin:32px 0}

/* Explore and tables */
.explore-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));column-gap:24px;margin:12px 0 20px;border-top:2px solid var(--text)}
.letter-card{display:flex;align-items:baseline;gap:12px;padding:10px 8px;border-bottom:1px solid var(--line);transition:background var(--motion-fast)}.letter-card:hover{background:var(--surface)}.letter-card:hover b{color:var(--accent-text)}.letter-card b{font-size:var(--fs-section);font-weight:700;color:var(--accent-text);min-width:32px}.letter-card small{color:var(--text-3);margin-left:auto}
.table-wrap{overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;border-top:1px solid var(--line);margin:16px 0;padding-top:6px}
table{border-collapse:collapse;width:100%;font-size:var(--fs-ui);white-space:nowrap}
th,td{text-align:left;padding:10px 14px 10px 0;border-bottom:1px solid var(--line)}
th{color:var(--text-3);font-size:var(--fs-cap);font-weight:500}tbody th{color:var(--text);font-size:var(--fs-ui);font-weight:600}
td a{color:var(--accent-text);font-weight:500}td a:hover{text-decoration:underline;text-underline-offset:3px}
caption{caption-side:top;text-align:left;font-size:var(--fs-cap);color:var(--text-3);padding:10px 0 4px}

/* Compare */
.compare-config{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0}
.rule-panel{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r3);padding:18px}.rule-panel h2{font-size:var(--fs-body);font-weight:700;padding-bottom:8px;border-bottom:1px solid var(--line);margin-bottom:12px}
.rule-panel label,.field-row>label{display:block;font-size:var(--fs-cap);color:var(--text-2);font-weight:500}
.rule-panel select,.rule-panel input[type=number],.field-row input,.field-row select{display:block;width:100%;min-height:40px;padding:0 10px;border:1px solid var(--line-strong);border-radius:var(--r2);font-size:var(--fs-body);margin:4px 0 12px;background:var(--bg);color:var(--text)}
.rule-panel select:focus,.rule-panel input:focus,.field-row input:focus,.field-row select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}
.field-row{display:flex;gap:12px}.field-row>label{flex:1}
.field-row>label,.compare-config>*,.rule-panel{min-width:0}.field-row select{max-width:100%}
.compare-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}.compare-stats>div{border:1px solid var(--line-strong);background:var(--surface);border-radius:var(--r3);padding:12px 16px}.compare-stats small{display:block;color:var(--text-3)}.compare-stats b{font-size:var(--fs-section);font-weight:700;color:var(--text)}
.compare-stats>div:nth-child(2) b{color:var(--accent-text)}
.compare-stats>div:nth-child(3) b{color:var(--excl)}
.compare-tabs{margin:16px 0;display:flex;gap:6px;flex-wrap:wrap}
#compare-form .search-card{max-width:none}
.compare-diff-summary{font-size:var(--fs-ui);color:var(--text-2);margin:4px 0 0}
.compare-diff-summary b{color:var(--accent-text);font-weight:600}

/* Reports and documents */
.report-heading{border-bottom:2px solid var(--text);padding:32px 0 16px;max-width:var(--prose)}.report-heading h1{word-break:keep-all;overflow-wrap:anywhere;font-size:var(--fs-page-title);font-weight:700;margin:10px 0}
.report-meta{font-size:var(--fs-cap);color:var(--text-3);display:flex;gap:6px 16px;flex-wrap:wrap}
.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:48px;margin-top:28px}.article-layout>*,.report-comparison{min-width:0}
.article{font-size:var(--fs-body);line-height:1.85;overflow-wrap:anywhere;word-break:keep-all}.article h2{font-size:var(--fs-section);margin:40px 0 14px}.article p{white-space:pre-line;margin-bottom:20px;color:var(--text)}
.article .lead{font-size:var(--fs-item);color:var(--text);padding:14px 18px;background:var(--accent-bg);border:1px solid color-mix(in srgb,var(--accent) 25%,var(--line));border-radius:var(--r2);font-weight:500}.article ul{color:var(--text)}
.article-aside{align-self:start;position:sticky;top:76px}
.aside-box{padding:16px;border-radius:var(--r3);background:var(--surface);border:1px solid var(--line-strong);margin-bottom:12px}.aside-box h3{font-size:var(--fs-body);margin-bottom:8px}.aside-box p{font-size:var(--fs-ui);color:var(--text-2);line-height:1.6}.aside-box a{display:block;font-size:var(--fs-ui);margin-top:8px}.aside-box .primary{color:var(--on-accent);text-align:center;white-space:normal;line-height:1.4;padding:10px 12px;margin-top:10px;width:100%}.aside-box p+p{margin-top:12px}.aside-box .primary+p,.aside-box a.primary~p{margin-top:18px}.aside-box a:not(.primary){text-underline-offset:3px}
.article-section{scroll-margin-top:76px}
.article-section:first-child h2{margin-top:12px}
.basis-compare-list{margin:8px 0 12px;display:grid;gap:6px}
.basis-compare-list div{display:flex;flex-direction:column;gap:2px}
.basis-compare-list dt{font-size:var(--fs-cap);color:var(--text-3);line-height:1.4}
.basis-compare-list dd{margin:0;font-size:var(--fs-ui);color:var(--text);font-weight:500;line-height:1.5;word-break:keep-all}
.aside-box .aside-compare-link{width:100%;margin-top:8px;text-align:center}
.aside-reproduction{margin-top:12px;border-top:1px solid var(--line);padding-top:8px}
.aside-reproduction summary{cursor:pointer;font-size:var(--fs-cap);color:var(--text-2)}
.aside-reproduction .version{margin-top:6px}
.aside-reproduction p{margin-top:6px}
.rule-doc{max-width:var(--prose);overflow-wrap:anywhere;word-break:keep-all}.rule-doc h2{font-size:var(--fs-section);margin:40px 0 12px}.rule-doc p,.rule-doc li{font-size:var(--fs-body);color:var(--text);line-height:1.8}.rule-doc li{margin-bottom:8px}.rule-doc ul,.rule-doc ol{padding-left:22px}
.rule-doc code{font-size:var(--fs-cap);background:var(--surface-2);border-radius:var(--r1);padding:2px 5px;overflow-wrap:anywhere;color:var(--text)}
.rule-doc li>a:first-child{font-weight:600}.rule-doc li>p{margin:2px 0 0;font-size:var(--fs-ui);color:var(--text-2)}
.version{display:inline-block;padding:1px 8px;font-size:var(--fs-cap);background:var(--surface-2);color:var(--text-2);border-radius:var(--r1)}
#main:has(>.static-content){display:flow-root}
.static-content{max-width:var(--prose);margin:48px 0;padding:0}.static-content pre{white-space:pre-wrap;font:inherit;line-height:1.9;color:var(--text)}
.static-content h1{font-size:var(--fs-page-title);word-break:keep-all;overflow-wrap:anywhere}
.static-content,.static-content p{word-break:keep-all;overflow-wrap:anywhere}
.static-content p{color:var(--text);line-height:1.85}.static-content p.muted{color:var(--text-2)}
.report-comparison{margin:18px 0 28px;color:var(--text);white-space:normal}
.report-comparison table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:var(--fs-ui);line-height:1.6;font-variant-numeric:tabular-nums;white-space:normal}
.report-comparison caption,.report-comparison-caption{padding:0 0 10px;text-align:left;font-size:var(--fs-cap);color:var(--text-3)}
.report-comparison th,.report-comparison td{padding:12px 10px;border-bottom:1px solid var(--line);vertical-align:top;overflow-wrap:anywhere}
.report-comparison thead th{background:transparent;font-size:var(--fs-cap);color:var(--text);font-weight:600;text-align:right;border-bottom:2px solid var(--line-strong)}.report-comparison thead th:first-child{width:30%;text-align:left}
.report-comparison tbody th{text-align:left;font-size:var(--fs-ui);font-weight:600;color:var(--text);background:transparent;word-break:keep-all}
.report-comparison td{text-align:right}.report-rate{display:block;color:var(--text-3);font-size:var(--fs-cap);white-space:nowrap}
.report-comparison-mobile{display:none}

/* Dialog and toast: the only shadowed surfaces */
.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.dialog-head h2{font-size:var(--fs-section);margin:0}
dialog{border:0;border-radius:var(--r3);width:min(560px,calc(100% - 24px));padding:20px 20px 0;color:var(--text);background:var(--bg);box-shadow:var(--pop);max-height:min(90vh,760px);overflow-y:auto}
dialog::backdrop{background:rgba(15,15,15,.45)}
dialog fieldset{border:0;padding:0;margin:12px 0}dialog legend{font-size:var(--fs-ui);font-weight:600;margin-bottom:6px;color:var(--text)}
.pos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px 10px}.pos-grid label{font-size:var(--fs-ui);display:flex;align-items:center;gap:8px;min-height:36px;color:var(--text)}.pos-grid input{width:18px;height:18px}
.switchline{display:flex;align-items:center;gap:10px;font-size:var(--fs-ui);min-height:36px}.switchline input{width:18px;height:18px}
.max-unlimited{margin-top:4px;font-size:var(--fs-cap);color:var(--text-2)}
.pos-more summary{cursor:pointer;font-size:var(--fs-ui);color:var(--text-2);padding:4px 0}
.dialog-actions{position:sticky;bottom:0;background:var(--bg);display:flex;justify-content:space-between;gap:12px;margin-top:14px;border-top:1px solid var(--line);padding:12px 0 18px;z-index:2}
.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:var(--text);color:var(--bg);font-size:var(--fs-ui);padding:10px 18px;border-radius:var(--r2);box-shadow:var(--pop);z-index:30}

@media(max-width:900px){.home-top-layout,.home-reading-layout{grid-template-columns:1fr;gap:28px;max-width:var(--prose);margin-inline:auto}.home-side-panel{margin-top:0;padding:24px 0 0;border-left:0;border-top:1px solid var(--line);max-width:var(--prose)}.article-layout{grid-template-columns:1fr;gap:20px}.article-aside{position:static;display:flex;gap:12px;flex-wrap:wrap}.aside-box{flex:1;min-width:220px}}
@media(max-width:800px){.header-inner{flex-wrap:wrap;row-gap:0;padding:8px 18px 0}.header nav{order:3;width:100%;flex:none;margin:0 -8px;overflow-x:auto;scrollbar-width:none;padding-bottom:6px}.header nav::-webkit-scrollbar{display:none}.header-actions{margin-left:auto}.brand-logo{width:57.6px}#main{min-height:calc(100svh - 190px)}.wrap{padding:0 18px}.hero{padding:28px 0 20px}.hero h1{font-size:var(--fs-title-tablet)}.page-head{padding-top:36px}.compare-config{gap:10px}.footer-inner{padding:22px 18px}}
@media(max-width:650px){
 .report-comparison>table{display:none}.report-comparison-mobile{display:block}
 .report-comparison-row{padding:16px 0;border-top:1px solid var(--line)}
 .report-comparison-row h3{margin:0 0 4px;font-size:var(--fs-body);word-break:keep-all;overflow-wrap:anywhere}
 .report-comparison .report-word-total{margin:0 0 10px;font-size:var(--fs-ui);color:var(--text-2)}.report-word-total b{color:var(--text)}
 .report-comparison dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0}
 .report-comparison dt{font-size:var(--fs-cap);line-height:1.6;color:var(--text-3);word-break:keep-all}
 .report-comparison dd{margin:4px 0 0;font-size:var(--fs-item);line-height:1.5;font-weight:600;color:var(--text)}.report-comparison .report-rate{font-weight:400;font-size:var(--fs-ui);color:var(--text-3)}
}
@media(max-width:550px){
 body{font-size:var(--fs-body);border-top:0}
 .hero h1{font-size:var(--fs-title-mobile)}.hero p{font-size:var(--fs-body)}
 .search-card{padding:14px}.mode-tabs{width:100%}.mode-tabs label{flex:1 1 auto;justify-content:center;padding:0 10px;font-size:var(--fs-cap);text-align:center}
 .search-line{flex-wrap:wrap}.search-line input{flex:1 1 100%;min-height:52px;font-size:var(--fs-body)}.search-line .primary{flex:1 1 100%;min-height:52px}
 .side-chip-grid{gap:6px}
 .home-stats{gap:6px 20px}
 .explore-promo{align-items:flex-start;flex-direction:column;margin:32px 0 40px}
 .result-summary{align-items:flex-start}.result-summary h2{font-size:var(--fs-item)}.result-summary h2 b{font-size:var(--fs-section)}
 .filter-bar .filter-count{width:100%;margin-left:0}
 .word-main{flex-wrap:wrap;align-items:baseline}.word-meta{flex:1 1 100px}.next-count{flex:1 1 100%;text-align:left}
 .compare-config{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,8rem),1fr));gap:8px;margin:8px 0}
 .rule-panel{padding:10px;border-radius:var(--r2)}
 .rule-panel h2{font-size:var(--fs-body);margin-bottom:4px}
 .rule-panel .applied-rule{font-size:var(--fs-cap);margin:0 0 4px;line-height:1.35;word-break:keep-all}
 .rule-panel details summary{font-size:var(--fs-ui);padding:2px 0}
 .compare-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,4rem),1fr));gap:6px;margin:8px 0}
 .compare-stats>div{padding:8px 6px;text-align:center;border-radius:var(--r2)}
 .compare-stats small{font-size:var(--fs-cap);white-space:normal}
 .compare-stats b{font-size:var(--fs-subsection)}
 #compare-form .search-card{padding:10px;margin-bottom:6px}
 #compare-form .search-card .field-row{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
 #compare-form .search-card .field-row input,#compare-form .search-card .field-row select{margin:2px 0 0;min-height:44px;font-size:var(--fs-body)}
 #compare-form button[type=submit]{min-height:44px;margin-top:6px}
 #main:has(#compare-form) > .page-head{padding:14px 0 6px}
 #main:has(#compare-form) > .page-head h1{font-size:var(--fs-subsection);margin-bottom:4px}
 #main:has(#compare-form) > .page-head p{font-size:var(--fs-body);margin:0}
 #main:has(#compare-form) #results.mt{margin-top:10px}
 #main:has(#compare-form) .result-summary{padding:8px 0;margin-top:4px}
 #main:has(#compare-form) .result-summary h2{font-size:var(--fs-subsection)}
 #main:has(#compare-form) .result-summary h2 b{font-size:var(--fs-subsection)}
 #main:has(#compare-form) .result-summary p{font-size:var(--fs-ui)}
 .field-row{flex-wrap:wrap}.field-row>label{flex:1 1 150px}
 .pos-grid{grid-template-columns:repeat(2,1fr)}dialog{padding:16px 16px 0;max-height:min(92vh,720px)}.dialog-head h2{font-size:var(--fs-subsection)}
 .dialog-actions{padding:10px 0 14px}
 .section-head{margin-top:36px}.page-head{padding-top:28px}.compact-search{padding:8px 10px}
 .rule-trigger{padding:0 10px}.paging{gap:10px}.empty{padding:24px 16px}.table-wrap th,.table-wrap td{padding:10px 12px 10px 0}
 .report-card{padding:14px 4px}
}
/* Reserve pending result space so asynchronous candidates do not move the footer. */
#result-body,#compare-form+#results{min-height:600px}
#result-body .filter-count{min-height:22px}#result-body .result-summary h2{min-height:34px}#result-body .result-summary p{min-height:27px}
/* Keep calculation context close to the task without hiding its meaning. */
.calculation-scope details{margin-top:6px}.calculation-scope summary,.rule-edit summary{cursor:pointer;line-height:1.5;padding:8px 0;min-width:44px}
.rule-panel .applied-rule{font-size:var(--fs-ui);color:var(--text-2);line-height:1.65;margin:0 0 4px;word-break:keep-all;overflow-wrap:anywhere}
.rule-edit[open]>summary{margin-bottom:8px}
.report-context{max-width:var(--prose);padding:14px 18px;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r3);border-bottom:0;margin:12px 0 16px;word-break:keep-all;overflow-wrap:anywhere}
.report-context h2{font-size:var(--fs-body);margin:0 0 6px}
.report-context p{font-size:var(--fs-body);line-height:1.65;margin:4px 0;color:var(--text-2)}
.report-context .report-context-basis strong{color:var(--text)}
.report-context .report-context-diff{color:var(--text-2)}
.report-context .report-reproduction{margin-top:8px;border-top:1px solid var(--line);padding-top:6px}
.report-context .report-reproduction summary{cursor:pointer;font-size:var(--fs-cap);color:var(--text-2);font-weight:500;min-height:44px;display:inline-flex;align-items:center}
.report-context .report-example{margin-top:6px}
@media(max-width:550px){
 .mode-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;margin-bottom:12px;padding:3px}
 .mode-tabs label{display:flex;align-items:center;justify-content:center;min-height:44px;padding:4px 6px;font-size:var(--fs-cap);line-height:1.35;text-align:center;word-break:keep-all;overflow-wrap:break-word}
 .compact-search .search-line{flex-wrap:nowrap;gap:8px}.compact-search .search-line input{flex:1 1 0;min-width:0}.compact-search .search-line .primary{flex:0 0 auto;padding:0 12px}
 #main:has(.compact-search)>.page-head{padding:12px 0 6px}
 .result-head{padding:10px 0 4px}.result-head h1{font-size:var(--fs-section);margin-bottom:6px}.result-head .status{margin-bottom:4px}
 #results .result-summary{padding:8px 0;margin-top:4px;gap:8px}
 .calculation-scope{padding:8px 10px;margin-bottom:4px}.calculation-scope p{line-height:1.5;margin-top:3px}
 .result-head .input-summary{margin:3px 0}
 .filter-bar{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:6px 8px}.filter-bar label{min-width:0;gap:4px;white-space:nowrap}.filter-bar select{width:100%;min-width:0}.filter-bar .filter-count,.active-end-filter{grid-column:1/-1}
 .rule-panel{padding:12px}.rule-panel h2{margin-bottom:4px}
 .report-heading{padding:18px 0 12px}
}
@media(max-width:360px){.filter-bar{grid-template-columns:minmax(0,1fr)}.filter-bar label{gap:8px}.filter-bar select{width:auto;flex:1}}
@media(pointer:coarse){
 .header nav a,.rule-trigger,.theme-toggle,.chip,.example,.side-chip,.side-link-item,.side-more-link,.side-foot-links a,.filter-bar select,.filter-bar input,.footer-links a,.rule-strip button,.explore-promo a,.word-row summary,.mode-tabs label,.primary,.outline,.paging button,.compact-search .primary,.compact-search .search-line input,.field-row input,.field-row select,.rule-panel input[type=number],.rule-panel select,.pos-grid label,.switchline,#rule-close,.input-summary>summary,.calculation-scope summary,.rule-edit summary{min-height:44px;min-width:44px}
 .theme-toggle{width:44px}.mode-tabs label,.pos-grid label,.switchline{height:auto}
}
:root[data-theme=dark] .brand,:root[data-theme=dark] .footer-brand .brand{--logo-pad:6px}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .brand,:root:not([data-theme=light]) .footer-brand .brand{--logo-pad:6px}}


/* Keep native disclosure semantics with a visible direction marker. */
.word-row summary::before,.rule-edit summary::before{content:"";display:inline-block;flex:none;width:0;height:0;border-style:solid;border-width:4px 0 4px 6px;border-color:transparent transparent transparent currentColor;margin-right:7px}
.word-row details[open]>summary::before,.rule-edit[open]>summary::before{transform:rotate(90deg)}

@media(max-width:550px){.word-row:first-child{padding-top:4px}}

.rule-edit summary{display:flex;align-items:center;list-style:none}.rule-edit summary::-webkit-details-marker{display:none}

/* Question-based guide paths share the document/list visual system. */
.search-hint{margin:0 0 10px;font-size:var(--fs-ui);color:var(--text-2);word-break:keep-all;overflow-wrap:anywhere}
.search-help{margin:8px 0 0;max-width:var(--prose);font-size:var(--fs-ui);word-break:keep-all}.search-help a{display:inline-flex;align-items:center;min-height:44px;max-width:100%}
.home-guides{max-width:var(--prose)}
.home .hero h1{font-size:var(--fs-page-title);font-weight:700;line-height:1.3;letter-spacing:-.025em;word-break:keep-all;overflow-wrap:anywhere;text-wrap:initial}
.home .hero p{font-weight:400}
.home .search-card{background:var(--bg);padding:16px}
.home .mode-tabs{width:100%;margin-bottom:12px}
.home .mode-tabs label{flex:1;justify-content:center;padding-inline:8px}

.home .search-line input{font-weight:400;font-size:var(--fs-body)}
.home .search-examples{column-gap:8px;row-gap:0}
.home .example{padding-inline:4px;border-color:transparent;background:transparent;color:var(--accent-text);text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:4px}
.home .example:hover{background:var(--accent-bg);text-decoration-color:currentColor}
.home .rule-strip{background:transparent;border:0;padding-inline:0;font-size:var(--fs-cap);gap:8px}
.home .rule-strip>span{word-break:keep-all;overflow-wrap:anywhere}
.home .rule-strip .dot{margin-right:4px}
.home .search-help{margin-top:0;font-size:var(--fs-cap)}
.home-reading-layout .section-head{border-top:1px solid var(--line-strong);margin-top:0;padding-top:20px;align-items:flex-start;flex-wrap:wrap;gap:8px}
.home-reading-layout .section-head h2{font-size:var(--fs-subsection);line-height:1.5;text-wrap:initial}
.home-reading-layout .section-head a{margin:0 -8px;min-height:44px}
.home-reading-layout .report-card{padding:20px 0;gap:6px}
.home-reading-layout .report-card h3{font-size:var(--fs-item);font-weight:600}
.home-reading-layout .report-card .report-top span:first-child{background:var(--surface-2);color:var(--text-2);font-weight:500}
.home .explore-promo{max-width:none;background:transparent;border:0;border-top:1px solid var(--line);border-radius:0;padding:24px 0;margin:32px 0}
.home .explore-promo a{background:transparent;color:var(--accent-text);border:1px solid var(--line-strong);min-height:44px}
.home .explore-promo a:hover{background:var(--accent-bg);color:var(--accent-text)}
@media(max-width:800px){.home .hero h1{font-size:var(--fs-title-tablet)}}
@media(max-width:550px){
 .home .hero{padding:24px 0 20px}.home .hero h1{font-size:var(--fs-title-mobile);margin-bottom:12px}
 .home .search-card{padding:12px}.home .search-line{flex-wrap:nowrap}
 .home .search-line input{flex:1 1 0;min-height:48px;font-size:var(--fs-body);padding-inline:10px}
 .home .search-line .primary{flex:0 0 auto;min-height:48px;font-size:var(--fs-ui);padding-inline:14px}
 .home .rule-strip{flex-wrap:nowrap}.home-stats{grid-template-columns:1fr;gap:6px}.home-stats>div{flex-direction:row;align-items:baseline;justify-content:space-between;gap:16px}.home-stats p{order:-1}.home-stats strong{font-size:var(--fs-item)}
 .home-reading-layout .section-head{gap:4px}.home-reading-layout .section-head h2{font-size:var(--fs-item)}
}

.question-list{list-style:none;margin:0;padding:0;border-top:0}.question-list li:first-child{border-top:1px solid var(--line)}.question-list li{border-bottom:1px solid var(--line)}
.question-list a{display:block;padding:16px 12px;border-radius:var(--r1);min-height:44px;word-break:keep-all;overflow-wrap:anywhere;transition:background var(--motion-fast)}.question-list a:hover{background:var(--surface)}
.question-list span{display:block;font-size:var(--fs-body);font-weight:700;color:var(--text);transition:color var(--motion-fast)}.question-list a:hover span{color:var(--accent-text)}
.question-list small{display:block;margin-top:4px;font-size:var(--fs-ui);color:var(--text-2)}
.page-head .breadcrumb{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px;margin-bottom:16px;font-size:var(--fs-cap);line-height:1.6;word-break:keep-all;overflow-wrap:anywhere}.breadcrumb a{min-height:24px}
.page-head .guide-context{font-size:var(--fs-ui);color:var(--text-2);margin-top:14px}
.guide-toc{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0}.guide-toc>p{margin:0 0 4px;font-size:var(--fs-cap);color:var(--text-3)}
.guide-toc ul{list-style:none;padding:0;margin:0}.guide-toc li{margin:0}.guide-toc a{display:inline-flex;align-items:center;min-height:44px;font-size:var(--fs-ui)}
.rule-doc h2[id]{scroll-margin-top:90px}.guide-example{margin:12px 0 20px}.guide-example a{display:inline-flex;align-items:center;min-height:44px}
.guide-hub .guide-group:first-child h2{margin-top:12px}.guide-group ul{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}.guide-group li{margin:0;padding:12px 0;border-bottom:1px solid var(--line)}
.guide-group li>a:first-child{display:inline-flex;align-items:center;min-height:44px;line-height:1.6}.guide-group li>p{margin:0;font-size:var(--fs-ui)}
.pressure-mobile{display:none}.pressure-row{padding:16px 0;border-bottom:1px solid var(--line)}.pressure-row h3{font-size:var(--fs-item);margin:0 0 10px}.pressure-row h3 a{display:inline-flex;align-items:center;min-height:44px}
.pressure-row dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 0 8px}.pressure-row dt{font-size:var(--fs-cap);color:var(--text-2);word-break:keep-all}.pressure-row dd{margin:4px 0 0;font-size:var(--fs-item);font-weight:600;font-variant-numeric:tabular-nums}
.pressure-row .pressure-end{display:inline-flex;align-items:center;min-height:44px;max-width:100%;font-size:var(--fs-ui);word-break:keep-all}
@media(max-width:800px){.rule-doc h2[id]{scroll-margin-top:140px}}
@media(max-width:650px){.pressure-desktop{display:none}.pressure-mobile{display:block;border-top:1px solid var(--line);margin-top:16px}}
@media(max-width:360px){.header nav{flex-wrap:nowrap}.header nav a{flex-shrink:0;font-size:var(--fs-cap)}}

.question-link span{text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--accent-text) 35%,transparent);text-underline-offset:3px;text-decoration-thickness:1px}.question-link:hover span{text-decoration-color:currentColor}

.word-title{display:inline-block;align-content:center;min-width:72px;max-width:100%;min-height:44px;font-size:var(--fs-subsection);font-weight:700;letter-spacing:-.02em;color:var(--text);overflow-wrap:anywhere;border-radius:var(--r1)}
.word-title:hover{color:var(--accent-text);text-decoration:underline;text-underline-offset:4px}
.word-head-char{display:inline;color:var(--accent-text);background:color-mix(in srgb,var(--accent-bg) 72%,transparent);padding:0 2px;margin-right:1px;border-radius:var(--r1);box-shadow:inset 0 -2px 0 color-mix(in srgb,var(--accent) 45%,transparent)}
.word-link{min-width:0}
.input-status-line{order:2;display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 10px}
.result-head .input-status-line .status{margin:0}
.word-status-line{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-bottom:6px}
.status-context{font-size:var(--fs-cap);color:var(--text-2)}
.status-context a,.result-basis-links a,.zero-guide-links a{color:var(--text-2);text-decoration:underline;text-underline-offset:2px}
.status-context a:hover,.result-basis-links a:hover,.zero-guide-links a:hover{color:var(--text)}
.zero-guide-links{margin-top:12px}
.status-tag{display:inline-flex;align-items:center;margin-left:6px;padding:1px 8px;border-radius:var(--r1);background:var(--accent-bg);color:var(--accent-text);font-size:var(--fs-cap);font-weight:600}
.status-tag.few{background:var(--warn-bg);color:var(--warn)}
.word-heading{font-size:var(--fs-page-title);font-weight:700;letter-spacing:-.03em;word-break:keep-all;overflow-wrap:anywhere}
#word-head,#word-senses,#word-verdict,#word-source,.word-lead{max-width:var(--prose)}
#word-head{padding:28px 0 20px;border-bottom:2px solid var(--text)}
.word-lead{padding:14px 16px;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r2);font-weight:500;font-size:var(--fs-body)}
.word-lead.clamped{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.word-summary,.word-reason{color:var(--text-2);font-size:var(--fs-ui)}
.word-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
#word-chain,#word-senses,#word-verdict,#word-related{margin-top:28px;padding-top:16px;border-top:1px solid var(--line)}
.word-chain-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.word-chain-grid>div{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r3);padding:18px}
.chain-count{margin:8px 0;font-size:var(--fs-section);font-weight:700;color:var(--accent-text)}
.letter-list,.word-examples,.related-list,.verdict-steps{margin:0;padding:0;list-style:none}
.letter-list li,.word-examples li,.related-list li{margin:6px 0}
.verdict-steps li{display:grid;grid-template-columns:4.5em minmax(0,1fr) auto;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}
.category-tag{display:inline-flex;margin-right:4px;padding:0 6px;border-radius:var(--r1);background:var(--surface-2);font-size:var(--fs-cap)}
.sense-pos{display:inline-block;padding:1px 7px;border-radius:var(--r1);background:var(--surface-2);font-size:var(--fs-cap);font-weight:700;margin-right:6px}
.sense-verdict.allowed{color:var(--accent-text);font-weight:600}
.sense-verdict.excluded{color:var(--excl);font-weight:600}
.homonym{margin:18px 0}
.homonym-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:12px}
.homonym-head h3{margin:0;font-size:var(--fs-item)}
.word-loading{min-height:240px}
@media(max-width:800px){.word-chain-grid{grid-template-columns:1fr}}
@media(max-width:550px){.word-meta{flex:1 1 100%}.word-actions{flex-direction:column}.word-actions .primary,.word-actions .outline{width:100%;padding-block:6px;white-space:normal;text-align:center;word-break:keep-all;overflow-wrap:anywhere}}
@media(pointer:coarse){.word-title,.word-link{min-height:44px}}

/* Search phase 1: choose a word first; expand turn-by-turn evidence as needed. */
.search-workspace{max-width:100%;padding-top:16px}
.search-workspace .compact-search{border:0;padding:0;margin:0 0 6px;max-width:none}
.compact-search .mode-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;margin-bottom:6px}
.compact-search .mode-tabs label{justify-content:center;min-height:44px;padding:0 4px;font-size:var(--fs-ui);text-align:center;white-space:nowrap}
.search-workspace .rule-strip{padding:0 4px 0 10px;margin:0;font-size:var(--fs-cap);max-width:none}
.search-workspace .rule-strip>span{padding:4px 0;word-break:keep-all;overflow-wrap:anywhere}.search-workspace .rule-strip .dot{display:inline-block;margin-right:6px}
.search-workspace .rule-strip button{min-height:44px}
.search-results .result-head{padding:16px 0 10px;border-bottom:2px solid var(--text);margin-bottom:8px;display:block}
.result-head-row{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:4px 12px}
.result-head-meta{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px 10px;font-size:var(--fs-cap)}
.search-results .result-head .result-head-meta .status{margin:0}
.head-detail-link,.summary-letter-link{color:var(--accent-text);font-weight:500;text-underline-offset:3px}
.head-detail-link:hover,.summary-letter-link:hover{text-decoration:underline}
.continuation-links{display:inline-flex;align-items:baseline;flex-wrap:wrap;gap:2px 6px;min-width:0}
.continuation-word{color:var(--text);min-width:0;border-radius:var(--r1)}
.continuation-word b{font-size:var(--fs-ui);font-weight:600;color:var(--text)}
.continuation-word:hover b{color:var(--accent-text);text-decoration:underline;text-underline-offset:3px}
.continuation-analyze{font-size:var(--fs-cap);font-weight:500;color:var(--accent-text);white-space:nowrap}
.continuation-analyze:hover{text-decoration:underline;text-underline-offset:3px}
.search-results .result-head h1{font-size:var(--fs-section);font-weight:700;letter-spacing:-.025em;margin:0 0 6px;text-wrap:pretty}
.search-results .result-head .notice{margin:8px 0}
.result-toolbar{display:flex;flex-wrap:wrap;align-items:start;gap:0 12px;padding:4px 0 8px}.result-toolbar>.result-summary{flex:1 1 12rem;min-width:0}
.search-results #result-body .result-summary{display:block;padding:0;margin:0;border:0}
.search-results #result-body .result-summary h2{font-size:var(--fs-body);min-height:0;margin:0;line-height:1.4;word-break:keep-all;overflow-wrap:anywhere}
.search-results .result-summary h2 b{font-size:var(--fs-section);font-weight:700;color:var(--accent-text)}
.search-results #result-body .result-summary p{font-size:var(--fs-cap);min-height:0;margin:4px 0 0;line-height:1.5}
.search-results .letter-badge{font-size:var(--fs-cap);padding:0 5px;margin-right:4px}
.result-toolbar>.calculation-scope{flex:0 1 auto;padding:0;background:transparent;margin:0;max-width:none}
.result-toolbar>.calculation-scope>summary{display:flex;align-items:center;justify-content:flex-end;gap:6px;min-height:44px;padding:0;color:var(--text-2);cursor:pointer;font-size:var(--fs-cap);list-style:none}
.result-toolbar>.calculation-scope>summary::-webkit-details-marker{display:none}
.result-toolbar>.calculation-scope>summary::after{content:"";width:6px;height:6px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);margin:0 3px 4px}
.result-toolbar>.calculation-scope[open]{flex-basis:100%}
.result-toolbar>.calculation-scope[open]>summary{justify-content:flex-start}
.result-toolbar>.calculation-scope[open]>summary::after{transform:rotate(225deg);margin-bottom:0}
.calculation-body{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0;margin-bottom:8px;word-break:keep-all;overflow-wrap:anywhere}
.calculation-body .input-status-line{margin:12px 0 0}.calculation-body>.outline{margin-top:10px}
.search-results .filter-bar{display:flex;flex-wrap:wrap;gap:6px 12px;padding:8px 10px;align-items:center;background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line-strong);border-radius:var(--r2)}
.search-results .filter-bar label{flex:1;gap:6px}.search-results .filter-bar select{flex:1;width:auto;min-height:44px}
.rule-actions .dueum-toggle{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 12px;border:1px solid var(--line-strong);border-radius:var(--r2);background:var(--surface);color:var(--text-2);font:inherit;font-size:var(--fs-cap);font-weight:600;cursor:pointer;white-space:nowrap;transition:border-color .15s,background-color .15s,color .15s}
.rule-actions .dueum-toggle:hover{border-color:var(--accent);color:var(--text)}
.rule-actions .dueum-toggle .dueum-toggle-state{display:inline-block;padding:1px 6px;border-radius:var(--r1);background:var(--surface-2);color:var(--text-3);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--fs-cap);font-weight:700;font-variant-numeric:tabular-nums}
.rule-actions .dueum-toggle.is-on{border-color:var(--accent);background:var(--accent-bg);color:var(--text)}
.rule-actions .dueum-toggle.is-on .dueum-toggle-state{background:var(--accent);color:var(--on-accent)}
.rule-actions .dueum-toggle:disabled{opacity:.55;cursor:not-allowed}
.search-results .filter-count{width:100%;margin-left:0}.search-results .filter-count.is-unfiltered{display:none}
.word-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:12px;padding:12px 6px;border-bottom:1px solid var(--line)}
.word-row>.word-main,.word-row>.word-meaning,.word-row>.row-reason{grid-column:1/-1}
.word-row>.word-main{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:0 12px}
.candidate-heading{display:flex;align-items:center;min-width:0}.candidate-heading .word-title{min-width:44px;min-height:44px;display:inline-block;align-content:center}
.word-row .next-count{max-width:none;text-align:right;line-height:1.4;display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;font-variant-numeric:tabular-nums}
.word-row .next-count b{display:inline-block;margin-left:0;font-size:var(--fs-body)}
.word-row .next-count .response-value{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:2px 10px;border-radius:var(--r2);background:var(--surface-2);border:1px solid var(--line);font-size:var(--fs-cap);font-weight:500;color:var(--text-2);white-space:nowrap;text-decoration:none;transition:background var(--motion-fast),color var(--motion-fast),border-color var(--motion-fast)}
.word-row .next-count .response-value.is-zero-link{color:var(--text-3);background:var(--surface);border-style:dashed}
.word-row .next-count .next-label{display:inline-flex;align-items:center;gap:3px}
.word-row .next-count .next-char{display:inline-flex;align-items:baseline;padding:0 5px;border-radius:var(--r1);background:var(--bg);color:var(--accent-text);border:1px solid color-mix(in srgb,var(--accent) 38%,var(--line-strong));font-weight:700;line-height:1.35}
.word-row .next-count .next-dueum{font-size:var(--fs-cap);font-weight:600;color:var(--text-2);margin-left:1px}
.word-row .next-count .next-suffix{color:var(--text-2);font-weight:400}
.word-row .next-count .response-value.is-few-link .next-char{background:var(--warn-bg);color:var(--warn);border-color:color-mix(in srgb,var(--warn) 38%,var(--line-strong))}
.word-row .next-count .response-value.is-zero-count .next-char{background:var(--excl-bg);color:var(--excl);border-color:color-mix(in srgb,var(--excl) 38%,var(--line-strong))}
.word-row .next-count .status-tag{margin-left:0}
.word-row .word-main>.dueum-link{grid-column:1/-1;font-size:var(--fs-cap);color:var(--accent-text)}
.word-row>.word-meaning{margin:0;min-height:23px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.word-row>.word-meaning[data-state=error]{display:block}
.word-row>details{margin:0;min-width:0}.word-row>details[open]{grid-column:1/-1}
.word-row>details>summary{min-height:44px;color:var(--text-2);line-height:1.5;display:inline-flex;align-items:center}
@media(min-width:551px) and (pointer:fine){.word-row>details>summary{min-height:32px;padding:4px 0}}
.word-row>details[open]>summary{font-weight:600;color:var(--text);width:100%;border-bottom:1px solid var(--line);padding-bottom:6px;margin-bottom:10px}
.word-row>details.continuation-preview[open]{margin-top:8px;padding:14px 16px;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r2)}
.word-row:has(> details[data-detail][open])>details.continuation-preview[open]{border-bottom:0;border-radius:var(--r2) var(--r2) 0 0}
.word-row>details[data-detail][open]{margin-top:8px;padding:12px 16px 14px;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r2)}
.word-row>details.continuation-preview[open]+details[data-detail][open]{margin-top:0;border-top:1px solid var(--line);border-radius:0 0 var(--r2) var(--r2)}
.search-results .notice,.search-results .error,.word-row .continuation-snapshot,.continuation-groups,.distribution-note,.search-results .fineprint{max-width:none}
.word-row>details.word-detail-disclosure.is-single-compact .sense-block{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;padding:8px 12px}
.word-row>details.word-detail-disclosure.is-single-compact .sense-block>p{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.zero-evidence-note{margin:4px 0 6px;padding:6px 10px;border-radius:var(--r1);background:var(--warn-bg);color:var(--warn);font-size:var(--fs-cap);font-weight:500;line-height:1.5}
.word-row .turn-explanation{margin:0 0 10px;padding:8px 12px;background:var(--bg);border:1px solid var(--line);border-radius:var(--r2);font-size:var(--fs-cap);color:var(--text-2);line-height:1.5;word-break:keep-all;overflow-wrap:anywhere}
.word-row .turn-explanation strong{color:var(--text);font-weight:600}
.word-row .continuation-snapshot{margin:0 0 10px;padding:12px 14px;background:var(--bg);border:1px solid var(--line);border-radius:var(--r2)}
.word-row .continuation-caption,.word-row .distribution-note{font-size:var(--fs-cap);color:var(--text-3);line-height:1.5;margin:6px 0 0}
.word-row .word-meta{display:inline-block;margin:0 0 8px;padding:2px 8px;background:var(--bg);border:1px solid var(--line);border-radius:var(--r1);font-size:var(--fs-cap);font-weight:500;color:var(--text-2)}
.word-row .sense-block{padding:10px 12px;border:1px solid var(--line);border-radius:var(--r2);background:var(--bg);margin:6px 0}
.candidate-actions{display:flex;flex-wrap:wrap;align-items:center;gap:4px 20px}
.candidate-actions>a{display:inline-flex;align-items:center;min-height:44px;font-size:var(--fs-cap)}
.candidate-actions+.distribution-note{margin-top:0}
.result-head-row h1{text-wrap:auto}
@media(max-width:550px){
 body{border-top:0}
 .header nav{padding-bottom:0}
 .search-workspace{padding-top:0}
 .search-workspace .compact-search{margin:0 0 2px}
 .compact-search .mode-tabs{margin-bottom:3px;padding:2px}
 .search-workspace .rule-strip{border:0}
 .search-workspace .rule-strip>span{padding:2px 0}
 .search-results .result-head{padding:2px 0 0;margin-bottom:0;border-bottom:1px solid var(--line)}
 .result-head-row{gap:2px 8px}
 .result-head-meta{gap:4px 8px}
 .search-results .result-head .result-head-meta .status{padding:0 6px}
 .search-results .result-toolbar{padding:0 0 2px}
 .search-results #result-body .result-summary p{margin:1px 0 0}
 .search-results .filter-bar{display:flex;flex-wrap:wrap;gap:6px;padding:2px 0 4px;align-items:center;background:transparent;border-radius:0;border-top:0}
 .search-results .filter-bar label{display:flex;align-items:center;min-width:0;flex:1 1 0;gap:4px;font-size:var(--fs-cap)}
 .search-results .filter-bar select{min-height:44px;min-width:44px;width:100%;padding:0 4px;font-size:var(--fs-body)}
 .rule-actions .dueum-toggle{flex:0 0 auto;min-height:44px;min-width:44px;padding:0 8px;font-size:var(--fs-cap);gap:4px}
 .search-results .result-head h1{font-size:var(--fs-item);margin:0}
 .word-row{padding:8px 0}
 .word-row .next-count{max-width:none}
 .word-row .next-count .response-value{padding:2px 8px;font-size:var(--fs-cap);gap:3px}
 .word-row .next-count .next-char{padding:0 4px}
 .word-row .next-count .next-label{gap:2px}
 .word-row .next-count .status-tag{margin-left:0;padding:1px 6px;font-size:var(--fs-cap)}
 .word-row:first-child{padding-top:4px}
 .word-row>details.continuation-preview[open],.word-row>details[data-detail][open]{padding:10px 12px}
 .compare-stats b{font-size:var(--fs-subsection)}
}

/* Shared links can select lengths beyond the standard menu without widening it. */
.filter-bar label{max-width:100%;min-width:0}.filter-bar select{max-width:100%;min-width:0}

/* Hanbang Scenarios Hub & Detail */
.hanbang-index{margin-top:24px}
.hanbang-index h2{font-size:var(--fs-item);margin:24px 0 8px;border-bottom:1px solid var(--line);padding-bottom:6px}
.hanbang-index .links{display:flex;flex-wrap:wrap;gap:6px 12px;margin:0}
.hanbang-index .links a{display:inline-flex;align-items:center;min-height:44px;padding:4px 0;font-size:var(--fs-body);color:var(--text);text-decoration:underline;text-underline-offset:3px}
.hanbang-index .links a:hover{color:var(--accent-text)}
.hanbang-summary-box{padding:14px 16px;background:var(--surface);border-radius:var(--r2);margin:16px 0;border:1px solid var(--line)}
.hanbang-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px 16px;margin:0}
.hanbang-stats-grid dt{font-size:var(--fs-cap);color:var(--text-3);margin-bottom:2px}
.hanbang-stats-grid dd{margin:0;font-size:var(--fs-ui);color:var(--text)}
.hanbang-stats-grid dd b{font-size:var(--fs-body);color:var(--accent-text)}
.hanbang-feeders,.hanbang-scenarios,.hanbang-related{margin:28px 0}
.hanbang-feeders h2,.hanbang-scenarios h2,.hanbang-related h2{font-size:var(--fs-subsection);margin:0 0 10px}
.scenario-case{margin:20px 0;padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r2)}
.scenario-case h3{font-size:var(--fs-item);margin:0 0 8px;color:var(--text)}
.hanbang-scenario-table{width:100%;border-collapse:collapse;margin:10px 0;font-size:var(--fs-ui)}
.hanbang-scenario-table th,.hanbang-scenario-table td{padding:8px 12px;text-align:left;border-bottom:1px solid var(--line)}
.hanbang-scenario-table thead th{background:var(--surface-2);font-size:var(--fs-cap);color:var(--text-2)}
.hanbang-scenario-table tbody th{font-weight:500;color:var(--text-2);width:28%}
.hanbang-scenario-table td a{font-weight:600;text-decoration:underline;text-underline-offset:3px}
.scenario-finish{margin:10px 0 0;font-weight:600;color:var(--excl);font-size:var(--fs-ui)}
.funnel-text{margin:6px 0;font-size:var(--fs-ui);color:var(--text)}
.hanbang-nav{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}
.hanbang-lead{font-size:var(--fs-item);color:var(--text-2);margin:8px 0}
.hanbang-scenario-link{display:inline-block;margin:6px 0;font-weight:600;color:var(--accent-text);text-decoration:underline;text-underline-offset:3px}

/* Search task: applied rules, list view, and independent analysis have distinct roles. */
.mode-tabs label{min-width:0;white-space:normal;text-wrap:wrap}
.compact-search .search-hint{font-size:var(--fs-cap);margin:0 0 6px;line-height:1.5}
.rule-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:6px;flex-shrink:1;min-width:0;max-width:100%}
.rule-actions .dueum-toggle{min-height:44px}
.rule-actions .dueum-toggle .dueum-toggle-state{font-family:inherit;font-size:var(--fs-cap)}
.filter-label{font-size:var(--fs-cap);font-weight:600;color:var(--text)}
.filter-reset{border:0;background:none;color:var(--accent-text);font:inherit;min-height:44px;padding:0 6px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.list-orientation{display:flex;align-items:baseline;justify-content:space-between;gap:4px 16px;flex-wrap:wrap;padding:8px 0;border-bottom:1px solid var(--line);font-size:var(--fs-cap);color:var(--text-2)}
.list-orientation p{margin:0;line-height:1.5}.list-orientation p span{display:block;color:var(--text-3)}
.list-range{white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--text-3)}
.word-row .next-count{display:flex;flex-wrap:wrap;max-width:230px;gap:0 6px}
.word-row .next-count .response-value{min-height:0;min-width:0;border:0;background:none;padding:0;white-space:normal;gap:5px;justify-content:flex-end}
.word-row .next-count .response-value .next-label{font-size:var(--fs-cap)}
.word-row .next-count .response-value .next-char{font-size:var(--fs-cap)}
.response-role{font-size:var(--fs-cap);color:var(--text-2)}
.row-analysis{flex-basis:100%;text-align:right}
.word-row .row-analysis .word-link{display:inline-flex;align-items:center;justify-content:flex-end;min-width:44px;min-height:44px;padding:0;font-size:var(--fs-cap);font-weight:500;color:var(--accent-text);text-decoration:underline;text-underline-offset:3px}
.word-section-nav{display:flex;flex-wrap:wrap;gap:6px 20px;border-block:1px solid var(--line-strong);padding:4px 0;margin:20px 0 24px;max-width:var(--prose)}
.word-section-nav a{display:inline-flex;align-items:center;min-height:44px;font-size:var(--fs-ui)}
#word-chain,#word-senses,#word-verdict{scroll-margin-top:90px}
.word-distribution{margin-top:16px;border-top:1px solid var(--line-strong);padding-top:8px}
.word-distribution>summary{min-height:44px;align-content:center;cursor:pointer;font-weight:600}
.word-distribution[open]>summary{margin-bottom:8px}
.word-distribution .continuation-group h3{font-size:var(--fs-ui)}
.word-distribution .continuation-group h3 span{font-weight:400;color:var(--text-2)}
@media(max-width:550px){
 .search-results .filter-bar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:4px 10px}
 .search-results .filter-label{grid-column:1/-1;padding-top:4px}
 .search-results .filter-bar label{font-size:var(--fs-cap)}
 .search-results .filter-bar select{font-size:var(--fs-body);padding-inline:4px}
 .search-results .filter-bar .filter-count{grid-column:1/-1}
 .search-results .filter-reset{justify-self:start}
 .rule-strip{flex-wrap:wrap;gap:2px}
 .rule-actions{margin-left:auto}
 .rule-actions .dueum-toggle{padding:0 8px;font-size:var(--fs-cap)}
 .word-row>.word-main{grid-template-columns:minmax(0,1fr) minmax(130px,auto);gap:6px}
 .word-row .next-count{max-width:180px}
 .word-row .next-count .response-value{padding:0;font-size:var(--fs-cap)}
 .word-row .next-count .status-tag{font-size:var(--fs-cap)}
 .word-section-nav{gap:4px 16px;margin-block:16px}
 .list-orientation p span{font-size:var(--fs-cap)}
}

.word-row>.word-main{align-items:start}
@media(min-width:551px){.row-analysis{flex-basis:auto;margin-left:8px}}
@media(max-width:550px){
 .search-results .filter-bar label:first-of-type{flex-wrap:wrap;gap:0}
 .search-results .filter-bar label:first-of-type>span[aria-hidden]{width:100%}
 .search-results .filter-bar label:has(#view-sort){flex-wrap:wrap;gap:0}
 .search-results .filter-bar label:has(#view-sort)>span{width:100%}
 .search-results .filter-bar select{width:100%;font-size:var(--fs-body)}
}

.list-orientation .list-scope{flex-basis:100%;font-size:var(--fs-cap);color:var(--text-3)}

/* Zero is a status label; its evidence lives in the full-size disclosure. */
.word-row .zero-badge{cursor:default}
.rule-actions .dueum-toggle[aria-disabled="true"]{opacity:.55;cursor:wait}

/* Plain-language word choices: restore one inline next-word action. */
.word-row .next-count{max-width:210px;align-items:center}
.word-row .next-count .word-link.response-value{display:inline-flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:3px 7px;min-width:44px;min-height:44px;padding:4px 8px;border:1px solid var(--line);border-radius:var(--r2);background:var(--surface);color:var(--accent-text);font-size:var(--fs-cap);text-decoration:none;line-height:1.4}
.word-row .next-count .word-link:hover{border-color:var(--accent);background:var(--accent-bg)}
.word-row .next-count .word-link .next-label{white-space:nowrap;font-size:var(--fs-cap)}
.word-row .next-count .word-link b{white-space:nowrap;font-size:var(--fs-body)}
.word-row .next-count .zero-badge[hidden]{display:none}
.word-row>details>summary{white-space:nowrap;word-break:keep-all}
.list-orientation{padding:8px 0;gap:3px 12px}
.list-orientation p{font-size:var(--fs-cap);word-break:keep-all;overflow-wrap:anywhere}
.simple-next-words{list-style:none;padding:0;margin:10px 0 14px;display:grid;gap:4px}
.simple-next-words li{display:flex;flex-wrap:wrap;align-items:center;gap:5px 8px;font-size:var(--fs-body)}
.simple-next-words a{display:inline-flex;align-items:center;min-height:44px;padding:0 6px;font-weight:600}
.distribution-more{margin-top:12px;padding-top:8px;border-top:1px solid var(--line)}
.distribution-more>summary{display:flex;align-items:center;min-height:44px;font-size:var(--fs-cap);cursor:pointer}
.distribution-more[open]>summary{margin-bottom:12px}
@media(max-width:550px){
 .word-row>.word-main{grid-template-columns:minmax(0,1fr) minmax(142px,auto);align-items:center;gap:8px}
 .word-row .next-count{max-width:188px}
 .word-row .next-count .word-link.response-value{padding:4px 6px}
 .word-row .word-meaning{font-size:var(--fs-body)}
 .word-row>details>summary{font-size:var(--fs-cap);min-height:44px}
 .list-orientation .list-range{font-size:var(--fs-cap)}
 .compact-search .search-hint{margin-bottom:4px}
}
/* ==========================================================================
   CL-SD-20261021 · 검색 결과 행 + 단어 정보 개편 레이어
   적용법: 이 파일 전체를 dist/assets/style.css 맨 끝에 그대로 붙인다.
   - 위쪽 기존 규칙은 지우지 않는다. 이 레이어가 마지막에 와서 덮어쓴다.
   - 새 색·그림자·글자 크기를 만들지 않는다. :root 토큰과 13/14/16, 18/20/24 크기만 쓴다.
   - 목록 규칙은 .word-list 아래, 상세 규칙은 [data-word-page] 아래에만 건다.
   ========================================================================== */

/* ---------- L1. 결과 머리: 첫 결과까지의 거리를 줄인다 ---------- */
.search-workspace{max-width:var(--prose)}
#main:has(.search-workspace)>.analysis-context{max-width:var(--prose)}
.search-results .result-head{padding:12px 0 8px;margin-bottom:0;border-bottom:1px solid var(--line-strong)}
.search-results .result-head h1{font-size:var(--fs-section);line-height:1.3;margin:0 0 4px}
.search-results .result-toolbar{padding:10px 0 4px}
.search-results .result-summary h2 b{font-size:var(--fs-subsection)}
.search-results .filter-bar{background:transparent;border:0;border-radius:0;padding:2px 0 6px;gap:6px 16px}

/* ---------- L2. 목록 열 머리 (.list-orientation 재사용) ---------- */
.search-results .list-orientation{display:flex;align-items:flex-end;justify-content:space-between;gap:2px 16px;padding:10px 8px 6px;border-bottom:1px solid var(--line-strong)}
.search-results .list-orientation p{margin:0;font-size:var(--fs-cap);color:var(--text-2)}
.search-results .list-orientation .list-range{font-size:var(--fs-cap);color:var(--text-3)}

/* ---------- L3. 결과 행 ---------- */
.word-list .word-row{display:grid;grid-template-columns:auto auto minmax(0,1fr);column-gap:16px;row-gap:0;padding:10px 8px 4px;border-bottom:1px solid var(--line);border-radius:0;transition:background var(--motion-fast)}
.word-list .word-row:hover{background:var(--surface)}
.word-list .word-row>.word-main,.word-list .word-row>.word-meaning,.word-list .word-row>.row-reason{grid-column:1/-1}
.word-list .word-row>.word-main{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"title facts stat";align-items:center;gap:0 12px}

/* 단어 + 응답 구간 태그 */
.word-list .word-row .candidate-heading{grid-area:title;display:flex;align-items:center;flex-wrap:wrap;gap:2px 10px;min-width:0}
.word-list .word-row .word-title{min-width:44px;font-size:var(--fs-subsection);font-weight:700;letter-spacing:-.02em}
.word-list .word-row .tier-tag{margin:0;padding:1px 7px;border-radius:var(--r1);font-size:var(--fs-cap);font-weight:600;line-height:1.5;white-space:nowrap;cursor:default}
.word-list .word-row .tier-tag.zero{background:var(--excl-bg);color:var(--excl);border:0}
.word-list .word-row .tier-tag.few{background:var(--warn-bg);color:var(--warn)}
.word-list .word-row .tier-tag.path{background:var(--surface-2);color:var(--text-2)}

/* 보조 사실 줄: 글자 수 · (품사) · 두음 · 뜻 개수 */
.word-list .word-row .row-facts{grid-area:facts;display:flex;flex-wrap:wrap;gap:0 6px;margin:0;font-size:var(--fs-cap);line-height:1.5;color:var(--text-3)}
.word-list .word-row .row-facts>span+span::before{content:"·";margin-right:6px;color:var(--line-strong)}
.word-list .word-row .row-facts .dueum-link{color:var(--accent-text);font-weight:500}
.word-list .word-row .row-facts .sense-count:empty{display:none}

/* 응답 수: 숫자가 먼저 읽히는 오른쪽 수치 칸 */
.word-list .word-row .next-count{grid-area:stat;align-self:center;display:flex;justify-content:flex-end;max-width:none;margin:0}
.word-list .word-row .next-count .word-link.response-value{display:inline-grid;justify-items:end;align-content:center;gap:0;min-width:96px;min-height:48px;padding:4px 10px;border:1px solid transparent;border-radius:var(--r2);background:transparent;color:var(--text);text-align:right;line-height:1.3;white-space:normal;text-decoration:none;transition:background var(--motion-fast),border-color var(--motion-fast)}
.word-list .word-row .next-count .word-link.response-value:hover{background:var(--accent-bg);border-color:transparent}
.word-list .word-row .next-count .word-link b{order:-1;font-size:var(--fs-subsection);font-weight:700;line-height:1.25;letter-spacing:-.01em;color:var(--text);white-space:nowrap}
.word-list .word-row .next-count .word-link b.zero{color:var(--excl)}
.word-list .word-row .next-count .word-link.is-few-link b{color:var(--warn)}
.word-list .word-row .next-count .word-link .next-label{font-size:var(--fs-cap);font-weight:500;color:var(--accent-text);white-space:nowrap}
.word-list .word-row .next-count .word-link:hover .next-label{text-decoration:underline;text-underline-offset:3px}

/* 뜻: 본문 색으로 두 줄까지 */
.word-list .word-row>.word-meaning{margin:2px 0 0;min-height:0;font-size:var(--fs-body);line-height:1.65;color:var(--text);-webkit-line-clamp:2}
.word-list .word-row>.word-meaning:not([data-state]){color:var(--text-3)}
.word-list .word-row>.word-meaning[data-state=error]{color:var(--text-2)}

/* 펼침 두 개를 왼쪽에 나란히 */
.word-list .word-row>details{grid-column:auto;margin:0}
.word-list .word-row>details[open]{grid-column:1/-1}
.word-list .word-row>details>summary{font-size:var(--fs-cap);color:var(--text-2)}

/* 예시: 상대 응답과 그 뒤 내 수를 한 줄에 */
.word-list .simple-next-words{gap:0;margin:8px 0 12px}
.word-list .simple-next-words li{justify-content:flex-start;gap:4px 8px;padding:2px 0;border-bottom:1px solid var(--line);font-size:var(--fs-ui)}
.word-list .simple-next-words li:last-child{border-bottom:0}
.word-list .simple-next-words .next-after{margin-left:auto;font-size:var(--fs-cap);color:var(--text-2);white-space:nowrap}
.word-list .simple-next-words .next-after b{color:var(--text);font-weight:700}
.word-list .simple-next-words .next-after.zero b{color:var(--excl)}

@media(max-width:550px){
 .search-results .result-head{padding:2px 0 4px}
 .search-results .result-head h1{font-size:var(--fs-item);margin:0}
 .search-results .result-toolbar{padding:2px 0 0}
 .search-results .filter-bar{padding:0 0 4px}
 .search-results .list-orientation{padding:6px 2px 4px}
 .word-list .word-row{padding:12px 2px 6px;column-gap:12px}
 .word-list .word-row>.word-main{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title stat" "facts stat";gap:0 8px}
 .word-list .word-row .word-title{font-size:var(--fs-item)}
 .word-list .word-row .next-count .word-link.response-value{min-width:0;padding:4px 6px}
 .word-list .word-row .next-count .word-link b{font-size:var(--fs-item)}
 .word-list .word-row .next-count .word-link .next-label{white-space:normal;max-width:9.5em;word-break:keep-all}
 .word-list .simple-next-words .next-after{margin-left:0;flex-basis:100%;white-space:normal}
}

/* UX05: 후보와 응답 수를 한 눈에 비교하고, 작은 화면에서도 첫 후보까지 도달한다. */
.search-workspace .compact-search .search-line input,.search-workspace .compact-search .search-line .primary{min-height:44px}
.search-results .head-detail-link{display:inline-flex;align-items:center;min-height:44px}
.search-results #lab-from-word{min-height:44px;padding-inline:4px;border-color:transparent;background:transparent;color:var(--text-2);font-size:var(--fs-cap)}
.search-results #lab-from-word:hover{color:var(--accent-text);text-decoration:underline;text-underline-offset:3px}
@media(max-width:550px){
 .search-results .result-head-row{row-gap:0}
 .search-results .result-head-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr));gap:0 8px;width:100%}
 .search-results .result-head-meta .status{grid-column:1/-1;justify-self:start;max-width:100%;white-space:normal;text-wrap:wrap}
 .search-results #lab-from-word{justify-self:start}
 .search-workspace .compact-search .mode-tabs{padding:0}
 .search-workspace .compact-search .search-hint{margin-bottom:0}
 .search-results .filter-bar{grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr));gap:4px 8px}
 .search-results .filter-bar label,.search-results .filter-bar label:first-of-type,.search-results .filter-bar label:has(#view-sort){flex-wrap:wrap;gap:4px}
 .search-results .filter-bar label>span:not(.sr-only){flex-shrink:0;white-space:nowrap}
 .search-results .filter-bar label:first-of-type>span[aria-hidden],.search-results .filter-bar label:has(#view-sort)>span{width:auto}
 .search-results .filter-bar select{flex:1 1 8rem;min-width:0;padding-inline:2px}
 .search-results .list-orientation{display:block;padding:4px 2px}
 .search-results .list-orientation p{display:inline}
 .search-results .list-orientation .list-range{display:inline-block;margin-left:8px}
 .search-results .word-list .word-row{padding:8px 2px 4px}
 .search-results .word-list .word-row>.word-main{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"title facts stat";gap:0 6px}
 .search-results .word-list .word-row .candidate-heading{gap:2px 6px}
 .search-results .word-list .word-row .next-count .word-link .next-label{max-width:9em}
 /* 긴 제목·상태·사실이 한 줄을 다투면 사실 줄에 전체 폭을 준다. */
 .search-results .word-list .word-row:is([data-long-word="true"],[data-tier="few"],[data-tier="path"],:has(.dueum-link),:has(.sense-count:not(:empty)),:has(.row-facts>span:nth-child(3)))>.word-main{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title stat" "facts facts";gap:4px 8px}
}

/* ---------- D1. 단어 정보 머리 ---------- */
[data-word-page] #word-head{padding:24px 0 8px;border-bottom:0}
[data-word-page] .word-heading{margin:0 0 8px}
[data-word-page] .word-status-line{margin-bottom:4px}
[data-word-page] .word-summary{margin:0}
[data-word-page] .word-lead-slot{display:flow-root;min-block-size:84px}
[data-word-page] .word-lead{margin:12px 0 0;padding:0;background:none;border:0;border-radius:0;font-size:var(--fs-body);font-weight:500;line-height:1.75;color:var(--text)}
[data-word-page] .word-actions{margin:16px 0 12px}

/* ---------- D2. 핵심 사실 줄 (.word-facts, 신규) ---------- */
.word-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:20px 0 0;border-block:1px solid var(--line-strong)}
.word-facts>div{min-width:0;padding:12px 16px 12px 0}
.word-facts>div+div{padding-left:16px;border-left:1px solid var(--line)}
.word-facts dt{margin:0 0 4px;font-size:var(--fs-cap);font-weight:500;color:var(--text-3)}
.word-facts dd{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 8px;margin:0;min-width:0}
.word-facts .fact-value{font-size:var(--fs-subsection);font-weight:700;letter-spacing:-.01em;line-height:1.3;color:var(--text);white-space:nowrap}
.word-facts .fact-value.letters{color:var(--accent-text)}
.word-facts .fact-note{font-size:var(--fs-cap);color:var(--text-2);word-break:keep-all;overflow-wrap:anywhere}
.word-facts .fact-note a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.word-facts .tier-tag{padding:1px 7px;border-radius:var(--r1);font-size:var(--fs-cap);font-weight:600}
.word-facts .tier-tag.zero{background:var(--excl-bg);color:var(--excl)}
.word-facts .tier-tag.few{background:var(--warn-bg);color:var(--warn)}

/* ---------- D3. 목차와 섹션 리듬 ---------- */
[data-word-page] .word-section-nav{gap:0 24px;margin:8px 0 0;padding:0;border-block:0;border-bottom:1px solid var(--line)}
[data-word-page] .word-section-nav a{font-size:var(--fs-ui);font-weight:500;color:var(--text-2);text-decoration:none}
[data-word-page] .word-section-nav a:hover{color:var(--text)}
[data-word-page] .word-section-nav .nav-count{margin-left:4px;font-size:var(--fs-cap);font-weight:400;color:var(--text-3)}
[data-word-page] #word-chain,[data-word-page] #word-senses,[data-word-page] #word-verdict,[data-word-page] #word-related{margin-top:40px;padding-top:0;border-top:0}
[data-word-page] #word-chain>h2,[data-word-page] #word-senses>h2,[data-word-page] #word-verdict>h2,[data-word-page] #word-related>h2{margin:0 0 12px;padding-bottom:8px;font-size:var(--fs-subsection);border-bottom:1px solid var(--line-strong)}

/* ---------- D4. 끝말잇기 연결: 상자 대신 두 단 ---------- */
[data-word-page] .word-chain-grid{gap:0 40px}
[data-word-page] .word-chain-grid>div{padding:4px 0 0;background:none;border:0;border-radius:0}
[data-word-page] .word-chain-grid h3{margin:0 0 8px;font-size:var(--fs-body)}
[data-word-page] .word-chain-grid h3.example-title{margin-top:20px}
[data-word-page] .word-chain-grid p{margin:0 0 6px}
[data-word-page] .chain-count{margin:4px 0 2px;font-size:var(--fs-section);font-weight:700}
[data-word-page] .chain-blocked{margin:0 0 8px;font-size:var(--fs-ui);color:var(--text-2)}
[data-word-page] .chain-blocked b{color:var(--text)}
[data-word-page] .word-examples li,[data-word-page] .letter-list li{display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px;min-height:44px;margin:0;padding:4px 0;border-bottom:1px solid var(--line)}
[data-word-page] .word-examples li a{font-weight:600}
[data-word-page] .word-examples li span{margin-left:auto;font-size:var(--fs-cap);color:var(--text-2)}
@media(max-width:800px){
 #word-chain,#word-senses,#word-verdict{scroll-margin-top:140px}
 [data-word-page] .word-chain-grid>div+div{margin-top:28px;padding-top:16px;border-top:1px solid var(--line)}
}

/* ---------- D5. 뜻풀이 ---------- */
[data-word-page] #word-senses .chips{margin:0 0 8px}
[data-word-page] .homonym{margin:0;padding:14px 0 10px;border-bottom:1px solid var(--line)}
[data-word-page] .homonym:first-of-type{padding-top:4px}
[data-word-page] .homonym-head h3{font-size:var(--fs-item)}
[data-word-page] .homonym-head a{font-size:var(--fs-cap)}
[data-word-page] .homonym>.fineprint{margin:2px 0 6px;font-size:var(--fs-cap);color:var(--text-3)}
[data-word-page] .homonym ol{margin:0;padding-left:1.5em}
[data-word-page] .homonym li{padding:6px 0}
[data-word-page] .homonym li::marker{font-size:var(--fs-cap);color:var(--text-3)}
[data-word-page] .homonym li>p{margin:0}
[data-word-page] .sense-pos,[data-word-page] .category-tag{font-size:var(--fs-cap);line-height:1.6}
[data-word-page] .sense-verdict{display:inline-flex;margin-left:2px;padding:0 6px;border-radius:var(--r1);font-size:var(--fs-cap);font-weight:600;line-height:1.6}
[data-word-page] .sense-verdict.allowed{padding-left:2px;color:var(--text-3)}
[data-word-page] .sense-verdict.excluded{background:var(--excl-bg);color:var(--excl)}
[data-word-page] .sense-text{display:block;margin-top:4px;font-size:var(--fs-body);line-height:1.75;color:var(--text)}
[data-word-page] li[data-allowed="0"] .sense-text{color:var(--text-2)}
[data-word-page] .homonym li>.fineprint{margin-top:2px;font-size:var(--fs-cap);color:var(--text-3)}

/* ---------- D6. 판정 근거 ---------- */
[data-word-page] .verdict-steps li{grid-template-columns:5em minmax(0,1fr) auto;align-items:baseline;padding:10px 0;font-size:var(--fs-ui)}
[data-word-page] .verdict-steps li>span:first-child{font-weight:600;color:var(--text-2)}
[data-word-page] .verdict-result{font-weight:600;color:var(--accent-text);white-space:nowrap}
[data-word-page] .verdict-result[data-ok="0"]{color:var(--excl)}
[data-word-page] .verdict-result[data-ok=""]{color:var(--warn)}
[data-word-page] #word-verdict>p{margin:12px 0 0;font-size:var(--fs-ui)}

/* ---------- D7. 더 살펴보기 · 자료 ---------- */
[data-word-page] .related-list li{margin:0;border-bottom:1px solid var(--line)}
[data-word-page] .related-list a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;color:var(--text);text-decoration:none}
[data-word-page] .related-list a::after{content:"→";color:var(--text-3)}
[data-word-page] .related-list a:hover{color:var(--accent-text)}
[data-word-page] #word-source{margin-top:40px}

@media(max-width:550px){
 .word-facts{grid-template-columns:1fr}
 .word-facts>div{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;padding:10px 0}.word-facts dt{flex:0 1 6.5rem;min-width:0}.word-facts dd{flex:1 1 8rem}
 .word-facts>div+div{padding-left:0;border-left:0;border-top:1px solid var(--line)}
 .word-facts dt{margin:0}
 [data-word-page] #word-chain,[data-word-page] #word-senses,[data-word-page] #word-verdict,[data-word-page] #word-related{margin-top:32px}
 [data-word-page] .verdict-steps li{grid-template-columns:4em minmax(0,1fr);row-gap:2px}
 [data-word-page] .verdict-steps li>.verdict-result{grid-column:2}
}

/* Review refinements: named evidence and actual touch targets. */
[data-word-page] .word-lead-context{font-size:var(--fs-cap);color:var(--text-2);margin:8px 0 0}
[data-word-page] .word-lead-context a{display:inline-flex;align-items:center;min-height:44px}
[data-word-page] .word-lead-context + .word-lead{margin-top:4px}
[data-word-page] .example-order{margin:4px 0 8px}
[data-word-page] .word-examples li a,
[data-word-page] .letter-list li a,
[data-word-page] .continuation-word{display:inline-flex;align-items:center;min-height:44px;min-width:44px}
/* Keep the footer outside the viewport while dynamic word evidence resolves. */
#main:has(.word-loading){min-height:100svh}

/* Local search within the fixed-rule hanbang catalog. */
.hanbang-filter{margin:24px 0 32px;max-width:640px}
.hanbang-filter label{display:block;font-weight:600;margin-bottom:8px}
.hanbang-filter-row{display:flex;gap:8px}
.hanbang-filter-row input{flex:1;min-width:0;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--text);font:inherit}
.hanbang-filter-row button{min-height:44px}
.hanbang-filter p{margin:8px 0;font-size:var(--fs-ui)}
.hanbang-group h2{scroll-margin-top:80px}
.hanbang-group[hidden],.hanbang-group a[hidden],.hanbang-filter[hidden],#hanbang-empty[hidden]{display:none}

/* Intent reassessment: preserve exploration context and compact large groups. */
.hanbang-more{min-height:44px;margin:8px 0 16px}
.hanbang-more[hidden]{display:none}
.home-intent-links{display:flex;flex-wrap:wrap;gap:0 20px;margin:4px 0 8px}
.home-intent-links a{display:inline-flex;align-items:center;min-height:44px;font-size:var(--fs-ui)}
.result-toolbar>.result-purpose{flex-basis:100%;margin:8px 0 0;color:var(--text-2);font-size:var(--fs-ui);line-height:1.6;word-break:keep-all;overflow-wrap:anywhere}

/* Results lead directly to one example action, in the same reading order at every size. */
.report-example-actions{margin:20px 0 24px;padding-top:16px;border-top:1px solid var(--line);word-break:keep-all;overflow-wrap:anywhere}
.report-example-actions .fineprint{margin:0 0 8px}
.report-example-links{display:flex;align-items:center;flex-wrap:wrap;gap:8px 20px}
.report-example-links a{display:inline-flex;align-items:center;min-height:44px}
.article .report-example-actions .primary,.static-content .report-example-actions .primary{color:var(--on-accent);text-decoration:none}
[data-hanbang-page] .page-head h1,[data-hanbang-page] h2,[data-hanbang-page] h3,[data-hanbang-page] .page-head p,.hanbang-scenario-table th,.hanbang-scenario-table td{word-break:keep-all;overflow-wrap:anywhere}
@media(max-width:550px){
 .compare-config:has(.rule-edit[open]){grid-template-columns:minmax(0,1fr)}
 #compare-form .rule-panel select,#compare-form .rule-panel input:not([type=checkbox]):not([type=radio]),#compare-form .rule-edit>summary{min-height:44px}
 .snapshot-bin{min-width:44px;min-height:44px}
 .snapshot-label{flex-wrap:wrap}
 .hanbang-scenario-table th,.hanbang-scenario-table td{padding-inline:6px}
}

#compare-form .search-card input,#compare-form .search-card select,#compare-form button[type=submit],#compare-form .rule-panel select,#compare-form .rule-panel input:not([type=checkbox]):not([type=radio]),#compare-form .rule-edit>summary{min-height:44px}

[data-hanbang-page]>.fineprint{word-break:keep-all;overflow-wrap:anywhere}
.hanbang-scenario-table th,.hanbang-scenario-table td{white-space:normal}

/* Desktop pages share the available width and aligned, bounded side gutters. */
@media(min-width:901px){
 :root{--col:100%;--prose:100%;--page-gutter:clamp(24px,2.5vw,48px)}
 .header-inner,.wrap,.footer-inner{padding-inline:var(--page-gutter)}
 .hanbang-filter{max-width:none}
}

/* Approved copy review: preserve report evidence behind one disclosure. */
.report-method { margin-block: 24px; border-top: 1px solid var(--line); }
.report-method > summary { min-height: 44px; padding-block: 12px; font-weight: 600; cursor: pointer; }
.report-method > summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.report-method > div { padding-block: 8px; }

/* Official logo variant preserves outlines; explicit theme overrides the OS. */
:root[data-theme=dark] .brand-logo{content:url('/releases/ae2d121a7e19a69d1823d8a79e9d1158739db7d31a03d855d50bfc1024e08513/assets/kkeut-wordrow-dark.svg')}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .brand-logo{content:url('/releases/ae2d121a7e19a69d1823d8a79e9d1158739db7d31a03d855d50bfc1024e08513/assets/kkeut-wordrow-dark.svg')}}

/* Fixed lab examples supplement the dictionary; image and readable path stay together. */
.lab-gallery{scroll-margin-top:96px;margin:48px 0;padding-top:32px;border-top:1px solid var(--line-strong)}
.lab-gallery h2{margin-bottom:12px}.gallery-intro{max-width:70ch;margin-bottom:8px;color:var(--text-2);word-break:keep-all;overflow-wrap:anywhere}.gallery-basis{font-size:var(--fs-cap);color:var(--text-2);margin-bottom:24px}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.gallery-record{min-width:0}.gallery-image{display:block;background:#f7f4ec;border:1px solid var(--line-strong);border-radius:var(--r2);overflow:hidden}.gallery-image img{display:block;position:absolute;top:0;left:0;width:100%;height:auto}.gallery-case{font-size:var(--fs-cap);font-weight:600;color:var(--accent-text);margin:0 0 8px}.gallery-image{align-self:start;text-decoration:none;background:#f7f6f3}.gallery-image-crop{display:block;position:relative;overflow:hidden}.gallery-domain{display:block;padding:2px 14px 10px;text-align:right;color:#5f5e5b;font-size:var(--fs-cap);line-height:1.4;letter-spacing:0}.gallery-grid{align-items:start}.gallery-image:hover{border-color:var(--accent)}
.gallery-caption{padding-top:18px}.gallery-caption h3{margin-bottom:16px;overflow-wrap:anywhere}.gallery-role{display:block;margin-top:5px;color:var(--text-2);font-size:var(--fs-ui);font-weight:400;letter-spacing:0}
.gallery-steps{list-style:decimal-leading-zero;margin:0 0 10px;padding-left:28px}.gallery-steps li{padding:5px 0 5px 3px}.gallery-steps li::marker{color:var(--text-3);font-size:var(--fs-cap)}.gallery-steps li a{overflow-wrap:anywhere}.gallery-steps li span{float:right;padding-left:10px;font-size:var(--fs-cap);color:var(--text-2)}
.gallery-downloads{display:flex;flex-wrap:wrap;gap:8px 18px}.gallery-downloads a,.gallery-start{display:inline-flex;align-items:center;min-height:44px;color:var(--accent-text);font-size:var(--fs-ui);text-decoration:underline;text-underline-offset:3px}.gallery-start{white-space:normal;word-break:keep-all;overflow-wrap:anywhere;max-width:100%}
.gallery-more{margin:24px 0}.gallery-more summary{min-height:44px;padding:10px 0;color:var(--accent-text);cursor:pointer}.gallery-more[open] .gallery-grid{margin-top:20px}.lab-gallery>.fineprint{margin-top:24px}
.lab-gallery-single .gallery-grid{display:block}.lab-gallery-single .gallery-record{display:grid;grid-template-columns:minmax(0,360px) minmax(0,1fr);gap:32px;max-width:850px}.lab-gallery-single .gallery-caption{padding-top:0}
@media(max-width:800px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lab-gallery-single .gallery-record{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}}
@media(max-width:560px){.gallery-grid{grid-template-columns:minmax(0,1fr);gap:32px}.lab-gallery-single .gallery-record{display:block}.lab-gallery-single .gallery-caption{padding-top:18px}.lab-gallery{margin:36px 0;padding-top:24px}}

/* Shared interaction system: search, documents, word detail and the lab. */
:root{
 --control-height:44px;
 --fs-page-title:2.375rem;
 --fs-result-title:var(--fs-title-mobile);
 --page-top:40px;
 --motion-fast:120ms;
 --motion-state:180ms;
 --motion-overlay:220ms;
 --motion-ease:cubic-bezier(.16,1,.3,1);
 --motion-distance:6px;
 --motion-scale:.985;
}
.page-head{padding-top:var(--page-top)}
.page-head h1,.report-heading h1{font-size:var(--fs-page-title);font-weight:700;line-height:1.3;letter-spacing:-.02em}
#main:has(#compare-form)>.page-head h1{font-size:var(--fs-page-title);font-weight:700;line-height:1.3}
.word-heading{font-size:var(--fs-page-title);font-weight:700;line-height:1.3;letter-spacing:-.02em}
.result-head h1,.search-results .result-head h1{font-size:var(--fs-result-title);font-weight:700;line-height:1.35}
.page-head p,.report-heading h1,.lab .lab-heading p,dialog p{word-break:keep-all;overflow-wrap:anywhere}
.primary,.outline,.chip,.paging button,.icon-button{min-height:var(--control-height);min-width:var(--control-height)}
.icon-button{flex-shrink:0}
.primary,.outline,.chip,.paging button,.rule-trigger,.theme-toggle,.icon-button,.example,.rule-strip button{
 transition:background-color var(--motion-fast),border-color var(--motion-fast),color var(--motion-fast),opacity var(--motion-fast),transform var(--motion-fast) var(--motion-ease);
}
:is(.primary,.outline,.chip,.paging button,.rule-trigger,.theme-toggle,.icon-button,.example):not(:disabled):not([aria-disabled=true]):active{transform:translateY(1px)}
.primary:disabled:hover{background:var(--accent)}
.outline:disabled:hover,.chip:disabled:hover{background:var(--bg)}
button[aria-disabled=true]{cursor:wait}
.field-row input,.field-row select,.rule-panel input[type=number],.rule-panel select,.filter-bar input,.filter-bar select{
 min-height:var(--control-height);border-color:var(--line-strong);font-size:var(--fs-body);
 transition:border-color var(--motion-fast),background-color var(--motion-fast);
}
.field-row>label,.rule-panel label{font-size:var(--fs-ui)}
.pos-grid label,.switchline,summary{min-height:var(--control-height)}
.pos-grid label,.switchline{cursor:pointer}
summary{cursor:pointer;align-content:center;line-height:1.5}
.word-row details>summary,.rule-edit>summary,.pos-more>summary{padding-block:10px}
.word-row summary::before,.rule-edit summary::before{transition:transform var(--motion-state) var(--motion-ease)}
.word-row details[open]>summary,.rule-edit[open]>summary{color:var(--accent-text)}
summary::marker{color:var(--text-3)}
input:not([type=checkbox]):not([type=radio]):focus-visible,select:focus-visible,textarea:focus-visible{
 outline:2px solid var(--accent);outline-offset:2px;border-color:var(--accent);box-shadow:none;
}
input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--bad)}
:where(h1,h2,h3,[id],summary):focus{scroll-margin-top:120px}
.breadcrumb a,.footer-links a{display:inline-flex;align-items:center;min-height:var(--control-height)}

/* One selected paper segment travels between the three search intentions. */
.mode-tabs,.home .mode-tabs,.compact-search .mode-tabs{
 display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;position:relative;isolation:isolate;--mode-index:0;
}
.mode-tabs:has(input[value=starts]:checked){--mode-index:1}
.mode-tabs:has(input[value=ends]:checked){--mode-index:2}
.mode-tabs:has(input:checked)::before{
 content:"";position:absolute;inset-block:3px;left:3px;width:calc((100% - 10px)/3);border-radius:var(--r2);
 background:var(--bg);pointer-events:none;z-index:0;
 transform:translateX(calc(var(--mode-index) * 100% + var(--mode-index) * 2px));
 transition:transform var(--motion-state) var(--motion-ease);
}
.mode-tabs label,.home .mode-tabs label,.compact-search .mode-tabs label{
 z-index:1;justify-content:center;min-width:0;padding-inline:4px;background:transparent;white-space:normal;text-wrap:wrap;word-break:keep-all;overflow-wrap:anywhere;
}
.mode-tabs label:has(input:checked){color:var(--text)}
.mode-tabs label:has(input:focus-visible){outline-offset:-2px}
.search-card:not(.compact-search){background:var(--bg)}
.search-examples .example{padding-inline:4px;border-color:transparent;background:transparent;color:var(--accent-text);text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:4px}
.search-examples .example:hover{background:var(--accent-bg);text-decoration-color:currentColor}
.compact-search .search-line input,.compact-search .search-line .primary{min-height:var(--control-height)}
.search-line input{font-weight:400}
.header nav a,.report-card,.letter-card,.word-row,.side-link-item,.gallery-image{
 transition:background-color var(--motion-fast),border-color var(--motion-fast),color var(--motion-fast);
}
.report-card:focus-visible,.letter-card:focus-visible,.side-link-item:focus-visible{background:var(--surface)}

/* Overlays explain depth; closing stays immediate so native focus never waits. */
dialog[open]{animation:dialog-arrive var(--motion-overlay) var(--motion-ease)}
dialog[open]::backdrop{animation:backdrop-arrive var(--motion-state) ease-out}
.continuation-hover:not([hidden]){animation:feedback-arrive var(--motion-fast) var(--motion-ease)}
@keyframes dialog-arrive{from{opacity:.8;transform:translateY(var(--motion-distance)) scale(var(--motion-scale))}to{opacity:1;transform:none}}
@keyframes backdrop-arrive{from{opacity:0}to{opacity:1}}
@keyframes feedback-arrive{from{opacity:.8}to{opacity:1}}
:root[data-motion-paused=true] .loading::before{animation-play-state:paused}
@media(max-width:800px){:root{--fs-page-title:var(--fs-title-tablet);--page-top:32px}}
@media(max-width:550px){
 :root{--fs-page-title:var(--fs-title-mobile);--fs-result-title:var(--fs-section);--page-top:24px}
 .search-line{flex-wrap:nowrap}
 .search-line input{flex:1 1 0;min-height:48px;font-size:var(--fs-body);padding-inline:10px}
 .search-line .primary{flex:0 0 auto;min-height:48px;font-size:var(--fs-ui);padding-inline:14px}
 .field-row input,.field-row select,.rule-panel input[type=number],.rule-panel select,.filter-bar input,.filter-bar select{font-size:var(--fs-body)}
 .dialog-head{gap:8px}
 dialog{padding-inline:16px}
 .toast{max-width:calc(100% - 32px);width:max-content;bottom:16px;word-break:keep-all;overflow-wrap:anywhere}
}
@media(prefers-reduced-motion:reduce){
 :root{--motion-fast:80ms;--motion-state:100ms;--motion-overlay:100ms;--motion-distance:0px;--motion-scale:1}
 html,*{scroll-behavior:auto!important}
 .mode-tabs:has(input:checked)::before,.word-row summary::before,.rule-edit summary::before{transition:none}
 :is(.primary,.outline,.chip,.paging button,.rule-trigger,.theme-toggle,.icon-button,.example):not(:disabled):not([aria-disabled=true]):active{transform:none}
 .loading::before{animation:none;border-color:var(--text-3);border-radius:var(--r1)}
}

/* Reading editions retain data rows in no-JavaScript report pages. */
.static-content .article-section>p{white-space:pre-line}
/* Purpose-built SVG cues supplement the existing labels and state messages. */
.mode-tabs label{gap:6px}
.mode-tabs label::before,.side-link-item::before,.empty[data-empty-kind]::before{
 content:"";display:block;flex:none;width:20px;height:20px;background:currentColor;
 -webkit-mask:var(--ui-symbol) center/contain no-repeat;mask:var(--ui-symbol) center/contain no-repeat;
 pointer-events:none;
}
.mode-tabs label:has(input[value=word]){--ui-symbol:url('/releases/ae2d121a7e19a69d1823d8a79e9d1158739db7d31a03d855d50bfc1024e08513/assets/ui/next-word.svg')}
.mode-tabs label:has(input[value=starts]){--ui-symbol:url('/releases/ae2d121a7e19a69d1823d8a79e9d1158739db7d31a03d855d50bfc1024e08513/assets/ui/starts-with.svg')}
.mode-tabs label:has(input[value=ends]){--ui-symbol:url('/releases/ae2d121a7e19a69d1823d8a79e9d1158739db7d31a03d855d50bfc1024e08513/assets/ui/ends-with.svg')}
.mode-tabs label:has(input:checked)::before{color:var(--accent)}
.side-link-item[href^='/hanbang']{--ui-symbol:url('/releases/ae2d121a7e19a69d1823d8a79e9d1158739db7d31a03d855d50bfc1024e08513/assets/ui/terminal-word.svg')}
.side-link-item[href^='/compare']{--ui-symbol:url('/releases/ae2d121a7e19a69d1823d8a79e9d1158739db7d31a03d855d50bfc1024e08513/assets/ui/compare-rules.svg')}
.side-link-item[href^='/lab']{--ui-symbol:url('/releases/ae2d121a7e19a69d1823d8a79e9d1158739db7d31a03d855d50bfc1024e08513/assets/ui/practice-branch.svg')}
.side-link-item::before{width:24px;height:24px;color:var(--accent);margin-inline-end:4px}
.side-link-item .side-item-main{flex:1;min-width:0}
.empty[data-empty-kind=filter-empty]{--ui-symbol:url('/releases/ae2d121a7e19a69d1823d8a79e9d1158739db7d31a03d855d50bfc1024e08513/assets/ui/filter-empty.svg')}
.empty[data-empty-kind=no-connections]{--ui-symbol:url('/releases/ae2d121a7e19a69d1823d8a79e9d1158739db7d31a03d855d50bfc1024e08513/assets/ui/no-connections.svg')}
.empty[data-empty-kind]::before{width:36px;height:36px;margin:0 auto 16px;color:var(--text-2)}
.guide-visual{float:right;width:min(360px,44%);margin:24px 0 24px 32px}
.guide-diagram{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:var(--r2)}
.rule-doc:has(.guide-visual)::after{content:"";display:block;clear:both}
:root[data-theme=dark] .guide-diagram-search-modes{content:url('/releases/ae2d121a7e19a69d1823d8a79e9d1158739db7d31a03d855d50bfc1024e08513/assets/ui/search-modes-dark.svg')}
:root[data-theme=dark] .guide-diagram-dueum-direction{content:url('/releases/ae2d121a7e19a69d1823d8a79e9d1158739db7d31a03d855d50bfc1024e08513/assets/ui/dueum-direction-dark.svg')}
@media(prefers-color-scheme:dark){
 :root:not([data-theme=light]) .guide-diagram-search-modes{content:url('/releases/ae2d121a7e19a69d1823d8a79e9d1158739db7d31a03d855d50bfc1024e08513/assets/ui/search-modes-dark.svg')}
 :root:not([data-theme=light]) .guide-diagram-dueum-direction{content:url('/releases/ae2d121a7e19a69d1823d8a79e9d1158739db7d31a03d855d50bfc1024e08513/assets/ui/dueum-direction-dark.svg')}
}
@media(max-width:650px){
 .guide-visual{float:none;width:100%;max-width:360px;margin:24px 0}
}
@media(max-width:380px){
 .mode-tabs label,.home .mode-tabs label,.compact-search .mode-tabs label{flex-direction:column;gap:3px;min-height:64px;padding-block:6px}
}

/* Home: a search entrance with concise, purposeful introductions. */
.home{--home-section-gap:48px;--home-item-gap:24px}
.home .home-top-layout{grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:var(--home-section-gap);margin-bottom:var(--home-section-gap);padding-top:48px}
.home .hero{padding:0 0 24px}
.home .hero h1{text-wrap:balance}
.home .hero p{max-width:65ch;text-wrap:pretty}
.home .search-card{padding:20px;background:var(--surface);border-color:var(--line)}
.home .mode-tabs{background:var(--surface-2)}
.home .search-line input{background:var(--bg)}
.home .search-examples{gap:0 16px}
.home .example{font-size:var(--fs-ui);padding-inline:0}
.home .rule-strip{margin-top:8px}
.home .search-help{font-size:var(--fs-ui)}
.home-overview{min-width:0;border-left:1px solid var(--line);padding-left:var(--home-section-gap)}
.home-overview h2,.home-discover-layout h2{margin:0;font-size:var(--fs-section);font-weight:600;line-height:1.4;word-break:keep-all;overflow-wrap:anywhere;text-wrap:balance}
.home-feature-list,.home-tool-list{list-style:none;margin:16px 0 0;padding:0}
.home-feature-list li+li,.home-tool-list li+li{border-top:1px solid var(--line)}
.home-feature-link{display:block;padding:16px 0;min-height:44px;border-radius:var(--r1)}
.home-feature-link h3,.home-tool-link h3{margin:0 0 4px;font-size:var(--fs-item);font-weight:600;line-height:1.5;word-break:keep-all;overflow-wrap:anywhere}
.home-feature-link p,.home-tool-link p,.home-section-intro,.home-data-content>p{margin:0;max-width:65ch;font-size:var(--fs-body);line-height:1.65;color:var(--text-2);word-break:keep-all;overflow-wrap:anywhere;text-wrap:pretty}
.home-feature-link:hover,.home-tool-link:hover{background:var(--surface)}
.home-link-label{display:inline-flex;align-items:center;gap:8px;margin-top:8px;font-size:var(--fs-ui);font-weight:500;color:var(--accent-text);text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:4px}
.home-arrow{display:inline-block;flex:none;vertical-align:middle}
.home-feature-link:hover .home-link-label{text-decoration-color:currentColor}
.home-discover-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--home-section-gap);border-top:1px solid var(--line-strong);padding-top:32px}
.home-discover-layout>section{min-width:0}
.home-tool-link{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:var(--home-item-gap) 0;min-height:44px;border-radius:var(--r1)}
.home-tool-link>.home-arrow{color:var(--accent-text)}
.home-tool-link:hover h3,.home #home-reports .report-card:hover h3{color:var(--accent-text)}
.home-section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
.home-section-heading>a{display:inline-flex;align-items:center;gap:6px;min-height:44px;flex:none;font-size:var(--fs-ui)}
.home-section-intro{margin:8px 0 16px}
.home #home-reports .report-card{flex-direction:row;align-items:center;justify-content:space-between;gap:16px;padding:var(--home-item-gap) 0}
.home #home-reports .report-card h3{margin:0;font-size:var(--fs-item);font-weight:600;line-height:1.6;text-wrap:pretty}
.home #home-reports .report-card>.home-arrow{color:var(--accent-text)}
.home-reference{display:flex;align-items:baseline;justify-content:space-between;gap:16px 32px;flex-wrap:wrap;margin-top:32px;padding:16px 0 32px;border-top:1px solid var(--line)}
.home-guide-links{display:flex;gap:24px}
.home-guide-links>a,.home-data-content>a{display:inline-flex;align-items:center;min-height:44px;font-size:var(--fs-ui)}
.home-data-details{flex:0 1 640px;font-size:var(--fs-ui);color:var(--text-2)}
.home-data-details summary{padding:10px 0;min-height:44px;cursor:pointer;text-align:right}
.home-data-details[open] summary{color:var(--text)}
.home-data-content{padding:16px 0 0}
.home-data-content .home-stats{max-width:none;margin:16px 0;padding:16px 0;border-bottom:1px solid var(--line)}
@media(max-width:1100px){.home{--home-section-gap:32px}.home-overview{padding-left:24px}}
@media(max-width:900px){
 .home .home-top-layout{grid-template-columns:1fr;padding-top:32px}
 .home-overview{border-left:0;border-top:1px solid var(--line-strong);padding:32px 0 0}
 .home-feature-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
 .home-feature-list li+li{border-top:0}
 .home-feature-link{padding:8px 0}
 .home-discover-layout{grid-template-columns:1fr 1fr;max-width:var(--prose);margin-inline:auto}
 .home-data-details{flex-basis:auto}
}
@media(max-width:650px){
 .home{--home-item-gap:20px}
 .home .home-top-layout{padding-top:28px}
 .home .search-card{padding:12px}
 .home .search-examples{column-gap:12px}
 .home-overview h2,.home-discover-layout h2{font-size:var(--fs-section)}
 .home-feature-list{display:block;margin-top:12px}
 .home-feature-list li+li{border-top:1px solid var(--line)}
 .home-feature-link{padding:16px 0}
 .home-discover-layout{grid-template-columns:1fr;gap:32px}
 .home-research{border-top:1px solid var(--line-strong);padding-top:32px}
 .home-tool-list{margin-top:12px}
 .home-reference{gap:8px;margin-top:24px;padding-bottom:24px}
 .home-guide-links{width:100%}
 .home-data-details{flex-basis:100%}
 .home-data-details summary{text-align:left}
}

/* One explanatory illustration per report; preserve the official logo artwork. */
.report-illustration{width:100%;max-width:960px;margin:1.75rem auto 2.5rem}
.report-illustration-art{position:relative;overflow:hidden;background:#fff;color-scheme:light}
.report-illustration .report-illustration-image{display:block;width:100%;height:auto;aspect-ratio:3/2}
.report-illustration .report-illustration-logo{position:absolute;top:3%;right:3%;width:clamp(48px,9%,86px);height:auto;max-width:16%;pointer-events:none}
.report-illustration figcaption{margin-top:.75rem;color:var(--text-2);font-size:var(--fs-ui);line-height:1.75;word-break:keep-all;overflow-wrap:break-word}

/* Supplemental report tables keep the same data on wide and narrow screens. */
.report-data-comparison{margin:1.5rem 0 1.75rem;max-width:100%;font-variant-numeric:tabular-nums}
.report-data-comparison table{width:100%;border-collapse:collapse;font-size:.9375rem}
.report-data-comparison caption,.report-data-caption{text-align:left;font-weight:600;line-height:1.7;margin:0 0 .75rem;color:var(--text,inherit)}
.report-data-comparison th,.report-data-comparison td{text-align:left;padding:.8rem .6rem;border-bottom:1px solid var(--border,var(--line,#d8d8d8));vertical-align:top;line-height:1.65;word-break:keep-all}
.report-data-comparison thead th{font-weight:600}
.report-data-comparison tbody th{font-weight:500;max-width:19rem}
.report-data-comparison td{white-space:nowrap}
.report-data-mobile{display:none}
.report-supplement-links{margin:1.5rem 0 2rem}
.report-supplement-links p{margin:.8rem 0}
.report-supplement-links span{display:block;font-size:.875rem;color:var(--muted);line-height:1.7;margin-top:.25rem}
.report-evidence{margin-top:1rem}
@media(max-width:720px){
 .report-data-comparison table{display:none}
 .report-data-mobile{display:block}
 .report-data-row{padding:1rem 0;border-bottom:1px solid var(--border,var(--line,#d8d8d8))}
 .report-data-row h3{font-size:1rem;line-height:1.7;margin:0 0 .65rem}
 .report-data-row dl{margin:0}
 .report-data-row dl div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;padding:.25rem 0;font-size:.9375rem;line-height:1.65}
 .report-data-row dt{color:var(--muted);word-break:keep-all}
 .report-data-row dd{margin:0;text-align:right;white-space:nowrap}
}

.report-data-comparison th{font-size:inherit;color:var(--text);background:transparent}

/* Reserve the known dynamic-search frame before dictionary results arrive. */
main[data-static-route="/search-shell.html"],main[data-static-route="/word-shell.html"]{min-height:calc(100svh - 64px)}
@media(max-width:550px){.search-results .result-head-meta.is-pending-word{min-height:66px;align-content:start}}
