:root{--bg: #0b0b0f;--surface: #131318;--surface-2: #1a1a21;--surface-3: #101015;--border: #26262f;--border-subtle: #1f1f27;--text: #f2f2f5;--muted: #a1a1ad;--muted-2: #b4b4c0;--accent: #3b73e3;--accent-strong: #2b5fd1;--accent-text: #ffffff;--accent-soft: rgba(59, 115, 227, .16);--accent-ring: rgba(59, 115, 227, .28);--danger: #ff6b6f;--danger-soft: rgba(255, 107, 111, .14);--warn: #fbbf24;--warn-soft: rgba(251, 191, 36, .14);--ok: #4ade80;--radius: 1.25rem;--radius-sm: .875rem;--shadow: 0 1px 2px rgba(0, 0, 0, .5), 0 16px 32px -18px rgba(0, 0, 0, .7);color-scheme:dark}*{box-sizing:border-box;margin:0}body{font-family:Plus Jakarta Sans,system-ui,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:Plus Jakarta Sans,system-ui,sans-serif}.mono,.num{font-family:IBM Plex Mono,ui-monospace,monospace;font-variant-numeric:tabular-nums}.app{min-height:100vh;display:grid;grid-template-columns:288px minmax(0,1fr);gap:0}.rail{position:sticky;top:0;align-self:start;height:100vh;display:flex;flex-direction:column;gap:18px;padding:22px 20px;background:var(--surface-3);border-right:1px solid var(--border);overflow-y:auto}.brand{display:flex;align-items:center;gap:12px}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex:none;border-radius:12px;background:linear-gradient(140deg,var(--accent-strong),#1f4fa8);color:#fff;box-shadow:0 10px 24px -12px var(--accent-strong)}.brand h1{font-size:15px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.brand p{font-size:11px;color:var(--muted-2);margin-top:2px;letter-spacing:.04em}.status-pill{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;padding:5px 11px;border-radius:999px;border:1px solid var(--border);background:var(--surface);font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.dot{width:7px;height:7px;border-radius:999px;background:var(--ok);box-shadow:0 0 #34d39999;animation:pulse 2.4s ease-out infinite}.dot.off{background:var(--warn);animation:none}@keyframes pulse{70%{box-shadow:0 0 0 7px #34d39900}to{box-shadow:0 0 #34d39900}}.next-card{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius);padding:16px}.next-card .eyebrow{display:block;font-size:10px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--muted-2)}.next-card .time{display:block;margin-top:10px;font-family:Lora,Georgia,serif;font-size:30px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.next-card .label{display:block;margin-top:4px;font-size:13px;color:var(--muted)}.next-card .none{display:block;margin-top:10px;font-size:14px;color:var(--muted-2)}.rail-section{border-top:1px solid var(--border-subtle);padding-top:16px}.rail-title{font-size:10px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--muted-2);margin-bottom:10px}.rail-hint{font-size:12px;line-height:1.5;color:var(--muted-2)}.rail-foot{margin-top:auto;display:flex;flex-direction:column;gap:10px}.gear{display:inline-flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;transition:background .15s,color .15s,border-color .15s}.gear:hover{background:var(--surface-2);color:var(--text);border-color:#d9d9e2}.gear svg{transition:transform .4s}.gear:hover svg{transform:rotate(60deg)}main{padding:28px 32px 56px;display:flex;flex-direction:column;gap:18px;max-width:900px;width:100%}.banner,.update-banner{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 16px;border-radius:var(--radius-sm);font-size:13px}.banner{background:var(--warn-soft);border:1px solid rgba(180,83,9,.28);color:var(--warn);flex-wrap:wrap}.banner span{flex:1;min-width:12rem}.banner button{flex-shrink:0}.update-banner{background:var(--accent-soft);border:1px solid rgba(59,115,227,.32);color:var(--accent)}.active-alarm{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:16px;border-radius:var(--radius);border:1px solid rgba(59,115,227,.4);background:linear-gradient(180deg,#3b73e31f,#3b73e30a);box-shadow:0 0 0 1px #3b73e30f,var(--shadow)}.active-alarm .msg{font-weight:700;font-size:15px}.active-actions{display:flex;gap:8px;flex-wrap:wrap}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--border-subtle)}.panel-head h2{font-size:11px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.panel-head .count{font-size:11px;color:var(--muted-2);font-variant-numeric:tabular-nums}.panel-body{padding:18px;display:flex;flex-direction:column;gap:12px}.paste textarea{width:100%;min-height:104px;padding:14px;border:1px solid var(--border);border-radius:var(--radius-sm);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;line-height:1.6;resize:vertical;background:var(--surface-3);color:var(--text);transition:border-color .15s,box-shadow .15s}.paste textarea::placeholder{color:#6b7280}.paste textarea:focus{outline:none;border-color:#3b73e380;box-shadow:0 0 0 3px #3b73e31f}button{font:inherit;font-size:13px;font-weight:600;padding:10px 16px;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;background:var(--surface-2);color:var(--text);transition:background .15s,border-color .15s,color .15s,transform .08s}button:active{transform:scale(.985)}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button.primary{background:var(--accent-strong);color:var(--accent-text);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:12px;box-shadow:0 14px 30px -18px var(--accent-strong)}.paste button.primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:13px 16px}button.primary:hover:not(:disabled){background:#2b5fd1}button.primary:disabled{opacity:.4;cursor:default;box-shadow:none}button.ghost{background:transparent;border-color:var(--border);color:var(--muted)}button.ghost:hover{background:var(--surface-2);color:var(--text)}button.danger{background:transparent;border-color:#fb718559;color:var(--danger)}button.danger:hover{background:var(--danger-soft)}table{width:100%;border-collapse:separate;border-spacing:0}th{text-align:left;font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--muted-2);padding:10px 14px;border-bottom:1px solid var(--border-subtle)}td{padding:6px 10px;border-bottom:1px solid var(--border-subtle)}tbody tr:last-child td{border-bottom:none}tbody tr:hover td{background:#3b73e30a}td.empty{text-align:center;color:var(--muted-2);padding:34px 14px;font-size:13px}td input,td select{width:100%;padding:8px 10px;border:1px solid transparent;border-radius:8px;font:inherit;font-size:13px;background:transparent;color:var(--text)}td select{-webkit-appearance:none;-moz-appearance:none;appearance:none;color:var(--muted)}td select option{background:var(--surface);color:var(--text)}td input:hover,td select:hover{background:var(--surface-2)}td input:focus,td select:focus{border-color:#3b73e380;background:var(--surface-3);outline:none}td .row-remove{padding:6px 10px;background:transparent;border:none;color:var(--muted-2);font-size:13px}td .row-remove:hover{color:var(--danger);background:var(--danger-soft)}.actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.sound-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;overflow:hidden}.sound-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:14px 18px;background:transparent;border:none;border-radius:0;cursor:pointer;text-align:left;font-size:11px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.sound-toggle:hover{background:#3b73e30a;color:var(--text)}.sound-toggle .current{margin-left:10px;font-weight:500;letter-spacing:.02em;text-transform:none;color:var(--accent)}.sound-toggle .chev{color:var(--muted-2);transition:transform .2s}.sound-card.open .sound-toggle .chev{transform:rotate(180deg)}.sound-card.open .sound-grid{padding:14px 18px 18px;border-top:1px solid var(--border-subtle)}.sound-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px}.sound-tile{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-3);cursor:pointer;font-size:13px;font-weight:500;color:var(--muted);text-align:left}.sound-tile:hover{border-color:#d9d9e2;color:var(--text)}.sound-tile.selected{border-color:#3b73e38c;background:var(--accent-soft);color:var(--text)}.sound-tile .preview{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex:none;border-radius:999px;background:var(--surface-2);color:var(--accent);font-size:10px;cursor:pointer}.sound-tile .preview:hover{background:#3b73e333}footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2);border-top:1px solid var(--border-subtle);padding-top:14px}footer .status{color:var(--accent);text-transform:none;letter-spacing:.01em;font-size:12px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#14141e73;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:16px;z-index:50}.modal{width:100%;max-width:440px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--border-subtle)}.modal-head h2{font-size:12px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.modal-head .icon{padding:4px 10px;border:none;background:transparent;color:var(--muted)}.modal-body{padding:6px 18px 18px;display:flex;flex-direction:column}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--border-subtle)}.setting-row:last-child{border-bottom:none}.setting-label{display:flex;flex-direction:column;font-size:13px;font-weight:600}.setting-label small{font-weight:400;color:var(--muted-2);font-size:12px;margin-top:2px}.setting-input{display:inline-flex;align-items:center;gap:6px;color:var(--muted-2);font-size:11px;text-transform:uppercase;letter-spacing:.1em}.setting-input em{font-style:normal}.setting-input input{width:68px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;font:inherit;font-size:13px;font-variant-numeric:tabular-nums;background:var(--surface-3);color:var(--text)}.setting-input input:focus{outline:none;border-color:#3b73e380}@media (max-width: 900px){.app{grid-template-columns:1fr}.rail{position:static;height:auto;border-right:none;border-bottom:1px solid var(--border);flex-direction:column}.rail-foot{margin-top:0}main{padding:20px 16px 48px}}@media (max-width: 620px){table,thead,tbody,th,td,tr{display:block}thead{display:none}tbody tr{border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px;margin-bottom:8px}td{border-bottom:none;padding:4px 6px}.actions button{flex:1 1 45%}}
