:root{--bg: #f3f6f5;--panel: #ffffff;--ink: #132b2a;--muted: #5a6f6d;--line: #d5dfdd;--tint: #e7efed;--accent: #0e6e6c;--accent-ink: #ffffff;--warn: #b26a00;--bad: #b3261e;--good: #2e7d32;--body: "IBM Plex Sans Thai", system-ui, sans-serif;--mono: "IBM Plex Mono", ui-monospace, monospace}@media(prefers-color-scheme:dark){:root{--bg: #0f1a1a;--panel: #152423;--ink: #e3ecea;--muted: #93a6a3;--line: #2a3c3a;--tint: #1c2e2d;--accent: #4fc2be;--accent-ink: #0f1a1a;--warn: #e9a73f;--bad: #ef7d74;--good: #7fcf83;color-scheme:dark}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.6 var(--body)}a{color:var(--accent)}header.top{background:var(--panel);border-bottom:1px solid var(--line)}header.top .in{max-width:1120px;margin:0 auto;padding-block:10px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center}header.top b{font-weight:600}header.top nav{display:flex;gap:14px;flex-wrap:wrap;flex:1}main{max-width:1120px;margin:0 auto;padding-block:20px 60px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));display:grid;gap:16px}h1{font-size:24px;margin:0;line-height:1.3}h2{font-size:18px;margin:0}h3{font-size:15px;margin:0}.muted{color:var(--muted)}.small{font-size:13px}.mono{font-family:var(--mono)}.card{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:16px;display:grid;gap:12px;min-width:0}.row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}label.f{display:grid;gap:4px;font-size:14px}input,select,textarea{font:inherit;padding:7px 9px;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--ink);width:100%}input[type=checkbox],input[type=radio]{width:auto}button{font:inherit;font-weight:500;padding:7px 14px;border-radius:6px;border:1px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}button:disabled{opacity:.5;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px;font-variant-numeric:tabular-nums}th,td{text-align:left;padding:7px 8px;border-bottom:1px solid var(--line);vertical-align:top}th{font-weight:600;color:var(--muted);font-size:13px}.pill{display:inline-block;padding:1px 9px;border-radius:999px;font-size:12.5px;border:1px solid currentColor;white-space:nowrap}.pill.good{color:var(--good)}.pill.bad{color:var(--bad)}.pill.warn{color:var(--warn)}.pill.info{color:var(--accent)}.msg{padding:10px 12px;border-radius:6px;background:var(--tint);font-size:14px}.msg.err{color:var(--bad)}.ladder{display:grid;gap:6px}.ladder label{display:grid;grid-template-columns:28px 36px 1fr;gap:8px;align-items:start;padding:8px;border:1px solid var(--line);border-radius:6px;cursor:pointer}.ladder label.on{border-color:var(--accent);background:var(--tint)}.ladder .lv{font:600 18px var(--mono);color:var(--accent)}.bar{display:grid;grid-template-columns:70px 1fr 60px;gap:8px;align-items:center;font-size:13px}.track{height:12px;background:var(--tint);border-radius:2px;display:flex;overflow:hidden}.track i{display:block;height:100%}.stat{display:grid;gap:2px}.stat b{font:600 22px var(--mono)}.demobar{background:var(--tint);border-bottom:1px solid var(--line);font-size:13px}.demobar .in{max-width:1120px;margin:0 auto;padding-block:8px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center}.demobar button{padding:4px 10px;font-size:13px}.fin .fin-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}.fin-item{border:1px solid var(--line);border-radius:10px;padding:10px 12px;display:grid;gap:6px;align-content:start}.fin-terms{color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.fin-reqs,.fin-next{margin:0;padding-left:0;list-style:none;display:grid;gap:3px}.fin-next{padding-left:1.1em;list-style:disc}.ok-mark{color:var(--good);font-weight:700}.linkish{background:none;border:0;padding:0;min-height:0;color:var(--accent);text-decoration:underline;cursor:pointer}.nowrap{white-space:nowrap}.lang-toggle{display:inline-flex;align-items:center;gap:2px;white-space:nowrap}.lang-btn{padding:3px 8px;border-color:transparent;background:none;font-size:13px;color:var(--muted);min-height:28px}.lang-btn.on{color:var(--accent);font-weight:600;text-decoration:underline;text-underline-offset:3px}.draft-note{border-left:3px solid var(--warn)}td,th,.msg,h1,h2,h3{overflow-wrap:break-word}.results-grid{display:grid;gap:12px;align-items:start;grid-template-columns:minmax(0,3fr) minmax(0,2fr)}@media(max-width:760px){.results-grid{grid-template-columns:minmax(0,1fr)}}.pill.wrap{white-space:normal;border-radius:10px}.results-grid.one{grid-template-columns:minmax(0,1fr)}
