:root{--bg:#f7f7f5;--fg:#16191c;--muted:#5b636b;--card:#fff;--line:#d9dde1;--accent:#24546E;--on-accent:#fff}
@media (prefers-color-scheme:dark){:root{--bg:#14171a;--fg:#eef0f2;--muted:#a3abb3;--card:#1d2226;--line:#333b42;--accent:#7aa2ec;--on-accent:#0c1116}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
header{padding:16px}
header a{color:var(--fg);font-weight:700;text-decoration:none}
main{max-width:520px;margin:0 auto;padding:8px 16px 48px;min-height:28rem;text-align:center}
h1{font-size:1.6rem;line-height:1.2;margin:16px 0 4px}
h2{font-size:1.1rem;line-height:1.3;margin:12px 0 4px}
.sub{color:var(--muted);margin:4px 0 16px}
.btns{display:flex;flex-direction:column;gap:10px;align-items:stretch;margin:12px 0}
.btn{display:block;background:var(--accent);color:var(--on-accent);font-weight:700;text-decoration:none;padding:14px 16px;border-radius:12px;min-height:48px}
.btn:focus-visible,.practice:focus-visible,.home:focus-visible{outline:3px solid var(--fg);outline-offset:2px}
.practice{display:block;margin:12px 0;color:var(--accent);font-weight:700}
.home{display:inline-block;margin-top:24px;color:var(--muted)}
.qrbox{margin:20px auto 8px}
.qr{display:block;width:200px;height:200px;margin:0 auto;border:1px solid var(--line);border-radius:8px}
.hint{color:var(--muted);font-size:.9rem;margin:8px 0 0}
.apps{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:12px;text-align:left}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 16px 4px}
.card .btns{margin:8px 0}
.card .practice{margin:8px 0 12px}
@media (min-width:560px){.btns{flex-direction:row;justify-content:center}.btn{flex:0 1 auto}.card .btns{justify-content:flex-start}}
