:root{--surface: #fff;--text: #14202b;--muted: #5b6b7a;--line: #dde3e9;--accent: #0b7a5b;--warn: #8a5a00;--warn-bg: #fff4d6;color-scheme:light dark}@media(prefers-color-scheme:dark){:root{--surface: #17222e;--text: #e8eef3;--muted: #93a4b3;--line: #2a3947;--accent: #22a77f;--warn: #f0c36a;--warn-bg: #3a2f14}.error{color:#ff8a80}}*{box-sizing:border-box}body{margin:0}main,.topbar,footer{max-width:880px;margin:0 auto;padding:0 16px}.topbar{display:flex;align-items:center;gap:12px;padding-top:16px;padding-bottom:8px}.brand{font-size:1.4rem;font-weight:800;text-decoration:none;color:var(--text)}.brand span{color:var(--accent)}.hero h1{font-size:clamp(1.7rem,5vw,2.6rem);line-height:1.1;letter-spacing:-.02em;font-weight:800;margin:24px 0 16px}.results{margin:20px 0 32px}.count{color:var(--muted)}.error{color:#b00020}footer{color:var(--muted);font-size:.8rem;padding-bottom:32px;text-align:center}.timegrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:8px;margin:12px 0 20px}.tile{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 6px;font:inherit;color:var(--text);transition:border-color .15s,background .15s,transform .1s}.tile strong{font-size:1.05rem}.tile:not(.active) strong{color:var(--muted)}.tile:not(.active):hover strong{color:var(--text)}.tile span{font-size:.78rem;color:var(--muted)}.tile.tile{border:1px solid var(--line);background:var(--surface);border-radius:12px}.tile.tile:hover{border-color:var(--accent);transform:translateY(-1px)}.tile.tile.active{background:var(--accent);border-color:var(--accent);color:#fff}.tile.active span{color:#d8f3e8}.empty{display:flex;flex-direction:column;gap:4px;align-items:center;text-align:center;padding:32px 16px;background:var(--surface);border:1px dashed var(--line);border-radius:16px;color:var(--muted)}.empty strong{color:var(--text);font-size:1.05rem}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
