:root{--bg:#0b1020;--tile:#161d33;--tile-2:#1e2742;--text:#f8fafc;--muted:#9aa6c3;--red:#ef4444;--amber:#f59e0b;--green:#22c55e;--blue:#38bdf8;--purple:#a78bfa;--gap:1vmin}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);height:100%;color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;overflow:hidden}#board{grid-template-rows:7vh 1fr auto;height:100vh;display:grid}.bar{background:#0f172a;border-bottom:2px solid #1e293b;justify-content:space-between;align-items:center;gap:2vw;padding:0 2vw;display:flex}.shop{white-space:nowrap;font-size:3.4vh;font-weight:700}.summary{color:var(--muted);white-space:nowrap;font-size:3vh;overflow:hidden}.summary b{color:var(--text)}.summary .alerts{color:var(--amber)}.clock{font-variant-numeric:tabular-nums;font-size:4vh;font-weight:700}.animals{padding:var(--gap);gap:var(--gap);align-content:start;display:grid;position:relative;overflow:hidden}.empty{color:var(--muted);place-items:center;height:100%;font-size:6vh;display:grid}.tile{--u:2px;background:var(--tile);border-radius:calc(var(--u) * 3);border:calc(var(--u) * .6) solid transparent;flex-direction:column;min-width:0;display:flex;position:relative;overflow:hidden}.tile.alert-red{border-color:var(--red)}.tile.alert-amber{border-color:var(--amber)}.tile.alert-green{border-color:var(--green)}.tile .flags{gap:calc(var(--u) * 1);padding:calc(var(--u) * 1.6) calc(var(--u) * 2.4) 0;flex-wrap:wrap;display:flex}.flag{font-size:calc(var(--u) * 5.4);letter-spacing:.02em;padding:calc(var(--u) * .6) calc(var(--u) * 1.8);border-radius:calc(var(--u) * 1.2);white-space:nowrap;text-transform:uppercase;font-weight:800}.flag.red{background:var(--red);color:#fff}.flag.amber{background:var(--amber);color:#111}.flag.green{background:var(--green);color:#052e16}.flag.blue{background:var(--blue);color:#082f49}.flag.purple{background:var(--purple);color:#1e1b4b}.flag.grey{color:#fff;background:#475569}.tile .body{gap:calc(var(--u) * 3);padding:calc(var(--u) * 2.4);flex:1;align-items:center;min-height:0;display:flex}.avatar{width:calc(var(--u) * 26);height:calc(var(--u) * 26);object-fit:cover;font-size:calc(var(--u) * 13);color:#fff;background:#334155;border-radius:50%;flex:none;place-items:center;font-weight:800;display:grid}.info{flex:1;min-width:0}.pet{font-size:calc(var(--u) * 14);white-space:nowrap;text-overflow:ellipsis;font-weight:800;line-height:1;overflow:hidden}.person{font-size:calc(var(--u) * 6.5);color:var(--muted);margin-top:calc(var(--u) * 1);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.where{align-items:center;gap:calc(var(--u) * 2);margin-top:calc(var(--u) * 2.5);flex-wrap:wrap;display:flex}.station{font-size:calc(var(--u) * 7.5);padding:calc(var(--u) * .6) calc(var(--u) * 2.2);border-radius:calc(var(--u) * 1.5);background:var(--station,#475569);color:#fff;white-space:nowrap;font-weight:700}.elapsed{font-size:calc(var(--u) * 7.5);font-variant-numeric:tabular-nums;font-weight:700}.who{font-size:calc(var(--u) * 6.5);margin-top:calc(var(--u) * 2);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.who .dot{vertical-align:.05em;border-radius:50%;width:.7em;height:.7em;margin-right:.3em;display:inline-block}.who.none{color:var(--muted);font-style:italic}.next{font-size:calc(var(--u) * 5.5);color:var(--muted);margin-top:calc(var(--u) * 1.5);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.card{right:calc(var(--u) * 2.4);bottom:calc(var(--u) * 2);font-size:calc(var(--u) * 6);color:var(--muted);font-variant-numeric:tabular-nums;font-weight:800;position:absolute}.card:before{content:"#";opacity:.6}.tile.medium .avatar,.tile.medium .next,.tile.flagged .next{display:none}.mark{text-transform:uppercase;letter-spacing:.03em;color:var(--purple);border:2px solid var(--purple);vertical-align:.1em;border-radius:.4em;margin-left:.5em;padding:0 .35em;font-size:.75em;font-weight:800;display:inline-block}.row .mark{margin-left:.2em;font-size:.5em}.row{--h:60px;height:var(--h);font-size:calc(var(--h) * .46);background:var(--tile);border-left:6px solid #0000;border-radius:6px;grid-template-columns:3.2em minmax(0,1.3fr) minmax(0,.9fr) minmax(0,1.4fr) 3.8em minmax(0,1fr) auto;align-items:center;gap:.5em;min-width:0;padding:0 .6em;display:grid}.row>*{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.row .pet{font-size:1.05em}.row .person{margin:0;font-size:.8em}.row .station{text-overflow:ellipsis;justify-self:start;max-width:100%;padding:.1em .5em;font-size:.72em;overflow:hidden}.row .elapsed{font-size:.85em}.row .who{margin:0;font-size:.75em}.row .card{font-size:.8em;position:static}.row.alert-red{border-left-color:var(--red)}.row.alert-amber{border-left-color:var(--amber)}.row.alert-green{border-left-color:var(--green)}.row .icons{gap:.25em;display:flex}.row .icons .flag{padding:.15em .4em;font-size:.55em}.parked-summary{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;grid-column:1/-1;padding:.4em .6em;font-size:3vh;overflow:hidden}.parked-summary b{color:var(--text)}.free{white-space:nowrap;background:#0f172a;border-top:2px solid #1e293b;align-items:center;gap:1vw;min-height:7vh;padding:1.2vh 2vw;font-size:2.6vh;display:flex;overflow:hidden}.free .label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-weight:700}.free .chip{background:var(--chip,#334155);color:#fff;border-radius:.4em;padding:.2em .6em;font-weight:600}.free .none{color:var(--amber);font-weight:700}.status{background:var(--amber);color:#111;border-radius:.5em;padding:.5em 1em;font-size:2.4vh;font-weight:800;position:fixed;top:1.2vh;left:50%;transform:translate(-50%)}
