:root{--bg:#f6f5f1;--fg:#1d2330;--muted:#5d6574;--card:#fff;--line:#d6d4cc;--sbg:#cfe2ff;--sfg:#0a3677;--lbg:#ffd8a6;--lfg:#6e3200}
@media (prefers-color-scheme:dark){:root{--bg:#15171c;--fg:#e9eaee;--muted:#9aa1ae;--card:#1e2128;--line:#343842;--sbg:#1b3860;--sfg:#cfe2ff;--lbg:#68390a;--lfg:#ffdeb5}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font:18px/1.75 Charter,"Iowan Old Style",Georgia,serif}
main{max-width:44rem;margin:0 auto;padding:1.5rem 1rem 3rem}
h1{font-size:1.6rem;margin:0 0 .2rem;line-height:1.2}
.sub{margin:0 0 1.2rem;color:var(--muted);font:15px/1.5 system-ui,sans-serif}
.panel{display:flex;flex-wrap:wrap;gap:.6rem 1.2rem;align-items:center;margin-bottom:.8rem;font:15px/1.4 system-ui,sans-serif}
.panel label{cursor:pointer;display:flex;gap:.35rem;align-items:center}
.card{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:1rem 1.3rem 1.2rem}
h2{margin:0;font-size:1.25rem;line-height:1.3}
.genre{margin:.1rem 0 .9rem;color:var(--muted);font:14px/1.4 system-ui,sans-serif}
#text{white-space:pre-line}
.ipa{font:.7em/1 system-ui,sans-serif;color:var(--muted);margin-left:.15em;vertical-align:super}
.key{padding:0 .4em;border-radius:3px}
.key.s,.mode-colour .s{background:var(--sbg);color:var(--sfg);border-radius:3px;padding:0 .12em}
.key.l,.mode-colour .l{background:var(--lbg);color:var(--lfg);border-radius:3px;padding:0 .12em}
.nav{display:flex;justify-content:space-between;align-items:center;margin-top:.9rem;font:15px/1.4 system-ui,sans-serif}
.stats{color:var(--muted);font:14px/1.5 system-ui,sans-serif;margin-top:.8rem}
button{font:inherit;padding:.45rem 1rem;border:1px solid var(--line);border-radius:6px;background:var(--card);color:var(--fg);cursor:pointer}
button:focus-visible,input:focus-visible{outline:2px solid var(--sfg);outline-offset:2px}
.note{margin-top:1.4rem;color:var(--muted);font:13px/1.5 system-ui,sans-serif}
[hidden]{display:none!important}
#ownbox{margin-bottom:.8rem}
textarea{width:100%;font:16px/1.5 system-ui,sans-serif;padding:.6rem .8rem;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--fg);resize:vertical}
.mode-colour .u,.mode-diacritic .u,.mode-ipa .u{text-decoration:underline dotted;text-underline-offset:.2em}
.mode-colour .u{background:var(--line);border-radius:3px;padding:0 .12em}
.timerbox{display:flex;justify-content:center;align-items:center;gap:.8rem;margin:0 0 .8rem;color:var(--muted);font:14px/1.4 system-ui,sans-serif}
.timerbox button,#ownbox button{padding:.25rem .8rem;font-size:14px}
#ownbox button{margin-top:.5rem}
#tclock{min-width:2.8em;text-align:center;font-variant-numeric:tabular-nums}
.head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}
.timerbox{display:inline-flex;gap:.7rem;align-items:center;margin:0;font:16px/1.4 system-ui,sans-serif;color:var(--fg)}
.timerbox button{padding:.2rem .8rem;font-size:15px}
#tclock{font-size:18px;min-width:2.8em}
:root{--sbg:#d9ccff;--sfg:#2d1a66;--lbg:#ffd27a;--lfg:#5a3300}
@media (prefers-color-scheme:dark){:root{--sbg:#b79cff;--sfg:#1c0f45;--lbg:#ffb938;--lfg:#2e1a00}}
.banner{background:#e25533;border-radius:10px;padding:clamp(1.4rem,6vw,2.6rem) 1rem;margin:0 0 1rem;text-align:center}
.banner h1{margin:0;color:#000;font:700 clamp(2rem,10vw,4.2rem)/1 "Zilla Slab",Rockwell,"Roboto Slab",Georgia,serif;letter-spacing:-.01em}
select{font:inherit;font-size:15px;padding:.3rem .5rem;border:1px solid var(--line);border-radius:6px;background:var(--card);color:var(--fg)}
.seg{gap:0}
.seg label{margin:0}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg span{display:block;padding:.35rem .9rem;border:1px solid var(--line);margin-left:-1px;background:var(--card);cursor:pointer}
.seg label:first-child span{border-radius:6px 0 0 6px;margin-left:0}
.seg label:last-child span{border-radius:0 6px 6px 0}
.seg input:checked+span{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.seg input:focus-visible+span{outline:2px solid var(--sfg);outline-offset:2px}
.more{margin:0 0 .8rem;font:15px/1.4 system-ui,sans-serif}
.more summary{cursor:pointer;color:var(--muted);margin-bottom:.5rem}
.mode-underline .s{text-decoration:underline dotted;text-decoration-thickness:2px;text-underline-offset:.22em}
.mode-underline .l{text-decoration:underline double;text-decoration-thickness:3px;text-underline-offset:.2em}
body.ul .key.s{background:none;color:inherit;text-decoration:underline dotted;text-decoration-thickness:2px;text-underline-offset:.22em}
body.ul .key.l{background:none;color:inherit;text-decoration:underline double;text-decoration-thickness:3px;text-underline-offset:.2em}
.banner.hasimg{padding:0;background:none}
.banner.hasimg h1{position:absolute;left:-9999px}
.banner.hasimg img{display:block;width:100%;height:auto;border-radius:10px}
:root{--sbg:#5b3fc7;--sfg:#fff;--lbg:#ffd27a;--lfg:#3d2200}
@media (prefers-color-scheme:dark){:root{--sbg:#6a4fd8;--sfg:#fff;--lbg:#ffb938;--lfg:#2e1a00}}
.mode-colour .s,.mode-colour .l,.key.s,.key.l{box-shadow:inset 0 0 0 1px rgba(128,128,128,.55)}
#own.on{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.panel #own{padding:.3rem .8rem;font-size:15px}
.banner{cursor:pointer}
.banner:focus-visible{outline:3px solid var(--fg);outline-offset:3px}
