.garage-card{display:flex;flex-direction:column;gap:var(--s15);overflow:hidden}.garage-btn{flex:1 1 0;min-height:90px;display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden}.garage-btn .garage-svg{width:100%;height:100%;max-width:360px;max-height:300px}.garage-actions{display:flex;gap:var(--s1)}.garage-actions .btn{flex:0 0 auto}.garage-actions .btn:first-child{flex:1 1 auto}.garage-svg .g-house{fill:var(--panel-2);stroke:var(--line);stroke-width:2}.garage-svg .g-opening{fill:color-mix(in srgb,var(--bg) 70%,black)}.garage-svg .g-inside{fill:var(--dim);opacity:.55}.garage-svg .g-panel-bg{fill:var(--panel)}.garage-svg .g-panel{fill:var(--panel-2);stroke:var(--line);stroke-width:1.5;transition:y .6s ease}.garage-svg .g-edge{fill:var(--accent);transition:y .6s ease}.garage-svg .g-edge.bad{fill:var(--bad, #e5484d)}.garage-svg.open .g-edge{fill:var(--warn, #f5a524)}.garage-svg.moving .g-panel{animation:g-stripe 1s linear infinite}@keyframes g-stripe{50%{fill:color-mix(in srgb,var(--warn, #f5a524) 35%,var(--panel-2))}}.ha-panel{display:flex;flex-direction:column;gap:var(--s15);overflow-y:auto}.ha-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s1);min-height:48px;flex:none}.ha-head .lbl{padding-left:2px}.ha-editbtn{min-height:48px;margin-left:auto}.ha-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-auto-rows:minmax(72px,auto);gap:var(--s1)}.ha-tile{display:grid;grid-template-rows:auto 1fr auto;gap:2px;text-align:left;padding:var(--s1) var(--s15);border-radius:var(--radius);border:1px solid var(--hairline);background:var(--panel-2);color:var(--fg);min-width:0}.ha-tile .ha-name{font-family:var(--body);font-size:var(--fs-body-sm);font-weight:600;line-height:1.15;align-self:end;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.ha-tile .ha-ico{font-size:var(--fs-section);line-height:1}.ha-tile.on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.ha-tile.ro{cursor:default;background:transparent}.ha-tile.edit{border-style:dashed;cursor:pointer}.ha-edit{display:grid;gap:var(--s1);border-top:1px solid var(--hairline);padding-top:var(--s15)}.ha-edit-row{display:grid;grid-template-columns:minmax(150px,220px) minmax(0,1fr) 130px;align-items:center;gap:var(--s1)}.ha-edit-row .minput,.ha-edit-row>.btn{min-width:0;width:100%}.ha-edit-row .check{grid-column:2 / -1;justify-self:start;min-height:48px}.ha-edit .btn{min-height:48px}.cell:has(>.ha-off){display:none}.cell:has(>.home-off){grid-column:1 / -1!important}.home-off{justify-content:center;align-items:center;gap:var(--s2)}.home-off-body{display:grid;justify-items:center;gap:var(--s1);text-align:center;max-width:520px;margin:auto}.home-off-body>b{font-family:var(--display);font-size:var(--fs-title);font-weight:600}.home-off .garage-svg{opacity:.6}.home-off .mailbox-btn{max-width:420px}.garage-prompt{position:fixed;left:50%;top:90px;transform:translate(-50%);z-index:60;display:flex;gap:var(--s2);align-items:center;padding:var(--s2) var(--s3);box-shadow:0 10px 40px #00000080;max-width:760px}.mailbox-btn{display:flex;align-items:center;gap:var(--s15);width:100%;min-height:var(--hit);padding:var(--s1) var(--s2);flex:none;border:1px solid var(--hairline);border-radius:var(--radius);background:transparent;color:var(--fg);text-align:left}.mailbox-btn:disabled{opacity:1;cursor:default}.mailbox-btn.has{background:var(--panel-2);border-color:var(--ok, #30a46c);cursor:pointer}.mailbox-txt{display:grid;gap:2px;min-width:0}.mailbox-txt b{font-family:var(--mono);font-size:var(--fs-caption);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--dim)}.mailbox-txt .dimtxt{font-size:var(--fs-caption)}.mailbox-btn .okc{color:var(--ok, #30a46c)}.mailbox-btn .warnc{color:var(--warn, #f5a524)}.homecams{gap:var(--s1)}.camrow{flex:1;min-height:0;display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:var(--s2)}.camstill{position:relative;display:block;min-width:0;min-height:0;overflow:hidden;border-radius:var(--radius);background:var(--panel-2);padding:0}.camstill img{display:block;width:100%;height:100%;object-fit:cover}.camstill-none{position:absolute;inset:0;display:grid;place-items:center;color:var(--dim);font-size:var(--fs-caption)}.camstill-cap{position:absolute;left:var(--s1);bottom:var(--s1);padding:var(--s05) var(--s1);border-radius:var(--radius);font-size:var(--fs-caption);color:#f2f4f5;background:color-mix(in srgb,#101417 62%,transparent);backdrop-filter:blur(6px)}.camstill-cap b{font-weight:600}.camzoom{position:fixed;inset:0;z-index:60;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s2);padding:var(--s3);background:color-mix(in srgb,#0b0d0f 82%,transparent)}.camzoom .camstill.big{width:min(100%,calc((100vh - 140px) * 16 / 9));aspect-ratio:16 / 9}.camzoom .camstill.big img{object-fit:contain;background:#0b0d0f}.parked{display:grid;grid-template-rows:auto 1fr;gap:var(--s1);min-height:0}.parked .pbody{overflow:auto;min-height:0}.parked-lock{display:grid;place-items:center;gap:var(--s1);height:100%;font-size:34px;font-family:var(--display)}.app-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:var(--s15)}.app-tile{display:grid;gap:var(--s1);align-content:center;text-align:left;min-height:110px;padding:var(--s2);border-radius:var(--radius);border:1px solid var(--hairline);background:var(--panel-2);color:var(--fg)}.app-tile b{font-family:var(--display);font-size:var(--fs-title)}.app-tile span{font-size:var(--fs-caption)}.app-tile:disabled{opacity:.5}.app-netflix b{color:#e50914}.app-youtube b,.app-youtubetv b{color:#f03}.app-disney b{color:#3d7bf7}.app-hulu b{color:#1ce783}.app-max b{color:#5d4bff}.app-prime b{color:#00a8e1}.app-peacock b{color:#f4b400}.app-paramount b{color:#0064ff}.vplayer{display:grid;gap:var(--s1)}.vplayer video{width:100%;max-height:560px;background:var(--media-bg);border-radius:var(--radius)}.tow{display:grid;grid-template-columns:1fr 1fr;gap:var(--s2)}.checklist{display:grid;grid-template-columns:1fr 1fr;gap:var(--s1)}.checklist .item{text-align:left;font-size:var(--fs-body)}.badc{color:var(--bad, #e5484d)}.pet-screen{position:fixed;inset:0;z-index:90;display:grid;place-content:center;justify-items:center;gap:var(--s2);background:#0b2a3a;color:#fff;text-align:center}.pet-screen.warm{background:#4a3a0b}.pet-screen.hot{background:#5a1414}.pet-temp{font-size:150px;font-weight:700;line-height:1}.pet-msg{font-size:44px;font-family:var(--display);max-width:1500px}.camp-screen{position:fixed;inset:0;z-index:90;display:grid;place-content:center;justify-items:center;gap:var(--s15);background:var(--media-bg);color:#555;border:0;font-size:var(--fs-section)}.camp-clock{font-size:120px;color:#7a2a2a}.sky{display:grid;gap:var(--s1);margin-top:var(--s15);padding-top:var(--s15);border-top:1px solid var(--hairline)}.skypass{display:flex;flex-wrap:wrap;gap:var(--s05) var(--s2);align-items:baseline;padding:var(--s1) var(--s1);border-radius:var(--radius);background:var(--panel-2)}.skypass.vis{border-left:4px solid var(--ok)}.simpanel{position:fixed;top:64px;right:10px;bottom:10px;width:min(440px,calc(100vw - 20px));z-index:80;display:grid;grid-template-rows:auto auto 1fr;gap:var(--s1);padding:var(--s15);overflow:hidden;box-shadow:0 10px 40px #00000080}.simbody{overflow-y:auto;overflow-x:hidden;min-height:0}.simgrid{display:grid;gap:var(--s2)}.simrow{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s1) var(--s15)}.simrow.col{flex-direction:column;align-items:stretch}.simrow .lbl{min-width:96px}.simseg{display:inline-flex;flex-wrap:wrap;border:1px solid var(--hairline);border-radius:var(--radius);padding:var(--s05);gap:2px}.simseg button{min-height:40px;min-width:44px;padding:0 var(--s15);border-radius:var(--radius);font-weight:600;color:var(--dim)}.simseg button.sel{background:var(--accent);color:var(--accent-ink)}.simtabs{display:flex}.simtabs button{flex:1}.simseg.gears button{min-width:56px;font-size:var(--fs-section);font-family:var(--display)}.simread{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s1)}.simspeed{font-size:40px;font-family:var(--display);line-height:1}.simspeed small{font-size:var(--fs-body-sm);color:var(--dim)}.simcams{display:grid;grid-template-columns:1fr 1fr;gap:var(--s1)}.simcams .camplayer{aspect-ratio:16 / 9;min-height:0}.simpanel input[type=range]{width:100%}.simpanel-tab{position:fixed;right:10px;bottom:10px;z-index:80;padding:var(--s1) var(--s2);border-radius:var(--radius);border:1px solid var(--accent);background:var(--panel);color:var(--accent);font-family:var(--mono);font-weight:700}
