@font-face{font-family:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/outfit-latin-ext-wght-normal-DdQaqQDo.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/outfit-latin-wght-normal-Bc-8i84L.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#0d0f1c;--ink:#f4f5fa;--ink-2:#b6bbd0;--ink-3:#8f95ae;--glass:#ffffff0f;--line:#ffffff1f;--hi:#ffffff29;--amber:#ffd98a;--amber-ink:#3b2500;--amber-glow:#ffbe50a6;--amber-tint:#ffcd7833;--amber-line:#ffcd7866;--violet:#c9b8ff;--violet-ink:#22124d;--violet-glow:#a082ff99;--green:#5be49b;--red:#ff8fa3;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--ink);background:var(--bg);font-family:Outfit Variable,system-ui,sans-serif}body{background:radial-gradient(circle at 12% 18%, #ffb04838, transparent 40%), radial-gradient(circle at 92% 28%, #40beff29, transparent 38%), radial-gradient(circle at 28% 96%, #8b5cf638, transparent 42%), var(--bg);background-attachment:fixed;min-height:100vh;margin:0}.glass{background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(22px)saturate(150%);backdrop-filter:blur(22px)saturate(150%);box-shadow:inset 0 1px 0 var(--hi), 0 10px 30px #00000047;border-radius:24px}@media (prefers-reduced-transparency:reduce){.glass{-webkit-backdrop-filter:none;backdrop-filter:none;background:#1a1d2e}}.page{flex-direction:column;gap:16px;max-width:1440px;margin:0 auto;padding:24px 20px 48px;display:flex}.top{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}h1{letter-spacing:-.01em;margin:0;font-size:34px;font-weight:600}.sub,.muted{color:var(--ink-2);margin:2px 0 0;font-size:14px}.pills{flex-wrap:wrap;gap:8px;display:flex}.pill{border:1px solid var(--line);background:var(--glass);height:32px;color:var(--ink-2);border-radius:16px;align-items:center;gap:6px;padding:0 12px;font-size:13px;display:inline-flex}.dot{background:var(--ink-3);border-radius:4px;width:8px;height:8px}.dot.ok{background:var(--green);box-shadow:0 0 8px var(--green)}.dot.bad{background:var(--red)}.summary,.notice{color:var(--ink-2);margin:0;padding:14px 18px;font-size:15px;line-height:1.45}.notice{color:#ffd0d8;border-color:#ff788c73}strong{color:var(--ink);font-weight:600}.search{height:44px;color:var(--ink);font:inherit;border-radius:22px;padding:0 16px;font-size:15px}.layout{flex-wrap:wrap;align-items:flex-start;gap:16px;display:flex}.grid{flex:999 600px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));align-items:start;gap:14px;min-width:0;display:grid}aside{flex:300px;min-width:0;position:sticky;top:16px}.card{flex-direction:column;gap:10px;padding:16px;display:flex}.card.on{border-color:var(--amber-line)}.card.offline{opacity:.55}.card-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.card h2{margin:0;font-size:17px;font-weight:600}.meta{color:var(--ink-3);margin:2px 0 0;font-size:12px}.badge{color:#ffd0d8;border:1px solid #ff788c80;border-radius:12px;padding:3px 10px;font-size:12px}.stack{flex-direction:column;gap:8px;display:flex}.row{background:#ffffff08;border:1px solid #ffffff12;border-radius:16px;align-items:center;gap:12px;min-height:52px;padding:4px 6px 4px 8px;display:flex}.row.lit{border-color:var(--amber-line);background:linear-gradient(90deg, var(--amber-tint) var(--fill,0%), #ffcd780d var(--fill,0%))}.row.cover-open{border-color:#b4a0ff66}.row.field{cursor:default}.chip{width:36px;height:36px;color:var(--ink-2);background:#ffffff17;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.chip.amber{background:var(--amber);color:var(--amber-ink);box-shadow:0 0 18px var(--amber-glow)}.chip.violet{background:var(--violet);color:var(--violet-ink);box-shadow:0 0 18px var(--violet-glow)}.text{flex-direction:column;flex-grow:1;min-width:0;display:flex}.label{font-size:14px;font-weight:600}.value{color:var(--ink-2);font-size:12px}.toggle{cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;width:60px;height:44px;padding:0;display:flex}.toggle .track{box-sizing:border-box;border:1px solid var(--hi);background:#ffffff1a;border-radius:14px;width:48px;height:28px;padding:3px;transition:background .15s;display:flex}.toggle .knob{background:#fff;border-radius:10px;width:20px;height:20px;transition:transform .15s}.toggle.on .track{background:#ffcd788c}.toggle.on .knob{transform:translate(20px);box-shadow:0 0 10px #ffdc96e6}.slider{width:100%;accent-color:var(--amber)}.slider.violet{accent-color:var(--violet)}.btns{gap:6px;display:flex}.btn{border:1px solid var(--line);width:44px;height:44px;color:var(--ink);cursor:pointer;background:#ffffff14;border-radius:14px;justify-content:center;align-items:center;display:flex}select option,select optgroup{color:var(--ink);background-color:#1b1e2f}select optgroup,select option:disabled{color:var(--ink-3)}select,input[type=number],input[type=text],input[type=password]{border:1px solid var(--line);max-width:50%;height:36px;color:var(--ink);font:inherit;background:#00000040;border-radius:10px;padding:0 10px;font-size:13px}details summary{cursor:pointer;color:var(--ink-2);padding:6px 4px;font-size:13px;list-style-position:inside}details[open] summary{margin-bottom:6px}.count{background:#ffffff1a;border-radius:10px;margin-left:4px;padding:1px 8px;font-size:12px}.readings{flex-wrap:wrap;gap:6px;display:flex}.reading{background:#ffffff0d;border:1px solid #ffffff14;border-radius:12px;flex-direction:column;padding:6px 10px;display:flex}.reading .label{color:var(--ink-3);font-size:11px;font-weight:500}.reading .value{color:var(--ink);font-size:14px}.reading.stale .value{color:var(--ink-2)}.reading .age{color:var(--ink-3);font-size:10px}.activity{padding:16px}.activity h2{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);margin:0 0 10px;font-size:13px;font-weight:600}.activity ol{flex-direction:column;gap:8px;max-height:70vh;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.activity li{grid-template-columns:auto 1fr auto;align-items:baseline;gap:8px;font-size:13px;display:grid}.time{color:var(--ink-3);font-variant-numeric:tabular-nums}.what{overflow-wrap:anywhere;min-width:0;color:var(--ink-2)}.cause{border-radius:10px;padding:2px 8px;font-size:11px}.cause.app{background:var(--violet);color:var(--violet-ink);box-shadow:0 0 10px var(--violet-glow)}.cause.device{color:var(--ink-2);background:#ffffff1a}.toast{color:#ffd0d8;border-color:#ff788c80;padding:12px 18px;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.main{flex-direction:column;flex:999 600px;gap:14px;min-width:0;display:flex}.main .grid{flex:none}.tabs{border:1px solid var(--line);background:var(--glass);border-radius:24px;gap:6px;width:fit-content;padding:4px;display:flex}.tabs button,.segmented button{min-height:40px;color:var(--ink-2);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:20px;align-items:center;gap:8px;padding:0 18px;font-size:14px;display:inline-flex}.tabs button[aria-pressed=true],.segmented button[aria-pressed=true]{color:var(--bg);background:#ffffffeb;font-weight:600}.rooms,.rules{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));align-items:start;gap:14px;display:grid}.room.occupied{border-color:#5be49b66}.occupancy{border:1px solid var(--line);color:var(--ink-2);border-radius:12px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;display:inline-flex}.occupancy.occupied .dot{background:var(--green);box-shadow:0 0 8px var(--green)}.room-pick{color:var(--ink-2);justify-content:space-between;align-items:center;gap:8px;font-size:13px;display:flex}button.label.editable{color:var(--ink);font:inherit;text-align:left;cursor:text;background:0 0;border:none;padding:0;font-size:14px;font-weight:600}button.label.editable:hover{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}input.rename{max-width:100%;height:30px}.add{gap:8px;display:flex}.add input{flex:1;max-width:none;height:44px}.pill-button{min-height:44px;color:var(--bg);font:inherit;cursor:pointer;background:#ffffffeb;border:none;border-radius:22px;padding:0 18px;font-weight:600}.link{color:var(--amber);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;padding:0;font-size:13px}.rule.active{border-color:var(--amber-line)}.sentence{margin:0;font-size:15px;line-height:1.45}.segmented{border:1px solid var(--line);background:#0003;border-radius:22px;padding:3px;display:flex}.segmented button{min-height:36px;padding:0 14px}.conditions{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.conditions li{background:#ffffff08;border:1px solid #ffffff14;border-radius:14px;align-items:flex-start;gap:10px;padding:8px 10px;display:flex}.conditions .mark{width:22px;height:22px;color:var(--ink-2);background:#ffffff1a;border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;display:flex}.conditions li.met .mark{background:var(--green);color:#062b18;box-shadow:0 0 10px #5be49b99}.conditions li.unmet .mark{color:var(--red);background:#ff8fa340}.rule-state{color:var(--ink-2);margin:0;font-size:13px}.decisions{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.decisions li{grid-template-columns:auto 1fr auto;align-items:baseline;gap:8px;font-size:13px;display:grid}.decisions .why{color:var(--ink-3);font-size:12px;display:block}.hint{border-color:var(--amber-line)}.toast.note{color:var(--ink);border-color:#c9b8ff80;max-width:min(560px,100vw - 32px)}.dot.spark{background:var(--violet);box-shadow:0 0 8px var(--violet-glow)}.suggestion{background:radial-gradient(circle at 0% 0%, #a082ff2e, transparent 55%), var(--glass);border-color:#c9b8ff73;gap:14px;padding:18px;display:flex}.suggestion .body{flex-direction:column;gap:6px;min-width:0;display:flex}.suggestion .eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--violet);margin:0;font-size:11px;font-weight:600}.suggestion h2{margin:0;font-size:18px;font-weight:600}.suggestion .detail,.suggestion .replay{color:var(--ink-2);margin:0;font-size:14px;line-height:1.45}.suggestion .replay{border-left:2px solid var(--violet);color:var(--ink);background:#ffffff0d;border-radius:0 10px 10px 0;padding:8px 12px}.suggestion .replay.pending{color:var(--ink-3)}.suggestion .actions{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.soft-button,.ghost-button{border:1px solid var(--line);min-height:44px;color:var(--ink);font:inherit;cursor:pointer;background:#ffffff1a;border-radius:22px;padding:0 18px;font-weight:600}.ghost-button{color:var(--ink-2);background:0 0;font-weight:500}.suggestion .fineprint{color:var(--ink-3);margin:2px 0 0;font-size:12px;line-height:1.4}.suggestion .fineprint strong{color:var(--ink-2)}.gate{box-sizing:border-box;place-items:center;min-height:100vh;padding:16px;display:grid}.gate-card{box-sizing:border-box;flex-direction:column;gap:14px;width:min(400px,100%);padding:28px 24px;display:flex}.gate-card h1{margin:0}h1.brand{line-height:0}h1.brand img{width:auto;height:40px;display:block}.gate-card h1.brand img{height:48px}.lead{color:var(--ink-2);margin:0;font-size:15px;line-height:1.45}.field-block{color:var(--ink-2);flex-direction:column;gap:6px;font-size:13px;display:flex}.field-block input{max-width:none;height:44px;font-size:16px}.field-block small,.fineprint{color:var(--ink-3);margin:0;font-size:12px;line-height:1.4}.wide{width:100%}button:disabled{opacity:.6;cursor:progress}.or{color:var(--ink-3);align-items:center;gap:10px;margin:0;font-size:12px;display:flex}.or:before,.or:after{content:"";border-top:1px solid var(--line);flex:1}.problem{color:#ffd0d8;margin:0;font-size:13px}.note{color:var(--green);margin:0;font-size:13px}.pill-link{cursor:pointer;color:var(--ink);font-family:inherit}.account{flex-direction:column;gap:14px;max-width:640px;display:flex}.account .card{gap:12px}.account h2{margin:0}.list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.list li{background:#ffffff0d;border:1px solid #ffffff14;border-radius:14px;align-items:center;gap:10px;padding:10px 12px;display:flex}.ghost-button.small{min-height:34px;padding:0 12px;font-size:13px}.actions{flex-wrap:wrap;gap:8px;display:flex}.overlay{z-index:10;background:#05060e99;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.pairing{box-sizing:border-box;text-align:center;flex-direction:column;align-items:center;gap:12px;width:min(360px,100%);padding:24px;display:flex}.pairing h2{margin:0}.qr{background:#fff;border-radius:16px;padding:10px;line-height:0}.qr svg{width:200px;height:200px}.code{letter-spacing:.12em;font-variant-numeric:tabular-nums;margin:0;font-size:28px;font-weight:600}.setup{border-color:#c9b8ff73;flex-direction:column;gap:12px;padding:18px;display:flex}.setup .eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--violet);margin:0;font-size:11px;font-weight:600}.setup h2,.setup h3{margin:0}.setup h3{color:var(--ink-2);font-size:14px}.setup .list select{max-width:45%}.ha-connect{flex-direction:column;gap:8px;display:flex}.new-rooms{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.room-name{width:150px}.check{flex-direction:row;align-items:center;gap:10px}.import-button{align-self:flex-start}.agreement{border-left:2px solid var(--violet);color:var(--ink-2);background:#ffffff0d;border-radius:0 10px 10px 0;margin:0;padding:8px 12px;font-size:13px}.agreement.good{border-left-color:var(--green);color:var(--ink)}.rules-top{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.editor{gap:14px;max-width:760px}.editor h3{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);margin:6px 0 0;font-size:13px;font-weight:600}.editor .segmented{flex-wrap:wrap;align-self:flex-start}.segmented.small button{min-height:30px;padding:0 12px}.rule-line{grid-template-columns:110px 1fr;align-items:start;gap:10px;display:grid}.line-title{color:var(--ink-2);padding-top:8px;font-size:13px;font-weight:600}.line-parts{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.line-parts select{max-width:100%}.joiner,.unit{color:var(--ink-3);font-size:13px}.part-chip,.part-add{min-height:36px;font:inherit;cursor:pointer;border-radius:18px;padding:0 14px;font-size:14px}.part-chip{border:1px solid var(--amber-line);color:var(--ink);text-align:left;background:#ffd98a1f}.part-chip.open{background:var(--amber);color:var(--amber-ink);box-shadow:0 0 14px var(--amber-glow)}.part-add{border:1px dashed var(--line);color:var(--ink-2);background:0 0}.part-form{border:1px solid var(--line);background:#00000038;border-radius:18px;flex-direction:column;gap:12px;margin-left:120px;padding:14px;display:flex}.part-fields{flex-direction:column;gap:10px;display:flex}.part-field{color:var(--ink-2);flex-direction:column;gap:4px;font-size:13px;display:flex}.part-field select,.part-field input[type=time]{max-width:100%;height:40px}.part-field input[type=time]{border:1px solid var(--line);color:var(--ink);font:inherit;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#00000040;border-radius:10px;padding:0 10px}.inline{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.inline input[type=number]{width:90px}.preview{border-left:2px solid var(--amber);background:#ffffff0d;border-radius:0 14px 14px 0;flex-direction:column;gap:6px;padding:12px 14px;display:flex}.preview .sentence{font-size:16px}.warning{color:var(--amber);margin:0;font-size:13px}.try{flex-direction:column;gap:8px;display:flex}.try .soft-button{align-self:flex-start}.replay-summary{margin:0;font-size:14px}.runs{flex-direction:column;gap:8px;max-height:420px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.runs li{grid-template-columns:150px 1fr;gap:10px;font-size:13px;display:grid}.runs .time{color:var(--ink-3)}.runs .what{flex-direction:column;gap:2px;display:flex}.runs .why{color:var(--ink-3);font-size:12px}.runs strong{font-weight:500}.runs strong.same{color:var(--ink-3)}.runs li.stopped .time{text-decoration:line-through}.danger{color:var(--red)}.ghost-button:disabled,.pill-button:disabled,.soft-button:disabled{opacity:.5;cursor:default}@media (width<=640px){.rule-line{grid-template-columns:1fr;gap:6px}.line-title{padding-top:0}.part-form{margin-left:0}.runs li{grid-template-columns:1fr;gap:2px}}.runs strong.failed{color:var(--amber)}.line-parts input[type=number]{width:90px}.notify-device{align-items:flex-start}.notify-device .kinds{color:var(--ink-2);flex-wrap:wrap;gap:4px 14px;margin-top:6px;font-size:13px;display:flex}.part-field input[type=text]{max-width:100%;height:40px}a.svelte-a37r3z{color:inherit}
