:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#131316;--bg-2:#1a1a1e;--card:#1f1f24;--card-2:#26262d;--inset:#16161a;--line:#2a2a31;--line-2:#3f3f46;--fg:#f4f4f5;--subtle:#d4d4d8;--muted:#71717a;--faint:#52525b;--accent:#8b5cf6;--accent-2:#a78bfa;--accent-ink:#fff;--accent-soft:#8b5cf61a;--accent-ring:#8b5cf64d;--edit:#10b981;--edit-2:#34d399;--edit-ink:#062017;--edit-soft:#10b9811a;--edit-ring:#10b9814d;--danger:#ef4444;--danger-2:#dc2626;--danger-ink:#fff;--radius:.625rem;--radius-sm:.4375rem;--card-h:4.25rem;--shadow-1:0 1px 0 #ffffff05 inset}*{box-sizing:border-box}html,body,#root{background:var(--bg);height:100%;color:var(--fg);font-feature-settings:"ss01", "cv11";overscroll-behavior:contain;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font:15px/1.45 ui-sans-serif,system-ui,-apple-system,Inter,Segoe UI,Roboto,sans-serif}main{width:100%;max-width:32rem;min-height:100%;padding:env(safe-area-inset-top,0) clamp(.75rem, 2vw, 1.25rem) env(safe-area-inset-bottom,0);flex-direction:column;margin:0 auto;display:flex;overflow-x:hidden}main.center{text-align:center;justify-content:center;align-items:center}.welcome{flex-direction:column;align-items:center;gap:1rem;max-width:24rem;padding:2rem 1rem;display:flex}.welcome h1{letter-spacing:-.025em;color:var(--fg);margin:0;font-size:1.65rem;font-weight:600}.welcome p{color:var(--subtle);margin:0}button,input{font:inherit;color:var(--fg);background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);letter-spacing:-.005em;min-height:38px;padding:.55rem .9rem}button{cursor:pointer;transition:background .12s,border-color .12s,color .12s}button:hover{background:var(--card-2);border-color:var(--line-2)}button:active{background:var(--bg-2)}button:disabled{opacity:.4;cursor:not-allowed}input{background:var(--inset)}input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring);outline:none}.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:600}.primary:hover{background:var(--accent-2);border-color:var(--accent-2)}.primary.tiny{min-height:0;padding:.25rem .65rem;font-size:.72rem}.danger{background:var(--danger);color:var(--danger-ink);border-color:var(--danger);font-weight:600}.danger:hover{background:var(--danger-2);border-color:var(--danger-2)}.danger:active{background:var(--danger-2)}.muted{color:var(--muted)}.error{color:var(--danger);font-size:.85rem}.icon-btn{border-radius:var(--radius-sm);border:1px solid var(--line);width:2.25rem;min-width:2.25rem;height:2.25rem;min-height:2.25rem;color:var(--subtle);background:0 0;justify-content:center;align-items:center;padding:0;font-size:.95rem;display:inline-flex}.icon-btn:hover{color:var(--fg);background:var(--card)}.icon-btn.active{background:var(--edit-soft);color:var(--edit-2);border-color:color-mix(in oklab, var(--edit) 40%, var(--line))}.icon-btn.active:hover{background:color-mix(in oklab, var(--edit) 14%, transparent)}.bar{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem .25rem;display:flex}.bar-title{color:var(--fg);letter-spacing:-.01em;font-size:.95rem;font-weight:600}.bar-actions{align-items:center;gap:.4rem;display:flex}.board-foot{border-bottom:0;border-top:1px solid var(--line);justify-content:center;padding:.6rem 0;font-size:.75rem}.grid{flex-direction:column;gap:.4rem;padding:.75rem 0;display:flex}.cell{width:100%;height:var(--card-h);display:flex;position:relative}.cell>*{flex:1;min-width:0}.cell.editable{cursor:pointer}.cell.editable .card{pointer-events:none}.grid.editing .card{border-color:color-mix(in oklab, var(--edit) 45%, var(--line));background:color-mix(in oklab, var(--edit) 4%, var(--card))}.cell.editable:hover .card{border-color:var(--edit);background:color-mix(in oklab, var(--edit) 10%, var(--card))}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);width:100%;height:100%;color:var(--fg);text-align:left;box-shadow:var(--shadow-1);grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);align-items:center;gap:.85rem;padding:.6rem .95rem;transition:background .15s,border-color .15s,color .15s;display:grid;position:relative}.card:hover{background:var(--card-2);border-color:var(--line-2)}.card-title{color:var(--fg);white-space:nowrap;text-overflow:ellipsis;letter-spacing:-.01em;font-size:.875rem;font-weight:500;overflow:hidden}.card-head{flex-direction:column;gap:.15rem;min-width:0;display:flex}.card-sub{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;letter-spacing:0;text-transform:none;align-items:center;gap:.3rem;font-family:ui-monospace,JetBrains Mono,SFMono-Regular,Menlo,monospace;font-size:.625rem;display:flex;overflow:hidden}.card-sub-icon{color:var(--accent);font-weight:700}.card-sub-cmd{text-overflow:ellipsis;overflow:hidden}.card-foot{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;flex-direction:column;align-items:flex-end;gap:.15rem;font-size:.625rem;display:flex}.card-id{color:var(--faint);font-family:ui-monospace,JetBrains Mono,SFMono-Regular,Menlo,monospace;font-size:.625rem;font-weight:500}.card-state{color:var(--subtle);font-weight:600}.card>.toggle,.card>.press-pad,.card>.timer-value{justify-self:center}.card-switch .toggle{background:var(--inset);border:1px solid var(--line);border-radius:999px;width:2.85rem;height:1.6rem;transition:background .18s,border-color .18s;position:relative}.card-switch .toggle-thumb{background:var(--muted);border-radius:50%;width:1.2rem;height:1.2rem;transition:transform .2s cubic-bezier(.4,.2,.2,1),background .2s;position:absolute;top:2px;left:2px}.card-switch.on .toggle{background:var(--accent);border-color:var(--accent)}.card-switch.on .toggle-thumb{background:#fff;transform:translate(1.25rem)}.card-switch.on .card-state{color:var(--accent-2)}.card-button .press-pad{background:var(--inset);border:1px solid var(--line);border-radius:var(--radius-sm);letter-spacing:.1em;width:100%;max-width:5.5rem;height:1.85rem;color:var(--subtle);justify-content:center;align-items:center;font-size:.7rem;font-weight:600;transition:background .12s,color .12s,border-color .12s;display:flex}.card-button:hover .press-pad{background:var(--card-2);color:var(--fg);border-color:var(--line-2)}.card-button:active .press-pad{background:var(--accent);color:#fff;border-color:var(--accent)}.card-slider{cursor:default;grid-template-columns:minmax(0,1.1fr) minmax(0,1.6fr) minmax(0,.9fr);align-items:center}.slider-input{appearance:none;cursor:pointer;--pct:0%;background:0 0;width:100%;height:1.6rem;margin:0;padding:0}.slider-input::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--accent) 0%, var(--accent) var(--pct), var(--inset) var(--pct), var(--inset) 100%);border:1px solid var(--line);border-radius:999px;height:.4rem}.slider-input::-webkit-slider-thumb{appearance:none;background:var(--accent-ink);border:2px solid var(--accent);border-radius:50%;width:1.05rem;height:1.05rem;margin-top:-.4rem;transition:transform 80ms;box-shadow:0 1px 3px #00000073}.slider-input:active::-webkit-slider-thumb{transform:scale(1.08)}.slider-input::-moz-range-track{background:var(--inset);border:1px solid var(--line);border-radius:999px;height:.4rem}.slider-input::-moz-range-progress{background:var(--accent);border-radius:999px;height:.4rem}.slider-input::-moz-range-thumb{background:var(--accent-ink);border:2px solid var(--accent);border-radius:50%;width:1.05rem;height:1.05rem;box-shadow:0 1px 3px #00000073}.slider-input:focus{outline:none}.slider-input:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px var(--accent-ring)}.slider-input:focus-visible::-moz-range-thumb{box-shadow:0 0 0 4px var(--accent-ring)}.card-slider .card-state{color:var(--accent-2);font-feature-settings:"tnum";font-family:ui-monospace,JetBrains Mono,SFMono-Regular,Menlo,monospace}.card-timer .timer-value{letter-spacing:.02em;color:var(--fg);font-variant-numeric:tabular-nums;font-family:ui-monospace,JetBrains Mono,SFMono-Regular,Menlo,monospace;font-size:1.25rem;font-weight:600}.card-timer.running{border-color:color-mix(in oklab, var(--accent) 50%, var(--line))}.card-timer.running .timer-value,.card-timer.running .card-state{color:var(--accent-2)}.timer-progress{background:var(--line);border-bottom-left-radius:var(--radius);border-bottom-right-radius:var(--radius);height:2px;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.timer-progress>span{background:var(--accent);height:100%;transition:width .5s linear;display:block}.card-edit{border-style:solid;border-color:var(--edit);background:color-mix(in oklab, var(--edit) 8%, var(--card));box-shadow:0 0 0 3px var(--edit-ring);grid-template-columns:minmax(0,auto) minmax(0,1fr) minmax(0,auto);pointer-events:auto!important}.card-edit .card-title{color:var(--edit-2)}.rename-input{background:var(--bg);border:1px solid color-mix(in oklab, var(--edit) 50%, var(--line));border-radius:var(--radius-sm);text-align:center;width:100%;height:1.85rem;min-height:0;color:var(--fg);letter-spacing:-.005em;outline:none;padding:.15rem .5rem;font-size:.9rem;font-weight:500}.rename-input:focus{box-shadow:0 0 0 3px var(--edit-ring);border-color:var(--edit)}.cell-edit-timer{height:auto;min-height:var(--card-h)}.card-edit-timer{text-align:left;grid-template-rows:auto auto auto auto;grid-template-columns:1fr;gap:.5rem;padding:.7rem .95rem}.card-edit-timer .edit-fields{align-items:center;gap:.5rem;width:100%;display:flex}.card-edit-timer .edit-fields .rename-input{flex:1;min-width:0}.card-edit-timer .mins-row{flex-shrink:0;align-items:center;gap:.3rem;display:flex}.card-edit-timer .mins-input{flex:none;width:4rem}.card-edit-timer .mins-suffix{color:var(--muted);font-size:.75rem}.card-edit-timer .card-foot{flex-direction:row;justify-content:space-between;align-items:center;width:100%}.on-complete-row{color:var(--subtle);flex-wrap:wrap;align-items:center;gap:.45rem;font-size:.7rem;display:flex}.on-complete-label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.6rem;font-weight:600}.on-complete-cmd{background:var(--inset);border:1px solid var(--line);color:var(--accent-2);border-radius:var(--radius-sm);padding:.1rem .4rem;font-family:ui-monospace,JetBrains Mono,SFMono-Regular,Menlo,monospace;font-size:.7rem}.on-complete-hint{color:var(--faint);font-size:.625rem;font-style:italic}.edit-done{background:var(--edit);color:var(--edit-ink);border:1px solid var(--edit);border-radius:var(--radius-sm);letter-spacing:.02em;cursor:pointer;font-weight:600;transition:background .15s}.edit-done:hover{background:var(--edit-2);border-color:var(--edit-2)}.edit-done.tiny{min-height:0;padding:.25rem .7rem;font-size:.7rem}.cell-separator{height:auto;padding:.55rem 0 .2rem}.separator-line{background:var(--line);border:0;width:100%;height:1px;margin:0}.separator-titled{align-items:center;gap:.7rem;width:100%;padding:.1rem 0;display:flex}.separator-titled .separator-rule{background:var(--line);flex:1;height:1px}.separator-titled .separator-text{color:var(--muted);letter-spacing:.16em;text-transform:uppercase;font-size:.65rem;font-weight:600}.denied{animation:.6s deny-flash}@keyframes deny-flash{0%,to{box-shadow:var(--shadow-1)}50%{box-shadow:0 0 0 1px var(--danger) inset}}.install{flex-direction:column;align-items:center;gap:.4rem;margin-top:.5rem;display:flex}.install button{background:0 0}.install .small{text-align:center;max-width:22rem;color:var(--muted);font-size:.8rem}.modal-backdrop{-webkit-backdrop-filter:blur(8px);z-index:100;background:#08080a99;justify-content:center;align-items:flex-start;padding:clamp(1rem,5vh,4rem) 1rem 1rem;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;width:100%;max-width:28rem;padding:0 1rem 1rem;display:flex}.modal .bar{padding:.75rem 0}.modal-body{flex-direction:column;gap:.75rem;padding-top:.5rem;display:flex}.modal-body h3{color:var(--subtle);letter-spacing:-.005em;margin:0;font-size:.9rem;font-weight:600}.modal-footer{border-top:1px solid var(--line);justify-content:flex-end;padding-top:.5rem;display:flex}.device-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.device-row{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:.75rem;padding:.6rem .8rem;display:flex}.device-info{flex:1;min-width:0}.device-name{text-overflow:ellipsis;font-weight:500;overflow:hidden}.device-actions{flex-shrink:0;gap:.4rem;display:flex}.small{color:var(--muted);font-size:.8rem}code{background:var(--card);color:var(--accent-2);border:1px solid var(--line);border-radius:.25em;padding:.1em .3em;font-size:.85em}.settings-fab{top:calc(env(safe-area-inset-top,0) + .75rem);right:calc(env(safe-area-inset-right,0) + .75rem);background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);z-index:50;width:2.5rem;min-width:44px;height:2.5rem;min-height:44px;color:var(--subtle);justify-content:center;align-items:center;padding:0;font-size:1rem;display:flex;position:fixed}.settings-fab:hover{color:var(--fg)}@media (width<=480px){:root{--card-h:4rem}main{padding:env(safe-area-inset-top,0) .5rem env(safe-area-inset-bottom,0)}.grid{gap:.35rem;padding:.55rem 0}.card{gap:.6rem;padding:.5rem .75rem}.card-title{font-size:.825rem}.card-foot{font-size:.55rem}.card-switch .toggle{width:2.55rem;height:1.4rem}.card-switch .toggle-thumb{width:1.05rem;height:1.05rem}.card-switch.on .toggle-thumb{transform:translate(1.15rem)}.card-button .press-pad{max-width:4.4rem;height:1.65rem;font-size:.65rem}.card-timer .timer-value{font-size:1.05rem}.card-edit-timer .mins-input{width:3.4rem}button,input{min-height:36px;padding:.45rem .75rem;font-size:.875rem}.icon-btn{width:2.1rem;min-width:2.1rem;height:2.1rem;min-height:2.1rem;font-size:.9rem}.modal{border-radius:0;max-width:100%;max-height:100vh;padding:.75rem}.modal-backdrop{align-items:stretch;padding:0}.bar{gap:.4rem;padding:.55rem 0}.bar-title{font-size:.875rem}.bar-actions{gap:.3rem}.welcome{padding:1.5rem .5rem}.welcome h1{font-size:1.4rem}.device-row{gap:.5rem;padding:.5rem .6rem}.device-name{font-size:.875rem}}
