:root{--paper:#f7f5ef;--card:#fff;--ink:#26251f;--ink-soft:#6e6a5e;--line:#ddd8cb;--ai:#2a4a6b;--shu:#b5432e;--sumi:#3a382f;--focus:#2a4a6b}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);padding:0 16px 80px;line-height:1.6}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.wrap{max-width:760px;margin:0 auto}header{padding:40px 0 8px}.brow{letter-spacing:.18em;color:var(--ink-soft);font-size:.72rem}h1{letter-spacing:.02em;margin-top:4px;font-size:1.7rem;font-weight:600}.lede{color:var(--ink-soft);margin-top:6px;font-size:.85rem}.searchbar{background:var(--paper);z-index:5;padding:18px 0 14px;position:sticky;top:0}.searchbox{background:var(--card);border:1.5px solid var(--ink);border-radius:var(--radius);align-items:center;gap:10px;padding:12px 14px;display:flex}.searchbox:focus-within{outline:2px solid var(--focus);outline-offset:2px}.searchbox svg{opacity:.55;flex:none}#q{color:var(--ink);background:0 0;border:none;outline:none;flex:1;min-height:1.5em;font-family:inherit;font-size:1.05rem;line-height:1.5}#q::placeholder{color:#a8a395}#q::-webkit-search-cancel-button{display:none}#clear{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;flex:none;padding:2px 6px;font-family:inherit;font-size:1.1rem;line-height:1}#clear:hover{color:var(--ink)}.home-link{color:var(--ink);cursor:pointer;background:var(--card);border:1px solid var(--line);border-radius:999px;align-items:center;margin-bottom:10px;padding:4px 10px;font-size:.78rem;font-weight:600;text-decoration:none;display:inline-flex}.home-link:hover{color:var(--ai);border-color:var(--ai)}.data-note{color:var(--ink-soft);margin-top:3px;font-size:.68rem}.chips{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.chip{border:1px solid var(--line);background:var(--card);cursor:pointer;color:var(--ink);border-radius:999px;padding:4px 12px;font-size:.8rem}.chip:hover{border-color:var(--ink)}.section-label{letter-spacing:.14em;color:var(--ink-soft);align-items:center;gap:10px;margin:26px 0 10px;font-size:.72rem;display:flex}.section-label:after{content:"";background:var(--line);flex:1;height:1px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:10px;padding:14px 16px;position:relative}.card.selected{border-color:var(--ai);box-shadow:0 0 0 1px var(--ai)}.kbd-hint{color:var(--ink-soft);margin:2px 0 0;font-size:.68rem}.kbd-hint kbd{border:1px solid var(--line);background:var(--card);border-radius:3px;padding:0 4px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.66rem}.card .path{color:var(--ink-soft);word-break:break-all;font-size:.72rem}.card .path .crumb{color:inherit;cursor:pointer;text-decoration:none}.card .path .crumb:hover{color:var(--ai);text-underline-offset:3px;text-decoration:underline}.card .path b{color:var(--ink);font-weight:600}.row2{align-items:flex-end;gap:12px;margin-top:2px;display:flex}.leaf{flex:1;min-width:0;font-size:1.25rem;font-weight:600}.official-en{color:var(--ink-soft);flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin-top:3px;font-size:.72rem;line-height:1.45;display:flex}.official-en-label{color:var(--ink-soft);font-weight:600}.official-en [lang=en]{color:var(--ink);word-break:break-word}.idbox{flex-direction:column;flex:none;align-items:flex-start;gap:1px;display:flex}.idlabel{letter-spacing:.12em;color:var(--ink-soft);text-transform:uppercase;font-size:.62rem;line-height:1}.idrow{align-items:center;gap:6px;display:flex}.idnum{letter-spacing:.02em;font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.15rem}.copy{border:1px solid var(--line);background:var(--paper);cursor:pointer;color:var(--ink);border-radius:4px;padding:3px 8px;font-family:inherit;font-size:.7rem}.copy:hover{border-color:var(--ink)}.copy.done{background:var(--ink);color:var(--paper);border-color:var(--ink)}.stamp{letter-spacing:.1em;color:#fff;border:none;border-radius:4px;padding:2px 8px;font-size:.66rem;font-weight:600;position:absolute;top:-7px;right:12px;transform:rotate(-1.2deg)}.stamp.official{background:var(--sumi)}.stamp.alias{background:var(--ai)}.stamp.related{background:var(--shu)}.why{color:var(--ink-soft);margin-top:6px;font-size:.74rem}.why .term{border-bottom:2px solid;padding:0 3px;font-weight:600}.why.alias .term{color:var(--ai);border-color:var(--ai)}.why.related .term{color:var(--shu);border-color:var(--shu)}.expand{cursor:pointer;color:var(--ai);text-underline-offset:3px;background:0 0;border:none;margin-top:8px;padding:0;font-family:inherit;font-size:.74rem;text-decoration:underline}.expand:after{content:" →"}.children{border-top:1px dashed var(--line);margin-top:12px;padding-top:10px}.leaf-note{color:var(--ink-soft);font-size:.78rem}.children a,.parent-link{color:var(--ink);cursor:pointer;padding:3px 0;font-size:.82rem;text-decoration:none;display:block}.children a:hover,.parent-link:hover{color:var(--ai);text-underline-offset:3px;text-decoration:underline}.parent-link{color:var(--ink-soft);margin-top:6px;font-size:.74rem}.empty{text-align:center;color:var(--ink-soft);padding:34px 0;font-size:.85rem}.toplist{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px;display:grid}.toplist .chip{border-radius:var(--radius);text-align:left;padding:8px 12px;font-size:.82rem}footer{color:var(--ink-soft);border-top:1px solid var(--line);margin-top:44px;padding-top:14px;font-size:.7rem}.footer-meta{gap:10px;display:grid}.footer-meta div{grid-template-columns:8.5em minmax(0,1fr);gap:10px;display:grid}.footer-meta dt{color:var(--ink);font-weight:600}.footer-meta dd{margin:0}.footer-meta a{color:var(--ai);text-underline-offset:3px}.footer-meta a:hover{color:var(--ink)}.related-term{color:var(--shu);font-weight:600}@media (prefers-reduced-motion:no-preference){.card{animation:.18s both rise}@keyframes rise{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}}@media (width<=520px){.row2{flex-direction:column;align-items:flex-start;gap:4px}h1{font-size:1.35rem}.footer-meta div{grid-template-columns:1fr;gap:0}}
