:root{--bg:#111418;--card:#1b2027;--line:#2a313a;--text:#e8ecf1;--muted:#8b97a6;--accent:#ff4d2e;--danger:#ff6b6b}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  padding-bottom:calc(72px + env(safe-area-inset-bottom))}
a{color:var(--accent)}
.top{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line)}
.brand{font-weight:800;color:var(--text);text-decoration:none;letter-spacing:.5px}
.brand span{color:var(--accent)}
main{max-width:560px;margin:0 auto;padding:16px}
h1{font-size:1.4rem;margin:.5rem 0 1rem}
.muted{color:var(--muted)}
.flash{background:#2b2216;border:1px solid #6b4b1f;padding:10px 12px;border-radius:8px;margin-bottom:12px}
label{display:block;color:var(--muted);font-size:.85rem;margin-bottom:14px}
select,input{display:block;width:100%;margin-top:6px;padding:14px;font-size:1rem;color:var(--text);
  background:var(--bg);border:1px solid var(--line);border-radius:10px}
.bigtime{font-size:2rem;text-align:center;font-variant-numeric:tabular-nums;letter-spacing:1px}
.card{background:var(--card);padding:16px;border-radius:14px;border:1px solid var(--line)}
.btn{width:100%;padding:16px;font-size:1.05rem;font-weight:700;color:#fff;background:var(--accent);border:0;border-radius:12px}
.link{background:none;border:0;color:var(--muted);font-size:.9rem;padding:6px;text-decoration:none}
.danger{color:var(--danger)}
.filters{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.board{list-style:none;margin:0;padding:0}
.board li{display:flex;align-items:center;gap:12px;padding:12px 4px;border-bottom:1px solid var(--line)}
.board .pos{width:28px;text-align:center;font-weight:800;color:var(--muted)}
.board li:nth-child(1) .pos{color:#ffd24d}.board li:nth-child(2) .pos{color:#c5ccd6}.board li:nth-child(3) .pos{color:#d08a4e}
.who{flex:1;min-width:0;display:flex;flex-direction:column}
.who small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.time{font-variant-numeric:tabular-nums;font-weight:700}
.mine li{padding-left:0}
.tabbar{position:fixed;left:0;right:0;bottom:0;display:flex;justify-content:space-around;align-items:center;
  background:var(--card);border-top:1px solid var(--line);padding:10px 8px calc(10px + env(safe-area-inset-bottom))}
.tabbar a{color:var(--muted);text-decoration:none;font-size:.9rem;padding:8px 10px}
.tabbar a.primary{background:var(--accent);color:#fff;font-weight:700;border-radius:999px;padding:10px 18px}
