:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#08061a;--bg-2:#0c0927;--field:#140f3a;--field-2:#1b1550;--field-3:#241c6b;--line:#2a2170;--line-2:#3d31a8;--ink:#f6f3ff;--ink-2:#bcb5e4;--ink-3:#8f87bd;--violet:#a050fa;--violet-lit:#c77bfc;--violet-deep:#4205ce;--on-violet:#180036;--blue:#2f76e1;--warm:#ffb454;--warm-ink:#2b1700;--r-card:22px;--r-inner:14px;--r-press:999px;--z-page:1;--z-sheet:20;--z-install:30;--z-toast:40;--out:#c77bfc;--ease:cubic-bezier(.22,1,.36,1);--t-fast:.16s;--t:.28s;--card:linear-gradient(#150f3f,#110c31);--well:#ffffff08;--well-2:#ffffff0a;--raise:#ffffff0d;--raise-2:#ffffff0f;--raise-3:#ffffff1a;--raise-4:#ffffff14;--hover:#ffffff12;--hover-2:#ffffff1c;--hover-3:#ffffff10;--hair-2:#ffffff26;--glow-a:#4205ce38;--glow-b:#a050fa24;--glow-c:#140a5a66;--toast:#1b1550f5;--toast-2:#1b1550f2;--violet-ink:#c77bfc;--warm-text:#ffb454}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f2fb;--bg-2:#eae6f6;--field:#fff;--field-2:#f8f5ff;--field-3:#ece5fd;--line:#d9d1ef;--line-2:#b3a1e6;--ink:#1a1440;--ink-2:#4b4378;--ink-3:#625a90;--out:#7a1fd6;--violet-ink:#6f1fc6;--card:linear-gradient(#fff,#faf8ff);--well:#4205ce0f;--well-2:#4205ce12;--raise:#4205ce1f;--raise-2:#4205ce21;--raise-3:#4205ce2e;--raise-4:#4205ce1f;--hover:#4205ce26;--hover-2:#4205ce33;--hover-3:#4205ce21;--hair-2:#4205ce3d;--glow-a:#4205ce12;--glow-b:#a050fa0f;--glow-c:#4205ce08;--toast:#1a1440f2;--toast-2:#1a1440f2;--warm-text:#8a5100}}html[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f2fb;--bg-2:#eae6f6;--field:#fff;--field-2:#f8f5ff;--field-3:#ece5fd;--line:#d9d1ef;--line-2:#b3a1e6;--ink:#1a1440;--ink-2:#4b4378;--ink-3:#625a90;--out:#7a1fd6;--violet-ink:#6f1fc6;--card:linear-gradient(#fff,#faf8ff);--well:#4205ce0f;--well-2:#4205ce12;--raise:#4205ce1f;--raise-2:#4205ce21;--raise-3:#4205ce2e;--raise-4:#4205ce1f;--hover:#4205ce26;--hover-2:#4205ce33;--hover-3:#4205ce21;--hair-2:#4205ce3d;--glow-a:#4205ce12;--glow-b:#a050fa0f;--glow-c:#4205ce08;--toast:#1a1440f2;--toast-2:#1a1440f2;--warm-text:#8a5100}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font:400 16px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}body{-webkit-tap-highlight-color:transparent;touch-action:pan-x pan-y;min-height:100dvh;overflow-x:hidden}:focus-visible{outline:2px solid var(--out);outline-offset:3px;border-radius:6px}::selection{background:var(--violet-deep);color:#fff}.glow{z-index:0;pointer-events:none;background:radial-gradient(90ch 52ch at 18% -14%, var(--glow-a), transparent 62%), radial-gradient(70ch 46ch at 96% 4%, var(--glow-b), transparent 60%), radial-gradient(120ch 70ch at 50% 108%, var(--glow-c), transparent 66%);position:fixed;inset:0}main{z-index:var(--z-page);width:min(560px,100%);padding:max(18px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) calc(30px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));flex-direction:column;gap:30px;margin:0 auto;display:flex;position:relative}header{align-items:center;gap:13px;padding:2px 0;display:flex}header .mark{border-radius:13px;flex:none;width:46px;height:46px;display:block;box-shadow:0 10px 26px -8px #4205ceaa}.title{flex:1;min-width:0}h1{letter-spacing:-.022em;margin:0;font-size:23px;font-weight:700;line-height:1.15}h1 span{color:var(--violet-ink)}.sum{color:var(--ink-2);text-wrap:pretty;overflow-wrap:anywhere;margin:2px 0 0;font-size:13.5px;line-height:1.35}.sum[data-alert]{color:var(--warm-text)}.out{color:var(--ink-2);border:1px solid var(--line);border-radius:var(--r-press);white-space:nowrap;min-height:40px;transition:color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease), background-color var(--t-fast) var(--ease),transform var(--t-fast) var(--ease);flex:none;align-items:center;padding:0 14px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.out:hover{color:var(--ink);border-color:var(--line-2);background:var(--hover)}.out:active{transform:scale(.97)}.shead{justify-content:space-between;align-items:baseline;gap:12px;margin:0 2px 11px;display:flex}h2{letter-spacing:-.012em;color:var(--ink);margin:0;font-size:15.5px;font-weight:600}.meta{color:var(--ink-3);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12.5px}.doors{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.door{aspect-ratio:1;text-align:center;border-radius:var(--r-card);background:var(--card);border:1px solid var(--line);transition:border-color var(--t) var(--ease),box-shadow var(--t) var(--ease);flex-direction:column;justify-content:space-between;align-items:center;padding:15px 12px 13px;display:flex}.door[data-s=unlocked],.door[data-s=unlocking]{border-color:#ffb45459;box-shadow:0 12px 34px -20px #ffb45499}h3{letter-spacing:-.012em;white-space:nowrap;text-overflow:ellipsis;max-width:100%;margin:0;font-size:14.5px;font-weight:600;overflow:hidden}.state{color:var(--ink-3);font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;max-width:100%;margin:0;font-size:12px;overflow:hidden}.door[data-s=unlocked] .state{color:var(--warm-text)}.act{cursor:pointer;color:var(--ink);font:inherit;min-width:0;max-width:100%;transition:opacity var(--t-fast) var(--ease);background:0 0;border:0;flex-direction:column;align-items:center;gap:9px;margin:0;padding:6px 4px;font-size:13px;font-weight:600;display:flex}.act[disabled]{cursor:default;opacity:.5}.act:focus-visible{outline:none}.act:focus-visible .orb{outline:2px solid var(--out);outline-offset:5px}.lbl{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.orb{aspect-ratio:1;width:clamp(76px,26vw,108px);color:var(--ink-3);background:var(--hover);border:1px solid var(--line-2);transition:background-color var(--t) var(--ease),color var(--t) var(--ease), border-color var(--t) var(--ease),transform var(--t-fast) var(--ease), box-shadow var(--t) var(--ease);border-radius:50%;place-items:center;display:grid;position:relative}.orb .g{width:40%;height:40%;display:none}.orb .lk{display:block}.act:hover .orb{transform:scale(1.04)}.act:active .orb{transform:scale(.95)}.act[disabled]:hover .orb,.act[disabled]:active .orb{transform:none}.door[data-s=locked] .orb{color:var(--on-violet);background:var(--violet);border-color:#0000;box-shadow:0 16px 34px -12px #a050fab3}.door[data-s=locked] .act:hover .orb{background:var(--violet-lit)}.door[data-s=unlocked] .orb,.door[data-s=unlocking] .orb{color:var(--warm-text);background:#ffb45421;border-color:#ffb45459}.door[data-s=unlocked] .orb .lk,.door[data-s=unlocking] .orb .lk{display:none}.door[data-s=unlocked] .orb .op,.door[data-s=unlocking] .orb .op{display:block}.door[data-s] .act[data-armed] .orb{color:var(--warm-ink);background:var(--warm);border-color:#0000;box-shadow:0 16px 34px -12px #ffb454b3}.door[data-s] .act[data-armed]:hover .orb{background:#ffc573}.door[data-s] .act[data-armed] .lbl{color:var(--warm-text)}.ring{pointer-events:none;width:auto;height:auto;position:absolute;inset:-6px;overflow:visible;transform:rotate(-90deg)}.ring circle{fill:none;stroke:var(--warm-text);stroke-width:4px;stroke-linecap:round;stroke-dasharray:302;stroke-dashoffset:302px;filter:drop-shadow(0 0 4px #ffb45480)}.act[data-armed] .ring circle{animation:drain var(--arm) linear forwards}@keyframes drain{0%{stroke-dashoffset:0}to{stroke-dashoffset:302px}}.spin{aspect-ratio:1;border:3px solid #0003;border-top-color:currentColor;border-radius:50%;width:26%;animation:.7s linear infinite spin;display:none}.act[data-busy] .spin{display:block}.act[data-busy] .orb .g{display:none!important}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=340px){.doors{grid-template-columns:1fr}.door{aspect-ratio:auto;gap:12px}}.signin{border-radius:var(--r-card);text-align:center;background:var(--card);border:1px solid var(--line);flex-wrap:wrap;grid-column:1/-1;justify-content:center;align-items:center;gap:12px;padding:20px 16px;display:flex}.signin p{color:var(--ink-2);text-wrap:pretty;margin:0;font-size:13.5px}.signin .go{color:var(--on-violet);background:var(--violet);border-radius:var(--r-press);min-height:42px;transition:background-color var(--t-fast) var(--ease),transform var(--t-fast) var(--ease);align-items:center;padding:0 20px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.signin .go:hover{background:var(--violet-lit)}.signin .go:active{transform:scale(.98)}.cams{grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:10px;display:grid}.cam{border-radius:var(--r-inner);aspect-ratio:16/9;background:var(--field);border:1px solid var(--line);color:var(--ink);transition:border-color var(--t) var(--ease),transform var(--t) var(--ease), box-shadow var(--t) var(--ease);text-decoration:none;display:block;position:relative;overflow:hidden}.cam.lead{grid-column:span 2}.cam:hover{border-color:var(--violet);transform:translateY(-2px);box-shadow:0 16px 32px -20px #a050facc}.cam:active{transform:translateY(0)}.cam img{object-fit:cover;background:var(--field);width:100%;height:100%;transition:opacity var(--t) var(--ease),transform .7s var(--ease);display:block}.cam:hover img{transform:scale(1.035)}.cam img.dead{opacity:0}.off{text-align:center;color:var(--ink-3);background:var(--field);place-items:center;padding:8px;font-size:12px;display:none;position:absolute;inset:0}.cam img.dead~.off{display:grid}.cname{letter-spacing:-.006em;background:linear-gradient(#0000,#04020ee6 64%);align-items:center;gap:6px;padding:24px 10px 8px;font-size:12.5px;font-weight:600;display:flex;position:absolute;bottom:0;left:0;right:0}.cname b{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:600;overflow:hidden}.dot{background:var(--violet);border-radius:50%;flex:none;width:6px;height:6px;box-shadow:0 0 0 3px #a050fa33}.in{letter-spacing:.02em;color:var(--ink-2);background:var(--raise-3);border-radius:var(--r-press);flex:none;margin-left:auto;padding:2px 7px;font-size:10.5px;font-weight:600}.wifi{border-radius:var(--r-card);text-align:center;background:var(--card);border:1px solid var(--line);flex-direction:column;align-items:center;gap:14px;padding:18px 16px 16px;display:flex}.qr{aspect-ratio:1;border-radius:var(--r-inner);background:#fff;width:min(300px,100%);padding:14px;display:block}.qr svg{width:100%;height:100%;display:block}.wtxt{flex-direction:column;align-items:center;gap:3px;width:100%;min-width:0;display:flex}.ssid{letter-spacing:-.016em;overflow-wrap:anywhere;font-size:21px;font-weight:600}.wsub{color:var(--ink-3);text-wrap:pretty;max-width:34ch;margin:0;font-size:13px;line-height:1.4}.pw{color:var(--ink-3);overflow-wrap:anywhere;letter-spacing:.09em;min-height:20px;transition:color var(--t-fast) var(--ease);margin:7px 0 0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px}.pw.lit{color:var(--ink);letter-spacing:0}.wrow{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:10px;display:flex}.mini{font:inherit;color:var(--ink-2);cursor:pointer;background:var(--raise-2);border:1px solid var(--line);border-radius:var(--r-press);min-height:40px;transition:color var(--t-fast) var(--ease),background-color var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease),transform var(--t-fast) var(--ease);align-items:center;gap:7px;padding:0 15px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.mini:hover{color:var(--ink);background:var(--hover-2);border-color:var(--line-2)}.mini:active{transform:scale(.97)}.mini svg{width:15px;height:15px;display:block}.agenda{flex-direction:column;gap:10px;display:flex}.day{border-radius:var(--r-card);background:var(--card);border:1px solid var(--line);padding:12px 14px 6px}.day.today{border-color:#a050fa59;box-shadow:0 12px 34px -22px #a050facc}.dhead{align-items:baseline;gap:8px;margin:0 0 4px;display:flex}.dhead b{letter-spacing:-.01em;font-size:14px;font-weight:600}.day.today .dhead b{color:var(--violet-ink)}.dhead span{color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:12.5px}.ev{border-top:1px solid var(--raise);grid-template-columns:5.6em minmax(0,1fr);align-items:baseline;gap:0 12px;padding:8px 0;display:grid}.ev:first-of-type{border-top:0}.ev time,.ev .allday{color:var(--ink-3);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12.5px}.ev .allday{color:var(--violet-ink)}.ev .what{overflow-wrap:anywhere;min-width:0;font-size:15px;font-weight:500}.ev .where{color:var(--ink-3);overflow-wrap:anywhere;margin-top:1px;font-size:12.5px;display:block}.ev.past{opacity:.45}.sync{border-radius:var(--r-card);background:var(--card);border:1px solid var(--line);flex-direction:column;gap:10px;padding:14px 16px;display:flex}.sync p{color:var(--ink-2);text-wrap:pretty;margin:0;font-size:13.5px;line-height:1.45}.sync p b{color:var(--ink);margin-bottom:1px;display:block}.sync code{color:var(--violet-ink);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px}.feed{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.feed code{overflow-wrap:anywhere;min-width:0;color:var(--ink-3);flex:1}footer{color:var(--ink-3);flex-wrap:wrap;justify-content:center;align-items:center;gap:5px 14px;padding-top:2px;font-size:12.5px;display:flex}footer a{color:var(--ink-2);border-bottom:1px solid var(--hair-2);transition:color var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease);padding-bottom:1px;text-decoration:none}footer a:hover{color:var(--violet-ink);border-color:var(--violet-ink)}#toast{z-index:var(--z-toast);left:50%;bottom:calc(20px + env(safe-area-inset-bottom));opacity:0;pointer-events:none;border-radius:var(--r-press);max-width:min(420px,100% - 28px);color:var(--ink);background:var(--toast);border:1px solid var(--line-2);text-wrap:pretty;transition:opacity var(--t) var(--ease),transform var(--t) var(--ease);padding:11px 16px;font-size:13.5px;position:fixed;transform:translate(-50%,14px);box-shadow:0 18px 44px #00000087}#toast.up{opacity:1;transform:translate(-50%)}@media (prefers-reduced-motion:no-preference){.rise{animation:rise .62s var(--ease) backwards}.rise:nth-child(2){animation-delay:60ms}.rise:nth-child(3){animation-delay:.12s}.rise:nth-child(4){animation-delay:.18s}.rise:nth-child(5){animation-delay:.24s}}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.act[data-armed] .ring{display:none}.act:hover .orb,.cam:hover,.cam:hover img{transform:none}}.top{align-items:center;gap:10px;padding:2px 0 4px;display:flex}.back{border-radius:var(--r-press);width:42px;height:42px;color:var(--ink-2);background:var(--raise);border:1px solid var(--line);transition:color var(--t-fast) var(--ease),background-color var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease),transform var(--t-fast) var(--ease);flex:none;place-items:center;text-decoration:none;display:grid}.back:hover{color:var(--ink);background:var(--hover-2);border-color:var(--line-2)}.back:active{transform:scale(.95)}.back svg{width:18px;height:18px;display:block}.top h1{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:21px;overflow:hidden}.top .mini{flex:none}.top .mini svg{transition:transform .5s var(--ease)}.top .mini.spinning svg{transform:rotate(360deg)}.top .mini[disabled]{opacity:.6;cursor:default}@media (width<=430px){.top .mini{gap:0;padding:0 12px;font-size:0}.top .mini svg{width:17px;height:17px}}.tabs{border-radius:var(--r-press);background:var(--well-2);border:1px solid var(--line);gap:6px;margin-bottom:4px;padding:3px;display:flex}.tabs a{text-align:center;min-width:0;color:var(--ink-3);border-radius:var(--r-press);white-space:nowrap;text-overflow:ellipsis;min-height:38px;transition:color var(--t-fast) var(--ease),background-color var(--t-fast) var(--ease);flex:1;justify-content:center;align-items:center;padding:0 10px;font-size:13.5px;font-weight:600;text-decoration:none;display:inline-flex;overflow:hidden}.tabs a:hover{color:var(--ink);background:var(--hover)}.tabs a[aria-current=page]{color:var(--on-violet);background:var(--violet)}.tabs a[aria-current=page]:hover{background:var(--violet-lit)}.chip,#acct{font:inherit;color:var(--ink-2);background:var(--raise);border:1px solid var(--line);border-radius:var(--r-press);white-space:nowrap;cursor:pointer;min-height:40px;transition:color var(--t-fast) var(--ease),background-color var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease),transform var(--t-fast) var(--ease);flex:none;align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.chip:hover,#acct:hover{color:var(--ink);background:var(--hover-2);border-color:var(--line-2)}.chip:active,#acct:active{transform:scale(.97)}.chip svg,#acct svg{flex:none;width:15px;height:15px}body.home main{justify-content:center;gap:22px;min-height:100dvh}.cards{flex-direction:column;gap:12px;display:flex}.card{color:var(--ink);border-radius:var(--r-card);border:1px solid var(--line);background:var(--card);transition:border-color var(--t) var(--ease),transform var(--t) var(--ease), box-shadow var(--t) var(--ease);align-items:center;gap:15px;padding:18px 16px;text-decoration:none;display:flex}.card:hover{border-color:var(--violet);transform:translateY(-2px);box-shadow:0 18px 38px -22px #a050facc}.card:active{transform:translateY(0)}.card .ic{border-radius:var(--r-inner);width:52px;height:52px;color:var(--violet-ink);background:#a050fa1c;border:1px solid #a050fa33;flex:none;place-items:center;display:grid}.card .ic svg{width:26px;height:26px;display:block}.card .ct{flex:1;min-width:0}.card .ct b{letter-spacing:-.014em;font-size:17px;font-weight:600;display:block}.card .ct span{color:var(--ink-3);text-wrap:pretty;margin-top:2px;font-size:13px;display:block}.card .ct span[data-alert]{color:var(--warm-text)}.card .go{color:var(--ink-3);transition:color var(--t-fast) var(--ease), transform var(--t) var(--ease);flex:none}.card:hover .go{color:var(--violet-ink);transform:translate(3px)}.card .go svg{width:18px;height:18px;display:block}#themebtn{z-index:var(--z-sheet);left:max(10px,env(safe-area-inset-left));bottom:max(10px,env(safe-area-inset-bottom));cursor:pointer;width:38px;height:38px;color:var(--ink-2);background:var(--raise);border:1px solid var(--line);border-radius:var(--r-press);transition:color var(--t-fast) var(--ease),background-color var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease),transform var(--t-fast) var(--ease);place-items:center;margin:0;padding:0;display:grid;position:fixed}#themebtn:hover{color:var(--ink);background:var(--hover-2);border-color:var(--line-2)}#themebtn:active{transform:scale(.95)}#themebtn svg{width:17px;height:17px;display:none}#themebtn[data-t=auto] .t-auto,#themebtn[data-t=light] .t-light,#themebtn[data-t=dark] .t-dark{display:block}body.kiosk #themebtn{display:none}body:not(.kiosk){padding-bottom:calc(58px + env(safe-area-inset-bottom))}@media print{#themebtn{display:none}}header.hd{align-items:center;gap:14px;padding:2px 0;display:flex}header.hd .mark{border-radius:15px;flex:none;width:52px;height:52px;display:block;box-shadow:0 10px 26px -8px #4205ceaa}body.dash main{gap:14px;width:100%;max-width:none;min-height:100dvh;padding:18px 22px 14px}body.dash.kiosk main{padding:max(10px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));gap:0;height:100dvh;min-height:100dvh;overflow:hidden}body.dash.kiosk .kiosk-dash{height:100%}body.dash.kiosk{-webkit-user-select:none;user-select:none;overscroll-behavior:none}:where(:root){--canvas:#0a0a0a;--cal-card:linear-gradient(#15121f,#110e1b);--panel:#120d33;--panel-2:#1a0f4d;--cell:#140f3a80;--cell-out:#0f0b2a66;--cell-out-line:#1d1745;--ink-4:#8d83c0;--pop:#5cc8e0;--nowline:#eb3424;--on-now:#1a0302;--safe:#ff6a13;--safe-ink:#ff8a45;--on-safe:#1a0a00;--h0:#a050fa;--h1:#3fbfa8;--h2:#ffb454;--h3:#f4719b;--h4:#ff7a59;--h5:#b6d94c}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--canvas:#f4f2fb;--cal-card:linear-gradient(#fff,#faf8ff);--panel:#fff;--panel-2:#f1ebfd;--cell:#fff;--cell-out:#f5f3fb;--cell-out-line:#e3ddf3;--ink-4:#5f5691;--pop:#0b5c74;--nowline:#cc2418;--on-now:#fff;--safe:#f25c00;--safe-ink:#b03f00;--on-safe:#fff;--h0:#8b3ce0;--h1:#0f8d78;--h2:#a35c00;--h3:#c02a5e;--h4:#c2410c;--h5:#5d7a00}}html[data-theme=light]{--canvas:#f4f2fb;--cal-card:linear-gradient(#fff,#faf8ff);--panel:#fff;--panel-2:#f1ebfd;--cell:#fff;--cell-out:#f5f3fb;--cell-out-line:#e3ddf3;--ink-4:#5f5691;--pop:#0b5c74;--nowline:#cc2418;--on-now:#fff;--safe:#f25c00;--safe-ink:#b03f00;--on-safe:#fff;--h0:#8b3ce0;--h1:#0f8d78;--h2:#a35c00;--h3:#c02a5e;--h4:#c2410c;--h5:#5d7a00}.cal-view{flex-direction:column;gap:14px;min-width:0;display:flex;container-type:inline-size}.cal-tools{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 12px;display:flex}.cal-toolrow{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.cal-title{letter-spacing:-.015em;font-variant-numeric:tabular-nums;text-wrap:balance;margin:0;font-size:17px;font-weight:600}.cal-nav{gap:6px;display:flex}.cal-btn{font:inherit;color:var(--ink-2);background:var(--raise-2);border:1px solid var(--line);border-radius:var(--r-press);min-height:38px;transition:color var(--t-fast) var(--ease),background-color var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease),transform var(--t-fast) var(--ease);align-items:center;gap:6px;padding:0 13px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.cal-btn:hover{color:var(--ink);background:var(--hover-2);border-color:var(--line-2)}.cal-btn:active{transform:scale(.97)}.cal-btn svg{width:14px;height:14px;display:block}.cal-today{padding:0 15px}.cal-views{border-radius:var(--r-press);background:var(--well-2);border:1px solid var(--line);gap:6px;padding:3px;display:flex}.cal-views a{text-align:center;min-width:0;color:var(--ink-2);border-radius:var(--r-press);white-space:nowrap;transition:color var(--t-fast) var(--ease),background-color var(--t-fast) var(--ease);flex:1;padding:8px 12px;font-size:13.5px;font-weight:600;text-decoration:none}.cal-views a:hover{color:var(--ink);background:var(--hover)}.cal-views a[aria-current=page]{color:var(--on-violet);background:var(--violet)}.cal-views a[aria-current=page]:hover{background:var(--violet-lit)}.cal-wi{vertical-align:-.2em;width:1.1em;height:1.1em;color:var(--violet-ink);flex:none;display:inline-block}.cal-agenda{flex-direction:column;gap:10px;display:flex}.cal-day{border-radius:var(--r-card);background:var(--card);border:1px solid var(--line);padding:12px 14px 6px}.cal-day.today{border-color:#a050fa59;box-shadow:0 12px 34px -22px #a050facc}.cal-dhead{align-items:baseline;gap:8px;margin:0 0 4px;display:flex}.cal-dhead b{letter-spacing:-.01em;font-size:14px;font-weight:600}.cal-day.today .cal-dhead b{color:var(--violet-ink)}.cal-dhead>span{color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:12.5px}.cal-ev{border-top:1px solid var(--raise);grid-template-columns:5.6em minmax(0,1fr);align-items:baseline;gap:0 12px;padding:8px 0;display:grid}.cal-ev:first-of-type{border-top:0}.cal-ev time,.cal-ev .cal-allday{color:var(--ink-3);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12.5px}.cal-ev .cal-allday{color:var(--violet-ink)}.cal-what{overflow-wrap:anywhere;min-width:0;font-size:15px;font-weight:500}.cal-where{color:var(--ink-3);overflow-wrap:anywhere;margin-top:1px;font-size:12.5px;display:block}.cal-ev.past{opacity:.5}.cal-empty{border-radius:var(--r-card);background:var(--card);border:1px solid var(--line);text-align:center;color:var(--ink-3);text-wrap:pretty;padding:22px 16px;font-size:14px}.cal-empty-slim{padding:12px 16px;font-size:13.5px}.cal-list{border-radius:var(--r-card);background:var(--card);border:1px solid var(--line);padding:6px 14px}.cal-daytop{border-radius:var(--r-card);background:var(--card);border:1px solid var(--line);align-items:center;gap:14px;padding:14px 16px;display:flex}.cal-daytop-t{flex:1;min-width:0}.cal-daytop h3{letter-spacing:-.015em;text-wrap:balance;margin:0;font-size:17px;font-weight:600}.cal-daytop p{color:var(--ink-2);margin:1px 0 0;font-size:13px}.cal-daywx{flex:none;align-items:center;gap:8px;display:flex}.cal-daywx .cal-wi{width:40px;height:40px}.cal-hilo{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:15px;font-weight:600}.cal-wxlab{color:var(--ink-3);font-size:12.5px}.cal-hours{scrollbar-width:thin;gap:8px;padding:2px;display:flex;overflow-x:auto}.cal-hour{border-radius:var(--r-inner);background:var(--well);border:1px solid var(--line);flex-direction:column;flex:none;align-items:center;gap:4px;min-width:58px;padding:9px 6px;display:flex}.cal-hour b{color:var(--ink-3);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:11.5px;font-weight:600}.cal-hour .cal-wi{width:22px;height:22px}.cal-hour span{font-variant-numeric:tabular-nums;font-size:13px}.cal-alldayblock{border-radius:var(--r-inner);background:var(--well);border:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px;display:flex}.cal-alldaycap{color:var(--violet-ink);white-space:nowrap;font-size:12.5px;font-weight:600}.cal-chips{flex-wrap:wrap;gap:6px;min-width:0;display:flex}.cal-chip{border-radius:var(--r-press);color:var(--ink);overflow-wrap:anywhere;max-width:100%;transition:background-color var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease),transform var(--t-fast) var(--ease);background:#a050fa1c;border:1px solid #a050fa33;padding:5px 9px;font-size:12.5px;line-height:1.35;text-decoration:none;display:inline-block}.cal-chip time{color:var(--ink-2);font-variant-numeric:tabular-nums;font-weight:600}.cal-chip:hover{border-color:var(--violet);background:#a050fa2e}.cal-chip:active{transform:scale(.98)}.cal-chip.allday{background:var(--hover);border-color:var(--line-2);color:var(--violet-ink)}.cal-chip.allday:hover{background:var(--hover-2)}.cal-week{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.cal-col{border-radius:var(--r-inner);background:var(--card);border:1px solid var(--line);flex-direction:column;gap:7px;min-width:0;padding:9px;display:flex}.cal-col.today{border-color:#a050fa59;box-shadow:0 12px 34px -22px #a050facc}.cal-colhead{color:var(--ink);transition:background-color var(--t-fast) var(--ease);border-radius:10px;flex-direction:column;gap:2px;padding:3px 4px;text-decoration:none;display:flex}.cal-colhead:hover{background:var(--hover-3)}.cal-wd{color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:600}.cal-dn{font-variant-numeric:tabular-nums;font-size:17px;font-weight:600}.cal-col.today .cal-dn{color:var(--violet-ink)}.cal-colwx{color:var(--ink-2);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:4px;font-size:11.5px;display:flex}.cal-colwx .cal-wi{width:18px;height:18px}.cal-colwx i{color:var(--ink-3);font-style:normal}.cal-colbody{flex-direction:column;gap:5px;min-width:0;display:flex}.cal-month{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.cal-mhead{color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;text-align:center;padding:2px 0;font-size:11px;font-weight:600}.cal-cell{border-radius:var(--r-inner);background:var(--cell);border:1px solid var(--line);flex-direction:column;gap:4px;min-width:0;min-height:98px;padding:7px;display:flex}.cal-cell.cal-out{border-color:var(--cell-out-line);background:var(--cell-out)}.cal-cell.cal-out .cal-cellnum{color:var(--ink-3)}.cal-cell.cal-out .cal-mchip,.cal-cell.cal-out .cal-more{opacity:.7}.cal-cell.today{background:#a050fa14;border-color:#a050fa66}.cal-cellnum{min-height:24px;color:var(--ink-2);font-variant-numeric:tabular-nums;transition:background-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease);border-radius:8px;align-self:flex-start;align-items:center;padding:1px 6px;font-size:12.5px;font-weight:600;text-decoration:none;display:inline-flex}.cal-cellnum:hover{background:var(--hover);color:var(--ink)}.cal-cell.today .cal-cellnum{color:var(--violet-ink)}.cal-mchip{min-height:24px;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;transition:background-color var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease);background:#a050fa1c;border:1px solid #a050fa33;border-radius:8px;padding:4px 7px;font-size:11.5px;line-height:16px;text-decoration:none;display:block;overflow:hidden}.cal-mchip:hover{border-color:var(--violet);background:#a050fa2e}.cal-mchip.allday{background:var(--hover);border-color:var(--line);color:var(--violet-ink)}.cal-more{min-height:24px;color:var(--ink-3);border-radius:8px;align-items:center;padding:2px 6px;font-size:11.5px;font-weight:600;text-decoration:none;display:inline-flex}.cal-more:hover{color:var(--violet-ink);background:var(--raise-2)}@container (width<=900px){.cal-week{flex-direction:column;gap:10px;display:flex}.cal-col{flex-direction:row;align-items:flex-start;gap:12px}.cal-colhead{flex:none;width:5.2em}.cal-colbody{flex:1;gap:6px}}@container (width<=560px){.cal-toolrow{gap:8px}.cal-views a{padding:8px 9px;font-size:13px}.cal-cell{gap:3px;min-height:72px;padding:5px}.cal-mchip{padding:4px 6px;font-size:11px}.cal-mhead{font-size:10px}}body.dash main{gap:14px;width:min(1880px,100%);max-width:none;padding:18px 22px 14px}body:has(.dash) main{gap:14px;width:min(1880px,100%);max-width:none;padding:18px 22px 14px}.dash{flex-direction:column;gap:14px;height:calc(100dvh - 32px);min-height:0;display:flex}.dash-head{align-items:center;gap:14px;display:flex}.dash-brand{flex:1;min-width:0}.dash-brand h1{letter-spacing:-.022em;margin:0;font-size:21px;font-weight:700;line-height:1.1}.dash-brand h1 span{color:var(--violet-ink)}.dash-date{color:var(--ink-2);font-variant-numeric:tabular-nums;margin:1px 0 0;font-size:13px}.dash-clock{letter-spacing:-.03em;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:clamp(28px,3vw,44px);font-weight:700;line-height:1}.dash-grid{flex:1;grid-template-columns:minmax(0,1.9fr) minmax(330px,1fr);gap:16px;min-height:0;display:grid}.dash-main{scrollbar-width:thin;min-width:0;min-height:0;overflow:auto}.dash-side{scrollbar-width:thin;flex-direction:column;gap:10px;min-width:0;min-height:0;padding-right:2px;display:flex;overflow:auto}.dash-card{padding:10px 13px}.dash-card .shead{margin-bottom:7px}.dash-card .cal-what{font-size:13.5px;line-height:1.3}.dash-where{color:var(--ink-3)}.dash-doors{max-width:min(100%,460px);margin-inline:auto}.dash-card{border-radius:var(--r-card);background:var(--card);border:1px solid var(--line);padding:12px 14px}.dash-wxrow{align-items:center;gap:14px;display:flex}.dash-wxicon .cal-wi{width:clamp(38px,3.4vw,48px);height:clamp(38px,3.4vw,48px)}.dash-temp{letter-spacing:-.035em;font-variant-numeric:tabular-nums;font-size:clamp(30px,2.6vw,42px);font-weight:700;line-height:1}.dash-unit{color:var(--ink-2);letter-spacing:normal;margin-left:3px;font-size:.4em;font-weight:600}.dash-wxmeta{color:var(--ink-2);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:2px 16px;margin-top:6px;font-size:12.5px;display:flex}.dash-hours{scrollbar-width:thin;grid-auto-columns:minmax(32px,1fr);grid-auto-flow:column;gap:6px;margin-top:7px;padding-bottom:2px;display:grid;overflow-x:auto}.dash-hour{background:var(--well);border:1px solid var(--line);border-radius:10px;flex-direction:column;align-items:center;gap:2px;padding:5px 3px;display:flex}.dash-hour b{color:var(--ink-3);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:10.5px;font-weight:600}.dash-hour .cal-wi{width:17px;height:17px}.dash-hour span{font-variant-numeric:tabular-nums;font-size:12px}.dash-sec{min-width:0}.dash-ev{border-top:1px solid var(--raise);grid-template-columns:8.4em minmax(0,1fr);align-items:baseline;gap:0 12px;padding:4px 0;display:grid}.dash-ev:first-child{border-top:0}.dash-when{color:var(--ink-2);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px;display:block}.dash-when time{color:var(--ink-3)}@media (height<=820px){.dash-hours{display:none}.dash-clock{font-size:26px}.dash-temp{font-size:32px}.dash-wxicon .cal-wi{width:40px;height:40px}}@media (width<=1200px){.dash-grid{grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr)}}@media (width<=980px){.dash{height:auto}.dash-grid{grid-template-columns:minmax(0,1fr)}.dash-main,.dash-side{overflow:visible}}@media (width>=640px) and (width<=980px){body.kiosk .dash{height:calc(100dvh - 24px)}body.kiosk .dash-grid{grid-template-columns:minmax(0,1fr) minmax(230px,.62fr);gap:12px}body.kiosk .dash-main,body.kiosk .dash-side{overflow:auto}body.kiosk .dash-hours{display:none}body.kiosk .dash-clock{font-size:26px}body.kiosk .dash-temp{font-size:30px}body.kiosk .dash-wxicon .cal-wi{width:36px;height:36px}body.kiosk .dash-doors .door{padding:11px 8px 10px}body.kiosk .dash-doors .orb{width:62px}body.kiosk .dash-side .cams{grid-template-columns:1fr}}.cal-todaytag{letter-spacing:.07em;text-transform:uppercase;color:var(--on-violet);background:var(--violet);border-radius:var(--r-press);vertical-align:middle;margin-left:10px;padding:3px 9px;font-size:11.5px;font-weight:700}.cal-day.today,.cal-daytop.today{box-shadow:inset 3px 0 0 var(--violet);background:#a050fa14;border-color:#a050fa66}.cal-day.today .cal-dhead b,.cal-daytop.today .cal-daytop-t b{color:var(--violet-ink)}body.kiosk .cal-day.today,body.kiosk .cal-daytop.today{background:var(--panel-2);border-color:#a050fa8c}[data-h="0"]{--h:var(--h0)}[data-h="1"]{--h:var(--h1)}[data-h="2"]{--h:var(--h2)}[data-h="3"]{--h:var(--h3)}[data-h="4"]{--h:var(--h4)}[data-h="5"]{--h:var(--h5)}.cal-wxcard{background:var(--well-2);border:1px solid var(--line);border-radius:11px;flex-direction:column;flex:none;gap:3px;margin-top:auto;padding:9px 10px;display:flex}.cal-wxtop{align-items:center;gap:9px;display:flex}.cal-wxcond{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.cal-wxdet{color:var(--ink-3);font-variant-numeric:tabular-nums;grid-template-columns:1fr;gap:1px;font-size:12.5px;display:grid}.cal-wxdet span{justify-content:space-between;gap:10px;display:flex}.cal-wxdet i{color:var(--ink-4);margin-right:4px;font-style:normal}body.kiosk .cal-hours{display:none}body.kiosk .cal-ev{border-left:5px solid var(--h,#a050fa);background:color-mix(in srgb,var(--h,#a050fa) 12%,transparent);border-top:0;border-radius:10px;grid-template-columns:7.2em minmax(0,1fr);align-items:baseline;margin-bottom:8px;padding:11px 14px}body.kiosk .cal-ev:last-child{margin-bottom:0}body.kiosk .cal-ev time,body.kiosk .cal-allday{color:color-mix(in srgb,var(--h,#a050fa) 78%,var(--ink));font-size:15px;font-weight:700}body.kiosk .cal-what{font-size:19px;font-weight:600}body.kiosk .cal-view-day .cal-ev{padding:12px 14px}body.kiosk .cal-view-day .cal-what{font-size:20px}body.kiosk .cal-view-day .cal-list{background:0 0;border:0;padding:0}body.kiosk .cal-day{padding:12px 14px 13px}.cal-hgrid{border-radius:var(--r-card);background:var(--card);border:1px solid var(--line);scrollbar-width:thin;flex-direction:column;gap:0;padding:4px 10px 8px;display:flex;overflow:auto}.cal-hrow{border-top:1px solid var(--raise);grid-template-columns:5.6em minmax(0,1fr) auto;align-items:start;gap:12px;min-height:46px;padding:6px 0;display:grid}.cal-hrow:first-child{border-top:0}.cal-hrtime{color:var(--ink-3);font-variant-numeric:tabular-nums;white-space:nowrap;padding-top:7px;font-size:13.5px;font-weight:600}.cal-hrow.past .cal-hrtime,.cal-hrow.past .cal-hrwx{opacity:.5}.cal-hrow.now{box-shadow:inset 3px 0 0 var(--violet);background:#a050fa12;border-radius:10px}.cal-hrow.now .cal-hrtime{color:var(--violet-ink)}.cal-hrslot{flex-direction:column;gap:6px;min-width:0;display:flex}.cal-hrev{border:1px solid color-mix(in srgb,var(--h,#a050fa) 38%,transparent);border-left:5px solid var(--h,#a050fa);background:color-mix(in srgb,var(--h,#a050fa) 15%,transparent);border-radius:10px;padding:10px 13px;text-decoration:none;display:block}.cal-hrev time{color:color-mix(in srgb,var(--h) 78%,var(--ink));font-variant-numeric:tabular-nums;font-size:13px;font-weight:700;display:block}.cal-hrev b{color:var(--ink);overflow-wrap:anywhere;margin-top:2px;font-size:19px;font-weight:600;display:block}.cal-hrev .cal-where{color:var(--ink-3);margin-top:1px;font-size:13px;display:block}.cal-hrwx{color:var(--ink-2);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:7px;padding-top:7px;font-size:13px;display:flex}.cal-hrwx .cal-wi{width:20px;height:20px;color:var(--violet-ink)}.hr-pop{color:var(--pop)}.kiosk-dash{flex-direction:column;gap:12px;height:100dvh;min-height:0;display:flex}.kiosk-head{flex:none;align-items:flex-start;gap:24px;padding-right:344px;display:flex;position:relative}.kiosk-mark{border-radius:22px;flex:none;width:84px;height:84px;display:block;box-shadow:0 10px 26px -8px #4205ceaa}.kiosk-when{flex:none;min-width:0}.kiosk-time{letter-spacing:-.035em;font-variant-numeric:tabular-nums;font-size:54px;font-weight:700;line-height:1;display:block}.kiosk-date{color:var(--ink-2);letter-spacing:-.005em;margin-top:4px;font-size:17px;display:block}.kiosk-next{flex-direction:column;width:320px;min-height:0;display:flex;position:absolute;top:0;bottom:-88px;right:0}.kiosk-nextcap{letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);text-align:right;margin-bottom:5px;font-size:11.5px;font-weight:600;display:block}.kiosk-next ul{scrollbar-width:thin;overscroll-behavior:contain;grid-template-columns:max-content max-content minmax(0,1fr);align-content:start;gap:5px 11px;min-height:0;margin:0;padding:0 2px 0 0;list-style:none;display:grid;overflow-y:auto}.kiosk-next li{grid-column:1/-1;grid-template-columns:subgrid;align-items:baseline;gap:11px;font-size:14px;line-height:1.25;display:grid}.cu-wd,.cu-when{color:var(--ink-3);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px}.cu-wd{text-align:right;margin-right:-6px}.cu-when{text-align:left}.cu-when i{color:var(--ink-2);font-style:normal}.cu-what{min-width:0;color:var(--ink);text-align:left;border-left:3px solid var(--h,#a050fa);text-overflow:ellipsis;white-space:nowrap;padding-left:11px;font-weight:600;overflow:hidden}.cal-wxcard{background:var(--well-2);border:1px solid var(--line);border-radius:10px;flex:none;align-items:center;gap:8px;padding:7px 9px;display:flex}.cal-wxcard .cal-wi{width:28px;height:28px;color:var(--violet-ink);flex:none}.cal-wxtemps{font-variant-numeric:tabular-nums;align-items:baseline;gap:6px;display:flex}.cal-wxtemps b{letter-spacing:-.02em;font-size:19px;font-weight:700}.cal-wxtemps i{color:var(--ink-3);font-size:14px;font-style:normal}.cal-wxcond{min-width:0;color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.cal-col.today .cal-wxcond,.cal-col.today .cal-wxdet,.cal-col.today .cal-wxdet i,.cal-col.today .cal-wxtemps i,.cal-col.today .cal-colwx i{color:var(--ink-2)}.cal-col.today .cal-wxcard{background:var(--hover);border-color:#a050fa40}.kiosk-body{flex:1;min-height:0;display:flex}.kiosk-nav{gap:8px;margin-top:10px;display:flex}.kiosk-nav a{min-height:44px;color:var(--ink-2);border:1.5px solid var(--line-2);touch-action:manipulation;transition:background-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease);background:0 0;border-radius:999px;align-items:center;padding:0 20px;font-size:15px;font-weight:700;text-decoration:none;display:inline-flex}.kiosk-nav a:hover{border-color:var(--h0,#a050fa);color:var(--ink)}.kiosk-nav a:focus-visible{outline:2px solid var(--h0,#a050fa);outline-offset:2px}.kiosk-nav a:active{transform:scale(.97)}.kiosk-nav a[aria-current=page]{background:var(--violet-deep,#4205ce);color:#fff;border-color:#0000}.kiosk-dash:not([data-page=calendar]) .kiosk-next{bottom:0}.kiosk-dash[data-page=weather] .kiosk-head,.kiosk-dash[data-page=tasks] .kiosk-head{padding-right:0}.kiosk-head .ch-party{flex:1;align-self:stretch;min-width:0}.kiosk-soon{text-align:center;color:var(--ink-2);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;display:flex}.kiosk-soon h2{color:var(--ink);margin:0;font-size:34px}.kiosk-soon p{max-width:52ch;margin:0;font-size:18px}.chores{flex-direction:column;flex:1;gap:12px;min-width:0;min-height:0;display:flex;position:relative}.ch-cap{letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);align-items:baseline;gap:10px;margin:0;font-size:11.5px;font-weight:600;display:flex}.ch-cap .td-count{letter-spacing:0;text-transform:none;font-weight:500}.ch-party{background:var(--cal-card,#15121f);border:1px solid var(--line);border-radius:16px;flex:none;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:16px;padding:12px 18px;display:grid}.ch-quest{align-items:center;gap:16px;min-width:0;display:flex}.ch-quest img{width:auto;height:84px;image-rendering:pixelated}.ch-quest div{flex:1;min-width:0}.ch-quest h2{margin:2px 0 0;font-size:21px}.ch-quest p{color:var(--ink-2);margin:2px 0 6px;font-size:14.5px}.ch-chat{flex-direction:column;gap:6px;min-width:0;display:flex}.ch-chat ul{flex-direction:column;gap:3px;margin:0;padding:0;font-size:14.5px;list-style:none;display:flex}.ch-chat li{white-space:nowrap;text-overflow:ellipsis;color:var(--ink-2);overflow:hidden}.ch-chat li b{color:var(--ink)}.ch-chat li.sys{color:var(--ink-3);font-style:italic}.ch-say{gap:8px;display:flex}.ch-say input,.ch-say select{font:inherit;border:1px solid var(--line);background:var(--raise,#0002);min-height:44px;color:var(--ink);border-radius:10px;padding:8px 10px;font-size:15px}.ch-say input{flex:1;min-width:0}.ch-say button{cursor:pointer;min-height:44px;font:inherit;background:var(--h0,#a050fa);color:#fff;border:0;border-radius:10px;flex:none;padding:0 16px;font-weight:700}.ch-people{flex:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;min-height:0;display:grid}.ch-person{background:var(--cal-card,#15121f);border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:10px;min-height:0;padding:14px;display:flex}.ch-hero{flex:none;align-items:center;gap:14px;display:flex}.ch-avatar{background:var(--raise,#0002);width:141px;height:147px;image-rendering:pixelated;border-radius:12px;flex:none;position:relative;overflow:hidden}.ch-avatar img{image-rendering:pixelated;position:absolute;top:0;left:0}.ch-avatar .ch-bg{width:141px;height:147px}.ch-sprites{width:90px;height:90px;position:absolute;top:24px;left:24px}.ch-avatar.mounted .ch-sprites{top:0}.ch-sprites img{width:90px;height:90px}.ch-sprites img.ch-mount{width:135px;height:135px}.ch-avatar img.ch-pet{width:81px;height:99px;top:auto;bottom:0;left:0}.ch-noone{background:var(--raise,#0002) radial-gradient(circle at 50% 38%,var(--line-2) 22px,transparent 23px)}.ch-id{flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.ch-id h2{margin:0;font-size:22px;line-height:1.1}.ch-lvl{color:var(--ink-2);margin-bottom:2px;font-size:13.5px}.ch-gold{color:var(--h2,#ffb454);font-size:13px;font-weight:700}.ch-bar{background:#2b2548;border-radius:999px;height:18px;font-size:11px;line-height:18px;position:relative;overflow:hidden}.ch-bar span{border-radius:999px;transition:width .6s;position:absolute;inset:0 auto 0 0}.ch-bar b,.ch-bar i{color:#fff;text-shadow:0 1px 2px #000a;padding:0 8px;font-style:normal;position:relative}.ch-bar i{float:right;font-weight:600}.ch-hp span{background:#f74e4e}.ch-xp span{background:#ffb445}.ch-mp span{background:#50b5e9}.ch-boss span{background:#c62828}.ch-warn{color:#fff;background:#b3261e;border-radius:10px;flex:none;margin:0;padding:8px 12px;font-size:14.5px;font-weight:700}.ch-body{overscroll-behavior:contain;scrollbar-width:thin;flex-direction:column;flex:1;gap:12px;min-height:0;padding-right:2px;display:flex;overflow-y:auto}.ch-sec{flex-direction:column;gap:6px;display:flex}.ch-fold summary{cursor:pointer;padding:4px 0;list-style-position:inside}.ch-fold[open] summary{margin-bottom:6px}.ch-item{box-shadow:inset 4px 0 0 var(--chv,transparent);flex-wrap:wrap;align-items:flex-start;gap:10px;padding:8px 10px}.ch-item .td-tick{margin-top:2px}.ch-v0{--chv:#b0232a}.ch-v1{--chv:#e0463b}.ch-v2{--chv:#f28b30}.ch-v3{--chv:#f5c542}.ch-v4{--chv:#3fae5b}.ch-v5{--chv:#2fa9a3}.ch-v6{--chv:#3d7fe0}.ch-item.done{--chv:var(--line-2)}.ch-open{min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;align-items:flex-start;gap:3px;min-height:36px;padding:2px 0;display:flex}.ch-text{overflow-wrap:anywhere;font-size:17px;line-height:1.25}.ch-item.done .ch-text{opacity:.5;text-decoration:line-through}.ch-meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.ch-notes{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:13px;overflow:hidden}.ch-stars{color:var(--h2,#ffb454);gap:1px;display:inline-flex}.ch-stars .st{display:inline-flex}.ch-stars .st-dim{opacity:.22}.ch-chip,.ch-meta .td-due{color:var(--ink-3);background:var(--hover,#ffffff0d);border-radius:999px;flex:none;padding:2px 8px;font-size:12px;font-style:normal;font-weight:700}.ch-streak{color:#ff9f43}.ch-up{color:#3fae5b}.ch-down{color:#e0463b}.ch-cal{color:var(--violet-ink)}.ch-late{background:#b3261e22;border-color:#b3261e88}.ch-check{flex-direction:column;flex:0 0 100%;gap:4px;margin:0 0 0 40px;padding:0;list-style:none;display:flex}.ch-check li{align-items:center;gap:9px;font-size:15px;display:flex}.ch-check li span.done{opacity:.5;text-decoration:line-through}.ch-ctick{cursor:pointer;border:2px solid var(--line-2,#3a3160);color:#0000;background:0 0;border-radius:7px;flex:none;place-items:center;width:26px;height:26px;padding:0;display:grid}.ch-ctick[aria-checked=true]{background:var(--h1,#3fbfa8);color:#04210d;border-color:#0000}.ch-ctick svg{width:14px;height:14px}.ch-hbtn{cursor:pointer;width:40px;height:40px;font:inherit;color:#fff;touch-action:manipulation;background:#3fae5b;border:0;border-radius:10px;flex:none;font-size:24px;font-weight:700;line-height:1}.ch-hbtn.down{background:#e0463b}.ch-hbtn:disabled{opacity:.15;cursor:default}.ch-reward{align-items:center}.ch-rtext{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.ch-buy{cursor:pointer;min-height:40px;font:inherit;color:#2b1a00;background:var(--h2,#ffb454);border:0;border-radius:10px;flex:none;padding:0 14px;font-size:14px;font-weight:700}.ch-addwrap{flex-direction:column;flex:none;justify-content:center;align-self:stretch;align-items:stretch;gap:6px;display:flex}.ch-addtask{cursor:pointer;min-height:48px;font:inherit;color:#fff;background:var(--h0,#a050fa);touch-action:manipulation;border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-size:16px;font-weight:700;display:inline-flex}.ch-addtask svg{width:18px;height:18px}.ch-addtask:active{transform:scale(.97)}.ch-credit{color:var(--ink-4,#8d83c0);text-align:center;margin:0;font-size:11px}.ch-toast{z-index:60;color:#fff;background:var(--violet-deep,#4205ce);text-align:center;border-radius:999px;max-width:90vw;padding:14px 26px;font-size:20px;font-weight:700;animation:.3s chpop;position:fixed;bottom:120px;left:50%;transform:translate(-50%);box-shadow:0 14px 40px #0008}@keyframes chpop{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}#chsheet{border:1px solid var(--line);background:var(--panel,#120d33);width:min(94vw,520px);max-height:92vh;color:var(--ink);border-radius:20px;padding:0;overflow:auto}#chsheet::backdrop,#chconfirm::backdrop{background:#000a}#chsheet.kbd-up{max-height:calc(100vh - 360px);bottom:340px}#chconfirm{border:1px solid var(--line);background:var(--panel,#120d33);width:min(94vw,420px);color:var(--ink);border-radius:20px;padding:22px}#chconfirm p{margin:0 0 18px;font-size:19px;font-weight:600}#chconfirm #chyes{background:#e5484d}#chform{flex-direction:column;gap:12px;padding:20px;display:flex}#chform h2{margin:0 0 2px;font-size:22px}#chform label{color:var(--ink-3);flex-direction:column;gap:4px;font-size:13px;display:flex}#chform input,#chform select,#chform textarea{font:inherit;border:1px solid var(--line);background:var(--raise,#0002);color:var(--ink);border-radius:12px;min-height:46px;padding:11px 12px;font-size:17px}#chform textarea{resize:vertical;min-height:64px}#chform .chk{color:var(--ink);flex-direction:row;align-items:center;gap:10px;font-size:16px}#chform .chk input{width:22px;height:22px;min-height:0}#chform [hidden]{display:none!important}#chform .ch-every{flex:0 0 90px}#cherr{color:#ff6b6b;min-height:1.2em;margin:0;font-size:14px}.ch-f{flex-direction:column;gap:10px;display:flex}#chform:not([data-type=habit]) .ch-f-habit,#chform:not([data-type=daily]) .ch-f-daily,#chform:not([data-type=todo]) .ch-f-todo,#chform[data-type=habit] .ch-f-list,#chform[data-type=habit] .ch-f-cal,#chform[data-freq=daily] .ch-days,#chform[data-freq=monthly] .ch-days,#chform[data-freq=yearly] .ch-days,#chform.editing .ch-new{display:none}.ch-types,.ch-diff,.ch-days,.ch-dirs{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ch-diff>span,.ch-flabel{color:var(--ink-3);flex:0 0 100%;font-size:13px}.ch-types button,.ch-diff button,.ch-days button,.ch-dirs button{cursor:pointer;min-height:44px;font:inherit;border:1px solid var(--line);color:var(--ink);touch-action:manipulation;background:0 0;border-radius:12px;align-items:center;gap:6px;padding:0 14px;font-size:15px;font-weight:600;display:inline-flex}.ch-types button{flex:1}.ch-diff button{flex:1;justify-content:center;padding:0 6px;font-size:14px}.ch-days button{flex:1;justify-content:center;padding:0 6px}.ch-types button[aria-pressed=true],.ch-diff button[aria-pressed=true],.ch-days button[aria-pressed=true],.ch-dirs button[aria-pressed=true]{background:var(--h0,#a050fa);color:#fff;border-color:#0000}.ch-diff button[aria-pressed=true] .ch-stars{color:#fff}.ch-hint{color:var(--ink-3);margin:0;font-size:13px}.ch-edlist{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.ch-edlist li{align-items:center;gap:8px;display:flex}.ch-edlist input[type=checkbox]{flex:none;width:22px;height:22px;min-height:0}.ch-edlist input[type=text]{flex:1;min-width:0;min-height:40px;padding:8px 10px;font-size:16px}.ch-edlist button,.ch-additem button{cursor:pointer;border:1px solid var(--line);width:40px;height:40px;color:var(--ink-3);font:inherit;background:0 0;border-radius:10px;flex:none;font-size:20px}.ch-additem{gap:8px;display:flex}.ch-additem input{flex:1;min-width:0}.ch-additem button{background:var(--h0,#a050fa);color:#fff;border-color:#0000}@media (width<=900px){.ch-people,.ch-party{grid-template-columns:minmax(0,1fr)}.ch-people{overflow-y:auto}.ch-person{min-height:520px}}.wx-page{flex:1;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:16px;min-width:0;min-height:0;display:grid}.wx-left,.wx-right{scrollbar-width:thin;overscroll-behavior:contain;flex-direction:column;gap:16px;min-width:0;min-height:0;display:flex;overflow-y:auto}.kiosk-dash[data-page=weather]{gap:16px}.wx-page h2{color:var(--ink-2);margin:0;font-size:15px;font-weight:700}.wx-now{background:var(--cal-card,#15121f);border:1px solid var(--line);border-radius:18px;flex-direction:column;gap:14px;padding:18px 22px;display:flex}.wx-nowtop{align-items:center;gap:16px;display:flex}.wx-nowtop .cal-wi{width:64px;height:64px;color:var(--violet-ink)}.wx-nowtop>b{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:72px;font-weight:700;line-height:1}.wx-nowtop>span{flex-direction:column;gap:3px;display:flex}.wx-nowtop i{font-size:22px;font-style:normal;font-weight:700}.wx-nowtop em{color:var(--ink-2);font-size:16px;font-style:normal}.wx-nowcols{grid-template-columns:1fr 1fr;gap:0 28px;display:grid}.wx-nowcols dl{font-variant-numeric:tabular-nums;grid-template-columns:auto 1fr;gap:6px 14px;margin:0;font-size:15px;display:grid}.wx-nowcols dt{color:var(--ink-3)}.wx-nowcols dd{text-align:right;margin:0;font-weight:600}.wx-alerts{flex-direction:column;gap:8px;display:flex}.wx-alert{color:#fff;background:#a4262a;border-radius:14px;flex-direction:column;gap:2px;padding:12px 16px;display:flex}.wx-alert[data-sev=extreme]{background:#7f1d1d}.wx-alert[data-sev=moderate]{background:#7a4400}.wx-alert[data-sev=minor]{background:#6b5300}.wx-alert b{font-size:18px}.wx-alert span{font-size:15px}.wx-hourly{flex-direction:column;gap:10px;display:flex}.wx-hrs{scrollbar-width:thin;scroll-snap-type:x proximity;gap:6px;padding-bottom:4px;display:flex;overflow-x:auto}.wx-hr{background:var(--well);border:1px solid var(--line);scroll-snap-align:start;border-radius:12px;flex-direction:column;flex:0 0 68px;align-items:center;gap:3px;padding:9px 4px;display:flex}.wx-hr small{color:var(--ink-2);text-transform:uppercase;letter-spacing:.05em;font-size:13px;font-weight:700}.wx-hr b{color:var(--ink-2);white-space:nowrap;font-size:13px;font-weight:600}.wx-hr .cal-wi{width:26px;height:26px;color:var(--violet-ink)}.wx-hrt{font-variant-numeric:tabular-nums;font-size:17px;font-weight:700}.wx-hrp{color:var(--pop);font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.wx-hr.now{background:#a050fa1f;border-color:#a050fa8c}.wx-daily{flex-direction:column;gap:8px;display:flex}.wx-daily ol{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.wx-day{font-variant-numeric:tabular-nums;border:1px solid #0000;border-radius:12px;grid-template-columns:118px 30px 44px 42px minmax(90px,140px) 42px minmax(0,1fr);align-items:center;gap:0 10px;padding:9px 12px;font-size:15px;display:grid}.wx-day:nth-child(odd){background:var(--well)}.wx-day.weekend{border-color:var(--line-2)}.wx-dn{flex-direction:column;font-weight:700;display:flex}.wx-dn small{color:var(--ink-2);font-size:13px;font-weight:500}.wx-day .cal-wi{width:26px;height:26px;color:var(--violet-ink)}.wx-dp{color:var(--pop);text-align:right;font-weight:600}.wx-dlo{text-align:right;color:var(--ink-3)}.wx-dhi{font-weight:700}.wx-bar{background:var(--line);border-radius:4px;height:8px;position:relative}.wx-bar i{background:linear-gradient(90deg,#5cc8e0,#f0b000);border-radius:4px;position:absolute;top:0;bottom:0}.wx-dt{color:var(--ink-2);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:14px;line-height:1.3;display:-webkit-box;overflow:hidden}.wx-weekend{flex-direction:column;gap:10px;display:flex}.wx-wk{grid-template-columns:1fr 1fr;gap:12px;display:grid}.wx-wkday{background:var(--well);border:1px solid var(--line);border-radius:14px;grid-template-rows:auto auto auto;grid-template-columns:44px 1fr;align-items:center;gap:0 12px;padding:12px 16px;display:grid}.wx-wkday .cal-wi{width:44px;height:44px;color:var(--violet-ink);grid-row:1/4}.wx-wkday b{font-size:17px}.wx-wkday span{color:var(--ink-2);font-size:14px}.wx-wkday small{color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:13px}.wx-radar{flex-direction:column;flex:1;gap:8px;min-height:0;display:flex}.wx-radar h2 span{color:var(--ink-3);font-variant-numeric:tabular-nums;margin-left:8px;font-weight:500}.wx-map{background:var(--well);border:1px solid var(--line);border-radius:16px;flex:1;min-height:0;position:relative;overflow:hidden}.wx-map img{display:block;position:absolute}.wx-map .frame{transition:opacity .25s var(--ease)}@media (prefers-reduced-motion:reduce){.wx-map .frame{transition:none}}.wx-map img.radar{opacity:.8;mix-blend-mode:multiply}html[data-theme=dark] .wx-map img.radar,.wx-map img.radar{mix-blend-mode:normal}.wx-map .home{background:var(--h0,#a050fa);border:3px solid #fff;border-radius:50%;width:14px;height:14px;margin:-7px;position:absolute;top:50%;left:50%;box-shadow:0 0 0 2px #0006}.wx-radarbar{align-items:center;gap:12px;display:flex}#radarplay{min-height:44px;font:inherit;border:1.5px solid var(--line-2);color:var(--ink);cursor:pointer;touch-action:manipulation;background:0 0;border-radius:999px;padding:0 18px;font-size:14px;font-weight:700}#radarplay:focus-visible{outline:2px solid var(--h0,#a050fa);outline-offset:2px}#radarplay:hover{border-color:var(--h0,#a050fa)}#radarplay:active{background:var(--hover)}#radarpos{accent-color:var(--h0,#a050fa);touch-action:manipulation;flex:1;min-height:44px}#radarpos::-webkit-slider-thumb{width:32px;height:32px}.wx-attrib{color:var(--ink-4);white-space:nowrap;font-size:11px}@media (prefers-reduced-motion:reduce){.kiosk-nav a{transition:none}}body.kiosk .cal-view{flex-direction:column;flex:1;gap:12px;min-height:0;display:flex}body.kiosk .cal-tools{flex:none}body.kiosk .cal-week,body.kiosk .cal-month{flex:1;min-height:0}body.kiosk .cal-col{scrollbar-width:thin;min-height:0;overflow:auto}body.kiosk .cal-colbody{min-height:0}body.kiosk .cal-month{grid-template-rows:auto repeat(6,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);gap:7px}body.kiosk .cal-mhead{padding-bottom:2px}body.kiosk .cal-cell{scrollbar-width:thin;min-height:0;overflow:auto}body.kiosk .cal-agenda,body.kiosk .cal-view-day .cal-list{scrollbar-width:thin;flex:1;min-height:0;overflow:auto}body.kiosk .cal-hgrid{flex:1;min-height:0}body.kiosk .cal-hrtime{font-size:15px}body.kiosk .cal-hrow{min-height:52px}body.kiosk .cal-view-day .cal-empty{flex:none}body.kiosk .cal-week{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}body.kiosk .cal-chip{border:1px solid color-mix(in srgb,var(--h) 38%,transparent);border-left:5px solid var(--h);background:color-mix(in srgb,var(--h) 16%,transparent);border-radius:12px;max-width:none;padding:12px 13px 13px 15px;font-size:19px;line-height:1.22;display:block}body.kiosk .cal-chip time{color:color-mix(in srgb,var(--h) 78%,var(--ink));letter-spacing:.02em;margin-bottom:3px;font-size:14px;font-weight:700;display:block}body.kiosk .cal-chip b{color:var(--ink);letter-spacing:-.01em;overflow-wrap:anywhere;font-weight:600;display:block}body.kiosk .cal-chip:hover{background:color-mix(in srgb,var(--h) 22%,transparent);border-color:var(--h)}body.kiosk .cal-chip.allday{border-left-width:3px}body.kiosk .cal-chip.allday b{color:color-mix(in srgb,var(--h) 55%,var(--ink))}body.kiosk .cal-col{background:var(--panel);border-color:var(--field-3);gap:9px;padding:10px 9px}body.kiosk .cal-col.today{background:var(--panel-2);border-color:#a050fa8c;box-shadow:0 0 0 1px #a050fa33,0 18px 44px -26px #a050facc}body.kiosk .cal-colhead{flex-direction:row;align-items:baseline;gap:8px;padding:2px 4px}body.kiosk .cal-wd{letter-spacing:.07em;font-size:13px}body.kiosk .cal-dn{font-size:28px;line-height:1}body.kiosk .cal-colbody{gap:9px}body.kiosk .cal-colbody:empty:after{content:"";display:block}body.kiosk .cal-month .cal-mchip{border:1px solid color-mix(in srgb,var(--h,#a050fa) 34%,transparent);border-left:4px solid var(--h,#a050fa);background:color-mix(in srgb,var(--h,#a050fa) 15%,transparent);color:var(--ink);border-radius:8px;padding:6px 9px;font-size:14px}body.kiosk .cal-cellnum{min-height:26px;font-size:15px}body.kiosk .cal-mhead{letter-spacing:.07em;font-size:12px}body.kiosk .cal-col{flex-direction:column;align-items:stretch}body.kiosk .cal-colhead{flex:none;width:auto}.kiosk-wx{background:var(--well);border:1px solid var(--line);border-radius:16px;flex-direction:column;flex:none;gap:4px;margin-left:16px;padding:10px 16px 12px;display:flex}.kwx-top{align-items:center;gap:10px;display:flex}.kiosk-wx .cal-wi{width:38px;height:38px;color:var(--violet-ink);flex:none}.kwx-top b{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:34px;font-weight:700;line-height:1}.kwx-cond{color:var(--ink-2);font-size:15px;font-style:normal;font-weight:600}.kwx-bits{font-variant-numeric:tabular-nums;grid-template-columns:auto auto;gap:2px 16px;margin:2px 0 0;font-size:13px;line-height:1.35;display:grid}.kwx-bits dt{color:var(--ink-4)}.kwx-bits dd{color:var(--ink-2);text-align:right;margin:0}@media (width<=1100px){.kwx-top b{font-size:24px}.kiosk-wx .cal-wi{width:32px;height:32px}.kwx-bits{display:none}body.kiosk .cal-chip time{font-size:10.5px}body.kiosk .cal-week{gap:5px}body.kiosk .cal-col{padding:6px 5px}body.kiosk .cal-chip{padding:4px 6px;font-size:11px}body.kiosk .cal-dn{font-size:15px}body.kiosk .cal-colwx{font-size:10.5px}body.kiosk .cal-colwx .cal-wi{width:15px;height:15px}}@media (width<=560px){body.kiosk .cal-week{flex-direction:column;gap:8px;display:flex}body.kiosk .cal-col{flex-direction:row;align-items:flex-start;gap:10px;overflow:visible}body.kiosk .cal-colhead{flex:none;width:4.6em}body.kiosk .cal-colbody{flex:1}}body.calpage{background:var(--canvas)}body.calpage .cal-view{gap:16px}body.calpage .cal-empty,body.calpage .cal-list,body.calpage .sync,body.calpage .cal-col{background:var(--cal-card)}body.calpage .cal-month{background:0 0;gap:0}body.calpage .cal-mhead{border-bottom:1px solid var(--line);letter-spacing:.07em;padding:0 0 8px}body.calpage .cal-cell{border:0;border-top:1px solid var(--line);min-height:86px;box-shadow:inset 1px 0 0 var(--line);background:0 0;border-radius:0;gap:0;padding:0 0 6px}body.calpage .cal-cell:nth-child(-n+14){border-top:0}body.calpage .cal-cell:nth-child(7n+1){box-shadow:none}body.calpage .cal-cell.cal-out{border-color:var(--line);background:0 0}body.calpage .cal-cell.today{background:color-mix(in srgb,var(--violet) 10%,transparent)}body.calpage .cal-cellnum{border-radius:var(--r-press);min-height:22px;color:var(--ink-2);margin:5px 0 0 6px;padding:1px 8px;font-size:13px}body.calpage .cal-cellnum:hover{background:var(--hover);color:var(--ink)}body.calpage .cal-cell.today .cal-cellnum{background:var(--violet);color:var(--on-violet)}body.calpage .cal-cell.today .cal-cellnum:hover{background:var(--violet-lit);color:var(--on-violet)}body.calpage .cal-cell.cal-out .cal-cellnum{opacity:.8}body.calpage .cal-bars{gap:2px;margin:4px 0 0;display:grid}body.calpage .cal-span{z-index:1;text-overflow:ellipsis;white-space:nowrap;background:color-mix(in srgb,var(--h) 26%,var(--canvas));height:15px;color:color-mix(in srgb,var(--h) 52%,var(--ink));border-radius:0;margin:0 6px;padding:0 6px;font-size:11.5px;line-height:15px;text-decoration:none;display:block;position:relative;overflow:hidden}body.calpage .cal-span[data-r=l]{border-radius:8px 0 0 8px;margin-right:0}body.calpage .cal-span[data-r=r]{border-radius:0 8px 8px 0;margin-left:0}body.calpage .cal-span[data-r=m]{margin:0}body.calpage .cal-span[data-r=b]{border-radius:8px}body.calpage .cal-marks{flex-direction:column;gap:4px;padding:4px 0 0;display:flex}body.calpage .cal-dot{z-index:1;background:color-mix(in srgb,var(--h) 85%,var(--canvas));border-radius:2px;height:4px;margin:0 6px;display:block;position:relative}body.calpage .cal-more{align-self:flex-start;min-height:0;margin-left:6px;padding:1px 7px;font-size:11px}body.calpage .cal-daytop{border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0;padding:0 2px 13px}body.calpage .cal-hgrid{background:0 0;border:0;border-radius:0;gap:0;padding:0}body.calpage .cal-hrow{min-height:52px;padding:7px 0}body.calpage .cal-hrow.now{box-shadow:none;background:0 0;position:relative}body.calpage .cal-hrow.now .cal-hrtime{color:var(--nowline)}body.calpage .cal-hrow.now:before{content:"";z-index:3;height:2px;left:calc(5.6em + 12px);right:0;top:var(--nowpct,50%);background:var(--nowline);border-radius:2px;margin-top:-1px;position:absolute}body.calpage .cal-hrow.now:after{content:"";z-index:3;width:9px;height:9px;left:calc(5.6em + 8px);top:var(--nowpct,50%);background:var(--nowline);border-radius:50%;margin-top:-4.5px;position:absolute}body.calpage .cal-nowlab{z-index:4;left:calc(5.6em + 15px);top:var(--nowpct,50%);font-variant-numeric:tabular-nums;color:var(--on-now);background:var(--nowline);border-radius:var(--r-press);box-shadow:0 0 0 2px var(--canvas);padding:1px 8px;font-size:11.5px;font-weight:700;position:absolute;transform:translateY(-50%)}body.calpage .cal-hrev{border-radius:var(--r-inner);border:0;border-left:4px solid var(--h,var(--h0));background:color-mix(in srgb,var(--h,var(--h0)) 14%,transparent);padding:12px 14px}body.calpage .cal-hrev time{color:color-mix(in srgb,var(--h,var(--h0)) 62%,var(--ink));font-size:12.5px;font-weight:700}body.calpage .cal-hrev b{font-size:17px}body.calpage .cal-hour{background:var(--well)}body.calpage .cal-nowtag{font-variant-numeric:tabular-nums;color:var(--nowline);border-top:2px solid var(--nowline);margin-top:6px;padding-top:3px;font-size:11px;font-weight:700;display:block}body.calpage .cal-agenda{gap:16px}body.calpage .cal-day{background:0 0;border:0;border-radius:0;padding:0}body.calpage .cal-day.today{box-shadow:none;background:0 0}body.calpage .cal-dhead{margin:0 2px 8px}body.calpage .cal-dhead b{font-size:15px}body.calpage .cal-day.today .cal-dhead b{color:var(--ink)}body.calpage .cal-dhead .cal-todaytag{margin-left:0}body.calpage .cal-ev{border-radius:var(--r-inner);border:0;border-left:4px solid var(--h,var(--h0));background:color-mix(in srgb,var(--h,var(--h0)) 14%,transparent);grid-template-columns:4.4em minmax(0,1fr);align-items:start;margin:0 0 8px;padding:13px 15px}body.calpage .cal-ev:last-child{margin-bottom:0}body.calpage .cal-ev time,body.calpage .cal-ev .cal-allday{color:color-mix(in srgb,var(--h,var(--h0)) 62%,var(--ink));font-size:12px;font-weight:700}body.calpage .cal-ev .cal-what{font-size:16px;font-weight:600}body.calpage .cal-ev .cal-where{color:var(--ink-2)}@media (prefers-reduced-motion:reduce){.cal-btn,.cal-chip,.cal-mchip,.cal-views a,.cal-colhead,.cal-cellnum,.cal-more{transition:none}}.cal-ev{position:relative}.cal-ev .cal-what{padding-right:88px}.cal-pin{cursor:pointer;border:1px solid var(--line);width:38px;height:38px;color:var(--ink-3);opacity:.75;touch-action:manipulation;background:0 0;border-radius:50%;place-items:center;margin:0;padding:0;transition:color .15s,background-color .15s,opacity .15s;display:inline-grid}.cal-ev .cal-pin{position:absolute;top:50%;right:6px;transform:translateY(-50%)}.cal-pin:hover,.cal-pin:focus-visible{opacity:1;color:var(--violet-ink)}.cal-pin.on{opacity:1;color:var(--on-now,#fff);background:var(--h0,#a050fa);border-color:#0000}.pin-strip,.kiosk-pins{align-items:stretch;gap:12px;display:flex}.pin-strip{margin:0 0 14px;padding-bottom:2px;overflow-x:auto}.kiosk-pins{flex:1;justify-content:center;min-width:0;padding:0 12px}.pin-card{background:color-mix(in srgb,var(--safe) 20%,transparent);border:3px solid var(--safe);min-width:190px;box-shadow:0 0 0 3px color-mix(in srgb,var(--safe) 22%,transparent);--safe-ink:color-mix(in srgb,var(--safe) 72%,white);border-radius:16px;flex-direction:column;flex:0 300px;gap:2px;padding:10px 46px 10px 16px;display:flex;position:relative}.pin-card[data-c=orange]{--safe:#ff6a13;--on-safe:#1a0a00}.pin-card[data-c=yellow]{--safe:#ffd400;--on-safe:#1a1400}.pin-card[data-c=green]{--safe:#2fcf5c;--on-safe:#04210d}.pin-card[data-c=purple]{--safe:#9b5cf6;--on-safe:#fff}.pin-card[data-c=red]{--safe:#ee2b2b;--on-safe:#fff}.pin-card[data-c=pink]{--safe:#e63ba3;--on-safe:#fff}@media (prefers-color-scheme:light){:root:not([data-theme=dark]) .pin-card{--safe-ink:color-mix(in srgb,var(--safe) 58%,black)}}html[data-theme=light] .pin-card{--safe-ink:color-mix(in srgb,var(--safe) 58%,black)}.pin-color{cursor:pointer;background:var(--safe);border:2px solid var(--ink);opacity:.9;touch-action:manipulation;border-radius:50%;width:26px;height:26px;margin:0;padding:0;position:absolute;bottom:9px;right:9px}.pin-color:hover,.pin-color:focus-visible{opacity:1}.pin-when{letter-spacing:.07em;text-transform:uppercase;color:var(--safe-ink);font-size:13.5px;font-weight:800}.pin-what{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:22px;font-weight:800;line-height:1.15;overflow:hidden}.pin-range{color:var(--ink-3);font-size:14px}.pin-card .pin-x{background:var(--safe);color:var(--on-safe);position:absolute;top:6px;right:6px}body.kiosk .kiosk-pins{grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(2,minmax(0,1fr));align-self:stretch;gap:8px 12px;display:grid}body.kiosk .pin-card{justify-content:center;gap:0;min-width:0;padding:6px 96px 6px 14px}body.kiosk .pin-when{font-size:12px}body.kiosk .pin-what{font-size:19px}body.kiosk .pin-range{font-size:13px}body.kiosk .pin-card .pin-x{top:50%;transform:translateY(-50%)}body.kiosk .pin-card .pin-color{top:50%;bottom:auto;right:54px;transform:translateY(-50%)}.pin-strip .pin-what{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box}.pin-strip .pin-card{flex:0 0 min(78vw,300px)}#addbtn{z-index:30;left:50%;bottom:max(14px,env(safe-area-inset-bottom));cursor:pointer;color:#fff;background:var(--h0,#a050fa);touch-action:manipulation;border:0;border-radius:999px;align-items:center;gap:8px;height:48px;padding:0 20px;font-family:inherit;font-size:15px;font-weight:700;display:inline-flex;position:fixed;transform:translate(-50%);box-shadow:0 6px 22px #0007}body.kiosk #addbtn{justify-content:center;width:60px;height:60px;padding:0;bottom:96px;left:auto;right:22px;transform:none}body.kiosk #addbtn span{display:none}#addsheet{border:1px solid var(--line);background:var(--panel,#120d33);width:min(94vw,460px);max-height:92vh;color:var(--ink);border-radius:20px;padding:0;overflow:auto}#addsheet::backdrop,#confirmdlg::backdrop{background:#000a}.add-color{color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:12px;font-size:13px;display:flex}.add-palette{flex:0 0 100%;justify-content:space-between;gap:8px;display:flex}.add-palette button{cursor:pointer;width:44px;height:44px;box-shadow:0 0 0 1px var(--line);touch-action:manipulation;border:3px solid #0000;border-radius:50%;padding:0}.add-palette button[aria-pressed=true]{border-color:var(--ink)}.add-color span{flex:1}.add-color input[type=color]{border:1px solid var(--line);background:var(--raise,#0002);cursor:pointer;border-radius:12px;width:64px;height:46px;padding:4px}.add-color.auto input[type=color]{opacity:.35}#colorauto{min-height:46px;font:inherit;border:1px solid var(--line);color:var(--ink);cursor:pointer;background:0 0;border-radius:12px;padding:0 16px;font-size:15px;font-weight:600}#colorauto[aria-pressed=true]{background:var(--h0,#a050fa);color:#fff;border-color:#0000}#confirmdlg{border:1px solid var(--line);background:var(--panel,#120d33);width:min(94vw,420px);color:var(--ink);border-radius:20px;padding:22px}#confirmdlg p{margin:0 0 18px;font-size:19px;font-weight:600}#confirmdlg #confirmyes{background:#e5484d}#addform{flex-direction:column;gap:12px;padding:20px;display:flex}#addform h2{margin:0 0 2px;font-size:22px}#addform label{color:var(--ink-3);flex-direction:column;gap:4px;font-size:13px;display:flex}#addform input,#addform select{font:inherit;border:1px solid var(--line);background:var(--raise,#0002);color:var(--ink);border-radius:12px;min-height:46px;padding:11px 12px;font-size:17px}#addform .chk{color:var(--ink);flex-direction:row;align-items:center;gap:10px;font-size:16px}#addform .chk input{width:22px;height:22px;min-height:0}.add-row{gap:10px;display:flex}.add-row label{flex:1;min-width:0}.add-row .add-t{flex:0 0 118px}#addform.all .add-t{display:none}#adderr{color:#ff6b6b;min-height:1.2em;margin:0;font-size:14px}.add-actions{justify-content:flex-end;gap:10px;display:flex}.add-actions button{cursor:pointer;border:1px solid var(--line);min-height:46px;color:var(--ink);background:0 0;border-radius:12px;padding:0 22px;font-family:inherit;font-size:16px;font-weight:700}.add-actions .primary{background:var(--h0,#a050fa);color:#fff;border-color:#0000}.cal-edit{cursor:pointer;border:1px solid var(--line);width:38px;height:38px;color:var(--ink-3);opacity:.75;touch-action:manipulation;background:0 0;border-radius:50%;place-items:center;margin:0;padding:0;display:inline-grid;position:absolute;top:50%;right:48px;transform:translateY(-50%)}.cal-edit:hover,.cal-edit:focus-visible{opacity:1;color:var(--violet-ink)}#addsheet [hidden]{display:none!important}#addnote{color:var(--ink-3);margin:0;font-size:13px}.add-actions .danger{color:#ff6b6b;border-color:#ff6b6b66;margin-right:auto}.todo{background:var(--cal-card,#15121f);border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:10px;padding:16px;display:flex}body.calpage .todo{margin:0 0 16px}.td-head{align-items:center;gap:10px;display:flex}.td-head h2{margin:0;font-size:19px}.td-count{color:var(--ink-3);margin-right:auto;font-size:13px}.td-clear{cursor:pointer;color:var(--ink-3);border:1px solid var(--line);background:0 0;border-radius:999px;padding:5px 12px;font-family:inherit;font-size:12.5px;font-weight:600}.td-clear:hover{color:var(--ink);border-color:var(--line-2)}.td-add{gap:8px;display:flex}.td-add input{min-width:0;font:inherit;border:1px solid var(--line);background:var(--raise,#0002);color:var(--ink);border-radius:12px;flex:1;min-height:44px;padding:10px 12px;font-size:16px}.td-add button{cursor:pointer;background:var(--h0,#a050fa);color:#fff;border:0;border-radius:12px;flex:none;width:44px;min-height:44px;font-family:inherit;font-size:22px;font-weight:700;line-height:1}.td-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.td-item{background:var(--raise,#0002);border:1px solid var(--line);border-radius:12px;align-items:center;gap:11px;padding:9px 10px;display:flex}.td-tick{cursor:pointer;border:2px solid var(--line-2,#3a3160);color:#0000;touch-action:manipulation;background:0 0;border-radius:9px;flex:none;place-items:center;width:30px;height:30px;padding:0;display:grid}.td-tick:hover{border-color:var(--h0,#a050fa)}.td-item.done .td-tick{background:var(--h1,#3fbfa8);color:#04210d;border-color:#0000}.td-what{overflow-wrap:anywhere;flex:1;min-width:0;font-size:16px}.td-item.done .td-what{opacity:.5;text-decoration:line-through}.td-due{color:var(--ink-3);background:var(--hover,#ffffff0d);border-radius:999px;flex:none;padding:3px 8px;font-size:12px;font-weight:700}.td-due.soon{color:var(--h2,#ffb454)}.td-due.late{color:#fff;background:#d33}.td-del{cursor:pointer;width:28px;height:28px;color:var(--ink-3);opacity:.5;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.td-del:hover{opacity:1;color:#ff6b6b}.td-empty{color:var(--ink-3);margin:0;font-size:14px}.kiosk-body{gap:16px;min-height:0;display:flex}.kiosk-body .cal-view{flex:1;min-width:0}.kiosk-rail{flex-direction:column;flex:0 0 320px;min-width:0;margin-top:88px;display:flex;overflow:auto}.todo.compact .td-what{font-size:16px}.todo.compact .td-item{padding:10px 11px}.kiosk-rail{gap:12px;overflow:hidden}.kiosk-rail .todo{flex:1 1 0;min-height:0}.kiosk-rail .td-list{overscroll-behavior:contain;scrollbar-width:thin;flex:1;min-height:0;overflow-y:auto}@media (width<=1280px){.kiosk-rail{flex-basis:260px}.kiosk-next{width:260px}.kiosk-head{padding-right:284px}}#kbd{z-index:2147483000;background:var(--panel,#120d33);border-top:1px solid var(--line);-webkit-user-select:none;user-select:none;touch-action:manipulation;padding:10px 10px 14px;display:none;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -10px 40px #0006}#kbd.on{display:block}#kbd .row{justify-content:center;gap:8px;margin-top:8px;display:flex}#kbd button{border:1px solid var(--line);background:var(--raise,#ffffff10);height:66px;color:var(--ink);cursor:pointer;touch-action:manipulation;border-radius:12px;flex:0 96px;font-family:inherit;font-size:26px;font-weight:600}#kbd button:active{background:var(--h0,#a050fa);color:#fff}#kbd button.w2{flex-basis:170px;font-size:20px}#kbd button.sp{flex-basis:520px}#kbd button.go{background:var(--h0,#a050fa);color:#fff;border-color:#0000}#kbd button.on{background:var(--h0,#a050fa);color:#fff}body.kbd-open{padding-bottom:340px}#addsheet.kbd-up{max-height:calc(100vh - 360px);bottom:340px}body.kbd-open .chores{margin-bottom:340px}.cal-view .cal-chip.holiday,.cal-view .cal-mchip.holiday{font-style:italic}.cal-view .cal-chip.holiday b{font-weight:500}.cal-view .cal-ev.holiday .cal-what{font-style:italic}.holiday:not([data-h=fed],[data-h=common]){--h:#7f9ecb}html[data-theme=light] .holiday:not([data-h=fed],[data-h=common]){--h:#4a6d9e}@media (prefers-color-scheme:light){:root:not([data-theme=dark]) .holiday:not([data-h=fed],[data-h=common]){--h:#4a6d9e}}.kiosk-next li.holiday .cu-what{color:var(--ink-3);font-style:italic}[data-h=bday]{--h:#f0b000}html[data-theme=light] [data-h=bday]{--h:#9a6b00}@media (prefers-color-scheme:light){:root:not([data-theme=dark]) [data-h=bday]{--h:#9a6b00}}[data-h=bday] :is(b,.cal-what,.cu-what),:is(span.cal-chip,.cal-mchip)[data-h=bday]{color:var(--h)!important;font-weight:800!important}[data-h=bday] :is(b,.cal-what,.cu-what):before,:is(span.cal-chip,.cal-mchip)[data-h=bday]:before{content:"🥳🎉 "}[data-h=fed]{--h:#4169e1}[data-h=common]{--h:#1e8e3e}:is(.cal-chip,.cal-mchip).holiday:is([data-h=fed],[data-h=common]){background:var(--h)!important;border:1px solid var(--h)!important;color:#fff!important;font-style:normal!important;font-weight:700!important}.cal-chip.holiday:is([data-h=fed],[data-h=common]) b{color:#fff!important;font-weight:700!important}.cal-ev.holiday:is([data-h=fed],[data-h=common]) .cal-what{color:var(--ink)!important;font-style:normal!important;font-weight:700!important}.kiosk-next li:is([data-h=fed],[data-h=common]) .cu-what{font-weight:700;font-style:normal!important}.kiosk-next li:is([data-h=fed],[data-h=common]) .cu-what>span{background:var(--h);color:#fff;border-radius:6px;padding:1px 8px}.qr img{width:100%;height:100%;display:block}.pin-err{color:var(--warm-text);margin:0;font-size:13px}body:not(.kiosk) .cal-switch{display:flex}body:not(.kiosk) .cal-switch a{text-align:center;flex:1}body:not(.kiosk) .chores{flex:none;min-height:0}body:not(.kiosk) .ch-party,body:not(.kiosk) .ch-people{grid-template-columns:minmax(0,1fr)}body:not(.kiosk) .ch-person{min-height:0}body:not(.kiosk) .ch-body{overflow:visible}body:not(.kiosk) .ch-addwrap{align-self:auto}body:not(.kiosk) .ch-toast{bottom:calc(76px + env(safe-area-inset-bottom))}body:not(.kiosk) .wx-page{flex:none;grid-template-columns:minmax(0,1fr)}body:not(.kiosk) .wx-left,body:not(.kiosk) .wx-right{overflow:visible}body:not(.kiosk) .wx-map{aspect-ratio:1;flex:none}body:not(.kiosk) .wx-radarbar{flex-wrap:wrap}body:not(.kiosk) .wx-attrib{white-space:normal;flex-basis:100%}body:not(.kiosk) .wx-nowcols,body:not(.kiosk) .wx-wk{grid-template-columns:minmax(0,1fr)}body:not(.kiosk) .wx-nowcols{gap:6px 0}@media (width<=1179px){body:not(.kiosk) .wx-day{grid-template-columns:minmax(0,1fr) 26px 38px 34px minmax(40px,90px) 36px;gap:0 8px}body:not(.kiosk) .wx-dt{display:none}}body:not(.kiosk) .cal-switch{margin-top:-18px}body:not(.kiosk) .cal-toolrow{flex-wrap:nowrap;flex:100%;justify-content:space-between}body:not(.kiosk) .cal-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}body:not(.kiosk) .cal-nav{flex:none}body:not(.kiosk) .cal-tools .cal-views{flex:100%}body:not(.kiosk) .cal-views a{justify-content:center;align-items:center;min-height:40px;padding:0 4px;display:flex}body:not(.kiosk) .cal-chip time{margin-right:6px}@container (width<=560px){body:not(.kiosk) .cal-col{flex-wrap:wrap;row-gap:8px}body:not(.kiosk) .cal-col .cal-wxcard{flex:100%;margin-top:0}}.install-card{--ink:#f6f3ff;--ink-2:#bcb5e4;--violet-ink:#c77bfc;--raise-4:#ffffff14;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));z-index:var(--z-install);border-radius:var(--r-card);text-align:left;max-width:456px;color:var(--ink);background:var(--toast-2);border:1px solid var(--line-2);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);animation:install-in .35s var(--ease);align-items:center;gap:12px;margin:0 auto;padding:14px 12px 14px 14px;display:flex;position:fixed;box-shadow:0 18px 44px #00000087}@keyframes install-in{0%{opacity:0;transform:translateY(16px)}}html.install-open body{padding-bottom:calc(var(--install-h,0px) + 24px)}.install-card img{border-radius:12px;flex:none;width:48px;height:48px;display:block}.install-card .txt{min-width:0;color:var(--ink-2);text-wrap:pretty;flex:1;margin:0;font-size:13.5px;line-height:1.4}.install-card .txt b{color:var(--ink);margin-bottom:1px;font-size:15px;font-weight:600;display:block}.install-card .txt em{color:var(--ink);white-space:nowrap;font-style:normal;font-weight:600}.install-card .txt svg{vertical-align:-2px;width:15px;height:15px;color:var(--violet-ink)}.install-card button{font:inherit;cursor:pointer;flex:none;margin:0;transform:none}.install-card .go{color:var(--on-violet);background:var(--violet);border-radius:var(--r-press);border:0;width:auto;min-height:40px;padding:0 16px;font-size:14px;font-weight:600}.install-card .go:hover{background:var(--violet-lit)}.install-card .close{color:var(--ink-2);border-radius:var(--r-press);background:0 0;border:0;place-items:center;width:44px;min-width:44px;min-height:44px;padding:0;display:grid}.install-card .close:hover{color:var(--ink);background:var(--raise-4)}.install-card .close svg{width:17px;height:17px}@media (prefers-reduced-motion:reduce){.install-card{animation:none}}.kiosk-brand{flex-direction:column;flex:none;gap:8px;display:flex}body.kiosk .kiosk-brand #themebtn{touch-action:manipulation;border-radius:999px;width:84px;height:44px;display:grid;position:static}.kiosk-brand #themebtn svg{width:20px;height:20px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pr-live{aspect-ratio:16/9;border-radius:var(--r-card);border:1px solid var(--line);background:#05040f;margin-bottom:12px;position:relative;overflow:hidden}.pr-live img{object-fit:contain;opacity:0;width:100%;height:100%;transition:opacity var(--t-fast) var(--ease);display:block;position:absolute;inset:0}.pr-live[data-state=live] img{opacity:1}.pr-livenote{text-align:center;color:#bcb5e4;text-wrap:pretty;justify-content:center;align-items:center;margin:0;padding:0 24px;font-size:13px;display:flex;position:absolute;inset:0}.pr-card{border-radius:var(--r-card);background:var(--card);border:1px solid var(--line);padding:16px 18px 18px}.pr-status{color:var(--violet-ink);align-items:center;gap:8px;font-size:13.5px;font-weight:600;display:flex}.pr-dot{background:var(--violet);border-radius:50%;flex:none;width:8px;height:8px}.pr-card[data-phase=printing] .pr-dot{box-shadow:0 0 0 4px var(--violet-wash,#a050fa26)}.pr-card[data-phase=paused] .pr-status,.pr-card[data-phase=error] .pr-status{color:var(--warm-text)}.pr-card[data-phase=paused] .pr-dot,.pr-card[data-phase=error] .pr-dot{background:var(--warm)}.pr-card:is([data-phase=idle],[data-phase=off],[data-phase=stopped]) .pr-status{color:var(--ink-2)}.pr-card:is([data-phase=idle],[data-phase=off],[data-phase=stopped]) .pr-dot{background:var(--ink-3)}.pr-title{justify-content:space-between;align-items:baseline;gap:12px;margin-top:6px;display:flex}.pr-name{letter-spacing:-.016em;overflow-wrap:anywhere;text-wrap:balance;min-width:0;margin:0;font-size:20px;font-weight:600}.pr-pct{letter-spacing:-.016em;font-variant-numeric:tabular-nums;color:var(--ink);flex:none;font-size:20px;font-weight:600}.pr-note{color:var(--ink-2);text-wrap:pretty;margin:6px 0 0;font-size:13.5px;line-height:1.45}.pr-warn{color:var(--warm-text)}.pr-bar{border-radius:var(--r-press);background:var(--well-2);height:8px;margin-top:14px;overflow:hidden}.pr-bar span{border-radius:inherit;background:var(--violet);transform-origin:0;height:100%;transition:transform .8s cubic-bezier(.16,1,.3,1);display:block}.pr-facts{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;margin:16px 0 0;padding-top:14px;display:grid}.pr-facts div{min-width:0}.pr-facts dt,.pr-temp dt{color:var(--ink-3);font-size:12.5px}.pr-facts dd{font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:15.5px;font-weight:600}.pr-sec{margin-top:22px}.pr-temps{border-radius:var(--r-card);background:var(--card);border:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.pr-temp{min-width:0;padding:14px 16px}.pr-temp+.pr-temp{border-left:1px solid var(--line)}.pr-temp dd{font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:19px;font-weight:600}.pr-temp dd.pr-sub{color:var(--ink-3);margin-top:1px;font-size:12px;font-weight:500}.pr-skel{flex-direction:column;gap:12px;display:flex}.pr-skel span{border-radius:var(--r-press);background:var(--well-2);height:14px}.pr-skel span:first-child{width:30%}.pr-skel span:nth-child(2){width:65%;height:20px}.pr-skel span:nth-child(3){height:8px}@media (prefers-reduced-motion:reduce){.pr-bar span,.pr-live img{transition:none}}.lab-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.lab-hosts li+li{border-top:1px solid var(--line)}.lab-host{color:var(--ink);transition:opacity var(--t-fast) var(--ease);padding:12px 0 13px;text-decoration:none;display:block}.lab-host:active{opacity:.7}.lab-hhead{align-items:center;gap:8px;min-width:0;display:flex}.lab-hhead b{letter-spacing:-.012em;font-size:16px;font-weight:600}.lab-role{min-width:0;color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12.5px;overflow:hidden}.lab-w{font-variant-numeric:tabular-nums;color:var(--ink-2);flex:none;font-size:13.5px;font-weight:600}.lab-state{background:var(--violet);border-radius:50%;flex:none;width:8px;height:8px}.lab-state[data-s=down]{background:var(--warm)}.lab-sub{color:var(--ink-2);font-variant-numeric:tabular-nums;margin-top:3px;font-size:12.5px;display:block}.lab-host[data-alert] .lab-sub{color:var(--warm-text);font-weight:600}.lab-meters{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:9px;display:grid}.lab-m{grid-template-columns:auto 1fr auto;align-items:center;gap:6px;display:grid}.lab-mk{color:var(--ink-3);font-size:11.5px}.lab-mv{font-variant-numeric:tabular-nums;text-align:right;min-width:2.6em;font-size:12px;font-weight:600}.lab-meter{border-radius:var(--r-press);background:var(--raise-3);height:5px;display:block;overflow:hidden}.lab-meter>span{border-radius:inherit;background:var(--violet);transform-origin:0;height:100%;transition:transform var(--t) var(--ease);display:block}.lab-meter[data-warn]>span{background:var(--warm)}.lab-bar{z-index:5;padding:max(10px,env(safe-area-inset-top)) 16px 8px;background:color-mix(in srgb,var(--bg) 86%,transparent);-webkit-backdrop-filter:blur(14px);margin:-14px -16px;position:sticky;top:0}.lab-seg{border-radius:var(--r-press);background:var(--well-2);border:1px solid var(--line);gap:6px;padding:3px;display:flex}.lab-seg button{min-width:0;font:inherit;color:var(--ink-3);border-radius:var(--r-press);cursor:pointer;min-height:38px;transition:color var(--t-fast) var(--ease),background-color var(--t-fast) var(--ease);background:0 0;border:0;flex:1;font-size:13.5px;font-weight:600}.lab-seg button:hover{color:var(--ink);background:var(--hover)}.lab-seg button[aria-pressed=true]{color:var(--on-violet);background:var(--violet)}.lab-at{min-height:28px;color:var(--ink-3);font-variant-numeric:tabular-nums;align-items:center;gap:8px;margin:6px 2px 0;font-size:12.5px;display:flex}.lab-now{font:inherit;color:var(--violet-ink);border:1px solid var(--line);border-radius:var(--r-press);cursor:pointer;background:0 0;min-height:28px;padding:0 12px;font-weight:600}.lab-chips{scrollbar-width:none;gap:6px;margin:0 -16px 12px;padding:2px 16px;display:flex;overflow-x:auto}.lab-chips::-webkit-scrollbar{display:none}.lab-chips button{font:inherit;border-radius:var(--r-press);border:1px solid var(--line);min-height:38px;color:var(--ink-2);cursor:pointer;transition:color var(--t-fast) var(--ease),background-color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease);background:0 0;flex:none;padding:0 15px;font-size:13px;font-weight:500}.lab-chips button:hover{color:var(--ink);border-color:var(--line-2)}.lab-chips button[aria-pressed=true]{color:var(--on-violet);background:var(--violet);border-color:var(--violet);font-weight:600}.lab-hosts,.lab-hist,.lab-reach{border-radius:var(--r-card);background:var(--card);border:1px solid var(--line);gap:0;padding:2px 14px}.lab-hist li,.lab-reach li{padding:11px 0 10px}.lab-hist li+li,.lab-reach li+li{border-top:1px solid var(--line)}.lab-rowhead{color:var(--ink-2);justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:7px;font-size:13px;display:flex}.lab-rowhead a{color:var(--ink);font-weight:600;text-decoration:none}.lab-read{font-variant-numeric:tabular-nums;color:var(--ink);white-space:nowrap;font-weight:600}.lab-read[data-alert]{color:var(--warm-text)}.lab-line{touch-action:pan-y;cursor:crosshair;border-bottom:1px solid var(--line);height:40px;position:relative}.lab-line.tall{height:96px}.lab-spark{grid-template-columns:6.4em minmax(0,1fr) 4.2em;align-items:center;gap:10px;font-size:13px;display:grid}.lab-hist .lab-spark{padding:8px 0}.lab-spark a{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;text-decoration:none;overflow:hidden}.lab-spark .lab-line{height:34px}.lab-spark .lab-read{text-align:right;font-size:13px}.lab-line svg{width:100%;height:100%;display:block;position:absolute;inset:0;overflow:visible}.lab-stroke{fill:none;stroke:var(--violet-ink);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.lab-area{fill:var(--violet);opacity:.14}.lab-warn{stroke:var(--warm);stroke-width:1px;stroke-dasharray:3 3;opacity:.8}.lab-cross{background:var(--ink-3);pointer-events:none;width:1px;position:absolute;top:0;bottom:0}.lab-dot{background:var(--violet-ink);width:8px;height:8px;box-shadow:0 0 0 2px var(--bg-2);pointer-events:none;border-radius:50%;position:absolute;transform:translate(-50%,-50%)}.lab-mma{color:var(--ink-3);font-variant-numeric:tabular-nums;margin:6px 0 0;font-size:12px}.lab-tlrow{color:var(--ink-2);grid-template-columns:6.4em minmax(0,1fr);align-items:center;gap:10px;font-size:13px;display:grid}.lab-reach .lab-tlrow{padding:8px 0}.lab-tlrow span:first-child{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.lab-down{color:var(--warm-text);grid-column:2;margin:0;font-size:12.5px;font-weight:600}.lab-tl{border-radius:3px;height:12px;display:flex;overflow:hidden}.lab-tl span{min-width:1px}:is(.lab-tl span,.lab-legend i)[data-s=up]{background:color-mix(in srgb,var(--violet) 55%,transparent)}:is(.lab-tl span,.lab-legend i)[data-s=down]{background:var(--warm)}:is(.lab-tl span,.lab-legend i)[data-s=none]{background:repeating-linear-gradient(135deg,var(--raise-3) 0 3px,transparent 3px 6px)}.lab-legend{color:var(--ink-3);align-items:center;gap:5px;font-size:12px;display:flex}.lab-legend i{border-radius:2px;width:10px;height:10px;margin-left:7px;display:inline-block}.lab-h3{color:var(--ink-2);margin:18px 2px 9px;font-size:13px;font-weight:600}.lab-bars{border-radius:var(--r-card);background:var(--card);border:1px solid var(--line);flex-direction:column;gap:10px;margin:0;padding:13px 15px;list-style:none;display:flex}.lab-bars li{grid-template-columns:minmax(0,8em) 1fr minmax(4.6em,auto);align-items:center;gap:10px;font-size:13px;display:grid}.lab-bn{white-space:nowrap;text-overflow:ellipsis;color:var(--ink-2);overflow:hidden}.lab-bt{border-radius:var(--r-press);background:var(--raise-3);height:8px;overflow:hidden}.lab-bt span{border-radius:inherit;background:var(--violet);transform-origin:0;height:100%;display:block}.lab-bv{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;font-weight:600}.lab-disks li{grid-template-columns:minmax(0,1fr) auto;gap:5px 10px}.lab-disks .lab-bn{order:1}.lab-disks .lab-bv{order:2}.lab-disks .lab-meter{order:3;grid-column:1/-1;height:6px}.lab-stack{flex-direction:column;gap:12px;display:flex}.lab-gname{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.lab-gname b{letter-spacing:-.01em;font-size:15.5px;font-weight:600}.lab-facts3{grid-template-columns:repeat(3,minmax(0,1fr))}.lab-facts4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (width<=380px){.lab-facts4{grid-template-columns:repeat(2,minmax(0,1fr))}}.lab-vram{color:var(--ink-2);font-variant-numeric:tabular-nums;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin:14px 0 12px;font-size:12.5px;display:grid}.lab-status{color:var(--ink);align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.lab-card[data-alert]{border-color:var(--warm)}.lab-card[data-alert] .lab-status{color:var(--warm-text)}.lab-cams{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 18px;margin:0;padding:0;font-size:13px;list-style:none;display:grid}.lab-cams li{justify-content:space-between;gap:8px;min-width:0;display:flex}.lab-cams li span:first-child{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.lab-cams li span:last-child{font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;font-weight:600}.lab-cams li[data-off]{color:var(--ink-3)}.lab-cams li[data-off] span:last-child{font-weight:500}@media (prefers-reduced-motion:reduce){.lab-meter>span,.lab-host{transition:none}}.lt-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.lt-card{border-radius:var(--r-card);background:var(--card);border:1px solid var(--line);transition:border-color var(--t-fast) var(--ease);padding:12px 16px}.lt-card[data-on]{border-color:color-mix(in srgb,var(--lt-glow,#ffb46b) 55%,var(--line))}.lt-head{align-items:center;gap:12px;min-height:48px;display:flex}.lt-name{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.lt-name b{letter-spacing:-.01em;font-size:16px;font-weight:600}.lt-sub{color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:13px}.lt-card[data-on] .lt-sub{color:var(--ink-2)}.lt-card[data-dead] .lt-sub{color:var(--warm-text)}.lt-switch{border-radius:var(--r-press);border:1px solid var(--line);background:var(--well-2);cursor:pointer;width:58px;height:34px;transition:background-color var(--t-fast) var(--ease);flex:none;padding:3px}.lt-switch span{background:var(--ink-3);width:26px;height:26px;transition:transform var(--t-fast) var(--ease),background-color var(--t-fast) var(--ease);border-radius:50%;display:block}.lt-switch[aria-checked=true]{background:var(--violet);border-color:#0000}.lt-switch[aria-checked=true] span{background:#fff;transform:translate(24px)}.lt-switch:disabled{opacity:.4;cursor:default}.lt-switch:focus-visible,.lt-sw:focus-visible,.lt-custom:focus-within{outline:2px solid var(--violet);outline-offset:2px}.lt-controls{gap:12px;margin:6px 0 4px;display:grid}.lt-bright{align-items:center;gap:12px;display:flex}.lt-bright input{appearance:none;cursor:pointer;background:0 0;flex:1;min-width:0;height:32px;margin:0}.lt-bright input::-webkit-slider-runnable-track{border-radius:var(--r-press);background:linear-gradient(90deg,var(--violet) var(--lt-pct),var(--well-2) var(--lt-pct));height:8px}.lt-bright input::-webkit-slider-thumb{-webkit-appearance:none;background:#fff;border:0;border-radius:50%;width:26px;height:26px;margin-top:-9px;box-shadow:0 1px 4px #0006}.lt-bright input::-moz-range-track{border-radius:var(--r-press);background:var(--well-2);height:8px}.lt-bright input::-moz-range-progress{border-radius:var(--r-press);background:var(--violet);height:8px}.lt-bright input::-moz-range-thumb{background:#fff;border:0;border-radius:50%;width:26px;height:26px;box-shadow:0 1px 4px #0006}.lt-bright input:focus-visible{outline:2px solid var(--violet);outline-offset:4px;border-radius:var(--r-press)}.lt-pct{text-align:right;font-variant-numeric:tabular-nums;flex:none;width:3.2em;font-size:13px;font-weight:600}.lt-swatches{grid-template-columns:repeat(8,minmax(0,44px));gap:8px;display:grid}.lt-sw{aspect-ratio:1;border:1px solid var(--line);cursor:pointer;border-radius:50%;width:100%;padding:0;position:relative}.lt-sw[aria-pressed=true],.lt-sw[data-picked]{box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--violet)}.lt-custom{background:conic-gradient(red,#ff0,#0f0,#0ff,#00f,#f0f,red);overflow:hidden}.lt-custom input{opacity:0;cursor:pointer;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.lt-err{color:var(--warm-text);margin:0 0 10px;font-size:13.5px}@media (width>=700px){.lt-list{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}@media (width>=1180px){.lt-list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.lt-card,.lt-switch,.lt-switch span{transition:none}}.dv-sec+.dv-sec{margin-top:22px}.dv-list{border-radius:var(--r-card);background:var(--card);border:1px solid var(--line);margin:0;padding:0;list-style:none}.dv-list[data-kind=wait]{border-color:var(--warm)}.dv-row{align-items:center;gap:12px;padding:14px 16px;display:flex}.dv-row+.dv-row{border-top:1px solid var(--line)}.dv-txt{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.dv-txt b{overflow-wrap:anywhere;font-size:15px;font-weight:600}.dv-txt span{color:var(--ink-3);text-wrap:pretty;font-size:12.5px;line-height:1.4}.dv-acts{flex:none;gap:8px;display:flex}.dv-row .mini{flex:none;min-height:40px}.mini.dv-go{color:var(--on-violet);background:var(--violet);border-color:var(--violet)}.mini.dv-go:hover{background:var(--violet-lit);border-color:var(--violet-lit);color:var(--on-violet)}.mini.dv-warn{color:var(--warm-ink);background:var(--warm);border-color:var(--warm)}.dv-help{color:var(--ink-3);text-wrap:pretty;margin:18px 2px 0;font-size:12.5px;line-height:1.5}.dv-row[data-state=pending]{flex-wrap:wrap}.dv-row[data-state=pending] .dv-acts{flex:100%}.dv-row[data-state=pending] .dv-acts .mini{flex:1;justify-content:center}.lab-cols{flex-direction:column;gap:30px;min-width:0;display:flex}.lab-cols>*{min-width:0}@media (width>=700px){body:not(.kiosk)[data-page=home] main{width:min(820px,100%)}body:not(.kiosk)[data-page=home] .cards{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}body:not(.kiosk):is([data-page=calendar],[data-page=tasks],[data-page=weather],[data-page=cameras],[data-page=printer],[data-page=lab],[data-page=labhost],[data-page=lights]) main{width:min(1240px,100%)}body:not(.kiosk) :is(.tabs,.cal-switch){width:min(620px,100%)}body:not(.kiosk)[data-page=cameras] .cams{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-auto-flow:dense;gap:12px}body:not(.kiosk)[data-page=cameras] .cam.lead{aspect-ratio:auto;grid-row:span 2}body:not(.kiosk) .ch-party{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}body:not(.kiosk) .ch-people{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}body:not(.kiosk) .wx-page{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:start}.lab-hosts,.lab-hist,.lab-reach{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px;display:grid}:is(.lab-hosts,.lab-hist,.lab-reach) li+li{border-top:0}:is(.lab-hosts,.lab-hist,.lab-reach) li:nth-child(n+3){border-top:1px solid var(--line)}.lab-stack{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));display:grid}.lab-charts .lab-line.tall{height:120px}}@media (width>=900px){.pr-grid{grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);align-items:start;gap:0 18px;display:grid}.pr-grid .pr-live{grid-row:span 2;margin-bottom:0}.pr-grid .pr-sec{margin-top:16px}}@media (width>=1180px){body:not(.kiosk)[data-page=home] main{width:min(1080px,100%)}body:not(.kiosk)[data-page=home] .cards,body:not(.kiosk) .ch-people{grid-template-columns:repeat(3,minmax(0,1fr))}body:not(.kiosk) .wx-nowcols{grid-template-columns:1fr 1fr;gap:0 28px}body:not(.kiosk) .wx-wk{grid-template-columns:1fr 1fr}.lab-hosts,.lab-hist:not(.lab-charts),.lab-reach{grid-template-columns:repeat(3,minmax(0,1fr))}:is(.lab-hosts,.lab-hist:not(.lab-charts),.lab-reach) li:nth-child(3){border-top:0}.lab-cols{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:30px;display:grid}.lab-facts4{grid-template-columns:repeat(8,minmax(0,1fr))}}@media (width>=1440px){body:not(.kiosk)[data-page=calendar] main{width:min(1480px,100%)}body:not(.kiosk) .cal-phone{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:16px 24px;display:grid}body:not(.kiosk) .cal-phone>.pin-strip{grid-column:1/-1}body:not(.kiosk) .cal-phone>.cal-view{grid-area:2/1/span 2}body:not(.kiosk) .cal-phone>.todo{grid-area:2/2}}.ad-row .dv-acts{align-self:center}.ad-flag{color:var(--warm-text);font-size:12.5px}.ad-link{color:var(--violet-ink);text-decoration:none}.ad-link:hover{text-decoration:underline}.ad-sheet{border:1px solid var(--line);background:var(--bg-2);width:min(94vw,460px);max-height:92vh;color:var(--ink);border-radius:20px;padding:0;overflow:auto}.ad-sheet::backdrop{background:#000a}.ad-form{flex-direction:column;gap:12px;padding:20px;display:flex}.ad-form h2{margin:0 0 2px;font-size:20px}.ad-form label{color:var(--ink-3);flex-direction:column;gap:4px;font-size:13px;display:flex}.ad-form .chk{color:var(--ink);flex-direction:row;align-items:center;gap:10px;font-size:15px}.ad-form .chk input{width:22px;height:22px;margin:0}.ad-secret{gap:8px;display:flex}.ad-secret input{min-width:0;font:inherit;color:var(--ink);background:var(--well-2);border:1px solid var(--line);border-radius:12px;flex:1;padding:11px 12px;font-size:17px}.ad-secret .mini{flex:none;min-height:46px}.ad-suggest{align-self:flex-start}.ad-note{color:var(--ink-2);text-wrap:pretty;margin:0;font-size:14.5px;line-height:1.5}.ad-err{color:#ff6b6b;min-height:1.2em;margin:0;font-size:14px}.ad-row{flex-wrap:wrap}.ad-row .dv-txt{flex:190px}.ad-row .dv-acts{margin-left:auto}
