:root{--bg:#f6f7fb;--surface:#fff;--text:#15171c;--muted:#6b7180;--line:#e3e6ee;--brand:#1f3a8a;--warn:#b42318;--radius:14px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#111318;--surface:#1b1e25;--text:#eceef3;--muted:#9aa1b0;--line:#2a2e38;--brand:#8aa4ff;--warn:#ff8a80}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);-webkit-text-size-adjust:100%;margin:0;font:16px/1.4 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}#app{max-width:640px;padding:max(16px, env(safe-area-inset-top)) 16px max(24px, env(safe-area-inset-bottom));margin:0 auto}h1{margin:0;font-size:1.5rem}h2{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:24px 0 8px;font-size:.8rem}h3{margin:0 0 6px;font-size:.95rem}ul{margin:0;padding:0;list-style:none}button{font:inherit;color:inherit;cursor:pointer}code{font-size:.9em}.title-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.refresh{color:var(--brand);background:0 0;border:0;padding:4px 8px;font-size:1.4rem}.status{color:var(--muted);margin:2px 0 0;font-size:.85rem}.status.offline,.status.error{color:var(--warn)}.errors{color:var(--warn);margin-top:8px;font-size:.85rem}.hint{border-radius:var(--radius);background:var(--surface);color:var(--muted);margin-top:24px;padding:12px 14px;font-size:.9rem}.muted{color:var(--muted)}.empty{color:var(--muted);margin:0}.chips{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.chip{border:1px solid var(--accent);background:color-mix(in srgb, var(--accent) 18%, transparent);border-radius:999px;padding:4px 12px;font-size:.85rem}.chip.off{border-color:var(--line);color:var(--muted);background:0 0;text-decoration:line-through}.tabs{background:var(--surface);border-radius:12px;gap:4px;margin-top:16px;padding:4px;display:flex}.tabs button{color:var(--muted);background:0 0;border:0;border-radius:9px;flex:1;padding:8px}.tabs button.active{background:var(--brand);color:#fff}@media (prefers-color-scheme:dark){.tabs button.active{color:#111318}}.cards{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:20px;display:grid}.card{--accent:var(--brand);background:var(--surface);border-radius:var(--radius);border-top:4px solid var(--accent);min-width:0;padding:12px 14px}.card-label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.card-title{text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-weight:600;overflow:hidden}.card-detail{color:var(--muted);font-size:.9rem}.card-countdown{color:var(--brand);margin-top:4px;font-size:.9rem;font-weight:600}.items{background:var(--surface);border-radius:var(--radius);overflow:hidden}.item{border-left:4px solid var(--accent);border-bottom:1px solid var(--line);grid-template-columns:5.5em 1fr;gap:10px;padding:10px 14px;display:grid}.item:last-child{border-bottom:0}.item.past{opacity:.45}.item.current{background:color-mix(in srgb, var(--accent) 12%, transparent)}.when{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.85rem}.what{overflow-wrap:anywhere;min-width:0}.where{color:var(--muted);font-size:.85rem;display:block}.gaps li,.deps li{border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;padding:6px 0}.gaps li:last-child,.deps li:last-child{border-bottom:0}.gaps,.shuttle>div{background:var(--surface);border-radius:var(--radius);padding:8px 14px}.shuttle{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;display:grid}.shuttle h3{margin-top:6px}.tag{background:var(--warn);color:var(--surface);border-radius:6px;padding:1px 6px;font-size:.75rem}.lock{flex-direction:column;gap:10px;max-width:320px;margin:18vh auto 0;display:flex}.lock h1{margin-bottom:12px}.lock label{color:var(--muted);font-size:.85rem}.lock input{font:inherit;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:12px;padding:12px 14px}.lock button{background:var(--brand);color:#fff;border:0;border-radius:12px;padding:12px;font-weight:600}@media (prefers-color-scheme:dark){.lock button{color:#111318}}.lock-error{color:var(--warn);margin:0;font-size:.9rem}
