*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0b0e0c;--surface:#161b17;--surface-2:#1d231f;--border:#2a322c;--border-strong:#3a443d;--text:#e9efe9;--dim:#c2ccc6;--muted:#9aa6a0;--go:#33d17a;--go-strong:#3fe388;--go-ink:#06210f;--record:#f5b942;--record-dim:#c79433;--radius:12px;--radius-sm:8px;--font-sans:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--font-mono:ui-monospace,"SF Mono","JetBrains Mono","Cascadia Mono","Roboto Mono",Menlo,Consolas,monospace;--step-0:.8125rem;--step-1:.9375rem;--step-2:1.0625rem;--step-3:1.375rem;--step-4:2rem;--step-5:2.75rem;--z-sticky:100;--z-popover:200;--ease-out:cubic-bezier(.22,1,.36,1)}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--step-1);-webkit-font-smoothing:antialiased;min-height:100vh;text-rendering:optimizeLegibility;line-height:1.5}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}:focus-visible{outline:2px solid var(--go);outline-offset:2px;border-radius:4px}header{z-index:var(--z-sticky);border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg)86%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:.75rem 1.5rem;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:1rem;max-width:1040px;margin:0 auto;display:flex}.site-logo{color:var(--text);letter-spacing:-.01em;align-items:center;gap:.5rem;min-height:40px;font-size:1.0625rem;font-weight:700;text-decoration:none;display:inline-flex}.site-logo .logo-mark{font-size:1.1rem;line-height:1}.site-logo .logo-name{white-space:nowrap}.site-logo:hover{color:var(--go-strong)}.site-nav{align-items:center;gap:.25rem;display:flex}.site-nav a{min-height:40px;color:var(--dim);font-size:var(--step-1);border-radius:var(--radius-sm);transition:color .15s var(--ease-out),background-color .15s var(--ease-out);align-items:center;padding:0 .75rem;font-weight:500;text-decoration:none;display:inline-flex}.site-nav a:hover{color:var(--text);background:var(--surface)}.site-nav a:active{background:var(--surface-2)}.games-menu{position:relative}.games-menu>summary{min-height:40px;color:var(--dim);font-size:var(--step-1);border-radius:var(--radius-sm);cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .15s var(--ease-out),background-color .15s var(--ease-out);align-items:center;gap:.4rem;padding:0 .75rem;font-weight:500;list-style:none;display:inline-flex}.games-menu>summary::-webkit-details-marker{display:none}.games-menu>summary:hover,.games-menu[open]>summary{color:var(--text);background:var(--surface)}.games-menu>summary .chev{transition:transform .15s var(--ease-out);color:var(--muted);font-size:.7rem}.games-menu[open]>summary .chev{transform:rotate(180deg)}.games-menu-panel{z-index:var(--z-popover);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);flex-direction:column;gap:.125rem;min-width:240px;padding:.375rem;display:flex;position:absolute;top:calc(100% + .5rem);right:0;box-shadow:0 12px 32px -8px #0009}.games-menu-panel a{border-radius:var(--radius-sm);min-height:40px;color:var(--text);font-size:var(--step-1);align-items:center;gap:.625rem;padding:.375rem .5rem;font-weight:500;text-decoration:none;display:flex}.games-menu-panel a .menu-emoji{font-size:1.05rem;line-height:1}.games-menu-panel a:hover{background:var(--surface-2)}.games-menu-panel a:active{background:var(--border)}main{min-height:calc(100vh - 57px)}.home{max-width:1040px;margin:0 auto;padding:2.5rem 1.5rem 5rem}.home-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.75rem 1.5rem;margin-bottom:2rem;display:flex}.home h1{font-size:var(--step-4);letter-spacing:-.025em;text-wrap:balance;font-weight:800;line-height:1.05}.home .tagline{color:var(--muted);font-size:var(--step-2);max-width:60ch;margin-top:.375rem}.run-count{font-size:var(--step-0);color:var(--muted);white-space:nowrap;align-items:center;gap:.5rem;display:inline-flex}.run-count .dot{background:var(--go);width:7px;height:7px;box-shadow:0 0 0 0 color-mix(in srgb,var(--go)70%,transparent);animation:pulse 2.4s var(--ease-out)infinite;border-radius:50%}.run-count .num{color:var(--text);font-weight:600}@keyframes pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--go)55%,transparent)}70%{box-shadow:0 0 0 6px #0000}to{box-shadow:0 0 #0000}}@media (min-width:720px){.home h1{font-size:var(--step-5)}}.games-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;display:grid}.game-tile.is-featured{grid-column:1/-1}@media (min-width:760px){.game-tile.is-featured{grid-column:span 2}}.game-tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);isolation:isolate;transition:border-color .18s var(--ease-out),transform .18s var(--ease-out),background-color .18s var(--ease-out);grid-template-rows:auto 1fr auto;grid-template-columns:auto 1fr;gap:.5rem 1rem;padding:1.25rem;text-decoration:none;display:grid;position:relative}.game-tile:before{content:"";border-radius:inherit;background:radial-gradient(120px 80px at 36px 36px,color-mix(in srgb,var(--go)9%,transparent),transparent 70%);opacity:0;z-index:-1;transition:opacity .18s var(--ease-out);position:absolute;inset:0}.game-tile:hover{border-color:var(--border-strong);background:var(--surface-2);transform:translateY(-2px)}.game-tile:hover:before{opacity:1}.game-tile:active{transform:translateY(0)}.game-emoji{background:var(--bg);border:1px solid var(--border);border-radius:10px;grid-row:1/3;place-items:center;width:56px;height:56px;font-size:1.85rem;line-height:1;display:grid}.is-featured .game-emoji{width:64px;height:64px;font-size:2.15rem}.game-title{font-size:var(--step-3);letter-spacing:-.015em;align-self:center;font-weight:700;line-height:1.15}.is-featured .game-title{font-size:1.625rem}.game-desc{color:var(--muted);font-size:var(--step-1);-webkit-line-clamp:2;-webkit-box-orient:vertical;grid-column:2;line-height:1.5;display:-webkit-box;overflow:hidden}.is-featured .game-desc{-webkit-line-clamp:3}.game-meta{border-top:1px solid var(--border);flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:.5rem .75rem;margin-top:.5rem;padding-top:.75rem;display:flex}.live-badge{font-size:var(--step-0);color:var(--go-strong);align-items:center;gap:.4rem;font-weight:600;display:inline-flex}.live-badge .live-dot{background:var(--go);border-radius:50%;width:7px;height:7px}.best-time{font-size:var(--step-0);color:var(--muted);align-items:baseline;gap:.4rem;display:inline-flex}.best-time .best-label{color:var(--record-dim);font-weight:600}.best-time .best-value{color:var(--record);letter-spacing:-.01em;font-weight:600}.game-go{font-size:var(--step-0);color:var(--dim);transition:color .15s var(--ease-out),gap .15s var(--ease-out);align-items:center;gap:.35rem;margin-left:auto;font-weight:600;display:inline-flex}.game-tile:hover .game-go{color:var(--go-strong);gap:.55rem}.game-go .arrow{transition:transform .15s var(--ease-out)}.game-tile:hover .game-go .arrow{transform:translate(2px)}.records{margin-top:3.5rem}.records-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1rem;padding-bottom:.75rem;display:flex}.records-head h2{font-size:var(--step-3);letter-spacing:-.015em;font-weight:700}.records-head .records-sub{font-size:var(--step-0);color:var(--muted)}.records-list{flex-direction:column;list-style:none;display:flex}.record-row{border-radius:var(--radius-sm);transition:background-color .15s var(--ease-out);grid-template-columns:1.75rem minmax(0,1fr) auto;align-items:center;column-gap:.875rem;padding:.625rem .5rem;display:grid}.record-row:hover{background:var(--surface)}.record-row+.record-row{border-top:1px solid var(--border)}.record-rank{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--step-0);color:var(--muted);text-align:right;font-weight:600}.record-row.is-podium .record-rank{color:var(--record)}.record-main{flex-direction:column;gap:.1rem;min-width:0;display:flex}.record-game{color:var(--text);font-weight:600;font-size:var(--step-1);white-space:nowrap;text-overflow:ellipsis;text-decoration:none;overflow:hidden}.record-game:hover{color:var(--go-strong)}.record-sub{font-size:var(--step-0);color:var(--muted);gap:.5rem;display:flex}.record-runner{color:var(--dim)}.record-runner:after{content:"·";color:var(--border-strong);margin-left:.5rem}.record-row:last-child .record-runner:after,.record-sub .record-runner:only-child:after{content:"";margin:0}.record-time{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--step-2);letter-spacing:-.02em;color:var(--go);text-align:right;font-weight:600}.record-row.is-podium .record-time{color:var(--go-strong)}.record-skeleton{grid-template-columns:1.75rem minmax(0,1fr) 6rem;align-items:center;column-gap:.875rem;padding:.75rem .5rem;display:grid}.record-row+.record-skeleton,.record-skeleton+.record-skeleton{border-top:1px solid var(--border)}.skel{background:linear-gradient(90deg,var(--surface)0%,var(--surface-2)50%,var(--surface)100%);background-size:200% 100%;border-radius:4px;height:.7rem;animation:1.4s linear infinite shimmer}.skel-rank{justify-self:end;width:1rem;height:.7rem}.skel-line-1{width:40%;margin-bottom:.4rem}.skel-line-2{width:60%;height:.55rem}.skel-time{justify-self:end;height:.9rem}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.records-empty{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;align-items:flex-start;gap:.5rem;padding:1.75rem 1.25rem;display:flex}.records-empty .empty-title{color:var(--text);font-weight:600;font-size:var(--step-1)}.records-empty .empty-body{color:var(--muted);font-size:var(--step-1);max-width:56ch}.records-empty .empty-link{color:var(--go-strong);font-weight:600;font-size:var(--step-1);text-decoration:none}.records-empty .empty-link:hover{text-decoration:underline}@media (max-width:680px){header{padding:.625rem 1rem}.home{padding:2rem 1rem 4rem}.game-tile{grid-template-columns:auto 1fr;padding:1rem}.record-row{column-gap:.625rem}.record-time{font-size:var(--step-1)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.game-tile:hover{transform:none}}
