:root{color-scheme:light;--bg:#f3f5f0;--card:#fff;--ink:#273a35;--muted:#62736b;--line:#cdd8cf;--accent:#377565;--soft:#e7f1e9;--bad:#a44435}
:root[data-theme=dark]{color-scheme:dark;--bg:#171e1b;--card:#222c27;--ink:#e1ebe3;--muted:#abbdb0;--line:#46574b;--accent:#90cbb7;--soft:#2b4034;--bad:#ffb7a7}
@media(prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--bg:#171e1b;--card:#222c27;--ink:#e1ebe3;--muted:#abbdb0;--line:#46574b;--accent:#90cbb7;--soft:#2b4034;--bad:#ffb7a7}}
button{margin:3px 0}#notice{color:var(--muted)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,'Yu Gothic','Microsoft YaHei',sans-serif;line-height:1.7}header,nav,main{max-width:1080px;margin:auto;padding:18px 22px}header{display:flex;align-items:center;gap:18px}header h1{font-size:23px;flex:1;margin:0}a{color:var(--accent)}nav{display:flex;gap:8px;flex-wrap:wrap;padding-top:0}nav a{padding:6px 10px;text-decoration:none;border-radius:8px}nav a[aria-current=page]{background:var(--soft);font-weight:bold}.card,article{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:22px;margin-bottom:18px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}h2{font-size:21px;margin:0 0 12px}h3{font-size:17px;margin:0 0 10px}button,.button{font:inherit;padding:9px 15px;border:1px solid var(--accent);border-radius:7px;background:var(--accent);color:var(--bg);cursor:pointer;text-decoration:none;display:inline-block}button.secondary{background:var(--card);color:var(--accent)}button:disabled{opacity:.6;cursor:default}label{display:block;margin:12px 0}input:not([type=checkbox]):not([type=radio]),select,textarea{font:inherit;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:6px;padding:9px;max-width:100%;min-width:0}input[type=text],textarea{width:100%}textarea{min-height:80px}fieldset{border:1px solid var(--line);border-radius:8px;margin:14px 0;padding:12px}legend{font-weight:600}.jp{font-size:24px;line-height:1.8;overflow-wrap:anywhere}.muted,small{color:var(--muted)}.feedback{background:var(--soft);border-left:4px solid var(--accent);padding:16px;margin:18px 0}.error,#notice{color:var(--bad)}#notice:empty{display:none}.stats strong{font-size:28px;display:block;color:var(--accent)}.options label{padding:9px;background:var(--soft);border-radius:6px}.table{overflow:auto}table{width:100%;border-collapse:collapse}td,th{text-align:left;border-bottom:1px solid var(--line);padding:9px;white-space:nowrap}summary{cursor:pointer;font-weight:600}details{margin:12px 0}.answer{font-size:22px}ruby rt{font-size:12px}progress{width:100%;accent-color:var(--accent)}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.changes{border-bottom:2px solid var(--accent);padding:3px;background:var(--soft)}@media(max-width:600px){header{gap:9px;flex-wrap:wrap}header,nav,main{padding:12px}header h1{font-size:20px}.card,article{padding:16px}.row>*{max-width:100%}.jp{font-size:21px}nav{gap:3px}nav a{font-size:14px;padding:6px}.grid{grid-template-columns:1fr}}
