.ofl-sheet:has(>.ofl-confirm){background:#040a148c;align-items:flex-end}.ofl-sheet__card.ofl-confirm{background:var(--ofl-surface);border:1px solid var(--ofl-border);border-radius:var(--ofl-radius-xl) var(--ofl-radius-xl) 0 0;border-bottom:0;grid-template-rows:auto minmax(0,auto) auto;max-width:440px;height:auto;max-height:100%;box-shadow:0 -12px 40px #0000004d}.ofl-confirm .ofl-sheet__head{padding-top:var(--ofl-space-5)}.ofl-confirm .ofl-sheet__name,.ofl-confirm__body{word-break:keep-all}.ofl-confirm__body{gap:var(--ofl-space-2);color:var(--ofl-text-sub);font-size:var(--ofl-text-md);white-space:pre-line;padding-top:0}.ofl-confirm .ofl-sheet__foot{padding-top:var(--ofl-space-4)}.ofl-confirm .ofl-sheet__foot>.ofl-btn{flex:1 1 0}@media (width>=700px){.ofl-sheet:has(>.ofl-confirm){align-items:center}.ofl-sheet__card.ofl-confirm{border-bottom:1px solid var(--ofl-border);border-radius:var(--ofl-radius-xl);box-shadow:0 24px 64px #00000059}.ofl-confirm .ofl-sheet__foot>.ofl-btn{flex:none;min-width:6.5rem}}.ofl-slide{--ofl-slide-w:13rem;--ofl-slide-x:0px;width:min(100%, var(--ofl-slide-w));border-radius:var(--ofl-radius-full);background:var(--ofl-surface-sunken);border:1px solid var(--ofl-control-border);-webkit-user-select:none;user-select:none;align-items:center;height:44px;display:flex;position:relative}.ofl-slide__fill{width:calc(var(--ofl-slide-x) + 42px);border-radius:inherit;background:var(--ofl-accent-soft);transition:width var(--ofl-motion-base) var(--ofl-ease-out);position:absolute;inset:0 auto 0 0}.ofl-slide__text{min-width:0;padding:0 var(--ofl-space-3) 0 48px;font-size:var(--ofl-text-sm);color:var(--ofl-text-sub);text-align:center;white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.ofl-slide.is-armed .ofl-slide__text{color:var(--ofl-text);font-weight:600}.ofl-slide__knob{border:1px solid var(--ofl-control-border);border-radius:var(--ofl-radius-full);background:var(--ofl-surface);width:40px;height:40px;color:var(--ofl-text);cursor:grab;touch-action:pan-y;transform:translateX(var(--ofl-slide-x));transition:transform var(--ofl-motion-base) var(--ofl-ease-out);place-items:center;padding:0;display:grid;position:absolute;top:1px;left:1px}.ofl-slide__knob svg{width:1.25rem;height:1.25rem}.ofl-slide__knob:before{content:"";position:absolute;inset:-2px}.ofl-slide.is-dragging .ofl-slide__knob,.ofl-slide.is-dragging .ofl-slide__fill{transition:none}.ofl-slide.is-dragging .ofl-slide__knob{cursor:grabbing}.ofl-slide__knob:focus-visible{outline:3px solid var(--ofl-focus);outline-offset:2px}.ofl-slide.is-armed .ofl-slide__knob{border-color:var(--ofl-text)}.ofl-slide.is-off{opacity:.5}.ofl-slide.is-off .ofl-slide__knob{cursor:default}.ofl-slide__knob.is-loading svg{opacity:.4}.ofl-wx{flex:none;overflow:visible}.ofl-wx--sm{--wx-dx:5px;--wx-dy:1.5px;--wx-tilt:2deg;--wx-fall:6px;--wx-sway:4deg;--wx-bob:2px}.wx-tilt{transform-box:fill-box;transform-origin:50%}.ofl-wx--anim .wx-rays{animation:12s linear infinite wx-spin}.ofl-wx--anim .wx-sun{animation:6s ease-in-out infinite wx-breathe}.ofl-wx--anim .wx-moon{animation:5s ease-in-out infinite alternate wx-sway}.ofl-wx--anim .wx-star{animation:2.6s ease-in-out infinite wx-twinkle}.ofl-wx--anim .wx-cloud{animation:7s ease-in-out infinite alternate wx-drift}.ofl-wx--anim .wx-cloud--back{animation-duration:9s;animation-direction:alternate-reverse}.ofl-wx--anim .wx-tilt{animation:5s ease-in-out infinite alternate wx-tilt}.ofl-wx--anim .wx-tilt--back{animation-duration:6.5s;animation-direction:alternate-reverse}.ofl-wx--anim .wx-rumble{animation:3s linear infinite wx-rumble}.ofl-wx--anim .wx-drop{animation:1.2s ease-in infinite wx-fall}.ofl-wx--anim .wx-flake{animation:3.6s linear infinite wx-snow}.ofl-wx--anim .wx-bolt{animation:3s linear infinite wx-flash}.ofl-wx--anim .wx-bob{animation:2.8s ease-in-out infinite alternate wx-bob}.ofl-wx--anim .wx-sway{animation:2.4s ease-in-out infinite alternate wx-sway}.ofl-wx--anim .wx-gust{animation:2.4s ease-in-out infinite alternate wx-gust}.ofl-wx--anim .wx-rise{animation:3s ease-in-out infinite alternate wx-rise}.ofl-wx--anim .wx-heat{animation:2.4s ease-in-out infinite wx-heat}.ofl-wx--anim .wx-sunup{animation:3s ease-in-out infinite alternate wx-sunup}.ofl-wx--anim .wx-rev{animation-direction:alternate-reverse}.ofl-wx--anim .wx-nudge-up{animation:1.5s ease-in-out infinite alternate wx-nudge-up}.ofl-wx--anim .wx-nudge-down{animation:1.5s ease-in-out infinite alternate wx-nudge-down}.ofl-wx--anim .wx-wink{animation:4.5s ease-in-out infinite wx-wink}.ofl-wx--anim .wx-shiver{animation:3.5s linear infinite wx-shiver}.ofl-wx--anim .wx-glint{animation:2.6s ease-in-out infinite wx-glint}.ofl-wx--anim .wx-giggle{animation:1.8s ease-in-out infinite wx-giggle}.ofl-wx--anim .wx-puff{animation:2.4s ease-in-out infinite wx-puff}.ofl-wx--anim .wx-steam{animation:2.2s ease-out infinite wx-steam}.ofl-wx--anim .wx-sweat{animation:2.2s ease-in infinite wx-sweat}.ofl-wx--anim .wx-fan{animation:1.1s ease-in-out infinite alternate wx-fan}.ofl-wx--anim .wx-bead{animation:3.4s ease-in infinite wx-bead}.ofl-wx--anim .wx-needle{animation:1.6s ease-in-out infinite alternate wx-needle}.ofl-wx--anim .wx-throb{animation:1.2s ease-in-out infinite wx-throb}.ofl-wx--anim .wx-hat{--wx-sway:5deg;animation-duration:3.2s}.ofl-wx--anim .wx-alert{animation:1s ease-in-out 3 wx-blink}@keyframes wx-spin{to{transform:rotate(360deg)}}@keyframes wx-breathe{50%{transform:scale(1.04)}}@keyframes wx-sway{0%{transform:rotate(calc(-1 * var(--wx-sway,6deg)))}to{transform:rotate(var(--wx-sway,6deg))}}@keyframes wx-twinkle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.6)}}@keyframes wx-drift{0%{transform:translate(calc(-1 * var(--wx-dx,9px)), 0)}to{transform:translate(var(--wx-dx,9px), calc(-1 * var(--wx-dy,2.5px)))}}@keyframes wx-tilt{0%{transform:rotate(calc(-1 * var(--wx-tilt,3deg)))}to{transform:rotate(var(--wx-tilt,3deg))}}@keyframes wx-rumble{0%,78%,94%,to{transform:translate(0)}81%{transform:translate(-2px,.8px)}84%{transform:translate(2px,-.6px)}87%{transform:translate(-1.5px,.5px)}90%{transform:translate(1px)}}@keyframes wx-fall{0%{opacity:0;transform:translateY(-11px)}8%{opacity:1}90%{opacity:1}to{transform:translateY(var(--wx-fall,8px));opacity:0}}@keyframes wx-snow{0%{opacity:0;transform:translateY(-9px)rotate(0)}15%{opacity:1}50%{transform:translate(3.5px)rotate(60deg)}85%{opacity:1}to{transform:translate(-2.5px, var(--wx-fall,8px)) rotate(120deg);opacity:0}}@keyframes wx-flash{0%,78%,to{opacity:1;transform:scale(1)}80%{opacity:.25}83%{opacity:1;transform:scale(1.12)}86%{opacity:.4}89%{opacity:1;transform:scale(1.06)}95%{transform:scale(1)}}@keyframes wx-bob{0%{transform:translateY(calc(-1 * var(--wx-bob,3px)))}to{transform:translateY(var(--wx-bob,3px))}}@keyframes wx-gust{0%{transform:translate(-3px)}to{transform:translate(4px)}}@keyframes wx-rise{0%{transform:scaleY(.7)}to{transform:scaleY(1)}}@keyframes wx-heat{0%{opacity:0;transform:translateY(5px)}50%{opacity:1}to{opacity:0;transform:translateY(-5px)}}@keyframes wx-sunup{0%{transform:translateY(5px)}to{transform:translateY(-1px)}}@keyframes wx-nudge-up{0%{transform:translateY(1px)}to{transform:translateY(-3px)}}@keyframes wx-nudge-down{0%{transform:translateY(-1px)}to{transform:translateY(3px)}}@keyframes wx-wink{0%,90%,to{transform:scaleY(1)}94%{transform:scaleY(.1)}}@keyframes wx-shiver{0%,72%,92%,to{transform:translate(0)}76%{transform:translate(-1.6px)}80%{transform:translate(1.6px)}84%{transform:translate(-1.2px)}88%{transform:translate(1px)}}@keyframes wx-glint{0%,55%,to{opacity:.25}70%{opacity:1}}@keyframes wx-giggle{0%,to{transform:translate(0)rotate(0)}25%{transform:translate(-2px)rotate(-5deg)}75%{transform:translate(2px)rotate(5deg)}}@keyframes wx-puff{0%,to{transform:scale(1)}45%,60%{transform:scale(1.06,1.03)}}@keyframes wx-steam{0%{opacity:0;transform:translateY(5px)}35%{opacity:1}to{opacity:0;transform:translateY(-6px)}}@keyframes wx-blink{50%{opacity:.35}}@keyframes wx-sweat{0%{opacity:0;transform:translateY(-2px)}20%{opacity:1}80%{opacity:1}to{opacity:0;transform:translateY(6px)}}@keyframes wx-fan{0%{transform:rotate(-12deg)}to{transform:rotate(10deg)}}@keyframes wx-bead{0%,30%{opacity:1;transform:translateY(0)}85%{opacity:1}to{opacity:0;transform:translateY(6px)}}@keyframes wx-needle{0%{transform:rotate(-5deg)}to{transform:rotate(5deg)}}@keyframes wx-throb{0%,to{transform:scale(1)}40%{transform:scale(1.18)}}.ofl-wx[data-off] *{animation-play-state:paused!important}.wx-o31-87{transform-origin:31px 87px}.wx-o34-36{transform-origin:34px 36px}.wx-o34-75{transform-origin:34px 75px}.wx-o35-33{transform-origin:35px 33px}.wx-o36-36{transform-origin:36px 36px}.wx-o38-64{transform-origin:38px 64px}.wx-o40-42{transform-origin:40px 42px}.wx-o40-80{transform-origin:40px 80px}.wx-o42-40{transform-origin:42px 40px}.wx-o46-54{transform-origin:46px 54px}.wx-o50-14{transform-origin:50px 14px}.wx-o50-31{transform-origin:50px 31px}.wx-o50-36{transform-origin:50px 36px}.wx-o50-50{transform-origin:50px 50px}.wx-o50-55{transform-origin:50px 55px}.wx-o50-57{transform-origin:50px 57px}.wx-o50-58{transform-origin:50px 58px}.wx-o50-60{transform-origin:50px 60px}.wx-o50-63{transform-origin:50px 63px}.wx-o50-64{transform-origin:50px 64px}.wx-o50-80{transform-origin:50px 80px}.wx-o50-88{transform-origin:50px 88px}.wx-o51-80{transform-origin:51px 80px}.wx-o55-72{transform-origin:55px 72px}.wx-o62-14{transform-origin:62px 14px}.wx-o62-82{transform-origin:62px 82px}.wx-o68-75{transform-origin:68px 75px}.wx-o74-26{transform-origin:74px 26px}.wx-o75_8-40_8{transform-origin:75.8px 40.8px}.wx-o76-22{transform-origin:76px 22px}.wx-o80-73{transform-origin:80px 73px}.wx-o84-50{transform-origin:84px 50px}.ofl-wx--anim .wx-d11{animation-delay:-1.1s}.ofl-wx--anim .wx-d12{animation-delay:-1.2s}.ofl-wx--anim .wx-d13{animation-delay:-1.3s}.ofl-wx--anim .wx-d16{animation-delay:-1.6s}.ofl-wx--anim .wx-d22{animation-delay:-2.2s}.ofl-wx--anim .wx-d26{animation-delay:-2.6s}.ofl-wx--anim .wx-d4{animation-delay:-.4s}.ofl-wx--anim .wx-d8{animation-delay:-.8s}.ofl-wx--anim .wx-t16{animation-duration:1.6s}.ofl-wx--anim .wx-t34{animation-duration:3.4s}.ofl-wx--anim .wx-t38{animation-duration:3.8s}.ofl-wx--anim .wx-t42{animation-duration:4.2s}.ofl-wx--anim .wx-t70{animation-duration:7s}@media (prefers-reduced-motion:reduce){.ofl-wx *{animation:none!important}}:root{--ofl-pink-50:#fff0f6;--ofl-pink-100:#ffdeeb;--ofl-pink-200:#fcc2d7;--ofl-pink-300:#faa2c1;--ofl-pink-400:#f783ac;--ofl-pink-500:#f06595;--ofl-pink-600:#e64980;--ofl-pink-700:#d6336c;--ofl-pink-800:#c2255c;--ofl-pink-900:#a61e4d;--ofl-sky-50:#f3f9ff;--ofl-sky-100:#e7f3ff;--ofl-sky-200:#d0ebff;--ofl-sky-300:#a5d8ff;--ofl-sky-400:#74c0fc;--ofl-sky-800:#163454;--ofl-sky-900:#10233c;--ofl-neutral-0:#fff;--ofl-neutral-100:#eef3f8;--ofl-neutral-200:#d3e4f5;--ofl-neutral-300:#b6c6d8;--ofl-neutral-400:#8a9bb2;--ofl-neutral-500:#6b7c94;--ofl-neutral-600:#55667f;--ofl-neutral-700:#3a4a63;--ofl-neutral-800:#1b2b44;--ofl-neutral-850:#26405f;--ofl-neutral-900:#152a44;--ofl-neutral-950:#0d1b2e;--ofl-gold-300:#ffe066;--ofl-gold-400:#ffd43b;--ofl-gold-500:#ffc94d;--ofl-gold-700:#f59f00;--ofl-green-300:#8ce99a;--ofl-green-400:#69db7c;--ofl-green-600:#40c057;--ofl-green-700:#2f9e44;--ofl-green-900:#237032;--ofl-orange-300:#ffc078;--ofl-orange-400:#ffa94d;--ofl-orange-700:#f76707;--ofl-orange-900:#b9470b;--ofl-red-300:#ffa8a8;--ofl-red-400:#ff8787;--ofl-red-700:#f03e3e;--ofl-red-900:#c92a2a;--ofl-blue-300:#a5d8ff;--ofl-blue-400:#74c0fc;--ofl-blue-700:#1c7ed6;--ofl-blue-800:#1c64c8;--ofl-blue-900:#1864ab;--ofl-flower-azalea:#e64980;--ofl-flower-azalea-deep:#c2255c;--ofl-flower-azalea-on:#fff;--ofl-flower-hydrangea:#3b7ddd;--ofl-flower-hydrangea-deep:#1f62c9;--ofl-flower-hydrangea-on:#fff;--ofl-flower-forsythia:#fab005;--ofl-flower-forsythia-deep:#935200;--ofl-flower-forsythia-on:#1b2b44;--ofl-flower-sprout:#40c057;--ofl-flower-sprout-deep:#2b7a3b;--ofl-flower-sprout-on:#1b2b44;--ofl-flower-lavender:#845ef7;--ofl-flower-lavender-deep:#6741d9;--ofl-flower-lavender-on:#fff;--ofl-flower-marigold:#fd7e14;--ofl-flower-marigold-deep:#c2410c;--ofl-flower-marigold-on:#1b2b44;--ofl-flower-camellia:#e03131;--ofl-flower-camellia-deep:#c92a2a;--ofl-flower-camellia-on:#fff;--ofl-flower-forgetmenot:#1ca3c4;--ofl-flower-forgetmenot-deep:#0b7285;--ofl-flower-forgetmenot-on:#1b2b44;--ofl-flower-night:#34508a;--ofl-flower-night-deep:#2a4170;--ofl-flower-night-on:#fff;--ofl-font-sans:Pretendard, "Pretendard Variable", -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Noto Sans KR", sans-serif;--ofl-font-mono:"D2Coding", "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--ofl-text-xs:.75rem;--ofl-text-sm:.875rem;--ofl-text-md:1rem;--ofl-text-body:1.0625rem;--ofl-text-lg:1.25rem;--ofl-text-xl:1.5rem;--ofl-text-2xl:1.875rem;--ofl-text-3xl:2.25rem;--ofl-weight-regular:400;--ofl-weight-medium:500;--ofl-weight-semibold:600;--ofl-weight-bold:700;--ofl-line-tight:1.3;--ofl-line-normal:1.6;--ofl-num-lg:1.5rem;--ofl-num-unit:.5833em;--ofl-num-sub:.875rem;--ofl-radius-sm:6px;--ofl-radius-md:10px;--ofl-radius-lg:16px;--ofl-radius-xl:24px;--ofl-radius-full:9999px;--ofl-radius-icon:22.37%;--ofl-space-1:4px;--ofl-space-2:8px;--ofl-space-3:12px;--ofl-space-4:16px;--ofl-space-5:20px;--ofl-space-6:24px;--ofl-space-8:32px;--ofl-space-10:40px;--ofl-space-12:48px;--ofl-space-16:64px;--ofl-motion-instant:50ms;--ofl-motion-fast:.15s;--ofl-motion-base:.2s;--ofl-motion-slow:.8s;--ofl-ease-out:ease-out;--ofl-ease-in-out:ease-in-out;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--ofl-bg:#e7f3ff;--ofl-surface:#fff;--ofl-surface-sunken:#f3f9ff;--ofl-border:#d3e4f5;--ofl-text:#1b2b44;--ofl-text-sub:#55667f;--ofl-text-faint:#5f6e84;--ofl-header:#a5d8ff;--ofl-header-2:#d0ebff;--ofl-on-header:#12305a;--ofl-link:#1c64c8;--ofl-accent:#d6336c;--ofl-accent-hover:#c2255c;--ofl-accent-soft:#fff0f6;--ofl-on-accent:#fff;--ofl-accent-text:#c2255c;--ofl-focus:#e64980;--ofl-accent-active:#a61e4d;--ofl-secondary-hover:#ffdeeb;--ofl-secondary-border:#fff0f600;--ofl-control-border:#d3e4f5;--ofl-danger:#c92a2a;--ofl-danger-hover:#a51f1f;--ofl-on-danger:#fff;--ofl-good:#237032;--ofl-good-soft:#ebfbee;--ofl-warn:#b9470b;--ofl-warn-soft:#fff4e6;--ofl-bad:#c92a2a;--ofl-bad-soft:#fff5f5;--ofl-info:#1864ab;--ofl-info-soft:#e7f5ff;--ofl-dust-good:#1864ab;--ofl-dust-good-soft:#e7f5ff;--ofl-dust-normal:#237032;--ofl-dust-normal-soft:#ebfbee;--ofl-dust-bad:#a54a00;--ofl-dust-bad-soft:#fff9db;--ofl-dust-very-bad:#c92a2a;--ofl-dust-very-bad-soft:#fff5f5;--ofl-flower-azalea-line:#c2255c;--ofl-flower-hydrangea-line:#1f62c9;--ofl-flower-forsythia-line:#935200;--ofl-flower-sprout-line:#2b7a3b;--ofl-flower-lavender-line:#6741d9;--ofl-flower-marigold-line:#c2410c;--ofl-flower-camellia-line:#c92a2a;--ofl-flower-forgetmenot-line:#0b7285;--ofl-flower-night-line:#2a4170;--ofl-temp-cold:#3b5bdb;--ofl-temp-cold-soft:#edf2ff;--ofl-temp-comfort:#4a7a0a;--ofl-temp-comfort-soft:#f4fce3;--ofl-temp-hot:#c2410c;--ofl-temp-hot-soft:#fff4e6;--ofl-humid-dry:#8a5a13;--ofl-humid-dry-soft:#fff8e6;--ofl-humid-comfort:#2b7a3b;--ofl-humid-comfort-soft:#ebfbee;--ofl-humid-wet:#0b7285;--ofl-humid-wet-soft:#e3fafc;--ofl-discomfort-low:#087556;--ofl-discomfort-low-soft:#e6fcf5;--ofl-discomfort-normal:#4f7a0b;--ofl-discomfort-normal-soft:#f4fce3;--ofl-discomfort-high:#b35000;--ofl-discomfort-high-soft:#fff4e6;--ofl-discomfort-very-high:#c2255c;--ofl-discomfort-very-high-soft:#fff0f6}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}:root:not([data-theme=light]){--ofl-bg:#0d1b2e;--ofl-surface:#152a44;--ofl-surface-sunken:#0a1626;--ofl-border:#26405f;--ofl-text:#eaf2fb;--ofl-text-sub:#9db0c8;--ofl-text-faint:#8a9bb2;--ofl-header:#163454;--ofl-header-2:#10233c;--ofl-on-header:#eaf3ff;--ofl-link:#74c0fc;--ofl-accent:#f06595;--ofl-accent-hover:#f783ac;--ofl-accent-soft:#3a1e33;--ofl-on-accent:#1b0e16;--ofl-accent-text:#f783ac;--ofl-focus:#f783ac;--ofl-accent-active:#faa2c1;--ofl-secondary-hover:#4a2540;--ofl-secondary-border:#e64980;--ofl-control-border:#6b7c94;--ofl-danger:#c92a2a;--ofl-danger-hover:#a51f1f;--ofl-on-danger:#fff;--ofl-good:#69db7c;--ofl-good-soft:#13301f;--ofl-warn:#ffa94d;--ofl-warn-soft:#33251a;--ofl-bad:#ff8787;--ofl-bad-soft:#3a1d24;--ofl-info:#74c0fc;--ofl-info-soft:#122b45;--ofl-dust-good:#74c0fc;--ofl-dust-good-soft:#122b45;--ofl-dust-normal:#69db7c;--ofl-dust-normal-soft:#13301f;--ofl-dust-bad:#ffd43b;--ofl-dust-bad-soft:#33291a;--ofl-dust-very-bad:#ff8787;--ofl-dust-very-bad-soft:#3a1d24;--ofl-flower-azalea-line:#e64980;--ofl-flower-hydrangea-line:#3b7ddd;--ofl-flower-forsythia-line:#fab005;--ofl-flower-sprout-line:#40c057;--ofl-flower-lavender-line:#845ef7;--ofl-flower-marigold-line:#fd7e14;--ofl-flower-camellia-line:#e03131;--ofl-flower-forgetmenot-line:#1ca3c4;--ofl-flower-night-line:#5578bf;--ofl-temp-cold:#91a7ff;--ofl-temp-cold-soft:#1c2448;--ofl-temp-comfort:#a9e34b;--ofl-temp-comfort-soft:#1f2e12;--ofl-temp-hot:#ffa94d;--ofl-temp-hot-soft:#33251a;--ofl-humid-dry:#f2d49b;--ofl-humid-dry-soft:#30281a;--ofl-humid-comfort:#8ce99a;--ofl-humid-comfort-soft:#13301f;--ofl-humid-wet:#66d9e8;--ofl-humid-wet-soft:#0f2e36;--ofl-discomfort-low:#63e6be;--ofl-discomfort-low-soft:#0f2e28;--ofl-discomfort-normal:#c0eb75;--ofl-discomfort-normal-soft:#1f2e12;--ofl-discomfort-high:#ffc078;--ofl-discomfort-high-soft:#33251a;--ofl-discomfort-very-high:#f783ac;--ofl-discomfort-very-high-soft:#3a1e33}}:root[data-theme=dark]{--ofl-bg:#0d1b2e;--ofl-surface:#152a44;--ofl-surface-sunken:#0a1626;--ofl-border:#26405f;--ofl-text:#eaf2fb;--ofl-text-sub:#9db0c8;--ofl-text-faint:#8a9bb2;--ofl-header:#163454;--ofl-header-2:#10233c;--ofl-on-header:#eaf3ff;--ofl-link:#74c0fc;--ofl-accent:#f06595;--ofl-accent-hover:#f783ac;--ofl-accent-soft:#3a1e33;--ofl-on-accent:#1b0e16;--ofl-accent-text:#f783ac;--ofl-focus:#f783ac;--ofl-accent-active:#faa2c1;--ofl-secondary-hover:#4a2540;--ofl-secondary-border:#e64980;--ofl-control-border:#6b7c94;--ofl-danger:#c92a2a;--ofl-danger-hover:#a51f1f;--ofl-on-danger:#fff;--ofl-good:#69db7c;--ofl-good-soft:#13301f;--ofl-warn:#ffa94d;--ofl-warn-soft:#33251a;--ofl-bad:#ff8787;--ofl-bad-soft:#3a1d24;--ofl-info:#74c0fc;--ofl-info-soft:#122b45;--ofl-dust-good:#74c0fc;--ofl-dust-good-soft:#122b45;--ofl-dust-normal:#69db7c;--ofl-dust-normal-soft:#13301f;--ofl-dust-bad:#ffd43b;--ofl-dust-bad-soft:#33291a;--ofl-dust-very-bad:#ff8787;--ofl-dust-very-bad-soft:#3a1d24;--ofl-flower-azalea-line:#e64980;--ofl-flower-hydrangea-line:#3b7ddd;--ofl-flower-forsythia-line:#fab005;--ofl-flower-sprout-line:#40c057;--ofl-flower-lavender-line:#845ef7;--ofl-flower-marigold-line:#fd7e14;--ofl-flower-camellia-line:#e03131;--ofl-flower-forgetmenot-line:#1ca3c4;--ofl-flower-night-line:#5578bf;--ofl-temp-cold:#91a7ff;--ofl-temp-cold-soft:#1c2448;--ofl-temp-comfort:#a9e34b;--ofl-temp-comfort-soft:#1f2e12;--ofl-temp-hot:#ffa94d;--ofl-temp-hot-soft:#33251a;--ofl-humid-dry:#f2d49b;--ofl-humid-dry-soft:#30281a;--ofl-humid-comfort:#8ce99a;--ofl-humid-comfort-soft:#13301f;--ofl-humid-wet:#66d9e8;--ofl-humid-wet-soft:#0f2e36;--ofl-discomfort-low:#63e6be;--ofl-discomfort-low-soft:#0f2e28;--ofl-discomfort-normal:#c0eb75;--ofl-discomfort-normal-soft:#1f2e12;--ofl-discomfort-high:#ffc078;--ofl-discomfort-high-soft:#33251a;--ofl-discomfort-very-high:#f783ac;--ofl-discomfort-very-high-soft:#3a1e33}@media (prefers-reduced-motion:reduce){:root{--ofl-motion-instant:.01ms;--ofl-motion-fast:.01ms;--ofl-motion-base:.01ms;--ofl-motion-slow:.01ms}}.ofl-btn{height:var(--ofl-btn-h,2.75rem);padding:0 var(--ofl-btn-px,16px);font:var(--ofl-weight-semibold) var(--ofl-btn-fs,1rem)/1 var(--ofl-font-sans);cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;transition:background-color var(--ofl-motion-fast), border-color var(--ofl-motion-fast), color var(--ofl-motion-fast), transform var(--ofl-motion-instant);border:1.5px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:.5em;display:inline-flex;position:relative}.ofl-btn svg{width:var(--ofl-btn-icon,1.25rem);height:var(--ofl-btn-icon,1.25rem);flex:none}.ofl-btn:active:not(:disabled){transform:translateY(1px)}.ofl-btn:focus-visible{outline:3px solid var(--ofl-focus);outline-offset:2px}.ofl-btn:disabled,.ofl-btn[aria-disabled=true]{cursor:not-allowed}.ofl-btn--sm{--ofl-btn-h:2.25rem;--ofl-btn-fs:.875rem;--ofl-btn-px:12px;--ofl-btn-icon:1.125rem}.ofl-btn--md{--ofl-btn-h:2.75rem;--ofl-btn-fs:1rem;--ofl-btn-px:16px;--ofl-btn-icon:1.25rem}.ofl-btn--lg{--ofl-btn-h:3.25rem;--ofl-btn-fs:1.0625rem;--ofl-btn-px:20px;--ofl-btn-icon:1.375rem}@media (pointer:coarse){.ofl-btn--sm{--ofl-btn-h:2.75rem}}.ofl-btn--primary{background:var(--ofl-accent);color:var(--ofl-on-accent)}.ofl-btn--primary:hover:not(:disabled){background:var(--ofl-accent-hover)}.ofl-btn--primary:active:not(:disabled){background:var(--ofl-accent-active)}.ofl-btn--secondary{background:var(--ofl-accent-soft);color:var(--ofl-accent-text);border-color:var(--ofl-secondary-border)}.ofl-btn--secondary:hover:not(:disabled),.ofl-btn--secondary:active:not(:disabled){background:var(--ofl-secondary-hover)}.ofl-btn--outline{color:var(--ofl-accent-text);border-color:var(--ofl-accent-text);background:0 0}.ofl-btn--outline:hover:not(:disabled){background:var(--ofl-accent-soft)}.ofl-btn--outline:active:not(:disabled){background:var(--ofl-secondary-hover)}.ofl-btn--ghost{color:var(--ofl-accent-text);background:0 0}.ofl-btn--ghost:hover:not(:disabled){background:var(--ofl-accent-soft)}.ofl-btn--ghost:active:not(:disabled){background:var(--ofl-secondary-hover)}.ofl-btn--danger{background:var(--ofl-danger);color:var(--ofl-on-danger)}.ofl-btn--danger:hover:not(:disabled),.ofl-btn--danger:active:not(:disabled){background:var(--ofl-danger-hover)}.ofl-btn:disabled:not(.is-loading),.ofl-btn[aria-disabled=true]:not(.is-loading){background:var(--ofl-surface-sunken);color:var(--ofl-text-faint);border-color:var(--ofl-border)}.ofl-btn--ghost:disabled:not(.is-loading),.ofl-btn--ghost[aria-disabled=true]:not(.is-loading){background:0 0;border-color:#0000}.ofl-btn.is-loading:disabled,.ofl-btn.is-loading[aria-disabled=true]{opacity:.45}.ofl-btn--icon{width:var(--ofl-btn-h,2.75rem);border-radius:9999px;padding:0}.ofl-fab{right:max(16px, env(safe-area-inset-right));bottom:max(16px, env(safe-area-inset-bottom));--ofl-btn-h:56px;--ofl-btn-icon:26px;border-radius:9999px;width:56px;padding:0;position:fixed;box-shadow:0 6px 16px #0b2a4a38,0 2px 4px #0b2a4a29}.ofl-btn.is-loading{pointer-events:none;color:#0000!important}.ofl-btn.is-loading:after{content:"";border:2px solid;border-right-color:#0000;border-radius:50%;width:1.1em;height:1.1em;animation:.7s linear infinite ofl-spin;position:absolute}.ofl-btn--primary.is-loading:after{border-color:var(--ofl-on-accent);border-right-color:#0000}.ofl-btn--secondary.is-loading:after,.ofl-btn--outline.is-loading:after,.ofl-btn--ghost.is-loading:after{border-color:var(--ofl-accent-text);border-right-color:#0000}.ofl-btn--danger.is-loading:after{border-color:var(--ofl-on-danger);border-right-color:#0000}@keyframes ofl-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.ofl-btn.is-loading:after{animation-duration:2s}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--ofl-bg);color:var(--ofl-text);font-family:var(--ofl-font-sans);font-size:var(--ofl-text-body);line-height:var(--ofl-line-normal);word-break:keep-all;overflow-wrap:anywhere;min-height:100dvh;margin:0}h1,h2,h3,p{text-wrap:pretty}a{color:var(--ofl-link)}a.ofl-btn{text-decoration:none}:focus-visible{outline:3px solid var(--ofl-focus);outline-offset:2px}:root{--ofl-main-max:720px;--ofl-prose-max:720px;--ofl-col-min:300px;--ofl-nav-width:232px;--ofl-nav-h:0px;--ofl-header-h:calc(max(44px, 2.75rem) + 2 * var(--ofl-space-3))}@media (width>=768px){:root{--ofl-main-max:960px}}@media (width<=1023.98px){:root.ofl-has-tabs{--ofl-nav-h:calc(43px + 1.2rem)}.ofl-frame:not(.ofl-frame--tabs)>.ofl-nav{display:none}}@media (width>=1024px){:root{--ofl-main-max:1200px}}@view-transition{navigation:auto}.ofl-header{view-transition-name:ofl-header}.ofl-nav{view-transition-name:ofl-nav}::view-transition-group(*){animation-duration:var(--ofl-motion-base)}::view-transition-old(*){animation-duration:var(--ofl-motion-base)}::view-transition-new(*){animation-duration:var(--ofl-motion-base)}.ofl-frame{flex-direction:column;min-height:100dvh;display:flex}.ofl-frame__body{flex-direction:column;flex:1;min-width:0;display:flex}.ofl-header{background:linear-gradient(var(--ofl-header), var(--ofl-header-2));color:var(--ofl-on-header);padding:calc(env(safe-area-inset-top) + var(--ofl-space-3)) calc(env(safe-area-inset-right) + var(--ofl-space-4)) var(--ofl-space-3) calc(env(safe-area-inset-left) + var(--ofl-space-4));align-items:center;gap:var(--ofl-space-3);min-height:calc(var(--ofl-header-h) + env(safe-area-inset-top));z-index:20;display:flex;position:relative}.ofl-header__home{flex:none;display:flex}@media (pointer:coarse){.ofl-header__home{justify-content:center;align-items:center;min-width:44px;min-height:44px;margin:-4px}}.ofl-header__icon{flex:none;width:36px;height:36px}.ofl-header__back{align-items:center;gap:var(--ofl-space-1);min-height:44px;padding:0 var(--ofl-space-2) 0 var(--ofl-space-1);margin-left:calc(-1 * var(--ofl-space-2));border-radius:var(--ofl-radius-md);color:inherit;font-size:var(--ofl-text-sm);font-weight:var(--ofl-weight-semibold);flex:none;text-decoration:none;display:inline-flex}.ofl-header__start{min-width:44px;margin-left:calc(-1 * var(--ofl-space-1));justify-content:center;padding:0}.ofl-header__brand{flex:none;width:32px;height:32px}.ofl-header__back:hover{background:color-mix(in srgb, currentColor 12%, transparent)}.ofl-header__title{font-size:var(--ofl-text-lg);font-weight:var(--ofl-weight-bold);word-break:keep-all;overflow-wrap:normal;flex:1;min-width:0;margin:0}@media (width<=18em){.ofl-header__title{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ofl-header__back{font-size:min(var(--ofl-text-sm), 18px)}.ofl-nav__items a .ofl-nav__long{display:none}.ofl-nav__items a .ofl-nav__short{display:inline}.ofl-nav__items a>span{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}}@media (width>=1024px){.ofl-header__title--brand{clip-path:inset(50%)}}@media (width<=599px){.ofl-header__back:not(.ofl-header__start)~.ofl-header__home{display:none}}@media (width<=18em){.ofl-header__start~.ofl-header__home{display:none}}.ofl-more{position:relative}.ofl-more>summary{color:inherit;list-style:none}.ofl-more>summary::-webkit-details-marker{display:none}.ofl-more__menu{right:0;top:calc(100% + var(--ofl-space-2));z-index:20;background:var(--ofl-surface);border:1px solid var(--ofl-border);border-radius:var(--ofl-radius-md);min-width:200px;padding:var(--ofl-space-1);position:absolute;box-shadow:0 8px 24px #0000002e}.ofl-more__menu a{align-items:center;gap:var(--ofl-space-3);min-height:44px;padding:0 var(--ofl-space-3);border-radius:var(--ofl-radius-sm);color:var(--ofl-text);white-space:nowrap;text-decoration:none;display:flex}.ofl-more__menu a:hover{background:var(--ofl-surface-sunken)}.ofl-user{padding:var(--ofl-space-2) var(--ofl-space-3);flex-direction:column;gap:2px;min-width:0;display:flex}.ofl-user__name{font-weight:var(--ofl-weight-semibold);color:var(--ofl-text);overflow-wrap:anywhere}.ofl-user__groups{font-size:var(--ofl-text-xs);color:var(--ofl-text-sub)}.ofl-avatar{border:1px solid var(--ofl-border);background:var(--ofl-surface-sunken);object-fit:cover;border-radius:50%;flex:none;display:block}.ofl-user--pic{align-items:center;gap:var(--ofl-space-3);flex-direction:row}.ofl-user__text{flex-direction:column;gap:2px;min-width:0;display:flex}.ofl-more__menu .ofl-user{border-bottom:1px solid var(--ofl-border);margin-bottom:var(--ofl-space-1)}.ofl-more__menu .ofl-user__logout{border-top:1px solid var(--ofl-border);margin-top:var(--ofl-space-1);border-radius:0 0 var(--ofl-radius-sm) var(--ofl-radius-sm)}.ofl-nav{z-index:10;background:var(--ofl-surface);border-top:1px solid var(--ofl-border);padding:0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);order:2;position:sticky;bottom:0}.ofl-nav__brand,.ofl-nav__extra,.ofl-nav__me{display:none}.ofl-nav__items{max-width:var(--ofl-main-max);margin:0 auto;display:flex}.ofl-nav__items a{padding:var(--ofl-space-2) 0;min-height:56px;color:var(--ofl-text-sub);font-size:var(--ofl-text-xs);flex-direction:column;flex:1;align-items:center;gap:2px;text-decoration:none;display:flex}.ofl-nav__short{display:none}.ofl-nav a[aria-current=page]{color:var(--ofl-accent-text);font-weight:var(--ofl-weight-semibold)}.ofl-nav__wide{display:none!important}.ofl-nav__more{flex:1;display:flex;position:relative}.ofl-nav__more>summary{padding:var(--ofl-space-2) 0;min-height:56px;color:var(--ofl-text-sub);font-size:var(--ofl-text-xs);cursor:pointer;flex-direction:column;flex:1;align-items:center;gap:2px;list-style:none;display:flex}.ofl-nav__more>summary::-webkit-details-marker{display:none}.ofl-nav__more--current>summary,.ofl-nav__more[open]>summary{color:var(--ofl-accent-text);font-weight:var(--ofl-weight-semibold)}.ofl-nav__morelist{right:var(--ofl-space-2);bottom:calc(100% + var(--ofl-space-2));z-index:20;background:var(--ofl-surface);border:1px solid var(--ofl-border);border-radius:var(--ofl-radius-md);min-width:200px;padding:var(--ofl-space-1);position:absolute;box-shadow:0 8px 24px #0000002e}.ofl-nav .ofl-nav__morelist a{justify-content:flex-start;gap:var(--ofl-space-3);min-height:44px;padding:0 var(--ofl-space-3);border-radius:var(--ofl-radius-sm);font-size:var(--ofl-text-md);color:var(--ofl-text);white-space:nowrap;flex-direction:row}.ofl-nav .ofl-nav__morelist a[aria-current=page]{background:var(--ofl-accent-soft);color:var(--ofl-accent-text)}.ofl-main{width:100%;max-width:var(--ofl-main-max);padding:var(--ofl-space-4) calc(env(safe-area-inset-right) + var(--ofl-space-4)) var(--ofl-space-4) calc(env(safe-area-inset-left) + var(--ofl-space-4));flex:1;margin:0 auto}.ofl-prose{max-width:var(--ofl-prose-max)}.ofl-grid{grid-template-columns:repeat(auto-fill, minmax(min(100%, var(--ofl-col-min)), 1fr));gap:var(--ofl-space-3);align-items:start;display:grid}.ofl-grid--2{grid-template-columns:repeat(auto-fill, minmax(min(100%, max(var(--ofl-col-min), calc((100% - var(--ofl-space-3)) / 2))), 1fr))}.ofl-grid>.ofl-card,.ofl-grid>.ofl-notice{margin-bottom:0}.ofl-grid>.ofl-notice{grid-column:1/-1}@media (width>=768px){.ofl-main{padding-top:var(--ofl-space-6);padding-inline:calc(env(safe-area-inset-left) + var(--ofl-space-6)) calc(env(safe-area-inset-right) + var(--ofl-space-6))}}@media (width>=1024px){.ofl-frame{flex-direction:row}.ofl-nav{width:calc(var(--ofl-nav-width) + env(safe-area-inset-left));gap:var(--ofl-space-4);border-top:0;border-right:1px solid var(--ofl-border);height:100dvh;padding:calc(env(safe-area-inset-top) + var(--ofl-space-4)) var(--ofl-space-3) calc(env(safe-area-inset-bottom) + var(--ofl-space-4)) calc(env(safe-area-inset-left) + var(--ofl-space-3));flex-direction:column;flex:none;order:0;display:flex;position:sticky;top:0;bottom:auto;overflow-y:auto}.ofl-nav__brand{align-items:center;gap:var(--ofl-space-3);padding:var(--ofl-space-1) var(--ofl-space-2);color:var(--ofl-text);font-size:var(--ofl-text-md);font-weight:var(--ofl-weight-bold);text-decoration:none;display:flex}.ofl-nav__brand img{width:36px;height:36px}.ofl-nav__items,.ofl-nav__extra{flex-direction:column;gap:2px;max-width:none;margin:0;display:flex}.ofl-nav__items a,.ofl-nav__extra a{align-items:center;gap:var(--ofl-space-3);min-height:44px;padding:0 var(--ofl-space-3);border-radius:var(--ofl-radius-md);color:var(--ofl-text-sub);font-size:var(--ofl-text-md);flex-direction:row;flex:none;text-decoration:none;display:flex}.ofl-nav__items a:hover,.ofl-nav__extra a:hover{background:var(--ofl-surface-sunken);color:var(--ofl-text)}.ofl-nav a[aria-current=page]{background:var(--ofl-accent-soft)}.ofl-nav .ofl-nav__wide{display:flex!important}.ofl-nav__more{display:none}.ofl-nav__extra{border-top:1px solid var(--ofl-border);padding-top:var(--ofl-space-3);margin-top:auto}.ofl-nav__me{border-top:1px solid var(--ofl-border);padding-top:var(--ofl-space-3);flex-direction:column;gap:2px;margin-top:auto;display:flex}.ofl-nav__extra~.ofl-nav__me{margin-top:0}.ofl-nav__me .ofl-user__logout{align-items:center;gap:var(--ofl-space-3);min-height:44px;padding:0 var(--ofl-space-3);border-radius:var(--ofl-radius-md);color:var(--ofl-text-sub);font-size:var(--ofl-text-md);text-decoration:none;display:flex}.ofl-nav__me .ofl-user__logout:hover{background:var(--ofl-surface-sunken);color:var(--ofl-text)}.ofl-nav__title{margin:0 0 var(--ofl-space-1);padding:0 var(--ofl-space-3);font-size:var(--ofl-text-xs);font-weight:var(--ofl-weight-semibold);color:var(--ofl-text-faint)}.ofl-header__home,.ofl-header__start,.ofl-more{display:none}.ofl-header{padding-left:var(--ofl-space-6)}}.ofl-card{background:var(--ofl-surface);border:1px solid var(--ofl-border);border-radius:var(--ofl-radius-lg);padding:var(--ofl-space-4);margin-bottom:var(--ofl-space-3)}.ofl-card h2{font-size:var(--ofl-text-md);margin:0 0 var(--ofl-space-2)}.ofl-sub{color:var(--ofl-text-sub);font-size:var(--ofl-text-sm)}@media (pointer:coarse){.ofl-sub a:not([class]){padding-block:14px}}.ofl-nums{font-variant-numeric:tabular-nums}.ofl-value{font-size:var(--ofl-num-lg);font-weight:var(--ofl-weight-semibold);font-variant-numeric:tabular-nums;color:var(--ofl-text)}.ofl-value__unit{font-size:var(--ofl-num-unit);font-weight:var(--ofl-weight-regular);margin-left:2px}.ofl-mono{font-family:var(--ofl-font-mono);font-size:var(--ofl-text-sm);word-break:break-all}.ofl-notice{gap:var(--ofl-space-2);border-radius:var(--ofl-radius-md);padding:var(--ofl-space-3);margin-bottom:var(--ofl-space-3);align-items:flex-start;display:flex}.ofl-notice>svg:first-child{flex:none;height:1lh}.ofl-notice--good{background:var(--ofl-good-soft);color:var(--ofl-good)}.ofl-notice--warn{background:var(--ofl-warn-soft);color:var(--ofl-warn)}.ofl-notice--bad{background:var(--ofl-bad-soft);color:var(--ofl-bad)}.ofl-notice--info{background:var(--ofl-info-soft);color:var(--ofl-info)}.ofl-update{width:100%;font:inherit;font-size:var(--ofl-text-sm);font-weight:var(--ofl-weight-semibold);text-align:left;cursor:pointer;padding:var(--ofl-space-2) var(--ofl-space-3);border:0;align-items:center;min-height:44px}.ofl-pill{border-radius:var(--ofl-radius-full);font-size:var(--ofl-text-sm);font-weight:var(--ofl-weight-semibold);white-space:nowrap;align-items:center;gap:4px;padding:2px 10px;display:inline-flex}.ofl-pill--good{background:var(--ofl-good-soft);color:var(--ofl-good)}.ofl-pill--warn{background:var(--ofl-warn-soft);color:var(--ofl-warn)}.ofl-pill--bad{background:var(--ofl-bad-soft);color:var(--ofl-bad)}.ofl-empty{text-align:center;padding:var(--ofl-space-8) var(--ofl-space-4)}.ofl-empty img{width:200px;max-width:70%;height:auto}.ofl-empty--sm{padding:var(--ofl-space-4) var(--ofl-space-2)}.ofl-empty--sm img{width:120px}.ofl-empty--sm .ofl-empty__title{margin-top:var(--ofl-space-2)}.ofl-empty__title{font-weight:var(--ofl-weight-semibold);margin:var(--ofl-space-4) 0 var(--ofl-space-2)}.ofl-empty__title svg{vertical-align:-3px}.ofl-empty__actions{justify-content:center;gap:var(--ofl-space-2);margin-top:var(--ofl-space-4);flex-wrap:wrap;display:flex}.ofl-field{min-width:0;max-width:100%;margin-bottom:var(--ofl-space-4);display:block}.ofl-field>span{font-weight:var(--ofl-weight-semibold);margin-bottom:var(--ofl-space-1);display:block}.ofl-input{width:100%;min-width:0;max-width:100%;min-height:44px;font:inherit;color:var(--ofl-text);background:var(--ofl-surface);border:1px solid var(--ofl-border);border-radius:var(--ofl-radius-md);padding:var(--ofl-space-2) var(--ofl-space-3)}.ofl-check{word-break:keep-all;align-items:center;gap:var(--ofl-space-3);cursor:pointer;min-height:48px;display:flex}.ofl-check input{appearance:none;border:2px solid var(--ofl-text-sub);background:var(--ofl-surface);width:24px;height:24px;cursor:inherit;border-radius:4px;flex:none;place-content:center;margin:0;display:grid}.ofl-check input:before{content:"";background:var(--ofl-surface);clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0%,43% 62%);width:14px;height:14px;transform:scale(0)}.ofl-check input:checked{border-color:var(--ofl-good);background:var(--ofl-good)}.ofl-check input:checked:before{transform:scale(1)}.ofl-check input:focus-visible{outline:3px solid var(--ofl-focus);outline-offset:2px}.ofl-check:has(input:disabled){cursor:default;opacity:.5}.ofl-row{gap:var(--ofl-space-2);flex-wrap:wrap;align-items:center;display:flex}.ofl-row--between{justify-content:space-between}.ofl-row--between>h2{margin:0}.ofl-row--gap3{gap:var(--ofl-space-3)}.ofl-mb-3{margin-bottom:var(--ofl-space-3)}.ofl-sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.ofl-skel{gap:var(--ofl-space-3);margin-bottom:var(--ofl-space-3);display:grid}.ofl-skel--card{grid-template-columns:repeat(auto-fill, minmax(min(100%, max(320px, calc((100% - var(--ofl-space-3)) / 2))), 1fr))}.ofl-skel--tiles{grid-template-columns:repeat(2,minmax(0,1fr))}@media (width>=600px){.ofl-skel--tiles{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}}.ofl-skel--list{gap:var(--ofl-space-2)}.ofl-skel__card{gap:var(--ofl-space-3);flex-direction:column;min-height:148px;margin-bottom:0;display:flex}.ofl-skel__bar{border-radius:var(--ofl-radius-sm);background:linear-gradient(90deg, var(--ofl-skel) 0%, var(--ofl-skel-hi) 50%, var(--ofl-skel) 100%) 0 0 / 200% 100%;height:14px;animation:ofl-shimmer 1.6s var(--ofl-ease-in-out) infinite;--ofl-skel:var(--ofl-border);--ofl-skel-hi:var(--ofl-surface-sunken);display:block}.ofl-skel__bar--title{width:45%;height:20px}.ofl-skel__bar--short{width:65%}.ofl-skel__tile{aspect-ratio:5/4;border-radius:var(--ofl-radius-lg);width:100%;height:auto;min-height:140px;max-height:172px}.ofl-skel__row{border-radius:var(--ofl-radius-md);height:48px}@keyframes ofl-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.ofl-switch{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;flex:none;place-items:center;width:56px;height:48px;padding:0;display:grid}.ofl-switch-row{word-break:keep-all;align-items:center;gap:var(--ofl-space-2);cursor:pointer;min-height:48px;display:flex}.ofl-switch-row>.ofl-switch{margin-left:auto}.ofl-switch:disabled{cursor:default;opacity:.5}.ofl-switch__track{border-radius:var(--ofl-radius-full);background:var(--ofl-surface-sunken);border:2px solid var(--ofl-text-faint);width:48px;height:28px;transition:background var(--ofl-motion-fast);position:relative}.ofl-switch__knob{border-radius:var(--ofl-radius-full);background:var(--ofl-text-sub);width:20px;height:20px;transition:transform var(--ofl-motion-fast);position:absolute;top:2px;left:2px}.ofl-switch[aria-checked=true] .ofl-switch__track{background:var(--ofl-good);border-color:var(--ofl-good)}.ofl-switch[aria-checked=true] .ofl-switch__knob{background:var(--ofl-surface);transform:translate(20px)}.ofl-switch:focus-visible{outline:3px solid var(--ofl-focus);outline-offset:2px;border-radius:var(--ofl-radius-md)}.ofl-switch--big{width:80px;height:56px}.ofl-switch--big .ofl-switch__track{width:68px;height:40px}.ofl-switch--big .ofl-switch__knob{width:32px;height:32px}.ofl-switch--big[aria-checked=true] .ofl-switch__knob{transform:translate(28px)}.ofl-chips{gap:var(--ofl-space-2);flex-wrap:wrap;display:flex}.ofl-chip{min-height:44px;padding:0 var(--ofl-space-1);border:2px solid var(--ofl-border);border-radius:var(--ofl-radius-md);background:var(--ofl-surface-sunken);color:var(--ofl-text);font:inherit;font-size:var(--ofl-text-sm);cursor:pointer}.ofl-chip[aria-checked=true]{border-color:var(--ofl-accent);background:var(--ofl-accent-soft);color:var(--ofl-accent-text);font-weight:var(--ofl-weight-semibold)}.ofl-chip:focus-visible{outline:3px solid var(--ofl-focus);outline-offset:2px}.ofl-chips--seg{border:2px solid var(--ofl-border);border-radius:var(--ofl-radius-md);background:var(--ofl-surface-sunken);flex-wrap:nowrap;gap:0;max-width:100%;display:inline-flex;overflow:hidden}.ofl-chips--seg>.ofl-chip{background:0 0;border:0;border-radius:0}.ofl-chips--seg>.ofl-chip+.ofl-chip{border-left:1px solid var(--ofl-border)}.ofl-chips--seg>.ofl-chip[aria-checked=true]{background:var(--ofl-accent-soft);box-shadow:inset 0 0 0 2px var(--ofl-accent)}.ofl-chips--seg>.ofl-chip:focus-visible{outline-offset:-3px;position:relative}.ofl-sheet{z-index:50;background:var(--ofl-bg);color:var(--ofl-text);display:flex;position:fixed;inset:0}.ofl-sheet__card{width:100%;max-width:var(--ofl-sheet-max,520px);background:var(--ofl-bg);height:100%;animation:ofl-rise var(--ofl-motion-base) var(--ofl-ease-out);grid-template-rows:auto minmax(0,1fr) auto;margin:0 auto;display:grid}.ofl-sheet__card:focus{outline:none}@keyframes ofl-rise{0%{opacity:0;transform:translateY(24px)}}.ofl-sheet__head{align-items:flex-start;gap:var(--ofl-space-3);padding:calc(var(--ofl-space-3) + env(safe-area-inset-top)) var(--ofl-space-4) var(--ofl-space-2);display:flex}.ofl-sheet__title{min-width:0;padding-top:var(--ofl-space-1);flex:1}.ofl-sheet__name{font-size:var(--ofl-text-xl);line-height:var(--ofl-line-tight);overflow-wrap:anywhere;margin:0}.ofl-sheet__state{margin:var(--ofl-space-1) 0 0;color:var(--ofl-text-sub);font-size:var(--ofl-text-md)}.ofl-sheet__body{gap:var(--ofl-space-4);overscroll-behavior:contain;padding:var(--ofl-space-3) var(--ofl-space-4);flex-direction:column;display:flex;overflow-y:auto}.ofl-sheet__foot{justify-content:flex-end;align-items:center;gap:var(--ofl-space-2);padding:var(--ofl-space-2) var(--ofl-space-4) calc(var(--ofl-space-3) + env(safe-area-inset-bottom));border-top:1px solid var(--ofl-border);flex-wrap:wrap;display:flex}.ofl-close{border-radius:var(--ofl-radius-full);background:var(--ofl-surface-sunken);width:52px;height:52px;color:var(--ofl-text);cursor:pointer;border:0;flex:none;place-items:center;padding:0;display:grid}.ofl-close:hover{background:var(--ofl-border)}.ofl-close:focus-visible{outline:3px solid var(--ofl-focus);outline-offset:2px}@media (width>=700px){.ofl-sheet{padding:var(--ofl-space-6);background:#040a148c;justify-content:center;align-items:center}.ofl-sheet__card{border-radius:var(--ofl-radius-xl);background:var(--ofl-surface);border:1px solid var(--ofl-border);height:auto;max-height:min(820px,100%);overflow:hidden;box-shadow:0 24px 64px #00000059}.ofl-sheet__head{padding-top:var(--ofl-space-4);padding-inline:var(--ofl-space-5)}.ofl-sheet__body{padding-inline:var(--ofl-space-5)}.ofl-sheet__foot{padding:var(--ofl-space-2) var(--ofl-space-5) var(--ofl-space-3)}}.ofl-toasts{z-index:60;left:0;right:0;bottom:calc(var(--ofl-nav-h) + env(safe-area-inset-bottom) + var(--ofl-space-2));padding:0 var(--ofl-space-4);pointer-events:none;justify-items:center;display:grid;position:fixed}.ofl-toasts>div{gap:var(--ofl-space-2);width:min(100%,480px);display:grid}.ofl-toasts>div:not(:empty)+div:not(:empty){margin-top:var(--ofl-space-2)}.ofl-toast{align-items:center;gap:var(--ofl-space-2);min-height:56px;padding:var(--ofl-space-2) var(--ofl-space-4);border-radius:var(--ofl-radius-lg);background:var(--ofl-text);color:var(--ofl-bg);font-weight:var(--ofl-weight-semibold);pointer-events:auto;animation:ofl-rise var(--ofl-motion-base) var(--ofl-ease-out);display:flex;box-shadow:0 8px 24px #00000040}.ofl-toast>svg:first-child{flex:none}.ofl-toast--bad{box-shadow:inset 6px 0 0 var(--ofl-bad), 0 8px 24px #00000040;padding-right:var(--ofl-space-1)}.ofl-toast>span{flex:1}.ofl-toast .ofl-toast__close{color:inherit;flex:none}.ofl-toast .ofl-toast__close:hover:not(:disabled){background:#7f7f7f4d}.ofl-toast--undo{justify-content:space-between;gap:var(--ofl-space-3);padding:var(--ofl-space-1) var(--ofl-space-1) var(--ofl-space-1) var(--ofl-space-4)}.ofl-toast--undo .ofl-btn{flex:none}body:has(>.ofl-sheet) .ofl-toasts{bottom:calc(88px + env(safe-area-inset-bottom))}body:has(.ofl-confirm) .ofl-toasts{top:calc(env(safe-area-inset-top) + var(--ofl-space-3));bottom:auto}@media (width>=700px){body:has(>.ofl-sheet) .ofl-toasts{bottom:var(--ofl-space-4)}body:has(.ofl-confirm) .ofl-toasts{top:auto;bottom:var(--ofl-space-4)}}@media (width>=1024px){.ofl-toasts{bottom:calc(env(safe-area-inset-bottom) + var(--ofl-space-5));left:calc(var(--ofl-nav-width) + env(safe-area-inset-left))}body:has(>.ofl-sheet) .ofl-toasts{left:0}}html.ofl-ptr-on{overscroll-behavior-y:contain}.ofl-ptr{top:calc(env(safe-area-inset-top) + var(--ofl-header-h));z-index:19;align-items:center;gap:var(--ofl-space-1);transform:translate(-50%, calc(var(--ofl-ptr-y) - 44px));opacity:var(--ofl-ptr-o);pointer-events:none;transition:transform var(--ofl-motion-base) var(--ofl-ease-out), opacity var(--ofl-motion-base) var(--ofl-ease-out);flex-direction:column;display:flex;position:fixed;left:50%}.ofl-ptr.is-drag{transition:none}.ofl-ptr__bubble{border-radius:var(--ofl-radius-full);background:var(--ofl-surface);border:1px solid var(--ofl-border);width:40px;height:40px;color:var(--ofl-text-sub);place-items:center;display:grid;box-shadow:0 2px 8px #00000026}.ofl-ptr.is-armed .ofl-ptr__bubble,.ofl-ptr.is-busy .ofl-ptr__bubble{color:var(--ofl-accent-text);border-color:var(--ofl-accent)}.ofl-ptr.is-done .ofl-ptr__bubble{color:var(--ofl-good)}.ofl-ptr.is-fail .ofl-ptr__bubble,.ofl-ptr.is-offline .ofl-ptr__bubble{color:var(--ofl-bad)}.ofl-ptr__icon{transform:rotate(var(--ofl-ptr-turn))}.ofl-ptr.is-busy .ofl-ptr__icon{animation:.9s linear infinite ofl-spin}.ofl-ptr__text{padding:2px var(--ofl-space-2);border-radius:var(--ofl-radius-full);background:var(--ofl-surface);color:var(--ofl-text);font-size:var(--ofl-text-sm);white-space:nowrap}@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}.ofl-skel__bar{background:var(--ofl-skel);animation:none}:root .ha-spin{animation-duration:2s}:root .sn-room--focus{animation:none;box-shadow:inset 0 0 0 3px}:root .ha-tile:has(.ha-tile__open:active){transform:none}.ofl-ptr__icon,.ofl-ptr.is-busy .ofl-ptr__icon{animation:none;transform:none}}.ofl-room-dot{border-radius:50%;flex:none;width:10px;height:10px;display:inline-block}.ha-icons{gap:var(--ofl-space-2);grid-template-columns:repeat(auto-fill,minmax(72px,1fr));display:grid}.ha-icons__btn{min-height:64px;padding:var(--ofl-space-1);border:2px solid var(--ofl-border);border-radius:var(--ofl-radius-md);background:var(--ofl-surface);color:var(--ofl-text);font:inherit;font-size:var(--ofl-text-xs);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex}.ha-icons__btn[aria-pressed=true]{border-color:var(--ofl-accent);color:var(--ofl-accent-text);font-weight:var(--ofl-weight-semibold)}.ha-icons__group+.ha-icons__group{margin-top:var(--ofl-space-3)}.ha-icons__title{margin:var(--ofl-space-2) 0 var(--ofl-space-1);font-size:var(--ofl-text-sm);color:var(--ofl-text-sub);font-weight:var(--ofl-weight-semibold)}.ha-icons__btn span{text-align:center;overflow-wrap:anywhere;line-height:1.2}.ha-home{flex-direction:column;display:flex;container:ha-home/inline-size}.ha-lock{display:contents}.ha-home--snug{max-width:calc(var(--ha-rooms) * 26rem + (var(--ha-rooms) - 1) * var(--ofl-space-5))}@container ha-home (width>=680px){.ha-rooms{column-gap:var(--ofl-space-5);grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));align-items:start;display:grid}}.ha-room{margin-bottom:var(--ofl-space-6);min-width:0;padding:var(--ofl-space-4);border:1px solid color-mix(in srgb, var(--ha-room-color,var(--ofl-border)) 50%, var(--ofl-border));border-top:4px solid var(--ha-room-color,var(--ofl-border));border-radius:var(--ofl-radius-xl);background:color-mix(in srgb, var(--ha-room-color,var(--ofl-border)) 14%, var(--ofl-bg));container:ha-room/inline-size}.ha-rooms--single{grid-template-columns:minmax(0,1fr)}.ha-room-nav{gap:var(--ofl-space-2);min-width:0;max-width:100%;margin-bottom:var(--ofl-space-4);padding:var(--ofl-space-1);flex-wrap:nowrap;display:flex;overflow-x:auto}.ha-room-nav__chip{align-items:center;gap:var(--ofl-space-2);min-height:48px;padding-inline:var(--ofl-space-3);white-space:nowrap;flex:none;display:inline-flex}.ha-room-nav__chip[aria-pressed=true]{border-color:var(--ofl-accent);background:var(--ofl-accent-soft);color:var(--ofl-accent-text);font-weight:var(--ofl-weight-semibold)}.ha-room-nav__count{font-size:var(--ofl-text-xs)}@media (width<=420px){.ha-room{padding:var(--ofl-space-3)}}.ha-room__head{justify-content:flex-start;align-items:center;gap:var(--ofl-space-2);min-height:44px;margin:0 0 var(--ofl-space-2);flex-wrap:wrap;display:flex}.ha-room__head .ha-room__off{margin-left:auto}.ha-room__title{overflow-wrap:anywhere;min-width:0}.ha-room__climate{max-width:100%;min-height:44px;color:var(--ofl-text-sub);font-size:var(--ofl-text-xs);align-items:center;text-decoration:none;display:inline-flex}.ha-room__climate:hover{text-decoration:underline}.ha-skel-room{width:96px;height:22px}.ha-room__off{gap:var(--ofl-space-1);flex:none;min-height:44px}.ha-room>.ha-err,.ha-room__note{margin:0 0 var(--ofl-space-2)}.ha-room__title{align-items:center;gap:var(--ofl-space-2);font-size:var(--ofl-text-lg);margin:0;display:flex}.ha-room__grid{gap:var(--ofl-space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@container ha-room (width>=560px){.ha-room__grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}}.ha-tile{justify-content:space-between;gap:var(--ofl-space-2);aspect-ratio:5/4;width:100%;min-height:max(140px,8.2em);max-height:max(172px,10.1em);padding:var(--ofl-space-3);background:var(--ofl-surface);border:2px solid var(--ofl-border);border-radius:var(--ofl-radius-xl);transition:background var(--ofl-motion-fast), border-color var(--ofl-motion-fast);flex-direction:column;display:flex;position:relative}.ha-tile--on{background:var(--ofl-good-soft);border-color:var(--ofl-good)}.ha-tile--lost{background:var(--ofl-surface-sunken);border-style:dashed}.ha-tile--input{--ha-input-tint:10%;background:color-mix(in srgb, var(--ofl-flower-lavender) var(--ha-input-tint), var(--ofl-surface));border-color:color-mix(in srgb, var(--ofl-flower-lavender-line) 55%, var(--ofl-border))}.ha-tile--input .ha-tile__icon{background:color-mix(in srgb, var(--ofl-flower-lavender) calc(var(--ha-input-tint) + 12%), var(--ofl-surface));color:color-mix(in srgb, var(--ofl-flower-lavender-line) 55%, var(--ofl-text))}.ha-tile--pressed{border-color:var(--ofl-flower-lavender-line);box-shadow:0 0 0 1px var(--ofl-flower-lavender-line)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .ha-tile--input{--ha-input-tint:14%}}:root[data-theme=dark] .ha-tile--input{--ha-input-tint:14%}.ha-tile--rr{background:var(--ha-rr-bg);border-color:var(--ha-rr-line)}.ha-tile--rr .ha-tile__icon{background:var(--ha-rr-dot);color:var(--ha-rr-dot-ink)}.ha-tile--rr .ha-tile__state{color:var(--ha-rr-ink);font-weight:var(--ofl-weight-semibold)}.ha-rr--info{--ha-rr-c:var(--ofl-info);--ha-rr-soft:var(--ofl-info-soft)}.ha-rr--warn{--ha-rr-c:var(--ofl-warn);--ha-rr-soft:var(--ofl-warn-soft)}.ha-rr--bad{--ha-rr-c:var(--ofl-bad);--ha-rr-soft:var(--ofl-bad-soft)}.ha-rr--info,.ha-rr--warn,.ha-rr--bad{--ha-rr-bg:var(--ha-rr-soft);--ha-rr-line:var(--ha-rr-c);--ha-rr-dot:var(--ha-rr-c);--ha-rr-dot-ink:var(--ofl-surface);--ha-rr-ink:var(--ha-rr-c)}.ha-rr--forsythia{--ha-rr-f:var(--ofl-flower-forsythia);--ha-rr-fl:var(--ofl-flower-forsythia-line)}.ha-rr--forgetmenot{--ha-rr-f:var(--ofl-flower-forgetmenot);--ha-rr-fl:var(--ofl-flower-forgetmenot-line)}.ha-rr--azalea{--ha-rr-f:var(--ofl-flower-azalea);--ha-rr-fl:var(--ofl-flower-azalea-line)}.ha-rr--flower{--ha-rr-tint:10%;--ha-rr-bg:color-mix(in srgb, var(--ha-rr-f) var(--ha-rr-tint), var(--ofl-surface));--ha-rr-line:color-mix(in srgb, var(--ha-rr-fl) 55%, var(--ofl-border));--ha-rr-dot:color-mix(in srgb, var(--ha-rr-f) calc(var(--ha-rr-tint) + 12%), var(--ofl-surface));--ha-rr-ink:color-mix(in srgb, var(--ha-rr-fl) 55%, var(--ofl-text));--ha-rr-dot-ink:var(--ha-rr-ink)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .ha-rr--flower{--ha-rr-tint:14%}}:root[data-theme=dark] .ha-rr--flower{--ha-rr-tint:14%}.ha-rr--moving .ha-tile__icon svg{animation:1.6s ease-in-out infinite ha-rr-move}@keyframes ha-rr-move{0%,to{transform:translate(-2px)rotate(-4deg)}50%{transform:translate(2px)rotate(4deg)}}.ha-tile--rr .ha-tile__icon{position:relative}.ha-rr-badge{background:var(--ofl-surface);width:18px;height:18px;color:var(--ha-rr-dot-ink);box-shadow:0 0 0 1.5px var(--ha-rr-dot);border-radius:50%;place-items:center;animation:1.4s ease-in-out infinite ha-rr-blink;display:grid;position:absolute;bottom:-3px;right:-3px}.ha-rr-badge svg{animation:none!important}@keyframes ha-rr-blink{0%,to{opacity:1}50%{opacity:.25}}@media (prefers-reduced-motion:reduce){.ha-rr--moving .ha-tile__icon svg,.ha-rr-badge{animation:none}}.ha-tile__open{z-index:0;border-radius:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;padding:0;position:absolute;inset:0}.ha-tile__open:focus-visible{outline:3px solid var(--ofl-focus);outline-offset:2px}.ha-tile:has(.ha-tile__open:active){transform:scale(.98)}.ha-tile__open:hover~.ha-tile__text .ha-tile__state svg{transform:translate(2px)}.ha-tile__top{align-items:flex-start;gap:var(--ofl-space-1);pointer-events:none;display:flex}.ha-tile__top .ofl-switch{z-index:1;pointer-events:auto;margin:-6px -4px 0 0;position:relative}.ha-play{z-index:1;pointer-events:auto;width:48px;height:48px;color:var(--ofl-text);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;flex:none;place-items:center;margin:-4px -4px 0 auto;padding:0;display:grid;position:relative}.ha-play:before{content:"";border-radius:var(--ofl-radius-full);background:var(--ofl-surface-sunken);box-shadow:inset 0 0 0 1.5px var(--ofl-border);position:absolute;inset:4px}.ha-play svg{position:relative}.ha-play--play svg{margin-left:2px}.ha-play:focus-visible{outline:3px solid var(--ofl-focus);outline-offset:0;border-radius:var(--ofl-radius-full)}.ha-play:disabled{cursor:default;opacity:.5}.ha-plays{z-index:1;pointer-events:none;flex:none;margin:-4px -4px 0 auto;display:flex;position:relative}.ha-plays .ha-play{width:44px;margin:0}.ha-tile__icon{border-radius:var(--ofl-radius-full);background:var(--ofl-surface-sunken);width:44px;height:44px;color:var(--ofl-text-sub);flex:none;place-items:center;display:grid}.ha-tile--on .ha-tile__icon{background:var(--ofl-good);color:var(--ofl-surface)}.ha-tile--on .ha-tile__icon--lit{color:#2b2118;box-shadow:0 0 0 3px color-mix(in srgb, currentColor 8%, transparent), 0 0 18px #ffc87873}.ha-tile__marks{flex-wrap:wrap;flex:1;justify-content:flex-end;gap:4px;min-width:0;padding-top:2px;display:flex}.ha-mark{border-radius:var(--ofl-radius-full);background:var(--ofl-surface);color:var(--ofl-accent-text);font-size:var(--ofl-text-xs);font-weight:var(--ofl-weight-semibold);white-space:nowrap;align-items:center;gap:2px;padding:2px 6px;line-height:1.2;display:inline-flex}.ha-mark--warn{background:var(--ofl-warn-soft);color:var(--ofl-warn)}.ha-tile__text{pointer-events:none;flex-direction:column;min-width:0;display:flex}.ha-tile__name{-webkit-line-clamp:2;line-height:var(--ofl-line-tight);word-break:keep-all;overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.ha-tile__state{justify-content:space-between;align-items:center;gap:var(--ofl-space-1);font-size:var(--ofl-num-sub);color:var(--ofl-text-sub);margin-top:2px;display:flex}.ha-tile__state>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ha-tile__power{font-size:var(--ofl-text-xs)}.ha-tile__state svg{color:var(--ofl-text-faint);transition:transform var(--ofl-motion-fast);flex:none}.ha-tile--on .ha-tile__state{color:var(--ofl-good);font-weight:var(--ofl-weight-semibold)}.ha-tile--lost .ha-tile__text,.ha-tile--lost .ha-tile__state{color:var(--ofl-text-faint)}.ha-sleepbtn{min-width:56px;height:56px;padding:0 var(--ofl-space-2);border-radius:var(--ofl-radius-md);color:var(--ofl-text-sub);font:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;justify-self:start;align-items:center;gap:2px;display:flex}.ha-sleepbtn[aria-expanded=true],.ha-sleepbtn:hover{background:var(--ofl-surface-sunken)}.ha-sleepbtn--on{color:var(--ofl-accent-text)}.ha-sleepbtn__left{font-size:var(--ofl-text-xs);line-height:1;font-weight:var(--ofl-weight-semibold)}.ha-err{padding:var(--ofl-space-2) var(--ofl-space-3);border-radius:var(--ofl-radius-md);font-size:var(--ofl-text-sm);color:var(--ofl-bad);background:var(--ofl-bad-soft);margin:0}.ha-timers{gap:var(--ofl-space-2);width:100%;display:grid}.ha-timer{justify-content:space-between;align-items:center;gap:var(--ofl-space-2);min-height:44px;font-size:var(--ofl-text-sm);margin:0;display:flex}.ha-timer span{align-items:center;gap:var(--ofl-space-1);display:inline-flex}.ha-timer--warn{padding:var(--ofl-space-1) var(--ofl-space-1) var(--ofl-space-1) var(--ofl-space-3);border-radius:var(--ofl-radius-md);background:var(--ofl-warn-soft);color:var(--ofl-text);font-weight:var(--ofl-weight-semibold)}.ha-sleep{gap:var(--ofl-space-3);padding:var(--ofl-space-3);border-radius:var(--ofl-radius-lg);border:1px solid var(--ofl-border);background:var(--ofl-surface);display:grid}.ha-sleep__row{justify-content:space-between;align-items:center;gap:var(--ofl-space-2);display:flex}.ha-sleep__choices{gap:var(--ofl-space-2);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.ha-band{gap:var(--ofl-space-1);margin-bottom:var(--ofl-space-3);padding:var(--ofl-space-2);border-radius:var(--ofl-radius-lg);background:var(--ofl-warn-soft);border:1px solid color-mix(in srgb, var(--ofl-warn) 40%, transparent);display:grid}.ha-band__row{align-items:center;gap:var(--ofl-space-2);min-height:44px;padding-left:var(--ofl-space-1);display:flex}.ha-band__row>svg{color:var(--ofl-warn);flex:none}.ha-band__text{min-width:0;font-size:var(--ofl-text-sm);flex:1}.ha-band__err{color:var(--ofl-bad)}.ha-keep{justify-content:space-between;align-items:center;gap:var(--ofl-space-2);display:flex}.ha-keep--ask{margin-bottom:var(--ofl-space-4);padding:var(--ofl-space-4);border:2px solid var(--ofl-warn);border-radius:var(--ofl-radius-lg);background:var(--ofl-warn-soft);display:grid}.ha-keep--ask p{margin:0}.ha-sheet__body{justify-content:safe center;align-items:center}.ha-lost{word-break:keep-all;align-self:stretch}.ha-lost p{margin:0}.ha-sheet__foot{grid-template-columns:1fr auto 1fr;display:grid}.ha-gear{border-radius:var(--ofl-radius-md);min-width:56px;height:56px;color:var(--ofl-text-sub);font-size:var(--ofl-text-xs);flex-direction:column;justify-content:center;justify-self:end;align-items:center;gap:2px;text-decoration:none;display:flex}.ha-gear:hover{background:var(--ofl-surface-sunken);color:var(--ofl-text)}.ha-bright{background:var(--ofl-surface-sunken);border:2px solid var(--ofl-border);touch-action:none;cursor:ns-resize;-webkit-user-select:none;user-select:none;border-radius:36px;flex:none;width:136px;height:clamp(220px,44vh,380px);position:relative;overflow:hidden}.ha-bright:focus-visible{outline:3px solid var(--ofl-focus);outline-offset:3px}.ha-bright--lost{opacity:.5;cursor:default}.ha-bright--off{border-color:var(--ofl-text-faint);background:linear-gradient(var(--ofl-border), var(--ofl-border)) center 25% / 32px 2px no-repeat, linear-gradient(var(--ofl-border), var(--ofl-border)) center 75% / 32px 2px no-repeat, var(--ofl-surface-sunken)}.ha-bright__hint{inset:0 var(--ofl-space-2) auto;text-align:center;font-size:var(--ofl-text-xs);color:var(--ofl-text-sub);word-break:keep-all;pointer-events:none;gap:2px;display:grid;position:absolute;top:38%}.ha-bright__hint b{font-size:var(--ofl-text-sm);color:var(--ofl-text)}.ha-bright__fill{position:absolute;bottom:0;left:0;right:0}.ha-bright__icon{left:0;right:0;bottom:var(--ofl-space-4);color:var(--ofl-text-sub);pointer-events:none;place-items:center;display:grid;position:absolute}.ha-bright__icon--on{color:#2b2118}.ha-bigicon{justify-content:center;align-items:center;gap:var(--ofl-space-2);width:200px;height:200px;margin:var(--ofl-space-4) 0;border-radius:var(--ofl-radius-full);border:2px solid var(--ofl-border);background:var(--ofl-surface-sunken);color:var(--ofl-text-sub);font:inherit;font-size:var(--ofl-text-sm);cursor:pointer;flex-direction:column;display:flex}.ha-bigicon--on{background:var(--ofl-good);border-color:var(--ofl-good);color:var(--ofl-surface);font-weight:var(--ofl-weight-semibold)}.ha-bigicon:disabled{opacity:.5;cursor:default}.ha-guard{gap:var(--ofl-space-2);margin:0 0 var(--ofl-space-3);display:grid}.ha-guard .ofl-slide{--ofl-slide-w:100%}.ha-btnrow--lit{outline:3px solid var(--ofl-accent);outline-offset:2px;border-radius:var(--ofl-radius-md);animation:.6s ease-in-out 3 ha-btn-flash}@keyframes ha-btn-flash{50%{outline-color:#0000}}@media (prefers-reduced-motion:reduce){.ha-btnrow--lit{animation:none}}.ha-check{gap:var(--ofl-space-2);align-items:center;min-height:44px;display:flex}.ha-standby{margin:var(--ofl-space-2) 0 0;gap:var(--ofl-space-3);padding:0;list-style:none;display:grid}.ha-standby__row legend{gap:var(--ofl-space-2);align-items:baseline;display:flex}.ha-temp.ha-xmlevel{justify-content:center;align-items:center;gap:var(--ofl-space-3);flex-wrap:wrap;display:flex}.ha-temp{gap:var(--ofl-space-1);display:grid}.ha-swatches{gap:var(--ofl-space-3);justify-content:center;display:flex}.ha-swatch{border-radius:var(--ofl-radius-full);border:1.5px solid var(--ofl-text-faint);cursor:pointer;width:48px;height:48px;padding:0}.ha-swatch[aria-pressed=true]{outline:3px solid var(--ofl-text);outline-offset:3px}.ha-swatch:disabled{opacity:.5;cursor:default}.ha-temp__ends{font-size:var(--ofl-text-xs);color:var(--ofl-text-sub);justify-content:space-between;display:flex}.ha-bar{max-width:100%;width:min(100%, var(--ofl-slide-w,13rem));align-self:flex-end;justify-items:end;gap:var(--ofl-space-2);padding:0 0 var(--ofl-space-3);order:-1;grid-template-columns:minmax(0,1fr);display:grid}.ha-bar__btn{gap:var(--ofl-space-2)}.ha-wide{gap:var(--ofl-space-2);width:100%;min-height:56px}.ha-bar__btn--calm.ofl-btn{background:var(--ofl-surface);color:var(--ofl-text);border-color:var(--ofl-border)}.ha-bar__btn--calm.ofl-btn:hover:not(:disabled){background:var(--ofl-surface-sunken)}@media (width>=900px){.ha-band{width:min(100%,640px)}}.ha-manage{container:ha-manage/inline-size}.ha-edits{gap:var(--ofl-space-3);margin-bottom:var(--ofl-space-5);align-items:start;display:grid}.ha-edits .ofl-card{margin:0}@container ha-manage (width>=720px){.ha-edits{grid-template-columns:repeat(2,minmax(0,1fr))}}.ha-gap{margin-top:var(--ofl-space-2)}.ha-edit__meta{margin:0 0 var(--ofl-space-3)}.ha-edit__actions,.ha-flow__actions{gap:var(--ofl-space-2);flex-wrap:wrap;display:flex}.ha-flow{border:2px solid var(--ofl-flower-sprout-line);margin-bottom:var(--ofl-space-5)}.ha-tabs{margin-bottom:var(--ofl-space-4)}.ha-tabs>.ofl-chip{padding-inline:var(--ofl-space-2);white-space:nowrap;flex:1 0 auto}.ha-progress{gap:var(--ofl-space-1) var(--ofl-space-2);margin:var(--ofl-space-2) 0 var(--ofl-space-4);font-size:var(--ofl-text-sm);color:var(--ofl-text-sub);flex-wrap:wrap;padding:0;list-style:none;display:flex}.ha-progress li{align-items:center;gap:var(--ofl-space-1);display:inline-flex}.ha-progress li+li:before{content:"→";content:"→" / "";color:var(--ofl-text-faint)}.ha-progress .is-now{color:var(--ofl-accent-text);font-weight:var(--ofl-weight-semibold)}.ha-progress .is-done svg{color:var(--ofl-good)}.ha-flow__actions .ofl-btn--lg{flex:1}.ha-steps{padding-left:var(--ofl-space-5)}.ha-steps li{margin-bottom:var(--ofl-space-2)}.ha-code{font-size:var(--ofl-text-xl);letter-spacing:.05em}.ha-pairing{text-align:center;padding:var(--ofl-space-6) 0}.ha-spin{color:var(--ofl-good);animation:1s linear infinite ha-spin}@keyframes ha-spin{to{transform:rotate(360deg)}}.ha-done{padding:var(--ofl-space-4) 0}.ha-tile__name--one{-webkit-line-clamp:1}.ha-tile__fail{-webkit-line-clamp:2;padding:2px var(--ofl-space-2);border-radius:var(--ofl-radius-md);font-size:var(--ofl-text-sm);font-weight:var(--ofl-weight-semibold);line-height:var(--ofl-line-tight);word-break:keep-all;overflow-wrap:anywhere;color:var(--ofl-bad);background:var(--ofl-bad-soft);-webkit-box-orient:vertical;margin-top:2px;display:-webkit-box;overflow:hidden}.ha-fold{align-items:center;gap:var(--ofl-space-2);display:flex}.ha-fold__name{overflow-wrap:anywhere;flex:1;min-width:0}.ha-fold+*{margin-top:var(--ofl-space-3)}.ha-away__on{margin-top:var(--ofl-space-1);display:block}.ha-away__link{font:inherit;color:inherit;text-underline-offset:2px;cursor:pointer;background:0 0;border:0;min-height:0;padding:0;font-weight:600;text-decoration:underline}.ha-stepper{justify-content:center;align-items:center;gap:var(--ofl-space-3,12px);flex-wrap:wrap;display:flex}.ha-stepper .ofl-value{text-align:center;min-width:7ch}.ha-history{gap:var(--ofl-space-4,16px);max-width:var(--ofl-prose-max,720px);margin:0 auto;display:grid}.ha-history__list{gap:var(--ofl-space-2,8px);margin:0;padding:0;list-style:none;display:grid}.ha-history__row{gap:var(--ofl-space-3,12px);padding:var(--ofl-space-2,8px) var(--ofl-space-3,12px);border-radius:var(--ofl-radius-md,12px);background:var(--ofl-surface,#fff);grid-template-columns:3.5em 1fr;align-items:baseline;display:grid}.ha-history__row--fail{color:var(--ofl-bad,#b42318)}.ha-history__time{color:var(--ofl-fg-muted,#666)}.ha-history__body{overflow-wrap:anywhere}.ha-by{border-radius:var(--ofl-radius-full);font-size:var(--ofl-num-sub,.8em);vertical-align:.1em;border:1px solid;margin-right:6px;padding:0 6px;line-height:1.6;display:inline-block}.ha-by--person{color:var(--ofl-good)}.ha-by--auto{color:var(--ofl-info)}.ha-rule__fields{gap:var(--ofl-space-3,12px);grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));display:grid}.ha-lastchange{overflow-wrap:anywhere}.ha-tv2,.ha-ac2{--ha-rbtn:3.25rem;gap:var(--ofl-space-3,12px);width:100%;max-width:26rem;margin-inline:auto;display:grid}.ha-remote__why{text-align:center;font-size:var(--ofl-text-sm);color:var(--ofl-text-sub);word-break:keep-all;margin:0}.ha-remote__row--play{gap:var(--ofl-space-2,8px);--ha-rbtn:2.75rem}.ha-rbtn{width:var(--ha-rbtn);height:var(--ha-rbtn);border:2px solid var(--ofl-border);border-radius:var(--ofl-radius-full);background:var(--ofl-surface);color:var(--ofl-text);font:inherit;font-size:var(--ofl-text-lg);font-weight:var(--ofl-weight-semibold);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform var(--ofl-motion-fast), background var(--ofl-motion-fast);place-items:center;padding:0;display:inline-grid}.ha-rbtn:hover:not(:disabled){background:var(--ofl-accent-soft)}.ha-rbtn:active:not(:disabled){background:var(--ofl-accent-soft);transform:scale(.92)}.ha-rbtn:focus-visible{outline:3px solid var(--ofl-focus);outline-offset:2px}.ha-rbtn:disabled{cursor:not-allowed;opacity:.45}.ha-rbtn[aria-pressed=true]{border-color:var(--ofl-accent);color:var(--ofl-accent-text)}.ha-rbtn--power,.ha-rbtn--power[aria-pressed],.ha-rbtn--power:hover:not(:disabled),.ha-rbtn--power:active:not(:disabled){background:var(--ofl-danger);border-color:var(--ofl-danger);color:#fff}.ha-rbtn--power:hover:not(:disabled){background:var(--ofl-danger-hover)}.ha-rbtn--go{background:var(--ofl-accent);border-color:var(--ofl-accent);color:var(--ofl-on-accent);font-size:var(--ofl-text-md)}.ha-rbtn--go:hover:not(:disabled),.ha-rbtn--go:active:not(:disabled){background:var(--ofl-accent-hover)}.ha-dpad{aspect-ratio:1;border:2px solid var(--ofl-border);background:var(--ofl-surface);border-radius:50%;grid-template:repeat(3,1fr)/repeat(3,1fr);place-items:center;width:11rem;display:grid}.ha-dpad .ha-rbtn:not(.ha-dpad__ok){background:0 0;border-color:#0000}.ha-dpad .ha-rbtn:not(.ha-dpad__ok):active:not(:disabled){background:var(--ofl-accent-soft)}.ha-dpad__up{grid-area:1/2}.ha-dpad__left{grid-area:2/1}.ha-dpad__ok{--ha-rbtn:4.25rem;background:var(--ofl-surface-sunken);font-size:var(--ofl-text-md);grid-area:2/2}.ha-dpad__right{grid-area:2/3}.ha-dpad__down{grid-area:3/2}.ha-rocker{place-items:center;gap:var(--ofl-space-1,4px);padding:var(--ofl-space-1,4px);border:2px solid var(--ofl-border);border-radius:var(--ofl-radius-full);background:var(--ofl-surface);grid-template-rows:auto 1fr auto;display:grid}.ha-rocker .ha-rbtn{border-color:#0000}.ha-rocker__label{min-width:5ch;font-size:var(--ofl-text-xs);color:var(--ofl-text-sub);text-align:center;justify-items:center;display:grid}.ha-rocker__label small{font-size:var(--ofl-text-xs);text-overflow:ellipsis;white-space:nowrap;max-width:6ch;overflow:hidden}.ha-numpad{grid-template-columns:repeat(3, var(--ha-rbtn));gap:var(--ofl-space-2,8px) var(--ofl-space-4,16px);justify-content:center;display:grid}.ha-numpad__show{text-align:center;font-size:var(--ofl-text-md);grid-column:1/-1;min-height:1.5em}.ha-remote__err{text-align:center}@media (prefers-reduced-motion:reduce){.ha-rbtn{transition:none}.ha-rbtn:active:not(:disabled){transform:none}}.ha-tone--forgetmenot{--ha-tone:var(--ofl-flower-forgetmenot);--ha-tone-line:var(--ofl-flower-forgetmenot-line)}.ha-tone--hydrangea{--ha-tone:var(--ofl-flower-hydrangea);--ha-tone-line:var(--ofl-flower-hydrangea-line)}.ha-tone--sprout{--ha-tone:var(--ofl-flower-sprout);--ha-tone-line:var(--ofl-flower-sprout-line)}.ha-tone--lavender{--ha-tone:var(--ofl-flower-lavender);--ha-tone-line:var(--ofl-flower-lavender-line)}.ha-tone--marigold{--ha-tone:var(--ofl-flower-marigold);--ha-tone-line:var(--ofl-flower-marigold-line)}.ha-tone--night{--ha-tone:var(--ofl-flower-night);--ha-tone-line:var(--ofl-flower-night-line)}.ha-tone--off{--ha-tone:var(--ofl-border);--ha-tone-line:var(--ofl-text-sub)}.ha-ac2__panel{gap:var(--ofl-space-2,8px);padding:var(--ofl-space-3,12px) var(--ofl-space-4,16px) var(--ofl-space-3,12px);border:2px solid color-mix(in srgb, var(--ha-tone) 55%, var(--ofl-border));background:linear-gradient(160deg, color-mix(in srgb, var(--ha-tone) 24%, var(--ofl-surface)), color-mix(in srgb, var(--ha-tone) 6%, var(--ofl-surface)));box-shadow:0 6px 18px color-mix(in srgb, var(--ha-tone) 18%, transparent);border-radius:1.5rem;display:grid}.ha-ac2__head{justify-content:space-between;align-items:center;gap:var(--ofl-space-2,8px);display:flex}.ha-ac2__mode{align-items:center;gap:var(--ofl-space-2,8px);font-weight:var(--ofl-weight-semibold);font-size:var(--ofl-text-md);overflow-wrap:anywhere;min-width:0;display:flex}.ha-ac2__mode svg{color:var(--ha-tone-line);flex:none}.ha-ac2__temp{grid-template-columns:auto 1fr auto;align-items:center;display:grid}.ha-ac2__deg{justify-items:center;line-height:1;display:grid}.ha-ac2__deg>span:last-child{font-size:4rem;font-weight:var(--ofl-weight-semibold);letter-spacing:-.02em}.ha-ac2__deg small{color:var(--ofl-text-sub);margin-inline-start:2px;font-size:1.5rem}.ha-ac2__cap{font-size:var(--ofl-text-xs);color:var(--ofl-text-sub);margin-bottom:4px}.ha-ac2__step{background:var(--ofl-surface)}.ha-ac2__meta{text-align:center;font-size:var(--ofl-text-sm);color:var(--ofl-text-sub);margin:0}.ha-band{align-items:center;gap:var(--ofl-space-2,8px);padding:var(--ofl-space-2,8px) var(--ofl-space-3,12px);border:1.5px solid var(--ofl-flower-sprout-line);background:color-mix(in srgb, var(--ofl-flower-sprout) 14%, var(--ofl-surface));font-size:var(--ofl-text-sm);font-weight:var(--ofl-weight-semibold);border-radius:1rem;grid-template-columns:auto 1fr auto;display:grid}.ha-band>svg{color:var(--ofl-flower-sprout-line)}.ha-band small{font-size:var(--ofl-text-xs);color:var(--ofl-text-sub);font-weight:400;display:block}.ha-band--sleep{border-color:var(--ofl-flower-lavender-line);background:color-mix(in srgb, var(--ofl-flower-lavender) 12%, var(--ofl-surface))}.ha-band--sleep>svg{color:var(--ofl-flower-lavender-line)}.ha-ac2__modes{gap:var(--ofl-space-2,8px);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.ha-ac2__key,.ha-ac2__big,.ha-ac2__fan,.ha-tv2__app{border:2px solid var(--ofl-border);background:var(--ofl-surface);min-height:2.875rem;color:var(--ofl-text);font:inherit;font-size:var(--ofl-text-sm);font-weight:var(--ofl-weight-semibold);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform var(--ofl-motion-fast), background var(--ofl-motion-fast);overflow-wrap:anywhere;border-radius:.875rem;justify-content:center;align-items:center;gap:6px;padding:4px 6px;display:flex}.ha-ac2__key svg{color:var(--ha-tone-line);flex:none}.ha-ac2__key[aria-pressed=true]{border-color:var(--ha-tone-line);background:color-mix(in srgb, var(--ha-tone) 22%, var(--ofl-surface))}.ha-ac2__key:active:not(:disabled),.ha-ac2__big:active:not(:disabled),.ha-ac2__fan:active:not(:disabled),.ha-tv2__app:active:not(:disabled){transform:scale(.95)}.ha-ac2__key:focus-visible,.ha-ac2__big:focus-visible,.ha-ac2__fan:focus-visible,.ha-tv2__app:focus-visible,.ha-fold__head:focus-visible{outline:3px solid var(--ofl-focus);outline-offset:2px}.ha-ac2__key:disabled,.ha-ac2__big:disabled,.ha-ac2__fan:disabled,.ha-tv2__app:disabled{cursor:not-allowed;background:var(--ofl-surface-sunken);color:var(--ofl-text-faint)}.ha-ac2__key:disabled svg,.ha-tv2__app:disabled svg{color:var(--ofl-text-faint)}.ha-ac2__fans,.ha-ac2__row{gap:6px;display:grid}.ha-ac2__label{font-size:var(--ofl-text-xs);color:var(--ofl-text-sub);align-items:center;gap:4px;display:flex}.ha-ac2__fanrow{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:6px;display:grid}.ha-ac2__fan{border-radius:var(--ofl-radius-full);padding-inline:2px}.ha-ac2__fan[aria-pressed=true],.ha-ac2__big[aria-pressed=true]{border-color:var(--ofl-accent);background:var(--ofl-accent-soft);color:var(--ofl-accent-text)}.ha-ac2__quick{gap:var(--ofl-space-2,8px);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.ha-ac2__big{min-height:3.25rem;font-size:var(--ofl-text-md);border-radius:1rem}.ha-ac2__big:first-child svg{color:var(--ofl-flower-lavender-line)}.ha-ac2__big--on,.ha-ac2__big[aria-expanded=true]{border-color:var(--ofl-flower-lavender-line);background:color-mix(in srgb, var(--ofl-flower-lavender) 14%, var(--ofl-surface))}.ha-ac2__sleep{gap:var(--ofl-space-3,12px);padding:var(--ofl-space-3,12px);border:1.5px solid var(--ofl-flower-lavender-line);background:color-mix(in srgb, var(--ofl-flower-lavender) 7%, var(--ofl-surface));border-radius:1.125rem;display:grid}.ha-ac2__sleephead{justify-content:space-between;align-items:center;display:flex}.ha-ac2__sleephead strong{align-items:center;gap:6px;display:flex}.ha-ac2__custom{align-items:center;gap:var(--ofl-space-2,8px);font-size:var(--ofl-text-sm);display:flex}.ha-ac2__custom input{border:1.5px solid var(--ofl-border);background:var(--ofl-surface);width:6rem;min-height:2.75rem;color:var(--ofl-text);font:inherit;border-radius:10px;padding:0 10px}.ha-ac2__switch{justify-content:space-between;align-items:center;gap:var(--ofl-space-3,12px);font-size:var(--ofl-text-sm);font-weight:var(--ofl-weight-semibold);display:flex}.ha-ac2__switch span{gap:2px;display:grid}.ha-ac2__switch small{font-size:var(--ofl-text-xs);color:var(--ofl-text-sub);font-weight:400}.ha-ac2__hint{font-size:var(--ofl-text-xs);color:var(--ofl-text-sub);align-items:flex-start;gap:4px;margin:0;display:flex}.ha-fold{border:1.5px solid var(--ofl-border);background:var(--ofl-surface);border-radius:.875rem}.ha-fold__head{width:100%;min-height:2.75rem;padding:0 var(--ofl-space-3,12px);border-radius:inherit;color:var(--ofl-text);font:inherit;font-size:var(--ofl-text-sm);font-weight:var(--ofl-weight-semibold);cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;display:flex}.ha-fold__chev{transition:transform var(--ofl-motion-fast);color:var(--ofl-text-sub)}.ha-fold--open .ha-fold__chev{transform:rotate(180deg)}.ha-fold__body{gap:var(--ofl-space-3,12px);padding:0 var(--ofl-space-3,12px) var(--ofl-space-3,12px);display:grid}.ha-tv2__panel{justify-content:space-between;align-items:center;gap:var(--ofl-space-3,12px);padding:var(--ofl-space-3,12px) var(--ofl-space-4,16px);background:linear-gradient(160deg, var(--ofl-flower-night), var(--ofl-flower-night-deep));color:var(--ofl-flower-night-on);box-shadow:0 6px 18px color-mix(in srgb, var(--ofl-flower-night) 30%, transparent);border-radius:1.5rem;display:flex}.ha-tv2__now{gap:2px;min-width:0;display:grid}.ha-tv2__cap{font-size:var(--ofl-text-xs);opacity:.85}.ha-tv2__title{font-size:var(--ofl-text-xl);overflow-wrap:anywhere;flex-wrap:wrap;align-items:baseline;gap:8px;line-height:1.2;display:flex}.ha-tv2__title small{font-size:var(--ofl-text-sm);opacity:.9;font-weight:400}.ha-tv2__vol{font-size:var(--ofl-text-sm);opacity:.9;min-height:1.2em}.ha-remote--off .ha-tv2__panel{background:var(--ofl-surface-sunken);color:var(--ofl-text-sub);box-shadow:none}.ha-tv2__row{justify-content:center;gap:var(--ofl-space-4,16px);display:flex}.ha-tv2__row--small{--ha-rbtn:2.75rem;gap:var(--ofl-space-5,20px)}.ha-rbtn--home{color:var(--ofl-accent-text)}.ha-tv2__mid{place-items:center;gap:var(--ofl-space-1,4px);grid-template-columns:auto 1fr auto;display:grid}.ha-tv2__mid .ha-rocker{--ha-rbtn:3rem}.ha-tv2__gap{width:3.5rem}.ha-tv2__apps{gap:var(--ofl-space-2,8px);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;display:grid}.ha-tv2__app{border-radius:1rem}.ha-tv2__app--netflix svg{color:var(--ofl-flower-camellia-line)}.ha-tv2__app--youtube svg{color:var(--ofl-flower-azalea-line)}.ha-tv2__inputs{overflow-x:auto}@media (prefers-reduced-motion:reduce){.ha-ac2__key,.ha-ac2__big,.ha-ac2__fan,.ha-tv2__app,.ha-fold__chev{transition:none}.ha-ac2__key:active:not(:disabled),.ha-ac2__big:active:not(:disabled),.ha-ac2__fan:active:not(:disabled),.ha-tv2__app:active:not(:disabled){transform:none}}.ha-automation{gap:var(--ofl-space-4,16px);max-width:52rem;margin-inline:auto;display:grid}.ha-auto__card{padding:var(--ofl-space-5,20px);gap:var(--ofl-space-3,12px);min-width:0;display:grid}.ha-auto__card p,.ha-auto__card h2{margin:0}.ha-auto__air{gap:var(--ofl-space-4,16px);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.ha-auto__air>div{gap:var(--ofl-space-2,8px);display:grid}.ha-auto__air .ofl-sub{overflow-wrap:anywhere}.ha-auto__summary{line-height:1.7}.ha-auto__fieldset{gap:var(--ofl-space-3,12px);border:0;min-width:0;margin:0;padding:0;display:grid}.ha-auto__fieldset legend{padding:0 0 var(--ofl-space-2,8px)}.ha-auto__fields{gap:var(--ofl-space-3,12px);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.ha-auto__switch{justify-content:space-between;align-items:center;gap:var(--ofl-space-3,12px);display:flex}.ha-auto__events{gap:var(--ofl-space-3,12px);margin:0;padding:0;list-style:none;display:grid}.ha-auto__events li{border-bottom:1px solid var(--ofl-border);padding-bottom:var(--ofl-space-3,12px)}.ha-auto__links{gap:var(--ofl-space-3,12px);flex-wrap:wrap;display:flex}.ha-auto__links [aria-current=page]{font-weight:700}@media (width<=420px){.ha-auto__fields{grid-template-columns:minmax(0,1fr)}}.ha-home__links{gap:var(--ofl-space-2);flex-wrap:wrap;align-items:center;display:flex}.ha-batt--warn{color:var(--ofl-flower-forsythia-line);font-weight:var(--ofl-weight-semibold)}.ha-batt--critical{color:color-mix(in srgb, var(--ofl-flower-camellia-line) 60%, var(--ofl-text));font-weight:var(--ofl-weight-semibold)}.ha-room__batt{font-size:var(--ofl-text-xs);color:var(--ofl-flower-forsythia-line);font-weight:var(--ofl-weight-semibold);align-items:center;gap:2px;display:inline-flex}.ha-room__batt--critical{color:color-mix(in srgb, var(--ofl-flower-camellia-line) 60%, var(--ofl-text))}.ha-battery{margin:0;padding:0;list-style:none;display:grid}.ha-battery__row{align-items:center;gap:var(--ofl-space-3);min-height:48px;padding:var(--ofl-space-2) 0;border-top:1px solid var(--ofl-border);display:flex}.ha-battery__row:first-child{border-top:0}.ha-battery__name{flex:1;min-width:0;display:grid}.ha-battery__pct{font-weight:var(--ofl-weight-semibold);white-space:nowrap}.ha-battery__pct small{font-size:var(--ofl-text-xs)}.ha-battery__row--warn svg,.ha-battery__row--warn .ha-battery__pct{color:var(--ofl-flower-forsythia-line)}.ha-battery__row--critical svg,.ha-battery__row--critical .ha-battery__pct{color:color-mix(in srgb, var(--ofl-flower-camellia-line) 60%, var(--ofl-text))}.ha-battery__form{gap:var(--ofl-space-2);max-width:24rem;margin-top:var(--ofl-space-3);display:grid}.ha-nowrap{white-space:nowrap}.ha-batt-gauge{vertical-align:middle;align-items:center;gap:3px;display:inline-flex}.ha-batt-gauge__body{border:1.5px solid;border-radius:2.5px;gap:1px;margin-right:2px;padding:1.5px;display:inline-flex;position:relative}.ha-batt-gauge__body:after{content:"";background:currentColor;border-radius:0 1px 1px 0;width:1.5px;height:5px;position:absolute;top:50%;right:-3.5px;transform:translateY(-50%)}.ha-batt-gauge__cell{background:0 0;border-radius:.5px;width:3px;height:6px}.ha-batt-gauge__cell--on{background:currentColor}.ha-tile__top .ha-batt-gauge--top{min-height:36px;font-size:var(--ofl-num-sub);color:var(--ofl-text-sub);align-self:center;margin-left:auto}.ha-tile__top .ha-batt-gauge--top.ha-batt-gauge--warn{color:var(--ofl-flower-forsythia-line)}.ha-tile__top .ha-batt-gauge--top.ha-batt-gauge--critical{color:color-mix(in srgb, var(--ofl-flower-camellia-line) 60%, var(--ofl-text))}.ha-batt-gauge--warn{color:var(--ofl-flower-forsythia-line);font-weight:var(--ofl-weight-semibold)}.ha-batt-gauge--critical{color:color-mix(in srgb, var(--ofl-flower-camellia-line) 60%, var(--ofl-text));font-weight:var(--ofl-weight-semibold)}.pr-page{gap:1.25rem;min-width:0;max-width:80rem;margin-inline:auto;display:grid}.pr-section{min-width:0;padding:clamp(1rem,3vw,2rem)}.pr-section h2{margin:0 0 1rem;font-size:1.25rem}.pr-section h3{margin:1.75rem 0 .75rem;font-size:1.05rem}.pr-choices{flex-wrap:wrap;gap:.5rem;display:flex}.pr-dot{border-radius:50%;width:.65rem;height:.65rem;margin-inline-end:.4rem;display:inline-block}.pr-chart{width:100%;min-width:0;color:var(--ofl-accent-text)}.pr-chart svg{max-width:100%;display:block}.pr-chart text{fill:var(--ofl-text,currentColor);font-size:.75rem}.pr-table{margin-block:1rem;overflow-x:auto}.pr-table table{border-collapse:collapse;width:100%}.pr-table th,.pr-table td{text-align:left;white-space:nowrap;font-variant-numeric:tabular-nums;border-bottom:1px solid;padding:.65rem}.pr-section summary{cursor:pointer;min-height:2.75rem;padding:.75rem 0}.pr-rank{padding:0;list-style-position:inside}.pr-rank li{border-bottom:1px solid var(--ofl-border,#ccc);flex-wrap:wrap;justify-content:space-between;gap:.75rem;padding:.85rem 0;display:flex}.pr-rank li>div{overflow-wrap:anywhere;gap:.25rem;min-width:0;display:grid}.pr-rank__value{text-align:end}.pr-summary{padding-block:1rem}.pr-summary__numbers{font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:baseline;gap:1rem;display:flex}.pr-summary__numbers strong{font-size:2rem}.pr-summary__numbers span{font-size:1.3rem}@media (width<=30rem){.pr-rank li{display:grid}.pr-rank__value{text-align:start}}.pr-blocks{grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:1rem;display:grid}.pr-block h3{margin:0 0 .5rem;font-size:1rem}.pr-big{margin:0;font-size:2.25rem;font-weight:700}.pr-totals{gap:.4rem;margin:0;display:grid}.pr-totals div{flex-wrap:wrap;justify-content:space-between;gap:1rem;display:flex}.pr-totals dt{color:var(--ofl-text-sub)}.pr-totals dd{margin:0;font-weight:600}.pr-totals small{color:var(--ofl-text-sub);font-weight:400}.pr-split{gap:.5rem;margin-top:1rem;display:grid}.pr-split p{overflow-wrap:anywhere;margin:0}.pr-split__bar{border-radius:.5rem;gap:2px;height:1.25rem;display:flex;overflow:hidden}.pr-split__bar span{min-width:2px}.pr-bars{gap:.25rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.pr-bars__row{width:100%;min-height:2.75rem;color:inherit;font:inherit;text-align:start;cursor:pointer;background:0 0;border:0;border-radius:.5rem;grid-template-columns:minmax(6rem,1fr) 2fr auto;align-items:center;gap:.75rem;padding:.25rem .5rem;display:grid}.pr-bars__row:hover,.pr-bars__row:focus-visible{background:var(--ofl-surface-sunken,#0000000d)}.pr-bars__label{overflow-wrap:anywhere}.pr-bars__track{background:var(--ofl-surface-sunken,#0000000f);border-radius:.375rem;height:.75rem;overflow:hidden}.pr-bars__track span{background:var(--ofl-accent-text);height:100%;display:block}@media (width<=30rem){.pr-bars__row{grid-template-columns:1fr auto}.pr-bars__track{grid-area:2/1/auto/-1}}.pr-bars__note{display:block}.ha-power-now{color:var(--ofl-text);white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.ha-power-now__bolt{background:color-mix(in srgb, var(--ofl-flower-forsythia) 25%, var(--ofl-surface));width:1.25rem;height:1.25rem;color:var(--ofl-text);border-radius:6px;place-items:center;display:inline-grid}.ha-power-now[data-level=medium] .ha-power-now__bolt{background:var(--ofl-flower-forsythia);color:var(--ofl-flower-forsythia-on)}.ha-power-now[data-level=high] .ha-power-now__bolt{background:var(--ofl-flower-marigold);color:var(--ofl-flower-marigold-on)}.ha-power-now[data-level=peak] .ha-power-now__bolt{background:var(--ofl-flower-camellia-deep);color:var(--ofl-flower-camellia-on)}.ha-power-now__number small{margin-inline-start:2px;font-size:.75em}.ha-power-now[data-level=low] .ha-power-now__number{color:color-mix(in srgb, var(--ofl-flower-forsythia-line) 55%, var(--ofl-text-sub))}.ha-power-now[data-level=medium] .ha-power-now__number{color:var(--ofl-flower-forsythia-line)}.ha-power-now[data-level=high] .ha-power-now__number{color:var(--ofl-flower-marigold-line)}.ha-power-now[data-level=peak] .ha-power-now__number{color:color-mix(in srgb, var(--ofl-flower-camellia-line) 60%, var(--ofl-text))}.ha-power-now .ha-power-now__bolt svg{color:inherit}.ha-pcard{gap:var(--ofl-space-2);text-align:start;width:100%;display:grid}.ha-pcard__title{font-size:var(--ofl-text-sm);color:var(--ofl-text-sub);font-weight:var(--ofl-weight-semibold);margin:0}.ha-pcard__now{align-items:baseline;gap:var(--ofl-space-2);font-size:var(--ofl-num-lg,1.5rem);font-weight:var(--ofl-weight-semibold);margin:0;display:flex}.ha-pcard__now .ha-power-now{align-self:center;gap:8px}.ha-pcard__now .ha-power-now__bolt{border-radius:8px;width:1.75rem;height:1.75rem}.ha-pcard__now>small{font-size:var(--ofl-text-xs);font-weight:400}.ha-pcard__rows{margin:0;display:grid}.ha-pcard__rows>div{justify-content:space-between;align-items:baseline;gap:var(--ofl-space-3);padding:var(--ofl-space-2) 0;border-top:1px solid var(--ofl-border);display:flex}.ha-pcard__rows dt{color:var(--ofl-text-sub);font-size:var(--ofl-text-sm)}.ha-pcard__rows dd{text-align:end;font-weight:var(--ofl-weight-semibold);white-space:nowrap;margin:0}.ha-pcard__rows small,.ha-pcard__rows dd span small{color:var(--ofl-text-sub);margin-inline-start:2px;font-size:.75em;font-weight:400}.ha-pcard__dot{color:var(--ofl-text-faint)}.ha-pcard__more{border-top:1px solid var(--ofl-border);min-height:44px;color:var(--ofl-accent-text);font-size:var(--ofl-text-sm);justify-content:space-between;align-items:center;text-decoration:none;display:flex}.ha-pcard__rows dd .ha-pcard__name{white-space:normal;font-weight:400}.ha-order{gap:var(--ofl-space-4);width:100%;max-width:40rem;padding:var(--ofl-space-4);border:2px solid var(--ofl-border);border-radius:var(--ofl-radius-xl);background:var(--ofl-surface);display:grid}.ha-order__head p{margin:var(--ofl-space-1) 0 0}.ha-order__group{gap:var(--ofl-space-2);display:grid}.ha-order__label{font-size:var(--ofl-text-sm);color:var(--ofl-text-sub);font-weight:var(--ofl-weight-semibold);margin:0}.ha-order__list{gap:var(--ofl-space-1);margin:0;padding:0;list-style:none;display:grid}.ha-order__item{align-items:center;gap:var(--ofl-space-1);min-height:48px;padding-inline:var(--ofl-space-1);border:1px solid var(--ofl-border);border-radius:var(--ofl-radius-md);background:var(--ofl-surface-sunken);display:flex}.ha-order__item--drag{border-color:var(--ofl-accent);background:var(--ofl-accent-soft);box-shadow:0 4px 12px color-mix(in srgb, var(--ofl-text) 15%, transparent)}.ha-order__name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.ha-order__grip,.ha-order__step{border-radius:var(--ofl-radius-md);width:44px;height:44px;color:var(--ofl-text-sub);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;padding:0;display:inline-grid}.ha-order__grip{touch-action:none;cursor:grab}.ha-order__item--drag .ha-order__grip{cursor:grabbing}.ha-order__step:hover:not(:disabled),.ha-order__grip:hover{background:var(--ofl-accent-soft);color:var(--ofl-text)}.ha-order__step:disabled{opacity:.35;cursor:default}.ha-order__step:focus-visible,.ha-order__grip:focus-visible{outline:3px solid var(--ofl-focus);outline-offset:1px}.ha-order__actions{justify-content:flex-end;gap:var(--ofl-space-2);flex-wrap:wrap;display:flex}
