.browse-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0;color:var(--ink)}
.browse-tabs button,.dictionary-alphabet button{min-height:44px;padding:9px 14px;border:1px solid var(--ink);border-radius:100px;background:var(--card);color:var(--ink);font:600 .82rem var(--sans)}
.browse-tabs button:hover,.dictionary-alphabet button:hover{background:var(--mint)}
.browse-tabs [aria-pressed="true"],.browse-tabs [aria-selected="true"],.dictionary-alphabet [aria-pressed="true"]{background:var(--mint);box-shadow:inset 0 -3px 0 var(--ink)}
.browse-tabs :focus-visible,.dictionary-alphabet :focus-visible,.dictionary-entry :focus-visible,.bundle-browser :focus-visible{outline:3px solid var(--ink);outline-offset:4px}
.dictionary-controls,.bundle-browser{color:var(--ink)}
.dictionary-controls label{display:grid;gap:8px;font-weight:600}
.dictionary-controls input,.bundle-browser select{padding:12px;border:1px solid var(--ink);background:var(--paper);color:var(--ink);border-radius:8px;min-height:44px}
.dictionary-controls input::placeholder,.origin-explorer input::placeholder{color:var(--ink);opacity:1}
.dictionary-alphabet{display:flex;flex-wrap:wrap;gap:5px;margin-top:18px}
.dictionary-alphabet button{min-width:38px;padding:5px 9px;border-radius:7px}
.dictionary-entry{padding:0!important;margin:0 0 10px;color:var(--ink);overflow:hidden}
.dictionary-entry summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 20px;padding:16px 20px;cursor:pointer;list-style:none;min-height:85px}
.dictionary-entry summary::-webkit-details-marker{display:none}
.dictionary-entry summary:hover{background:var(--mint)}
.dictionary-entry summary .dictionary-summary-top{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 14px}
.dictionary-summary-word{font:600 1.45rem var(--serif)}
.dictionary-summary-pos,.dictionary-band,.dictionary-summary-count{font-size:.75rem;color:var(--ink)}
.dictionary-primary{margin:6px 0 0;font-size:.9rem;line-height:1.5;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.dictionary-expand{font-size:1.5rem;line-height:1;transition:transform .2s}
.dictionary-entry[open] .dictionary-expand{transform:rotate(45deg)}
.dictionary-detail{padding:0 20px 20px;border-top:1px solid var(--line);color:var(--ink)}
.dictionary-detail li{margin:16px 0;line-height:1.6}
.dictionary-detail p,.dictionary-detail small,.dictionary-detail blockquote,.dictionary-detail a,.dictionary-detail .muted,.dictionary-detail .word-structure{color:var(--ink)}
.dictionary-detail blockquote{border-left:2px solid var(--ink);padding-left:14px;margin-left:0}
.dictionary-pagination{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:20px 0}
.dictionary-related-story{padding:16px;border:1px solid var(--line);border-radius:10px;background:var(--paper);line-height:1.6}
.dictionary-learning-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.dictionary-learning-actions button,.bundle-browser button.bundle-action{background:var(--mint);color:var(--ink);border:1px solid var(--ink);min-height:44px;padding:10px 16px;border-radius:8px;font-weight:650}
.bundle-cover-card{display:grid;grid-template-columns:180px minmax(0,1fr);gap:24px;padding:24px;border:1px solid var(--line);border-radius:18px;background:var(--card);color:var(--ink);margin:0 0 20px}
.bundle-cover-card img{width:100%;height:auto;border-radius:12px}
.bundle-cover-card h2{font:600 1.9rem var(--serif);margin:5px 0 12px}
.bundle-cover-card p,.bundle-browser .eyebrow,.bundle-browser small,.bundle-browser a,.bundle-browser label,.bundle-browser .muted{color:var(--ink)}
.bundle-cover-card p{line-height:1.65}
.bundle-meta{font:600 .8rem var(--sans)}
.bundle-actions{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}
.bundle-import-progress{width:100%;height:12px;accent-color:var(--green);border:1px solid var(--ink);border-radius:8px;overflow:hidden;background:var(--paper)}
.bundle-import-progress::-webkit-progress-bar{background:var(--paper)}
.bundle-import-progress::-webkit-progress-value{background:var(--ink);transition:width .3s}
.bundle-import-progress::-moz-progress-bar{background:var(--ink)}
.bundle-learning{padding-top:12px;border-top:1px solid var(--line);line-height:1.65}
.bundle-story-state{display:inline-block;padding:5px 10px;border:1px solid var(--ink);border-radius:30px;font-size:.75rem;margin:8px 0;background:var(--mint);color:var(--ink)}
.bundle-personal-source{margin-top:12px;padding-top:12px;border-top:1px solid var(--line);line-height:1.6;color:var(--ink)}
.bundle-personal-source summary{cursor:pointer;min-height:44px;padding:10px 0}
.bundle-personal-source dl>div,.word-structure dl>div{padding:10px;border:1px solid var(--line);border-radius:7px;margin:8px 0}
.bundle-empty{padding:24px;background:var(--card);border:1px dashed var(--ink);border-radius:12px;line-height:1.6;color:var(--ink)}
#page-mnemonics [hidden]{display:none!important}
.word-part-divider{display:inline-block;padding:0 .15em;font-size:.6em;vertical-align:middle}
.word-part{border:1px solid currentColor;border-radius:5px;padding:.04em .1em;margin:.06em!important}
.word-part:hover,.word-part:focus-visible{background:var(--mint);color:var(--ink);outline-color:var(--ink)}
@media(max-width:700px){.bundle-cover-card{grid-template-columns:1fr;padding:18px;gap:16px}.bundle-cover-card img{width:120px}.dictionary-entry summary{padding:14px}.dictionary-detail{padding:0 14px 14px}.dictionary-controls{padding:16px}.browse-tabs button{flex:1 1 auto;padding:10px}.dictionary-alphabet button{min-width:35px}.bundle-actions button{width:100%}}
@media(prefers-reduced-motion:reduce){.bundle-import-progress::-webkit-progress-value,.dictionary-expand{transition:none}}
.dictionary-roots,.dictionary-roots .root-card{background:var(--card);color:var(--ink)}
.dictionary-roots p,.dictionary-roots small,.dictionary-roots a,.dictionary-roots button,.dictionary-roots label,.dictionary-controls p,.dictionary-pagination button,.bundle-browser button{color:var(--ink)}
.dictionary-roots input,.dictionary-roots select{background:var(--paper);color:var(--ink);border:1px solid var(--ink)}
.dictionary-pagination button{background:var(--card);border:1px solid var(--ink)}
#page-dictionary .page-heading .lede,#page-mnemonics .page-heading .lede{color:var(--ink)}
.dictionary-detail dt,.dictionary-detail dd{color:var(--ink)}
.dictionary-roots input::placeholder{color:var(--ink);opacity:1}
.bundle-browser button:disabled{opacity:1;cursor:not-allowed;border-style:dashed}
/* Keep foreground and its surface in the same palette while themes change. */
#page-dictionary,#page-mnemonics{background:var(--paper);color:var(--ink);transition:none}
#page-dictionary *,#page-mnemonics .bundle-browser *,.origin-explorer *{transition-property:transform,box-shadow,outline-offset}
