:root,[data-theme=sun]{--bg:#fff;--panel:#fff;--ink:#000;--ink2:#1b1b1b;--line:#1b1b1b;--soft:#f2f2f2;--accent:#003d8f;--on-accent:#fff;--good:#0b5a2a;--warn:#6b4300;--crit:#9b1c12;--focus:#003d8f;--bw:2px}[data-theme=standard]{--bg:#f4f1ea;--panel:#fffdf8;--ink:#17202a;--ink2:#3f4a53;--line:#7d7465;--soft:#eee8dc;--accent:#134c63;--on-accent:#fff;--good:#0b5a2a;--warn:#6b4300;--crit:#9b1c12;--focus:#134c63;--bw:1.5px}[data-theme=dark]{--bg:#0e1319;--panel:#17202a;--ink:#f3f6f8;--ink2:#d5dce1;--line:#5a6672;--soft:#222c36;--accent:#7cc4dd;--on-accent:#0e1319;--good:#57d68f;--warn:#f2c75c;--crit:#ff8a80;--focus:#7cc4dd;--bw:1.5px}:root{--sans:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;--mono:"IBM Plex Mono",ui-monospace,"Cascadia Mono",Menlo,Consolas,monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);font:17px/1.45 var(--sans);margin:0}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.top{border-bottom:var(--bw) solid var(--line);background:var(--panel);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 16px;display:flex}.brand{margin-right:auto;font-size:19px;font-weight:700}.brand small{color:var(--ink2);font-size:13px;font-weight:400;display:block}.themes{border:var(--bw) solid var(--line);border-radius:10px;display:flex;overflow:hidden}.themes button{background:var(--panel);min-width:60px;min-height:44px;color:var(--ink);font:600 14px var(--sans);cursor:pointer;border:0;padding:0 10px}.themes button[aria-pressed=true]{background:var(--ink);color:var(--bg)}main.screen{max-width:560px;margin:0 auto;padding:14px 16px 40px}main.screen.wide{max-width:1180px}.exmap{border:var(--bw) solid var(--line);background:#dfe3e6;border-radius:12px;height:min(62vh,540px);min-height:300px;margin:0 0 12px;position:relative;overflow:hidden}.exgrid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start;gap:12px;display:grid}.exgrid .card{margin:0}.exrow{flex-wrap:wrap;gap:10px;margin:0 0 12px;display:flex}.exrow .btn{flex:220px}.numhl{font:inherit;color:#000;cursor:pointer;background:#ffe14d;border:2px solid #000;border-radius:6px;min-height:36px;margin:2px 0;padding:2px 6px;font-weight:700}.memo-read{white-space:pre-wrap;font-size:19px;line-height:2.1}.swatch{vertical-align:-1px;border:1px solid #0006;border-radius:3px;width:12px;height:12px;margin-right:6px;display:inline-block}.nav{gap:10px;margin-bottom:6px;display:flex}.nav .btn{flex:1}.step{color:var(--ink2);margin:10px 0 2px;font-size:14px}h1.q{outline:none;margin:6px 0 12px;font-size:26px;line-height:1.2}p,.help{margin:0 0 12px}.help{color:var(--ink2);font-size:16px}.btn{border:var(--bw) solid var(--line);background:var(--panel);min-height:56px;color:var(--ink);font:600 18px var(--sans);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;text-decoration:none;display:inline-flex}.btn.block{width:100%;margin:0 0 12px;display:flex}.btn.p{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn.danger{color:var(--crit);border-color:var(--crit)}.btn.link{color:var(--accent);background:0 0;border:0;min-height:48px;padding:6px 0;font-weight:600;text-decoration:underline}.btn:disabled,.btn.p:disabled,.btn.danger:disabled{background:var(--soft);color:var(--ink2);border-color:var(--ink2);cursor:not-allowed;border-style:dashed}label.lab{margin:0 0 6px;font-weight:600;display:block}input.in,textarea.in{width:100%;min-height:60px;font:500 22px var(--sans);border:var(--bw) solid var(--line);background:var(--panel);color:var(--ink);border-radius:12px;margin:0 0 14px;padding:10px 14px}input.code{font:600 30px var(--mono);letter-spacing:.35em;text-align:center}.err{border:var(--bw) solid var(--crit);color:var(--crit);border-radius:10px;margin:0 0 12px;padding:10px 12px;font-weight:600}.ok{border:var(--bw) solid var(--good);color:var(--good);border-radius:10px;margin:0 0 12px;padding:10px 12px;font-weight:600}.card{border:var(--bw) solid var(--line);background:var(--panel);border-radius:12px;margin:0 0 12px;padding:12px 14px}.card h2{margin:0 0 4px;font-size:18px}.card .sub{color:var(--ink2);font-size:15px}.qr{border:var(--bw) solid var(--line);background:#fff;border-radius:12px;justify-content:center;margin:0 0 12px;padding:14px;display:flex}.qr svg{width:220px;height:220px}.key{font:600 20px var(--mono);word-break:break-all;letter-spacing:.06em;background:var(--soft);border-radius:10px;margin:0 0 12px;padding:10px 12px}.codes{grid-template-columns:1fr 1fr;gap:8px;margin:0 0 14px;padding:0;list-style:none;display:grid}.codes li{font:600 16px var(--mono);white-space:nowrap;background:var(--soft);text-align:center;border-radius:8px;padding:8px 4px}.setup{-webkit-user-select:none;user-select:none;font:700 44px/1.1 var(--mono);letter-spacing:.14em;text-align:center;white-space:nowrap;background:var(--soft);border:3px solid var(--ink);border-radius:12px;margin:6px 0 14px;padding:22px 6px}.check{cursor:pointer;align-items:center;gap:12px;min-height:56px;margin:0 0 12px;font-weight:600;display:flex}.check input{width:28px;height:28px;accent-color:var(--accent)}.pill{border:var(--bw) solid var(--line);border-radius:999px;padding:2px 10px;font-size:13px;font-weight:700;display:inline-block}ul.plain{margin:6px 0 0;padding:0;list-style:none}ul.plain li{border-top:1px solid var(--soft);padding:6px 0}.spin{opacity:.8}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.dev{max-width:560px;font:13px/1.4 var(--mono);color:#000;background:#fff7d6;border:2px dashed #6b4300;border-radius:10px;margin:0 auto 16px;padding:8px 10px;display:block}.dev b{font-family:var(--sans);display:block}.dev button{font:12px var(--sans);margin-top:6px}@media print{.top,.nav,.no-print,.dev{display:none!important}html,body{color:#000;background:#fff}main.screen{max-width:none}.codes li{background:#fff;border:1px solid #000}}.banner{border:var(--bw) solid var(--crit);color:var(--crit);background:var(--panel);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;max-width:760px;margin:0 auto;padding:10px 14px;font-weight:700;display:flex}.banner .btn{min-height:44px}.grid{border-collapse:collapse;min-width:100%;font-size:14px}.grid th,.grid td{border:1px solid var(--line);text-align:left;vertical-align:top;overflow-wrap:anywhere;padding:4px 6px}.cal{margin:0 0 12px}.calhead{align-items:center;gap:8px;margin:4px 0 8px;display:flex}.calhead .btn{min-width:56px;padding:0 12px;font-size:24px}.calmonth{text-align:center;flex:1;font-size:18px;font-weight:700}.calgrid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.calwd{text-align:center;color:var(--ink2);padding:2px 0;font-size:13px;font-weight:600}.calday{border:var(--bw) solid var(--line);background:var(--panel);min-height:48px;color:var(--ink);font:600 18px var(--sans);cursor:pointer;border-radius:10px;padding:0}.calday[aria-pressed=true]{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.calday:disabled{background:var(--soft);color:var(--ink2);cursor:not-allowed;border-style:dashed}
