/* Static site for Air Hockey Online. No scripts, no external requests. */
:root{--bg:#0b1220;--panel:#121c30;--ink:#eaf1ff;--muted:#9fb0cc;--blue:#3aa0ff;--orange:#ff7a2f;--line:#22304d;color-scheme:dark light}
@media (prefers-color-scheme:light){:root{--bg:#f5f8ff;--panel:#fff;--ink:#0d1a33;--muted:#4b5e80;--line:#d5def0}}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
.wrap{width:min(1080px,100% - 32px);margin-inline:auto}
.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:8px;background:var(--panel);padding:8px 12px;z-index:9}
a{color:var(--blue)}a:focus-visible,.button:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.site-header{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;padding:18px 0}
.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;font-weight:800;letter-spacing:.08em;line-height:1.1}
.brand-sub{display:block;font-size:.7em;color:var(--blue);letter-spacing:.3em}
.site-header nav{display:flex;gap:18px;margin-inline-start:auto}.site-header nav a{color:var(--muted);text-decoration:none}
.site-header nav a[aria-current]{color:var(--ink)}.language{color:var(--muted);text-decoration:none;border:1px solid var(--line);border-radius:999px;padding:2px 12px}
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;padding:56px 0}
.eyebrow{display:flex;align-items:center;gap:8px;margin:0 0 12px;color:var(--blue);font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:.8rem}
.status-dot{width:9px;height:9px;border-radius:50%;background:var(--orange)}
h1{font-size:clamp(2.4rem,7vw,4.4rem);line-height:1.02;margin:0 0 18px}h1 span{color:var(--blue)}
h2{font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.1;margin:0 0 16px}h3{margin:0 0 6px}
.hero-intro{font-size:1.15rem;color:var(--muted);max-width:34em}
.button{display:inline-block;background:var(--orange);color:#1a0d02;font-weight:800;text-decoration:none;padding:14px 22px;border-radius:12px;margin-top:8px}
.release-note{color:var(--muted);font-size:.95rem}
.rink-art{margin:0}.rink-table{position:relative;aspect-ratio:3/4;max-width:340px;margin-inline:auto;border:3px solid var(--blue);border-radius:28px;background:linear-gradient(#10315a,#0b2344);overflow:hidden}
.rink-half{position:absolute;left:0;right:0;top:50%;border-top:2px solid rgba(255,255,255,.35)}
.rink-circle{position:absolute;left:50%;top:50%;width:84px;height:84px;margin:-42px;border:2px solid rgba(255,255,255,.35);border-radius:50%}
.goal{position:absolute;left:30%;width:40%;height:12px;background:var(--ink);opacity:.8}.goal-north{top:0;border-radius:0 0 8px 8px}.goal-south{bottom:0;border-radius:8px 8px 0 0}
.striker{position:absolute;left:50%;width:54px;height:54px;margin-left:-27px;border-radius:50%}.striker-north{top:14%;background:var(--blue)}.striker-south{bottom:14%;background:var(--orange)}
.puck{position:absolute;left:58%;top:46%;width:26px;height:26px;border-radius:50%;background:#fff}.trail{display:none}
.table-word{position:absolute;inset:auto 0 42% 0;text-align:center;font-weight:800;letter-spacing:.4em;font-size:.7rem;opacity:.25}
.rink-caption{display:block;text-align:center;color:var(--muted);font-size:.85rem;margin-top:10px}
.rules-strip{background:var(--panel);border-block:1px solid var(--line)}.rules-strip .wrap{display:flex;flex-wrap:wrap;justify-content:space-around;gap:12px;padding:20px 0}
.rules-strip p{margin:0;display:flex;align-items:baseline;gap:10px}.rules-strip strong{font-size:2.2rem;color:var(--orange)}.rules-strip span{color:var(--muted)}
.modes,.fair-play{padding:56px 0}.mode-list{display:grid;gap:16px}
.mode-list article{display:flex;gap:18px;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px}
.number{color:var(--blue);font-weight:800;font-size:1.4rem}.mode-list p{margin:0 0 10px;color:var(--muted)}
.tag{display:inline-block;border:1px solid var(--line);border-radius:999px;padding:2px 12px;font-size:.85rem}
.text-link{font-weight:700}
.doc{padding:32px 0 64px;max-width:760px}.doc h1{font-size:clamp(2rem,5vw,3rem)}.doc h2{font-size:1.4rem;margin-top:36px}.doc li{margin:6px 0}
.doc table{border-collapse:collapse;width:100%;font-size:.95rem}.doc th,.doc td{border:1px solid var(--line);padding:8px 10px;text-align:start;vertical-align:top}
.updated{color:var(--muted)}
.site-footer{display:flex;flex-wrap:wrap;gap:16px 32px;justify-content:space-between;border-top:1px solid var(--line);padding:28px 0 48px;color:var(--muted)}
.site-footer p{margin:6px 0 0}.site-footer nav{display:flex;gap:18px}.footer-brand{color:var(--ink);font-weight:800;letter-spacing:.08em;text-decoration:none}
@media(max-width:760px){.hero{grid-template-columns:1fr;padding:32px 0}.site-header nav{margin-inline-start:0;width:100%;order:3}}
@media(prefers-reduced-motion:no-preference){.button{transition:transform .15s}.button:hover{transform:translateY(-2px)}}
