:root{color-scheme:light;--page: #f9f9f7;--surface: #fcfcfb;--surface-2: #f0efec;--ink: #0b0b0b;--ink-2: #52514e;--muted: #898781;--grid: #e1e0d9;--axis: #c3c2b7;--border: rgba(11, 11, 11, .1);--accent: #2a78d6;--good: #006300;--bad: #b42323;--c-load: #2a78d6;--c-pv: #eda100;--c-bat: #1baf7a;--c-grid: #4a3aa7;--c-l1: #e87ba4;--c-l2: #008300;--c-l3: #4a3aa7;--c-feedin: #2a78d6;--c-force: #eb6834;--c-event: rgba(42, 120, 214, .1);--c-event-sel: rgba(42, 120, 214, .32);--seq-0: #cde2fb;--seq-1: #104281;--radius: 12px;--gap: 12px;font-family:system-ui,-apple-system,Segoe UI,sans-serif}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){color-scheme:dark;--page: #0d0d0d;--surface: #1a1a19;--surface-2: #262624;--ink: #ffffff;--ink-2: #c3c2b7;--muted: #898781;--grid: #2c2c2a;--axis: #383835;--border: rgba(255, 255, 255, .1);--accent: #3987e5;--good: #0ca30c;--bad: #e66767;--c-load: #3987e5;--c-pv: #c98500;--c-bat: #199e70;--c-grid: #9085e9;--c-l1: #d55181;--c-l2: #008300;--c-l3: #9085e9;--c-feedin: #3987e5;--c-force: #d95926;--c-event: rgba(57, 135, 229, .16);--c-event-sel: rgba(57, 135, 229, .4);--seq-0: #1d2733;--seq-1: #86b6ef}}:root[data-theme=dark]{color-scheme:dark;--page: #0d0d0d;--surface: #1a1a19;--surface-2: #262624;--ink: #ffffff;--ink-2: #c3c2b7;--muted: #898781;--grid: #2c2c2a;--axis: #383835;--border: rgba(255, 255, 255, .1);--accent: #3987e5;--good: #0ca30c;--bad: #e66767;--c-load: #3987e5;--c-pv: #c98500;--c-bat: #199e70;--c-grid: #9085e9;--c-l1: #d55181;--c-l2: #008300;--c-l3: #9085e9;--c-feedin: #3987e5;--c-force: #d95926;--c-event: rgba(57, 135, 229, .16);--c-event-sel: rgba(57, 135, 229, .4);--seq-0: #1d2733;--seq-1: #86b6ef}*{box-sizing:border-box}html,body{margin:0;background:var(--page);color:var(--ink)}body{font-size:15px;line-height:1.4;-webkit-text-size-adjust:100%}button,input,select{font:inherit;color:inherit}a{color:var(--accent)}.app{max-width:1200px;margin:0 auto;padding:0 16px 96px}header.top{display:flex;align-items:center;gap:16px;padding:14px 0;position:sticky;top:0;z-index:5;background:var(--page)}header.top .brand{font-weight:650;font-size:17px;display:flex;align-items:center;gap:8px}header.top .brand img{width:24px;height:24px}nav.tabs{display:flex;gap:4px}nav.tabs a{text-decoration:none;color:var(--ink-2);padding:7px 12px;border-radius:999px;font-weight:550}nav.tabs a.on{background:var(--surface-2);color:var(--ink)}header.top .spacer{flex:1}.ghost{background:none;border:1px solid var(--border);border-radius:999px;padding:6px 12px;cursor:pointer;color:var(--ink-2)}@media (max-width: 720px){nav.tabs{position:fixed;left:0;right:0;bottom:0;z-index:10;justify-content:space-around;background:var(--surface);border-top:1px solid var(--border);padding:6px 4px calc(6px + env(safe-area-inset-bottom))}nav.tabs a{flex:1;text-align:center;font-size:13px;padding:8px 4px}}h1{font-size:22px;margin:4px 0 12px;font-weight:650}h2{font-size:16px;margin:0 0 4px;font-weight:600}.sub{color:var(--muted);font-size:13px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px;margin-bottom:var(--gap);min-width:0}.card header{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:8px}.card header .sub{margin-left:auto}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--gap);margin-bottom:var(--gap)}.tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px}.tile .label{color:var(--ink-2);font-size:13px;display:flex;align-items:center;gap:6px}.tile .value{font-size:26px;font-weight:650;margin-top:2px}.tile .value small{font-size:14px;font-weight:500;color:var(--ink-2);margin-left:3px}.tile .note{color:var(--muted);font-size:12px;margin-top:2px}.dot{width:9px;height:9px;border-radius:50%;display:inline-block;flex:none}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap)}@media (max-width: 900px){.grid2{grid-template-columns:1fr}}.row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.datenav{display:flex;align-items:center;gap:6px;margin-bottom:12px}.datenav button,.seg button{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:6px 12px;cursor:pointer}.datenav input{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:5px 8px}.seg{display:inline-flex;gap:4px;flex-wrap:wrap}.seg button.on{background:var(--ink);color:var(--surface);border-color:var(--ink)}.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:13px;color:var(--ink-2)}.legend span{display:inline-flex;align-items:center;gap:6px}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:right;padding:5px 8px;border-bottom:1px solid var(--grid);font-variant-numeric:tabular-nums;white-space:nowrap}th:first-child,td:first-child{text-align:left}th{color:var(--ink-2);font-weight:550}.tablewrap{overflow-x:auto}details>summary{cursor:pointer;color:var(--ink-2);font-size:13px;margin-top:6px}.walls-mult{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:2px 16px}.walls-room{font-size:13px;color:var(--ink-2);font-weight:550;margin-top:4px}.walls-key{display:inline-block;width:14px;height:2px;border-radius:1px;background:var(--c-load)}.walls-h3{font-size:14px;font-weight:600;margin:12px 0 4px}@media (max-width: 520px){.walls-table .old{display:none}.walls-table th,.walls-table td{padding:5px 4px}}.events{list-style:none;margin:0;padding:0}.events li{display:grid;grid-template-columns:62px 1fr auto;gap:4px 10px;padding:9px 0;border-bottom:1px solid var(--grid);align-items:center}.events li.sel{background:var(--surface-2)}.events .time{font-variant-numeric:tabular-nums;font-weight:600}.events .what{min-width:0}.events .guess{color:var(--ink-2)}.events .guess.thomas{color:var(--ink);font-weight:600}.events .meta{color:var(--muted);font-size:12px}.events .kwh{font-variant-numeric:tabular-nums;text-align:right}.events form{grid-column:2 / 4;display:flex;gap:6px}.events form input{flex:1;min-width:0;background:var(--page);border:1px solid var(--border);border-radius:8px;padding:6px 8px}.events form button{border-radius:8px;border:1px solid var(--border);background:var(--ink);color:var(--surface);padding:6px 10px;cursor:pointer}.chip{display:inline-block;font-size:11px;padding:1px 7px;border-radius:999px;background:var(--surface-2);color:var(--ink-2);margin-left:6px}.linkish{background:none;border:none;padding:0;color:var(--accent);cursor:pointer;font-size:12px}.modes{display:grid;grid-template-columns:70px 1fr;gap:4px 8px;align-items:center;font-size:12px;color:var(--ink-2)}.modebar{position:relative;height:20px;border-radius:4px;background:var(--surface-2);overflow:hidden}.modebar .empty{position:static;color:var(--muted);padding-left:8px}.modebar>div{position:absolute;top:0;bottom:0;color:#fff;font-size:11px;padding-left:4px;white-space:nowrap;overflow:hidden;line-height:20px}.login{max-width:360px;margin:18vh auto 0}.login input{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:var(--surface);margin:10px 0}.login button{width:100%;padding:10px;border-radius:10px;border:none;background:var(--accent);color:#fff;font-weight:600;cursor:pointer}.error{color:var(--bad);font-size:13px}.hint{background:var(--surface-2);border-radius:10px;padding:10px 12px;font-size:13px;color:var(--ink-2);margin-bottom:var(--gap)}.loading{opacity:.55;transition:opacity .2s}.weather-now{display:flex;align-items:center;gap:14px;margin-bottom:12px}.wicon{font-size:40px;line-height:1}.wicon-s{font-size:24px;line-height:1.2}.wtemp{font-size:26px;font-weight:650}.wtemp small{font-size:14px;font-weight:500;color:var(--ink-2)}.wrest{margin-left:auto;text-align:right}.wdays{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:10px}.wday{background:var(--surface-2);border-radius:10px;padding:8px 10px}.wpv{font-size:13px;margin-top:2px;display:flex;align-items:center;gap:5px}.whours{display:flex;gap:6px;overflow-x:auto;padding-bottom:6px;margin-bottom:6px;text-align:center;font-size:13px}.whours>div{flex:1 0 52px}.money-pos{color:var(--good)}.money-neg{color:var(--bad)}.plan-floors{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap);align-items:start}.plan-floorsel{display:none}@media (max-width: 720px){.plan-floors{grid-template-columns:1fr}.plan-card{display:none}.plan-card.show{display:block}.plan-floorsel{display:inline-flex}}.plan-svg{width:100%;height:auto;max-height:82vh;display:block;touch-action:none;-webkit-user-select:none;user-select:none}.plan-outline{fill:none;stroke:var(--ink-2);stroke-width:6;stroke-linejoin:round}.plan-room polygon{fill:var(--surface-2);stroke:var(--ink-2);stroke-width:2.5;stroke-linejoin:round}.plan-room.plan-nass polygon{fill:color-mix(in srgb,var(--c-load) 10%,var(--surface-2))}.plan-room.plan-technik polygon{fill:color-mix(in srgb,var(--muted) 18%,var(--surface-2))}.plan-room.plan-verkehr polygon{fill:var(--surface)}.plan-room.plan-aussen polygon{fill:none;stroke:var(--grid);stroke-width:2}.plan-svg.with-scan .plan-room polygon{fill-opacity:.35}.plan-room.sel polygon{stroke:var(--accent);stroke-width:5}.plan-room-name{font-size:15px;fill:var(--ink-2);pointer-events:none;font-weight:550}.plan-aussen .plan-room-name{fill:var(--muted)}.plan-stairs rect{fill:var(--surface);stroke:var(--ink-2);stroke-width:1.5}.plan-stairs line{stroke:var(--muted);stroke-width:1}.plan-item circle{fill:var(--surface);stroke:var(--ink-2);stroke-width:2}.plan-item.active circle{stroke:var(--c-pv);stroke-width:4}.plan-item.sel circle{stroke:var(--accent);stroke-width:4}.plan-item.editable{cursor:grab}.plan-item.offline{opacity:.55}.plan-icon{font-size:18px;pointer-events:none}.plan-status{font-size:12px;fill:var(--ink);paint-order:stroke;stroke:var(--surface);stroke-width:4px;font-weight:600;pointer-events:none}.plan-form{display:grid;gap:8px;max-width:420px}.plan-form label{display:grid;gap:4px;font-size:13px;color:var(--ink-2)}.plan-form input,.plan-form select{background:var(--page);border:1px solid var(--border);border-radius:8px;padding:7px 9px}button.primary{background:var(--accent);color:#fff;border:none;border-radius:8px;padding:7px 14px;cursor:pointer;font-weight:600}button.danger{background:none;color:var(--bad);border:1px solid var(--bad);border-radius:8px;padding:7px 14px;cursor:pointer}.hint.running{border-left:3px solid var(--c-pv);color:var(--ink)}.outlook ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}.outlook li{display:flex;gap:10px;align-items:baseline;font-size:15px}.outlook li span{width:22px;flex:none;text-align:center}.climate-panel header .ghost{margin-left:8px}.climate-now{display:grid;grid-template-columns:repeat(3,auto);gap:18px;align-items:end;justify-content:start}.climate-now .big{font-size:34px;font-weight:650;min-width:54px;text-align:center}button.round{width:40px;height:40px;border-radius:50%;border:1px solid var(--border);background:var(--surface-2);font-size:22px;cursor:pointer}button.power{min-width:72px;height:40px;border-radius:999px;border:1px solid var(--border);background:var(--surface-2);font-weight:650;cursor:pointer}button.power.on{background:var(--c-force);color:#fff;border-color:transparent}input.num{width:56px;background:var(--page);border:1px solid var(--border);border-radius:8px;padding:6px 8px}.login input[type=checkbox]{width:auto;margin:0}.wall{min-height:100vh;padding:20px 24px;display:grid;grid-template-columns:1fr 1.6fr 1.2fr;gap:24px;align-items:start}@media (max-width: 1000px){.wall{grid-template-columns:1fr}}.wall-col{display:grid;gap:16px;align-content:start}.wall-clock{font-size:88px;font-weight:650;line-height:1;letter-spacing:-2px}.wall-date{font-size:22px;color:var(--ink-2)}.wall-weather{display:flex;gap:16px;align-items:center;margin-top:12px}.wall-wicon{font-size:64px}.wall-temp{font-size:48px;font-weight:650}.wall-tiles{display:grid;grid-template-columns:1fr 1fr;gap:14px}.wall-tile .value{font-size:44px}.wall-tile .label,.wall-tile .note{font-size:16px}.wall-rooms{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}.wall-room{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px}.wall-room.on{border-color:var(--c-force)}.wall-rtemp{font-size:32px;font-weight:650}.wall .outlook li{font-size:18px}.wall-exit{position:fixed;right:14px;bottom:12px;color:var(--muted);font-size:13px;text-decoration:none}.assistant-fab{position:fixed;right:16px;bottom:88px;width:56px;height:56px;border-radius:50%;border:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none;background:var(--accent);color:#fff;font-size:24px;box-shadow:0 4px 14px #0000004d;cursor:pointer;z-index:20}@media (min-width: 721px){.assistant-fab{bottom:24px}}.assistant{position:fixed;right:12px;bottom:80px;width:min(420px,calc(100vw - 24px));height:min(560px,calc(100vh - 140px));background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:0 8px 30px #00000059;display:flex;flex-direction:column;z-index:30}@media (min-width: 721px){.assistant{bottom:20px}}.assistant header{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--border)}.assistant header label{margin-left:auto;display:flex;gap:4px;align-items:center}.assistant-msgs{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px}.bubble{max-width:85%;padding:8px 12px;border-radius:14px;white-space:pre-wrap;line-height:1.35}.bubble.user{align-self:flex-end;background:var(--accent);color:#fff;border-bottom-right-radius:4px}.bubble.bot{align-self:flex-start;background:var(--surface-2);border-bottom-left-radius:4px}.assistant form{display:flex;gap:6px;padding:10px;border-top:1px solid var(--border)}.assistant form input{flex:1;min-width:0;background:var(--page);border:1px solid var(--border);border-radius:999px;padding:8px 12px}.assistant .mic{width:40px;height:40px;border-radius:50%;border:1px solid var(--border);background:var(--surface-2);cursor:pointer}.assistant .mic.on{background:var(--c-force);color:#fff}.toggles{list-style:none;margin:0;padding:0}.toggles li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--grid)}.toggles li:last-child{border-bottom:0}.toggles label{display:flex;align-items:center;gap:10px;cursor:pointer}.toggles input[type=checkbox]{width:20px;height:20px;accent-color:var(--c-load)}.toggles li.danger label{font-weight:600}ul.plain{margin:0;padding-left:18px}ul.plain li{margin:4px 0}.hint.warn{border-left:3px solid var(--c-force);color:var(--ink)}.wall-night{background:#000!important;display:flex;align-items:center;justify-content:center;min-height:100vh}.wall-night .wall-clock{color:#444;font-size:18vw}.wall-light{display:flex;align-items:center;gap:8px;font-size:18px;margin:12px 0 6px}.wall-light .dot{width:14px;height:14px;border-radius:50%;display:inline-block}.pending{opacity:.65;text-decoration:underline dotted}.soll-hint{font-size:12px;line-height:1.25;margin:4px 0 0}.rest-hint{margin:8px 0 0}.climate-now .big,.room-ctl .room-sp{font-variant-numeric:tabular-nums}.climate-now .row .big{min-width:2.5em}@media (max-width: 480px){.climate-now{grid-template-columns:auto 1fr}.climate-now>:nth-child(3){grid-column:1 / -1}.climate-now .row{flex-wrap:nowrap}}.room-ctl .room-sp{min-width:2.7em}.room-card .soll-hint{text-align:center}.seg.wrap{flex-wrap:wrap}.home h1{margin-bottom:4px}.home-top{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;margin-bottom:10px}.home-weather{display:flex;align-items:center;gap:8px;font-size:17px}.home-sun{display:flex;align-items:center;gap:8px;font-size:15px;color:var(--ink-2)}.home-sun .dot{width:12px;height:12px;border-radius:50%;display:inline-block;flex:none}.room-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--gap);margin-bottom:var(--gap)}.room-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px;display:flex;flex-direction:column;gap:10px}.room-card.on{border-color:var(--c-load)}.room-card.offline{border-color:var(--c-force);opacity:.85}.room-card .room-name{all:unset;cursor:pointer;font-size:18px;font-weight:650}.room-row{display:flex;align-items:baseline;gap:12px}.room-temp{font-size:40px;font-weight:650;line-height:1}.room-ctl{display:flex;align-items:center;gap:10px}.room-ctl .room-sp{font-size:24px;font-weight:600;min-width:56px;text-align:center}.room-ctl .power{margin-left:auto;min-width:72px;min-height:44px}.round.big{width:52px;height:52px;font-size:26px}.room-card.small .room-temp{font-size:28px}.large-text{font-size:19px}.large-text .room-temp{font-size:52px}.large-text .room-name{font-size:22px}.room-area{font-size:14px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:12px 0 6px}.wall2{grid-template-columns:minmax(260px,1fr) 2fr minmax(280px,1.1fr)}@media (max-width: 1000px){.wall2{grid-template-columns:1fr}}.wall2 .room-cards{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.wall-rooms2{max-height:calc(100vh - 40px);overflow-y:auto;padding-right:4px}.wall-ask{font-size:24px;padding:22px;border-radius:18px;background:var(--c-load);color:#fff;border:0;font-weight:650;cursor:pointer}.wall-energy{display:flex;justify-content:space-around;font-size:18px;color:var(--ink-2);background:var(--surface);border-radius:var(--radius);padding:10px}.presence{display:grid;gap:8px;margin:6px 0 12px}.presence-people{display:flex;flex-wrap:wrap;gap:6px}.person{border-radius:999px;padding:6px 12px;background:var(--surface);border:1px solid var(--border)}.person.home{border-color:var(--c-load)}.person.away{opacity:.6}.scenes{margin:4px 0 12px}button.danger{border-color:var(--c-force)}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;margin-top:8px}.photo-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px}a.button{display:inline-block;padding:8px 12px;border:1px solid var(--border);border-radius:10px;color:var(--ink);text-decoration:none}.wall-broadcast{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:6vw;text-align:center;z-index:50;padding:5vw}.wall-broadcast .sub{font-size:2vw;color:#ccc}.wall-photo{position:fixed;top:0;right:0;bottom:0;left:0;background:#000;z-index:40;display:flex;align-items:center;justify-content:center}.wall-photo img{max-width:100%;max-height:100%;object-fit:contain;transition:opacity 1s}.wall-photo .clock{position:absolute;right:3vw;bottom:3vh;color:#fff;font-size:6vw;font-weight:650;text-shadow:0 2px 12px #000}.panel-bar{display:flex;gap:10px;align-items:center;justify-content:center;font-size:15px;background:var(--surface);border-radius:var(--radius);padding:8px}.photo-info{font-size:2.2vw;font-weight:500;margin-top:4px}.vacation{display:grid;gap:6px;margin:8px 0}.broadcast{margin:4px 0 12px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.panel-bar.pending-auth{border:2px solid var(--c-pv);font-weight:600}.brain-top{margin-bottom:8px}.brain-iq{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.brain-iq .ring-bg{fill:none;stroke:var(--grid);stroke-width:10}.brain-iq .ring{fill:none;stroke:var(--c-load);stroke-width:10;stroke-linecap:round;transition:stroke-dasharray 1s}.brain-iq .ring-num{font-size:26px;font-weight:700;fill:var(--ink)}.brain-iq .ring-label{font-size:12px;fill:var(--muted)}.brain-thought{margin-top:6px;font-style:italic}.brain-svg{background:radial-gradient(ellipse at center,color-mix(in srgb,var(--c-load) 10%,var(--surface)) 0%,var(--surface) 70%);border-radius:var(--radius);border:1px solid var(--border);margin:8px 0 12px}.brain-svg .layer-label{fill:var(--muted);font-size:15px;text-transform:uppercase;letter-spacing:.1em}.brain-svg .edge{fill:none;stroke:var(--c-load);stroke-width:2}.brain-svg .edge.fire{stroke-dasharray:6 10;animation:brain-flow 1.2s linear infinite;stroke-width:2.5}@keyframes brain-flow{to{stroke-dashoffset:-32}}.brain-svg .node-body{fill:var(--c-load)}.brain-svg .node.sinn .node-body{fill:var(--c-pv)}.brain-svg .node.handeln .node-body{fill:var(--c-force)}.brain-svg .node-name{fill:#fff;font-size:13px;font-weight:600;pointer-events:none}.brain-svg .pulse{fill:none;stroke:var(--c-load);stroke-width:3;animation:brain-pulse 1.6s ease-out infinite;transform-origin:center}.brain-svg .node.sinn .pulse{stroke:var(--c-pv)}.brain-svg .node.handeln .pulse{stroke:var(--c-force)}@keyframes brain-pulse{0%{r:22;opacity:.9}to{r:46;opacity:0}}.know-row{display:grid;grid-template-columns:minmax(150px,1fr) 2fr;gap:4px 12px;align-items:center;margin:8px 0}.know-row .sub{grid-column:2}.know-bar{height:10px;background:var(--grid);border-radius:999px;overflow:hidden}.know-bar div{height:100%;background:var(--c-load);border-radius:999px;transition:width 1s}.brain-dark{background:radial-gradient(ellipse at 50% 45%,#1b2440,#0b0f1c 75%);border-color:#1d2640}.brain-anatomy .b-cerebrum{fill:#2a2f4a;stroke:#7d86c9;stroke-width:3}.brain-anatomy .b-cerebellum{fill:#262a42;stroke:#7d86c9;stroke-width:3}.brain-anatomy .b-stem{fill:#23273d;stroke:#7d86c9;stroke-width:3}.brain-anatomy .b-sulcus{fill:none;stroke:#565e9b;stroke-width:3;stroke-linecap:round;opacity:.55}.brain-anatomy .b-axon{fill:none;stroke:#9fb4ff;stroke-width:1.5}.brain-anatomy .b-spark{fill:#fff;filter:drop-shadow(0 0 6px #8fd3ff)}.brain-anatomy .b-neuron{fill:#9fd0ff}.brain-anatomy .b-neuron.on{fill:#e6f6ff;animation:neuron-flicker 1.4s ease-in-out infinite;filter:drop-shadow(0 0 4px #7fd0ff)}@keyframes neuron-flicker{0%,to{opacity:.25}40%{opacity:1}60%{opacity:.5}}.brain-anatomy .b-core{fill:#fff}.brain-anatomy .b-fire{fill:none;stroke:#fff;stroke-width:2;animation:brain-pulse 1.4s ease-out infinite}.brain-anatomy .b-label{fill:#e8ecff;font-size:13px;font-weight:600;paint-order:stroke;stroke:#0b0f1c;stroke-width:4px;pointer-events:none}.brain-anatomy .b-region{fill:#8f97c9;font-size:12px;letter-spacing:.05em;text-transform:uppercase;pointer-events:none}.brain-feed,.brain-upgrades{list-style:none;margin:0;padding:0;max-height:340px;overflow-y:auto}.brain-feed li,.brain-upgrades li{display:flex;gap:10px;padding:5px 0;border-bottom:1px solid var(--grid);font-size:14px}.brain-feed li .t,.brain-upgrades li .t{color:var(--muted);font-variant-numeric:tabular-nums;flex:none;width:70px}.brain-feed li.new{background:color-mix(in srgb,var(--c-load) 18%,transparent);border-radius:6px;animation:feed-in .6s ease-out}.brain-feed li.linked{border-left:3px solid var(--c-pv);padding-left:6px}@keyframes feed-in{0%{opacity:0;transform:translateY(-6px)}}.growth .growth-line{fill:none;stroke:var(--c-load);stroke-width:2.5}.growth .growth-dot{fill:var(--c-load)}.brain3d{width:100%;touch-action:none}.brain3d canvas{display:block;width:100%!important}.brain3d-legend{display:flex;flex-wrap:wrap;gap:6px 14px;padding:8px 12px;color:#c9d1ff;font-size:13px}.brain3d-legend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px;box-shadow:0 0 6px currentColor}.replay{background:#0f1426;border:1px solid #1d2640;border-radius:var(--radius);padding:10px 12px;margin:8px 0;color:#dfe6ff}.replay .sub{color:#9aa6d6}.replay-clock{font-size:22px;font-variant-numeric:tabular-nums}.replay-track{position:relative;display:flex;align-items:flex-end;gap:1px;height:40px;margin-top:8px;cursor:pointer}.replay-track i{flex:1;background:#6f8cff;border-radius:2px 2px 0 0}.replay-head{position:absolute;top:-4px;bottom:-4px;width:3px;background:#fff;box-shadow:0 0 8px #8fd3ff;border-radius:2px}.eeg{display:block}.eeg .eeg-line{fill:none;stroke:#4c66c9;stroke-width:1.4}.eeg .eeg-line.on{stroke:#8fd3ff;stroke-width:2;filter:drop-shadow(0 0 3px #8fd3ff)}.eeg .eeg-label{fill:#8f97c9;font-size:13px}.eeg .eeg-label.on{fill:#fff;font-weight:700}.eeg .eeg-axis{fill:#6c76a8;font-size:11px}.brain-saver{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 45%,#1b2440,#05070f 75%)}.brain-saver svg{max-height:85vh}.brain-saver-thought{color:#dfe6ff;font-size:2.2vw;font-style:italic;margin-top:-2vh}.brain3d-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:8px 10px 0}.brain3d-tools .sub{color:#9aa6d6}.wall-saver-btn{position:fixed;right:64px;bottom:8px;background:none;border:0;font-size:18px;opacity:.5;cursor:pointer}.brain3d.compact canvas{cursor:inherit}.brain-widget{background:radial-gradient(ellipse at 50% 45%,#1b2440,#0b0f1c 80%);border-radius:var(--radius);padding:4px 8px 8px;cursor:pointer;overflow:hidden}.brain-widget .sub{color:#c9d1ff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brain-widget .brain3d{pointer-events:none}.bubble.live{opacity:.7;font-style:italic}.assistant header .ghost{padding:4px 10px}.doorbell{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:radial-gradient(ellipse at 50% 40%,#283c78f5,#080a14f7);color:#fff;text-align:center;padding:24px}.doorbell-ring{font-size:96px;animation:doorbell-shake 1.2s ease-in-out infinite;filter:drop-shadow(0 0 24px rgba(255,210,90,.7))}.doorbell-title{font-size:clamp(26px,5vw,56px);font-weight:700}.doorbell-sub{font-size:clamp(16px,2.6vw,28px);color:#c9d1ff}.doorbell-actions{display:flex;gap:14px;margin-top:10px;flex-wrap:wrap;justify-content:center}.doorbell-actions button{font-size:clamp(18px,2.8vw,30px);padding:14px 28px;border-radius:999px}@keyframes doorbell-shake{0%,to{transform:rotate(0)}10%{transform:rotate(14deg)}20%{transform:rotate(-12deg)}30%{transform:rotate(10deg)}40%{transform:rotate(-8deg)}50%{transform:rotate(0)}}@media (prefers-reduced-motion: reduce){.doorbell-ring{animation:none}}.simple{display:grid;gap:16px}.simple-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px}.simple-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:140px;font-size:52px;border-radius:22px;border:1px solid var(--border);background:var(--surface);color:var(--ink);cursor:pointer}.simple-tile span{font-size:22px;font-weight:650}.simple-tile.help{background:#b3261e;color:#fff;border-color:#b3261e}.simple-tile.ask{background:radial-gradient(ellipse at 50% 40%,#2a3a7a,#0b0f1c);color:#fff}.simple-msg{font-size:22px;padding:12px 16px;border-radius:14px;background:var(--surface-2)}.simple-rooms{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.simple-rooms .room-temp{font-size:56px}.simple-rooms .round.big{width:72px;height:72px;font-size:36px}.suggest-item{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:8px 0;border-top:1px solid var(--border);flex-wrap:wrap}.door{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center;padding:24px;background:radial-gradient(ellipse at 50% 30%,#1b2a5a,#070a14);color:#fff}.door h1{font-size:clamp(30px,6vw,64px);margin:0}.door-sub{font-size:clamp(18px,3vw,30px);color:#c9d1ff}.door-clock{position:fixed;top:16px;right:24px;font-size:28px;color:#c9d1ff}.door-bells{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;width:min(900px,100%)}.door-bells button{font-size:clamp(24px,4vw,40px);padding:28px 16px;border-radius:24px;border:1px solid rgba(255,255,255,.25);background:#ffffff14;color:#fff;cursor:pointer}.door-big{font-size:110px}.assistant-face{position:relative;background:radial-gradient(ellipse at 50% 45%,#1b2440,#0b0f1c 80%);border-bottom:1px solid var(--border)}.assistant-face .brain3d canvas{pointer-events:none}.assistant-state{position:absolute;left:12px;bottom:8px;color:#c9d1ff;font-size:13px}.assistant-face.listen{box-shadow:inset 0 0 30px #78b4ff73}.assistant-face.think{box-shadow:inset 0 0 30px #ffc85a66}.assistant-face.speak{box-shadow:inset 0 0 30px #8cffbe66}.people{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--gap)}.person{border:1px solid var(--border);border-radius:var(--radius);padding:12px;display:flex;flex-direction:column;gap:10px;background:var(--surface)}.person.away{opacity:.75}.person-head{display:flex;gap:10px;align-items:flex-start}.person-icon{font-size:28px;line-height:1;width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:var(--surface-2);flex:none}.person .row button,.person .row select{font-size:13px;padding:5px 9px}.senses-chips{display:flex;flex-wrap:wrap;gap:6px}.senses-chips span{font-size:12px;padding:2px 8px;border-radius:999px;background:var(--surface-2);color:var(--muted)}.senses-chips span.half{color:var(--ink-2)}.senses-chips span.ok{color:var(--good);background:color-mix(in srgb,var(--good) 12%,transparent)}.linkish.danger{color:var(--bad)}.art-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-bottom:10px}.art-pick button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;padding:10px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);cursor:pointer}.art-pick button span{font-size:24px}.art-pick button small{color:var(--muted);font-size:12px}.art-pick button.on{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 35%,transparent)}.chips-pick{margin:8px 0}.chips-pick button{border-radius:999px;padding:4px 12px;font-size:13px}.chips-pick button.on{background:var(--accent);color:#fff;border-color:var(--accent)}.person-done{padding:6px 0}.qr{margin:0;display:inline-flex;flex-direction:column;align-items:center;gap:4px}.qr svg{width:100%;height:auto;border-radius:8px;background:#fff}.qr figcaption{font-size:11px;color:var(--muted)}.sharelink{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:8px;padding:10px;border-radius:var(--radius);background:var(--surface-2)}.sharelink>div{flex:1;min-width:200px}.enroll{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#040812db;display:grid;place-items:center;padding:16px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.enroll-box{width:min(520px,100%);background:#0b1020;color:#e8ecff;border:1px solid rgba(120,170,255,.25);border-radius:18px;padding:18px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;box-shadow:0 0 60px #3c78ff40}.enroll-box header{width:100%;display:flex;justify-content:space-between;align-items:center}.enroll-box .sub{color:#9aa6d6}.enroll-box .ghost{color:#c9d1ff}.enroll-orb{--lvl: 0;width:120px;height:120px;border-radius:50%;display:grid;place-items:center;font-size:40px;background:radial-gradient(circle,rgba(90,160,255,.35) 0%,rgba(20,40,90,.2) 60%,transparent 70%);box-shadow:0 0 calc(10px + var(--lvl) * 60px) rgba(90,170,255,calc(.3 + var(--lvl) * .6)),inset 0 0 20px #78b4ff66;border:2px solid rgba(120,180,255,.6);transform:scale(calc(1 + var(--lvl) * .15));transition:transform .08s linear,box-shadow .08s linear}.enroll-orb.send{animation:orbspin 1.2s linear infinite;border-style:dashed}@keyframes orbspin{to{transform:rotate(360deg)}}.enroll-text{font-size:18px;line-height:1.4;margin:0}.enroll-sentence{font-size:24px;line-height:1.35;font-weight:600;margin:4px 0 8px;color:#fff}.enroll-dots{display:flex;gap:8px}.enroll-dots i{width:10px;height:10px;border-radius:50%;background:#fff3}.enroll-dots i.on{background:#4ade80}.enroll-dots i.now{background:#7cb2ff;box-shadow:0 0 10px #7cb2ff}.enroll .bad{color:#ff9a9a}button.big{font-size:18px;padding:12px 22px;border-radius:999px}.enroll-cam{position:relative;width:100%;aspect-ratio:4 / 3;border-radius:14px;overflow:hidden;background:#000}.enroll-cam video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.enroll-frame{position:absolute;top:12%;right:24%;bottom:12%;left:24%;border:2px solid rgba(124,178,255,.8);border-radius:50%/42%;box-shadow:0 0 0 999px #00000059}.enroll-count{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:72px;font-weight:700;color:#fff;text-shadow:0 0 20px #3b82f6}.tutorial{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;background:radial-gradient(ellipse at 50% 30%,#14285aeb,#03060ef5);display:grid;place-items:center;padding:16px}.tutorial-card{width:min(480px,100%);color:#eef2ff;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;animation:tutin .35s ease-out}@keyframes tutin{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}.tutorial-icon{width:120px;height:120px;border-radius:50%;display:grid;place-items:center;font-size:56px;position:relative;background:radial-gradient(circle,rgba(80,150,255,.25),transparent 70%)}.tutorial-icon:before,.tutorial-icon:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:1px solid rgba(120,180,255,.5)}.tutorial-icon:before{border-style:dashed;animation:orbspin 14s linear infinite}.tutorial-icon:after{top:-12px;right:-12px;bottom:-12px;left:-12px;border-color:#78b4ff40;animation:orbspin 22s linear infinite reverse}.tutorial-card h2{font-size:26px;margin:6px 0 0}.tutorial-card p{font-size:19px;line-height:1.45;margin:0;color:#cfd8ff}.tutorial-dots{display:flex;gap:8px;margin-top:6px}.tutorial-dots i{width:10px;height:10px;border-radius:50%;background:#ffffff40;cursor:pointer}.tutorial-dots i.on{background:#7cb2ff99}.tutorial-dots i.now{background:#7cb2ff;box-shadow:0 0 10px #7cb2ff}.tutorial-nav{justify-content:center;margin-top:8px}.tutorial .linkish{color:#9aa6d6}.hal-eye{--lvl: 0;--core: #ff2a2a;--ring: rgba(110, 180, 255, .75);position:absolute;left:50%;top:50%;width:64px;height:64px;transform:translate(-50%,-50%);pointer-events:none}.hal-eye.jarvis{--core: #5fb4ff}.hal-eye i,.hal-eye b,.hal-eye em{position:absolute;border-radius:50%}.hal-eye i{top:18px;right:18px;bottom:18px;left:18px;background:radial-gradient(circle at 50% 50%,#ffffff66 0 6%,var(--core) 18%,color-mix(in srgb,var(--core) 45%,#000) 55%,#000000cc 75%);box-shadow:0 0 calc(10px + var(--lvl) * 40px) var(--core);transform:scale(calc(1 + var(--lvl) * .35));transition:transform .08s linear}.hal-eye b{top:8px;right:8px;bottom:8px;left:8px;border:1.5px dashed var(--ring);animation:orbspin 9s linear infinite}.hal-eye em{top:0;right:0;bottom:0;left:0;border:1px solid var(--ring);border-left-color:transparent;border-right-color:transparent;animation:orbspin 14s linear infinite reverse;opacity:.7}.hal-eye.think b{animation-duration:1.6s}.hal-eye.think em{animation-duration:2.6s}.hal-eye.speak i{animation:halpulse 1.1s ease-in-out infinite}@keyframes halpulse{50%{transform:scale(1.18);filter:brightness(1.35)}}.bubble .who{display:block;font-size:11px;opacity:.8;margin-bottom:2px}.bubble .say{margin-left:6px;font-size:13px;opacity:.65;vertical-align:baseline}.bubble .say:hover,.bubble .say:focus-visible{opacity:1}.mood-line{font-size:13px;color:var(--ink-2)}.manual h1{margin-top:0}.manual-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px 18px}.manual-grid h3{margin:10px 0 4px}.manual-grid ul{margin:0;padding-left:18px;line-height:1.45}@media print{header.top,.assistant-fab,.assistant,.noprint,.tabs{display:none!important}body,.app{background:#fff!important;color:#000!important}.card{border:none!important;box-shadow:none!important}.manual-grid{grid-template-columns:1fr 1fr}}.growth-area h3{margin:12px 0 2px;font-size:15px}.toggles li.off{opacity:.55}.toggles.notes li{justify-content:flex-start;gap:10px}.notes .note-text{flex:1;display:block;justify-content:flex-start;background:none;border:0;box-shadow:none;padding:4px 0;min-height:0;text-align:left;color:inherit;font:inherit;cursor:text}.notes .note-text.done{text-decoration:line-through;opacity:.5}.notes .note-edit{flex:1;display:flex}.notes .note-edit input{flex:1;min-width:0}.notes .note-del{background:none;border:0;box-shadow:none;min-height:0;padding:4px 8px;color:var(--muted);font-size:15px;border-radius:8px}.notes .note-del:hover{color:var(--bad);background:color-mix(in srgb,var(--bad) 10%,transparent)}.live-ring{flex:none;transform:rotate(-90deg)}.live-ring circle{fill:none;stroke-width:2.4}.live-ring .bg{stroke:currentColor;opacity:.18}.live-ring .fg{stroke:#18a957;stroke-linecap:round;transition:stroke-dashoffset 1s linear}.live-ring.due .fg{animation:hb-ring-due 1.2s ease-in-out infinite}@keyframes hb-ring-due{50%{opacity:.3}}@media (prefers-reduced-motion: reduce){.live-ring .fg{transition:none}.live-ring.due .fg{animation:none}}.memories{border-top:1px solid var(--grid);padding-top:8px}.memories .row input{flex:1;min-width:120px}.plan-item.vorschlag circle{stroke-dasharray:4 3;opacity:.85}.plan-vorschlag{font-size:14px;font-weight:700;fill:var(--c-force)}.enroll-mini{display:flex;align-items:center;gap:8px;font-size:13px}.enroll-mini video{width:72px;height:54px;object-fit:cover;border-radius:8px;transform:scaleX(-1);background:#000}.test-cam{position:relative;margin-top:8px}.test-cam video{width:160px;height:120px}.test-cam b{position:absolute;left:70px;top:40px;font-size:32px;color:#fff;text-shadow:0 0 8px #000}.test-level{width:120px;height:8px;border-radius:4px;background:var(--surface-2);overflow:hidden;display:inline-block}.test-level i{display:block;height:100%;background:var(--c-load);transition:width .08s linear}.test-result p{margin:6px 0}.panel-cam{position:fixed;left:10px;bottom:10px;z-index:40;display:flex;align-items:center;gap:6px;padding:3px 8px 3px 3px;border-radius:999px;background:#00000073;color:#fff;font-size:13px;cursor:pointer}.panel-cam video{width:36px;height:27px;border-radius:999px;object-fit:cover;transform:scaleX(-1);opacity:.8}.panel-live-banner{position:fixed;top:0;left:0;right:0;z-index:80;background:#c62828;color:#fff;font-size:20px;font-weight:700;text-align:center;padding:10px;animation:halpulse 2s ease-in-out infinite}.cam-img{width:100%;max-width:720px;border-radius:10px;margin-top:8px;background:#000}.plan-person circle{stroke:var(--surface);stroke-width:2.5}.plan-person text{font-size:13px;font-weight:700;fill:#fff;pointer-events:none}.panel-live-dot{position:fixed;top:8px;right:10px;z-index:80;color:#e53935;font-size:12px;opacity:.8;pointer-events:none}.plan-fov{fill:#3987e51f;stroke:#3987e573;stroke-width:1.5;pointer-events:none}.search-hits{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.search-hits figure{margin:0;border:1px solid var(--border);border-radius:8px;overflow:hidden}.search-hits figure.sure{border-color:var(--good)}.search-hits img{width:100%;display:block}.search-hits .nothumb{height:90px;display:grid;place-items:center;color:var(--muted);font-size:12px;background:var(--surface-2)}.search-hits figcaption{font-size:12px;padding:4px 6px}.timer-item{gap:8px;align-items:baseline;font-size:14px}.assistant header .grow{flex:1}.assistant header .icon{padding:4px 8px;font-size:16px;line-height:1;flex-shrink:0}.assistant header .close{font-size:18px}.assistant header b,.assistant header .who-chip{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.assistant-backdrop{display:none}@media (max-width: 720px){.assistant-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:29;background:#00000059}.assistant{left:0;right:0;bottom:0;width:auto;height:min(78vh,640px);border-radius:18px 18px 0 0;padding-bottom:env(safe-area-inset-bottom)}}.app-status{border:1px solid var(--border);border-radius:10px;padding:10px 12px;margin:8px 0;display:grid;gap:6px}.checks{list-style:none;margin:0;padding:0;display:grid;gap:2px;font-size:14px}.checks .ok{color:var(--good, #1baf7a)}.checks .bad{color:var(--critical, #d64545)}.checks .warn{color:var(--warning, #c98a00)}.voices{list-style:none;margin:0;padding:0}.voices li{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--grid)}.voices li.on b{color:var(--accent)}.voices .grow{flex:1;min-width:0}.casting{list-style:none;margin:8px 0;padding:0;display:grid;gap:6px}.casting li{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--grid);border-radius:12px;background:var(--surface)}.casting li.fav{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.casting li.down{opacity:.6}.casting .grow{flex:1;min-width:0}.casting .chip{margin-left:6px}.casting .play{flex:none;width:44px;height:44px;border-radius:50%;padding:0;font-size:16px;display:grid;place-items:center}.casting .play.on{background:var(--accent);color:#fff;border-color:var(--accent)}.casting-votes{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:2px}.casting-btns{flex:none;display:flex;gap:4px}.casting-btns button{min-width:38px;height:38px;padding:0 6px;font-size:17px;filter:grayscale(1);opacity:.55}.casting-btns button.on{filter:none;opacity:1;border-color:var(--accent)}@media (max-width: 420px){.casting li{flex-wrap:wrap}.casting .grow{flex-basis:calc(100% - 60px)}.casting-btns{width:100%;justify-content:flex-end}}.casting-hint{display:flex;align-items:center;gap:10px}.msg-wrap{position:relative;display:flex;align-items:center;margin-right:6px}.msg-bell{position:relative;width:40px;height:40px;padding:0;border-radius:50%;display:grid;place-items:center;background:transparent;border:1px solid transparent;color:var(--ink-2)}.msg-bell:hover{background:var(--surface-2)}.msg-bell.has{color:var(--ink)}.msg-badge{position:absolute;top:2px;right:0;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--bad);color:#fff;font-size:11px;font-weight:700;line-height:18px;text-align:center;box-shadow:0 0 0 2px var(--page)}.msg-pop{position:fixed;right:12px;top:calc(56px + env(safe-area-inset-top));z-index:45;width:min(380px,calc(100vw - 24px));max-height:min(70vh,560px);overflow:auto;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:0 12px 34px #00000047;padding:8px}.msg-head{display:grid;gap:2px;padding:6px 8px 8px;border-bottom:1px solid var(--border)}.msg-list{list-style:none;margin:0;padding:0;display:grid}.msg-list li+li{border-top:1px solid var(--border)}.msg-item{width:100%;display:flex;gap:10px;align-items:flex-start;text-align:left;padding:10px 8px;background:transparent;border:0;border-radius:10px;color:var(--ink);font:inherit;min-height:44px}.msg-item:hover{background:var(--surface-2)}.msg-item .grow{flex:1;min-width:0;display:grid;gap:2px}.msg-item .sub{overflow-wrap:anywhere}.msg-list li.new .msg-item b:after{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);margin-left:6px;vertical-align:middle}.msg-list li.urgent .msg-item b{color:var(--bad)}.msg-ico{font-size:18px;line-height:1.3}.msg-time{white-space:nowrap;font-size:12px}.msg-toast{position:fixed;z-index:60;top:calc(10px + env(safe-area-inset-top));left:16px;right:16px;margin:0 auto;max-width:440px;display:flex;gap:10px;align-items:flex-start;text-align:left;padding:12px 14px;font:inherit;background:var(--surface);color:var(--ink);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:14px;box-shadow:0 12px 34px #00000047;animation:hb-pop .2s ease-out both}.msg-toast.urgent{border-left-color:var(--bad)}.msg-toast .grow{flex:1;min-width:0;display:grid;gap:2px}.approvals .suggest-item.mine{opacity:.85}@media (prefers-reduced-motion: reduce){.msg-toast{animation:none}}.casting-hint a{display:grid;gap:2px;color:inherit;text-decoration:none}nav.tabs a{display:inline-flex;align-items:center;gap:6px}nav.tabs a .ti{font-size:15px;line-height:1}.top-menu{display:none;position:relative}.top-menu summary{list-style:none;cursor:pointer}.top-menu summary::-webkit-details-marker{display:none}.avatar{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--accent);color:#fff;font-weight:700}.menu-pop{position:absolute;right:0;top:42px;z-index:40;min-width:210px;display:grid;gap:2px;padding:8px;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:0 10px 30px #00000040}.menu-pop b{padding:6px 10px}.menu-pop a{padding:10px;border-radius:10px;text-decoration:none;color:var(--ink)}.menu-pop a:active,.menu-pop a:hover{background:var(--surface-2)}@media (max-width: 720px){.top-links{display:none}.top-menu{display:block}header.top{padding-top:max(8px,env(safe-area-inset-top))}nav.tabs{overflow-x:auto;justify-content:flex-start;scrollbar-width:none;gap:0}nav.tabs::-webkit-scrollbar{display:none}nav.tabs a{flex:1 0 64px;flex-direction:column;gap:2px;font-size:11px;padding:6px 2px;border-radius:12px}nav.tabs a .ti{font-size:20px}.app{padding-bottom:calc(76px + env(safe-area-inset-bottom))}}.tasks{display:grid;gap:8px}.task-progress{display:flex;align-items:center;gap:10px}.task-progress .bar{flex:1;height:8px;border-radius:99px;background:var(--surface-2);overflow:hidden}.task-progress .bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--accent),#f5b942);transition:width .5s cubic-bezier(.2,.8,.2,1)}.task-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.task-list li{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--border);border-radius:12px;background:var(--surface);transition:opacity .3s ease,background-color .3s ease,transform .2s ease}.task-list li.done{opacity:.62;background:var(--surface-2)}.task-list li.done .task-title{text-decoration:line-through;text-decoration-color:var(--muted)}.task-check{flex:0 0 auto;width:30px;height:30px;border-radius:50%;border:2px solid var(--accent);background:none;color:#fff;font-weight:800;cursor:pointer;display:grid;place-items:center;transition:background-color .2s ease,transform .15s ease,border-color .2s ease}.task-check.on{background:var(--accent);border-color:var(--accent);animation:hb-check .35s cubic-bezier(.2,1.6,.4,1)}.task-title{flex:1;min-width:0;display:grid;gap:2px}.task-meta{display:flex;gap:10px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.task-stars{color:#f5b942;letter-spacing:1px;white-space:nowrap}.task-cheer{margin:0;font-weight:600;color:var(--accent);animation:hb-pop .3s ease-out both}.tasks.compact .task-list li{padding:6px 8px}.task-add{display:grid;gap:8px;margin-top:12px;padding-top:12px;border-top:1px dashed var(--border)}.task-add input:not([type]){padding:9px 12px;border-radius:10px;border:1px solid var(--border);background:var(--page)}.task-add .row.wrap{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.star-pick button{background:none;border:none;font-size:22px;color:var(--grid);cursor:pointer;padding:0 2px;transition:transform .15s ease,color .15s ease}.star-pick button.on{color:#f5b942}.star-pick button:active{transform:scale(1.3)}.task-week{display:grid;gap:12px}.week-head{display:flex;gap:18px;align-items:baseline;flex-wrap:wrap}.week-head .big{font-size:30px}.week-stars{font-size:20px;color:#f5b942;font-weight:700}.week-streak{font-weight:600}.week-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.wd{display:grid;justify-items:center;gap:2px;font-size:12px}.wd .col{position:relative;width:70%;height:70px;border-radius:8px;background:var(--surface-2);overflow:hidden}.wd .col i{position:absolute;left:0;right:0;bottom:0;border-radius:8px}.wd .col .tot{background:var(--grid)}.wd .col .dn{background:linear-gradient(0deg,var(--accent),#f5b942);animation:hb-grow-up .6s cubic-bezier(.2,.8,.2,1) both;transform-origin:bottom}.wd.today span{font-weight:800;color:var(--accent)}.wd.future{opacity:.45}.week-list{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:4px}.person-seg{margin-bottom:10px}.wall-tasks .tasks{font-size:16px}.star-fly{position:fixed;z-index:200;pointer-events:none;color:#f5b942;font-size:20px;text-shadow:0 0 8px rgba(245,185,66,.6);animation:hb-star 1s cubic-bezier(.15,.7,.3,1) forwards}@keyframes hb-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes hb-fade{0%{opacity:0}to{opacity:1}}@keyframes hb-pop{0%{opacity:0;transform:scale(.94) translateY(4px)}to{opacity:1;transform:none}}@keyframes hb-sheet{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}@keyframes hb-check{0%{transform:scale(.6)}60%{transform:scale(1.25)}to{transform:scale(1)}}@keyframes hb-grow-up{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes hb-star{0%{opacity:1;transform:translate(-50%,-50%) scale(.6) rotate(0)}to{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(1.3) rotate(var(--rot))}}@keyframes hb-pulse{0%{box-shadow:0 0 #e539358c}to{box-shadow:0 0 0 16px #e5393500}}@keyframes hb-breathe{0%,to{box-shadow:0 4px 14px #0000004d}50%{box-shadow:0 4px 24px #3987e58c}}@keyframes hb-ring{0%,to{transform:rotate(0)}15%{transform:rotate(14deg)}30%{transform:rotate(-12deg)}45%{transform:rotate(8deg)}60%{transform:rotate(-5deg)}}@keyframes hb-shimmer{0%{background-position:-200px 0}to{background-position:200px 0}}@media (prefers-reduced-motion: no-preference){main.page{animation:hb-fade .25s ease backwards}main.page>.card,main.page>section,.room-cards>*{animation:hb-rise .4s cubic-bezier(.2,.8,.2,1) backwards}main.page>:nth-child(2){animation-delay:.03s}main.page>:nth-child(3){animation-delay:.06s}main.page>:nth-child(4){animation-delay:.09s}main.page>:nth-child(5){animation-delay:.12s}main.page>:nth-child(6){animation-delay:.15s}main.page>:nth-child(n+7){animation-delay:.18s}.room-cards>:nth-child(2){animation-delay:.04s}.room-cards>:nth-child(3){animation-delay:.08s}.room-cards>:nth-child(n+4){animation-delay:.12s}.bubble{animation:hb-pop .25s ease-out both}.assistant{animation:hb-sheet .3s cubic-bezier(.2,.8,.2,1) both}.assistant-backdrop{animation:hb-fade .2s ease both}.assistant .mic.on{animation:hb-pulse 1.1s ease-out infinite}.assistant-fab{animation:hb-breathe 5s ease-in-out infinite}.bubble.live{background-image:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);background-size:200px 100%;background-repeat:no-repeat;animation:hb-shimmer 1.4s linear infinite}.menu-pop{animation:hb-pop .18s ease-out both;transform-origin:top right}button,.ghost,nav.tabs a,.chip,.seg button,.room-card{transition:transform .12s ease,background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease}button:active,.ghost:active,nav.tabs a:active,.seg button:active{transform:scale(.95)}.room-card:active{transform:scale(.985)}nav.tabs a.on .ti{animation:hb-check .35s cubic-bezier(.2,1.6,.4,1)}.doorbell{animation:hb-fade .25s ease both}.doorbell .bell,.doorbell h1{animation:hb-ring 1.2s ease-in-out infinite;transform-origin:top center}.wall-broadcast{animation:hb-fade .3s ease both}.climate-panel{animation:hb-pop .25s ease-out both}}@media (prefers-reduced-motion: reduce){.star-fly{display:none}}.rights{border:1px solid var(--border);border-radius:12px;padding:8px 12px;margin-top:6px}.rights li.changed b{color:var(--accent)}.rights .switch{display:inline-flex;gap:6px;align-items:center;white-space:nowrap}.task-meta .claim{color:var(--warning, #c98a00);font-weight:600}.claim-actions{gap:6px;margin-top:4px}.door-live{position:relative;width:min(720px,100%);aspect-ratio:4 / 3;border-radius:16px;overflow:hidden;background:#000;margin:0 auto}.door-live img{width:100%;height:100%;object-fit:cover;display:block}.door-live img.stale{filter:grayscale(.4) brightness(.8)}.door-live-wait{display:grid;place-items:center;height:100%;color:#c9d1ff;font-size:15px;padding:12px;text-align:center}.live-badge{position:absolute;top:10px;left:10px;background:#e53935;color:#fff;font-size:12px;font-weight:700;padding:2px 8px;border-radius:99px;animation:hb-fade 1s ease infinite alternate}.doorbell.with-cam{justify-content:flex-start;overflow-y:auto;padding-top:16px}.doorbell.with-cam .door-live{width:min(640px,92vw)}.door-controls{display:grid;gap:10px;width:min(640px,92vw);margin:8px auto 0}.door-controls .quick{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.door-controls input{flex:1;min-width:0;padding:9px 12px;border-radius:999px;border:1px solid var(--border);background:var(--page)}.talk{display:grid;gap:4px;justify-items:center}.talk-btn{width:min(420px,90vw);padding:16px;border-radius:999px;border:2px solid var(--accent);background:var(--surface);color:var(--ink);font-size:17px;font-weight:700;-webkit-user-select:none;user-select:none;touch-action:none}.talk-btn.on{background:#e53935;border-color:#e53935;color:#fff;animation:hb-pulse 1.1s ease-out infinite}.door-history{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.door-history figure{margin:0;border-radius:10px;overflow:hidden;border:1px solid var(--border);cursor:pointer;background:var(--surface)}.door-history img{width:100%;aspect-ratio:4 / 3;object-fit:cover;display:block}.door-history figcaption{font-size:12px;padding:4px 6px}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;background:#000000d9;display:grid;place-items:center;padding:16px;animation:hb-fade .2s ease both}.lightbox img{max-width:100%;max-height:100%;border-radius:12px}.door-cam-video{position:fixed;right:12px;bottom:12px;width:96px;height:72px;object-fit:cover;border-radius:10px;opacity:.55}.door-cam-note{position:fixed;left:12px;bottom:12px;font-size:13px;color:#c9d1ff;opacity:.8}.door-reply{font-size:clamp(26px,4.5vw,48px);font-weight:700;color:#fff;background:#3987e540;padding:14px 24px;border-radius:18px;animation:hb-pop .3s ease-out both}.plan-wrap{position:relative}.plan-svg{touch-action:pan-y}.plan-svg.zoomable{touch-action:none;cursor:grab}.plan-svg.zoomable:active{cursor:grabbing}.plan-hit{fill:transparent;stroke:none}.plan-zoom{position:absolute;right:8px;top:8px;z-index:2;display:grid;gap:6px}.plan-zoom .round{width:38px;height:38px;font-size:18px;background:var(--surface);box-shadow:0 2px 8px #0000002e}.crash{border-color:var(--bad, #d64545)}.crash-msg{white-space:pre-wrap;font-size:12px;background:var(--surface-2);padding:8px;border-radius:8px;max-height:160px;overflow:auto}.voices li.off{opacity:.55}details>summary{cursor:pointer;padding:6px 0}.right-details{display:grid;gap:6px;padding:6px 0}.right-details .row.wrap{display:flex;flex-wrap:wrap;gap:10px;align-items:center}details.fine summary{display:inline}.pill{font-size:12px;padding:2px 10px;border-radius:999px;background:var(--surface-2);color:var(--ink-2);margin-left:auto}.pill.on{background:#d64545;color:#fff}.mode-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.mode-btn{display:grid;gap:2px;text-align:left;padding:10px 12px;border-radius:12px}.mode-btn span{font-size:12px;color:var(--muted);font-weight:400}.mode-btn.on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent) inset}.checklist{margin:4px 0 0;padding-left:20px;display:grid;gap:4px}.progress{height:8px;border-radius:999px;background:var(--surface-2);overflow:hidden;margin:4px 0 8px}.progress>div{height:100%;background:var(--accent);border-radius:999px;transition:width .6s ease}.panel-list{display:grid;gap:8px}.panel-item{border:1px solid var(--border);border-radius:12px;padding:8px 10px;display:grid;gap:6px}.panel-item.offline{opacity:.7;border-style:dashed}.cam-row{margin-bottom:6px}.cam-row input{min-width:0}.siren{position:fixed;top:0;right:0;bottom:0;left:0;z-index:400;display:grid;place-content:center;text-align:center;gap:10px;color:#fff;background:#b71c1c;animation:hb-siren .9s ease-in-out infinite alternate;cursor:pointer;padding:16px}.siren-icon{font-size:clamp(64px,14vw,140px)}.siren-text{font-size:clamp(26px,5vw,56px);font-weight:800}.siren-sub{font-size:15px;opacity:.85}@keyframes hb-siren{0%{background:#7f0000}to{background:#e53935}}.sim-glow{position:fixed;top:0;right:0;bottom:0;left:0;z-index:350;background:#0b1a3a;pointer-events:none}.sim-flicker{position:absolute;top:0;right:0;bottom:0;left:0;animation:hb-tv 7s steps(1) infinite;mix-blend-mode:screen}@keyframes hb-tv{0%{background:#3d5a99;opacity:.75}9%{background:#c9d6ff;opacity:.9}14%{background:#2f4b80;opacity:.6}23%{background:#6f8fd1;opacity:.8}31%{background:#ffe0b3;opacity:.7}38%{background:#243a66;opacity:.55}47%{background:#9fb6ec;opacity:.85}55%{background:#fff;opacity:.95}61%{background:#3a5a94;opacity:.65}70%{background:#7a9be0;opacity:.8}78%{background:#f2c9a0;opacity:.7}86%{background:#2a4170;opacity:.6}93%{background:#b8c9f5;opacity:.9}}@media (prefers-reduced-motion: reduce){.siren{animation:none}}.vb-sentence{font-size:clamp(20px,3.4vw,28px);line-height:1.35;font-weight:600;margin:12px 0 14px}.new-version{position:fixed;left:50%;transform:translate(-50%);bottom:calc(16px + env(safe-area-inset-bottom));z-index:300;border-radius:999px;padding:10px 18px;background:var(--accent);color:#fff;border:0;box-shadow:0 6px 20px #00000040;font-weight:600;max-width:calc(100vw - 32px)}.hh-seg{margin-bottom:8px}.assistant-mini{position:fixed;left:50%;transform:translate(-50%);bottom:calc(84px + env(safe-area-inset-bottom));z-index:90;width:min(560px,calc(100vw - 24px));display:flex;align-items:center;gap:4px;padding:6px 6px 6px 12px;border-radius:22px;background:var(--surface);border:1px solid var(--border);box-shadow:0 10px 30px #00000038;animation:hb-mini-in .22s ease-out both}@media (min-width: 721px){.assistant-mini{bottom:20px}}.assistant-mini.err .mini-text{color:var(--bad)}.assistant-mini .mini-text{flex:1;min-width:0;text-align:left;background:none;border:0;padding:6px 4px;color:var(--ink);font-size:15px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;cursor:pointer}.assistant-mini .icon{flex:none}.mini-orb{--lvl: 0;flex:none;width:26px;height:26px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#9fd0ff,#2a78d6 60%,#123a7a);box-shadow:0 0 0 calc(var(--lvl) * 10px) #3987e540;transition:box-shadow .08s linear}.mini-orb.listen{animation:hb-orb-pulse 1.2s ease-in-out infinite}.mini-orb.think{background:conic-gradient(from 0deg,#2a78d6,#9fd0ff,#2a78d6);animation:hb-orb-spin 1s linear infinite}.mini-orb.speak{animation:hb-orb-breathe .9s ease-in-out infinite alternate}@keyframes hb-mini-in{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}@keyframes hb-orb-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}@keyframes hb-orb-spin{to{transform:rotate(360deg)}}@keyframes hb-orb-breathe{0%{transform:scale(.92)}to{transform:scale(1.08)}}@media (prefers-reduced-motion: reduce){.mini-orb{animation:none!important}.assistant-mini{animation:none}}.loading-bar{position:fixed;top:0;left:0;right:0;height:3px;z-index:500;overflow:hidden;pointer-events:none}.loading-bar:before{content:"";position:absolute;top:0;bottom:0;left:-40%;width:40%;background:var(--accent);border-radius:0 3px 3px 0;animation:hb-load 1.1s ease-in-out infinite}.loading-bar.done:before{left:0;width:100%;animation:hb-load-done .35s ease-out forwards}@keyframes hb-load{0%{left:-40%}to{left:100%}}@keyframes hb-load-done{0%{opacity:1}to{opacity:0}}.live-row{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px}.live-badge{position:relative;display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-2);padding:3px 10px 4px 8px;border-radius:999px;background:var(--surface-2);overflow:hidden;white-space:nowrap;transition:background-color .4s ease}.live-badge .dot{width:8px;height:8px;border-radius:50%;background:var(--muted);flex:none}.live-badge.live .dot{background:#18a957;box-shadow:0 0 #18a95780;animation:hb-live 2s ease-out infinite}.live-badge.late .dot{background:#e0a100}.live-badge.off .dot{background:var(--bad)}.live-badge.flash{background:color-mix(in srgb,#18a957 22%,var(--surface-2))}.live-badge .live-next{position:absolute;left:0;bottom:0;height:2px;width:calc(var(--p) * 100%);background:#18a957;opacity:.55;transition:width 1s linear}@keyframes hb-live{0%{box-shadow:0 0 #18a95773}70%{box-shadow:0 0 0 6px #18a95700}to{box-shadow:0 0 #18a95700}}@media (prefers-reduced-motion: reduce){.live-badge.live .dot{animation:none}.loading-bar:before{animation-duration:2.5s}}.setup-card{border-color:var(--accent)}.setup-list{list-style:none;margin:8px 0;padding:0;display:grid;gap:8px}.setup-list li{display:flex;align-items:center;gap:8px}.setup-list li.ok{opacity:.6}.setup-mark{width:22px;text-align:center;flex:none}.alarm-row{display:flex;align-items:center;gap:14px;cursor:pointer}.alarm-row.off{opacity:.55}.alarm-time{font-size:40px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-1px;min-width:120px}.alarm-phone{padding:10px 14px}.alarm-phone.ok{border-left:4px solid var(--good)}.alarm-phone.warn{border-left:4px solid var(--c-pv)}.alarm-form{display:grid;gap:10px}.alarm-input{font-size:34px;font-weight:700;padding:6px 10px;width:180px}.alarm-line{display:block;padding:10px 14px;margin:8px 0;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);color:var(--ink);text-decoration:none}ul.plain{margin:0;padding-left:18px;display:grid;gap:6px}.switch{position:relative;display:inline-block;width:46px;height:26px;flex:none}.switch input{opacity:0;width:0;height:0}.switch span{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--axis);border-radius:999px;transition:background .2s;cursor:pointer}.switch span:before{content:"";position:absolute;width:20px;height:20px;left:3px;top:3px;background:#fff;border-radius:50%;transition:transform .2s}.switch input:checked+span{background:var(--c-bat)}.switch input:checked+span:before{transform:translate(20px)}.wake-up{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9000;color:#fff;display:flex;align-items:center;justify-content:center;text-align:center}.wake-sky{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,#ffb347,#ff7e5f 25%,#6a4c93 60%,#0b1730);opacity:calc(.25 + .75 * var(--sun, 0));transition:opacity 2s linear}.wake-up:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#05070d}.wake-up.snooze .wake-sky{opacity:.12}.wake-body{position:relative;max-width:900px;padding:24px;display:grid;gap:18px;justify-items:center}.wake-clock{font-size:clamp(64px,16vw,160px);font-weight:700;font-variant-numeric:tabular-nums;text-shadow:0 2px 20px rgba(0,0,0,.35)}.wake-text{font-size:clamp(20px,3.4vw,34px);line-height:1.35}.wake-text .sub{color:#fffc;font-size:16px;margin-top:8px}.wake-text.report{font-size:clamp(18px,2.6vw,26px);text-align:left}.wake-btns button{font-size:20px;padding:12px 22px;border-radius:999px}.wake-btns .ghost{color:#fff;border-color:#fff9}@media (prefers-reduced-motion: reduce){.wake-sky{transition:none}}.page-narrow{max-width:760px;margin:0 auto}.area-head{display:flex;align-items:center;gap:10px 16px;flex-wrap:wrap;margin:4px 0 12px}.area-head h1{margin:0}nav.subtabs{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;max-width:100%}nav.subtabs::-webkit-scrollbar{display:none}nav.subtabs a{flex:none;text-decoration:none;color:var(--ink-2);padding:6px 12px;border-radius:999px;border:1px solid var(--border);font-size:14px;white-space:nowrap}nav.subtabs a.on{background:var(--ink);color:var(--surface);border-color:var(--ink)}.top-links a.on{color:var(--ink);font-weight:600}a.brand{color:inherit;text-decoration:none}.toggle-group+.toggle-group{margin-top:12px}.toggle-group h3{font-size:13px;font-weight:650;color:var(--ink-2);margin:6px 0 2px;text-transform:none}.section-title{margin:24px 0 10px;font-size:18px}.stats-wr{scroll-margin-top:70px}.energy-strip{display:flex;gap:6px 14px;flex-wrap:wrap;align-items:center;padding:10px 14px;margin:0 0 var(--gap);border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);color:var(--ink);text-decoration:none;font-variant-numeric:tabular-nums}.energy-strip .sub{margin-left:auto}@media (max-width: 720px){.area-head{flex-direction:column;align-items:stretch}}:root{--r-sm: 10px;--r: 16px;--r-lg: 22px;--shadow-1: 0 1px 2px rgba(20, 24, 33, .05), 0 6px 18px rgba(20, 24, 33, .06);--shadow-2: 0 14px 40px rgba(20, 24, 33, .16);--ease: cubic-bezier(.2, .8, .2, 1);--btn: #ecebe7;--btn-hover: #e2e0db;--card-hi: rgba(255, 255, 255, .7);--warm: #ff8a3d;--cool: #3aa8ff;--house-front: #f4efe6;--house-side: #e3dccf;--house-roof: #7a4b3a;--house-trim: #5d3527;--door: #8a5a44;--ground: #cfe3b8;--sky-top: #7fb9f2;--sky-bottom: #dcefff;--pole: #6b7280;--win: #c9dcef;--win-lit: #ffd27a}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--shadow-1: 0 1px 0 rgba(255, 255, 255, .04) inset, 0 8px 24px rgba(0, 0, 0, .35);--shadow-2: 0 18px 50px rgba(0, 0, 0, .55);--btn: #2a2a28;--btn-hover: #343431;--card-hi: rgba(255, 255, 255, .035);--house-front: #3b3a40;--house-side: #2d2c32;--house-roof: #5c3a2e;--house-trim: #3f241b;--door: #5e3d2f;--ground: #1f3324;--sky-top: #1d3f6e;--sky-bottom: #335f8f;--pole: #8b93a1;--win: #3a4a5c;--win-lit: #ffcf6e}}:root[data-theme=dark]{--shadow-1: 0 1px 0 rgba(255, 255, 255, .04) inset, 0 8px 24px rgba(0, 0, 0, .35);--shadow-2: 0 18px 50px rgba(0, 0, 0, .55);--btn: #2a2a28;--btn-hover: #343431;--card-hi: rgba(255, 255, 255, .035);--house-front: #3b3a40;--house-side: #2d2c32;--house-roof: #5c3a2e;--house-trim: #3f241b;--door: #5e3d2f;--ground: #1f3324;--sky-top: #1d3f6e;--sky-bottom: #335f8f;--pole: #8b93a1;--win: #3a4a5c;--win-lit: #ffcf6e}body{background:radial-gradient(900px 500px at 0% -10%,rgba(57,135,229,.1),transparent 60%),radial-gradient(700px 420px at 100% 0%,rgba(237,161,0,.07),transparent 60%),var(--page);background-attachment:fixed}:where(button){-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent;border:1px solid var(--border);background:var(--btn);color:var(--ink);border-radius:12px;padding:9px 16px;font-weight:600;font-size:15px;line-height:1.2;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;transition:background-color .18s var(--ease),border-color .18s var(--ease),color .18s,box-shadow .2s var(--ease),transform .12s var(--ease)}:where(button:not(.linkish):hover){background:var(--btn-hover)}:where(button:active){transform:scale(.96)}:where(button:disabled){opacity:.45;cursor:default;transform:none}:where(button:focus-visible),a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button.primary,a.primary{background:linear-gradient(180deg,#4a95ec,var(--accent));color:#fff;border:1px solid rgba(0,0,0,.12);border-radius:12px;padding:9px 18px;box-shadow:0 6px 16px #2a78d647,0 1px #ffffff40 inset;text-decoration:none;font-weight:650}button.primary:hover,a.primary:hover{filter:brightness(1.06);background:linear-gradient(180deg,#4a95ec,var(--accent))}.ghost,button.ghost{background:transparent;border:1px solid var(--border);color:var(--ink-2);border-radius:12px;padding:8px 14px;min-height:36px}.ghost:hover,button.ghost:hover{background:var(--surface-2);color:var(--ink)}button.danger{color:var(--bad);background:#d6454514;border:1px solid rgba(214,69,69,.35);border-radius:12px;padding:9px 16px}button.danger:hover{background:#d6454526}.linkish,button.linkish{background:none;border:0;padding:0;min-height:0;border-radius:4px;color:var(--accent);font-weight:600;font-size:13px;display:inline}button.round{width:44px;height:44px;min-height:0;padding:0;border-radius:50%;font-size:22px;box-shadow:var(--shadow-1)}button.round.big{width:54px;height:54px}button.power{min-width:76px;height:44px;border-radius:999px;font-weight:700}button.power.on{background:linear-gradient(180deg,#ff9a52,#f0662b);color:#fff;border-color:transparent;box-shadow:0 6px 18px #f0662b59}button.big{font-size:18px;padding:13px 24px;border-radius:16px}button.icon{padding:6px 10px;min-height:34px}.seg{display:inline-flex;flex-wrap:wrap;gap:3px;padding:3px;background:var(--surface-2);border-radius:13px;border:1px solid var(--border)}.seg button{background:transparent;border:0;border-radius:10px;padding:7px 13px;min-height:34px;color:var(--ink-2);font-weight:600;box-shadow:none}.seg button:hover{background:#7f7f7f1a;color:var(--ink)}.seg button.on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-1);border:0}.datenav button{border-radius:10px;min-height:36px;padding:6px 12px}.chips-pick button{border-radius:999px;padding:5px 13px;min-height:32px;font-size:13px}.actions{display:flex;flex-wrap:wrap;gap:8px}.actions button{border-radius:14px}.actions .quick-pick,.actions .quick-active{order:99}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea{background:var(--surface);border:1px solid var(--border);border-radius:11px;padding:8px 12px;min-height:40px;color:var(--ink);transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #3987e538}input[type=checkbox]{accent-color:var(--accent);width:18px;height:18px}select,input[type=file]{max-width:100%;min-width:0}code{overflow-wrap:anywhere}.card,.tile{border-radius:var(--r);box-shadow:var(--shadow-1);background:linear-gradient(180deg,var(--card-hi),rgba(255,255,255,0) 70px),var(--surface)}.card{padding:16px}.card header h2{font-size:16px;letter-spacing:-.01em}header.top{background:var(--page)}nav.tabs a{position:relative;transition:color .2s,background-color .25s var(--ease)}nav.tabs a .ti{display:inline-flex}nav.tabs a.on{background:#3987e524;color:var(--accent)}nav.tabs a.on .ti{animation:hb-tab-pop .35s var(--ease)}@keyframes hb-tab-pop{0%{transform:scale(.8)}60%{transform:scale(1.12)}to{transform:scale(1)}}@media (max-width: 720px){nav.tabs{background:#fafaf8d1;backdrop-filter:saturate(1.6) blur(18px);-webkit-backdrop-filter:saturate(1.6) blur(18px)}nav.tabs a{border-radius:14px}}@media (max-width: 720px) and (prefers-color-scheme: dark){:root:not([data-theme=light]) nav.tabs{background:#161615d1}}:root[data-theme=dark] nav.tabs{background:#161615d1}.menu-pop a{display:flex;align-items:center;gap:10px}.top-links a.sub{display:inline-flex;align-items:center;gap:5px;text-decoration:none;padding:6px 8px;border-radius:10px}.top-links a.sub:hover{background:var(--surface-2);color:var(--ink)}@media (prefers-reduced-motion: no-preference){.stagger>*{animation:hb-rise .5s var(--ease) backwards}.stagger>:nth-child(2){animation-delay:.04s}.stagger>:nth-child(3){animation-delay:.08s}.stagger>:nth-child(4){animation-delay:.12s}.stagger>:nth-child(5){animation-delay:.16s}.stagger>:nth-child(6){animation-delay:.2s}.stagger>:nth-child(7){animation-delay:.24s}.stagger>:nth-child(n+8){animation-delay:.28s}}.dash-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:4px 0 12px}.dash-head h1{margin:0;font-size:26px;letter-spacing:-.02em}.dash-head .sub{font-size:14px}.dash-weather{display:flex;align-items:center;gap:8px;text-align:right}.dash-weather .big{font-size:34px;line-height:1}.dash-weather b{font-size:22px}.glance{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:2px 2px 10px;margin:0 -2px}.glance::-webkit-scrollbar{display:none}.glance-chip{flex:none;display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:999px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-1);color:var(--ink);text-decoration:none;font-size:14px;font-weight:600;white-space:nowrap}.glance-chip .ico{color:var(--accent)}.glance-chip.warn .ico{color:var(--c-force)}.glance-chip.ok .ico{color:var(--c-bat)}button.glance-chip{min-height:0;cursor:pointer;font-family:inherit;line-height:normal}.glance-chip.nap{border-color:var(--c-grid)}.glance-chip.nap.mine{background:var(--surface-2)}.glance-chip.nap-go{color:var(--ink-2)}.glance-msg{margin:-4px 2px 10px}.presence .person.asleep{border-color:var(--c-grid)}.nap-history h3{font-size:15px;margin:14px 0 4px}.dash-energy{padding:0;overflow:hidden}.dash-energy .eh-foot{display:flex;justify-content:space-between;align-items:center;padding:10px 14px 12px;gap:10px;flex-wrap:wrap}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:18px 0 8px}.section-head h2{font-size:18px;margin:0}.room-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-bottom:10px}.room-tile{position:relative;border-radius:var(--r);padding:12px 12px 11px;min-height:112px;display:flex;flex-direction:column;gap:3px;background:linear-gradient(180deg,var(--card-hi),rgba(255,255,255,0) 60px),var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-1);cursor:pointer;overflow:hidden;transition:transform .18s var(--ease),box-shadow .2s,border-color .2s}.room-tile:hover{transform:translateY(-2px);box-shadow:var(--shadow-2)}.room-tile:active{transform:scale(.98)}.room-tile .rt-name{font-size:13.5px;font-weight:650;color:var(--ink-2);padding-right:38px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.room-tile .rt-temp{font-size:32px;font-weight:700;letter-spacing:-.03em;line-height:1.05;margin-top:4px}.room-tile .rt-state{font-size:12.5px;color:var(--muted);display:flex;align-items:center;gap:5px;margin-top:auto}.room-tile .rt-power{position:absolute;top:9px;right:9px;width:34px;height:34px;min-height:0;padding:0;border-radius:50%}.room-tile .rt-power.on{background:linear-gradient(180deg,#ff9a52,#f0662b);color:#fff;border-color:transparent;box-shadow:0 4px 12px #f0662b59}.room-tile.cool .rt-power.on{background:linear-gradient(180deg,#5cb8ff,#2a8be0);box-shadow:0 4px 12px #2a8be059}.room-tile.heat{border-color:#ff8a3d73;background:radial-gradient(130% 100% at 100% 0%,rgba(255,138,61,.22),transparent 60%),var(--surface)}.room-tile.cool{border-color:#3aa8ff73;background:radial-gradient(130% 100% at 100% 0%,rgba(58,168,255,.2),transparent 60%),var(--surface)}.room-tile.heat .rt-state .ico{color:var(--warm)}.room-tile.cool .rt-state .ico{color:var(--cool)}.room-tile.offline{opacity:.65;border-style:dashed}.room-tile.pending .rt-temp{opacity:.7}@media (prefers-reduced-motion: no-preference){.room-tile.running:after{content:"";position:absolute;top:-30%;right:-30%;bottom:-30%;left:-30%;pointer-events:none;background:radial-gradient(circle at 85% 15%,rgba(255,138,61,.32),transparent 42%);animation:hb-warm 3.2s ease-in-out infinite}.room-tile.cool.running:after{background:radial-gradient(circle at 85% 15%,rgba(58,168,255,.3),transparent 42%)}}@keyframes hb-warm{0%,to{opacity:.45;transform:scale(1)}50%{opacity:1;transform:scale(1.06)}}.details-head{display:flex;align-items:center;gap:10px;margin:22px 0 10px;color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.details-head:after{content:"";flex:1;height:1px;background:var(--border)}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:400;background:#05080e73;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);display:flex;align-items:flex-end;justify-content:center;animation:hb-fade .2s ease both}.sheet{width:min(600px,100%);max-height:90vh;max-height:90dvh;overflow:auto;background:var(--page);border-radius:24px 24px 0 0;padding:8px 12px calc(16px + env(safe-area-inset-bottom));box-shadow:var(--shadow-2);animation:hb-sheet .32s var(--ease) both}.sheet .sheet-actions{position:sticky;bottom:0;z-index:2;margin:10px -12px 0;padding:10px 12px;background:var(--page);border-top:1px solid var(--border)}.sheet .grab{width:44px;height:5px;border-radius:5px;background:var(--axis);margin:4px auto 10px}.sheet .card{box-shadow:none}@media (min-width: 721px){.sheet-backdrop{align-items:center}.sheet{border-radius:24px}}.ehouse{display:block;width:100%;height:auto}.ehouse.compact{max-height:230px}.eh-sky-top{stop-color:var(--sky-top)}.eh-sky-bottom{stop-color:var(--sky-bottom)}.ehouse.night .eh-sky-top{stop-color:#0a1430}.ehouse.night .eh-sky-bottom{stop-color:#1f2b57}.eh-ground{fill:var(--ground)}.eh-wall-front{fill:var(--house-front);stroke:#0000001f;stroke-width:1}.eh-wall-side{fill:var(--house-side);stroke:#0000001f;stroke-width:1}.eh-roof{fill:var(--house-roof)}.eh-trim{fill:none;stroke:var(--house-trim);stroke-width:6;stroke-linecap:round;stroke-linejoin:round}.eh-trim.thin{stroke-width:3}.eh-panel{stroke:#ffffff59;stroke-width:.8}.eh-panel.sunny{animation:hb-panel 4s ease-in-out infinite}@keyframes hb-panel{0%,to{filter:brightness(1)}50%{filter:brightness(1.35)}}.eh-win{fill:var(--win);stroke:#00000026;stroke-width:.8;transition:fill .6s}.eh-win.lit{fill:var(--win-lit)}.ehouse.night .eh-win.lit{filter:drop-shadow(0 0 4px rgba(255,200,90,.8))}.eh-door{fill:var(--door)}.eh-inverter{fill:#e9edf2;stroke:#8a95a5;stroke-width:1}.eh-pole path{stroke:var(--pole);stroke-width:3;fill:none;stroke-linecap:round}.eh-pole circle{fill:var(--pole)}.eh-bat-shell{fill:#2b3440;stroke:#1b222b;stroke-width:1}.eh-bat-cap{fill:#1b222b}.eh-bat-fill{transition:y .8s var(--ease),height .8s var(--ease)}.eh-bat-fill.charging{animation:hb-charge 1.6s ease-in-out infinite}@keyframes hb-charge{0%,to{opacity:.85}50%{opacity:1;filter:brightness(1.25)}}.eh-bat-pct{fill:#fff;font:700 10.5px system-ui,sans-serif;text-anchor:middle;paint-order:stroke;stroke:#00000059;stroke-width:2px}.eh-wire{fill:none;stroke:var(--axis);stroke-width:2.4;stroke-linecap:round;opacity:.55;transition:stroke .4s,opacity .4s}.eh-wire.on{opacity:.5}.eh-dot{filter:drop-shadow(0 0 3px currentColor)}.eh-val{font:700 14px system-ui,sans-serif;text-anchor:middle;fill:#fff}.eh-val.small{font-size:12px;fill:var(--ink);paint-order:stroke;stroke:var(--surface);stroke-width:3px}.eh-val.house{fill:var(--ink);font-size:13px}.eh-lbl{font:600 9.5px system-ui,sans-serif;text-anchor:middle;fill:var(--ink-2);paint-order:stroke;stroke:var(--surface);stroke-width:3px}.eh-lbl.house{stroke:none;fill:var(--muted)}.eh-pill.pv{fill:#eda100eb;filter:drop-shadow(0 3px 6px rgba(0,0,0,.25))}.eh-sun-glow{animation:hb-sunglow 4s ease-in-out infinite;transform-box:fill-box;transform-origin:center}@keyframes hb-sunglow{0%,to{transform:scale(1);opacity:.9}50%{transform:scale(1.12);opacity:1}}.eh-moon{fill:#f3f0d8}.eh-star{fill:#fff;animation:hb-twinkle 3.5s ease-in-out infinite}@keyframes hb-twinkle{0%,to{opacity:.25}50%{opacity:1}}.eh-cloud{fill:#ffffffd9}.ehouse.night .eh-cloud{fill:#aab4d259}.eh-cloud.c1{animation:hb-cloud 38s linear infinite}.eh-cloud.c2{animation:hb-cloud 52s linear infinite reverse}@keyframes hb-cloud{0%{transform:translate(-30px)}50%{transform:translate(40px)}to{transform:translate(-30px)}}@media (prefers-reduced-motion: reduce){.eh-panel.sunny,.eh-sun-glow,.eh-star,.eh-cloud,.eh-bat-fill.charging{animation:none}}.energy-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:0 12px 12px}.energy-stats div{background:var(--surface-2);border-radius:12px;padding:8px 6px;text-align:center}.energy-stats b{display:block;font-size:15px;font-variant-numeric:tabular-nums}.energy-stats span{font-size:11px;color:var(--muted)}.brain-days{margin:6px 0 8px;gap:8px}.brain-compare{display:grid;grid-template-columns:1fr 1fr;gap:10px}.brain-compare figure{margin:0;border-radius:var(--r);overflow:hidden}.brain-compare figcaption{padding:8px 12px;font-size:13px;color:#c9d1ff}@media (max-width: 720px){.brain-compare{grid-template-columns:1fr}}.brain-top{display:flex;flex-wrap:wrap;gap:12px;align-items:center}button.iq-btn{background:none;border:0;padding:0;min-height:0;display:flex;flex-direction:column;align-items:center;gap:2px}button.iq-btn:hover{background:none}.ring.iq{stroke:#c4b5fd}.iq-card h3{font-size:14px;margin:14px 0 6px}.iq-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.iq-row{display:grid;grid-template-columns:150px 1fr 36px;align-items:center;gap:10px}.iq-bar{height:8px;border-radius:99px;background:var(--surface-2);overflow:hidden}.iq-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#8b5cf6,#c4b5fd)}@media (max-width: 720px){.iq-row{grid-template-columns:1fr 70px 30px}}.heat-room{opacity:.42;stroke:none;pointer-events:none;transition:fill 1s}.heat-room.heats{opacity:.55}.heat-temp{font:700 26px system-ui,sans-serif;fill:var(--ink);paint-order:stroke;stroke:var(--surface);stroke-width:6px;pointer-events:none}.heat-arrow{stroke:#ff7a1a;stroke-linecap:round;fill:none;opacity:.9;stroke-dasharray:14 10;pointer-events:none}.heat-arrowhead{fill:#ff7a1a}.heat-arrow-faint{opacity:.35}.heat-stair{font:700 20px system-ui,sans-serif;fill:#c2410c;paint-order:stroke;stroke:var(--surface);stroke-width:5px;pointer-events:none}.heat-flow{font:700 18px system-ui,sans-serif;fill:#c2410c;paint-order:stroke;stroke:var(--surface);stroke-width:5px;pointer-events:none}@media (prefers-reduced-motion: no-preference){.heat-arrow{animation:hb-heatflow 1.2s linear infinite}}@keyframes hb-heatflow{to{stroke-dashoffset:-24}}.heat-scale{display:flex;gap:4px;margin:4px 0 8px}.heat-scale span{flex:1;text-align:center;color:#fff;font-weight:700;font-size:12px;border-radius:6px;padding:3px 0;text-shadow:0 1px 2px rgba(0,0,0,.4)}.plug-list{display:grid;gap:8px}.plug-item{border:1px solid var(--border);border-radius:12px;padding:10px 12px;display:grid;gap:4px}.plug-item.running{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.plug-item.off{opacity:.75}.plug-icon{font-size:20px}.plug-w{margin-left:auto;font-variant-numeric:tabular-nums;font-weight:600}.plug-edit{display:grid;gap:8px;margin-top:6px;padding-top:8px;border-top:1px dashed var(--border)}.plug-edit label{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.plug-edit input:not([type=checkbox]),.plug-edit select{min-width:0}.glance-chip.run{border:1px solid var(--accent)}@media (prefers-reduced-motion: no-preference){.glance-chip.run{animation:plugpulse 2.4s ease-in-out infinite}}@keyframes plugpulse{50%{box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 18%,transparent)}}.reflect-diary{font-size:15px;line-height:1.55;margin:8px 0;white-space:pre-wrap}.reflect-input{max-height:320px;overflow:auto;font-size:11px;background:var(--surface-2);padding:8px;border-radius:8px;white-space:pre-wrap}.wishlist li.done{opacity:.6}.reflect h3{margin:12px 0 4px;font-size:14px}.heat-room.heat-virtual{opacity:.45;stroke-dasharray:8 6}.heat-temp-virtual{font-style:italic}.assumptions{margin:8px 0}.plan-subtabs{margin:-4px 0 8px}.rf-group header h2{margin-bottom:4px}.rf-room{border-top:1px solid var(--border)}.rf-room:first-of-type{border-top:0}.rf-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:0;border-radius:10px;padding:10px 6px;color:inherit;min-height:56px}.rf-row:hover{background:var(--surface-2)}.rf-name{display:flex;flex-direction:column;min-width:0}.rf-name b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rf-name small,.rf-nums small{color:var(--ink-2);font-size:12px}.rf-nums{display:flex;flex-direction:column;align-items:flex-end;white-space:nowrap}.rf-nums b{font-size:18px}.rf-spark{display:block}.rf-spark path,.rf-spark line{vector-effect:non-scaling-stroke}.rf-sum{grid-template-columns:repeat(auto-fill,minmax(132px,1fr))}.rf-sum .tile .value{font-size:22px}.rf-sum .tile .note{font-size:12px}.rf-spark .rf-meas{fill:none;stroke:var(--c-load);stroke-width:1.8}.rf-spark .rf-exp{fill:none;stroke:var(--c-load);stroke-width:1.8;stroke-dasharray:3 2}.rf-spark .rf-free{fill:none;stroke:var(--muted);stroke-width:1.2;stroke-dasharray:2 2}.rf-spark .rf-floor{stroke:var(--ink-2);stroke-width:.8;stroke-dasharray:1 2}.rf-spark .rf-now{stroke:var(--axis);stroke-width:1}.rf-spark .rf-heat{fill:var(--c-force);opacity:.22}.rf-spark .rf-passive{fill:var(--c-force);opacity:.09}.rf-detail{padding:4px 6px 14px}.rf-tiles{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));margin-top:8px}.rf-tiles .tile .value{font-size:22px}.rf-learned summary{cursor:pointer;font-weight:600;margin:4px 0}.rf-learned li{margin:6px 0}@media (max-width: 520px){.rf-row{grid-template-columns:minmax(0,1fr) auto}.rf-spark{grid-column:1 / -1;grid-row:2;width:100%;height:34px}}.facts-group h3{margin:14px 0 6px;font-size:15px}.facts li{padding:8px 0;border-top:1px solid var(--border)}.facts li:first-child{border-top:0}.fact-value{margin:3px 0}.wake-card .wake-text{font-size:30px;font-weight:700;margin:8px 0 2px}.wake-card .wake-hint{color:var(--ink-2);margin:0 0 10px}.wake-art{font-size:13px;font-weight:600;margin:0}.wake-heimdall{color:var(--good)}.wake-google{color:var(--accent)}.wake-nein{color:var(--bad)}.payback-months{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:4px;align-items:end;margin:8px 0 2px}.payback-months .pm{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0}.payback-months .pm-bar{width:100%;height:72px;display:flex;align-items:flex-end}.payback-months .pm-bar>div{width:100%;background:var(--accent);border-radius:4px 4px 0 0;opacity:.8;transition:height .6s ease}.payback-months .pm-bar>div.now{opacity:1}.payback-months .pm-v{font-size:11px;color:var(--text-2, var(--muted));font-variant-numeric:tabular-nums}.payback-months .pm-l{font-size:11px;color:var(--muted)}.calendar .cal-head{display:flex;align-items:center;gap:10px}.cal-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:6px 0 10px}.cal-month{font-size:18px;text-transform:capitalize;min-width:9.5em;text-align:center}.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.cal-dow{font-size:12px;color:var(--muted);text-align:center;padding:2px 0}.cal-day{display:flex;flex-direction:column;align-items:stretch;gap:2px;min-height:76px;padding:4px 4px 3px;text-align:left;border-radius:10px;background:var(--surface);border:1px solid var(--border);color:var(--ink);font-weight:400;box-shadow:none;overflow:hidden;cursor:pointer}.cal-day.out{opacity:.45}.cal-day.today .cal-num{background:var(--accent);color:#fff;border-radius:999px;padding:0 6px}.cal-day.sel{outline:2px solid var(--accent);outline-offset:-2px}.cal-day.holiday .cal-num{color:var(--bad);font-weight:700}.cal-day.today.holiday .cal-num{color:#fff}.cal-num{font-size:13px;align-self:flex-start;line-height:1.5}.cal-marks{display:flex;flex-direction:column;gap:2px;min-width:0}.cal-mark{display:block;font-size:11px;line-height:1.3;border-left:3px solid var(--c);background:color-mix(in srgb,var(--c) 14%,transparent);border-radius:3px;padding:0 3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-more{font-size:11px;color:var(--muted)}@media (max-width: 720px){.cal-day{min-height:52px;padding:3px}.cal-marks{flex-direction:row;flex-wrap:wrap;gap:3px}.cal-mark{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:var(--c)}.cal-mark-t{display:none}}.cal-dayview{margin-top:12px}.cal-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.cal-item{display:flex;gap:10px;align-items:flex-start;padding:8px 10px;border-radius:10px;background:var(--surface-2)}.cal-item.edit{cursor:pointer}.cal-bar{width:4px;align-self:stretch;border-radius:4px;background:var(--c);flex:none}.cal-who,.cal-notes{display:block}.cal-form{display:flex;flex-direction:column;gap:10px}.cal-form .cal-title{font-size:17px}.cal-form .row.wrap{flex-wrap:wrap;gap:12px}.cal-for{display:flex;flex-direction:column;gap:6px}.cal-groups{display:flex;flex-direction:column;gap:8px;margin-top:6px}button.danger{color:var(--bad)}.cal-place,.cal-remind{display:flex;flex-direction:column;gap:6px}.cal-place .row input{flex:1;min-width:0}.cal-found li{margin:3px 0}.cal-remind .chips-pick button:disabled{opacity:.45}.cal-form :is(input,select,textarea):disabled{opacity:.6;cursor:not-allowed}.cal-phone-hint{margin:0;padding:8px 10px;border-radius:10px;background:color-mix(in srgb,var(--c-event) 12%,transparent)}.cal-clock{align-items:center;gap:6px 8px!important}.cal-clock select,.cal-clock input[type=time]{width:auto}.hunt-chips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.hunt-chips .chip{margin-left:0;font-size:12px;padding:2px 9px}.hunt-list{list-style:none;padding:0;margin:8px 0}.hunt-list li{padding:8px 0;border-bottom:1px solid color-mix(in srgb,var(--ink-2) 18%,transparent)}.hunt-list li:last-child{border-bottom:none}.hunt-list li button{margin-top:6px}.budget-day{padding:8px 0 10px;border-bottom:1px solid color-mix(in srgb,var(--ink-2) 14%,transparent)}.budget-day:last-of-type{border-bottom:none}.budget-head{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;margin-bottom:6px}.budget-row{display:grid;grid-template-columns:52px 1fr auto;gap:8px;align-items:center;margin:4px 0}.budget-label{font-size:12px;color:var(--muted)}.budget-track{display:flex;gap:2px;height:12px;background:var(--surface-2);border-radius:6px;overflow:hidden}.budget-seg{display:block;height:100%;border-radius:0 4px 4px 0;min-width:0}.budget-val{font-size:13px;font-variant-numeric:tabular-nums;min-width:64px;text-align:right}.budget-legend{display:flex;flex-wrap:wrap;gap:4px 12px;margin:4px 0 0 60px;font-size:12px;color:var(--muted)}.budget-legend i{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:5px;vertical-align:-1px}.budget-net{margin:6px 0 0}.budget-tip{margin:6px 0 0;font-size:13px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.wish-list li{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 6px;padding:6px 0;border-bottom:1px solid color-mix(in srgb,var(--ink-2) 12%,transparent)}.wish-list li:last-child{border-bottom:none}.wish-list li .linkish{margin-left:auto;font-size:12px}.wish-list li.muted{opacity:.6}.rt-cost{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums;margin-top:2px}.oven-line{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:4px 0 12px;font-size:.92em;color:var(--muted)}.oven-line .oven-buttons{display:flex;gap:6px;flex:none}.thinking .group-row td{font-weight:600;color:var(--muted);padding-top:10px}.cal-form label.row{flex-wrap:nowrap;align-items:flex-start}.cal-form label.row input[type=checkbox]{flex:none;margin-top:3px}.task-add .wd-pick{display:inline-flex;gap:4px;flex-wrap:wrap}.task-add .wd-pick button{min-width:34px;padding:6px 8px}.task-add .wd-pick button.on{background:var(--accent);border-color:var(--accent);color:#fff}.task-add .every{display:inline-flex;align-items:center;gap:6px}.task-add .every input{width:64px}.given-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.given-list li{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--border);border-radius:12px}.given-list li.done .given-title{text-decoration:line-through;color:var(--muted)}.given-list .given-title{flex:1;min-width:0}.given-list .badge{font-size:12px;padding:2px 8px;border-radius:999px;background:var(--surface-2);color:var(--ink-2);white-space:nowrap}.given-list li.done .badge{background:#2ea04329;color:var(--ink)}.profile-list{list-style:none;margin:4px 0 10px;padding:0;display:grid;gap:6px}.profile-entry{display:flex;align-items:flex-start;gap:10px;padding:9px 10px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.profile-entry.editable{cursor:pointer}.profile-entry.editable:hover{background:var(--surface-2)}.profile-entry .pe-icon{font-size:18px;line-height:1.3}.profile-entry .pe-main{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;min-width:0}.profile-entry .pe-main a{color:var(--accent);text-decoration:none;font-variant-numeric:tabular-nums}.profile-entry .task-meta{flex-basis:100%}.profile-form{display:grid;gap:10px}.profile-form label{display:grid;gap:4px}.profile-form label.row{display:flex;flex-wrap:nowrap;align-items:flex-start;gap:8px}.profile-form label.row input[type=checkbox]{flex:none;margin-top:3px}.pf-times{display:grid;gap:6px}.pf-sicht{display:grid;gap:4px;margin:8px 0}.emergency .em-person+.em-person{border-top:1px solid var(--border);padding-top:8px}.emergency h3{margin:6px 0 4px;font-size:15px}@media print{.profile .person-seg,.profile>.sub{display:none!important}.profile-entry{break-inside:avoid}}.cost-fc .cost-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:6px 0 10px}.cost-fc .cost-grid>div{display:grid;gap:2px;padding:8px 10px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.cost-fc .cost-grid b{font-size:17px;font-variant-numeric:tabular-nums}.cost-fc .cost-steps li{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:baseline;padding:4px 0;border-bottom:1px dashed var(--border)}.cost-fc .cost-steps b,.cost-fc .cost-pick b{font-variant-numeric:tabular-nums}.cost-fc .cost-one .cost-steps li{grid-template-columns:1fr auto;row-gap:2px}.cost-fc .cost-one .cost-steps li .sub{grid-column:1 / -1}.cost-fc .cost-pick{flex-wrap:wrap;gap:8px;align-items:center;margin:10px 0 4px}@media (max-width: 420px){.cost-fc .cost-grid{grid-template-columns:1fr 1fr}}.hs:empty{display:none}.hs.closed:has(>.hs-body:empty){display:none}.hs.closed{margin-bottom:8px}.hs-head{display:flex;align-items:center;justify-content:flex-start;gap:10px;width:100%;text-align:left;padding:10px 14px;min-height:44px;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-1);color:var(--ink);font-size:15px;font-weight:600;cursor:pointer}.hs-head:hover{background:var(--surface-2)}.hs-arrow{color:var(--muted);width:12px;flex:none}.hs.closed.peek .hs-head{margin-bottom:8px}.home-customize{text-align:center;margin:6px 0 14px}.layout-editor h2{margin:2px 0 6px;font-size:18px}.le-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.le-foot{margin:14px 0 4px}.le-list{list-style:none;margin:10px 0 0;padding:0}.le-row{display:flex;align-items:center;gap:10px;padding:8px 2px;border-bottom:1px solid var(--border)}.le-row.off .le-name{opacity:.5}.le-name{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.le-name b{font-size:14px;font-weight:600}.le-name .sub{font-size:12px}.le-btns{display:flex;gap:6px;flex:none}.le-btns button.round{width:38px;height:38px;font-size:17px;box-shadow:none}.le-btns button.round.on{background:var(--surface)}.le-btns button.round:disabled{opacity:.35}@media (max-width: 400px){.le-btns{gap:3px}.le-btns button.round{width:34px;height:34px;font-size:15px}}.budget-err{font-size:11px;color:var(--muted);margin-left:2px}
