:root{--bg:#0f172a;--surface:#1e293b;--surface-2:#273449;--text:#f8fafc;--muted:#94a3b8;--green:#22c55e;--red:#ef4444;--amber:#f59e0b;--blue:#38bdf8;--purple:#a78bfa}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body{background:var(--bg);height:100%;color:var(--text);-webkit-user-select:none;user-select:none;touch-action:manipulation;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:20px;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;border:0}.boot{height:100vh;color:var(--muted);text-align:center;place-items:center;padding:2rem;font-size:1.6rem;display:grid}.panel{flex-direction:column;height:100vh;display:flex;position:relative}.top{border-bottom:6px solid var(--accent,#475569);background:#0b1222;justify-content:space-between;align-items:center;min-height:4.2rem;padding:.6rem 1.2rem;display:flex}.top.reconcile{background:#2e1065}.station{cursor:default;align-items:baseline;gap:.8rem;font-size:2rem;font-weight:800;display:flex}.station .type{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:1rem;font-weight:600}.right{align-items:center;gap:1rem;display:flex}.clock{font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:700}.net{border-radius:999px;padding:.3rem .8rem;font-size:.9rem;font-weight:700}.net.on{color:#bbf7d0;background:#14532d}.net.off{background:var(--amber);color:#111}main{flex-direction:column;flex:1;gap:.8rem;min-height:0;padding:1rem 1.2rem .8rem;display:flex}.occupants{flex:1;gap:.8rem;min-height:0;display:grid}.occupants.n2{grid-template-columns:1fr 1fr}.occupants.n3,.occupants.n4{grid-template-columns:1fr 1fr;grid-auto-rows:1fr}.occupant{background:var(--surface);border-radius:18px;flex-direction:column;gap:.7rem;min-height:0;padding:1rem 1.2rem;display:flex;overflow:hidden}.occupant.conflict{outline:5px solid var(--red)}.who-row{align-items:center;gap:1.2rem;min-width:0;display:flex}.who-row.center{justify-content:center}.avatar{object-fit:cover;color:#fff;background:#334155;border-radius:50%;flex:none;place-items:center;width:6.5rem;height:6.5rem;font-size:3rem;font-weight:800;display:grid}.occupant.big .avatar{width:11rem;height:11rem;font-size:5rem}.avatar.xl{width:9rem;height:9rem;font-size:4rem}.avatar.sm{width:3.2rem;height:3.2rem;font-size:1.5rem}.id{min-width:0}.name{text-overflow:ellipsis;white-space:nowrap;font-size:2.6rem;font-weight:800;line-height:1.05;overflow:hidden}.occupant.big .name{font-size:4.4rem}.sub{color:var(--muted);margin-top:.2rem;font-size:1.25rem}.meta{color:var(--muted);gap:1.2rem;margin-top:.5rem;font-size:1.25rem;display:flex}.meta b{color:var(--text)}.cardno{background:var(--surface-2);color:var(--text);border-radius:8px;padding:.1rem .6rem;font-weight:700}.working{flex-wrap:wrap;gap:.5rem;margin-top:.6rem;display:flex}.chip{background:var(--surface-2);border-radius:999px;padding:.3rem .9rem;font-size:1.15rem;font-weight:700}.chip.manual{background:var(--amber);color:#111}.nobody{color:var(--amber);font-weight:700}.notes{background:var(--surface-2);border-radius:12px;gap:.3rem;padding:.7rem 1rem;font-size:1.15rem;display:grid}.band{border-radius:12px;padding:.6rem 1rem;font-size:1.2rem;font-weight:700}.band.alert{color:#ede9fe;background:#4c1d95}.band.error{background:var(--red);color:#fff}.band.info{color:#e0f2fe;background:#0c4a6e}.empty{text-align:center;color:var(--muted);background:var(--surface);border-radius:18px;flex:1;place-content:center;font-size:1.4rem;display:grid}.empty .big{color:#475569;font-size:5rem;font-weight:800}.hint{justify-content:space-between;align-items:center;gap:1rem;display:flex}.hint .lead{color:var(--muted);font-size:1.35rem}.ghost{background:0 0;border:2px solid #475569;border-radius:14px;min-height:3.6rem;padding:.8rem 1.4rem;font-size:1.2rem;font-weight:700}.primary{background:var(--green);color:#052e16;border-radius:16px;min-height:5.6rem;padding:1.2rem 1.6rem;font-size:1.9rem;font-weight:800}.secondary{background:var(--surface-2);border-radius:16px;min-height:4.6rem;padding:1rem 1.4rem;font-size:1.4rem;font-weight:700}button:active{filter:brightness(1.15);transform:scale(.98)}.overlay{z-index:5;border-top:10px solid var(--emp,#475569);background:#0f172af7;flex-direction:column;justify-content:center;align-items:center;gap:1.1rem;padding:1.5rem 2rem;display:flex;position:absolute;inset:0}.hello{font-size:4rem;font-weight:800}.instruct{color:var(--muted);text-align:center;max-width:40rem;font-size:1.8rem}.overlay .actions{flex-direction:column;gap:.7rem;width:min(40rem,100%);display:flex}.overlay.armed .actions{flex-flow:wrap;justify-content:center}.overlay.armed .actions button{flex:14rem}.overlay .by{gap:.6rem;display:flex}.overlay .band{text-align:center;width:min(40rem,100%)}.countdown{background:#1e293b;height:8px;position:absolute;bottom:0;left:0;right:0}.countdown i{background:var(--emp,var(--blue));height:100%;animation:linear forwards drain;display:block}@keyframes drain{0%{width:100%}to{width:0%}}.overlay.pick{justify-content:flex-start}.overlay.pick .title{font-size:2.2rem;font-weight:800}.overlay.pick .title small{color:var(--muted);margin-left:.6rem;font-size:1.2rem}.grid{flex:1;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));align-content:start;gap:.7rem;width:100%;display:grid;overflow-y:auto}.grid .person,.grid .animal{background:var(--surface);text-align:left;border-radius:14px;align-items:center;gap:.8rem;min-height:4.6rem;padding:.9rem 1rem;font-size:1.35rem;font-weight:700;display:flex}.grid small{color:var(--muted);font-size:.95rem;font-weight:500;display:block}.grid .dot{border-radius:50%;flex:none;width:1.1rem;height:1.1rem}.grid .none{color:var(--muted);font-size:1.4rem}.reconcile-bar{background:#4c1d95;justify-content:space-between;align-items:center;gap:1rem;padding:.6rem 1.2rem;font-size:1.3rem;font-weight:700;display:flex}.reconcile-bar .secondary{min-height:3.2rem;font-size:1.2rem}.toast{z-index:20;text-align:center;border-radius:16px;max-width:90vw;padding:1rem 1.6rem;font-size:1.5rem;font-weight:800;position:fixed;bottom:1.2rem;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #00000080}.toast.ok{background:var(--green);color:#052e16}.toast.warn{background:var(--amber);color:#111}.toast.error{background:var(--red);color:#fff}.pairing{text-align:center;place-content:center;gap:1rem;height:100vh;padding:2rem;display:grid}.pairing h1{font-size:2.6rem}.pairing p{color:var(--muted);font-size:1.3rem}.pairing form{justify-content:center;gap:.8rem;display:flex}.pairing input{text-align:center;letter-spacing:.2em;background:var(--surface);width:11ch;color:var(--text);text-transform:uppercase;border:2px solid #475569;border-radius:14px;padding:.6rem;font-size:2.4rem}.pairing .error{color:var(--red);font-weight:700}.sim{z-index:10;flex-direction:column;align-items:flex-end;gap:.5rem;display:flex;position:absolute;bottom:5.4rem;right:.8rem}.sim-toggle{background:var(--blue);color:#082f49;border-radius:999px;padding:.6rem 1.1rem;font-size:1rem;font-weight:800;box-shadow:0 6px 20px #0006}.sim-body{color:#0f172a;background:#f8fafc;border-radius:14px;flex-direction:column;gap:.35rem;width:19rem;max-height:calc(100vh - 11rem);padding:.8rem;display:flex;overflow-y:auto;box-shadow:0 10px 40px #00000080}.sim-body p{color:#475569;font-size:.85rem}.sim-body h4{text-transform:uppercase;letter-spacing:.06em;color:#64748b;margin-top:.4rem;font-size:.8rem}.sim-body button{text-align:left;background:#e2e8f0;border-radius:8px;padding:.45rem .7rem;font-size:.95rem;font-weight:600}.sim-body button:hover{background:#cbd5e1}@media (width<=900px){html,body{font-size:15px}.occupants.n2,.occupants.n3,.occupants.n4{grid-template-columns:1fr}.occupant.big .avatar{width:7rem;height:7rem;font-size:3rem}.occupant.big .name{font-size:3rem}.hint{flex-direction:column;align-items:stretch}.sim{bottom:8rem}}
