:root{color-scheme:dark;--bg: #121417;--bg-elevated: #1a1e24;--bg-panel: #1e242c;--border: #2c343f;--text: #e8eaed;--muted: #9aa3ad;--accent: #c4a35a;--accent-dim: #8f7538;--danger: #c45c5c;--online: #5aab7a;--offline: #a07050;--error: #e07070;--ok: #6bbf8a;--font: "IBM Plex Sans", "Segoe UI", system-ui, sans-serif;--mono: "IBM Plex Mono", "Consolas", monospace;--touch: 2.75rem;--page-pad-x: 1.25rem;--radius: 6px;font-family:var(--font);line-height:1.45;font-weight:400;color:var(--text);background:radial-gradient(1200px 600px at 10% -10%,#1c222b 0%,transparent 55%),radial-gradient(900px 500px at 100% 0%,#181c22 0%,transparent 50%),var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}html,body,#root{min-height:100%;min-height:100dvh;margin:0}body{padding:env(safe-area-inset-top,0) env(safe-area-inset-right,0) env(safe-area-inset-bottom,0) env(safe-area-inset-left,0)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.page{max-width:960px;margin:0 auto;padding:2rem var(--page-pad-x) 3rem;padding-bottom:calc(3rem + env(safe-area-inset-bottom,0))}.page-narrow{max-width:420px}.page-header,.topbar{margin-bottom:1.5rem}.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.topbar-actions{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.brand{margin:0 0 .25rem;font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-weight:600}h1{margin:0;font-size:1.75rem;font-weight:600;letter-spacing:-.02em}h2{margin:0 0 .75rem;font-size:1rem;font-weight:600;color:var(--text)}.lede{margin:.4rem 0 0;color:var(--muted);font-size:.95rem}.panel{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;display:flex;flex-direction:column;gap:.85rem}.panel form,form.panel{display:flex;flex-direction:column;gap:.85rem}label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;color:var(--muted)}input,select,textarea{background:var(--bg);border:1px solid var(--border);border-radius:4px;color:var(--text);padding:.65rem .75rem;font:inherit;font-size:1rem;width:100%;max-width:100%;min-height:var(--touch)}input:focus,select:focus,textarea:focus{outline:1px solid var(--accent-dim);border-color:var(--accent-dim)}button,.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--accent-dim);background:linear-gradient(180deg,#2a261c,#1f1c16);color:var(--text);border-radius:4px;padding:.65rem 1rem;font:inherit;font-size:1rem;font-weight:500;cursor:pointer;min-height:var(--touch);touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.5;cursor:not-allowed}button.ghost{background:transparent;border-color:var(--border);color:var(--muted)}button.danger{border-color:#6a3535;background:linear-gradient(180deg,#2a1a1a,#1a1212)}button.day{min-width:2.75rem;min-height:2.75rem;padding:.4rem .5rem;border-color:var(--border);background:var(--bg);color:var(--muted)}button.day.on{border-color:var(--accent-dim);color:var(--text);background:#2a261c}.day-toggles{display:flex;flex-wrap:wrap;gap:.45rem}.error{color:var(--error);margin:0;font-size:.9rem}.ok{color:var(--ok);margin:0;font-size:.9rem}.muted{color:var(--muted);font-size:.9rem}.center{text-align:center}.mono,.secret,code{font-family:var(--mono);font-size:.9rem}.secret-block .label{margin:0 0 .35rem;color:var(--muted);font-size:.85rem}.secret{display:block;word-break:break-all;overflow-wrap:anywhere;background:var(--bg);border:1px solid var(--border);padding:.6rem .75rem;border-radius:4px}.code-list{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}.break{word-break:break-all;overflow-wrap:anywhere}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated)}.data-table{width:100%;border-collapse:collapse;font-size:.92rem}.data-table th,.data-table td{text-align:left;padding:.75rem .9rem;border-bottom:1px solid var(--border);vertical-align:top}.data-table th{color:var(--muted);font-weight:500;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}.data-table tr:last-child td{border-bottom:none}.device-cards{display:none;flex-direction:column;gap:.75rem}.device-card{display:flex;flex-direction:column;gap:.65rem;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.1rem}.device-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.device-card-name{margin:0;font-size:1.05rem;font-weight:600;word-break:break-word}.device-card-meta{display:grid;gap:.35rem;font-size:.9rem}.device-card-meta .label{color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.row-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.row-actions button{min-height:2.25rem;padding:.35rem .75rem;font-size:.9rem}.device-card-actions{display:flex;gap:.5rem;margin-top:.15rem}.device-card-actions a,.device-card-actions .btn-link,.device-card-actions button{flex:1;display:inline-flex;align-items:center;justify-content:center;min-height:var(--touch);padding:.65rem 1rem;border:1px solid var(--accent-dim);border-radius:4px;background:linear-gradient(180deg,#2a261c,#1f1c16);color:var(--text);font-weight:500;text-decoration:none}.device-card-actions button.ghost.danger{border-color:#6a3535;background:linear-gradient(180deg,#2a1a1a,#1a1212);color:var(--text)}.device-card-actions a:hover{text-decoration:none;border-color:var(--accent)}.empty-state{padding:1.25rem;text-align:center;color:var(--muted);border:1px dashed var(--border);border-radius:var(--radius);background:var(--bg-elevated)}.badge{display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:.2rem .5rem;border-radius:3px;border:1px solid transparent}.badge.online{color:var(--online);border-color:#2d4a38;background:#152018}.badge.offline{color:var(--offline);border-color:#4a3828;background:#1c1612}.banner{margin-bottom:1rem;padding:.85rem 1rem;border:1px solid var(--accent-dim);background:#221e14;border-radius:4px;word-break:break-word}.banner code{font-size:1.05rem;letter-spacing:.06em}.control-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:1rem;margin-top:1rem}.status-panel{margin-bottom:.25rem}.stack-gap{display:flex;flex-direction:column;gap:.75rem}.button-row{display:flex;flex-wrap:wrap;gap:.5rem}.button-row>button{flex:1 1 auto;min-width:min(100%,9rem)}.countdown-shortcuts{display:flex;flex-wrap:wrap;gap:.5rem;margin:.5rem 0 .75rem}.countdown-shortcuts>button{min-height:var(--touch);padding:0 .85rem}.screenshot-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:max(.75rem,env(safe-area-inset-top,0)) max(.75rem,env(safe-area-inset-right,0)) max(.75rem,env(safe-area-inset-bottom,0)) max(.75rem,env(safe-area-inset-left,0));background:#080a0cb8}.screenshot-modal{display:flex;flex-direction:column;gap:.75rem;width:min(960px,100%);max-height:min(92vh,92dvh);overflow:auto;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.1rem 1.1rem;box-shadow:0 12px 40px #00000073}.screenshot-modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.screenshot-modal-header h2{margin:0}.screenshot-modal-header .muted{margin:.25rem 0 0}.screenshot-tabs{display:flex;flex-wrap:wrap;gap:.4rem}.screenshot-tabs .tab{min-height:2.5rem;padding:.4rem .75rem;border-color:var(--border);background:var(--bg);color:var(--muted);font-size:.9rem}.screenshot-tabs .tab.on{border-color:var(--accent-dim);color:var(--text);background:#2a261c}.screenshot-nav{display:none;align-items:center;justify-content:space-between;gap:.5rem}.screenshot-nav button{flex:0 0 auto;min-width:5.5rem}.screenshot-frame{display:flex;align-items:center;justify-content:center;background:var(--bg);border:1px solid var(--border);border-radius:4px;overflow:auto;min-height:12rem;max-height:min(70vh,70dvh)}.screenshot-frame img{display:block;max-width:100%;height:auto}.screenshot-modal-footer{display:flex;justify-content:flex-end;gap:.5rem}@media(max-width:720px){:root{--page-pad-x: 1rem}.page{padding-top:1.25rem}h1{font-size:1.45rem}.topbar{flex-direction:column;align-items:stretch;gap:.85rem}.topbar-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.topbar-actions .muted{grid-column:1 / -1;padding:.15rem 0}.topbar-actions a,.topbar-actions button{width:100%;text-align:center;display:inline-flex;align-items:center;justify-content:center;min-height:var(--touch);padding:.65rem .75rem;border:1px solid var(--border);border-radius:4px;background:transparent;color:var(--muted);text-decoration:none}.topbar-actions a:hover{text-decoration:none;border-color:var(--accent-dim);color:var(--text)}.devices-desktop{display:none}.device-cards{display:flex}.control-grid{grid-template-columns:1fr}.panel{padding:1.1rem}.day-toggles{display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem}button.day{width:100%;min-width:0}.screenshot-modal{width:100%;max-height:none;height:calc(100dvh - max(.5rem,env(safe-area-inset-top,0)) - max(.5rem,env(safe-area-inset-bottom,0)));border-radius:8px;padding:.85rem max(.85rem,env(safe-area-inset-right,0)) max(.85rem,env(safe-area-inset-bottom,0)) max(.85rem,env(safe-area-inset-left,0))}.screenshot-modal-backdrop{padding:max(.35rem,env(safe-area-inset-top,0)) max(.35rem,env(safe-area-inset-right,0)) max(.35rem,env(safe-area-inset-bottom,0)) max(.35rem,env(safe-area-inset-left,0));align-items:stretch}.screenshot-tabs{display:none}.screenshot-nav{display:flex}.screenshot-frame{flex:1;max-height:none;min-height:0}.screenshot-modal-footer button,.screenshot-nav button{min-height:var(--touch)}}@media(max-width:380px){.topbar-actions{grid-template-columns:1fr}.day-toggles{grid-template-columns:repeat(3,1fr)}}@media(hover:none){button:hover:not(:disabled){border-color:var(--accent-dim)}}
