.companion-widget-inner{display:flex;flex-direction:column;gap:.4rem;height:100%;min-height:0;position:relative;overflow:hidden}.companion-widget-inner.loading,.companion-widget-inner.empty{align-items:center;justify-content:center;color:var(--muted);font-size:.85rem;gap:.5rem}.companion-loading-pulse{width:32px;height:32px;border-radius:50%;background:var(--brand-blue);opacity:.4;animation:companion-pulse 1.2s ease-in-out infinite}@keyframes companion-pulse{0%,to{transform:scale(.85);opacity:.3}50%{transform:scale(1.1);opacity:.6}}.companion-habitat{position:relative;width:100%;flex:1 1 0;min-height:clamp(72px,calc(var(--companion-grid-h, 8) * 8px),100%);border-radius:10px;overflow:hidden;border:1px solid color-mix(in srgb,var(--line) 80%,#5a9e48 20%);box-shadow:inset 0 0 24px #1a3c2814}.companion-engagement-row,.companion-switcher,.companion-widget-chrome,.companion-bottom-dock{flex-shrink:0}.companion-habitat-sky{position:absolute;inset:0 0 34%;z-index:1;background:radial-gradient(circle at 82% 18%,rgba(255,220,120,.45) 0%,transparent 28%),linear-gradient(180deg,color-mix(in srgb,#87ceeb 55%,var(--brand-cyan) 20%),color-mix(in srgb,#b8e4f8 70%,var(--brand-blue) 8%) 55%,color-mix(in srgb,#cfeecf 80%,#dceef8))}.habitat-sun{position:absolute;top:14%;right:14%;width:22px;height:22px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff8dc,#ffd93d 45%,#f4b942);box-shadow:0 0 12px #ffd93d8c}.habitat-cloud{position:absolute;background:#ffffffd1;border-radius:999px;opacity:.9}.habitat-cloud:before,.habitat-cloud:after{content:"";position:absolute;background:inherit;border-radius:inherit}.habitat-cloud-a{top:18%;left:10%;width:36px;height:12px;animation:habitat-cloud-drift 28s linear infinite}.habitat-cloud-a:before{width:16px;height:16px;top:-8px;left:6px}.habitat-cloud-a:after{width:20px;height:14px;top:-6px;left:18px}.habitat-cloud-b{top:28%;left:58%;width:28px;height:10px;opacity:.75;animation:habitat-cloud-drift 36s linear infinite reverse}.habitat-cloud-b:before{width:12px;height:12px;top:-6px;left:4px}.habitat-cloud-b:after{width:14px;height:10px;top:-4px;left:12px}@keyframes habitat-cloud-drift{0%,to{transform:translate(0)}50%{transform:translate(12px)}}.companion-habitat-nameplate{position:absolute;top:6px;left:8px;margin:0;padding:.12rem .45rem;border-radius:999px;background:color-mix(in srgb,var(--surface) 88%,transparent);border:1px solid var(--line);font-size:.58rem;letter-spacing:.06em;z-index:12;pointer-events:none}.habitat-decor{position:absolute;inset:0;z-index:3;pointer-events:none}.habitat-hills{position:absolute;left:-5%;right:-5%;bottom:30%;height:42%;background:radial-gradient(ellipse 55% 90% at 18% 100%,rgba(95,170,78,.55) 0%,transparent 62%),radial-gradient(ellipse 45% 75% at 62% 100%,rgba(79,150,68,.45) 0%,transparent 58%),radial-gradient(ellipse 40% 70% at 88% 100%,rgba(90,160,72,.4) 0%,transparent 55%)}.habitat-prop{position:absolute;bottom:30%;image-rendering:pixelated;transform:translate(-50%);filter:drop-shadow(0 2px 0 rgba(40,80,35,.25))}.habitat-tree-back{left:84%;width:36px;height:auto;bottom:32%;opacity:.85}.habitat-rock{left:9%;width:26px;bottom:calc(34% - 2px)}.habitat-flowers{left:20%;width:30px;bottom:calc(34% - 1px)}.habitat-mushroom{left:91%;width:18px;bottom:calc(34% + 1px)}.habitat-bush{left:6%;width:34px;bottom:calc(33% + 4px);opacity:.92}.habitat-stump{left:93%;width:22px;bottom:calc(34% - 1px);opacity:.9}.habitat-pebbles{position:absolute;left:0;right:0;bottom:calc(34% - 3px);height:6px}.habitat-pebbles span{position:absolute;bottom:0;width:4px;height:3px;border-radius:999px;background:color-mix(in srgb,#6e7d88 70%,#8a9ba8);opacity:.65}.habitat-pebbles span:nth-child(1){left:32%}.habitat-pebbles span:nth-child(2){left:41%;width:3px;height:2px}.habitat-pebbles span:nth-child(3){left:52%}.habitat-pebbles span:nth-child(4){left:64%;width:5px;height:2px;opacity:.5}.habitat-pebbles span:nth-child(5){left:73%;width:3px;height:2px}.habitat-meadow{--meadow-ground: 28%;--meadow-feet-nudge: 16px;border-color:color-mix(in srgb,#5a9e48 35%,var(--line));box-shadow:inset 0 0 48px #4aa04824,inset 0 -12px 24px #23461e14,0 1px #fff6;overflow:hidden}.habitat-meadow .companion-habitat-sky{bottom:var(--meadow-ground);background:radial-gradient(circle at 82% 11%,rgba(255,248,210,.6) 0%,rgba(255,230,160,.12) 24%,transparent 42%),radial-gradient(circle at 18% 14%,rgba(255,255,255,.22) 0%,transparent 30%),radial-gradient(ellipse 105% 55% at 50% 100%,rgba(190,238,205,.38) 0%,transparent 68%),linear-gradient(180deg,#72bce8,#8ecff5 22%,#a8dff5 48%,#c2ebd8 78%,#d6f0e2)}.meadow-sky-depth{position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.08) 0%,transparent 22%),linear-gradient(180deg,transparent 58%,rgba(255,255,255,.1) 82%,rgba(215,242,225,.2) 100%);pointer-events:none}.meadow-sky-haze{position:absolute;left:-5%;right:-5%;bottom:0;height:38%;background:linear-gradient(180deg,transparent 0%,rgba(225,248,232,.22) 65%,rgba(205,238,215,.32) 100%);pointer-events:none}.meadow-horizon-glow{position:absolute;left:-10%;right:-10%;bottom:-6%;height:32%;background:radial-gradient(ellipse 85% 55% at 50% 100%,rgba(255,252,230,.32) 0%,transparent 72%);pointer-events:none}.meadow-sky-glow{position:absolute;inset:0;background:radial-gradient(ellipse 75% 48% at 50% 100%,rgba(160,225,175,.18) 0%,transparent 74%),radial-gradient(circle at 80% 12%,rgba(255,240,180,.1) 0%,transparent 38%);pointer-events:none}.habitat-meadow .habitat-sun{width:28px;height:28px;top:8%;right:11%;z-index:2;background:radial-gradient(circle at 32% 32%,#fffef0,#ffe566 38%,#f4b942 72%,#e8a030);animation:meadow-sun-pulse 5s ease-in-out infinite}.meadow-sun-corona{position:absolute;top:5%;right:8%;width:44px;height:44px;border-radius:50%;background:radial-gradient(circle,rgba(255,235,150,.35) 0%,rgba(255,220,100,.08) 45%,transparent 70%);animation:meadow-sun-pulse 5s ease-in-out infinite;pointer-events:none}.habitat-meadow .meadow-sun-rays{position:absolute;top:4%;right:7%;width:56px;height:56px;border-radius:50%;z-index:1;opacity:.55;background:conic-gradient(from -8deg,transparent 0deg,rgba(255,245,180,.14) 8deg,transparent 18deg,rgba(255,240,160,.1) 28deg,transparent 38deg,rgba(255,245,180,.12) 48deg,transparent 58deg,rgba(255,240,160,.08) 68deg,transparent 78deg,rgba(255,245,180,.1) 88deg,transparent 100deg);animation:meadow-rays-spin 40s linear infinite;pointer-events:none}@keyframes meadow-sun-pulse{0%,to{box-shadow:0 0 16px #ffd93d99,0 0 32px #ffc85033;transform:scale(1)}50%{box-shadow:0 0 24px #ffd93dd9,0 0 48px #ffc85059;transform:scale(1.06)}}@keyframes meadow-rays-spin{to{transform:rotate(360deg)}}.habitat-meadow .habitat-cloud{opacity:.92;background:#ffffffe6;box-shadow:0 2px 8px #78a0c826}.habitat-meadow .habitat-cloud-a{top:14%;left:6%;width:54px;height:16px;animation:habitat-cloud-drift 32s linear infinite}.habitat-meadow .habitat-cloud-a:before{width:22px;height:22px;top:-11px;left:8px}.habitat-meadow .habitat-cloud-a:after{width:28px;height:18px;top:-8px;left:22px}.habitat-meadow .habitat-cloud-b{top:24%;left:52%;width:42px;height:13px;opacity:.82;animation:habitat-cloud-drift 38s linear infinite reverse}.habitat-meadow .habitat-cloud-b:before{width:16px;height:16px;top:-8px;left:6px}.habitat-meadow .habitat-cloud-b:after{width:20px;height:14px;top:-6px;left:16px}.habitat-meadow .habitat-cloud-c{top:10%;left:34%;width:36px;height:12px;opacity:.72;animation:habitat-cloud-drift 44s linear infinite}.habitat-meadow .habitat-cloud-c:before{width:14px;height:14px;top:-7px;left:5px}.habitat-meadow .habitat-cloud-c:after{width:18px;height:12px;top:-5px;left:14px}.habitat-cloud-d{top:20%;left:72%;width:32px;height:11px;opacity:.65;animation:habitat-cloud-drift 50s linear infinite}.habitat-cloud-d:before{width:12px;height:12px;top:-6px;left:4px}.habitat-cloud-d:after{width:16px;height:10px;top:-4px;left:12px}.meadow-birds{position:absolute;inset:12% 8% 50%;pointer-events:none}.meadow-bird{position:absolute;width:6px;height:3px;border-radius:50% 50% 0 0;background:#2d374673;animation:meadow-bird-glide 18s ease-in-out infinite}.meadow-bird:before,.meadow-bird:after{content:"";position:absolute;top:0;width:4px;height:2px;background:inherit;border-radius:50% 50% 0 0}.meadow-bird:before{left:-3px;transform:rotate(-25deg)}.meadow-bird:after{right:-3px;transform:rotate(25deg)}.meadow-bird-a{top:18%;left:28%;animation-duration:22s}.meadow-bird-b{top:32%;left:58%;transform:scale(.75);opacity:.7;animation-duration:26s;animation-delay:-8s}@keyframes meadow-bird-glide{0%,to{transform:translate(0)}25%{transform:translate(24px,-6px)}50%{transform:translate(48px,2px)}75%{transform:translate(20px,4px)}}.habitat-decor-meadow{z-index:3}.meadow-hills-back{position:absolute;left:-12%;right:-12%;bottom:18%;height:48%;background:radial-gradient(ellipse 55% 90% at 8% 100%,rgba(58,128,52,.62) 0%,transparent 64%),radial-gradient(ellipse 48% 78% at 38% 100%,rgba(52,118,48,.52) 0%,transparent 60%),radial-gradient(ellipse 44% 72% at 68% 100%,rgba(62,132,56,.48) 0%,transparent 58%),radial-gradient(ellipse 40% 68% at 94% 100%,rgba(55,122,50,.44) 0%,transparent 55%);filter:blur(.3px)}.meadow-hills-mid{position:absolute;left:-6%;right:-6%;bottom:21%;height:38%;background:radial-gradient(ellipse 42% 85% at 22% 100%,rgba(82,158,68,.45) 0%,transparent 62%),radial-gradient(ellipse 38% 75% at 58% 100%,rgba(74,148,62,.38) 0%,transparent 58%),radial-gradient(ellipse 34% 70% at 86% 100%,rgba(88,162,72,.32) 0%,transparent 55%)}.meadow-tree-line{position:absolute;left:-2%;right:-2%;bottom:32%;height:16%;opacity:.55;background:radial-gradient(ellipse 8% 95% at 6% 100%,rgba(42,88,38,.7) 0%,transparent 100%),radial-gradient(ellipse 6% 88% at 12% 100%,rgba(38,82,34,.65) 0%,transparent 100%),radial-gradient(ellipse 7% 92% at 18% 100%,rgba(44,90,40,.6) 0%,transparent 100%),radial-gradient(ellipse 5% 80% at 24% 100%,rgba(40,85,36,.55) 0%,transparent 100%),radial-gradient(ellipse 6% 85% at 76% 100%,rgba(42,88,38,.6) 0%,transparent 100%),radial-gradient(ellipse 8% 90% at 84% 100%,rgba(38,82,34,.65) 0%,transparent 100%),radial-gradient(ellipse 7% 88% at 92% 100%,rgba(44,90,40,.58) 0%,transparent 100%);filter:blur(.5px)}.meadow-hills-front{position:absolute;left:-4%;right:-4%;bottom:24%;height:28%;background:radial-gradient(ellipse 38% 92% at 28% 100%,rgba(111,191,88,.42) 0%,transparent 66%),radial-gradient(ellipse 32% 85% at 68% 100%,rgba(98,178,78,.36) 0%,transparent 62%),radial-gradient(ellipse 28% 78% at 48% 100%,rgba(120,200,95,.28) 0%,transparent 58%)}.meadow-mist{position:absolute;left:-5%;right:-5%;bottom:23%;height:22%;background:linear-gradient(180deg,transparent 0%,rgba(255,255,255,.08) 35%,rgba(255,255,255,.16) 55%,transparent 100%);animation:meadow-mist-drift 14s ease-in-out infinite;pointer-events:none}@keyframes meadow-mist-drift{0%,to{opacity:.45;transform:translate(0)}50%{opacity:.9;transform:translate(8px)}}.meadow-path{position:absolute;left:38%;bottom:25%;width:28%;height:14%;transform:translate(-50%) perspective(100px) rotateX(58deg);border-radius:50%;background:radial-gradient(ellipse at center,rgba(194,154,108,.42) 0%,rgba(168,132,88,.18) 45%,transparent 72%);opacity:.75;pointer-events:none}.meadow-pond{position:absolute;left:58%;bottom:calc(24% + 2px);width:22%;height:10px;transform:translate(-50%);border-radius:999px;background:linear-gradient(180deg,#8cd2ff59,#64b4e640);box-shadow:inset 0 1px 3px #ffffff59,0 1px 4px #3c78b426;overflow:hidden}.meadow-pond:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);animation:meadow-pond-shimmer 4s ease-in-out infinite}@keyframes meadow-pond-shimmer{0%,to{transform:translate(-100%);opacity:.4}50%{transform:translate(100%);opacity:.8}}.meadow-tree-far{left:58%;width:58px;bottom:29%;opacity:.72;z-index:2;filter:blur(.4px) drop-shadow(1px 2px 3px rgba(25,55,22,.2))}.meadow-tree-frame-left{left:-1%;width:118px;bottom:16%;opacity:.96;z-index:6;filter:drop-shadow(3px 6px 8px rgba(25,55,22,.32));animation:meadow-tree-sway 8s ease-in-out infinite}.meadow-tree-pine-front{left:13%;width:132px;bottom:calc(var(--meadow-ground) - var(--meadow-feet-nudge, 0px) - 8px);opacity:1;z-index:11;pointer-events:none;filter:drop-shadow(4px 8px 10px rgba(20,45,18,.35));animation:meadow-tree-sway 9s ease-in-out infinite reverse}.meadow-tree-pine-front,.meadow-tree-pine-front *{opacity:1}.meadow-tree-oak{left:96%;width:108px;bottom:16%;opacity:.98;z-index:6;filter:drop-shadow(3px 6px 8px rgba(25,55,22,.32));animation:meadow-tree-sway 6s ease-in-out infinite}.meadow-tree-birch{left:22%;width:72px;bottom:20%;opacity:.92;z-index:5;filter:drop-shadow(2px 5px 6px rgba(25,55,22,.26));animation:meadow-tree-sway 7s ease-in-out infinite reverse}@keyframes meadow-tree-sway{0%,to{transform:translate(-50%) rotate(0)}50%{transform:translate(-50%) rotate(.7deg)}}.meadow-rock{left:32%;width:38px;bottom:calc(var(--meadow-ground) - 1px);z-index:4;filter:drop-shadow(0 3px 2px rgba(30,60,25,.3))}.meadow-flower-patch{position:absolute;left:42%;bottom:calc(var(--meadow-ground) - 2px);transform:translate(-50%);z-index:5}.meadow-flower-svg{width:52px;height:auto;display:block;filter:drop-shadow(0 2px 2px rgba(40,80,35,.25));transition:transform .5s ease,filter .5s ease}.meadow-flower-glow{position:absolute;left:50%;bottom:0;width:48px;height:18px;transform:translate(-50%);border-radius:999px;background:radial-gradient(ellipse,rgba(255,143,171,.4) 0%,transparent 72%);opacity:0;transition:opacity .5s ease}.meadow-bush-left{left:14%;width:62px;bottom:calc(var(--meadow-ground) - 2px);z-index:4;filter:drop-shadow(0 3px 4px rgba(30,60,25,.24))}.meadow-bush-mid{left:68%;width:54px;bottom:calc(var(--meadow-ground) - 1px);z-index:4;opacity:.9;filter:drop-shadow(0 2px 3px rgba(30,60,25,.2))}.meadow-mushroom{left:52%;width:26px;bottom:calc(var(--meadow-ground) + 1px);z-index:4}.meadow-stump{left:84%;width:30px;bottom:calc(var(--meadow-ground) - 1px);z-index:4}.meadow-stream{position:absolute;left:58%;bottom:calc(var(--meadow-ground) - 2px);width:20%;height:6px;transform:translate(-50%);overflow:hidden;border-radius:999px;opacity:.65;z-index:3}.meadow-stream span{position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(116,185,255,.5),rgba(168,230,207,.4),transparent);animation:meadow-stream-flow 3s linear infinite}.meadow-stream span:nth-child(2){animation-delay:1s;opacity:.7}.meadow-stream span:nth-child(3){animation-delay:2s;opacity:.5}@keyframes meadow-stream-flow{0%{transform:translate(-100%)}to{transform:translate(100%)}}.meadow-grass-clumps{position:absolute;left:0;right:0;bottom:calc(var(--meadow-ground) - 4px);height:22px;z-index:5;pointer-events:none}.meadow-grass-clump{position:absolute;bottom:0;display:flex;align-items:flex-end;gap:1px;transform-origin:bottom center;animation:meadow-grass-sway 3s ease-in-out infinite}.meadow-grass-clump span{display:block;width:2px;border-radius:1px 1px 0 0;background:linear-gradient(180deg,#9ae888,#6fbf58 55%,#4a9340);box-shadow:0 0 1px #fff3}.meadow-grass-clump-a{left:3%;bottom:2px;animation-delay:.1s}.meadow-grass-clump-a span:nth-child(1){height:7px}.meadow-grass-clump-a span:nth-child(2){height:11px;width:3px}.meadow-grass-clump-a span:nth-child(3){height:8px}.meadow-grass-clump-a span:nth-child(4){height:5px}.meadow-grass-clump-b{left:14%;bottom:0;animation-delay:.5s}.meadow-grass-clump-b span:nth-child(1){height:5px}.meadow-grass-clump-b span:nth-child(2){height:9px}.meadow-grass-clump-b span:nth-child(3){height:13px;width:3px}.meadow-grass-clump-b span:nth-child(4){height:10px}.meadow-grass-clump-b span:nth-child(5){height:6px}.meadow-grass-clump-c{left:23%;bottom:4px;animation-delay:.8s}.meadow-grass-clump-c span:nth-child(1){height:8px}.meadow-grass-clump-c span:nth-child(2){height:12px;width:3px}.meadow-grass-clump-c span:nth-child(3){height:7px}.meadow-grass-clump-d{left:34%;bottom:1px;animation-delay:.3s}.meadow-grass-clump-d span:nth-child(1){height:6px}.meadow-grass-clump-d span:nth-child(2){height:10px}.meadow-grass-clump-d span:nth-child(3){height:14px;width:3px}.meadow-grass-clump-d span:nth-child(4){height:8px}.meadow-grass-clump-e{left:44%;bottom:5px;animation-delay:1.1s}.meadow-grass-clump-e span:nth-child(1){height:5px}.meadow-grass-clump-e span:nth-child(2){height:9px}.meadow-grass-clump-e span:nth-child(3){height:12px;width:3px}.meadow-grass-clump-f{left:58%;bottom:0;animation-delay:.6s}.meadow-grass-clump-f span:nth-child(1){height:9px;width:3px}.meadow-grass-clump-f span:nth-child(2){height:6px}.meadow-grass-clump-f span:nth-child(3){height:11px}.meadow-grass-clump-f span:nth-child(4){height:7px}.meadow-grass-clump-f span:nth-child(5){height:4px}.meadow-grass-clump-g{left:67%;bottom:3px;animation-delay:.9s}.meadow-grass-clump-g span:nth-child(1){height:5px}.meadow-grass-clump-g span:nth-child(2){height:10px}.meadow-grass-clump-g span:nth-child(3){height:13px;width:3px}.meadow-grass-clump-g span:nth-child(4){height:7px}.meadow-grass-clump-h{left:79%;bottom:1px;animation-delay:.4s}.meadow-grass-clump-h span:nth-child(1){height:7px}.meadow-grass-clump-h span:nth-child(2){height:11px;width:3px}.meadow-grass-clump-h span:nth-child(3){height:8px}.meadow-grass-clump-i{left:91%;bottom:4px;animation-delay:1.3s}.meadow-grass-clump-i span:nth-child(1){height:6px}.meadow-grass-clump-i span:nth-child(2){height:10px;width:3px}.meadow-grass-clump-i span:nth-child(3){height:7px}.meadow-grass-clump-i span:nth-child(4){height:5px}.meadow-grass-rim{position:absolute;top:-24px;left:-2%;right:-2%;height:28px;z-index:3;pointer-events:none}.meadow-grass-rim .meadow-grass-clump{animation-duration:3.5s}.meadow-grass-clump-r1{left:1%;bottom:4px;animation-delay:.2s}.meadow-grass-clump-r1 span:nth-child(1){height:8px}.meadow-grass-clump-r1 span:nth-child(2){height:14px;width:3px}.meadow-grass-clump-r1 span:nth-child(3){height:10px}.meadow-grass-clump-r2{left:8%;bottom:0;animation-delay:.7s}.meadow-grass-clump-r2 span:nth-child(1){height:6px}.meadow-grass-clump-r2 span:nth-child(2){height:11px}.meadow-grass-clump-r2 span:nth-child(3){height:16px;width:3px}.meadow-grass-clump-r2 span:nth-child(4){height:9px}.meadow-grass-clump-r3{left:16%;bottom:5px;animation-delay:.4s}.meadow-grass-clump-r3 span:nth-child(1){height:5px}.meadow-grass-clump-r3 span:nth-child(2){height:9px}.meadow-grass-clump-r3 span:nth-child(3){height:13px;width:3px}.meadow-grass-clump-r4{left:26%;bottom:1px;animation-delay:1s}.meadow-grass-clump-r4 span:nth-child(1){height:10px}.meadow-grass-clump-r4 span:nth-child(2){height:15px;width:3px}.meadow-grass-clump-r4 span:nth-child(3){height:8px}.meadow-grass-clump-r4 span:nth-child(4){height:12px}.meadow-grass-clump-r4 span:nth-child(5){height:6px}.meadow-grass-clump-r5{left:37%;bottom:6px;animation-delay:.3s}.meadow-grass-clump-r5 span:nth-child(1){height:6px}.meadow-grass-clump-r5 span:nth-child(2){height:12px}.meadow-grass-clump-r5 span:nth-child(3){height:17px;width:3px}.meadow-grass-clump-r6{left:51%;bottom:2px;animation-delay:.8s}.meadow-grass-clump-r6 span:nth-child(1){height:4px}.meadow-grass-clump-r6 span:nth-child(2){height:8px}.meadow-grass-clump-r6 span:nth-child(3){height:14px;width:3px}.meadow-grass-clump-r6 span:nth-child(4){height:11px}.meadow-grass-clump-r7{left:64%;bottom:0;animation-delay:.5s}.meadow-grass-clump-r7 span:nth-child(1){height:9px;width:3px}.meadow-grass-clump-r7 span:nth-child(2){height:13px}.meadow-grass-clump-r7 span:nth-child(3){height:7px}.meadow-grass-clump-r7 span:nth-child(4){height:11px}.meadow-grass-clump-r7 span:nth-child(5){height:5px}.meadow-grass-clump-r8{left:87%;bottom:3px;animation-delay:.9s}.meadow-grass-clump-r8 span:nth-child(1){height:6px}.meadow-grass-clump-r8 span:nth-child(2){height:12px}.meadow-grass-clump-r8 span:nth-child(3){height:18px;width:3px}.meadow-grass-clump-r8 span:nth-child(4){height:10px}@keyframes meadow-grass-sway{0%,to{transform:rotate(-2deg)}50%{transform:rotate(3deg)}}.meadow-foreground-tufts{position:absolute;left:0;right:0;bottom:0;height:20%;z-index:7;pointer-events:none}.meadow-foreground-tufts span{position:absolute;bottom:0;width:3px;border-radius:2px 2px 0 0;background:linear-gradient(180deg,#8fd878,#4a9340 70%,#357528);transform-origin:bottom center;animation:meadow-grass-sway 3s ease-in-out infinite;filter:drop-shadow(0 -1px 0 rgba(255,255,255,.12))}.meadow-foreground-tufts span:nth-child(1){left:1%;height:18px;animation-delay:.2s}.meadow-foreground-tufts span:nth-child(2){left:9%;height:24px;width:4px}.meadow-foreground-tufts span:nth-child(3){left:17%;height:16px;animation-delay:.6s}.meadow-foreground-tufts span:nth-child(4){left:26%;height:20px;width:4px;animation-delay:.4s}.meadow-foreground-tufts span:nth-child(5){left:54%;height:19px;animation-delay:.7s}.meadow-foreground-tufts span:nth-child(6){left:63%;height:26px;width:4px;animation-delay:.8s}.meadow-foreground-tufts span:nth-child(7){left:76%;height:17px;animation-delay:1s}.meadow-foreground-tufts span:nth-child(8){left:92%;height:21px;width:4px;animation-delay:.3s}.meadow-wildflower-scatter{position:absolute;left:0;right:0;bottom:0;top:var(--meadow-ground);z-index:4}.meadow-wildflower-scatter span{position:absolute;width:4px;height:4px;border-radius:50%;transform:translate(-50%)}.meadow-wildflower-scatter span:nth-child(1){left:11%;bottom:58%;background:#ff8fab;box-shadow:0 0 0 1px #ff8fab66}.meadow-wildflower-scatter span:nth-child(2){left:24%;bottom:72%;background:#ffd93d;width:3px;height:3px}.meadow-wildflower-scatter span:nth-child(3){left:33%;bottom:45%;background:#c084fc}.meadow-wildflower-scatter span:nth-child(4){left:41%;bottom:68%;background:#ff8fab;width:3px;height:3px}.meadow-wildflower-scatter span:nth-child(5){left:49%;bottom:38%;background:#74c0fc}.meadow-wildflower-scatter span:nth-child(6){left:57%;bottom:62%;background:#ffd93d;width:3px;height:3px}.meadow-wildflower-scatter span:nth-child(7){left:65%;bottom:52%;background:#ff8fab;width:3px;height:3px}.meadow-wildflower-scatter span:nth-child(8){left:74%;bottom:78%;background:#c084fc;width:3px;height:3px}.meadow-wildflower-scatter span:nth-child(9){left:83%;bottom:44%;background:#ffd93d}.meadow-dew-sparkles{position:absolute;inset:28% 6% 32%;pointer-events:none;z-index:5}.meadow-dew-sparkles span{position:absolute;width:2px;height:2px;border-radius:50%;background:#ffffffe6;box-shadow:0 0 3px #fff9;animation:meadow-dew-twinkle 3s ease-in-out infinite}.meadow-dew-sparkles span:nth-child(1){left:22%;top:40%}.meadow-dew-sparkles span:nth-child(2){left:44%;top:55%;animation-delay:.7s}.meadow-dew-sparkles span:nth-child(3){left:62%;top:35%;animation-delay:1.4s}.meadow-dew-sparkles span:nth-child(4){left:78%;top:50%;animation-delay:2.1s}.meadow-dew-sparkles span:nth-child(5){left:35%;top:25%;animation-delay:2.8s}@keyframes meadow-dew-twinkle{0%,to{opacity:.15;transform:scale(.7)}50%{opacity:1;transform:scale(1.3)}}.meadow-pebbles span:nth-child(6){left:82%;width:3px;height:2px;opacity:.45}.meadow-bee{position:absolute;left:40%;top:36%;z-index:6;animation:meadow-bee-flight 8s ease-in-out infinite}.meadow-bee .bee-body{display:block;width:5px;height:4px;border-radius:50%;background:repeating-linear-gradient(90deg,#ffd93d 0 2px,#2d3436 2px 3px);box-shadow:0 0 4px #ffd93d66}@keyframes meadow-bee-flight{0%,to{transform:translate(0)}25%{transform:translate(18px,-8px)}50%{transform:translate(32px,2px)}75%{transform:translate(12px,6px)}}.habitat-meadow .companion-habitat-ground{height:var(--meadow-ground);z-index:4;background:linear-gradient(180deg,rgba(255,255,255,.12) 0%,transparent 8%),linear-gradient(180deg,#a8f090,#8ae878 12%,#6fbf58 42%,#4a9340 70%,#357528 92%,#2a5c20)}.meadow-ground-depth{position:absolute;inset:0;background:radial-gradient(ellipse 80% 40% at 50% 0%,rgba(255,255,255,.08) 0%,transparent 55%),linear-gradient(180deg,transparent 40%,rgba(20,50,18,.12) 100%);pointer-events:none}.meadow-ground-variation{position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse 24% 20% at 12% 42%,rgba(118,200,92,.38) 0%,transparent 72%),radial-gradient(ellipse 20% 16% at 28% 68%,rgba(68,130,56,.32) 0%,transparent 70%),radial-gradient(ellipse 26% 22% at 48% 38%,rgba(130,210,100,.28) 0%,transparent 68%),radial-gradient(ellipse 22% 18% at 62% 72%,rgba(58,118,48,.34) 0%,transparent 70%),radial-gradient(ellipse 18% 15% at 78% 48%,rgba(105,185,82,.3) 0%,transparent 68%),radial-gradient(ellipse 21% 17% at 88% 78%,rgba(72,140,60,.28) 0%,transparent 72%),radial-gradient(ellipse 16% 14% at 35% 55%,rgba(90,160,72,.22) 0%,transparent 65%),radial-gradient(ellipse 19% 16% at 55% 58%,rgba(82,148,66,.26) 0%,transparent 68%)}.meadow-ground-patches{position:absolute;inset:0;z-index:2;pointer-events:none}.meadow-ground-patch{position:absolute;display:flex;align-items:flex-end;gap:1px;transform-origin:bottom center;animation:meadow-grass-sway 4s ease-in-out infinite;opacity:.85}.meadow-ground-patch span{display:block;width:2px;border-radius:1px 1px 0 0;background:linear-gradient(180deg,#8fd878,#5a9e48 60%,#3d7a34)}.meadow-ground-patch-1{left:8%;top:22%;animation-delay:.2s}.meadow-ground-patch-1 span:nth-child(1){height:5px}.meadow-ground-patch-1 span:nth-child(2){height:8px;width:3px}.meadow-ground-patch-1 span:nth-child(3){height:4px}.meadow-ground-patch-2{left:19%;top:48%;animation-delay:.9s;opacity:.7}.meadow-ground-patch-2 span:nth-child(1){height:4px}.meadow-ground-patch-2 span:nth-child(2){height:7px}.meadow-ground-patch-2 span:nth-child(3){height:5px;width:3px}.meadow-ground-patch-2 span:nth-child(4){height:3px}.meadow-ground-patch-3{left:27%;top:31%;animation-delay:.5s}.meadow-ground-patch-3 span:nth-child(1){height:6px;width:3px}.meadow-ground-patch-3 span:nth-child(2){height:4px}.meadow-ground-patch-4{left:36%;top:62%;animation-delay:1.2s;opacity:.75}.meadow-ground-patch-4 span:nth-child(1){height:3px}.meadow-ground-patch-4 span:nth-child(2){height:6px}.meadow-ground-patch-4 span:nth-child(3){height:4px;width:3px}.meadow-ground-patch-5{left:44%;top:28%;animation-delay:.3s}.meadow-ground-patch-5 span:nth-child(1){height:5px}.meadow-ground-patch-5 span:nth-child(2){height:8px;width:3px}.meadow-ground-patch-5 span:nth-child(3){height:6px}.meadow-ground-patch-5 span:nth-child(4){height:4px}.meadow-ground-patch-6{left:52%;top:55%;animation-delay:.7s;opacity:.65}.meadow-ground-patch-6 span:nth-child(1){height:4px;width:3px}.meadow-ground-patch-6 span:nth-child(2){height:5px}.meadow-ground-patch-7{left:58%;top:38%;animation-delay:1.1s}.meadow-ground-patch-7 span:nth-child(1){height:5px}.meadow-ground-patch-7 span:nth-child(2){height:7px;width:3px}.meadow-ground-patch-7 span:nth-child(3){height:4px}.meadow-ground-patch-8{left:66%;top:68%;animation-delay:.4s;opacity:.72}.meadow-ground-patch-8 span:nth-child(1){height:3px}.meadow-ground-patch-8 span:nth-child(2){height:5px}.meadow-ground-patch-8 span:nth-child(3){height:7px;width:3px}.meadow-ground-patch-8 span:nth-child(4){height:4px}.meadow-ground-patch-9{left:73%;top:24%;animation-delay:.8s}.meadow-ground-patch-9 span:nth-child(1){height:6px;width:3px}.meadow-ground-patch-9 span:nth-child(2){height:4px}.meadow-ground-patch-10{left:81%;top:52%;animation-delay:1.4s;opacity:.68}.meadow-ground-patch-10 span:nth-child(1){height:4px}.meadow-ground-patch-10 span:nth-child(2){height:6px}.meadow-ground-patch-10 span:nth-child(3){height:5px;width:3px}.meadow-ground-patch-11{left:89%;top:34%;animation-delay:.6s}.meadow-ground-patch-11 span:nth-child(1){height:5px}.meadow-ground-patch-11 span:nth-child(2){height:8px;width:3px}.meadow-ground-patch-11 span:nth-child(3){height:4px}.meadow-ground-patch-11 span:nth-child(4){height:6px}.meadow-ground-patch-12{left:94%;top:58%;animation-delay:1s;opacity:.6}.meadow-ground-patch-12 span:nth-child(1){height:4px;width:3px}.meadow-ground-patch-12 span:nth-child(2){height:5px}.meadow-ground-foreground{position:absolute;left:-3%;right:-3%;bottom:0;height:14%;z-index:2;border-radius:50% 50% 0 0/14% 14% 0 0;background:linear-gradient(180deg,transparent 0%,rgba(42,92,32,.18) 35%,rgba(34,74,26,.45) 100%);pointer-events:none}.meadow-ground-shimmer{position:absolute;inset:0;opacity:.3;background:repeating-linear-gradient(105deg,transparent 0 12px,rgba(255,255,255,.05) 12px 13px,transparent 13px 28px);animation:meadow-shimmer 8s linear infinite}@keyframes meadow-shimmer{to{background-position:40px 0}}.habitat-meadow .habitat-grass-edge{display:none}.habitat-meadow .habitat-grass-texture{opacity:.22;z-index:1;background:radial-gradient(ellipse 30% 22% at 22% 45%,rgba(255,255,255,.07) 0%,transparent 70%),radial-gradient(ellipse 25% 20% at 58% 62%,rgba(255,255,255,.05) 0%,transparent 68%),radial-gradient(ellipse 28% 18% at 82% 35%,rgba(255,255,255,.06) 0%,transparent 70%),radial-gradient(ellipse 35% 24% at 40% 75%,rgba(0,0,0,.05) 0%,transparent 72%)}.habitat-meadow .habitat-vignette{z-index:8;box-shadow:inset 0 -24px 48px #23461e33,inset 0 0 32px #14322314}.meadow-actor-shadow{position:absolute;bottom:calc(-1 * var(--meadow-feet-nudge, 0px));width:32px;height:10px;transform:translate(-50%);border-radius:50%;background:radial-gradient(ellipse,rgba(30,60,25,.42) 0%,rgba(30,60,25,.12) 55%,transparent 75%);pointer-events:none;z-index:0}.habitat-meadow .companion-habitat-actor{bottom:calc(var(--meadow-ground) - var(--meadow-feet-nudge));height:52%}.habitat-snack-drop{position:absolute;transform:translate(-50%);z-index:9;pointer-events:none}.habitat-meadow .habitat-snack-drop{bottom:calc(var(--meadow-ground) - var(--meadow-feet-nudge) + 4px)}.habitat-snack-drop.falling{animation:habitat-snack-drop-fall 1.15s cubic-bezier(.33,1,.68,1) forwards}.habitat-snack-drop.landed .habitat-snack-sprite{animation:habitat-snack-land-bounce .35s ease-out}.habitat-snack-drop .habitat-snack-sprite{display:block;width:14px;height:14px;transform:scale(1.45);filter:drop-shadow(0 2px 3px rgba(40,60,30,.35))}@keyframes habitat-snack-drop-fall{0%{transform:translate(-50%,-200px) rotate(-25deg);opacity:0}10%{opacity:1}85%{transform:translate(-50%,8px) rotate(300deg)}to{transform:translate(-50%) rotate(360deg);opacity:1}}@keyframes habitat-snack-land-bounce{0%{transform:scale(1.45) translateY(-6px)}60%{transform:scale(1.45) translateY(2px)}to{transform:scale(1.45) translateY(0)}}.habitat-meadow .companion-habitat-actor>.companion-sprite-flip{filter:drop-shadow(0 2px 4px rgba(30,70,25,.32)) drop-shadow(0 1px 0 rgba(45,90,40,.28))}.habitat-meadow-at-flowers .meadow-flower-patch .meadow-flower-svg{transform:scale(1.1);filter:brightness(1.14) saturate(1.28) drop-shadow(0 2px 3px rgba(40,80,35,.25))}.habitat-meadow-at-flowers .meadow-flower-glow{opacity:1}.habitat-meadow-at-flowers .companion-habitat-sky{filter:saturate(1.1) brightness(1.03)}.habitat-meadow-at-flowers .meadow-wildflower-scatter span{animation:meadow-flower-pop 2s ease-in-out infinite alternate}@keyframes meadow-flower-pop{to{transform:translate(-50%) scale(1.15)}}.companion-habitat-ground{position:absolute;left:0;right:0;bottom:0;height:34%;z-index:4;background:linear-gradient(180deg,rgba(0,0,0,.04) 0%,transparent 18%),linear-gradient(180deg,#8fd878,#6fbf58 38%,#5aa648 72%,#457a38)}.habitat-grass-edge{position:absolute;top:-7px;left:0;right:0;height:8px;background:repeating-linear-gradient(90deg,#7cc965 0 3px,#8fd878 3px 5px,#6fbf58 5px 7px,transparent 7px 11px);opacity:.95}.habitat-grass-texture{position:absolute;inset:0;opacity:.35;background:repeating-linear-gradient(100deg,transparent 0 6px,rgba(255,255,255,.07) 6px 7px,transparent 7px 14px),repeating-linear-gradient(80deg,transparent 0 9px,rgba(0,0,0,.04) 9px 10px,transparent 10px 20px)}.habitat-vignette{position:absolute;inset:0;z-index:6;pointer-events:none;box-shadow:inset 0 0 28px #1e37281f}.companion-habitat-actor{position:absolute;left:0;right:0;bottom:34%;height:46%;z-index:10;pointer-events:none;overflow:visible}.companion-habitat-actor>.companion-sprite-flip{position:absolute;bottom:0;transition:left 2.6s ease-in-out;filter:drop-shadow(0 3px 0 rgba(45,90,40,.35))}.companion-sprite-flip{display:flex;align-items:flex-end;justify-content:center;transform:translate(-50%)}.companion-sprite-flip.facing-left{transform:translate(-50%) scaleX(-1)}.companion-sprite-viewport{overflow:visible;image-rendering:pixelated;flex-shrink:0;position:relative}.companion-sprite-viewport.species-emberling{overflow:visible;position:relative;z-index:1;image-rendering:pixelated;image-rendering:crisp-edges}.companion-sprite-sheet-wrap{position:relative;overflow:hidden;z-index:1}.companion-sprite-sheet{image-rendering:pixelated;position:relative}.companion-sprite-sheet.facing-left{transform:scaleX(-1);transform-origin:center bottom}.companion-header{display:flex;flex-direction:column;gap:.15rem}.companion-widget-chrome{display:flex;flex-direction:column;gap:.3rem}.companion-bottom-dock{margin-top:auto;display:flex;flex-direction:column;gap:.3rem;padding-top:.35rem;padding-bottom:.35rem;border-top:1px solid color-mix(in srgb,var(--line) 65%,transparent);background:color-mix(in srgb,var(--surface) 94%,transparent);container-type:inline-size;container-name:companion-dock;min-width:0;flex-shrink:0}.companion-dock-body{display:flex;flex-direction:column;gap:.28rem;min-width:0}.companion-dock-info{display:flex;flex-direction:column;gap:.25rem;min-width:0}.companion-dock-meta{min-width:0}.companion-care-top{display:flex;align-items:center;gap:.45rem;min-width:0;flex-wrap:wrap}.companion-care-top .companion-name-editor{flex:0 1 auto;min-width:0;max-width:100%}.companion-care-top .companion-xp-section.compact{flex:1 1 120px;min-width:0}.companion-bottom-dock .companion-actions{margin-top:0;width:100%;grid-template-columns:repeat(4,minmax(0,1fr))}.companion-display{display:flex;align-items:center;gap:.75rem}.companion-sprite-stage{flex-shrink:0;width:72px;height:72px;display:flex;align-items:flex-end;justify-content:center;overflow:visible}.companion-info{flex:1;min-width:0}.companion-name{font-weight:700;font-size:.95rem;margin-bottom:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.companion-xp-section{display:flex;flex-direction:column;gap:.15rem}.companion-xp-section.compact{flex-direction:row;align-items:center;gap:.35rem}.companion-xp-section.compact .companion-level-label{font-size:.68rem;white-space:nowrap}.companion-xp-section.compact .companion-xp-bar{flex:1;min-width:0;height:6px}.companion-xp-section.compact .companion-xp-text{font-size:.6rem;white-space:nowrap}.companion-level-label{font-size:.75rem;font-weight:600;color:var(--brand-blue)}.companion-xp-bar{height:8px;border-radius:4px;background:color-mix(in srgb,var(--line) 60%,transparent);overflow:hidden;transition:box-shadow .3s}.companion-xp-bar.pulse{box-shadow:0 0 8px var(--brand-blue)}.companion-xp-fill{display:block;height:100%;min-width:2px;border-radius:4px;background:linear-gradient(90deg,var(--brand-blue),var(--brand-cyan));transition:width .5s ease-out}.companion-xp-text{font-size:.68rem;color:var(--muted)}.companion-stats{display:flex;flex-direction:column;gap:.3rem}.companion-stat-row{display:flex;align-items:center;gap:.4rem}.companion-stat-row.low .companion-stat-label{opacity:.7}.companion-stat-label{font-size:.68rem;white-space:nowrap;width:6.5rem;flex-shrink:0}.companion-stat-value{font-size:.62rem;color:var(--muted);width:2.5rem;flex-shrink:0;text-align:right}.companion-stat-bar{flex:1;height:7px;border-radius:3px;background:color-mix(in srgb,var(--line) 65%,transparent);overflow:hidden}.companion-stat-fill{display:block;height:100%;min-width:3px;border-radius:3px;background:var(--brand-blue);transition:width .6s ease-out}.companion-stat-row.low .companion-stat-fill{background:#e17055}.companion-stat-chip-bar .companion-stat-fill{display:block;height:100%;min-width:2px;background:var(--brand-blue)}.companion-inventory{display:flex;align-items:center;gap:.4rem;font-size:.68rem;color:var(--muted);flex-wrap:wrap}.companion-inventory.empty{opacity:.7}.companion-inventory.compact{display:flex;flex-wrap:wrap;gap:.3rem;font-size:.62rem}.companion-inventory.compact.empty{opacity:.65}.companion-inventory-label{font-weight:600;color:var(--ink)}.companion-inventory-items{display:flex;gap:.35rem;flex-wrap:wrap}.companion-inventory-item{display:inline-flex;align-items:center;gap:.22rem;background:var(--surface-muted, rgba(0, 0, 0, .05));padding:.1rem .4rem;border-radius:4px;font-size:.65rem}.companion-food-sprite{position:relative;display:inline-block;width:16px;height:14px;flex:0 0 16px}.companion-food-sprite.food-berry:before,.companion-food-sprite.food-berry:after{content:"";position:absolute;bottom:1px;width:8px;height:8px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffb3b3 0 16%,#e63946 18% 70%,#8b1624);box-shadow:inset -1px -1px #0000002e}.companion-food-sprite.food-berry:before{left:2px}.companion-food-sprite.food-berry:after{right:1px;bottom:3px}.companion-food-sprite.food-berry{background:linear-gradient(135deg,transparent 0 42%,#2d8a45 43% 58%,transparent 59%) 6px 0 / 8px 6px no-repeat}.companion-food-sprite.food-crunch{width:18px;background:linear-gradient(90deg,transparent 33%,rgba(255,255,255,.45) 34% 39%,transparent 40% 66%,rgba(255,255,255,.42) 67% 72%,transparent 73%),linear-gradient(135deg,#7b3f22,#3b1d10);border:1px solid #21100a;border-radius:3px;box-shadow:inset 0 2px #ffd29638;transform:rotate(-7deg)}.companion-food-sprite.food-treat{width:18px;background:radial-gradient(circle at 5px 7px,#8b5a2b 0 1.5px,transparent 1.7px),radial-gradient(circle at 13px 7px,#8b5a2b 0 1.5px,transparent 1.7px),linear-gradient(135deg,#f7d28b,#c98b42);border:1px solid #6b3f24;border-radius:8px 8px 5px 5px;clip-path:polygon(13% 18%,28% 0,50% 15%,72% 0,87% 18%,100% 50%,86% 82%,72% 100%,50% 85%,28% 100%,14% 82%,0 50%)}.companion-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;margin-top:auto}.companion-action-btn{flex:1;padding:.42rem .15rem;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink);font-size:clamp(.58rem,2.4vw,.7rem);font-weight:600;cursor:pointer;transition:background .15s,transform .1s,box-shadow .15s;white-space:nowrap;min-height:2rem;min-width:0;overflow:hidden;text-overflow:ellipsis}.companion-action-btn:hover:not(:disabled){background:var(--surface-muted, rgba(0, 0, 0, .04));transform:translateY(-1px);box-shadow:0 2px 6px #00000014}.companion-action-btn:active:not(:disabled){transform:translateY(0)}.companion-action-btn:disabled{opacity:.45;cursor:not-allowed}.companion-action-btn.feed:not(:disabled):hover{border-color:#e17055}.companion-action-btn.play:not(:disabled):hover{border-color:#6c5ce7}.companion-action-btn.pet:not(:disabled):hover{border-color:#fd79a8}.companion-action-btn.bath:not(:disabled):hover{border-color:#74b9ff}.companion-level-up{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:10;pointer-events:none;animation:companion-level-fade 3.5s ease-out forwards}.companion-level-up-burst{position:absolute;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,var(--brand-blue) 0%,transparent 70%);opacity:0;animation:companion-burst 1.2s ease-out forwards}.companion-level-up-text{font-size:1.4rem;font-weight:800;color:var(--brand-blue);z-index:1;animation:companion-level-bounce .6s ease-out}.companion-level-up-sub{font-size:.72rem;color:var(--muted);z-index:1;margin-top:.2rem}@keyframes companion-burst{0%{transform:scale(0);opacity:.8}to{transform:scale(2.5);opacity:0}}@keyframes companion-level-bounce{0%{transform:scale(.3);opacity:0}60%{transform:scale(1.15)}to{transform:scale(1);opacity:1}}@keyframes companion-level-fade{0%,70%{opacity:1}to{opacity:0}}.companion-reward-toast{position:absolute;top:0;right:0;background:var(--brand-blue);color:#fff;font-size:.68rem;font-weight:600;padding:.25rem .5rem;border-radius:6px;z-index:11;animation:companion-toast-in .3s ease-out,companion-toast-out .4s ease-in 2.5s forwards}@keyframes companion-toast-in{0%{transform:translateY(-8px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes companion-toast-out{to{opacity:0;transform:translateY(-4px)}}.companion-stage-badge{display:block;text-align:center;font-size:.6rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.companion-name-button{display:inline-flex;align-items:center;gap:.3rem;padding:0;border:none;background:none;color:var(--ink);cursor:pointer;max-width:100%;margin-bottom:.25rem}.companion-name-button:hover{color:var(--brand-blue)}.companion-name-button .companion-name{font-weight:700;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.companion-name-editor input{width:100%;font-weight:700;font-size:.95rem;padding:.15rem .35rem;border:1px solid var(--brand-blue);border-radius:4px;background:var(--surface);color:var(--ink);margin-bottom:.25rem}.companion-evolution{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:12;pointer-events:none;animation:companion-level-fade 4.5s ease-out forwards}.companion-evolution-glow{position:absolute;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,#ffd93d 0%,var(--brand-blue) 40%,transparent 70%);opacity:0;animation:companion-burst 1.5s ease-out forwards}.companion-evolution-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#ffd93d;z-index:1}.companion-evolution-text{font-size:1.1rem;font-weight:800;color:var(--brand-blue);z-index:1;text-align:center;padding:0 .5rem;animation:companion-level-bounce .6s ease-out}.companion-evolution-sub{font-size:.68rem;color:var(--muted);z-index:1;margin-top:.25rem;text-align:center;padding:0 .75rem}.companion-onboarding{position:absolute;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;background:#00000059;border-radius:inherit;padding:.5rem}.companion-onboarding-card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:1rem;max-width:260px;box-shadow:0 8px 24px #00000026;display:flex;flex-direction:column;gap:.5rem;font-size:.78rem}.companion-onboarding-card strong{font-size:.95rem}.companion-onboarding-card p{margin:0;color:var(--muted);line-height:1.45}.companion-onboarding-card ul{margin:0;padding-left:1.1rem;color:var(--muted);line-height:1.5}.companion-onboarding-icon{color:var(--brand-blue)}.companion-onboarding-close{position:absolute;top:.4rem;right:.4rem;border:none;background:none;color:var(--muted);cursor:pointer;padding:.15rem}.companion-onboarding-close:hover{color:var(--ink)}.companion-stats.rings.compact{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;align-items:center;width:100%;gap:.15rem;padding:0;margin:0}.companion-stat-ring{position:relative;width:34px;height:34px;flex:0 0 auto}.companion-stat-ring svg{display:block;width:100%;height:100%}.companion-stat-ring-track{fill:none;stroke:color-mix(in srgb,var(--line) 55%,var(--surface));stroke-width:3}.companion-stat-ring-fill{fill:none;stroke:var(--brand-blue);stroke-width:3;stroke-linecap:round;transition:stroke-dashoffset .6s ease-out,stroke .3s}.companion-stat-ring.warn .companion-stat-ring-fill{stroke:#f1c40f}.companion-stat-ring.warn{animation:companion-stat-flash-yellow 1.4s ease-in-out infinite}.companion-stat-ring.critical .companion-stat-ring-fill{stroke:#e74c3c}.companion-stat-ring.critical{animation:companion-stat-flash-red 1s ease-in-out infinite}.companion-stat-ring-icon{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.82rem;line-height:1;pointer-events:none}@keyframes companion-stat-flash-yellow{0%,to{filter:drop-shadow(0 0 1px rgba(241,196,15,.35))}50%{filter:drop-shadow(0 0 7px rgba(241,196,15,.85))}}@keyframes companion-stat-flash-red{0%,to{filter:drop-shadow(0 0 2px rgba(231,76,60,.45))}50%{filter:drop-shadow(0 0 9px rgba(231,76,60,1))}}.companion-stats.rings:not(.compact){display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.4rem}.companion-stat-item{display:flex;flex-direction:column;align-items:center;gap:.12rem;text-align:center;min-width:0}.companion-stat-item-label{font-size:.58rem;font-weight:600;line-height:1.2}.companion-stat-item-value{font-size:.55rem;color:var(--muted)}.companion-stat-item.warn .companion-stat-item-value{color:#d4a017;font-weight:600}.companion-stat-item.critical .companion-stat-item-value{color:#e74c3c;font-weight:600}.companion-widget-inner.size-small .companion-stat-ring{width:30px;height:30px}.companion-widget-inner.size-small .companion-stat-ring-icon{font-size:.72rem}.companion-widget-inner.size-wide .companion-stats.rings.compact{justify-content:space-evenly}.companion-bottom-dock .companion-dock-meta{min-width:0}@container companion-dock (max-width: 360px){.companion-bottom-dock .companion-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}@container companion-dock (max-width: 280px){.companion-care-top{flex-direction:column;align-items:stretch}.companion-care-top .companion-xp-section.compact{flex:1 1 auto}.companion-action-btn{font-size:.62rem;padding:.36rem .1rem;min-height:1.85rem}}.dashboard-widget.companion-widget{min-height:0}.dashboard-widget.companion-widget .widget-header{padding-bottom:6px}.dashboard-widget.companion-widget .companion-widget-inner{gap:.28rem;min-height:0;height:100%;overflow:hidden}.dashboard-widget.companion-widget .companion-habitat-shell{min-height:0;flex:1 1 0}.dashboard-widget.companion-widget .companion-habitat-shell .companion-habitat,.dashboard-widget.companion-widget .companion-habitat{min-height:0}.dashboard-widget.companion-widget .companion-widget-chrome{flex-direction:column;align-items:stretch;gap:6px;padding-bottom:2px;flex-shrink:0}.dashboard-widget.companion-widget .companion-bottom-dock{flex-shrink:0}.dashboard-widget.companion-widget .companion-engagement-row{display:none}.dashboard-widget.companion-widget .companion-switcher{width:100%;max-width:none;gap:.35rem}.dashboard-widget.companion-widget .companion-switcher-tab{min-height:44px;padding:.45rem .65rem}.dashboard-widget.companion-widget .companion-switcher-label{font-size:.82rem}.dashboard-widget.companion-widget .companion-switcher-level{font-size:.68rem;opacity:.92}.dashboard-widget.companion-widget .companion-milestones{display:none}.dashboard-widget.companion-widget .companion-streak-badge{font-size:.66rem;padding:2px 8px}.dashboard-widget.companion-widget.medium .companion-switcher-tab{min-height:40px;padding:.4rem .55rem}.dashboard-widget.companion-widget.medium .companion-switcher-label{font-size:.76rem}.dashboard-widget.companion-widget.medium .companion-switcher-level{font-size:.62rem}.dashboard-widget.companion-widget.medium .companion-stat-ring{width:30px;height:30px}.dashboard-widget.companion-widget.medium .companion-action-btn{font-size:.64rem;min-height:1.75rem;padding:.28rem .12rem}.dashboard-widget.companion-widget.small .companion-switcher-tab{min-height:34px;padding:.3rem .5rem}.dashboard-widget.companion-widget.small .companion-switcher-label{font-size:.72rem}.dashboard-widget.companion-widget.small .companion-switcher-level{font-size:.58rem}.dashboard-widget.companion-widget.small .companion-stats.rings.compact{display:none}.dashboard-widget.companion-widget.small .companion-bottom-dock{padding-top:.2rem;gap:.2rem}.dashboard-widget.companion-widget.small .companion-care-top{gap:.3rem}.dashboard-widget.companion-widget.small .companion-action-btn{font-size:.6rem;min-height:1.65rem;padding:.22rem .1rem}.dashboard-widget.companion-widget.small .companion-habitat-nameplate{display:none}.dashboard-widget.companion-widget.medium .companion-habitat-nameplate{max-width:calc(100% - 16px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@container companion-habitat (max-height: 140px){.companion-habitat-nameplate{display:none}.companion-speech-bubble{top:4%;max-width:78%;padding:5px 8px}.companion-speech-name{display:none}.companion-speech-bubble p{font-size:.68rem;line-height:1.25}}@container companion-habitat (max-height: 100px){.companion-speech-bubble{display:none}}@media(max-width:560px){.dashboard-widget.companion-widget .companion-widget-chrome{flex-direction:column;align-items:stretch}.dashboard-widget.companion-widget .companion-switcher{width:100%}}@media(max-width:640px){.companion-stat-label{width:5.5rem;font-size:.62rem}.companion-action-btn{font-size:.65rem;padding:.3rem .15rem}}.companion-switcher{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;margin-bottom:0;width:100%}.companion-switcher-tab{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:.12rem;min-height:44px;padding:.5rem .65rem;border-radius:10px;border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 92%,transparent);cursor:pointer;overflow:hidden;isolation:isolate;transition:border-color .15s,background .15s,transform .15s,box-shadow .15s,opacity .15s}.companion-switcher-tab:before{content:"";position:absolute;inset:0;opacity:.35;pointer-events:none}.companion-switcher-tab:not(.active):not(:disabled):hover{transform:translateY(-1px)}.companion-switcher-tab.active{cursor:default;opacity:1}.companion-switcher-tab.species-sproutling{border-color:color-mix(in srgb,#5a9e48 48%,var(--line));background:linear-gradient(145deg,#8fd4f0,#b8e8f8 28%,#c8efd0 58%,#8ecf73);box-shadow:inset 0 -10px 18px #3d7a342e}.companion-switcher-tab.species-sproutling:before{background:radial-gradient(circle at 82% 18%,rgba(255,235,150,.55) 0%,transparent 38%),radial-gradient(circle at 18% 78%,rgba(143,216,120,.28) 0%,transparent 42%)}.companion-switcher-tab.species-sproutling:not(.active){opacity:.82}.companion-switcher-tab.species-sproutling:not(.active):not(:disabled):hover{opacity:.95;border-color:color-mix(in srgb,#5a9e48 62%,var(--line))}.companion-switcher-tab.species-sproutling.active{border-color:color-mix(in srgb,#5a9e48 72%,var(--line));box-shadow:inset 0 0 0 1px #ffffff47,inset 0 -12px 20px #3d7a3438,0 4px 14px #4aa04833}.companion-switcher-tab.species-sproutling .companion-switcher-label{color:#1a3d22}.companion-switcher-tab.species-sproutling .companion-switcher-level{color:#2d5a36;opacity:.9}.companion-switcher-tab.species-emberling{border-color:color-mix(in srgb,#6c5ce7 52%,var(--line));background:linear-gradient(145deg,#0f0a1f,#2d1b69 42%,#4834a3 72%,#8b5a2b);box-shadow:inset 0 -10px 20px #ff9f431f}.companion-switcher-tab.species-emberling:before{background:radial-gradient(circle at 18% 22%,rgba(162,155,254,.42) 0%,transparent 36%),radial-gradient(circle at 78% 28%,rgba(255,159,67,.22) 0%,transparent 34%)}.companion-switcher-tab.species-emberling:not(.active){opacity:.84}.companion-switcher-tab.species-emberling:not(.active):not(:disabled):hover{opacity:.96;border-color:color-mix(in srgb,#ff9f43 50%,#6c5ce7)}.companion-switcher-tab.species-emberling.active{border-color:color-mix(in srgb,#ff9f43 62%,#6c5ce7);box-shadow:inset 0 0 0 1px #ffd93d38,inset 0 -12px 22px #ff9f4329,0 4px 16px #6c5ce747}.companion-switcher-tab.species-emberling .companion-switcher-label{color:#ffeaa7}.companion-switcher-tab.species-emberling .companion-switcher-level{color:#ffd59a;opacity:.92}.companion-switcher-label{position:relative;z-index:1;font-size:.78rem;font-weight:800}.companion-switcher-level{position:relative;z-index:1;font-size:.66rem;opacity:.88;letter-spacing:.04em}.companion-switcher-copy{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:.12rem}.companion-switcher-scenery{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}.switcher-cloud{position:absolute;border-radius:999px;background:#ffffffd1;box-shadow:0 1px #ffffff73}.switcher-cloud-a{top:7px;right:34%;width:20px;height:7px;animation:switcher-cloud-drift 9s ease-in-out infinite}.switcher-cloud-a:before,.switcher-cloud-a:after,.switcher-cloud-b:before,.switcher-cloud-b:after{content:"";position:absolute;border-radius:999px;background:#ffffffc7}.switcher-cloud-a:before{top:-3px;left:3px;width:10px;height:10px}.switcher-cloud-a:after{top:-2px;right:2px;width:12px;height:11px}.switcher-cloud-b{top:14px;right:12%;width:16px;height:6px;opacity:.9;animation:switcher-cloud-drift 12s ease-in-out infinite reverse}.switcher-cloud-b:before{top:-3px;left:2px;width:8px;height:8px}.switcher-cloud-b:after{top:-2px;right:1px;width:9px;height:9px}.switcher-hill{position:absolute;right:-8%;bottom:-18%;width:58%;height:55%;border-radius:50% 50% 0 0;background:linear-gradient(180deg,#7ec8608c,#3d7a34b8)}.switcher-tree{position:absolute;bottom:6px;width:16px;height:22px}.switcher-tree:before{content:"";position:absolute;left:50%;bottom:5px;width:14px;height:14px;transform:translate(-50%);border-radius:50% 50% 42% 42%;background:radial-gradient(circle at 40% 35%,#7fdc88,#3d8a45 58%,#2d6a35);box-shadow:-7px 2px 0 -4px #48a052,7px 1px 0 -5px #3f9349}.switcher-tree:after{content:"";position:absolute;left:50%;bottom:0;width:3px;height:7px;transform:translate(-50%);border-radius:2px;background:#5a3d1e}.switcher-tree-a{right:24%}.switcher-tree-b{right:8%;transform:scale(.82);opacity:.92}.switcher-mountain{position:absolute;bottom:0;clip-path:polygon(50% 0%,0% 100%,100% 100%)}.switcher-mountain-back{right:18%;width:42%;height:52%;background:linear-gradient(180deg,#4a3d78,#2d1b69);opacity:.75}.switcher-mountain-front{right:2%;width:36%;height:44%;background:linear-gradient(180deg,#6c5ce7,#3d2d6b 55%,#2a1f4d);opacity:.9}.switcher-mountain-front:after{content:"";position:absolute;top:0;left:18%;width:34%;height:18%;clip-path:polygon(50% 0%,0% 100%,100% 100%);background:#ffffff38}.switcher-fire{position:absolute;bottom:8px;right:30%;width:18px;height:22px;border-radius:50% 50% 42% 42%;transform-origin:center bottom}.switcher-fire-core{background:radial-gradient(circle at 50% 82%,#ff6b35 0%,#ffd93d 42%,transparent 72%),radial-gradient(circle at 48% 68%,#ff9f43 0%,transparent 58%);animation:switcher-fire-flicker 1.8s ease-in-out infinite;filter:drop-shadow(0 0 6px rgba(255,159,67,.65))}.switcher-fire-glow{right:28%;bottom:4px;width:28px;height:14px;border-radius:50%;background:radial-gradient(circle,rgba(255,159,67,.45) 0%,transparent 72%);animation:switcher-fire-glow 1.8s ease-in-out infinite}.switcher-star{position:absolute;width:3px;height:3px;border-radius:50%;background:#fff8dc;box-shadow:0 0 6px #fff8dccc;animation:switcher-star-twinkle 3.2s ease-in-out infinite}.switcher-star-a{top:10px;right:22%}.switcher-star-b{top:18px;right:48%;width:2px;height:2px;animation-delay:1.1s}@keyframes switcher-cloud-drift{0%,to{transform:translate(0)}50%{transform:translate(4px)}}@keyframes switcher-fire-flicker{0%,to{transform:scale(1) translateY(0);opacity:.95}35%{transform:scale(1.06,.94) translateY(-1px);opacity:1}70%{transform:scale(.96,1.04) translateY(1px);opacity:.88}}@keyframes switcher-fire-glow{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}@keyframes switcher-star-twinkle{0%,to{opacity:.45;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}.habitat-ember-grove{--ember-ground: 26%;--ember-feet-nudge: 10px;border-color:color-mix(in srgb,var(--line) 60%,#6c5ce7 40%);box-shadow:inset 0 0 48px #2d1b6947,inset 0 -16px 32px #ff9f4314,0 1px #ffffff0f;overflow:hidden}.habitat-ember-grove .companion-habitat-sky{bottom:var(--ember-ground);background:radial-gradient(circle at 82% 14%,rgba(255,159,67,.22) 0%,rgba(255,120,50,.08) 28%,transparent 48%),radial-gradient(circle at 18% 16%,rgba(162,155,254,.42) 0%,transparent 34%),radial-gradient(circle at 82% 12%,rgba(116,185,255,.28) 0%,transparent 30%),radial-gradient(circle at 52% 68%,rgba(255,159,67,.1) 0%,transparent 48%),radial-gradient(ellipse 95% 50% at 50% 100%,rgba(72,52,163,.35) 0%,transparent 68%),linear-gradient(180deg,#080510,#0f0a1f 14%,#1a1333 34%,#2d1b69,#4834a3 82%,#5a4a8a)}.ember-sky-depth{position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.04) 0%,transparent 18%),linear-gradient(180deg,transparent 55%,rgba(108,92,231,.08) 82%,rgba(255,159,67,.06) 100%);pointer-events:none}.ember-sky-haze{position:absolute;left:-5%;right:-5%;bottom:0;height:42%;background:linear-gradient(180deg,transparent 0%,rgba(162,155,254,.1) 55%,rgba(72,52,163,.22) 100%);pointer-events:none}.ember-horizon-glow{position:absolute;left:-10%;right:-10%;bottom:-8%;height:36%;background:radial-gradient(ellipse 80% 55% at 50% 100%,rgba(255,159,67,.18) 0%,transparent 72%),radial-gradient(ellipse 60% 40% at 30% 100%,rgba(162,155,254,.14) 0%,transparent 68%);pointer-events:none}.ember-moon-halo{position:absolute;top:4%;right:4%;width:92px;height:92px;border-radius:50%;background:radial-gradient(circle,rgba(255,180,80,.35) 0%,rgba(255,140,50,.12) 42%,rgba(255,100,40,.04) 58%,transparent 72%);animation:ember-moon-halo 6s ease-in-out infinite;pointer-events:none;z-index:1}.ember-moon-corona{position:absolute;top:3%;right:3%;width:72px;height:72px;border-radius:50%;z-index:1;background:radial-gradient(circle,rgba(255,210,120,.28) 0%,rgba(255,159,67,.1) 50%,transparent 72%);animation:ember-moon-halo 6s ease-in-out infinite .3s;pointer-events:none}.ember-moon-rays{position:absolute;top:2%;right:2%;width:80px;height:80px;border-radius:50%;z-index:0;opacity:.5;background:conic-gradient(from -12deg,transparent 0deg,rgba(255,200,100,.12) 10deg,transparent 22deg,rgba(255,180,80,.1) 34deg,transparent 46deg,rgba(255,210,120,.11) 58deg,transparent 70deg,rgba(255,190,90,.09) 82deg,transparent 94deg);animation:ember-moon-rays-spin 48s linear infinite;pointer-events:none}@keyframes ember-moon-rays-spin{to{transform:rotate(360deg)}}@keyframes ember-moon-halo{0%,to{opacity:.75;transform:scale(1)}50%{opacity:1;transform:scale(1.06)}}.ember-star-field{position:absolute;inset:0;pointer-events:none}.ember-star{position:absolute;border-radius:50%;background:#fff8dc;box-shadow:0 0 6px #fff8dcbf;animation:ember-star-twinkle 3.6s ease-in-out infinite}.ember-star-a{top:10%;left:14%;width:2px;height:2px}.ember-star-b{top:18%;left:38%;width:3px;height:3px;animation-delay:.8s}.ember-star-c{top:8%;left:58%;width:2px;height:2px;animation-delay:1.4s}.ember-star-d{top:24%;left:74%;width:2px;height:2px;animation-delay:2s;opacity:.75}.ember-star-e{top:14%;left:28%;width:2px;height:2px;animation-delay:.4s;opacity:.55}.ember-star-f{top:22%;left:86%;width:3px;height:3px;animation-delay:1.8s}.ember-star-g{top:32%;left:8%;width:2px;height:2px;animation-delay:2.6s;opacity:.65}.ember-star-h{top:12%;left:48%;width:2px;height:2px;animation-delay:3.2s;opacity:.5}@keyframes ember-star-twinkle{0%,to{opacity:.4;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}.habitat-ember-grove .habitat-moon{top:6%;right:6%;width:55px;height:55px;z-index:2;background:radial-gradient(circle at 38% 32%,#fff8e8,#ffe4a8 18%,#ffb347 42%,#ff8c42 68%,#e86a2a 88%,#c45a22);box-shadow:0 0 24px #ff9f43bf,0 0 48px #ff783259,0 0 72px #ff642826,inset -4px -3px 8px #b4461440,inset 3px 3px 6px #fff0c859;animation:ember-harvest-moon-pulse 5s ease-in-out infinite}.habitat-ember-grove .habitat-moon:before{content:"";position:absolute;top:18%;left:22%;width:10px;height:10px;border-radius:50%;background:#c85a1e2e;box-shadow:14px 8px 0 -2px #b446141f,6px 20px 0 -3px #be50191a}.habitat-ember-grove .habitat-moon:after{content:"";position:absolute;inset:-8px;border-radius:50%;background:radial-gradient(circle,rgba(255,200,100,.2) 0%,transparent 70%);z-index:-1;animation:ember-moon-halo 5s ease-in-out infinite}@keyframes ember-harvest-moon-pulse{0%,to{box-shadow:0 0 24px #ff9f43bf,0 0 48px #ff783259,0 0 72px #ff642826,inset -4px -3px 8px #b4461440,inset 3px 3px 6px #fff0c859;transform:scale(1)}50%{box-shadow:0 0 32px #ffaa50e6,0 0 60px #ff823773,0 0 88px #ff6e2d33,inset -4px -3px 8px #b4461438,inset 3px 3px 6px #fff0c866;transform:scale(1.03)}}.habitat-ember-grove .habitat-aurora{top:20%;height:32%;opacity:.85}.habitat-ember-nebula{position:absolute;inset:6% 4% var(--ember-ground) 4%;background:radial-gradient(ellipse at 35% 45%,rgba(108,92,231,.18) 0%,transparent 58%),radial-gradient(ellipse at 68% 55%,rgba(255,159,67,.08) 0%,transparent 52%);animation:habitat-aurora-shift 14s ease-in-out infinite reverse;pointer-events:none}.habitat-ember-grove .companion-habitat-ground{height:var(--ember-ground);z-index:4;background:linear-gradient(180deg,rgba(255,159,67,.14) 0%,transparent 10%),repeating-linear-gradient(90deg,transparent 0 16px,rgba(255,255,255,.02) 16px 17px),linear-gradient(180deg,#4a4a52,#3d3d3d 10%,#2d3436 42%,#252d35 72%,#1a2228)}.ember-ground-depth{position:absolute;inset:0;background:radial-gradient(ellipse 75% 35% at 50% 0%,rgba(255,159,67,.1) 0%,transparent 58%),linear-gradient(180deg,transparent 35%,rgba(8,5,16,.22) 100%);pointer-events:none}.ember-ground-variation{position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse 22% 18% at 14% 38%,rgba(162,155,254,.22) 0%,transparent 72%),radial-gradient(ellipse 18% 15% at 32% 62%,rgba(255,159,67,.18) 0%,transparent 70%),radial-gradient(ellipse 24% 20% at 52% 42%,rgba(108,92,231,.16) 0%,transparent 68%),radial-gradient(ellipse 20% 16% at 68% 68%,rgba(255,217,61,.12) 0%,transparent 70%),radial-gradient(ellipse 16% 14% at 84% 44%,rgba(116,185,255,.14) 0%,transparent 68%),radial-gradient(ellipse 19% 15% at 42% 78%,rgba(45,27,105,.2) 0%,transparent 72%)}.ember-ground-crystals{position:absolute;inset:0;z-index:2;pointer-events:none}.ember-ground-glow{position:absolute;border-radius:50%;filter:blur(1px);animation:ember-ground-glow-pulse 4s ease-in-out infinite}.ember-ground-glow-1{left:18%;top:28%;width:14px;height:8px;background:#ff9f4359;animation-delay:0s}.ember-ground-glow-2{left:44%;top:52%;width:10px;height:6px;background:#a29bfe52;animation-delay:.8s}.ember-ground-glow-3{left:62%;top:34%;width:12px;height:7px;background:#ffd93d47;animation-delay:1.6s}.ember-ground-glow-4{left:78%;top:58%;width:9px;height:5px;background:#74b9ff40;animation-delay:2.4s}.ember-ground-glow-5{left:30%;top:68%;width:11px;height:6px;background:#ff9f4338;animation-delay:3.2s}@keyframes ember-ground-glow-pulse{0%,to{opacity:.45;transform:scale(1)}50%{opacity:.9;transform:scale(1.12)}}.ember-ground-rim{position:absolute;left:-3%;right:-3%;bottom:0;height:16%;z-index:2;border-radius:50% 50% 0 0/14% 14% 0 0;background:linear-gradient(180deg,transparent 0%,rgba(45,27,105,.22) 35%,rgba(30,20,55,.5) 100%);pointer-events:none}.ember-ground-shimmer{position:absolute;inset:0;z-index:3;opacity:.22;background:repeating-linear-gradient(105deg,transparent 0 14px,rgba(255,159,67,.06) 14px 15px,transparent 15px 32px);animation:ember-shimmer 10s linear infinite;pointer-events:none}@keyframes ember-shimmer{to{background-position:48px 0}}.habitat-ember-grove .companion-habitat-actor{bottom:calc(var(--ember-ground) - var(--ember-feet-nudge));height:52%;z-index:10}.habitat-ember-grove .habitat-snack-drop{bottom:calc(var(--ember-ground) - var(--ember-feet-nudge) + 4px)}.habitat-ember-grove .habitat-vignette{z-index:8;box-shadow:inset 0 -24px 48px #0f0a1f59,inset 0 0 36px #2d1b691f}.habitat-ember-grove .habitat-decor,.habitat-ember-grove .ember-site,.habitat-ember-grove .habitat-prop,.habitat-ember-grove .ember-bed{z-index:3}.habitat-ember-grove.habitat-ember-resting .ember-bed{z-index:2}.habitat-ember-mist{position:absolute;left:0;right:0;bottom:var(--ember-ground);height:24%;background:linear-gradient(180deg,transparent 0%,rgba(162,155,254,.08) 45%,rgba(255,159,67,.04) 100%);animation:ember-mist-drift 12s ease-in-out infinite}.ember-ridge-mist{position:absolute;left:-8%;right:-8%;bottom:calc(var(--ember-ground) - 2%);height:18%;background:linear-gradient(180deg,transparent 0%,rgba(162,155,254,.06) 50%,transparent 100%);animation:ember-mist-drift 16s ease-in-out infinite reverse;pointer-events:none}@keyframes ember-mist-drift{0%,to{opacity:.5;transform:translate(0)}50%{opacity:.85;transform:translate(6px)}}.ember-mountains-back,.ember-mountains-mid,.ember-mountains-front{position:absolute;left:-12%;right:-12%;pointer-events:none}.ember-mountains-back{bottom:calc(var(--ember-ground) - 6%);height:62%;z-index:0}.ember-mountains-mid{bottom:calc(var(--ember-ground) - 4%);height:48%;z-index:1}.ember-mountains-front{bottom:calc(var(--ember-ground) - 2%);height:34%;z-index:2}.ember-mountain{position:absolute;bottom:0;clip-path:polygon(50% 0%,0% 100%,100% 100%)}.ember-mountain-far-a{left:-2%;width:34%;height:72%;background:linear-gradient(180deg,#4a3d78,#2d1b69 55%,#1a1333);opacity:.62}.ember-mountain-far-b{left:28%;width:28%;height:58%;background:linear-gradient(180deg,#3d2d6b,#2a1f4d 60%,#150f28);opacity:.55}.ember-mountain-far-c{right:-4%;width:36%;height:68%;background:linear-gradient(180deg,#5a4a8a,#3d2d6b,#2a1f4d);opacity:.58}.ember-mountain-mid-a{left:8%;width:30%;height:78%;background:linear-gradient(180deg,#6c5ce7,#4834a3 52%,#2d1b69);opacity:.72}.ember-mountain-mid-a:after{content:"";position:absolute;top:0;left:22%;width:32%;height:16%;clip-path:polygon(50% 0%,0% 100%,100% 100%);background:#ffffff29}.ember-mountain-mid-b{right:6%;width:34%;height:82%;background:linear-gradient(180deg,#7c6cf0,#5a4a8a 48%,#3d2d6b);opacity:.78}.ember-mountain-mid-b:after{content:"";position:absolute;top:0;left:18%;width:28%;height:14%;clip-path:polygon(50% 0%,0% 100%,100% 100%);background:#fff3}.ember-mountain-near-a{left:18%;width:22%;height:88%;background:linear-gradient(180deg,#8b7cf5,#6c5ce7 45%,#4834a3);opacity:.55;filter:blur(.2px)}.ember-mountain-near-b{right:12%;width:26%;height:92%;background:linear-gradient(180deg,#9b8cff,#7c6cf0 42%,#5a4a8a);opacity:.62}.habitat-ember-ridge{position:absolute;left:-8%;right:-8%;bottom:var(--ember-ground);height:38%;z-index:2;background:radial-gradient(ellipse 50% 85% at 25% 100%,rgba(108,92,231,.38) 0%,transparent 62%),radial-gradient(ellipse 42% 75% at 70% 100%,rgba(45,27,105,.55) 0%,transparent 58%),radial-gradient(ellipse 35% 60% at 48% 100%,rgba(255,159,67,.08) 0%,transparent 55%)}.ember-stalagmite-front{left:3%;bottom:calc(var(--ember-ground) - var(--ember-feet-nudge, 0px) - 6px);width:56px;z-index:11;opacity:1;animation:meadow-tree-sway 10s ease-in-out infinite;filter:drop-shadow(0 3px 0 rgba(18,8,42,.55))}.habitat-ember-grove .ember-stalagmite-front,.habitat-ember-grove .ember-stalagmite-front *{opacity:1}.ember-actor-shadow{position:absolute;bottom:calc(-1 * var(--ember-feet-nudge, 0px));width:30px;height:8px;transform:translate(-50%);border-radius:50%;background:radial-gradient(ellipse,rgba(255,159,67,.38) 0%,rgba(45,27,105,.16) 55%,transparent 75%);pointer-events:none;z-index:0}@keyframes ember-lantern-sway{0%,to{transform:translate(-50%) rotate(-2deg)}50%{transform:translate(-50%) rotate(2deg)}}.habitat-ember-floor-cracks{position:absolute;inset:0;opacity:.5;background:radial-gradient(ellipse 8% 40% at 55% 20%,rgba(255,159,67,.35) 0%,transparent 100%),radial-gradient(ellipse 6% 30% at 72% 40%,rgba(255,217,61,.2) 0%,transparent 100%),radial-gradient(ellipse 5% 25% at 38% 55%,rgba(162,155,254,.25) 0%,transparent 100%);animation:ember-crack-pulse 4s ease-in-out infinite}@keyframes ember-crack-pulse{0%,to{opacity:.4}50%{opacity:.65}}.ember-site{position:absolute;transform:translate(-50%);pointer-events:none}.ember-bed{left:14%;bottom:calc(var(--ember-ground) - 4px);width:72px;z-index:3}.ember-bed-svg{width:100%;height:auto;image-rendering:pixelated;filter:drop-shadow(0 2px 0 rgba(18,8,42,.5))}.ember-bed-glow{position:absolute;left:10%;right:10%;bottom:2px;height:14px;border-radius:999px;background:radial-gradient(circle,rgba(255,159,67,.35) 0%,transparent 70%);animation:ember-bed-glow 3s ease-in-out infinite}.ember-bed-embers span{position:absolute;width:3px;height:3px;border-radius:999px;background:#ffd93d;bottom:4px;animation:habitat-spark-float 3s ease-in-out infinite}.ember-bed-embers span:nth-child(1){left:25%;animation-delay:0s}.ember-bed-embers span:nth-child(2){left:50%;animation-delay:1s}.ember-bed-embers span:nth-child(3){left:70%;animation-delay:2s}.habitat-decor-ember.ember-bed-active .ember-bed-glow{animation:ember-bed-active-glow 2s ease-in-out infinite}.habitat-decor-ember.ember-bed-active .ember-bed-svg{filter:drop-shadow(0 0 8px rgba(255,159,67,.45)) drop-shadow(0 2px 0 rgba(18,8,42,.5))}@keyframes ember-bed-glow{0%,to{opacity:.6}50%{opacity:.9}}@keyframes ember-bed-active-glow{0%,to{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.12)}}.habitat-ember-resting .ember-bed{z-index:2}.ember-campfire{left:74%;bottom:calc(var(--ember-ground) - 2px);width:52px;z-index:4}.ember-campfire-base-glow{position:absolute;left:50%;bottom:2px;width:64px;height:18px;transform:translate(-50%);border-radius:50%;background:radial-gradient(ellipse,rgba(255,159,67,.45) 0%,rgba(255,100,50,.12) 55%,transparent 75%);animation:ember-campfire-base-glow 1.4s ease-in-out infinite}@keyframes ember-campfire-base-glow{0%,to{opacity:.65;transform:translate(-50%) scale(1)}50%{opacity:1;transform:translate(-50%) scale(1.08)}}.ember-fire-ring{width:100%;height:auto;image-rendering:pixelated;position:relative;z-index:1;filter:drop-shadow(0 2px 0 rgba(18,8,42,.45))}.ember-fire-flames{position:absolute;left:50%;bottom:16px;transform:translate(-50%);width:34px;height:28px;z-index:2}.ember-fire-flames-inner{position:relative;width:100%;height:100%;transform-origin:center bottom}.ember-fire-flames .flame{position:absolute;bottom:0;border-radius:999px 999px 18% 18%;filter:drop-shadow(0 0 4px rgba(255,200,80,.55))}.flame-a{left:2px;width:9px;height:16px;background:linear-gradient(180deg,#ffd93d,#ff9f43 55%,#e17055);animation:ember-flame-a .75s ease-in-out infinite}.flame-b{left:9px;width:12px;height:22px;background:linear-gradient(180deg,#fffef0,#ffd93d 45%,#ff9f43);animation:ember-flame-b .55s ease-in-out infinite;z-index:2}.flame-c{left:18px;width:10px;height:18px;background:linear-gradient(180deg,#ffeaa7,#ffd93d,#ff9f43);animation:ember-flame-c .65s ease-in-out infinite}.flame-d{left:5px;width:7px;height:13px;background:linear-gradient(180deg,#ff9f43,#e17055);animation:ember-flame-d .85s ease-in-out infinite reverse;opacity:.88}.flame-e{left:22px;width:8px;height:14px;background:linear-gradient(180deg,#ffd93d,#ff6b35);animation:ember-flame-a .7s ease-in-out infinite .2s}@keyframes ember-flame-a{0%,to{transform:scaleY(1) scaleX(1);opacity:.9}50%{transform:scaleY(1.12) scaleX(.92);opacity:1}}@keyframes ember-flame-b{0%,to{transform:scaleY(1);opacity:.95}50%{transform:scaleY(1.18);opacity:1}}@keyframes ember-flame-c{0%,to{transform:scaleY(1) scaleX(1) skew(0);opacity:.88}35%{transform:scaleY(1.1) scaleX(.94) skew(-3deg);opacity:1}70%{transform:scaleY(.96) scaleX(1.04) skew(2deg);opacity:.92}}@keyframes ember-flame-d{0%,to{transform:scaleY(1) translate(0);opacity:.82}50%{transform:scaleY(1.14) translate(-1px);opacity:1}}.ember-fire-embers{position:absolute;left:50%;bottom:18px;width:40px;height:32px;transform:translate(-50%);pointer-events:none;z-index:3}.ember-fire-embers span{position:absolute;width:3px;height:3px;border-radius:999px;background:#ffd93d;box-shadow:0 0 5px #ff9f43;animation:ember-fire-ember-rise 2.2s ease-out infinite}.ember-fire-embers span:nth-child(1){left:30%;animation-delay:0s}.ember-fire-embers span:nth-child(2){left:48%;animation-delay:.5s;background:#ffeaa7;width:2px;height:2px}.ember-fire-embers span:nth-child(3){left:62%;animation-delay:1s}.ember-fire-embers span:nth-child(4){left:40%;animation-delay:1.5s;width:2px;height:2px}.ember-fire-embers span:nth-child(5){left:55%;animation-delay:1.9s;background:#ff9f43}@keyframes ember-fire-ember-rise{0%{transform:translateY(0) scale(1);opacity:0}15%{opacity:1}to{transform:translateY(-28px) scale(.4);opacity:0}}.ember-fire-smoke{position:absolute;left:50%;bottom:26px;width:20px;height:24px;transform:translate(-50%);pointer-events:none;z-index:0;opacity:.35}.ember-fire-smoke span{position:absolute;left:50%;bottom:0;width:8px;height:8px;border-radius:50%;background:#a29bfe40;filter:blur(2px);animation:ember-fire-smoke-rise 3.5s ease-out infinite}.ember-fire-smoke span:nth-child(1){animation-delay:0s;margin-left:-6px}.ember-fire-smoke span:nth-child(2){animation-delay:1.6s;margin-left:4px;width:6px;height:6px}@keyframes ember-fire-smoke-rise{0%{transform:translateY(0) scale(.6);opacity:0}20%{opacity:.5}to{transform:translateY(-22px) scale(1.4);opacity:0}}.ember-fire-light{position:absolute;left:50%;bottom:-4px;width:110px;height:56px;transform:translate(-50%);background:radial-gradient(ellipse,rgba(255,200,80,.32) 0%,rgba(255,159,67,.18) 35%,transparent 72%);animation:ember-fire-light 1.1s ease-in-out infinite;pointer-events:none;z-index:0}@keyframes ember-fire-light{0%,to{opacity:.75;transform:translate(-50%) scale(1)}40%{opacity:1;transform:translate(-50%) scale(1.06)}70%{opacity:.85;transform:translate(-50%) scale(.98)}}.habitat-decor-ember.ember-campfire-active .ember-fire-flames-inner{transform:scale(1.14)}.habitat-decor-ember.ember-campfire-active .ember-campfire-base-glow{opacity:1;transform:translate(-50%) scale(1.15)}.habitat-decor-ember.ember-campfire-active .ember-fire-light{opacity:1;transform:translate(-50%) scale(1.1)}.habitat-ember-at-campfire .ember-campfire .ember-fire-light{opacity:1}.habitat-ember-at-campfire .ember-campfire-base-glow{opacity:.95}.ember-tree{image-rendering:pixelated;filter:drop-shadow(0 2px 0 rgba(18,8,42,.35));animation:meadow-tree-sway 7s ease-in-out infinite}.ember-tree-large-left{left:5%;width:58px;bottom:calc(var(--ember-ground) - 4px);z-index:2;animation-duration:8s}.ember-tree-large-mid{left:22%;width:50px;bottom:calc(var(--ember-ground) - 2px);z-index:2;animation-duration:7.5s;animation-delay:.5s}.ember-tree-large-right{left:52%;width:54px;bottom:calc(var(--ember-ground) + 2px);opacity:.82;z-index:2;animation-duration:8.5s;animation-delay:.3s}.ember-tree-back-a{left:18%;width:26px;bottom:calc(var(--ember-ground) + 10px);opacity:.62;animation-duration:9s}.ember-tree-mid-b{left:34%;width:34px;bottom:calc(var(--ember-ground) - 1px);animation-delay:.4s}.ember-tree-mid-c{left:48%;width:30px;bottom:calc(var(--ember-ground) + 2px);opacity:.88;animation-duration:8s;animation-delay:.8s}.ember-tree-far-d{left:62%;width:22px;bottom:calc(var(--ember-ground) + 8px);opacity:.5;animation-duration:10s}.ember-tree-near-e{left:88%;width:48px;bottom:calc(var(--ember-ground) - 2px);opacity:.78;animation-duration:6.5s;animation-delay:1.2s}.ember-lantern{left:58%;width:16px;bottom:calc(var(--ember-ground) + 8px);animation:ember-lantern-sway 5s ease-in-out infinite;filter:drop-shadow(0 0 6px rgba(255,217,61,.5))}.ember-crystal-distant{left:6%;width:18px;bottom:calc(var(--ember-ground) + 14px);opacity:.55;filter:blur(.2px)}.ember-crystal-large{left:92%;width:34px;bottom:calc(var(--ember-ground) + 2px);animation:ember-crystal-pulse 4s ease-in-out infinite}.ember-crystal-small{left:26%;width:20px;bottom:calc(var(--ember-ground) + 6px);opacity:.9}.ember-rock{left:42%;width:26px;bottom:calc(var(--ember-ground) - 2px);opacity:.8}@keyframes ember-crystal-pulse{0%,to{filter:drop-shadow(0 0 4px rgba(162,155,254,.4))}50%{filter:drop-shadow(0 0 10px rgba(162,155,254,.75))}}.habitat-fireflies span{position:absolute;width:3px;height:3px;border-radius:999px;background:#ffeaa7;box-shadow:0 0 8px #ffd93d;animation:ember-firefly 6s ease-in-out infinite}.habitat-fireflies span:nth-child(1){left:22%;bottom:50%;animation-delay:0s}.habitat-fireflies span:nth-child(2){left:48%;bottom:55%;animation-delay:1.2s}.habitat-fireflies span:nth-child(3){left:68%;bottom:48%;animation-delay:2.4s}.habitat-fireflies span:nth-child(4){left:35%;bottom:42%;animation-delay:3.6s;width:2px;height:2px}.habitat-fireflies span:nth-child(5){left:75%;bottom:58%;animation-delay:4.8s}@keyframes ember-firefly{0%,to{transform:translate(0);opacity:.3}25%{transform:translate(8px,-10px);opacity:1}50%{transform:translate(-4px,-18px);opacity:.6}75%{transform:translate(6px,-8px);opacity:.9}}.habitat-ember-sparks span:nth-child(7){left:52%;bottom:38%;animation-delay:1.8s}.habitat-ember-sparks span:nth-child(8){left:24%;bottom:45%;animation-delay:2.4s;background:#ffeaa7}.habitat-stars span:nth-child(6){top:8%;left:52%;opacity:.5}.habitat-stars span:nth-child(7){top:32%;left:8%;width:2px;height:2px}.habitat-stars span:nth-child(8){top:10%;left:88%;width:3px;height:3px}.habitat-ember-resting .habitat-ember-glow{background:radial-gradient(ellipse 35% 50% at 18% 0%,rgba(255,159,67,.22) 0%,transparent 70%),radial-gradient(ellipse 35% 45% at 58% 0%,rgba(255,159,67,.12) 0%,transparent 65%),radial-gradient(ellipse 35% 45% at 70% 0%,rgba(162,155,254,.12) 0%,transparent 65%)}.habitat-ember-grove .companion-sprite-flip.ember-motion-rest{animation:ember-rest-sway 4s ease-in-out infinite}@keyframes ember-rest-sway{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-1px)}}.habitat-ember-grove .companion-sprite-flip.facing-left.ember-motion-rest{animation:ember-rest-sway-left 4s ease-in-out infinite}@keyframes ember-rest-sway-left{0%,to{transform:translate(-50%) scaleX(-1) translateY(0)}50%{transform:translate(-50%) scaleX(-1) translateY(-1px)}}.habitat-moon{position:absolute;top:12%;right:12%;width:20px;height:20px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff,#dfe6e9 55%,#b2bec3);box-shadow:0 0 14px #dfe6e973}.habitat-aurora{position:absolute;top:24%;left:8%;right:20%;height:28%;background:linear-gradient(100deg,transparent 0%,rgba(255,159,67,.12) 25%,rgba(162,155,254,.18) 50%,rgba(116,185,255,.12) 75%,transparent 100%);filter:blur(1px);animation:habitat-aurora-shift 10s ease-in-out infinite}@keyframes habitat-aurora-shift{0%,to{opacity:.65;transform:translate(0)}50%{opacity:.95;transform:translate(8px)}}.habitat-ember-edge{position:absolute;top:-6px;left:0;right:0;height:7px;background:repeating-linear-gradient(90deg,#636e72 0 4px,#ff9f43 4px 5px,#2d3436 5px 10px,transparent 10px 14px);opacity:.85}.habitat-ember-glow{position:absolute;inset:0;z-index:1;background:radial-gradient(ellipse 40% 50% at 30% 0%,rgba(255,159,67,.18) 0%,transparent 70%),radial-gradient(ellipse 35% 45% at 70% 0%,rgba(162,155,254,.14) 0%,transparent 65%),radial-gradient(ellipse 28% 35% at 58% 0%,rgba(255,217,61,.08) 0%,transparent 60%)}.habitat-ember-sparks{position:absolute;inset:0;pointer-events:none}.habitat-ember-sparks span{position:absolute;width:3px;height:3px;border-radius:999px;background:#ffd93d;box-shadow:0 0 6px #ff9f43;animation:habitat-spark-float 4s ease-in-out infinite}.habitat-ember-sparks span:nth-child(1){left:28%;bottom:42%;animation-delay:0s}.habitat-ember-sparks span:nth-child(2){left:45%;bottom:48%;animation-delay:.8s;background:#ffeaa7}.habitat-ember-sparks span:nth-child(3){left:58%;bottom:40%;animation-delay:1.4s}.habitat-ember-sparks span:nth-child(4){left:70%;bottom:46%;animation-delay:2s;width:2px;height:2px}.habitat-ember-sparks span:nth-child(5){left:36%;bottom:52%;animation-delay:2.6s}.habitat-ember-sparks span:nth-child(6){left:82%;bottom:44%;animation-delay:3.2s}@keyframes habitat-spark-float{0%,to{transform:translateY(0);opacity:.5}50%{transform:translateY(-6px);opacity:1}}.habitat-stars{position:absolute;inset:0}.habitat-stars span{position:absolute;width:2px;height:2px;border-radius:999px;background:#dfe6e9;opacity:.7}.habitat-stars span:nth-child(1){top:14%;left:18%}.habitat-stars span:nth-child(2){top:22%;left:42%;width:3px;height:3px}.habitat-stars span:nth-child(3){top:12%;left:62%}.habitat-stars span:nth-child(4){top:28%;left:78%}.habitat-stars span:nth-child(5){top:18%;left:30%;opacity:.45}.habitat-ember-grove .companion-habitat-actor>.companion-sprite-flip{position:absolute;z-index:2;bottom:0;filter:none}.habitat-ember-grove .habitat-vignette{box-shadow:inset 0 0 32px #140a2859}.ember-sprite-shadow{position:absolute;left:50%;bottom:0;width:55%;height:8px;transform:translate(-50%);border-radius:999px;background:#12082a8c;filter:blur(1px);pointer-events:none}.ember-sprite-glow{position:absolute;left:50%;bottom:4px;width:62%;height:38%;transform:translate(-50%);border-radius:999px;background:radial-gradient(circle,rgba(255,159,67,.28) 0%,rgba(255,217,61,.08) 50%,transparent 72%);pointer-events:none;animation:ember-core-pulse 2.8s ease-in-out infinite}@keyframes ember-core-pulse{0%,to{opacity:.7;transform:translate(-50%) scale(1)}50%{opacity:1;transform:translate(-50%) scale(1.06)}}.companion-sprite-sheet.ember-crisp{image-rendering:auto;filter:drop-shadow(0 1px 0 rgba(18,8,42,.85))}.companion-sprite-viewport.species-emberling .companion-sprite-sheet-wrap{position:relative;z-index:1}.habitat-ember-grove .ember-foot-glow{bottom:0}.ember-foot-glow{position:absolute;bottom:0;width:36px;height:10px;transform:translate(-50%);border-radius:999px;background:radial-gradient(ellipse,rgba(255,159,67,.5) 0%,rgba(255,217,61,.15) 50%,transparent 75%);pointer-events:none;z-index:0;animation:ember-foot-pulse 2s ease-in-out infinite}@keyframes ember-foot-pulse{0%,to{opacity:.55}50%{opacity:.95}}.habitat-ember-grove .companion-sprite-flip.ember-motion-float{animation:ember-float 3.2s ease-in-out infinite}.habitat-ember-grove .companion-sprite-flip.ember-motion-walk{animation:ember-walk-bob .4s ease-in-out infinite}.habitat-ember-grove .companion-sprite-flip.ember-motion-hop{animation:ember-hop .55s ease-in-out infinite}@keyframes ember-float{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-3px)}}@keyframes ember-walk-bob{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-2px)}}@keyframes ember-hop{0%,to{transform:translate(-50%) translateY(0) scale(1)}35%{transform:translate(-50%) translateY(-5px) scale(1.02)}70%{transform:translate(-50%) translateY(-1px) scale(1)}}.habitat-ember-grove .companion-sprite-flip.facing-left.ember-motion-float,.habitat-ember-grove .companion-sprite-flip.facing-left.ember-motion-walk,.habitat-ember-grove .companion-sprite-flip.facing-left.ember-motion-hop{animation-name:inherit}.habitat-ember-grove .companion-sprite-flip.facing-left.ember-motion-float{animation:ember-float-left 3.2s ease-in-out infinite}.habitat-ember-grove .companion-sprite-flip.facing-left.ember-motion-walk{animation:ember-walk-bob-left .4s ease-in-out infinite}.habitat-ember-grove .companion-sprite-flip.facing-left.ember-motion-hop{animation:ember-hop-left .55s ease-in-out infinite}@keyframes ember-float-left{0%,to{transform:translate(-50%) scaleX(-1) translateY(0)}50%{transform:translate(-50%) scaleX(-1) translateY(-3px)}}@keyframes ember-walk-bob-left{0%,to{transform:translate(-50%) scaleX(-1) translateY(0)}50%{transform:translate(-50%) scaleX(-1) translateY(-2px)}}@keyframes ember-hop-left{0%,to{transform:translate(-50%) scaleX(-1) translateY(0) scale(1)}35%{transform:translate(-50%) scaleX(-1) translateY(-5px) scale(1.02)}70%{transform:translate(-50%) scaleX(-1) translateY(-1px) scale(1)}}.sprout-sprite-shadow{position:absolute;left:50%;bottom:0;width:52%;height:7px;transform:translate(-50%);border-radius:999px;background:#1a402873;filter:blur(1px);pointer-events:none}.sprout-sprite-glow{position:absolute;left:50%;bottom:3px;width:58%;height:36%;transform:translate(-50%);border-radius:999px;background:radial-gradient(circle,rgba(126,232,146,.22) 0%,rgba(184,245,200,.08) 50%,transparent 72%);pointer-events:none;animation:sprout-core-pulse 3.2s ease-in-out infinite}@keyframes sprout-core-pulse{0%,to{opacity:.65;transform:translate(-50%) scale(1)}50%{opacity:1;transform:translate(-50%) scale(1.05)}}.companion-sprite-sheet.sprout-crisp{image-rendering:pixelated;image-rendering:crisp-edges;filter:drop-shadow(0 1px 0 rgba(13,40,24,.75))}.companion-sprite-viewport.species-sproutling{overflow:visible;position:relative;z-index:1;image-rendering:pixelated;image-rendering:crisp-edges}.companion-sprite-viewport.species-sproutling .companion-sprite-sheet-wrap{position:relative;z-index:1}.sprout-foot-glow{position:absolute;bottom:0;width:34px;height:10px;transform:translate(-50%);border-radius:999px;background:radial-gradient(ellipse,rgba(126,232,146,.45) 0%,rgba(78,201,109,.12) 50%,transparent 75%);pointer-events:none;z-index:0;animation:sprout-foot-pulse 2.4s ease-in-out infinite}@keyframes sprout-foot-pulse{0%,to{opacity:.5}50%{opacity:.9}}.habitat-meadow .sprout-foot-glow{bottom:calc(-1 * var(--meadow-feet-nudge, 0px))}.habitat-meadow .companion-sprite-flip.sprout-motion-sway{animation:sprout-sway 3.6s ease-in-out infinite}.habitat-meadow .companion-sprite-flip.sprout-motion-walk{animation:sprout-walk-bob .45s ease-in-out infinite}.habitat-meadow .companion-sprite-flip.sprout-motion-hop{animation:sprout-hop .6s ease-in-out infinite}.habitat-meadow .companion-sprite-flip.sprout-motion-rest{animation:sprout-rest 4s ease-in-out infinite}@keyframes sprout-sway{0%,to{transform:translate(-50%) translateY(0) rotate(0)}25%{transform:translate(-50%) translateY(-2px) rotate(-1deg)}75%{transform:translate(-50%) translateY(-1px) rotate(1deg)}}@keyframes sprout-walk-bob{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-2px)}}@keyframes sprout-hop{0%,to{transform:translate(-50%) translateY(0) scale(1)}35%{transform:translate(-50%) translateY(-6px) scale(1.03)}70%{transform:translate(-50%) translateY(-1px) scale(1)}}@keyframes sprout-rest{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(1px)}}.habitat-meadow .companion-sprite-flip.facing-left.sprout-motion-sway{animation:sprout-sway-left 3.6s ease-in-out infinite}.habitat-meadow .companion-sprite-flip.facing-left.sprout-motion-walk{animation:sprout-walk-bob-left .45s ease-in-out infinite}.habitat-meadow .companion-sprite-flip.facing-left.sprout-motion-hop{animation:sprout-hop-left .6s ease-in-out infinite}.habitat-meadow .companion-sprite-flip.facing-left.sprout-motion-rest{animation:sprout-rest-left 4s ease-in-out infinite}@keyframes sprout-sway-left{0%,to{transform:translate(-50%) scaleX(-1) translateY(0) rotate(0)}25%{transform:translate(-50%) scaleX(-1) translateY(-2px) rotate(1deg)}75%{transform:translate(-50%) scaleX(-1) translateY(-1px) rotate(-1deg)}}@keyframes sprout-walk-bob-left{0%,to{transform:translate(-50%) scaleX(-1) translateY(0)}50%{transform:translate(-50%) scaleX(-1) translateY(-2px)}}@keyframes sprout-hop-left{0%,to{transform:translate(-50%) scaleX(-1) translateY(0) scale(1)}35%{transform:translate(-50%) scaleX(-1) translateY(-6px) scale(1.03)}70%{transform:translate(-50%) scaleX(-1) translateY(-1px) scale(1)}}@keyframes sprout-rest-left{0%,to{transform:translate(-50%) scaleX(-1) translateY(0)}50%{transform:translate(-50%) scaleX(-1) translateY(1px)}}.companion-dashboard-walker-sprite.sprout-motion-sway{animation:sprout-sway-dashboard 3.6s ease-in-out infinite}.companion-dashboard-walker-sprite.sprout-motion-walk.is-moving{animation:sprout-walk-bob-dashboard .45s ease-in-out infinite}.companion-dashboard-walker-sprite.sprout-motion-hop{animation:sprout-hop-dashboard .6s ease-in-out infinite}@keyframes sprout-sway-dashboard{0%,to{transform:translate(-50%,-100%) translateY(0)}50%{transform:translate(-50%,-100%) translateY(-3px)}}@keyframes sprout-walk-bob-dashboard{0%,to{transform:translate(-50%,-100%) translateY(0)}50%{transform:translate(-50%,-100%) translateY(-2px)}}@keyframes sprout-hop-dashboard{0%,to{transform:translate(-50%,-100%) translateY(0)}35%{transform:translate(-50%,-100%) translateY(-5px)}}.companion-dashboard-foot-glow.sprout-foot-glow{bottom:auto;top:calc(100% - 6px)}.companion-habitat-tap{border:none;background:transparent;padding:0;margin:0;cursor:pointer;pointer-events:auto}.companion-habitat-tap:focus-visible{outline:2px solid rgba(255,200,100,.85);outline-offset:4px}.companion-speech-bubble{position:absolute;left:50%;top:8%;transform:translate(-50%);z-index:25;max-width:88%;padding:8px 12px;border-radius:12px;background:color-mix(in srgb,var(--surface) 94%,transparent);border:1px solid color-mix(in srgb,var(--line) 72%,transparent);color:var(--ink);box-shadow:0 8px 22px color-mix(in srgb,var(--ink) 16%,transparent);pointer-events:none;animation:companion-speech-in .35s ease-out}.habitat-ember-grove .companion-speech-bubble{background:color-mix(in srgb,#2d1b69 88%,var(--surface));border-color:color-mix(in srgb,#ffd93d 42%,var(--line));color:#ffeaa7}.companion-speech-name{display:block;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:2px}.habitat-ember-grove .companion-speech-name{color:color-mix(in srgb,#ffeaa7 78%,transparent)}.companion-speech-bubble p{margin:0;font-size:.78rem;line-height:1.35}@keyframes companion-speech-in{0%{opacity:0;transform:translate(-50%) translateY(6px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.companion-float-layer{position:absolute;inset:0;z-index:26;pointer-events:none;overflow:hidden}.companion-float-text{position:absolute;left:50%;top:42%;transform:translate(-50%);font-size:.75rem;font-weight:700;color:#3d8b40;text-shadow:0 1px 0 rgba(255,255,255,.8);animation:companion-float-rise 1.8s ease-out forwards}.companion-float-text.kind-xp{color:#2d7a4f}.companion-float-text.kind-food{color:#c45c26}.companion-float-text.kind-quest{color:#6c5ce7}@keyframes companion-float-rise{0%{opacity:0;transform:translate(-50%) translateY(8px)}15%{opacity:1}to{opacity:0;transform:translate(-50%) translateY(-28px)}}.companion-engagement-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:0}.companion-streak-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;font-size:.72rem;font-weight:600;background:linear-gradient(135deg,#ff9f4333,#ffd93d26);border:1px solid rgba(255,159,67,.35);color:#c45c26}.companion-milestones{display:flex;flex-wrap:wrap;gap:4px}.companion-milestone-badge{font-size:.65rem;padding:2px 8px;border-radius:999px;border:1px solid rgba(120,120,120,.25);color:#646464b3;background:#f0f0f099}.companion-milestone-badge.active{border-color:#5a8c5073;background:#8fd87833;color:#2d6a3e;font-weight:600}.companion-daily-quests{margin:0;padding:8px 10px;border-radius:10px;background:color-mix(in srgb,var(--soft) 78%,var(--surface));border:1px solid color-mix(in srgb,var(--line) 76%,transparent);color:var(--ink)}.companion-daily-quests.compact{padding:6px 8px}.companion-daily-quests-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.companion-daily-quests-title{font-size:.78rem;font-weight:700;color:var(--ink)}.companion-daily-quests-progress{font-size:.72rem;color:var(--muted)}.companion-daily-quests-list{list-style:none;margin:0 0 8px;padding:0;display:grid;gap:4px}.companion-daily-quests-list li{display:flex;align-items:center;gap:6px;font-size:.74rem;color:var(--ink)}.companion-daily-quests-list li.done{color:var(--muted);opacity:.8;text-decoration:line-through}.companion-quest-check{font-size:.7rem;width:1em}.companion-quest-claim{width:100%;padding:6px 10px;border-radius:8px;border:1px solid color-mix(in srgb,var(--brand-blue) 24%,var(--line));font-size:.74rem;font-weight:600;cursor:pointer;background:color-mix(in srgb,var(--brand-blue) 82%,var(--brand-cyan));color:#fff;margin-bottom:2px}.companion-quest-claim:disabled{opacity:.5;cursor:not-allowed;background:color-mix(in srgb,var(--muted) 28%,var(--surface));color:var(--muted);border-color:color-mix(in srgb,var(--line) 72%,transparent)}.habitat-decor-meadow.meadow-flowers-active .meadow-flower-patch .meadow-flower-svg,.habitat-decor-meadow.meadow-flowers-active .habitat-flowers{filter:brightness(1.15) saturate(1.2);transform:scale(1.05)}.habitat-unlock-layer{opacity:0;pointer-events:none;transition:opacity .6s ease}.habitat-decor-meadow.unlock-sprout-butterflies .habitat-butterflies{opacity:1}.habitat-butterflies{position:absolute;inset:20% 10% 30%}.habitat-butterflies span{position:absolute;width:6px;height:4px;border-radius:50%;background:#ff8fab;animation:meadow-butterfly 4s ease-in-out infinite}.habitat-butterflies span:nth-child(1){left:15%;top:30%;animation-delay:0s}.habitat-butterflies span:nth-child(2){left:55%;top:50%;animation-delay:1.2s;background:#ffd93d}.habitat-butterflies span:nth-child(3){left:75%;top:25%;animation-delay:2.4s}.habitat-butterflies span:nth-child(4){left:35%;top:40%;animation-delay:3.6s;background:#55efc4}@keyframes meadow-butterfly{0%,to{transform:translate(0)}50%{transform:translate(12px,-8px)}}.habitat-decor-meadow.unlock-sprout-fireflies .habitat-meadow-fireflies{opacity:1}.habitat-meadow-fireflies span{position:absolute;width:3px;height:3px;border-radius:50%;background:#ffeaa7;box-shadow:0 0 6px #ffd93d;animation:meadow-firefly 3s ease-in-out infinite}.habitat-meadow-fireflies span:nth-child(1){left:20%;top:40%}.habitat-meadow-fireflies span:nth-child(2){left:45%;top:55%;animation-delay:.8s}.habitat-meadow-fireflies span:nth-child(3){left:70%;top:35%;animation-delay:1.6s}.habitat-meadow-fireflies span:nth-child(4){left:85%;top:60%;animation-delay:2.2s}@keyframes meadow-firefly{0%,to{opacity:.3}50%{opacity:1}}.habitat-decor-meadow.unlock-sprout-rainbow .habitat-rainbow-mist{opacity:.35;position:absolute;inset:0;background:linear-gradient(120deg,#ff8fab26,#ffd93d1f,#8fd87826,#74b9ff1f)}.habitat-decor-ember.ember-campfire-active .ember-campfire .ember-fire-flames-inner{transform:scale(1.14)}.habitat-decor-ember.ember-campfire-active .ember-fire-light{opacity:1}.habitat-decor-ember.unlock-ember-spark-trail .habitat-ember-sparks span{animation-duration:1.2s;opacity:.95}.habitat-decor-ember.unlock-ember-lantern-bright .ember-lantern{filter:drop-shadow(0 0 8px rgba(255,217,61,.8))}.habitat-decor-ember.unlock-ember-crystal-glow .ember-crystal-large,.habitat-decor-ember.unlock-ember-crystal-glow .ember-crystal-small{filter:drop-shadow(0 0 10px rgba(162,155,254,.85))}.habitat-meadow-at-flowers .companion-habitat-sky{filter:saturate(1.05)}.habitat-ember-at-campfire .companion-habitat-sky{filter:brightness(1.05)}.companion-habitat.is-wander-away .companion-habitat-actor{opacity:0;pointer-events:none}.companion-dashboard-walker{position:absolute;inset:0;pointer-events:none;z-index:30;overflow:visible}.companion-dashboard-walker-sprite{position:absolute;display:flex;flex-direction:column;align-items:center;transform:translate(-50%,-100%);transition-property:left,top;transition-timing-function:ease-in-out;filter:drop-shadow(0 5px 10px rgba(16,24,40,.28));z-index:1}.companion-dashboard-walker-body{display:flex;flex-direction:column;align-items:center;transform-origin:center bottom}.companion-dashboard-walker-body.facing-left{transform:scaleX(-1)}.companion-dashboard-walker-badge{display:none}.companion-cage-controls{display:flex;align-items:center;gap:.25rem}.companion-cage-door-button,.companion-cage-lock-button{display:grid;width:32px;height:32px;place-items:center;border:1px solid color-mix(in srgb,var(--line) 76%,transparent);border-radius:8px;background:color-mix(in srgb,var(--surface) 94%,var(--soft));color:var(--muted);cursor:pointer}.companion-cage-door-button{color:var(--ink)}.companion-cage-door-button.is-open{color:color-mix(in srgb,var(--brand-cyan) 88%,var(--ink));background:color-mix(in srgb,var(--brand-cyan) 12%,var(--surface));border-color:color-mix(in srgb,var(--brand-cyan) 34%,var(--line))}.companion-cage-door-button:disabled{cursor:not-allowed;color:var(--muted);background:color-mix(in srgb,var(--soft) 70%,var(--surface));opacity:.72}.companion-cage-lock-button.is-locked{color:color-mix(in srgb,var(--brand-orange) 88%,var(--ink));background:color-mix(in srgb,var(--brand-orange) 12%,var(--surface));border-color:color-mix(in srgb,var(--brand-orange) 34%,var(--line))}.companion-dashboard-foot-glow{position:absolute;left:50%;bottom:2px;transform:translate(-50%)}.habitat-stat-fx{position:absolute;inset:0;z-index:5;pointer-events:none;overflow:hidden}.habitat-stat-rain-layer,.habitat-stat-storm-layer,.habitat-stat-radiant-layer{position:absolute;inset:0;opacity:0;transition:opacity 1s ease;pointer-events:none}.habitat-stat-rain .companion-habitat-sky{filter:saturate(.88) brightness(.9)}.habitat-meadow.habitat-stat-rain .companion-habitat-sky{filter:saturate(.95) brightness(.97)}.habitat-meadow.habitat-stat-rain .habitat-stat-rain-layer{background:linear-gradient(180deg,rgba(120,150,180,.1) 0%,rgba(120,150,180,.03) 40%,transparent 100%)}.habitat-stat-rain .habitat-stat-rain-layer{opacity:1;background:linear-gradient(180deg,rgba(72,101,132,.18) 0%,rgba(72,101,132,.05) 45%,transparent 100%)}.habitat-stat-rain .habitat-stat-rain-layer:before,.habitat-stat-rain .habitat-stat-rain-layer:after{content:"";position:absolute;inset:-60% -15%;pointer-events:none;background-repeat:repeat}.habitat-stat-rain .habitat-stat-rain-layer:before{background-image:repeating-linear-gradient(118deg,transparent 0,transparent 14px,rgba(196,220,245,.09) 14px,rgba(196,220,245,.09) 15px,transparent 15px,transparent 26px);background-size:100% 28px;opacity:.85;animation:habitat-rain-fall-a 1.05s linear infinite;filter:blur(.35px)}.habitat-stat-rain .habitat-stat-rain-layer:after{background-image:repeating-linear-gradient(118deg,transparent 0,transparent 20px,rgba(170,200,230,.06) 20px,rgba(170,200,230,.06) 21px,transparent 21px,transparent 34px);background-size:100% 36px;opacity:.65;animation:habitat-rain-fall-b 1.45s linear infinite;filter:blur(.5px)}.habitat-stat-storm .habitat-stat-storm-layer{opacity:1;background:linear-gradient(180deg,rgba(35,45,60,.32) 0%,rgba(35,45,60,.1) 50%,transparent 100%)}.habitat-stat-storm .habitat-stat-storm-layer:before,.habitat-stat-storm .habitat-stat-storm-layer:after{content:"";position:absolute;inset:-70% -20%;pointer-events:none;background-repeat:repeat}.habitat-stat-storm .habitat-stat-storm-layer:before{background-image:repeating-linear-gradient(116deg,transparent 0,transparent 10px,rgba(210,225,245,.14) 10px,rgba(210,225,245,.14) 11px,transparent 11px,transparent 18px);background-size:100% 22px;opacity:.9;animation:habitat-rain-fall-a .72s linear infinite;filter:blur(.25px)}.habitat-stat-storm .habitat-stat-storm-layer:after{background-image:repeating-linear-gradient(116deg,transparent 0,transparent 16px,rgba(180,200,225,.1) 16px,rgba(180,200,225,.1) 17px,transparent 17px,transparent 26px);background-size:100% 30px;opacity:.75;animation:habitat-rain-fall-b .95s linear infinite;filter:blur(.45px)}.habitat-stat-storm .companion-habitat-sky{filter:saturate(.78) brightness(.86)}.habitat-stat-radiant .habitat-stat-radiant-layer{opacity:1;background:radial-gradient(circle at 50% 0%,rgba(255,217,61,.18) 0%,transparent 45%),linear-gradient(120deg,transparent 0%,rgba(255,143,171,.08) 35%,rgba(85,239,196,.08) 55%,transparent 100%)}.habitat-stat-radiant.habitat-meadow .habitat-sun{box-shadow:0 0 24px #ffd93dbf}.habitat-ember-dim .companion-habitat-sky{filter:brightness(.72) saturate(.85)}.habitat-ember-dim .habitat-ember-glow{opacity:.45}.habitat-ember-bright .companion-habitat-sky{filter:brightness(1.08) saturate(1.08)}.habitat-ember-bright .habitat-ember-glow{opacity:1;box-shadow:inset 0 0 28px #ff9f4338}@keyframes habitat-rain-fall-a{0%{transform:translateY(-18px)}to{transform:translateY(22px)}}@keyframes habitat-rain-fall-b{0%{transform:translateY(-24px)}to{transform:translateY(28px)}}.companion-habitat-shell{position:relative;display:flex;flex-direction:column;flex:1 1 0;min-height:clamp(96px,calc(var(--companion-grid-h, 8) * 10px),100%);min-width:0;container-type:size;container-name:companion-habitat}.companion-habitat-shell .companion-habitat{flex:1 1 auto;width:100%;min-width:0;min-height:clamp(72px,calc(var(--companion-grid-h, 8) * 8px),100%)}.companion-accessory-menu{position:absolute;bottom:8px;left:8px;top:auto;z-index:18;display:flex;flex-direction:column-reverse;align-items:flex-start;gap:.25rem;max-width:min(336px,calc(100% - 16px));pointer-events:none}.companion-accessory-menu>*{pointer-events:auto}.companion-accessory-toggle{width:30px;height:30px;border:1px solid color-mix(in srgb,var(--line) 72%,transparent);border-radius:8px;background:color-mix(in srgb,var(--surface) 94%,var(--soft));color:var(--ink);box-shadow:0 6px 16px color-mix(in srgb,var(--ink) 12%,transparent);cursor:pointer;font-size:.85rem}.companion-accessory-rail{display:none;flex-direction:row;flex-wrap:wrap;gap:.2rem;max-width:100%}.companion-accessory-menu.is-open .companion-accessory-rail{display:flex}@container companion-habitat (max-width: 420px){.companion-accessory-toggle{width:28px;height:28px;font-size:.8rem}.companion-accessory-slot-btn{width:28px;height:26px;font-size:.7rem}.companion-accessory-menu{bottom:6px;left:6px;max-width:calc(100% - 12px)}}@container companion-habitat (max-width: 280px){.companion-accessory-toggle{width:26px;height:26px}.companion-accessory-slot-btn{width:26px;height:24px}}.companion-accessory-slot-btn{display:grid;place-items:center;width:34px;height:30px;padding:0;overflow:hidden;border:1px solid color-mix(in srgb,var(--line) 72%,transparent);border-radius:8px;background:color-mix(in srgb,var(--surface) 94%,var(--soft));color:var(--ink);cursor:pointer;font-size:.78rem;box-shadow:0 4px 12px color-mix(in srgb,var(--ink) 10%,transparent)}.companion-accessory-slot-btn.is-active{border-color:color-mix(in srgb,var(--brand-blue) 48%,var(--line));background:color-mix(in srgb,var(--brand-blue) 14%,var(--surface));color:var(--ink)}.companion-accessory-slot-btn.has-item{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--brand-cyan) 28%,transparent)}.companion-accessory-slot-btn.has-item.rarity-common{background:color-mix(in srgb,#30b85a 18%,var(--surface));border-color:color-mix(in srgb,#30b85a 40%,var(--line))}.companion-accessory-slot-btn.has-item.rarity-rare{background:color-mix(in srgb,#2478ff 18%,var(--surface));border-color:color-mix(in srgb,#2478ff 40%,var(--line))}.companion-accessory-slot-btn.has-item.rarity-legendary{background:color-mix(in srgb,#ff8a1f 20%,var(--surface));border-color:color-mix(in srgb,#ff8a1f 44%,var(--line))}.companion-accessory-slot-icon{display:grid;place-items:center;width:26px;height:20px;overflow:hidden;line-height:0}.companion-accessory-slot-icon .companion-accessory-pixel{max-width:100%;max-height:100%;width:auto!important;height:auto!important}.companion-accessory-panel{position:relative;display:flex;flex-direction:column;width:min(336px,calc(100cqw - 16px));max-height:min(448px,calc(78cqh - 12px));padding:0;overflow:hidden;border-radius:18px;border:1px solid color-mix(in srgb,var(--line) 76%,transparent);background:color-mix(in srgb,var(--surface) 98%,var(--soft));color:var(--ink);box-shadow:0 20px 56px color-mix(in srgb,var(--ink) 22%,transparent);z-index:1000}.companion-accessory-panel-scroll{overflow-x:hidden;overflow-y:auto;padding:.6rem .5rem 1.05rem;scroll-padding-bottom:1rem;flex:1;min-height:0}.companion-accessory-panel-head{display:flex;justify-content:space-between;gap:.5rem;align-items:baseline;margin-bottom:.25rem}.companion-accessory-panel-head strong{font-size:.78rem;color:var(--ink)}.companion-accessory-panel-head span{font-size:.62rem;color:var(--muted)}.companion-accessory-panel-copy{margin:0 0 .36rem;font-size:.62rem;color:var(--muted);line-height:1.35}.companion-accessory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;padding-bottom:.6rem}.companion-accessory-card{position:relative;display:grid;gap:.16rem;justify-items:center;min-height:74px;padding:.4rem .28rem .36rem;border-radius:10px;border:1px solid color-mix(in srgb,var(--line) 70%,transparent);background:color-mix(in srgb,var(--surface) 88%,transparent);cursor:pointer}.companion-accessory-card.rarity-common{background:linear-gradient(180deg,#b7f7c26b,color-mix(in srgb,var(--surface) 90%,transparent));border-color:color-mix(in srgb,#31b85b 34%,var(--line))}.companion-accessory-card.rarity-rare{background:linear-gradient(180deg,#7bc4ff75,color-mix(in srgb,var(--surface) 90%,transparent));border-color:color-mix(in srgb,#1f7aff 42%,var(--line))}.companion-accessory-card.rarity-legendary{background:linear-gradient(180deg,#ffbf5c8a,color-mix(in srgb,var(--surface) 90%,transparent));border-color:color-mix(in srgb,#ff8a1f 48%,var(--line))}.companion-accessory-card.is-locked{opacity:.55;cursor:not-allowed}.companion-accessory-card.is-equipped{border-color:color-mix(in srgb,#5ecf73 45%,var(--line));background:color-mix(in srgb,#5ecf73 10%,var(--surface))}.companion-accessory-card-icon{display:grid;place-items:center;width:42px;height:34px;margin-bottom:.12rem;overflow:hidden;color:color-mix(in srgb,var(--ink) 55%,transparent);line-height:0}.companion-accessory-card-icon .companion-accessory-pixel{max-width:100%;max-height:100%;width:auto!important;height:auto!important}.companion-accessory-card-name{font-size:.64rem;text-align:center;line-height:1.2;font-weight:800}.companion-accessory-card.rarity-common .companion-accessory-card-name,.companion-accessory-card.rarity-common .companion-accessory-card-rarity{color:#1d8c42}.companion-accessory-card.rarity-rare .companion-accessory-card-name,.companion-accessory-card.rarity-rare .companion-accessory-card-rarity{color:#1768cf}.companion-accessory-card.rarity-legendary .companion-accessory-card-name,.companion-accessory-card.rarity-legendary .companion-accessory-card-rarity{color:#c75a00}.companion-accessory-card-rarity{font-size:.48rem;font-weight:800;letter-spacing:.04em;line-height:1;text-transform:uppercase;opacity:.82}.companion-accessory-card-lock{position:absolute;top:4px;right:4px;color:var(--muted)}.companion-accessory-card-equipped{position:absolute;top:4px;left:4px;font-size:.5rem;font-weight:700;text-transform:uppercase;color:#2d8a45}.companion-accessory-flash{position:absolute;inset:0;z-index:40;display:grid;place-items:center;padding:12px;background:color-mix(in srgb,var(--ink) 58%,transparent);animation:companion-accessory-flash-in .35s ease-out}.companion-accessory-flash-card{display:grid;gap:.35rem;justify-items:center;width:min(100%,260px);padding:1rem 1.1rem;border-radius:14px;background:color-mix(in srgb,var(--surface) 98%,var(--soft));border:1px solid color-mix(in srgb,var(--line) 76%,transparent);box-shadow:0 18px 42px color-mix(in srgb,var(--ink) 22%,transparent);color:var(--ink);text-align:center;animation:companion-accessory-pop .55s cubic-bezier(.2,1.15,.3,1)}.companion-accessory-flash-card strong{color:var(--ink);font-size:.95rem;font-weight:800}.companion-accessory-flash-card.rarity-common{border-color:color-mix(in srgb,#31b85b 42%,var(--line))}.companion-accessory-flash-card.rarity-rare{border-color:color-mix(in srgb,#1f7aff 48%,var(--line))}.companion-accessory-flash-card.rarity-legendary{border-color:color-mix(in srgb,#ff8a1f 52%,var(--line));box-shadow:0 18px 54px color-mix(in srgb,#ff8a1f 18%,transparent)}.companion-accessory-flash-kicker{font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.companion-accessory-flash-rarity{margin-top:-.2rem;font-size:.68rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.companion-accessory-flash-card.rarity-common .companion-accessory-flash-rarity{color:#1d8c42}.companion-accessory-flash-card.rarity-rare .companion-accessory-flash-rarity{color:#1768cf}.companion-accessory-flash-card.rarity-legendary .companion-accessory-flash-rarity{color:#c75a00}.companion-accessory-flash-icon{display:grid;place-items:center;width:56px;height:48px;margin:.2rem auto .35rem}.companion-accessory-flash-dismiss{margin-top:.15rem;border:0;border-radius:999px;padding:.35rem .8rem;background:color-mix(in srgb,var(--brand-blue) 82%,var(--brand-cyan));color:#fff;font-weight:700;cursor:pointer}@keyframes companion-accessory-flash-in{0%{opacity:0}to{opacity:1}}@keyframes companion-accessory-pop{0%{transform:scale(.82);opacity:0}to{transform:scale(1);opacity:1}}.companion-accessory-layers{position:absolute;inset:0;pointer-events:none}.companion-accessory-layers.layer-back{z-index:0}.companion-accessory-layers.layer-cloak{z-index:2}.companion-accessory-layers.layer-front{z-index:3}.companion-accessory-layer{position:absolute;display:block;line-height:0;pointer-events:none}.companion-accessory-pixel{display:block;image-rendering:auto;filter:drop-shadow(0 1px 0 rgba(0,0,0,.22))}.companion-accessory-layer.accessory-slot-back{opacity:.98}.companion-accessory-layer.accessory-id-back-wings,.companion-accessory-layer.accessory-id-back-cape,.companion-accessory-layer.accessory-id-back-spark-cape,.companion-accessory-layer.accessory-id-back-leaf-cloak,.companion-accessory-layer.accessory-id-back-backpack,.companion-accessory-layer.accessory-id-back-picnic-roll,.companion-accessory-layer.accessory-id-back-tool-belt,.companion-accessory-layer.accessory-id-back-angel-wings,.companion-accessory-layer.accessory-id-back-rainbow-cape,.companion-accessory-layer.accessory-id-back-rocket-pack,.companion-accessory-layer.accessory-id-back-dragon-wings,.companion-accessory-layer.accessory-id-back-bubble-pack,.companion-accessory-layer.accessory-id-back-banner,.companion-accessory-layer.accessory-id-back-bat-wings,.companion-accessory-layer.accessory-id-back-cloud-puff,.companion-accessory-layer.accessory-id-back-moon-cloak,.companion-accessory-layer.accessory-id-back-treasure-chest{z-index:0}.companion-accessory-layers.layer-back .companion-accessory-layer.accessory-slot-back.is-cloak-garment{opacity:1}.companion-accessory-layer.is-cloak-garment .companion-accessory-pixel{filter:drop-shadow(0 1px 0 rgba(0,0,0,.28))}.companion-accessory-layer.is-cloak-overlay{z-index:2;opacity:.94}.companion-dashboard-walker-sprite.has-sparkle:after{content:"";position:absolute;left:50%;top:-8px;width:28px;height:28px;transform:translate(-50%);border-radius:50%;background:radial-gradient(circle,rgba(255,217,61,.55) 0%,transparent 72%);animation:wander-sparkle-pop 1.2s ease-out infinite;pointer-events:none}@keyframes wander-sparkle-pop{0%,to{opacity:.35;transform:translate(-50%) scale(.85)}50%{opacity:1;transform:translate(-50%) scale(1.15)}}.companion-wander-loot{position:absolute;left:50%;top:-18px;transform:translate(-50%);padding:2px 8px;border-radius:999px;font-size:.62rem;font-weight:700;white-space:nowrap;background:#ffffffeb;border:1px solid color-mix(in srgb,#5ecf73 45%,var(--line));box-shadow:0 4px 10px #1018281f;animation:companion-float-up 1.6s ease-out forwards;z-index:2}.companion-wander-loot.kind-food{border-color:color-mix(in srgb,#ffd93d 50%,var(--line));color:#6b4e00}.dashboard-widget.companion-widget-dirty{box-shadow:0 0 0 2px color-mix(in srgb,#8b6914 28%,transparent)}.companion-widget-dirty-overlay{position:absolute;inset:0;z-index:12;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.45rem;padding:.75rem;border-radius:inherit;pointer-events:none;background:linear-gradient(160deg,color-mix(in srgb,#6b4e2e 18%,transparent) 0%,color-mix(in srgb,#8b7355 12%,transparent) 45%,transparent 100%);animation:companion-widget-dirty-in .45s ease-out}.companion-widget-dirty-overlay.kind-paws{background:linear-gradient(155deg,color-mix(in srgb,#5a4638 16%,transparent) 0%,color-mix(in srgb,#7a6555 10%,transparent) 50%,transparent 100%)}.companion-widget-dirty-overlay.kind-smudge{background:linear-gradient(145deg,color-mix(in srgb,#4a5568 14%,transparent) 0%,color-mix(in srgb,#718096 10%,transparent) 55%,transparent 100%)}.companion-widget-dirty-splats{position:absolute;inset:0;overflow:hidden;border-radius:inherit;opacity:.55}.companion-widget-dirty-splats .splat{position:absolute;border-radius:50%;background:radial-gradient(circle,rgba(92,64,35,.45) 0%,transparent 72%)}.companion-widget-dirty-overlay.kind-paws .splat{border-radius:40% 45% 42% 48%;background:radial-gradient(circle,rgba(74,58,46,.42) 0%,transparent 70%)}.companion-widget-dirty-overlay.kind-smudge .splat{background:radial-gradient(circle,rgba(90,98,110,.35) 0%,transparent 75%)}.companion-widget-dirty-splats .splat-1{width:54px;height:38px;top:18%;left:12%;transform:rotate(-18deg)}.companion-widget-dirty-splats .splat-2{width:42px;height:42px;bottom:22%;right:14%;transform:rotate(24deg)}.companion-widget-dirty-splats .splat-3{width:36px;height:28px;top:42%;right:28%;transform:rotate(8deg)}.companion-widget-dirty-label{position:relative;z-index:1;font-size:.62rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:color-mix(in srgb,#5c4220 78%,var(--ink));text-shadow:0 1px 0 rgba(255,255,255,.65)}.companion-widget-clean-button{position:relative;z-index:2;pointer-events:auto;display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .75rem;border:1px solid color-mix(in srgb,#5ecf73 45%,var(--line));border-radius:999px;background:#fffffff0;color:#1f6b43;font-size:.72rem;font-weight:700;cursor:pointer;box-shadow:0 4px 12px #1018281f;transition:transform .15s ease,background .15s ease}.companion-widget-clean-button:hover{transform:translateY(-1px);background:#f0fff4}.companion-widget-clean-button:active{transform:scale(.97)}@keyframes companion-widget-dirty-in{0%{opacity:0;transform:scale(1.02)}to{opacity:1;transform:scale(1)}}[data-theme=dark] .companion-switcher-level,body[data-theme=dark] .companion-switcher-level{opacity:1}[data-theme=dark] .companion-stat-label,body[data-theme=dark] .companion-stat-label{color:var(--muted)}[data-theme=dark] .companion-accessory-card.rarity-common .companion-accessory-card-name,[data-theme=dark] .companion-accessory-card.rarity-common .companion-accessory-card-rarity,body[data-theme=dark] .companion-accessory-card.rarity-common .companion-accessory-card-name,body[data-theme=dark] .companion-accessory-card.rarity-common .companion-accessory-card-rarity{color:#86efac}[data-theme=dark] .companion-accessory-card.rarity-rare .companion-accessory-card-name,[data-theme=dark] .companion-accessory-card.rarity-rare .companion-accessory-card-rarity,body[data-theme=dark] .companion-accessory-card.rarity-rare .companion-accessory-card-name,body[data-theme=dark] .companion-accessory-card.rarity-rare .companion-accessory-card-rarity{color:#93c5fd}[data-theme=dark] .companion-accessory-card.rarity-legendary .companion-accessory-card-name,[data-theme=dark] .companion-accessory-card.rarity-legendary .companion-accessory-card-rarity,body[data-theme=dark] .companion-accessory-card.rarity-legendary .companion-accessory-card-name,body[data-theme=dark] .companion-accessory-card.rarity-legendary .companion-accessory-card-rarity{color:#fdba74}[data-theme=dark] .companion-accessory-flash-card.rarity-common .companion-accessory-flash-rarity,body[data-theme=dark] .companion-accessory-flash-card.rarity-common .companion-accessory-flash-rarity{color:#86efac}[data-theme=dark] .companion-accessory-flash-card.rarity-rare .companion-accessory-flash-rarity,body[data-theme=dark] .companion-accessory-flash-card.rarity-rare .companion-accessory-flash-rarity{color:#93c5fd}[data-theme=dark] .companion-accessory-flash-card.rarity-legendary .companion-accessory-flash-rarity,body[data-theme=dark] .companion-accessory-flash-card.rarity-legendary .companion-accessory-flash-rarity{color:#fdba74}:root[data-theme=pride] .companion-widget-inner,body[data-theme=pride] .companion-widget-inner{background:radial-gradient(circle at 12% 8%,rgba(255,140,0,.12),transparent 34%),radial-gradient(circle at 88% 16%,rgba(36,75,255,.1),transparent 32%)}:root[data-theme=pride] .companion-habitat,body[data-theme=pride] .companion-habitat{border:2px solid transparent;background:linear-gradient(#fff,#fff) padding-box,var(--pride-rainbow) border-box;background-size:100% 100%,var(--pride-rainbow-shift-size) auto;box-shadow:inset 0 0 28px #73298214,0 0 20px #ff8c001a;animation:companion-pride-border 24s linear infinite}:root[data-theme=pride] .companion-switcher-tab.active,body[data-theme=pride] .companion-switcher-tab.active{border-color:#732982;background:linear-gradient(135deg,#ffed0038,#244bff24);box-shadow:0 0 0 2px #ff8c003d}:root[data-theme=pride] .companion-switcher-level,body[data-theme=pride] .companion-switcher-level{color:#732982;font-weight:900}:root[data-theme=pride] .companion-stat-fill,body[data-theme=pride] .companion-stat-fill,:root[data-theme=pride] .companion-stat-ring-fill,body[data-theme=pride] .companion-stat-ring-fill{background:var(--pride-rainbow);background-size:var(--pride-rainbow-shift-size) auto;animation:companion-pride-fill 14s linear infinite}:root[data-theme=pride] .companion-accessory-card.rarity-rare,body[data-theme=pride] .companion-accessory-card.rarity-rare{border-color:#244bff;box-shadow:0 0 16px #244bff2e}:root[data-theme=pride] .companion-accessory-card.rarity-legendary,body[data-theme=pride] .companion-accessory-card.rarity-legendary{border-color:#ff8c00;background:linear-gradient(135deg,#ffed0029,#e4030314);box-shadow:0 0 20px #ff8c0038}:root[data-theme=pride] .companion-speech-bubble,body[data-theme=pride] .companion-speech-bubble{border:2px solid transparent;background:linear-gradient(#fff,#fff8fc) padding-box,var(--pride-rainbow) border-box}:root[data-theme=pride] .companion-engagement-row button,body[data-theme=pride] .companion-engagement-row button{border-color:color-mix(in srgb,#732982 34%,var(--line))}:root[data-theme=pride] .companion-engagement-row button:hover,body[data-theme=pride] .companion-engagement-row button:hover{border-color:#ff8c00;background:color-mix(in srgb,#ffed00 18%,var(--soft))}@keyframes companion-pride-border{0%{background-position:0% 0%,0% 50%}to{background-position:0% 0%,100% 50%}}@keyframes companion-pride-fill{0%{background-position:0% 50%}to{background-position:100% 50%}}@media(prefers-reduced-motion:reduce){:root[data-theme=pride] .companion-habitat,body[data-theme=pride] .companion-habitat,:root[data-theme=pride] .companion-stat-fill,body[data-theme=pride] .companion-stat-fill,:root[data-theme=pride] .companion-stat-ring-fill,body[data-theme=pride] .companion-stat-ring-fill{animation:none!important}}.budget-page{display:grid;gap:16px}.budget-lede{margin:8px 0 0;max-width:52ch;color:var(--muted);font-size:.95rem;font-weight:700;line-height:1.5}.budget-page-error{margin:0}.budget-period-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 18px;border:1px solid color-mix(in srgb,var(--line) 80%,transparent);border-radius:14px;background:color-mix(in srgb,var(--surface) 92%,var(--soft));box-shadow:0 8px 20px #1018280f}.budget-period-label{display:grid;gap:2px;flex:1;min-width:180px}.budget-period-label strong{color:var(--brand-navy);font-size:1rem}.budget-period-bar .icon-only{width:38px;padding-inline:0;justify-content:center}.budget-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.budget-metric{display:grid;gap:6px;border:1px solid color-mix(in srgb,var(--line) 78%,transparent);border-top:3px solid color-mix(in srgb,var(--brand-blue) 55%,var(--line));border-radius:14px;padding:16px;background:color-mix(in srgb,var(--surface) 94%,var(--soft));box-shadow:0 8px 18px #1018280d}.budget-metric.highlight{border-color:color-mix(in srgb,var(--brand-blue) 28%,var(--line));border-top-color:var(--brand-blue);background:color-mix(in srgb,var(--brand-blue) 8%,var(--surface))}.budget-metric span{color:var(--muted);font-size:.78rem;font-weight:900;text-transform:uppercase}.budget-metric strong{color:var(--brand-navy);font-size:1.25rem}.budget-metric.good strong{color:#087044}.budget-metric.danger strong{color:#b42318}.budget-setup{border:1px solid color-mix(in srgb,var(--line) 78%,transparent);border-radius:14px;background:color-mix(in srgb,var(--surface) 94%,var(--soft));box-shadow:0 8px 20px #1018280d;overflow:hidden}.budget-setup>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;cursor:pointer;list-style:none}.budget-setup>summary::-webkit-details-marker{display:none}.budget-setup>summary strong{color:var(--brand-navy)}.budget-setup[open]>summary{border-bottom:1px solid var(--line)}.budget-setup[open]>summary svg{transform:rotate(90deg)}.budget-setup-body{display:grid;gap:12px;padding:18px}.budget-setup-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.budget-setup-note,.budget-footnote{margin:0;color:var(--muted);font-size:.85rem;font-weight:700;line-height:1.45}.budget-panel{border:1px solid color-mix(in srgb,var(--line) 78%,transparent);border-radius:14px;background:color-mix(in srgb,var(--surface) 94%,var(--soft));box-shadow:0 8px 20px #1018280d;padding:18px}.budget-panel .section-heading{margin-bottom:14px}.budget-form,.budget-edit-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:end}.budget-notes-field{grid-column:1 / 3}.budget-add-button{align-self:end}.budget-edit-form{border:1px solid color-mix(in srgb,var(--line) 72%,transparent);border-radius:12px;padding:14px;background:color-mix(in srgb,var(--surface) 92%,var(--soft))}.budget-edit-form .budget-notes-field{grid-column:1 / -1}.budget-edit-actions{grid-column:1 / -1;display:flex;gap:10px;flex-wrap:wrap}.budget-workspace{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:16px;align-items:start}.budget-list,.budget-mini-list{display:grid;gap:10px}.budget-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto auto;gap:12px;align-items:center;border:1px solid color-mix(in srgb,var(--line) 72%,transparent);border-radius:12px;padding:12px;background:color-mix(in srgb,var(--surface) 92%,var(--soft))}.budget-row.overdue{border-color:#f2b8b5;background:#fff5f5}.budget-row.overdue strong{color:#912018}.budget-row-actions{display:flex;gap:4px}.budget-recurring-badge,.budget-overdue-badge{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:999px;font-size:.68rem;font-weight:900;letter-spacing:.02em;text-transform:uppercase;vertical-align:middle}.budget-recurring-badge{color:#175cd3;background:#eff8ff}.budget-overdue-badge{color:#b42318;background:#fee4e2}.budget-row.paid{border-color:#a8dbc2;background:var(--success-bg)}.budget-row.paid .icon-check{color:#087044;background:#dff7ea}.budget-row strong,.budget-row span,.budget-mini-row strong,.budget-mini-row span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.budget-row span,.budget-mini-row span{color:var(--muted);font-size:.85rem;font-weight:750}.budget-amount{color:var(--brand-navy);white-space:nowrap}.budget-mini-row{display:grid;gap:4px;border:1px solid color-mix(in srgb,var(--line) 72%,transparent);border-radius:8px;padding:12px;background:color-mix(in srgb,var(--surface) 88%,var(--soft))}.budget-mini-row.overdue{border-color:#f2b8b5;background:#fff5f5}.budget-mini-row.overdue strong{color:#b42318}.budget-category-list{display:grid;gap:10px}.budget-category-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--line) 72%,transparent);border-radius:8px;background:color-mix(in srgb,var(--surface) 88%,var(--soft))}.budget-category-row span{color:var(--muted);font-weight:800}.budget-category-row strong{color:var(--brand-navy)}.budget-due-panel .budget-footnote{margin-top:12px;padding-top:12px;border-top:1px solid color-mix(in srgb,var(--line) 72%,transparent)}@media(max-width:980px){.budget-overview,.budget-setup-grid,.budget-form,.budget-edit-form,.budget-workspace{grid-template-columns:1fr}.budget-notes-field,.budget-add-button{grid-column:auto}}@media(max-width:560px){.budget-row{grid-template-columns:38px minmax(0,1fr)}.budget-amount,.budget-row-actions{grid-column:2;grid-row:2}.budget-amount{justify-self:start}.budget-row-actions{justify-self:end}}.google-calendar-page{--dash-blue: var(--brand-blue);--dash-orange: var(--brand-orange);--dash-red: #ff375f;--dash-purple: #bf5af2;--dash-green: #30d158;gap:20px}.google-calendar-panel{display:grid;gap:16px;border:1px solid color-mix(in srgb,var(--line) 72%,transparent);border-radius:14px;padding:18px;background:color-mix(in srgb,var(--surface) 96%,var(--soft))}.google-calendar-status{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.google-calendar-status-copy{display:grid;gap:4px;min-width:0}.google-calendar-status-copy strong{color:var(--ink);font-size:.98rem}.google-calendar-status-copy span{color:var(--muted);font-size:.86rem;font-weight:700}.google-calendar-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.google-calendar-empty-state{display:grid;justify-items:center;gap:10px;padding:28px 12px;color:var(--muted)}.google-calendar-reconnect-banner{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:12px 14px;border:1px solid color-mix(in srgb,var(--dash-blue) 28%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--dash-blue) 8%,var(--surface))}.google-calendar-reconnect-banner p{margin:0;color:var(--ink);font-size:.84rem;font-weight:600;line-height:1.45}.google-calendar-view-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.google-calendar-nav{display:flex;align-items:center;gap:8px}.google-calendar-range-button{min-width:148px;min-height:38px;padding:0 14px;border:1px solid color-mix(in srgb,var(--line) 72%,transparent);border-radius:12px;background:color-mix(in srgb,var(--surface) 98%,var(--soft));color:var(--ink);font-size:.9rem;font-weight:800;cursor:pointer}.google-calendar-range-button:hover:not(:disabled){border-color:color-mix(in srgb,var(--dash-blue) 34%,var(--line));background:color-mix(in srgb,var(--dash-blue) 8%,var(--surface))}.google-calendar-view-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.google-calendar-view-toggle{display:inline-flex;padding:3px;border:1px solid color-mix(in srgb,var(--line) 72%,transparent);border-radius:12px;background:color-mix(in srgb,var(--soft) 70%,var(--surface))}.google-calendar-view-toggle button{min-height:32px;padding:0 12px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-size:.82rem;font-weight:800;cursor:pointer}.google-calendar-view-toggle button.is-active{background:var(--surface);color:var(--ink);box-shadow:0 1px 4px #10182814}.google-calendar-menu{position:relative}.google-calendar-picker-button{min-height:38px}.google-calendar-menu-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:30;width:min(360px,calc(100vw - 32px));display:grid;gap:12px;padding:14px;border:1px solid color-mix(in srgb,var(--line) 72%,transparent);border-radius:14px;background:var(--surface);box-shadow:0 16px 32px #0f172a29}.google-calendar-menu-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.google-calendar-menu-head strong{color:var(--ink);font-size:.92rem}.google-calendar-menu-head span{color:var(--muted);font-size:.78rem;font-weight:700}.google-calendar-help{display:flex;align-items:flex-start;gap:8px;margin:0;padding:10px 12px;border-radius:10px;background:color-mix(in srgb,var(--dash-blue) 8%,var(--soft));color:var(--muted);font-size:.78rem;font-weight:600;line-height:1.45}.google-calendar-help svg{flex-shrink:0;margin-top:2px;color:var(--dash-blue)}.google-calendar-checkbox-list{display:grid;gap:6px;max-height:280px;overflow:auto}.google-calendar-checkbox-row{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:10px;padding:8px 10px;border-radius:10px;cursor:pointer}.google-calendar-checkbox-row:hover{background:color-mix(in srgb,var(--soft) 80%,transparent)}.google-calendar-checkbox-row input{width:16px;height:16px;margin:0}.google-calendar-color-swatch{width:12px;height:12px;border-radius:999px;box-shadow:inset 0 0 0 1px #0000001f}.google-calendar-checkbox-label{display:grid;gap:2px;min-width:0}.google-calendar-checkbox-label strong{overflow:hidden;color:var(--ink);font-size:.84rem;text-overflow:ellipsis;white-space:nowrap}.google-calendar-checkbox-label small{color:var(--muted);font-size:.72rem;font-weight:700}.google-calendar-week-grid{display:grid;gap:0;overflow:hidden;border:1px solid color-mix(in srgb,var(--line) 72%,transparent);border-radius:14px;background:var(--surface)}.google-calendar-week-header{display:grid;grid-template-columns:56px repeat(7,minmax(0,1fr));border-bottom:1px solid color-mix(in srgb,var(--line) 72%,transparent)}.google-calendar-week-corner{border-right:1px solid color-mix(in srgb,var(--line) 72%,transparent)}.google-calendar-week-dayhead{display:grid;justify-items:center;gap:2px;padding:10px 6px;border-right:1px solid color-mix(in srgb,var(--line) 72%,transparent);text-align:center}.google-calendar-week-dayhead:last-child{border-right:0}.google-calendar-week-dayhead span{color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.google-calendar-week-dayhead strong{color:var(--ink);font-size:1.15rem;line-height:1}.google-calendar-week-dayhead.is-today strong{display:grid;place-items:center;width:30px;height:30px;border-radius:999px;background:color-mix(in srgb,var(--dash-blue) 16%,var(--surface));color:var(--dash-blue)}.google-calendar-week-allday{display:grid;grid-template-columns:56px repeat(7,minmax(0,1fr));border-bottom:1px solid color-mix(in srgb,var(--line) 72%,transparent)}.google-calendar-week-allday-label{display:flex;align-items:flex-start;justify-content:flex-end;padding:8px 8px 8px 0;border-right:1px solid color-mix(in srgb,var(--line) 72%,transparent);color:var(--muted);font-size:.68rem;font-weight:700}.google-calendar-week-allday-column{display:grid;gap:4px;min-height:34px;padding:4px;border-right:1px solid color-mix(in srgb,var(--line) 72%,transparent)}.google-calendar-week-allday-column:last-child{border-right:0}.google-calendar-week-body{display:grid;grid-template-columns:56px repeat(7,minmax(0,1fr));overflow:auto;max-height:min(72vh,760px)}.google-calendar-week-times{border-right:1px solid color-mix(in srgb,var(--line) 72%,transparent)}.google-calendar-week-time{height:var(--week-hour-height);padding-right:8px;color:var(--muted);font-size:.68rem;font-weight:700;line-height:1;text-align:right;transform:translateY(-6px)}.google-calendar-week-column{position:relative;border-right:1px solid color-mix(in srgb,var(--line) 72%,transparent);background:linear-gradient(to bottom,color-mix(in srgb,var(--line) 55%,transparent) 1px,transparent 1px);background-size:100% var(--week-hour-height)}.google-calendar-week-column:last-child{border-right:0}.google-calendar-week-column.is-today{background-color:color-mix(in srgb,var(--dash-blue) 4%,transparent)}.google-calendar-week-hour{height:var(--week-hour-height)}.google-calendar-week-event,.google-calendar-month-event{display:grid;gap:1px;min-width:0;overflow:hidden;border:1px solid color-mix(in srgb,var(--dash-blue) 72%,#000000);border-radius:8px;padding:4px 6px;background:var(--dash-blue);box-shadow:0 4px 12px color-mix(in srgb,var(--dash-blue) 34%,transparent);color:#fff;text-decoration:none}.google-calendar-week-event{position:absolute;z-index:1}.google-calendar-week-event:hover,.google-calendar-month-event:hover{filter:brightness(1.05);z-index:2}.google-calendar-week-event.is-past{opacity:.72}.google-calendar-week-event.is-allday{position:static}.google-calendar-week-event strong,.google-calendar-week-event span,.google-calendar-month-event strong,.google-calendar-month-event span{color:inherit}.google-calendar-month-event strong{overflow:hidden;font-size:.72rem;font-weight:800;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.google-calendar-week-event span,.google-calendar-month-event span{overflow:hidden;font-size:.66rem;font-weight:700;line-height:1.15;opacity:.92;text-overflow:ellipsis;white-space:nowrap}.google-calendar-week-event.is-micro{padding:2px 5px}.google-calendar-week-event.is-micro strong{font-size:.66rem;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.google-calendar-week-event.is-compact strong{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.google-calendar-month-grid{display:grid;gap:0;overflow:hidden;border:1px solid color-mix(in srgb,var(--line) 72%,transparent);border-radius:14px;background:var(--surface)}.google-calendar-month-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-bottom:1px solid color-mix(in srgb,var(--line) 72%,transparent)}.google-calendar-month-weekdays div{padding:10px 8px;color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.04em;text-align:center;text-transform:uppercase}.google-calendar-month-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.google-calendar-month-cell{display:grid;grid-template-rows:auto 1fr;gap:6px;min-height:118px;padding:8px;border-right:1px solid color-mix(in srgb,var(--line) 72%,transparent);border-bottom:1px solid color-mix(in srgb,var(--line) 72%,transparent)}.google-calendar-month-cell:nth-child(7n){border-right:0}.google-calendar-month-cell.is-outside-month{background:color-mix(in srgb,var(--soft) 55%,var(--surface))}.google-calendar-month-cell.is-outside-month .google-calendar-month-date{color:var(--muted)}.google-calendar-month-cell.is-today .google-calendar-month-date{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:999px;background:color-mix(in srgb,var(--dash-blue) 16%,var(--surface));color:var(--dash-blue)}.google-calendar-month-date{color:var(--ink);font-size:.82rem;font-weight:800}.google-calendar-month-events{display:grid;gap:4px;align-content:start;min-width:0}.google-calendar-month-event{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px}.google-calendar-month-event span{flex-shrink:0;min-width:52px}.google-calendar-month-more{justify-self:start;padding:0;border:0;background:transparent;color:var(--muted);font-size:.72rem;font-weight:800;cursor:pointer}.google-calendar-month-more:hover{color:var(--dash-blue)}@media(max-width:960px){.google-calendar-view-toolbar{flex-direction:column;align-items:stretch}.google-calendar-nav,.google-calendar-view-controls{justify-content:space-between}}@media(max-width:720px){.google-calendar-week-header,.google-calendar-week-allday,.google-calendar-week-body{grid-template-columns:44px repeat(7,minmax(72px,1fr))}.google-calendar-week-body{overflow-x:auto}.google-calendar-month-cell{min-height:96px;padding:6px}.google-calendar-month-event{grid-template-columns:1fr;gap:1px}.google-calendar-month-event span{min-width:0}}@media(max-width:640px){.google-calendar-view-controls{width:100%}.google-calendar-menu{flex:1 1 auto}.google-calendar-picker-button,.google-calendar-view-controls>.secondary-button{width:100%;justify-content:center}}.dashboard-widget.calculator-widget-card{border-color:color-mix(in srgb,var(--brand-cyan) 34%,var(--line));grid-template-rows:auto minmax(0,1fr);container-type:inline-size}.dashboard-widget.calculator-widget-card .widget-title-icon{color:var(--brand-cyan);background:color-mix(in srgb,var(--brand-cyan) 14%,var(--surface))}.calculator-widget{display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:6px;min-height:0;height:100%;outline:none}.calculator-expression{min-height:1rem;padding:0 4px;color:var(--muted);font-size:.72rem;font-weight:800;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calculator-display{width:100%;min-height:44px;border:1px solid color-mix(in srgb,var(--line) 82%,transparent);border-radius:10px;padding:8px 12px;color:var(--ink);background:var(--field);font-size:clamp(1.15rem,5.5cqw,1.75rem);font-weight:800;line-height:1.2;text-align:right}.calculator-display:focus-visible{outline:none;border-color:color-mix(in srgb,var(--brand-blue) 48%,var(--line));box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-blue) 16%,transparent)}.calculator-keypad{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(5,minmax(32px,1fr)) minmax(34px,auto);gap:6px;min-height:0}.calculator-equals-key{grid-column:1 / -1}.calculator-key{min-width:0;border:1px solid color-mix(in srgb,var(--line) 80%,transparent);border-radius:8px;padding:0;color:var(--ink);background:color-mix(in srgb,var(--surface) 94%,var(--soft));font-size:clamp(.82rem,3.8cqw,.96rem);font-weight:800;cursor:pointer;transition:background .12s ease,border-color .12s ease,transform 80ms ease}.calculator-key:hover{border-color:color-mix(in srgb,var(--brand-blue) 34%,var(--line));background:color-mix(in srgb,var(--soft) 72%,var(--surface))}.calculator-key:active{transform:scale(.97)}.calculator-key.function{color:var(--muted);background:color-mix(in srgb,var(--soft) 78%,var(--surface))}.calculator-key.operator{color:var(--brand-navy);background:color-mix(in srgb,var(--brand-blue) 12%,var(--surface))}.calculator-key.equals{border-color:color-mix(in srgb,var(--brand-navy) 72%,var(--line));color:#fff;background:var(--brand-navy)}.calculator-key.equals:hover{border-color:var(--brand-navy);background:color-mix(in srgb,var(--brand-blue) 72%,var(--brand-navy))}:root[data-theme=pride] .calculator-key.equals,body[data-theme=pride] .calculator-key.equals{border-color:transparent;color:#fff;background:var(--pride-rainbow);background-size:var(--pride-rainbow-shift-size) auto;animation:pride-rainbow-shift 16s linear infinite;box-shadow:0 0 0 1px #ffffff1f inset}:root[data-theme=pride] .calculator-key.equals:hover,body[data-theme=pride] .calculator-key.equals:hover{border-color:transparent;background:var(--pride-rainbow);background-size:var(--pride-rainbow-shift-size) auto;animation:pride-rainbow-shift 16s linear infinite;box-shadow:0 4px 14px #73298238,0 0 0 1px #ffffff2e inset}@media(prefers-reduced-motion:reduce){:root[data-theme=pride] .calculator-key.equals,body[data-theme=pride] .calculator-key.equals,:root[data-theme=pride] .calculator-key.equals:hover,body[data-theme=pride] .calculator-key.equals:hover{animation:none}.calculator-key:active{transform:none}}.toonami-widget.is-fullscreen,.toonami-widget:fullscreen{display:grid;grid-template-rows:minmax(0,1fr) auto auto auto;gap:.75rem;width:100%;height:100%;padding:1rem;box-sizing:border-box;background:var(--app-bg)}.toonami-widget.is-fullscreen .toonami-video-wrap,.toonami-widget:fullscreen .toonami-video-wrap{min-height:0}.toonami-widget.is-fullscreen .toonami-now-playing-title,.toonami-widget:fullscreen .toonami-now-playing-title,.toonami-widget.is-fullscreen .toonami-now-playing-detail,.toonami-widget:fullscreen .toonami-now-playing-detail{white-space:normal}.dashboard-widget.toonami-widget-card{border-color:color-mix(in srgb,var(--dash-blue) 34%,var(--line));grid-template-rows:auto minmax(0,1fr);container-type:inline-size;overflow:hidden}.dashboard-widget.toonami-widget-card .widget-title-icon{color:var(--dash-blue);background:color-mix(in srgb,var(--dash-blue) 14%,var(--surface))}.toonami-widget{display:grid;grid-template-rows:minmax(0,1fr) auto auto auto;gap:.55rem;min-height:0;height:100%}.toonami-video-wrap{position:relative;min-height:0;border-radius:.65rem;overflow:hidden;background:var(--field);border:1px solid color-mix(in srgb,var(--line) 82%,transparent);box-shadow:inset 0 1px color-mix(in srgb,var(--surface) 40%,transparent)}.toonami-video-wrap.is-radio{display:grid;place-items:center}.toonami-video,.toonami-radio-poster{width:100%;height:100%;object-fit:contain;background:#000}.toonami-radio-poster{position:absolute;inset:0;opacity:.35;filter:blur(1px) saturate(.95)}.toonami-video-wrap.is-radio .toonami-video{position:relative;z-index:1;opacity:0}.toonami-loading,.toonami-error{position:absolute;inset:0;display:grid;place-content:center;gap:.65rem;padding:1rem;text-align:center;background:color-mix(in srgb,var(--surface) 88%,transparent);color:var(--ink);z-index:2}.toonami-error p{margin:0;font-size:.82rem;color:var(--muted)}.toonami-controls{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.5rem;padding:.35rem .45rem;border-radius:.55rem;background:color-mix(in srgb,var(--soft) 72%,var(--surface));border:1px solid color-mix(in srgb,var(--line) 82%,transparent)}.toonami-controls-left,.toonami-controls-right{display:flex;align-items:center;gap:.35rem}.toonami-controls-right{justify-content:flex-end}.toonami-control-button{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;min-width:2.1rem;min-height:1.8rem;padding:.2rem .45rem;border-radius:.4rem;border:1px solid color-mix(in srgb,var(--line) 82%,transparent);background:color-mix(in srgb,var(--surface) 94%,var(--soft));color:var(--ink);font-size:.72rem;font-weight:700;letter-spacing:.04em;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.toonami-control-button:hover{border-color:color-mix(in srgb,var(--brand-blue) 48%,var(--line));color:var(--brand-navy);background:color-mix(in srgb,var(--soft) 84%,var(--surface))}.toonami-channel-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .55rem;border-radius:999px;background:color-mix(in srgb,var(--dash-blue) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--dash-blue) 22%,var(--line));color:var(--brand-navy);font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.toonami-volume{--thumb-size: .72rem;--track-height: .28rem;--volume-pct: 15%;width:min(5.75rem,30vw);height:var(--thumb-size);margin:0;padding:0;background:transparent;cursor:pointer;-webkit-appearance:none;appearance:none}.toonami-volume::-webkit-slider-runnable-track{height:var(--track-height);border-radius:999px;background:linear-gradient(to right,var(--brand-blue) 0%,var(--brand-blue) var(--volume-pct),color-mix(in srgb,var(--line) 72%,transparent) var(--volume-pct),color-mix(in srgb,var(--line) 72%,transparent) 100%)}.toonami-volume::-webkit-slider-thumb{-webkit-appearance:none;width:var(--thumb-size);height:var(--thumb-size);margin-top:calc((var(--track-height) - var(--thumb-size)) / 2);border:none;border-radius:50%;background:var(--brand-blue);box-shadow:0 0 0 1px color-mix(in srgb,var(--ink) 12%,transparent)}.toonami-volume::-moz-range-track{height:var(--track-height);border:none;border-radius:999px;background:color-mix(in srgb,var(--line) 72%,transparent)}.toonami-volume::-moz-range-progress{height:var(--track-height);border-radius:999px 0 0 999px;background:var(--brand-blue)}.toonami-volume::-moz-range-thumb{width:var(--thumb-size);height:var(--thumb-size);border:none;border-radius:50%;background:var(--brand-blue);box-shadow:0 0 0 1px color-mix(in srgb,var(--ink) 12%,transparent)}.toonami-volume:focus-visible{outline:2px solid color-mix(in srgb,var(--brand-blue) 45%,transparent);outline-offset:2px}.toonami-now-playing{display:grid;gap:.15rem;min-width:0;padding:.2rem .35rem 0}.toonami-now-playing-copy{display:grid;gap:.1rem;min-width:0}.toonami-now-playing-label{color:var(--muted);font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.toonami-now-playing-title{color:var(--ink);font-size:clamp(.78rem,2.2vw,.92rem);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toonami-now-playing-detail{color:var(--muted);font-size:.72rem;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toonami-footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-width:0;padding:0 .2rem}.toonami-playback-path{border-radius:999px;font-size:.62rem;font-weight:700;letter-spacing:.06em;padding:.18rem .45rem;text-transform:uppercase}.toonami-playback-path.is-direct{background:#38d67e24;border:1px solid rgba(56,214,126,.35);color:#8dffc0}.toonami-playback-path.is-relay,.toonami-playback-path.is-proxied{background:#ffc44d1f;border:1px solid rgba(255,196,77,.35);color:#ffd27a}.toonami-site-link{display:inline-flex;align-items:center;gap:.3rem;color:var(--brand-blue);font-size:.72rem;text-decoration:none}.toonami-site-link:hover{color:var(--brand-navy)}.toonami-disclaimer{color:var(--muted);font-size:.64rem;text-align:right}@container (max-width: 360px){.toonami-controls{grid-template-columns:1fr}.toonami-controls-center{order:-1;justify-self:center}.toonami-footer{flex-direction:column;align-items:flex-start}.toonami-disclaimer{text-align:left}}.budget-page,.chore-chart-page,.meal-planner-page,.task-board-page{--paper: var(--surface);--shadow: 0 10px 24px rgba(16, 24, 40, .08)}.chore-chart-page,.meal-planner-page{--text-muted: var(--muted);--surface-elevated: var(--surface);--text-primary: var(--ink);--surface-base: var(--app-bg)}.work-schedule-tool .panel,.work-schedule-tool .menu-panel,.work-schedule-tool .auth-card{box-shadow:0 10px 24px #10182814}.work-schedule-tool .schedule{border-radius:14px}@media(max-width:920px){.task-board-header{flex-direction:column;align-items:stretch}.task-workspace-bar{justify-content:flex-start;width:100%}.task-workspace-trigger{max-width:100%}.task-column{flex:0 0 min(280px,78vw)}.meal-planner-toolbar{flex-direction:column;align-items:stretch}.meal-planner-controls{width:100%}}@media(max-width:560px){.task-column{flex:0 0 min(260px,86vw)}.task-board-columns{min-height:320px}.task-board-title h1{font-size:1.3rem}.budget-period-bar{flex-direction:column;align-items:stretch}.chore-chart-grid-wrap{margin-inline:-4px}.meal-planner-page .page-heading{flex-direction:column;align-items:flex-start}}:root[data-theme=pride] .budget-page .budget-period-bar,:root[data-theme=pride] .budget-page .budget-metric,:root[data-theme=pride] .task-board-page .task-column,:root[data-theme=pride] .chore-chart-page .chore-chart-grid-wrap,:root[data-theme=pride] .meal-planner-page .meal-planner-toolbar,:root[data-theme=pride] .google-calendar-page .google-calendar-panel{border:2px solid transparent;background:linear-gradient(color-mix(in srgb,var(--surface) 94%,var(--soft)),color-mix(in srgb,var(--surface) 94%,var(--soft))) padding-box,var(--pride-rainbow) border-box;background-size:100% 100%,var(--pride-rainbow-shift-size) auto;animation:pride-tool-rainbow 24s linear infinite}:root[data-theme=pride] .google-calendar-page{--dash-blue: var(--pride-blue);--dash-orange: var(--pride-orange);--dash-red: var(--pride-red);--dash-purple: var(--pride-violet);--dash-green: var(--pride-green)}:root[data-theme=pride] .google-calendar-page .google-calendar-week-event,:root[data-theme=pride] .google-calendar-page .google-calendar-month-event{border:2px solid transparent;background:linear-gradient(color-mix(in srgb,var(--pride-violet) 82%,#000000),color-mix(in srgb,var(--pride-blue) 78%,#000000)) padding-box,var(--pride-rainbow) border-box;background-size:100% 100%,var(--pride-rainbow-shift-size) auto;box-shadow:0 8px 18px #7329822e;animation:pride-tool-rainbow 24s linear infinite;color:#fff}:root[data-theme=pride] .budget-page .budget-metric:nth-child(1){border-top-color:#e40303}:root[data-theme=pride] .budget-page .budget-metric:nth-child(2){border-top-color:#ff8c00}:root[data-theme=pride] .budget-page .budget-metric:nth-child(3){border-top-color:#008026}:root[data-theme=pride] .budget-page .budget-metric:nth-child(4){border-top-color:#732982}:root[data-theme=pride] .task-board-page .task-column:nth-child(1){background:linear-gradient(color-mix(in srgb,#e40303 6%,var(--surface)),color-mix(in srgb,#e40303 6%,var(--surface))) padding-box,linear-gradient(180deg,#e40303,#ff9a2e 55%,#ff8c00) border-box}:root[data-theme=pride] .task-board-page .task-column:nth-child(2){background:linear-gradient(color-mix(in srgb,#ff8c00 6%,var(--surface)),color-mix(in srgb,#ff8c00 6%,var(--surface))) padding-box,linear-gradient(180deg,#ff8c00,#ffd54a 55%,#ffed00) border-box}:root[data-theme=pride] .task-board-page .task-column:nth-child(3){background:linear-gradient(color-mix(in srgb,#008026 6%,var(--surface)),color-mix(in srgb,#008026 6%,var(--surface))) padding-box,linear-gradient(180deg,#008026,#3aa878 55%,#244bff) border-box}:root[data-theme=pride] .task-board-page .task-column:nth-child(4){background:linear-gradient(color-mix(in srgb,#244bff 6%,var(--surface)),color-mix(in srgb,#244bff 6%,var(--surface))) padding-box,linear-gradient(180deg,#244bff,#5a3dcc 55%,#732982) border-box}:root[data-theme=pride] .task-board-page .task-card{border-color:color-mix(in srgb,#732982 24%,var(--line));box-shadow:0 6px 16px #73298214}:root[data-theme=pride] .task-board-page .task-board-title h1{background:var(--pride-rainbow);background-size:var(--pride-rainbow-shift-size) auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:pride-tool-rainbow-text 20s linear infinite}@keyframes pride-tool-rainbow{0%{background-position:0% 0%,0% 50%}to{background-position:0% 0%,100% 50%}}@keyframes pride-tool-rainbow-text{0%{background-position:0% 50%}to{background-position:100% 50%}}@media(prefers-reduced-motion:reduce){:root[data-theme=pride] .budget-page .budget-period-bar,:root[data-theme=pride] .budget-page .budget-metric,:root[data-theme=pride] .task-board-page .task-column,:root[data-theme=pride] .chore-chart-page .chore-chart-grid-wrap,:root[data-theme=pride] .meal-planner-page .meal-planner-toolbar,:root[data-theme=pride] .google-calendar-page .google-calendar-panel,:root[data-theme=pride] .google-calendar-page .google-calendar-week-event,:root[data-theme=pride] .google-calendar-page .google-calendar-month-event,:root[data-theme=pride] .task-board-page .task-board-title h1{animation:none!important}}.work-schedule-tool{--ink:#17202a;--muted:#627184;--line:#c7d0da;--bg:#eef3f7;--paper:#fff;--dark:#111827;--green:#23964a;--blue:#2f78df;--purple:#9b18d9;--orange:#f08a18;--red:#d93030;--yellow:#fff200;--schedule-head-bg:#fff200;--soft:#f8fafc;--shadow:0 14px 34px rgba(16,24,40,.14);--project-col:250px;--job-col:120px;--day-col:178px;--row-min:128px;--line-width:1px;--left-width:300px}body[data-theme=dark] .work-schedule-tool{--ink:#e6edf5;--muted:#91a1b6;--line:#243447;--bg:#08111d;--paper:#101b2a;--dark:#15c7d8;--soft:#132236;--shadow:0 18px 42px rgba(0,0,0,.34);--schedule-head-bg:#111c2b}body[data-theme=ocean] .work-schedule-tool{--ink:#123044;--muted:#5e7686;--line:#bdd5df;--bg:#e8f5f8;--paper:#f8fdff;--dark:#063f5c;--blue:#1479c9;--green:#2f9b73;--purple:#7856d8;--orange:#f28b38;--soft:#dff2f6;--schedule-head-bg:#d4eef5}body[data-theme=forest] .work-schedule-tool{--ink:#182f26;--muted:#63766f;--line:#cbd8d1;--bg:#eef6f0;--paper:#fbfefb;--dark:#123c2d;--blue:#417d75;--green:#23964a;--purple:#7657a8;--orange:#d98a38;--soft:#e3f0e7;--schedule-head-bg:#dceee2}body[data-theme=sunset] .work-schedule-tool{--ink:#2f2437;--muted:#746a7d;--line:#ded2df;--bg:#f8eff2;--paper:#fffaf8;--dark:#40245e;--blue:#7856d8;--green:#3c9b78;--purple:#9b18d9;--orange:#f2763d;--soft:#f4e7ec;--schedule-head-bg:#ffe1d1}body[data-theme=pride] .work-schedule-tool{--ink:#25143d;--muted:#6d5f7f;--line:#e3d7ff;--bg:#fff4fb;--paper:#fffafe;--dark:#7c2dff;--blue:#244bff;--green:#008026;--purple:#732982;--orange:#ff8c00;--red:#e40303;--yellow:#ffed00;--soft:#f4e7ff;--schedule-head-bg:#fff077}.work-schedule-tool{min-width:0;color:var(--ink);background:var(--bg);font-family:Arial,Helvetica,sans-serif;letter-spacing:0}.work-schedule-tool button,.work-schedule-tool input,.work-schedule-tool select,.work-schedule-tool textarea{font:inherit}.work-schedule-tool button{border:1px solid color-mix(in srgb,var(--line) 82%,var(--ink));background:var(--paper);color:var(--ink);border-radius:10px;padding:8px 10px;font-weight:800;cursor:pointer}.work-schedule-tool button:hover{background:var(--soft)}.work-schedule-tool button.primary{background:var(--dark);border-color:var(--dark);color:#fff}body[data-theme=dark] .work-schedule-tool button.primary{color:#06111f}body[data-theme=pride] .work-schedule-tool button.primary{background:var(--pride-rainbow);background-size:var(--pride-rainbow-shift-size) auto;border-color:#732982;color:#fff}.work-schedule-tool button.danger{color:#b91c1c;border-color:#df6b6b}.work-schedule-tool input,.work-schedule-tool select,.work-schedule-tool textarea{width:100%;border:1px solid color-mix(in srgb,var(--line) 82%,var(--ink));border-radius:10px;padding:8px 9px;background:var(--paper);color:var(--ink)}.work-schedule-tool textarea{min-height:72px;resize:vertical}.work-schedule-tool label{display:grid;gap:5px;color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase}.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--bg)}.auth-card{width:min(420px,100%);display:grid;gap:14px;border:1px solid var(--line);border-radius:14px;background:var(--paper);padding:24px;box-shadow:var(--shadow)}.auth-card h1{font-size:22px}.auth-logo{width:92px}.auth-logo-image{width:min(250px,100%);height:86px;object-fit:contain;object-position:left center;display:block}.auth-copy{display:grid;gap:12px;color:var(--muted);font-weight:800}.auth-note{color:var(--muted);font-size:13px;line-height:1.45;font-weight:800}.auth-error{color:#b91c1c;font-size:13px;font-weight:900}.link-button{border-color:transparent;background:transparent;color:#245ea8;padding:4px 6px;font-size:13px}.link-button:hover{background:var(--soft)}.user-pill{max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:1px solid var(--line);border-radius:999px;background:var(--soft);padding:7px 10px;font-size:11px;font-weight:900;color:var(--muted)}.app{display:grid;grid-template-columns:minmax(0,1fr);min-height:100vh;width:100%;overflow:hidden;background:linear-gradient(180deg,color-mix(in srgb,var(--bg) 88%,#fff),var(--bg))}.workspace-loading{position:fixed;inset:0;z-index:80;display:grid;place-items:center;background:color-mix(in srgb,var(--bg) 52%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);pointer-events:none}.workspace-loading div{border:1px solid var(--line);border-radius:14px;background:var(--paper);color:var(--ink);box-shadow:var(--shadow);padding:12px 16px;font-size:13px;font-weight:900}.app>main{min-width:0;height:100vh;overflow:hidden;display:flex;flex-direction:column}.left{position:relative;height:auto;max-height:min(72vh,760px);overflow:auto;background:color-mix(in srgb,var(--paper) 82%,var(--bg));border:0;padding:0}.resize-handle{height:100vh;background:color-mix(in srgb,var(--line) 70%,var(--bg));cursor:col-resize;position:relative;z-index:8}.resize-handle:after{content:"";position:absolute;top:50%;left:50%;width:2px;height:42px;border-radius:2px;background:#7b8794;transform:translate(-50%,-50%)}.brand{display:grid;grid-template-columns:46px 1fr;gap:11px;align-items:center;margin-bottom:12px;padding:2px}.logo-upload{display:grid;place-items:center;height:56px;border:1px solid var(--line);border-radius:14px;background:var(--paper);font-size:18px;font-weight:900;letter-spacing:2px;overflow:hidden;cursor:pointer;text-transform:none;color:var(--ink);box-shadow:0 6px 14px #10182814}.logo-upload input{display:none}.logo-upload img{width:100%;height:100%;object-fit:contain;display:block}.logo-upload span{line-height:1}.dashela-tool-logo{width:46px;height:46px;cursor:default}.dashela-tool-logo img{object-fit:cover}.work-schedule-tool h1,.work-schedule-tool h2,.work-schedule-tool h3,.work-schedule-tool p{margin:0}.brand h1{font-size:17px;line-height:1.15}.brand p,.hint{color:var(--muted);font-size:12px;line-height:1.4;font-weight:700}.brand .flag-shortcut{display:none}.flag-shortcut{position:relative;width:38px;height:38px;padding:0;display:grid;place-items:center;border-radius:14px;background:var(--paper);color:var(--muted)}.flag-shortcut.alert{border-color:#dc2626;color:#dc2626;animation:flagPulse 1.25s ease-in-out infinite}.flag-glyph{font-size:21px;line-height:1;font-weight:900}.flag-shortcut-count{position:absolute;right:-6px;top:-7px;display:grid;place-items:center;min-width:19px;height:19px;border-radius:999px;background:#dc2626;color:#fff;padding:0 5px;font-size:10px;font-weight:900}.flag-popover{margin-top:-2px}.panel{border:1px solid var(--line);border-radius:14px;background:var(--paper);margin-bottom:10px;overflow:hidden;box-shadow:0 1px 2px #1018280a}.panel-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:42px;padding:8px 12px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:color-mix(in srgb,var(--paper) 82%,var(--soft));text-align:left}.panel.collapsed .panel-head{border-bottom:0}.panel-head h2{display:flex;align-items:center;gap:7px;font-size:13px;line-height:1.2;color:var(--ink)}.panel-count{display:inline-grid;place-items:center;min-width:22px;height:20px;border-radius:999px;background:color-mix(in srgb,var(--line) 34%,var(--paper));color:var(--muted);padding:0 6px;font-size:10px;font-weight:900}.panel-count.alert{background:#dc2626;color:#fff;animation:flagPulse 1.25s ease-in-out infinite}@keyframes flagPulse{0%,to{box-shadow:0 0 #dc262673}50%{box-shadow:0 0 0 5px #dc262600}}.panel-head:hover{background:var(--soft)}.panel-body{max-height:min(56vh,520px);overflow:auto;padding:8px}.panel.collapsed .panel-body{display:none}.stack{display:grid;gap:8px}.panel-tools{position:sticky;top:0;z-index:2;display:grid;gap:7px;padding-bottom:8px;background:var(--paper)}.panel-tools button{width:100%;text-align:center}.panel-action-row{display:grid;grid-template-columns:42px minmax(78px,1fr);gap:7px}.panel-action-row .main-add{width:42px;height:36px;min-height:36px;padding:0;display:grid;place-items:center;font-size:22px;line-height:1;font-weight:900}.import-button{display:grid;place-items:center;min-height:36px;border:1px solid color-mix(in srgb,var(--line) 82%,var(--ink));border-radius:10px;background:color-mix(in srgb,var(--paper) 88%,var(--soft));color:var(--muted);font-size:11px;font-weight:900;text-transform:none;cursor:pointer}.import-button:hover{background:var(--soft)}.import-button input{display:none}.tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(78px,1fr));gap:5px}.tab{display:flex;align-items:center;justify-content:center;min-height:36px;padding:6px 8px;text-align:center;white-space:normal;word-break:break-word;overflow-wrap:anywhere;line-height:1.1}.tab.active{background:var(--dark);border-color:var(--dark);color:#fff}.department-filter{display:grid;grid-template-columns:64px minmax(0,1fr);gap:6px;align-items:center}.department-filter select{height:36px;font-size:12px;font-weight:900}.employee-list{display:flex;flex-wrap:wrap;gap:5px}.chip{display:inline-flex;align-items:center;gap:5px;max-width:100%;min-height:26px;padding:4px 7px;border:1px solid #1d7c3a;border-radius:999px;background:#eaf8ee;color:#14532d;font-size:11px;font-weight:900;cursor:grab;-webkit-user-select:none;user-select:none;box-shadow:0 1px 2px #10182814}.chip .tiny{color:#166534;font-size:10px}.chip.pto{border-color:#2563eb;background:#eaf2ff;color:#0f3f83}.chip.pto .tiny{color:#1d4ed8}.chip.selected,.bubble.selected,.day-cell.selected{outline:3px solid #111827;outline-offset:2px}.tiny{font-size:11px;color:var(--muted);font-weight:800}.toolbar{position:sticky;top:0;z-index:12;display:grid;grid-template-columns:auto auto auto auto minmax(180px,1fr) auto;gap:10px;align-items:center;padding:8px 12px;background:color-mix(in srgb,var(--paper) 92%,var(--bg));border-bottom:1px solid var(--line);box-shadow:0 8px 22px #1018280f}.week-controls{grid-column:1;display:flex;gap:7px;align-items:center}.actions{display:contents}.week-controls button{width:36px;height:36px;padding:0}.controls-menu{grid-column:2;grid-row:1}.controls-menu>summary{min-width:132px;justify-content:center}.main-menu{grid-column:3;grid-row:1}.main-menu>summary{min-width:96px;justify-content:center}.quick-actions{grid-column:4;grid-row:1;display:flex;gap:6px;align-items:center}.quick-actions button{width:36px;height:36px;min-height:36px;padding:0;font-size:21px;line-height:1;display:grid;place-items:center}.title{grid-column:5;grid-row:1;text-align:center;min-width:0}.flag-menu{grid-column:6;grid-row:1;justify-self:end}.flag-menu>summary{position:relative;width:38px;height:38px;min-height:38px;padding:0;display:grid;place-items:center;border-radius:14px}.flag-menu>summary:after{display:none}.flag-menu.alert>summary{border-color:#dc2626;color:#dc2626;animation:flagPulse 1.25s ease-in-out infinite}.flag-menu-panel{width:330px}.flag-scroll-region{max-height:min(68vh,620px);overflow-y:auto;overscroll-behavior:contain;padding-right:4px}.title h2{font-size:20px;font-style:italic}.title p{margin-top:3px}.title-input{width:min(520px,100%);border:1px solid transparent;background:transparent;text-align:center;font-size:20px;font-style:italic;font-weight:900;padding:3px 8px}.title-input:focus{border-color:#9aa7b4;background:#fff;outline:none}.demo-banner{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line);background:linear-gradient(90deg,color-mix(in srgb,#22d3ee 18%,var(--paper)),color-mix(in srgb,#facc15 12%,var(--paper)));font-size:12px;font-weight:800;color:var(--ink)}.demo-banner strong{font-size:12px}.demo-banner-action{margin-left:auto;white-space:nowrap}.demo-signal{width:10px;height:10px;border-radius:999px;background:#ef4444;box-shadow:0 0 #ef44448c;animation:demo-pulse 1.2s infinite}@keyframes demo-pulse{0%{transform:scale(1);box-shadow:0 0 #ef44448c}70%{transform:scale(1.08);box-shadow:0 0 0 10px #ef444400}to{transform:scale(1);box-shadow:0 0 #ef444400}}.toolbar-menu{position:relative}.toolbar-menu>summary{list-style:none;display:inline-flex;align-items:center;gap:8px;min-height:36px;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:10px;padding:8px 11px;font-size:13px;font-weight:900;cursor:pointer;-webkit-user-select:none;user-select:none}.toolbar-menu>summary::-webkit-details-marker{display:none}.toolbar-menu>summary:after{content:"";width:7px;height:7px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);margin-top:-3px}.toolbar-menu[open]>summary{background:var(--soft);border-color:color-mix(in srgb,var(--line) 65%,var(--ink))}.toolbar-menu[open]>summary:after{transform:rotate(225deg);margin-top:3px}.main-menu.demo-guide:not([open])>summary{border-color:#22d3ee;box-shadow:0 0 #22d3ee8c;animation:workspacePulse 1.25s ease-in-out infinite}.main-menu.demo-guide[open] .menu-group.demo-guide:not([open]),.menu-group.workspace-attention{border-color:#22d3ee;background:color-mix(in srgb,#22d3ee 14%,var(--paper));box-shadow:0 0 #22d3ee8c;animation:workspacePulse 1.25s ease-in-out infinite}.main-menu.demo-guide[open] .menu-group.demo-guide:not([open])>summary,.menu-group.workspace-attention>summary{color:#22d3ee;background:color-mix(in srgb,#22d3ee 10%,var(--paper))}.menu-group.demo-guide-open>summary{border-color:#22d3ee;background:color-mix(in srgb,#22d3ee 14%,var(--paper))}.demo-select-guide select{border-color:#22d3ee;box-shadow:0 0 0 3px #22d3ee2e}.demo-board-choice{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;border-color:#22d3ee;background:color-mix(in srgb,#22d3ee 16%,var(--paper));box-shadow:0 0 #22d3ee73;animation:workspacePulse 1.25s ease-in-out infinite}@keyframes workspacePulse{0%,to{box-shadow:0 0 #22d3ee80}50%{box-shadow:0 0 0 7px #22d3ee00}}.menu-panel{position:absolute;right:0;top:calc(100% + 6px);z-index:30;width:320px;display:grid;gap:10px;padding:10px;border:1px solid var(--line);border-radius:14px;background:var(--paper);box-shadow:0 16px 32px #0f172a2e}.main-menu-panel{right:auto;left:0;width:min(430px,calc(100vw - 22px));max-height:calc(100vh - 78px);overflow:auto}.controls-menu-panel{right:auto;left:0;width:min(390px,calc(100vw - 22px));max-height:calc(100vh - 82px);overflow:auto;padding:12px}.main-menu-panel>button{width:100%;justify-content:center}.menu-group{border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--paper) 86%,var(--soft));overflow:hidden}.menu-group>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 11px;color:var(--ink);font-size:13px;font-weight:950;cursor:pointer;-webkit-user-select:none;user-select:none}.menu-group>summary::-webkit-details-marker{display:none}.menu-group>summary:after{content:"";width:7px;height:7px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);margin-top:-4px}.menu-group[open]>summary{background:color-mix(in srgb,var(--soft) 72%,var(--paper));border-bottom:1px solid var(--line)}.menu-group[open]>summary:after{transform:rotate(225deg);margin-top:3px}.menu-group-body{display:grid;gap:8px;padding:9px}.menu-group-body>button,.menu-action-list button{width:100%;text-align:left}.menu-group-body label{justify-content:flex-start}.menu-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--muted);font-size:12px}.menu-section{display:grid;gap:8px;padding:9px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--paper) 82%,var(--soft))}.range-row{grid-template-columns:92px minmax(120px,1fr);align-items:center;text-transform:none}.range-row input[type=range]{padding:0}.check-row{display:flex;grid-template-columns:none;align-items:center;gap:8px;text-transform:none}.check-row input{width:auto}.legend-edit-row{display:grid;grid-template-columns:minmax(110px,1fr) 104px 34px 28px;gap:6px;align-items:center}.legend-edit-row input,.legend-edit-row select{height:30px;padding:4px 7px;font-size:12px}.legend-edit-row input[type=color]{padding:2px;cursor:pointer}.department-edit-row{display:grid;grid-template-columns:minmax(0,1fr) 28px;gap:6px;align-items:center}.department-edit-row input{height:30px;padding:4px 7px;font-size:12px}.workspace-id{display:grid;gap:4px;padding:8px;border:1px solid var(--line);border-radius:10px;background:var(--soft)}.workspace-id span{color:var(--muted);font-size:11px;font-weight:900}.workspace-id code{display:block;max-width:100%;overflow:auto;color:var(--ink);font-size:11px;white-space:nowrap}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.settings-grid label{font-size:10px}.settings-grid input{height:30px;padding:4px 7px;font-size:12px;text-transform:none}.workspace-access-section{gap:10px}.access-subsection{display:grid;gap:7px}.access-subhead{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:11px;font-weight:900}.access-subhead span{display:inline-grid;place-items:center;min-width:22px;height:22px;border-radius:999px;background:var(--soft);color:var(--ink)}.member-list{display:grid;gap:8px}.member-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--paper) 84%,var(--soft))}.member-copy{display:grid;gap:3px;min-width:0}.member-copy strong,.member-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-copy strong{font-size:12px}.member-copy span{font-size:11px;color:var(--muted);font-weight:800}.member-actions{display:flex;align-items:center;gap:6px}.member-actions select{height:30px;padding:4px 7px;font-size:12px}.member-badge{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:0 10px;border:1px solid var(--line);border-radius:999px;background:var(--soft);font-size:11px;font-weight:900;color:var(--muted)}.context-menu{position:fixed;z-index:80;min-width:150px;display:grid;gap:4px;padding:6px;border:1px solid var(--line);border-radius:14px;background:var(--paper);box-shadow:0 18px 36px #0f172a3d}.context-menu button{width:100%;justify-content:flex-start;text-align:left;border:0;background:transparent;color:var(--ink);padding:8px 10px}.context-menu button:hover:not(:disabled){background:var(--soft)}.context-menu button:disabled{opacity:.38;cursor:not-allowed}.icon-btn{width:28px;height:30px;padding:0;display:grid;place-items:center}.board-wrap{flex:1;min-height:0;padding:12px 14px 26px;overflow:auto;background:radial-gradient(circle at top left,color-mix(in srgb,var(--soft) 55%,transparent),transparent 420px)}.legend{display:flex;gap:12px;align-items:center;margin-bottom:10px;font-size:12px;font-weight:900;flex-wrap:wrap}.legend-item{display:inline-flex;align-items:center;gap:5px}.swatch{width:16px;height:16px;border-radius:4px;border:1px solid #7b8794}.client-a{background:#4384d8}.general{background:#6fba4f}.bas-group{background:#aa18e0}.client-b{background:#f08a18}.schedule{display:block;border:1px solid var(--line);border-radius:14px;background:var(--paper);box-shadow:var(--shadow);min-width:calc(var(--project-col) + var(--job-col) + (7 * var(--day-col)));overflow:hidden}.schedule-row{display:grid;grid-template-columns:var(--project-col) var(--job-col) repeat(7,minmax(var(--day-col),1fr))}.cell{border-right:var(--line-width) solid var(--line);border-bottom:var(--line-width) solid var(--line);min-height:76px;background:color-mix(in srgb,var(--paper) 96%,var(--soft))}.head{background:var(--schedule-head-bg);min-height:44px;text-align:center;font-weight:900;padding:6px;font-size:12px;color:#050b12}body[data-theme=dark] .work-schedule-tool .head{color:#e6edf5}.legend-row .cell{min-height:32px;background:color-mix(in srgb,var(--paper) 88%,var(--soft))}.category-head{min-height:32px;padding:5px;text-align:center;font-size:12px;font-weight:900;color:var(--ink);display:grid;place-items:center}.legend-pill{display:block;width:min(172px,92%);border-radius:999px;padding:5px 14px;box-shadow:inset 0 1px #ffffff47,0 4px 12px #1018282e}.category-head.client-a{background:#4384d8}.category-head.general{background:#6fba4f}.category-head.bas-group{background:#aa18e0;color:#fff}.category-head.client-b{background:#f08a18;color:#fff}.project-label{padding:6px;background:var(--paper);min-height:var(--row-min)}.job-cell{display:grid;place-items:center;color:var(--ink);font-size:13px;font-weight:900;background:color-mix(in srgb,var(--paper) 94%,var(--soft))}.day-cell{padding:6px;display:flex;flex-direction:column;gap:6px;min-height:var(--row-min)}.day-cell.drag-over,.project-label.drag-over,.add-project-cell.drag-over{outline:3px solid var(--dark);outline-offset:-3px;background:color-mix(in srgb,var(--soft) 70%,var(--paper))}.bubble{border:1px solid color-mix(in srgb,var(--project-accent,#73808f) 42%,var(--line));border-top:3px solid var(--project-accent,#73808f);border-left:6px solid var(--project-accent,#73808f);border-radius:14px;background:linear-gradient(180deg,color-mix(in srgb,var(--paper) 92%,var(--project-accent,#73808f) 8%),var(--paper));padding:7px;box-shadow:0 8px 18px #1018281f,inset 0 1px #fff3;cursor:grab}.bubble:active{cursor:grabbing}.bubble.blue{border-left-color:var(--blue)}.bubble.green{border-left-color:var(--green)}.bubble.purple{border-left-color:var(--purple)}.bubble.orange{border-left-color:var(--orange)}.bubble.red{border-left-color:var(--red)}.bubble-top{display:flex;justify-content:space-between;gap:8px;align-items:start}.bubble-title{font-size:12px;font-weight:900;line-height:1.25;color:var(--project-accent,var(--ink))}.bubble-meta{font-size:11px;color:var(--project-accent,#536274);font-weight:900;white-space:nowrap}.bubble-info{margin-top:6px;color:var(--muted);font-size:11px;font-weight:800;line-height:1.35}.crew{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px;min-height:22px}.crew .chip{font-size:10.5px;min-height:22px;padding:3px 6px}.crew.compact .chip{font-size:9.5px;min-height:20px;padding:3px 5px}.crew.dense .chip{font-size:9px;min-height:18px;padding:2px 4px}.travel-icon{display:inline-grid;place-items:center;min-width:18px;height:18px;border-radius:999px;padding:0 2px;background:#fff;border:1px solid #1d7c3a;font-size:0;line-height:1;position:relative}.travel-icon:before{content:"🏨";font-size:12px}.travel-icon.optional:after{content:"?";position:absolute;right:-5px;top:-7px;display:grid;place-items:center;width:12px;height:12px;border-radius:999px;background:#fff7db;border:1px solid #d97706;color:#8a5a00;font-size:9px;font-weight:900}.project-label .bubble{min-height:112px}.project-label .bubble-info{color:var(--project-accent,var(--muted))}.project-label .bubble-meta{color:var(--project-accent,var(--ink))}.cell-tools{display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:24px}.cell-status,.cell-tools select{height:24px;width:auto;min-width:92px;padding:2px 20px 2px 5px;border-color:transparent;background:transparent;color:var(--muted);font-size:10.5px;font-weight:900}.cell-content{display:flex;flex-direction:column;gap:6px;flex:1}.print-status{display:none}.no-labor{color:var(--ink);font-size:12px;font-weight:900}.as-needed{color:var(--red);font-size:12px;font-weight:900}.scheduled-label{color:var(--muted);font-size:11px;font-weight:900}.note-bubble{border-style:dashed;background:color-mix(in srgb,#fffdf0 78%,var(--paper));color:var(--ink);margin-top:auto}.note-panel{margin-top:12px;background:var(--paper);border-color:var(--line)}.note-panel .panel-head{background:color-mix(in srgb,var(--paper) 82%,var(--soft))}.note-draft{display:grid;gap:7px}.note-drag-box{border:1px dashed color-mix(in srgb,var(--line) 75%,var(--dark));border-left:5px solid var(--dark);border-radius:10px;background:color-mix(in srgb,var(--paper) 88%,var(--soft));padding:9px 10px;color:var(--ink);font-size:12px;font-weight:900;cursor:grab;text-align:center}.note-drag-box:hover{background:var(--soft);border-color:var(--dark)}.add-project-row{break-inside:avoid}.add-project-cell{grid-column:1/-1;min-height:54px;display:grid;place-items:center;background:color-mix(in srgb,var(--paper) 82%,var(--soft));color:var(--muted);font-weight:900;border-style:dashed;cursor:pointer}.add-project-cell span{padding:8px 14px;border:1px dashed color-mix(in srgb,var(--line) 70%,var(--dark));border-radius:10px;background:var(--paper);color:var(--ink);box-shadow:0 4px 12px #10182814}.db-list{display:grid;gap:6px}.db-item{border:1px solid var(--line);border-radius:10px;padding:7px;background:var(--paper);display:grid;gap:5px}.db-item.hidden{opacity:.58;background:var(--soft)}.db-title{display:flex;justify-content:space-between;gap:8px;font-size:12px;font-weight:900}.db-title span{display:inline-flex;align-items:center;gap:6px}.project-swatch{width:12px;height:12px;border-radius:3px;border:1px solid #9aa7b4;flex:0 0 12px}.project-swatch.none{background:linear-gradient(135deg,transparent 45%,#9aa7b4 46%,#9aa7b4 54%,transparent 55%)}.db-actions{display:flex;gap:6px;flex-wrap:wrap}.db-actions button{font-size:11px;padding:5px 7px}.flag-critical{border-color:#dc2626;background:color-mix(in srgb,#fff1f1 78%,var(--paper))}.flag-warning{border-color:#d97706;background:color-mix(in srgb,#fff8e6 78%,var(--paper))}.flag-travel{border-color:#7c3aed;background:color-mix(in srgb,#f7f1ff 78%,var(--paper))}.flag-info{border-color:#2563eb;background:color-mix(in srgb,#eef5ff 78%,var(--paper))}.hotel-card{border:1px solid var(--line);border-radius:14px;background:var(--paper);padding:9px;display:grid;gap:8px}.hotel-card.complete{border-color:#54a66f;background:color-mix(in srgb,#f0fbf3 72%,var(--paper))}.hotel-card h3{font-size:13px}.hotel-line{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:11px;font-weight:800}.hotel-status{font-size:11px;font-weight:900}.hotel-status.req{color:#dc2626}.hotel-status.opt{color:#b45309}.hotel-employee{border-top:1px solid var(--line);padding-top:7px;display:grid;gap:5px}.hotel-day{display:grid;grid-template-columns:1fr 112px;gap:7px;align-items:center}.hotel-day select{height:26px;padding:3px 6px;font-size:11px}.hotel-day.booked{color:#15803d;font-weight:900}.modal-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;background:#0f172a8c;padding:24px}.modal{width:min(820px,100%);max-height:calc(100vh - 48px);overflow:auto;border-radius:14px;background:var(--paper);box-shadow:var(--shadow);border:1px solid var(--line)}.modal header,.modal footer{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;border-color:var(--line)}.modal header{border-bottom:1px solid var(--line)}.modal footer{border-top:1px solid var(--line)}.modal main{padding:16px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.checkbox-row{display:flex;align-items:center;gap:8px;align-self:end;min-height:38px}.checkbox-row input{width:auto}.footer-actions{display:flex;gap:8px}body[data-theme=dark] .work-schedule-tool .flag-critical{background:#3a1420;color:#fecdd3}body[data-theme=dark] .work-schedule-tool .flag-warning{background:#342414;color:#fed7aa}body[data-theme=dark] .work-schedule-tool .flag-travel{background:#24183e;color:#ddd6fe}body[data-theme=dark] .work-schedule-tool .flag-info{background:#12284d;color:#bfdbfe}body[data-theme=dark] .work-schedule-tool .flag-critical .tiny,body[data-theme=dark] .work-schedule-tool .flag-warning .tiny,body[data-theme=dark] .work-schedule-tool .flag-travel .tiny,body[data-theme=dark] .work-schedule-tool .flag-info .tiny{color:color-mix(in srgb,currentColor 74%,#fff)}body[data-theme=dark] .work-schedule-tool .hotel-card.complete{background:#173326;color:#d1fae5}body[data-theme=dark] .work-schedule-tool .hotel-card.complete .tiny,body[data-theme=dark] .work-schedule-tool .hotel-card.complete .hotel-line{color:#a7f3d0}body[data-theme=dark] .work-schedule-tool .hotel-status.req{color:#f87171}body[data-theme=dark] .work-schedule-tool .hotel-status.opt{color:#fbbf24}body[data-theme=dark] .work-schedule-tool .hotel-day.booked{color:#86efac}body[data-theme=dark] .work-schedule-tool .note-bubble{background:#2d2611;color:#fde68a;border-color:#f59e0b}.toast{position:fixed;right:18px;bottom:18px;z-index:30;display:none;border-radius:14px;background:var(--dark);color:#fff;padding:11px 14px;font-size:13px;font-weight:900;box-shadow:var(--shadow)}.toast.show{display:block}@media print{@page{size:landscape;margin:.22in}:root{--project-col:1.6in;--job-col:.55in;--day-col:1.04in;--row-min:auto;--line-width:1px}*{box-shadow:none!important}body{min-width:0;background:#fff;-webkit-print-color-adjust:exact;print-color-adjust:exact}.left,.resize-handle,.toolbar,.legend,.bubble-info .internal,.db-list,.modal-backdrop,.toast,.add-project-row{display:none!important}.app{display:block;width:100%}.app>main{display:block;height:auto;overflow:visible}.board-wrap{padding:0;overflow:visible}.schedule{width:100%;min-width:0;border:1px solid #6f7a85;font-size:7px}.schedule-row{grid-template-columns:17% 6% repeat(7,11%);break-inside:avoid;page-break-inside:avoid;display:grid}.cell{min-height:0;border:0;box-shadow:inset -1px 0 #6f7a85,inset 0 -1px #6f7a85!important;break-inside:avoid;page-break-inside:avoid}.schedule-row .cell:first-child{box-shadow:inset 1px 0 #6f7a85,inset -1px 0 #6f7a85,inset 0 -1px #6f7a85!important}.head{min-height:22px;padding:2px;font-size:7px;line-height:1.15}.category-head{min-height:12px;padding:1px 2px;font-size:6px;line-height:1.1}.project-label,.day-cell{min-height:52px;padding:2px;gap:2px}.job-cell{font-size:9px}.project-label .bubble{min-height:0;border-width:1px;border-left-width:5px;padding:3px}.bubble{border-width:1px;border-left-width:5px;border-radius:3px;padding:3px;background:var(--paper);color:var(--ink)}.bubble-top{gap:3px}.bubble-title{font-size:6.5px;line-height:1.15}.bubble-meta{font-size:6px;line-height:1.15;white-space:normal;text-align:right}.bubble-info{margin-top:2px;font-size:5.8px;line-height:1.18}.project-label .bubble-info{font-size:5.8px}.cell-tools{min-height:10px;display:flex;justify-content:space-between;gap:2px}.cell-tools select{display:none!important}.print-status{display:inline;font-size:5.8px;line-height:1.1;font-weight:900;color:#526171}.cell-content{gap:2px}.no-labor,.as-needed,.scheduled-label{font-size:6px;line-height:1.15}.crew{gap:2px;margin-top:2px;min-height:0}.crew .chip,.crew.compact .chip,.crew.dense .chip{min-height:12px;padding:1px 3px;font-size:5.8px;line-height:1;border-width:1px}.travel-icon{min-width:12px;height:12px;font-size:8px}.travel-icon.optional:after{width:8px;height:8px;right:-4px;top:-5px;font-size:6px}.note-bubble{margin-top:2px}body[data-theme=dark]{background:#08111d!important}body[data-theme=dark] .board-wrap{background:#08111d}body[data-theme=dark] .schedule{background:#101b2a;border-color:#516173}body[data-theme=dark] .cell{background:#101b2a;color:#eef5ff;box-shadow:inset -1px 0 #516173,inset 0 -1px #516173!important}body[data-theme=dark] .schedule-row .cell:first-child{box-shadow:inset 1px 0 #516173,inset -1px 0 #516173,inset 0 -1px #516173!important}body[data-theme=dark] .head,body[data-theme=dark] .category-head,body[data-theme=dark] .job-cell{background:#101b2a;color:#fff}body[data-theme=dark] .bubble{background:#132236;color:#f8fafc;border-color:#4384d8}body[data-theme=dark] .bubble-title,body[data-theme=dark] .bubble-meta{color:#60a5fa}body[data-theme=dark] .bubble-info{color:#bfdbfe}body[data-theme=dark] .print-status,body[data-theme=dark] .scheduled-label{color:#a8b6c7}body[data-theme=dark] .no-labor{color:#fff}body[data-theme=dark] .chip{background:#eaf8ee;color:#14532d}body.print-hide-hotel .hotel-print,body.print-hide-status .cell-tools,body.print-hide-notes .note-bubble{display:none!important}}body[data-theme=pride] .work-schedule-tool{background:radial-gradient(circle at 8% 10%,rgba(228,3,3,.1),transparent 28%),radial-gradient(circle at 92% 8%,rgba(36,75,255,.12),transparent 30%),var(--bg)}body[data-theme=pride] .work-schedule-tool .app{background:linear-gradient(180deg,color-mix(in srgb,var(--bg) 88%,#fff),var(--bg))}body[data-theme=pride] .work-schedule-tool button.primary{background:var(--pride-rainbow);background-size:var(--pride-rainbow-shift-size) auto;border-color:#732982;color:#fff;animation:schedule-pride-shift 14s linear infinite}body[data-theme=pride] .work-schedule-tool .tab.active{background:var(--pride-rainbow);background-size:var(--pride-rainbow-shift-size) auto;border-color:#732982;animation:schedule-pride-shift 18s linear infinite}body[data-theme=pride] .work-schedule-tool .head,body[data-theme=pride] .work-schedule-tool .category-head{background:var(--pride-rainbow-pastel);background-size:var(--pride-rainbow-shift-size) auto;animation:schedule-pride-shift 28s linear infinite}body[data-theme=pride] .work-schedule-tool .panel{border:2px solid transparent;background:linear-gradient(var(--paper),var(--paper)) padding-box,var(--pride-rainbow-vertical) border-box}body[data-theme=pride] .work-schedule-tool .schedule{border:2px solid transparent;background:linear-gradient(var(--paper),var(--paper)) padding-box,var(--pride-rainbow) border-box;background-size:100% 100%,var(--pride-rainbow-shift-size) auto;animation:schedule-pride-shift-layered 32s linear infinite}body[data-theme=pride] .work-schedule-tool .chip{border-color:#732982;background:linear-gradient(135deg,#eafff3,#fff7d6);color:#2a1240}body[data-theme=pride] .work-schedule-tool .chip.pto{border-color:#244bff;background:linear-gradient(135deg,#eff7ff,#f7edff);color:#2a1240}@keyframes schedule-pride-shift{0%{background-position:0% 50%}to{background-position:100% 50%}}@keyframes schedule-pride-shift-layered{0%{background-position:0% 0%,0% 50%}to{background-position:0% 0%,100% 50%}}@media(prefers-reduced-motion:reduce){body[data-theme=pride] .work-schedule-tool button.primary,body[data-theme=pride] .work-schedule-tool .tab.active,body[data-theme=pride] .work-schedule-tool .head,body[data-theme=pride] .work-schedule-tool .category-head,body[data-theme=pride] .work-schedule-tool .schedule{animation:none!important}}.chore-chart-page{--chore-grid-border: color-mix(in srgb, var(--muted) 18%, transparent)}.chore-chart-layout{display:grid;grid-template-columns:minmax(240px,300px) minmax(0,1fr);gap:18px;align-items:start}.chore-chart-sidebar,.chore-chart-main,.chore-panel{display:grid;gap:14px}.chore-chart-sidebar{position:sticky;top:18px}.chore-panel,.chore-chart-main{padding:16px;border:1px solid var(--chore-grid-border);border-radius:14px;background:color-mix(in srgb,var(--surface) 94%,var(--soft));box-shadow:0 10px 24px #1018280f}.chore-mini-form{display:grid;gap:12px}.chore-mini-form label{display:grid;gap:6px;font-size:.88rem}.chore-color-picker{display:grid;gap:10px}.chore-color-picker-label{font-size:.88rem;font-weight:600;color:var(--ink)}.chore-color-selected{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px;border:1px solid var(--chore-grid-border);border-radius:10px;background:color-mix(in srgb,var(--surface) 92%,var(--soft))}.chore-color-preview-swatch{display:flex;align-items:center;justify-content:center;min-height:36px;padding:6px 10px;border-radius:6px;border:1px solid color-mix(in srgb,#111111 14%,transparent)}.chore-color-preview-text{font-size:.84rem;font-weight:600;line-height:1.2;text-align:center;color:#111}.chore-color-selected-meta{display:grid;gap:2px;text-align:right;min-width:72px}.chore-color-selected-meta strong{font-size:.82rem;color:var(--ink)}.chore-color-selected-meta small{font-size:.72rem;color:var(--muted);font-weight:600}.chore-color-section-label{display:block;margin-bottom:6px;font-size:.76rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.chore-color-options{display:flex;flex-wrap:wrap;gap:8px}.chore-color-options button{width:26px;height:26px;border-radius:6px;border:2px solid color-mix(in srgb,var(--line) 70%,transparent);cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.chore-color-options button:hover{transform:scale(1.08)}.chore-color-options button.active{box-shadow:0 0 0 2px var(--surface-elevated),0 0 0 4px var(--brand-blue);border-color:#111}.chore-color-custom{display:grid;gap:6px}.chore-color-wheel{position:relative;display:inline-flex;width:fit-content;cursor:pointer}.chore-color-wheel input[type=color]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.chore-color-wheel-button{display:inline-flex;align-items:center;justify-content:center;min-width:120px;min-height:34px;padding:0 14px;border-radius:8px;border:2px solid color-mix(in srgb,var(--line) 70%,transparent);color:#111;font-size:.82rem;font-weight:700;line-height:1.2}.chore-color-wheel.is-active .chore-color-wheel-button{box-shadow:0 0 0 2px var(--surface-elevated),0 0 0 4px var(--brand-blue);border-color:#111}.chore-list{display:grid;gap:8px}.chore-list-row{display:flex;align-items:stretch;justify-content:space-between;gap:10px}.chore-list-actions{display:flex;align-items:center;gap:4px;flex:0 0 auto}.chore-edit-form{display:grid;gap:10px;padding:12px;border:1px solid var(--chore-grid-border);border-radius:10px;background:color-mix(in srgb,var(--soft) 55%,transparent)}.chore-edit-form label{display:grid;gap:6px;font-size:.88rem}.chore-edit-actions{display:flex;gap:8px}.chore-color-box{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;min-height:32px;padding:8px 10px;border-radius:6px;border:1px solid color-mix(in srgb,#111111 14%,transparent);color:#111;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.9rem;font-weight:600;letter-spacing:.015em;line-height:1.4;text-align:center;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;white-space:normal;overflow-wrap:break-word;word-break:normal;-webkit-hyphens:auto;hyphens:auto}.chore-color-box.chore-name-box{font-size:1rem;font-weight:600;letter-spacing:.02em}.chore-name-box{display:flex;align-items:center;justify-content:space-between;gap:8px}.chore-name-label{flex:1 1 auto;min-width:0;text-align:left}.chore-done-check{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;margin:0;cursor:pointer}.chore-done-check input{width:18px;height:18px;margin:0;cursor:pointer;accent-color:#111111}.chore-color-box.chore-task-box.is-done,.chore-color-box.chore-name-box.is-done .chore-name-label{text-decoration:line-through;opacity:.72}.chore-list-row .chore-color-box{flex:1 1 auto;min-width:0}.chore-chart-grid-wrap{overflow:auto;border:1px solid var(--chore-grid-border);border-radius:14px;background:color-mix(in srgb,var(--surface) 94%,var(--soft));box-shadow:0 10px 24px #1018280f}.chore-chart-grid{width:100%;min-width:720px;border-collapse:collapse}.chore-chart-grid th,.chore-chart-grid td{border:1px solid var(--chore-grid-border);padding:10px;vertical-align:middle}.chore-chart-grid thead th{text-align:center;background:color-mix(in srgb,var(--surface-muted) 70%,transparent)}.chore-chart-grid thead th span{display:block;font-size:.95rem}.chore-chart-grid thead th small{display:block;margin-top:2px;color:var(--muted);font-size:.72rem}.chore-chart-grid .is-today{background:color-mix(in srgb,var(--brand-cyan) 12%,transparent)}.chore-corner{min-width:160px;text-align:left}.chore-name-cell{min-width:160px;background:color-mix(in srgb,var(--surface-muted) 55%,transparent)}.chore-name-cell .chore-color-box{width:100%}.chore-assignment-cell{display:grid;gap:8px;min-width:120px}.chore-assignment-chip{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center}.chore-assignment-chip .chore-color-box{min-height:28px;padding:5px 8px;font-size:.82rem}.chore-assignment-remove{width:28px;height:28px;flex-shrink:0;border:1px solid var(--chore-grid-border);border-radius:6px;background:var(--surface-base);color:var(--text-primary);cursor:pointer;font-size:1.1rem;line-height:1;z-index:1}.chore-assignment-remove:hover{border-color:var(--danger, #c45b7a);color:var(--danger, #c45b7a)}.chore-assignment-add{width:100%;border-radius:6px;border:1px solid var(--chore-grid-border);background:var(--surface-base);color:var(--text-primary);padding:8px 10px}.chore-preview-assignees{display:grid;gap:4px}.chore-assignment-cell select{width:100%;border-radius:6px;border:1px solid var(--chore-grid-border);background:var(--surface-base);color:var(--text-primary);padding:8px 10px;white-space:normal}.chore-assignment-cell select.has-person{font-weight:700;color:#111}.chore-cell-empty,.chore-preview-empty{color:var(--muted);font-size:.82rem}.chore-chart-empty{display:grid;gap:8px;justify-items:center;text-align:center;padding:36px 18px;color:var(--muted)}.chore-widget{container-type:inline-size}.chore-widget .chore-today-preview{display:grid;grid-template-rows:auto minmax(0,1fr);gap:10px;min-height:0;overflow:hidden}.chore-today-preview{display:grid;gap:10px;min-height:0}.chore-today-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.chore-today-heading strong{font-size:clamp(.82rem,2.8cqi,.95rem)}.chore-today-heading small{color:var(--muted);font-size:clamp(.78rem,2.8cqi,.88rem);font-weight:600}.chore-widget .chore-today-list{display:grid;gap:8px;min-height:0;overflow-y:auto;padding-right:4px;scrollbar-gutter:stable}.chore-today-list{display:grid;gap:8px}.chore-today-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;align-items:stretch}.chore-today-assignees{display:flex;flex-direction:column;gap:3px;height:100%;min-height:0}.chore-today-row .chore-color-box.chore-task-box,.chore-today-row .chore-color-box.chore-name-box{box-sizing:border-box;min-height:calc(1.15em + 4px);padding:2px 8px;line-height:1.15;-webkit-hyphens:none;hyphens:none}.chore-today-row .chore-task-box{display:flex;align-items:center;justify-content:center;align-self:stretch;height:100%;font-size:clamp(.92rem,4.8cqi,1.08rem);font-weight:600;line-height:1.2}.chore-today-row .chore-name-box{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:clamp(.96rem,4.6cqi,1.12rem);font-weight:600;flex:1 1 0;min-height:calc(1.15em + 4px)}.chore-today-row:not(.has-multiple-assignees) .chore-name-box{flex:1 1 auto}.chore-today-row .chore-name-box .chore-done-check input{width:15px;height:15px}.chore-widget .secondary-button.compact{align-self:start}@container (max-width: 260px){.chore-widget .chore-today-row{grid-template-columns:1fr}.chore-widget .chore-today-row .chore-task-box{font-size:clamp(.9rem,5.2cqi,1.06rem)}.chore-widget .chore-today-row .chore-name-box{font-size:clamp(.98rem,5cqi,1.12rem)}}@container (max-width: 180px){.chore-widget .chore-today-row .chore-task-box{font-size:clamp(.88rem,5.4cqi,1rem)}.chore-widget .chore-today-row .chore-name-box{font-size:clamp(.92rem,5.4cqi,1.04rem)}}.chore-chart-preview{display:grid;gap:6px;overflow:auto}.chore-preview-head,.chore-preview-row{display:grid;grid-template-columns:minmax(72px,1.2fr) repeat(6,minmax(42px,1fr));gap:4px;align-items:stretch}.chore-preview-head span,.chore-preview-row>span{text-align:center;min-width:0}.chore-corner-label{text-align:left}.chore-preview-name,.chore-preview-person{width:100%;min-height:32px;padding:6px 8px}.chore-preview-name{font-size:clamp(.76rem,1.4vw,.86rem)}.chore-preview-person.chore-name-box{font-size:clamp(.84rem,1.6vw,.98rem);font-weight:600}.chore-preview-row .is-today,.chore-preview-head .is-today{position:relative}.chore-preview-row .is-today:before,.chore-preview-head .is-today:before{content:"";position:absolute;inset:-2px;border-radius:6px;background:color-mix(in srgb,var(--brand-cyan) 14%,transparent);z-index:-1}@media(max-width:960px){.chore-chart-layout{grid-template-columns:1fr}.chore-chart-sidebar{position:static}}.meal-planner-page{--meal-grid-border: color-mix(in srgb, var(--muted) 18%, transparent)}.meal-planner-controls{display:grid;gap:10px}.meal-planner-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.meal-view-span-toggle{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;padding:4px;border:1px solid var(--meal-grid-border);border-radius:8px;background:color-mix(in srgb,var(--soft) 45%,var(--surface))}.meal-view-span-label{padding:0 6px 0 8px;color:var(--muted);font-size:.76rem;font-weight:900;text-transform:uppercase}.meal-view-span-toggle button{min-height:34px;border:1px solid transparent;border-radius:6px;padding:0 10px;color:var(--muted);background:transparent;font-size:.82rem;font-weight:800;cursor:pointer}.meal-view-span-toggle button.active{border-color:color-mix(in srgb,var(--brand-orange, #f97316) 45%,var(--line));color:var(--ink);background:color-mix(in srgb,var(--brand-orange, #f97316) 12%,var(--surface))}.meal-slot-toggle{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;padding:4px;border:1px solid var(--meal-grid-border);border-radius:8px;background:color-mix(in srgb,var(--soft) 45%,var(--surface))}.meal-slot-toggle button{min-height:34px;border:1px solid transparent;border-radius:6px;padding:0 12px;color:var(--muted);background:transparent;font-size:.82rem;font-weight:800;cursor:pointer}.meal-slot-toggle button.active{border-color:color-mix(in srgb,var(--brand-blue, #4f86ff) 45%,var(--line));color:var(--ink);background:color-mix(in srgb,var(--brand-blue, #4f86ff) 12%,var(--surface))}.meal-slot-toggle button:disabled{cursor:not-allowed;opacity:.85}.meal-planner-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,300px);gap:18px;align-items:start}.meal-planner-weeks{display:grid;gap:20px;min-width:0}.saved-recipes-panel{position:sticky;top:16px;display:grid;gap:12px;min-height:280px;max-height:calc(100vh - 120px);padding:16px;border:1px solid var(--meal-grid-border);border-radius:14px;background:color-mix(in srgb,var(--surface) 94%,var(--soft));box-shadow:0 10px 24px #1018280f}.saved-recipes-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.saved-recipes-header h2{margin:0;font-size:1.1rem}.saved-recipes-header-actions{display:flex;align-items:center;gap:8px}.saved-recipes-add-button{white-space:nowrap}.saved-recipes-count{display:inline-flex;align-items:center;justify-content:center;min-width:28px;min-height:28px;padding:0 8px;border-radius:999px;background:color-mix(in srgb,var(--brand-orange, #f97316) 14%,var(--surface));color:var(--ink);font-size:.78rem;font-weight:900}.saved-recipes-hint{margin:0;color:var(--muted);font-size:.82rem;font-weight:700;line-height:1.4}.saved-recipes-list{display:grid;gap:8px;margin:0;padding:0;list-style:none;overflow:auto}.saved-recipe-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center}.saved-recipe-edit-button{align-self:center}.saved-recipe-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;width:100%;min-width:0;padding:10px 12px;border:1px solid var(--meal-grid-border);border-radius:10px;background:var(--surface);color:var(--ink);text-align:left;cursor:grab}.saved-recipe-card:hover,.saved-recipe-card:focus-visible{outline:none;border-color:color-mix(in srgb,var(--brand-orange, #f97316) 35%,var(--meal-grid-border));box-shadow:0 8px 18px color-mix(in srgb,var(--brand-orange, #f97316) 10%,transparent)}.saved-recipe-card.is-dragging{opacity:.55;cursor:grabbing}.saved-recipe-grip{color:var(--muted);flex-shrink:0}.saved-recipe-copy{display:grid;gap:3px;min-width:0}.saved-recipe-title{display:inline-flex;align-items:center;gap:6px;font-size:.9rem;font-weight:900;line-height:1.25}.saved-recipe-meta{color:var(--muted);font-size:.74rem;font-weight:700;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saved-recipes-empty{display:grid;justify-items:center;gap:8px;padding:18px 10px;border:1px dashed var(--meal-grid-border);border-radius:10px;color:var(--muted);text-align:center}.saved-recipes-empty p{margin:0;max-width:24ch;font-size:.84rem;font-weight:700;line-height:1.45}@media(max-width:1100px){.meal-planner-layout{grid-template-columns:1fr}.saved-recipes-panel{position:static;max-height:none}}.meal-planner-week-block{display:grid;gap:10px}.meal-week-block-title{margin:0;color:var(--brand-navy, var(--ink));font-size:1rem;font-weight:900}.meal-week-controls{display:flex;align-items:center;gap:12px}.meal-week-label{display:grid;gap:4px;text-align:center;min-width:180px}.meal-week-label strong{font-size:1rem}.meal-week-label .link-button{border:0;background:transparent;color:var(--brand-blue, #245ea8);font-size:.82rem;font-weight:800;padding:0;cursor:pointer}.meal-planner-grid-wrap{overflow:auto;border:1px solid var(--meal-grid-border);border-radius:14px;background:color-mix(in srgb,var(--surface) 94%,var(--soft));box-shadow:0 10px 24px #1018280f}.meal-planner-grid{width:100%;min-width:680px;border-collapse:collapse;table-layout:fixed}.meal-planner-grid th,.meal-planner-grid td{border:1px solid var(--meal-grid-border);vertical-align:top}.meal-planner-grid .meal-day-col{width:calc((100% - 108px) / 7);max-width:0}.meal-planner-grid thead th{padding:12px 10px;text-align:center;background:color-mix(in srgb,var(--soft) 70%,var(--surface));font-size:.82rem;font-weight:900;text-transform:uppercase}.meal-planner-grid thead th span{display:block}.meal-planner-grid thead th small{display:block;margin-top:4px;color:var(--muted);font-size:.72rem;font-weight:800;text-transform:none}.meal-planner-grid thead th.is-today,.meal-planner-grid tbody td.is-today{background:color-mix(in srgb,var(--brand-cyan, #11c9c9) 10%,var(--surface))}.meal-slot-head,.meal-slot-label{width:108px;min-width:108px;padding:12px;text-align:left;background:color-mix(in srgb,var(--soft) 55%,var(--surface));color:var(--muted);font-size:.78rem;font-weight:900;text-transform:uppercase}.meal-planner-grid tbody td{padding:0;vertical-align:top;overflow:hidden}.meal-cell-stack{display:grid;gap:4px;min-width:0;padding-bottom:4px}.meal-cell-sides-button{width:calc(100% - 10px);min-height:28px;margin:0 5px 5px;border:1px solid color-mix(in srgb,var(--brand-blue, #4f86ff) 22%,var(--meal-grid-border));border-radius:8px;padding:4px 8px;color:color-mix(in srgb,var(--brand-blue, #4f86ff) 82%,var(--ink));background:color-mix(in srgb,var(--brand-blue, #4f86ff) 8%,var(--surface));font:inherit;font-size:.72rem;font-weight:800;line-height:1.2;cursor:pointer}.meal-cell-sides-button:hover,.meal-cell-sides-button:focus-visible{outline:none;border-color:color-mix(in srgb,var(--brand-blue, #4f86ff) 42%,var(--line));background:color-mix(in srgb,var(--brand-blue, #4f86ff) 14%,var(--surface))}.meal-cell-button{display:flex;width:calc(100% - 10px);min-width:0;max-width:100%;min-height:72px;max-height:92px;margin:5px 5px 0;border-radius:10px;padding:10px;color:var(--ink);background:var(--surface);font:inherit;text-align:left;line-height:1.35;cursor:pointer;overflow:hidden;transition:border-color .14s ease,background .14s ease,box-shadow .14s ease,transform .14s ease}.meal-cell-button.is-empty{align-items:center;justify-content:center;border:1.5px dashed color-mix(in srgb,var(--brand-orange, #f97316) 38%,var(--line));background:linear-gradient(180deg,color-mix(in srgb,var(--brand-orange, #f97316) 7%,var(--surface)),var(--surface))}.meal-cell-button.is-empty:hover,.meal-cell-button.is-empty:focus-visible{border-color:color-mix(in srgb,var(--brand-orange, #f97316) 62%,var(--line));background:linear-gradient(180deg,color-mix(in srgb,var(--brand-orange, #f97316) 12%,var(--surface)),var(--surface));box-shadow:0 8px 18px color-mix(in srgb,var(--brand-orange, #f97316) 12%,transparent);transform:translateY(-1px)}.meal-cell-empty{display:grid;justify-items:center;gap:8px}.meal-cell-empty-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;color:color-mix(in srgb,var(--brand-orange, #f97316) 82%,#7c2d12);background:color-mix(in srgb,var(--brand-orange, #f97316) 16%,var(--surface));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--brand-orange, #f97316) 22%,transparent)}.meal-cell-button.has-meal{align-items:flex-start;justify-content:flex-start;border:1px solid color-mix(in srgb,var(--brand-blue, #4f86ff) 22%,var(--line));background:linear-gradient(180deg,color-mix(in srgb,var(--brand-blue, #4f86ff) 5%,var(--surface)),var(--surface));box-shadow:0 1px color-mix(in srgb,var(--surface) 80%,#fff)}.meal-cell-button.has-meal:hover,.meal-cell-button.has-meal:focus-visible{outline:none;border-color:color-mix(in srgb,var(--brand-blue, #4f86ff) 42%,var(--line));box-shadow:0 10px 22px color-mix(in srgb,var(--brand-blue, #4f86ff) 10%,transparent);transform:translateY(-1px)}.meal-cell-title-wrap{display:flex;align-items:flex-start;gap:5px;min-width:0}.meal-cell-recipe-icon{flex-shrink:0;margin-top:1px;color:color-mix(in srgb,var(--brand-orange, #f97316) 85%,var(--ink))}.meal-cell-button.has-recipe.has-meal{border-color:color-mix(in srgb,var(--brand-orange, #f97316) 28%,var(--meal-grid-border))}.meal-cell-title{font-size:.84rem;font-weight:800;line-height:1.25;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;min-width:0}.meal-cell-meta{color:var(--muted);font-size:.7rem;font-weight:700;line-height:1.25;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;text-transform:none;letter-spacing:0}.meal-cell-placeholder{color:color-mix(in srgb,var(--brand-orange, #f97316) 70%,var(--muted));font-size:.82rem;font-weight:800;letter-spacing:.02em}.meal-cell-button.is-draggable{cursor:grab}.meal-cell-button.is-draggable:active{cursor:grabbing}.meal-cell-button.is-dragging{opacity:.45;transform:scale(.98);box-shadow:none}.meal-cell-button.is-drop-target,.meal-day-col.is-drop-target .meal-cell-button{border-color:color-mix(in srgb,var(--brand-blue, #4f86ff) 58%,var(--line));background:linear-gradient(180deg,color-mix(in srgb,var(--brand-blue, #4f86ff) 14%,var(--surface)),var(--surface));box-shadow:0 0 0 2px color-mix(in srgb,var(--brand-blue, #4f86ff) 28%,transparent),0 10px 22px color-mix(in srgb,var(--brand-blue, #4f86ff) 12%,transparent)}.meal-cell-content{display:grid;gap:3px;width:100%;min-width:0;overflow:hidden}.meal-context-menu{position:fixed;z-index:80;min-width:168px;display:grid;gap:4px;padding:6px;border:1px solid var(--line);border-radius:10px;background:var(--paper);box-shadow:0 18px 36px #0f172a3d}.meal-context-menu button{display:inline-flex;align-items:center;gap:8px;width:100%;justify-content:flex-start;text-align:left;border:0;border-radius:8px;background:transparent;color:var(--ink);padding:8px 10px;font:inherit;font-weight:700;cursor:pointer}.meal-context-menu button:hover{background:var(--soft)}.meal-context-menu button.danger{color:#b91c1c}.meal-context-menu button.danger:hover{background:color-mix(in srgb,#b91c1c 10%,var(--soft))}.meal-modal-hint{margin:6px 0 0;color:var(--muted);font-size:.78rem;font-weight:700;line-height:1.35}.meal-modal-backdrop{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:24px;background:#0f172a8c}.meal-modal{width:min(560px,100%);max-height:calc(100vh - 48px);overflow:auto;border:1px solid var(--meal-grid-border);border-radius:12px;background:var(--surface);box-shadow:0 24px 48px #1018282e}.meal-modal-header,.meal-modal-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px}.meal-modal-header{border-bottom:1px solid var(--meal-grid-border)}.meal-modal-header h2{margin:0;font-size:1.35rem}.meal-modal-body{display:grid;gap:18px;padding:18px}.meal-field,.meal-field-group{display:grid;gap:8px;margin:0;border:0;padding:0}.meal-field span,.meal-field-group legend{color:var(--muted);font-size:.78rem;font-weight:900;text-transform:uppercase}.meal-field-group legend{display:inline-flex;align-items:center;gap:6px}.meal-field input,.meal-list-row input{width:100%;min-height:42px;border:1px solid var(--meal-grid-border);border-radius:8px;padding:0 12px;color:var(--ink);background:var(--surface);font:inherit;font-size:.92rem;font-weight:700}.meal-field-hint{margin:0;color:var(--muted);font-size:.84rem;font-weight:700;line-height:1.4}.meal-list-fields{display:grid;gap:8px}.meal-list-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.meal-check-row{display:flex;align-items:center;gap:8px;color:var(--ink);font-size:.88rem;font-weight:700}.meal-check-row input{width:auto}.meal-modal-footer{border-top:1px solid var(--meal-grid-border)}.meal-modal-footer-actions{display:flex;gap:8px}.meal-modal--recipe{width:min(680px,100%)}.meal-modal--sides{width:min(480px,100%)}.meal-recipe-view{display:grid;gap:18px;padding:18px}.meal-recipe-meta{display:flex;flex-wrap:wrap;gap:8px 14px;color:var(--muted);font-size:.84rem;font-weight:800}.meal-recipe-meta span{padding:4px 10px;border:1px solid var(--meal-grid-border);border-radius:999px;background:color-mix(in srgb,var(--soft) 55%,var(--surface))}.meal-recipe-section{display:grid;gap:10px}.meal-recipe-section h3{margin:0;font-size:.82rem;font-weight:900;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}.meal-recipe-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.meal-recipe-plain-list{margin:0;padding-left:1.1rem;color:var(--ink);font-size:.92rem;font-weight:700;line-height:1.45}.meal-recipe-ingredient-list{display:grid;gap:6px;margin:0;padding:0;list-style:none}.meal-recipe-ingredient-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 10px;border:1px solid var(--meal-grid-border);border-radius:8px;background:color-mix(in srgb,var(--soft) 35%,var(--surface))}.meal-recipe-ingredient-row.is-on-list{border-color:color-mix(in srgb,var(--brand-blue, #4f86ff) 24%,var(--meal-grid-border))}.meal-recipe-ingredient-check{display:inline-flex;align-items:center}.meal-recipe-ingredient-check input{width:18px;height:18px;cursor:pointer}.meal-recipe-ingredient-status{color:var(--muted);font-size:.72rem;font-weight:800;white-space:nowrap;text-align:right}.meal-recipe-ingredient-row.is-on-list .meal-recipe-ingredient-status{color:color-mix(in srgb,var(--brand-blue, #4f86ff) 75%,var(--ink))}.meal-recipe-ingredient-copy{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:baseline;min-width:0;color:var(--ink);font-size:.9rem;font-weight:700;line-height:1.35}.meal-recipe-ingredient-copy strong{font-weight:900}.meal-recipe-instructions,.meal-recipe-notes{margin:0;padding:12px 14px;border:1px solid var(--meal-grid-border);border-radius:8px;background:color-mix(in srgb,var(--soft) 35%,var(--surface));color:var(--ink);font-size:.9rem;font-weight:700;line-height:1.55;white-space:pre-wrap}.meal-recipe-empty{display:grid;justify-items:center;gap:8px;padding:18px;border:1px dashed var(--meal-grid-border);border-radius:10px;color:var(--muted);text-align:center}.meal-recipe-empty p{margin:0;max-width:36ch;font-size:.88rem;font-weight:700;line-height:1.45}.meal-recipe-meta-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.meal-ingredient-fields{display:grid;gap:8px}.meal-ingredient-row{display:grid;grid-template-columns:92px minmax(0,1fr) auto;gap:8px;align-items:center}.meal-ingredient-row input{width:100%;min-height:42px;border:1px solid var(--meal-grid-border);border-radius:8px;padding:0 12px;color:var(--ink);background:var(--surface);font:inherit;font-size:.92rem;font-weight:700}.meal-recipe-textarea{width:100%;min-height:120px;border:1px solid var(--meal-grid-border);border-radius:8px;padding:10px 12px;color:var(--ink);background:var(--surface);font:inherit;font-size:.92rem;font-weight:700;line-height:1.45;resize:vertical}@media(max-width:640px){.meal-recipe-meta-fields{grid-template-columns:1fr}.meal-ingredient-row{grid-template-columns:72px minmax(0,1fr) auto}}.meal-slot-pill{display:inline-flex;align-items:center;min-height:26px;padding:4px 8px;border-radius:6px;background:color-mix(in srgb,var(--brand-orange, #f97316) 14%,var(--surface));color:var(--ink);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.02em}.meal-today-preview,.meal-week-preview{display:grid;gap:10px;min-height:0}.meal-today-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.meal-today-heading-copy{display:grid;gap:2px;min-width:0}.meal-today-heading strong{font-size:.95rem;font-weight:900;line-height:1.2}.meal-today-heading small{color:var(--muted);font-size:.78rem;font-weight:700}.meal-today-list{display:grid;gap:8px;overflow:auto;min-height:0}.meal-today-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:start}.meal-today-name{font-size:.9rem;font-weight:700;line-height:1.35;word-break:break-word}.meal-today-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;min-height:0;padding:10px 12px;border-radius:12px;border:1px solid color-mix(in srgb,var(--brand-blue, #4f86ff) 20%,var(--line));background:linear-gradient(180deg,color-mix(in srgb,var(--brand-blue, #4f86ff) 7%,var(--surface)),var(--surface));box-shadow:0 1px color-mix(in srgb,var(--surface) 80%,#fff)}.meal-today-card--breakfast{border-left:3px solid color-mix(in srgb,var(--brand-orange, #f97316) 72%,#c2410c);background:linear-gradient(180deg,color-mix(in srgb,var(--brand-orange, #f97316) 8%,var(--surface)),var(--surface))}.meal-today-card--lunch{border-left:3px solid color-mix(in srgb,var(--brand-blue, #4f86ff) 72%,#1d4ed8)}.meal-today-card--dinner{border-left:3px solid color-mix(in srgb,var(--brand-navy, #1e3a5f) 72%,#0f172a);background:linear-gradient(180deg,color-mix(in srgb,var(--brand-navy, #1e3a5f) 6%,var(--surface)),var(--surface))}.meal-today-slot{display:inline-flex;align-items:center;justify-content:center;min-width:4.8rem;min-height:1.65rem;padding:4px 8px;border-radius:8px;background:color-mix(in srgb,var(--ink) 6%,var(--surface));color:var(--ink);font-size:.68rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase;text-align:center}.meal-today-card-body{display:grid;gap:3px;min-width:0;align-content:center}.meal-today-meal-name{font-weight:800;line-height:1.28;color:var(--ink);overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;word-break:break-word}.meal-today-sides{color:var(--muted);font-size:.76rem;font-weight:700;line-height:1.3;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.meal-today-empty{display:grid;place-items:center;align-content:center;min-height:0;padding:16px 12px;border:1.5px dashed color-mix(in srgb,var(--brand-orange, #f97316) 34%,var(--line));border-radius:12px;background:linear-gradient(180deg,color-mix(in srgb,var(--brand-orange, #f97316) 6%,var(--surface)),var(--surface));text-align:center}.meal-today-empty p{margin:0;color:color-mix(in srgb,var(--brand-orange, #f97316) 68%,var(--muted));font-size:.84rem;font-weight:800;line-height:1.4}.meal-widget{container-type:inline-size}.meal-widget .meal-today-preview{display:grid;grid-template-rows:auto minmax(0,1fr);gap:10px;min-height:0;height:100%;overflow:hidden}.meal-widget .meal-today-heading strong{font-size:clamp(.84rem,2.8cqi,.98rem)}.meal-widget .meal-today-heading small{font-size:clamp(.72rem,2.4cqi,.82rem)}.meal-widget .meal-today-list{gap:clamp(6px,1.8cqi,10px);min-height:0;overflow-y:auto;padding-right:2px;scrollbar-gutter:stable}.meal-widget .meal-today-list--count-1{grid-template-rows:minmax(0,1fr);align-content:stretch}.meal-widget .meal-today-list--count-2{grid-template-rows:repeat(2,minmax(0,1fr));align-content:stretch}.meal-widget .meal-today-list--count-3{grid-template-rows:repeat(3,minmax(0,1fr));align-content:stretch}.meal-widget .meal-today-card{height:100%;min-height:0}.meal-widget .meal-today-list--count-1 .meal-today-card{grid-template-columns:1fr;align-items:start;align-content:start;gap:8px;padding:clamp(12px,3cqi,16px)}.meal-widget .meal-today-list--count-1 .meal-today-slot{justify-self:start;min-width:0;font-size:clamp(.66rem,2.2cqi,.74rem)}.meal-widget .meal-today-list--count-1 .meal-today-meal-name{font-size:clamp(1rem,5.8cqi,1.38rem);-webkit-line-clamp:4}.meal-widget .meal-today-list--count-1 .meal-today-sides{font-size:clamp(.78rem,3.4cqi,.92rem);-webkit-line-clamp:3}.meal-widget .meal-today-list--count-2 .meal-today-card{align-items:start;padding:clamp(10px,2.4cqi,12px)}.meal-widget .meal-today-list--count-2 .meal-today-meal-name{font-size:clamp(.88rem,4.4cqi,1.06rem);-webkit-line-clamp:3}.meal-widget .meal-today-list--count-2 .meal-today-sides{font-size:clamp(.72rem,3cqi,.84rem)}.meal-widget .meal-today-list--count-3 .meal-today-card{grid-template-columns:minmax(3.8rem,auto) minmax(0,1fr);gap:8px;padding:8px 10px}.meal-widget .meal-today-list--count-3 .meal-today-slot{min-width:0;padding-inline:6px;font-size:clamp(.62rem,2cqi,.68rem)}.meal-widget .meal-today-list--count-3 .meal-today-meal-name{font-size:clamp(.8rem,3.6cqi,.94rem);-webkit-line-clamp:2}.meal-widget .meal-today-list--count-3 .meal-today-sides{font-size:clamp(.68rem,2.6cqi,.76rem);-webkit-line-clamp:1}.meal-widget .meal-today-empty{height:100%}.meal-widget .secondary-button.compact{align-self:start}@container (max-width: 220px){.meal-widget .meal-today-list--count-2 .meal-today-card,.meal-widget .meal-today-list--count-3 .meal-today-card{grid-template-columns:1fr;gap:6px}.meal-widget .meal-today-slot{justify-self:start;min-width:0}}.meal-preview-head,.meal-preview-row{display:grid;grid-template-columns:72px repeat(7,minmax(0,1fr));gap:4px;align-items:start}.meal-preview-head span,.meal-preview-row span{min-height:24px;padding:4px 2px;font-size:.72rem;font-weight:800;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meal-preview-head span:first-child,.meal-preview-row .meal-slot-pill{text-align:left}.meal-preview-head .is-today,.meal-preview-row .is-today{color:var(--brand-navy, var(--ink));font-weight:900}.dashboard-widget.meal-widget{border-left-color:var(--brand-orange);grid-template-rows:auto minmax(0,1fr) auto;container-type:inline-size}@media(max-width:920px){.meal-week-label{min-width:0}.meal-planner-grid{min-width:640px}.meal-view-span-toggle{width:100%;justify-content:stretch}.meal-view-span-toggle button{flex:1 1 auto}}.task-board-page{display:grid;gap:16px;min-height:0;--paper: var(--surface);--shadow: 0 10px 24px rgba(16, 24, 40, .08)}.task-board-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.task-board-title{display:flex;align-items:flex-start;gap:12px}.task-board-title h1{margin:0;font-size:1.5rem}.task-board-title p{margin:4px 0 0;color:var(--muted);font-size:.9rem}.task-board-scroll{overflow:auto;min-height:0;padding-bottom:8px}.task-board-columns{display:flex;align-items:flex-start;gap:12px;min-height:420px}.task-column{flex:0 0 280px;display:grid;gap:10px;align-content:start;padding:10px;border:1px solid color-mix(in srgb,var(--line) 78%,transparent);border-top:3px solid #10b981;border-radius:14px;background:color-mix(in srgb,var(--surface) 92%,var(--app-bg));box-shadow:0 8px 20px #1018280d}.task-column.drop-target{border-color:var(--brand-cyan);box-shadow:0 0 0 1px color-mix(in srgb,var(--brand-cyan) 40%,transparent)}.task-column-header{display:flex;align-items:center;gap:8px}.task-column-header .task-column-title,.task-column-header .task-column-title-input{flex:1;min-width:0}.task-column-menu{position:relative;flex:0 0 auto}.task-column-menu-trigger{opacity:0;transition:opacity .15s ease}.task-column-header:hover .task-column-menu-trigger,.task-column-menu-trigger[aria-expanded=true]{opacity:1}.task-column-menu-panel{position:absolute;top:calc(100% + 4px);right:0;z-index:20;min-width:200px;display:grid;gap:2px;padding:4px;border:1px solid var(--line);border-radius:10px;background:var(--paper);box-shadow:var(--shadow)}.task-column-menu-form{display:grid;gap:8px;padding:6px}.task-column-menu-label{color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.task-column-menu-form input{width:100%;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);padding:8px 10px;font:inherit}.task-column-menu-form-actions{display:flex;justify-content:flex-end;gap:6px}.task-column-menu-item.with-icon{display:inline-flex;align-items:center;gap:8px}.task-column-menu-item{display:block;width:100%;border:0;border-radius:8px;background:transparent;color:var(--ink);padding:8px 10px;font:inherit;font-size:.84rem;font-weight:600;text-align:left;cursor:pointer}.task-column-menu-item:hover{background:var(--soft)}.task-column-menu-item.danger{color:#ef4444}.task-column-menu-item.danger:hover{background:color-mix(in srgb,#ef4444 10%,var(--soft))}.task-column-title{display:inline-flex;align-items:center;gap:8px;border:0;background:transparent;color:var(--ink);font:inherit;font-weight:800;cursor:pointer;padding:0;text-align:left}.task-column-count{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--soft);color:var(--muted);font-size:11px;font-weight:900}.task-column-title-input{width:100%;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);padding:6px 8px;font:inherit;font-weight:800}.task-column-cards{display:grid;gap:8px;min-height:24px}.task-card{display:grid;gap:8px;padding:10px;border:1px solid color-mix(in srgb,var(--line) 76%,transparent);border-radius:12px;background:var(--paper);box-shadow:0 6px 16px #1018280f;cursor:grab;text-align:left;touch-action:none;-webkit-user-select:none;user-select:none;transition:border-color .14s ease,box-shadow .14s ease}.task-card:active{cursor:grabbing}.task-card.dragging{cursor:grabbing;opacity:.45}.task-card-labels{display:flex;flex-wrap:wrap;gap:4px}.task-card-label{width:40px;height:8px;border-radius:999px}.task-card-title{margin:0;font-size:.92rem;line-height:1.35}.task-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--muted);font-size:.78rem}.task-card-due,.task-card-checklist{display:inline-flex;align-items:center;gap:4px}.task-card-due.overdue{color:#ef4444}.task-card-checklist.complete{color:#22a06b}.task-card-assignees{display:inline-flex;gap:4px;margin-left:auto}.task-card-assignee{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:999px;background:var(--soft);color:var(--ink);font-size:10px;font-weight:900}.task-card-assignee.more{width:auto;min-width:22px;padding:0 6px}.task-add-card,.task-inline-form{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.task-inline-form input{flex:1;min-width:0}.task-add-card input,.task-inline-form input,.task-modal-section input[type=date],.task-modal-section textarea{width:100%;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);padding:8px 10px;font:inherit}.task-add-column{flex:0 0 220px;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border:1px dashed var(--line);border-radius:12px;background:transparent;color:var(--muted);font-weight:700;cursor:pointer}.task-drop-indicator{height:3px;border-radius:999px;background:var(--brand-cyan)}.task-modal-backdrop{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:20px;background:color-mix(in srgb,var(--ink) 28%,transparent)}.task-modal{width:min(560px,100%);max-height:min(88vh,900px);overflow:auto;display:grid;gap:0;border:1px solid var(--line);border-radius:16px;background:var(--paper);box-shadow:var(--shadow)}.task-modal-header,.task-modal-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line)}.task-modal-footer{border-bottom:0;border-top:1px solid var(--line)}.task-modal-title-input{width:100%;border:0;background:transparent;color:var(--ink);font:inherit;font-size:1.2rem;font-weight:800}.task-modal-body{display:grid;gap:18px;padding:18px}.task-modal-section{display:grid;gap:10px}.task-modal-section h3{display:inline-flex;align-items:center;gap:6px;margin:0;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.task-label-picker,.task-member-picker{display:flex;flex-wrap:wrap;gap:8px}.task-label-option,.task-member-option{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;background:var(--soft);color:var(--ink);padding:6px 10px;font-size:.82rem;font-weight:700;cursor:pointer}.task-label-option{border-color:color-mix(in srgb,var(--label-color, var(--line)) 55%,var(--line));background:color-mix(in srgb,var(--label-color, var(--soft)) 18%,var(--soft))}.task-label-option.active,.task-member-option.active{border-color:var(--brand-cyan);box-shadow:0 0 0 1px color-mix(in srgb,var(--brand-cyan) 35%,transparent)}.task-checklist{display:grid;gap:8px;margin:0;padding:0;list-style:none}.task-checklist li{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px}.task-checklist li.done span{text-decoration:line-through;color:var(--muted)}.task-check{display:inline-grid;place-items:center;width:20px;height:20px;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:#22a06b;cursor:pointer}.task-check.checked{border-color:#22a06b;background:color-mix(in srgb,#22a06b 16%,var(--paper))}.task-assignee-chips{display:flex;flex-wrap:wrap;gap:8px}.task-assignee-chip{display:inline-flex;align-items:center;gap:6px;border-radius:999px;background:var(--soft);padding:4px 8px 4px 10px;font-size:.82rem;font-weight:700}.task-assignee-chip button{display:inline-grid;place-items:center;border:0;background:transparent;color:var(--muted);cursor:pointer}.task-workspace-bar{display:flex;align-items:flex-start;justify-content:flex-end;gap:10px;position:relative;flex-wrap:wrap}.task-workspace-switcher,.task-workspace-access-wrap{position:relative}.task-workspace-trigger{display:inline-flex;align-items:center;gap:8px;max-width:min(280px,100%);border:1px solid color-mix(in srgb,var(--line) 78%,transparent);border-radius:12px;background:color-mix(in srgb,var(--surface) 94%,var(--soft));color:var(--ink);padding:8px 12px;font-weight:700;cursor:pointer;box-shadow:0 6px 16px #1018280d}.task-workspace-trigger-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:180px}.task-workspace-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:30;width:min(320px,calc(100vw - 32px));display:grid;gap:0;padding:0;border:1px solid color-mix(in srgb,var(--line) 78%,transparent);border-radius:14px;background:var(--paper);box-shadow:var(--shadow);overflow:hidden}.task-workspace-menu-section{display:grid;gap:8px;padding:12px}.task-workspace-menu-section+.task-workspace-menu-section{border-top:1px solid var(--line)}.task-workspace-menu-heading{margin:0;color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.task-workspace-menu-copy{margin:0;color:var(--muted);font-size:.82rem;line-height:1.4}.task-workspace-list{display:grid;gap:6px;margin:0;padding:0;list-style:none}.task-workspace-option{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;border:1px solid var(--line);border-radius:10px;background:var(--soft);color:var(--ink);padding:10px 12px;text-align:left;cursor:pointer}.task-workspace-option:hover{border-color:color-mix(in srgb,var(--brand-cyan) 35%,var(--line))}.task-workspace-option.active{border-color:var(--brand-cyan);background:color-mix(in srgb,var(--brand-cyan) 10%,var(--soft))}.task-workspace-option-copy{display:grid;gap:2px;min-width:0}.task-workspace-option-meta{color:var(--muted);font-size:.76rem;font-weight:600}.task-workspace-option-check{flex:0 0 auto;color:var(--brand-cyan)}.task-workspace-empty{margin:0;padding:10px 12px;border:1px dashed var(--line);border-radius:10px;color:var(--muted);font-size:.84rem}.task-workspace-add-section{background:color-mix(in srgb,var(--soft) 65%,var(--paper))}.task-workspace-add-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;border:1px dashed color-mix(in srgb,var(--brand-cyan) 45%,var(--line));border-radius:10px;background:color-mix(in srgb,var(--brand-cyan) 8%,var(--paper));color:var(--ink);padding:11px 12px;font-size:.88rem;font-weight:800;cursor:pointer}.task-workspace-add-button:hover{border-color:var(--brand-cyan);background:color-mix(in srgb,var(--brand-cyan) 14%,var(--paper))}.task-workspace-menu button{display:block;width:100%;border:0;border-radius:8px;background:transparent;color:var(--ink);padding:8px 10px;text-align:left;font-weight:700;cursor:pointer}.task-workspace-menu-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:800}.task-workspace-create{display:grid;gap:8px}.task-workspace-create-label{color:var(--ink);font-size:.82rem;font-weight:700}.task-workspace-create-row{display:flex;align-items:center;gap:8px}.task-workspace-create input{flex:1;min-width:0;width:0;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);padding:8px 10px;font:inherit}.task-workspace-cancel{justify-self:start;border:0;background:transparent;color:var(--muted);padding:0;font-size:.82rem;font-weight:700;cursor:pointer}.task-workspace-cancel:hover{color:var(--ink)}.task-share-trigger.shared{border-color:color-mix(in srgb,var(--brand-cyan) 45%,var(--line))}.task-share-count{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:color-mix(in srgb,var(--brand-cyan) 18%,var(--soft));color:var(--ink);font-size:.72rem;font-weight:800}.task-share-panel{width:min(400px,calc(100vw - 32px))}.task-share-panel-title p{margin:2px 0 0;color:var(--muted);font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:260px}.task-share-status{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--soft);color:var(--muted);font-size:.82rem;line-height:1.4}.task-share-status.shared{border-color:color-mix(in srgb,var(--brand-cyan) 35%,var(--line));background:color-mix(in srgb,var(--brand-cyan) 8%,var(--soft))}.task-share-status strong{display:block;color:var(--ink);font-size:.86rem;margin-bottom:2px}.task-share-section{display:grid;gap:8px}.task-share-section .task-workspace-menu-heading{display:inline-flex;align-items:center;gap:6px;margin:0}.task-share-member{display:inline-flex;align-items:center;gap:8px;min-width:0}.task-share-avatar{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:999px;background:color-mix(in srgb,var(--brand-cyan) 20%,var(--paper));color:var(--ink);font-size:.78rem;font-weight:800;flex:0 0 auto}.task-share-member-copy{display:grid;gap:1px;min-width:0}.task-share-member-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-share-member-copy em{color:var(--muted);font-size:.72rem;font-style:normal;font-weight:700}.task-share-invite-form{margin-top:2px}.task-workspace-access{position:absolute;top:calc(100% + 8px);right:0;z-index:40;width:min(380px,calc(100vw - 32px));display:grid;gap:12px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--paper);box-shadow:var(--shadow)}.task-workspace-access header{display:flex;align-items:center;justify-content:space-between;gap:8px}.task-workspace-access h3{margin:0;font-size:.95rem}.task-member-list,.task-invite-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.task-member-list li,.task-invite-list li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--soft);font-size:.86rem}.task-member-list li>span:first-child,.task-invite-list li>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.task-member-role{color:var(--muted);font-size:.75rem;font-weight:800;text-transform:uppercase}.task-preview-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.task-preview-column{display:grid;gap:4px;padding:8px;border:1px solid var(--line);border-radius:10px;background:var(--soft)}.task-preview-column-title{color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase}.task-preview-compact{margin:0;color:var(--muted);font-size:.86rem}.task-error{margin:0;color:#ef4444;font-size:.86rem}.task-error.banner{padding:10px 12px;border:1px solid color-mix(in srgb,#ef4444 35%,var(--line));border-radius:10px;background:color-mix(in srgb,#ef4444 8%,var(--paper))}.task-board-header-actions{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:flex-end;gap:10px}.task-board-picker{position:relative}.task-board-picker-trigger{display:inline-flex;align-items:center;gap:8px;max-width:min(260px,100%);border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);padding:8px 12px;font-weight:700;cursor:pointer}.task-board-picker-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-board-picker-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:35;width:min(320px,calc(100vw - 32px));border:1px solid var(--line);border-radius:12px;background:var(--paper);box-shadow:var(--shadow);overflow:hidden}.task-board-rename-input{width:100%;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);padding:8px 10px}.task-board-row{display:flex;align-items:stretch;gap:6px}.task-board-row.active .task-workspace-option{border-color:var(--brand-cyan);background:color-mix(in srgb,var(--brand-cyan) 10%,var(--soft))}.task-board-row .task-workspace-option{flex:1;min-width:0}.task-board-rename-button{flex:0 0 auto;align-self:center}.task-board-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.task-board-search,.task-board-filter{display:inline-flex;align-items:center;gap:8px;color:var(--muted)}.task-board-search input,.task-board-filter select{border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);padding:8px 10px;font:inherit}.task-board-search input{min-width:220px}.task-archive-toggle.active{border-color:var(--brand-cyan)}.task-board-layout{display:grid;gap:12px;min-height:0}.task-board-layout.with-archive{grid-template-columns:minmax(0,1fr) min(320px,34vw)}.task-board-empty{display:grid;gap:10px;justify-items:start;padding:24px;border:1px dashed var(--line);border-radius:14px;background:color-mix(in srgb,var(--soft) 70%,var(--paper))}.task-board-empty h2{margin:0}.task-board-empty p{margin:0;color:var(--muted)}.task-archive-drop{flex:0 0 220px;display:grid;gap:6px;align-content:center;justify-items:center;text-align:center;min-height:180px;padding:16px;border:2px dashed var(--line);border-radius:12px;color:var(--muted);background:color-mix(in srgb,var(--soft) 55%,var(--paper))}.task-archive-drop.active,.task-archive-drop.over{border-color:var(--brand-cyan);color:var(--ink);background:color-mix(in srgb,var(--brand-cyan) 12%,var(--paper))}.task-archive-drop strong{font-size:.92rem}.task-archive-drop span{font-size:.8rem;line-height:1.35}.task-archived-panel{display:grid;gap:12px;align-content:start;max-height:70vh;overflow:auto;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}.task-archived-panel header{display:flex;align-items:center;justify-content:space-between;gap:8px}.task-archived-panel h2{margin:0;font-size:1rem}.task-archived-copy{margin:0;color:var(--muted);font-size:.84rem}.task-archived-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.task-archived-list li{display:grid;gap:8px;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--soft)}.task-archived-card{display:grid;gap:4px;border:0;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.task-archived-card span{color:var(--muted);font-size:.78rem}.task-archived-actions{display:flex;gap:8px}.task-card.dimmed{opacity:.35}.task-card-cover{height:8px;border-radius:6px;margin:-2px 0 2px}.task-card:hover{border-color:color-mix(in srgb,var(--brand-cyan) 35%,var(--line))}.task-card-body{display:grid;gap:6px;min-width:0}.task-column-handle{display:inline-grid;place-items:center;border:0;background:transparent;color:var(--muted);cursor:grab;padding:0}.task-card.dragging-overlay,.task-column.column-dragging{opacity:.85;box-shadow:var(--shadow)}.task-modal-cover{height:10px;border-radius:16px 16px 0 0;margin:-1px -1px 0}.task-cover-picker{display:flex;flex-wrap:wrap;gap:8px}.task-cover-swatch{min-width:44px;height:28px;border:1px solid var(--line);border-radius:8px;background:var(--soft);cursor:pointer}.task-cover-swatch.color{min-width:28px}.task-cover-swatch.active{box-shadow:0 0 0 2px var(--brand-cyan)}.task-comment-list,.task-attachment-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.task-comment-list li{padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--soft)}.task-comment-head{display:flex;align-items:center;gap:8px;margin-bottom:4px}.task-comment-head span{color:var(--muted);font-size:.76rem}.task-comment-head .icon-button{margin-left:auto}.task-comment-list p{margin:0;font-size:.9rem}.task-attachment-list li{display:flex;align-items:center;justify-content:space-between;gap:8px}.task-attachment-list a{color:var(--brand-cyan);font-weight:700;text-decoration:none}.task-attachment-note{margin:0 0 8px;padding:10px 12px;border:1px solid color-mix(in srgb,#f59e0b 35%,var(--line));border-radius:10px;background:color-mix(in srgb,#f59e0b 8%,var(--paper));color:var(--muted);font-size:.84rem;line-height:1.45}.task-attachment-note a{color:var(--brand-cyan);font-weight:700;text-decoration:none}.task-attachment-note code{font-size:.78rem}.task-error a{color:var(--brand-cyan);font-weight:700}.dashboard-widget.task-widget .task-preview-columns{margin-bottom:10px}.dashboard-widget.task-widget.medium .task-preview-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-widget.task-widget.small .task-preview-columns{grid-template-columns:1fr}:root{--brand-navy: #061f54;--brand-cyan: #11c9c9;--brand-blue: #0f8fea;--brand-orange: #ff7a2f;--ink: #172033;--muted: #667085;--line: #d9dde7;--paper: #fbfcff;--surface: #ffffff;--app-bg: #f4f7fb;--soft: #eef3fa;--field: #ffffff;--success-bg: #f0fbf5;--warning-bg: #fff8e8;--danger-bg: #fff2f0;--scrollbar-size: 10px;--scrollbar-track: transparent;--scrollbar-thumb: color-mix(in srgb, var(--muted) 52%, var(--line));--scrollbar-thumb-hover: color-mix(in srgb, var(--muted) 72%, var(--line));color:var(--ink);background:var(--app-bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}:root[data-theme=dark]{--brand-navy: #6fd8ff;--brand-cyan: #22d3ee;--brand-blue: #60a5fa;--brand-orange: #fb923c;--ink: #e8eef8;--muted: #9aa8bc;--line: #26364b;--paper: #0d1726;--surface: #121f31;--app-bg: #07111f;--soft: #17263a;--field: #0c1624;--success-bg: #103626;--warning-bg: #3c2b11;--danger-bg: #3a1720}:root[data-theme=ocean]{--brand-navy: #063f5c;--brand-cyan: #08b8c8;--brand-blue: #1479c9;--brand-orange: #f28b38;--ink: #123044;--muted: #5e7686;--line: #bdd5df;--paper: #f3fbfd;--surface: #ffffff;--app-bg: #e8f5f8;--soft: #dff2f6;--field: #ffffff}:root[data-theme=forest]{--brand-navy: #123c2d;--brand-cyan: #2fb8a6;--brand-blue: #417d75;--brand-orange: #d98a38;--ink: #182f26;--muted: #63766f;--line: #cbd8d1;--paper: #f7fbf8;--surface: #ffffff;--app-bg: #eef6f0;--soft: #e3f0e7;--field: #ffffff}:root[data-theme=sunset]{--brand-navy: #40245e;--brand-cyan: #1ebec3;--brand-blue: #7856d8;--brand-orange: #f2763d;--ink: #2f2437;--muted: #746a7d;--line: #ded2df;--paper: #fff9f6;--surface: #ffffff;--app-bg: #f8eff2;--soft: #f4e7ec;--field: #ffffff}:root[data-theme=pride]{--pride-red: #e40303;--pride-orange: #ff8c00;--pride-yellow: #ffed00;--pride-green: #008026;--pride-blue: #244bff;--pride-violet: #732982;--pride-rainbow-shift-size: 400%;--pride-rainbow: linear-gradient( 90deg, #e40303 0%, #f24700 6%, #ff8c00 14%, #ffae00 21%, #ffed00 28%, #d4e800 35%, #7fd100 42%, #008026 50%, #00a88a 57%, #1d6fff 64%, #244bff 71%, #5a3dcc 78%, #732982 85%, #c42a70 92%, #e40303 100% );--pride-rainbow-vertical: linear-gradient( 180deg, #e40303 0%, #f24700 6%, #ff8c00 14%, #ffae00 21%, #ffed00 28%, #d4e800 35%, #7fd100 42%, #008026 50%, #00a88a 57%, #1d6fff 64%, #244bff 71%, #5a3dcc 78%, #732982 85%, #c42a70 92%, #e40303 100% );--pride-rainbow-soft: linear-gradient( 135deg, color-mix(in srgb, #e40303 12%, #ffffff) 0%, color-mix(in srgb, #ff8c00 14%, #ffffff) 16%, color-mix(in srgb, #ffed00 12%, #ffffff) 32%, color-mix(in srgb, #008026 14%, #ffffff) 48%, color-mix(in srgb, #244bff 16%, #ffffff) 64%, color-mix(in srgb, #732982 18%, #ffffff) 80%, color-mix(in srgb, #e40303 12%, #ffffff) 100% );--pride-rainbow-pastel: linear-gradient( 90deg, #fff9c4 0%, #ffe8c8 18%, #e8ffd8 36%, #d8e8ff 54%, #f0d4ff 72%, #fff9c4 100% );--brand-navy: #732982;--brand-cyan: #00b8d9;--brand-blue: #244bff;--brand-orange: #ff8c00;--ink: #2a1240;--muted: #6d5f7f;--line: #f0d4ff;--paper: #fffafe;--surface: #ffffff;--app-bg: #fff8fc;--soft: #fff0f8;--field: #ffffff;--success-bg: #eafff3;--warning-bg: #fff7d6;--danger-bg: #fff0f5;--scrollbar-thumb: color-mix(in srgb, var(--pride-violet) 52%, var(--pride-orange));--scrollbar-thumb-hover: color-mix(in srgb, var(--pride-blue) 58%, var(--pride-red))}@keyframes pride-rainbow-shift{0%{background-position:0% 50%}to{background-position:100% 50%}}@keyframes pride-rainbow-shift-layered{0%{background-position:0% 0%,0% 50%}to{background-position:0% 0%,100% 50%}}@keyframes pride-rainbow-shift-vertical{0%{background-position:50% 0%}to{background-position:50% 200%}}@keyframes pride-sparkle-drift{0%,to{opacity:.28;transform:translateY(0)}50%{opacity:.42;transform:translateY(-6px)}}@keyframes pride-glow-pulse{0%,to{filter:drop-shadow(0 0 6px rgba(228,3,3,.18))}33%{filter:drop-shadow(0 0 10px rgba(255,140,0,.22))}66%{filter:drop-shadow(0 0 10px rgba(36,75,255,.22))}}:root[data-theme=pride] body{background:radial-gradient(circle at 6% 8%,rgba(228,3,3,.12),transparent 26%),radial-gradient(circle at 94% 14%,rgba(36,75,255,.14),transparent 28%),radial-gradient(circle at 50% 96%,rgba(0,128,38,.1),transparent 32%),var(--app-bg)}:root[data-theme=pride] .app-shell{position:relative;background:radial-gradient(circle at 8% 4%,rgba(228,3,3,.14),transparent 28%),radial-gradient(circle at 94% 12%,rgba(36,75,255,.16),transparent 30%),radial-gradient(circle at 48% 88%,rgba(255,237,0,.1),transparent 34%),linear-gradient(135deg,#fff8fb,#fff3d6 22%,#eafff3,#eff7ff 70%,#f7edff)}:root[data-theme=pride] .workspace{position:relative;background:radial-gradient(circle at 10% 0%,rgba(255,140,0,.12),transparent 32%),radial-gradient(circle at 92% 6%,rgba(115,41,130,.1),transparent 28%),radial-gradient(circle at 50% 100%,rgba(36,75,255,.08),transparent 36%),var(--app-bg)}:root[data-theme=pride] .workspace:before{position:absolute;inset:0;pointer-events:none;content:"";opacity:.32;background-image:radial-gradient(circle at 12% 18%,rgba(255,237,0,.55) 0 1.5px,transparent 2px),radial-gradient(circle at 78% 24%,rgba(228,3,3,.45) 0 1.5px,transparent 2px),radial-gradient(circle at 34% 62%,rgba(36,75,255,.45) 0 1.5px,transparent 2px),radial-gradient(circle at 88% 72%,rgba(0,128,38,.45) 0 1.5px,transparent 2px),radial-gradient(circle at 52% 38%,rgba(255,140,0,.4) 0 1px,transparent 1.5px),radial-gradient(circle at 22% 84%,rgba(115,41,130,.4) 0 1px,transparent 1.5px);animation:pride-sparkle-drift 16s ease-in-out infinite}:root[data-theme=pride] .sidebar{background:linear-gradient(var(--surface),var(--surface)) padding-box,var(--pride-rainbow-vertical) border-box;border-right:3px solid transparent;box-shadow:inset -1px 0 #fff6,4px 0 24px #73298214}:root[data-theme=pride] .logo-button{color:var(--pride-violet);animation:pride-glow-pulse 9s ease-in-out infinite}:root[data-theme=pride] .nav-button:hover{color:var(--ink);background:color-mix(in srgb,var(--pride-yellow) 18%,var(--soft));border-color:color-mix(in srgb,var(--pride-orange) 30%,var(--line))}:root[data-theme=pride] .nav-button.active{color:var(--pride-violet);border-color:color-mix(in srgb,var(--pride-blue) 36%,var(--line));background:linear-gradient(90deg,color-mix(in srgb,var(--pride-red) 10%,var(--soft)),color-mix(in srgb,var(--pride-blue) 12%,var(--soft)));box-shadow:inset 3px 0 0 var(--pride-orange)}:root[data-theme=pride] .account-chip:hover,:root[data-theme=pride] .account-chip.active{border-color:color-mix(in srgb,var(--pride-violet) 42%,var(--line));background:color-mix(in srgb,var(--pride-blue) 8%,var(--soft))}:root[data-theme=pride] .account-avatar,:root[data-theme=pride] .dashboard-topbar-account-avatar{background:var(--pride-rainbow);background-size:var(--pride-rainbow-shift-size) auto;animation:pride-rainbow-shift 16s linear infinite}:root[data-theme=pride] .primary-button{color:#fff;border:0;background:var(--pride-rainbow);background-size:var(--pride-rainbow-shift-size) auto;box-shadow:0 10px 24px #73298238,0 0 0 1px #ffffff1f inset;animation:pride-rainbow-shift 14s linear infinite}:root[data-theme=pride] .primary-button:hover:not(:disabled){box-shadow:0 14px 32px #e403033d,0 0 0 1px #ffffff2e inset}:root[data-theme=pride] .secondary-button{border:2px solid transparent;background:linear-gradient(var(--surface),var(--surface)) padding-box,var(--pride-rainbow) border-box;background-size:100% 100%,var(--pride-rainbow-shift-size) auto;animation:pride-rainbow-shift-layered 20s linear infinite}:root[data-theme=pride] .secondary-button:hover:not(:disabled){background:linear-gradient(color-mix(in srgb,var(--pride-yellow) 12%,var(--surface)),color-mix(in srgb,var(--pride-yellow) 12%,var(--surface))) padding-box,var(--pride-rainbow) border-box;background-size:100% 100%,var(--pride-rainbow-shift-size) auto}:root[data-theme=pride] .text-button{background:var(--pride-rainbow);background-size:var(--pride-rainbow-shift-size) auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:pride-rainbow-shift 16s linear infinite}:root[data-theme=pride] input:focus-visible,:root[data-theme=pride] select:focus-visible,:root[data-theme=pride] textarea:focus-visible{outline:none;border-color:var(--pride-blue);box-shadow:0 0 0 3px #244bff2e,0 0 0 1px var(--pride-orange)}:root[data-theme=pride] .status-pill{border:1px solid transparent;color:var(--pride-violet);background:linear-gradient(color-mix(in srgb,var(--pride-yellow) 16%,var(--soft)),color-mix(in srgb,var(--pride-yellow) 16%,var(--soft))) padding-box,var(--pride-rainbow) border-box;background-size:100% 100%,var(--pride-rainbow-shift-size) auto;animation:pride-rainbow-shift-layered 24s linear infinite}:root[data-theme=pride] .page-heading h1,:root[data-theme=pride] .page h1,:root[data-theme=pride] .dashboard-greeting h1{background:var(--pride-rainbow);background-size:var(--pride-rainbow-shift-size) auto;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;line-height:1.25;padding-bottom:.08em;animation:pride-rainbow-shift 20s linear infinite}:root[data-theme=pride] .dashboard-page{--dash-blue: var(--pride-blue);--dash-orange: var(--pride-orange);--dash-red: var(--pride-red);--dash-purple: var(--pride-violet);--dash-green: var(--pride-green)}:root[data-theme=pride] .dashboard-hero{border:2px solid transparent;background:linear-gradient(color-mix(in srgb,var(--surface) 94%,var(--app-bg)),color-mix(in srgb,var(--surface) 94%,var(--app-bg))) padding-box,var(--pride-rainbow) border-box;background-size:100% 100%,var(--pride-rainbow-shift-size) auto;box-shadow:0 16px 38px #7329821f,0 0 40px #ff8c0014;animation:pride-rainbow-shift-layered 28s linear infinite}:root[data-theme=pride] .dashboard-hero:after{display:block;height:4px;margin:14px 0 0;border-radius:999px;content:"";background:var(--pride-rainbow);background-size:var(--pride-rainbow-shift-size) auto;animation:pride-rainbow-shift 24s linear infinite}:root[data-theme=pride] .hero-metric-card{border-width:2px;border-color:color-mix(in srgb,var(--pride-violet) 24%,var(--line));box-shadow:0 8px 20px #244bff14}:root[data-theme=pride] .hero-metric-card.reminders{border-color:color-mix(in srgb,var(--pride-orange) 50%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--pride-orange) 24%,var(--surface)),color-mix(in srgb,var(--pride-yellow) 12%,var(--soft)))}:root[data-theme=pride] .hero-metric-card.meetings{border-color:color-mix(in srgb,var(--pride-blue) 50%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--pride-blue) 24%,var(--surface)),color-mix(in srgb,var(--pride-violet) 10%,var(--soft)))}:root[data-theme=pride] .hero-metric-card.bills{border-color:color-mix(in srgb,var(--pride-red) 50%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--pride-red) 22%,var(--surface)),color-mix(in srgb,var(--pride-orange) 10%,var(--soft)))}:root[data-theme=pride] .hero-metric-card.companion{border-color:color-mix(in srgb,var(--pride-violet) 52%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--pride-violet) 24%,var(--surface)),color-mix(in srgb,var(--pride-green) 10%,var(--soft)))}:root[data-theme=pride] .hero-metric-card.reminders .hero-metric-icon{color:var(--pride-orange);background:color-mix(in srgb,var(--pride-orange) 28%,#000000)}:root[data-theme=pride] .hero-metric-card.meetings .hero-metric-icon{color:var(--pride-blue);background:color-mix(in srgb,var(--pride-blue) 28%,#000000)}:root[data-theme=pride] .hero-metric-card.bills .hero-metric-icon{color:var(--pride-red);background:color-mix(in srgb,var(--pride-red) 28%,#000000)}:root[data-theme=pride] .hero-metric-card.companion .hero-metric-icon{background:var(--pride-rainbow);background-size:var(--pride-rainbow-shift-size) auto;animation:pride-rainbow-shift 14s linear infinite}:root[data-theme=pride] .dashboard-customize-btn:hover,:root[data-theme=pride] .dashboard-customize-btn.active,:root[data-theme=pride] .dashboard-topbar-account:hover,:root[data-theme=pride] .dashboard-topbar-account.active{border-color:color-mix(in srgb,var(--pride-violet) 42%,var(--line));background:color-mix(in srgb,var(--pride-yellow) 14%,var(--surface))}:root[data-theme=pride] .dashboard-widget-grid{border:2px solid transparent;background:color-mix(in srgb,var(--surface) 58%,var(--app-bg)) padding-box,var(--pride-rainbow-soft) border-box;background-image:linear-gradient(to right,color-mix(in srgb,var(--pride-violet) 12%,transparent) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in srgb,var(--pride-blue) 12%,transparent) 1px,transparent 1px),var(--pride-rainbow-soft);background-size:calc((100% - 28px) / 48) 30px,calc((100% - 28px) / 48) 30px,100% 100%;background-position:14px 14px,14px 14px,0 0}:root[data-theme=pride] .dashboard-widget{border:2px solid transparent;background:linear-gradient(color-mix(in srgb,var(--surface) 96%,var(--soft)),color-mix(in srgb,var(--surface) 96%,var(--soft))) padding-box,var(--pride-rainbow) border-box;background-size:100% 100%,var(--pride-rainbow-shift-size) auto;animation:pride-rainbow-shift-layered 32s linear infinite}:root[data-theme=pride] .dashboard-widget:hover{box-shadow:0 18px 40px #73298224,0 0 24px #ff8c001a}:root[data-theme=pride] .dashboard-widget.reminders-widget{background:linear-gradient(color-mix(in srgb,var(--pride-orange) 8%,var(--surface)),color-mix(in srgb,var(--pride-yellow) 6%,var(--soft))) padding-box,linear-gradient(90deg,var(--pride-orange) 0%,color-mix(in srgb,var(--pride-orange) 50%,var(--pride-yellow)) 35%,var(--pride-yellow) 55%,color-mix(in srgb,var(--pride-yellow) 50%,var(--pride-red)) 75%,var(--pride-red) 100%) border-box}:root[data-theme=pride] .calendar-meeting-pill{border:2px solid transparent;background:linear-gradient(color-mix(in srgb,var(--pride-violet) 82%,#000000),color-mix(in srgb,var(--pride-blue) 78%,#000000)) padding-box,var(--pride-rainbow) border-box;background-size:100% 100%,var(--pride-rainbow-shift-size) auto;box-shadow:0 8px 18px #7329822e;animation:pride-rainbow-shift-layered 24s linear infinite;color:#fff}:root[data-theme=pride] .tool-card{border:2px solid transparent;background:linear-gradient(color-mix(in srgb,var(--surface) 94%,var(--soft)),color-mix(in srgb,var(--surface) 94%,var(--soft))) padding-box,var(--pride-rainbow) border-box;background-size:100% 100%,var(--pride-rainbow-shift-size) auto;animation:pride-rainbow-shift-layered 24s linear infinite}:root[data-theme=pride] .tool-card>svg:first-child{border:1px solid color-mix(in srgb,var(--pride-violet) 30%,var(--line));color:var(--pride-violet);background:color-mix(in srgb,var(--pride-yellow) 22%,var(--soft))}:root[data-theme=pride] .tool-card span{color:var(--pride-violet);background:color-mix(in srgb,var(--pride-yellow) 28%,#ffffff)}:root[data-theme=pride] .tool-card small{background:var(--pride-rainbow);background-size:var(--pride-rainbow-shift-size) auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:pride-rainbow-shift 16s linear infinite}:root[data-theme=pride] .tool-card.green,:root[data-theme=pride] .tool-card.blue,:root[data-theme=pride] .tool-card.amber,:root[data-theme=pride] .tool-card.slate{border-top:none}:root[data-theme=pride] .tool-card:hover,:root[data-theme=pride] .dashboard-widget:hover,:root[data-theme=pride] .today-card:hover{transform:translateY(-2px)}:root[data-theme=pride] .settings-form-panel,:root[data-theme=pride] .theme-panel,:root[data-theme=pride] .settings-admin-panel,:root[data-theme=pride] .settings-admin-accordion,:root[data-theme=pride] .focus-band,:root[data-theme=pride] .empty-dashboard-panel{border:2px solid transparent;background:linear-gradient(var(--surface),var(--surface)) padding-box,var(--pride-rainbow-soft) border-box}:root[data-theme=pride] .theme-panel{background:linear-gradient(180deg,#fffafe,#fff5fc) padding-box,var(--pride-rainbow) border-box;background-size:100% 100%,var(--pride-rainbow-shift-size) auto;animation:pride-rainbow-shift-layered 36s linear infinite}:root[data-theme=pride] .section-heading h2{background:var(--pride-rainbow);background-size:var(--pride-rainbow-shift-size) auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:pride-rainbow-shift 18s linear infinite}:root[data-theme=pride] .reminder-quick-actions button:hover{border-color:var(--pride-orange);background:color-mix(in srgb,var(--pride-yellow) 24%,var(--soft))}:root[data-theme=pride] .widget-print-button.active{background:var(--pride-rainbow);background-size:var(--pride-rainbow-shift-size) auto;animation:pride-rainbow-shift 20s linear infinite}@media(prefers-reduced-motion:reduce){:root[data-theme=pride] .primary-button,:root[data-theme=pride] .secondary-button,:root[data-theme=pride] .text-button,:root[data-theme=pride] .status-pill,:root[data-theme=pride] .calendar-meeting-pill,:root[data-theme=pride] .page-heading h1,:root[data-theme=pride] .page h1,:root[data-theme=pride] .dashboard-greeting h1,:root[data-theme=pride] .dashboard-hero,:root[data-theme=pride] .dashboard-hero:after,:root[data-theme=pride] .dashboard-widget,:root[data-theme=pride] .tool-card,:root[data-theme=pride] .tool-card small,:root[data-theme=pride] .theme-panel,:root[data-theme=pride] .section-heading h2,:root[data-theme=pride] .widget-print-button.active,:root[data-theme=pride] .account-avatar,:root[data-theme=pride] .dashboard-topbar-account-avatar,:root[data-theme=pride] .hero-metric-card.companion .hero-metric-icon,:root[data-theme=pride] .logo-button,:root[data-theme=pride] .workspace:before{animation:none!important}:root[data-theme=pride] .tool-card:hover,:root[data-theme=pride] .dashboard-widget:hover{transform:none}}*,*::backdrop{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}*::-webkit-scrollbar{width:var(--scrollbar-size);height:var(--scrollbar-size)}*::-webkit-scrollbar-track{background:var(--scrollbar-track)}*::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border:2px solid transparent;border-radius:999px;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover);background-clip:padding-box}*::-webkit-scrollbar-corner{background:transparent}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;color:var(--ink);background:var(--app-bg)}button,input,select,textarea{font:inherit}button{cursor:pointer}.auth-page{position:relative;display:grid;grid-template-columns:minmax(0,1080px) minmax(360px,420px);grid-template-rows:auto minmax(0,1fr);column-gap:clamp(38px,4vw,68px);row-gap:28px;min-height:100vh;overflow:hidden;justify-content:center;padding:34px clamp(38px,4vw,72px);color:#f8fbff;background:radial-gradient(circle at 52% 76%,rgba(34,42,255,.34),transparent 22%),radial-gradient(circle at 83% 28%,rgba(17,201,201,.16),transparent 26%),linear-gradient(135deg,#020916,#071432 45%,#020817)}.auth-page:before{position:absolute;inset:0;pointer-events:none;content:"";background-image:linear-gradient(rgba(57,118,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(57,118,255,.08) 1px,transparent 1px);background-size:116px 116px;-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.82),transparent 84%);mask-image:linear-gradient(to bottom,rgba(0,0,0,.82),transparent 84%)}.auth-page:after{position:absolute;inset:10px;pointer-events:none;content:"";border:1px solid rgba(88,137,255,.16);border-radius:18px}.auth-page.single-panel{grid-template-columns:minmax(320px,520px);justify-content:center;align-items:center;padding:24px}.auth-header{position:relative;z-index:2;display:flex;grid-column:1 / -1;align-items:flex-start;justify-content:space-between;gap:24px;width:min(1640px,100%);justify-self:center}.auth-nav{display:flex;align-items:center;gap:clamp(18px,3vw,42px);padding-top:18px}.auth-nav a{color:#ecf4ffc2;font-weight:700;text-decoration:none}.auth-nav a:hover{color:#fff}.auth-wordmark{display:flex;align-items:flex-start;gap:20px;color:#fff;filter:drop-shadow(0 20px 34px rgba(0,0,0,.34))}.auth-wordmark-icon{width:clamp(128px,7.4vw,168px);height:clamp(128px,7.4vw,168px);margin-top:2px;border-radius:28px;object-fit:cover}.auth-wordmark strong{display:block;color:#fff;font-size:clamp(3.1rem,3.4vw,5rem);line-height:.92;letter-spacing:0}.auth-wordmark span{display:block;margin-top:8px;color:#ffffffdb;font-size:clamp(1rem,1.1vw,1.35rem);font-weight:800}.auth-wordmark em{color:var(--brand-orange);font-style:normal}.auth-wordmark.compact{gap:10px}.auth-wordmark.compact .auth-wordmark-icon{width:72px;height:72px;border-radius:18px}.auth-wordmark.compact strong{font-size:2.55rem}.auth-wordmark.compact span{margin-top:5px;font-size:.95rem}.auth-visual{position:relative;z-index:1;display:grid;grid-template-columns:minmax(360px,460px) minmax(440px,580px);grid-template-rows:auto 1fr auto;gap:28px 36px;align-content:start;overflow:visible;min-height:0;padding-top:36px;color:#fbfcff}.brand-lockup,.brand-intro,.orbit-header,.focus-band>div,.settings-panel,.account-chip,.logo-button,.nav-button,.primary-button,.secondary-button,.text-button,.status-pill,.admin-actions{display:flex;align-items:center}.brand-icon{display:block;width:44px;height:44px;border-radius:10px;object-fit:cover;box-shadow:0 12px 28px #061f542e}.auth-wordmark .auth-wordmark-icon{width:clamp(148px,8vw,190px);min-width:clamp(148px,8vw,190px);height:clamp(148px,8vw,190px);border-radius:30px;object-fit:cover}.auth-wordmark.compact .auth-wordmark-icon{width:72px;min-width:72px;height:72px;border-radius:18px}.brand-lockup-image{display:block;width:min(260px,70vw);height:auto;border-radius:8px}.access-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.auth-copy{display:grid;grid-column:1;align-self:start;gap:20px;padding-top:16px}.auth-copy h1{margin:0;max-width:700px;color:#fff;font-size:clamp(3.6rem,3.9vw,5.6rem);line-height:1.05;letter-spacing:0}.auth-copy h1 span{display:inline-block;margin-top:8px;background:linear-gradient(90deg,#1aa7ff,#8358ff 35%,#d875d6 63%,#ff6b3a);-webkit-background-clip:text;color:transparent}.auth-copy p{max-width:510px;margin:0;color:#ebf1ffc7;font-size:clamp(1.02rem,1.25vw,1.22rem);line-height:1.65}.auth-feature-grid{display:grid;grid-column:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2vw,38px);align-self:end}.auth-feature-grid article{display:grid;gap:10px;align-content:start}.auth-feature-grid svg{width:68px;height:68px;border:1px solid rgba(83,172,255,.45);border-radius:10px;padding:18px;color:#35d2ff;background:#1333686b;box-shadow:inset 0 0 28px #3175ff29}.auth-feature-grid article:nth-child(2) svg{color:#8d72ff;border-color:#ff70486b}.auth-feature-grid article:nth-child(3) svg{color:#8c64ff;border-color:#e554ff6b}.auth-feature-grid strong{color:#fff;font-size:1rem}.auth-feature-grid p{margin:0;color:#dfe8ffb3;line-height:1.5}.auth-trust-strip{display:flex;grid-column:1 / -1;gap:0;align-items:end;justify-content:space-between;color:#eaf1ffb8}.auth-trust-strip span{flex:0 0 210px;max-width:170px;font-size:1.08rem;line-height:1.45}.auth-trust-strip strong{flex:0 0 auto;color:#eaf1ff6b;font-family:Georgia,serif;font-size:clamp(1rem,1.05vw,1.48rem);letter-spacing:0;white-space:nowrap}.auth-dashboard-preview{grid-column:2;grid-row:1 / span 2;align-self:center;min-width:0;justify-self:start;perspective:1400px}.preview-shell{display:grid;grid-template-columns:104px 1fr;gap:14px;width:min(560px,100%);min-height:360px;border:1px solid rgba(35,112,255,.58);border-radius:12px;padding:15px;background:linear-gradient(135deg,#091b41f5,#040e23d1),#040c1ee6;box-shadow:0 34px 90px #001a8c7a,inset 0 0 60px #3576ff1a;transform:rotateY(-7deg) rotateX(3deg) rotate(-3deg);transform-origin:center}.preview-shell aside{display:grid;align-content:start;gap:7px}.preview-logo{width:82px;height:30px;object-fit:contain}.preview-shell aside span{border-radius:7px;padding:8px 9px;color:#edf6ffb3;font-size:.64rem;font-weight:800}.preview-shell aside span.active{color:#fff;background:linear-gradient(90deg,#0f8fea,#1656df)}.preview-shell main{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.preview-shell main header{grid-column:1 / -1;color:#fff;font-size:1.05rem}.preview-metrics{display:contents}.preview-metrics div,.preview-panel{border:1px solid rgba(115,154,224,.14);border-radius:8px;padding:11px;background:#ffffff0e}.preview-metrics span,.preview-bar-row span,.activity-card span{color:#e7efffb8;font-size:.66rem;font-weight:750}.preview-metrics strong{display:block;margin-top:7px;color:#fff;font-size:1.18rem}.preview-panel{display:grid;gap:10px;min-height:112px}.preview-panel strong{color:#fff}.timeline-card,.budget-card{grid-column:span 2}.preview-bar-row{display:grid;grid-template-columns:70px 1fr;gap:8px;align-items:center}.preview-bar-row i{display:block;width:var(--bar-width);height:9px;margin-left:var(--bar-offset);border-radius:999px;background:linear-gradient(90deg,#2f7cff,#29c8ff)}.preview-bar-row:nth-child(3) i{background:linear-gradient(90deg,#ff8c35,#ff5d73)}.preview-bar-row:nth-child(4) i{background:linear-gradient(90deg,#8b35ff,#c020ff)}.budget-ring{display:grid;width:96px;height:96px;place-items:center;justify-self:center;border-radius:999px;background:conic-gradient(#13c9c9 0 42%,#168dff 42% 72%,#ff7a2f 72% 88%,#c04fff 88% 100%)}.budget-ring span{display:grid;width:60px;height:60px;place-items:center;border-radius:999px;color:#fff;background:#091a3a;font-weight:900}.progress-card,.activity-card{grid-column:span 2}.progress-card{grid-template-columns:1fr auto}.progress-card em{color:#35ef98;font-size:1.25rem;font-style:normal;font-weight:900}.sparkline{grid-column:1 / -1;height:50px;border-radius:8px;background:linear-gradient(135deg,transparent 10%,rgba(89,83,255,.62) 11% 16%,transparent 17% 28%,rgba(27,171,255,.85) 29% 34%,transparent 35% 48%,rgba(121,63,255,.72) 49% 53%,transparent 54%),linear-gradient(to top,rgba(31,75,135,.3),transparent),#040d20b3}.activity-card span{display:block}.auth-panel{position:relative;z-index:2;display:grid;align-content:center;align-self:center;justify-self:stretch;gap:22px;min-height:min(640px,calc(100vh - 190px));border:1px solid rgba(166,190,255,.28);border-radius:18px;padding:clamp(28px,4vw,46px);color:#fff;background:linear-gradient(145deg,#132244c7,#0b1630b8);box-shadow:0 24px 80px #0000004d;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.centered-panel{min-height:auto;border:1px solid var(--line);border-radius:8px;box-shadow:0 24px 70px #061f541f}.access-debug{display:grid;grid-template-columns:minmax(120px,auto) minmax(0,1fr);gap:8px 12px;margin-top:18px;border:1px solid var(--line);border-radius:8px;padding:14px;background:var(--surface);text-align:left}.access-debug span{color:var(--muted);font-size:.78rem;font-weight:900;text-transform:uppercase}.access-debug strong{min-width:0;overflow-wrap:anywhere;color:var(--ink)}.auth-logo{margin-bottom:6px}.auth-panel h1,.page h1,.empty-state h1{margin:0;line-height:1.05;letter-spacing:0}.auth-panel h1{color:#fff;font-size:clamp(2rem,3.4vw,2.8rem)}.auth-panel p,.empty-state p,.focus-band p,.settings-panel p{color:var(--muted)}.auth-panel>div p{max-width:310px;color:#e8efffc2;line-height:1.5}.auth-form,.composer{display:grid;gap:14px}label{display:grid;gap:7px;color:#394359;font-size:.88rem;font-weight:700}.auth-panel label{color:#f5f8ffe6;font-weight:800}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:12px 13px;color:var(--ink);background:var(--field)}.auth-panel input{min-height:52px;border-color:#a2bcff6b;color:#fff;background:#040f2494;box-shadow:inset 0 0 0 1px #ffffff08}.auth-panel input::placeholder{color:#e0eaff80}.auth-panel .primary-button{min-height:54px;background:linear-gradient(90deg,#0f8fea,#0968d8);box-shadow:0 16px 34px #0f8fea47}.auth-panel .secondary-button{min-height:54px;color:#101a2e;background:#fff}.google-mark{display:grid;width:22px;height:22px;place-items:center;color:#4285f4;font-weight:950}.google-wordmark{display:inline;font-weight:inherit;letter-spacing:-.02em;white-space:nowrap}.google-wordmark-g1,.google-wordmark-g2{color:#4285f4}.google-wordmark-o1,.google-wordmark-e{color:#ea4335}.google-wordmark-o2{color:#fbbc05}.google-wordmark-l{color:#34a853}.google-calendar-label{display:inline;white-space:nowrap}.google-calendar-suffix{color:inherit}.auth-panel .text-button{color:#44a7ff}.auth-panel .form-error,.auth-panel .preview-note{color:#ffd2c2}textarea{resize:vertical}.primary-button,.secondary-button,.text-button{justify-content:center;gap:8px;min-height:44px;border-radius:8px;padding:0 16px;font-weight:800}.primary-button{border:0;color:#fff;background:var(--brand-navy)}.secondary-button{border:1px solid var(--line);color:var(--ink);background:var(--surface)}.text-button{border:0;color:var(--brand-blue);background:transparent}.primary-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.52}.compact{width:fit-content}.preview-note,.form-error{margin:0;font-size:.9rem}.form-error{color:#a13b2a}.form-success{margin:0;color:#167044;font-size:.9rem;font-weight:800}.app-shell{--sidebar-width: 260px;display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);min-height:100vh;background:var(--app-bg)}.sidebar{display:grid;grid-template-rows:auto minmax(0,1fr);gap:20px;position:sticky;top:0;align-self:start;height:100vh;max-height:100vh;padding:20px 16px 96px;border-right:1px solid color-mix(in srgb,var(--line) 88%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 96%,var(--soft)),var(--surface));box-shadow:inset -1px 0 color-mix(in srgb,var(--line) 40%,transparent);overflow:hidden}.logo-button{gap:10px;border:0;padding:4px 8px;border-radius:10px;color:var(--brand-navy);background:transparent;font-size:1.05rem;transition:background .14s ease}.logo-button:hover{background:color-mix(in srgb,var(--soft) 70%,transparent)}.sidebar-logo{width:38px;height:38px}nav{display:grid;align-content:start;gap:8px;min-height:0;overflow-y:auto;padding-right:2px}.sidebar-account-dock{position:fixed;left:0;bottom:0;z-index:40;width:var(--sidebar-width);padding:12px 16px 16px;border-top:1px solid color-mix(in srgb,var(--line) 88%,transparent);border-right:1px solid color-mix(in srgb,var(--line) 88%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 96%,var(--soft)),var(--surface));box-sizing:border-box}.sidebar-account-chip{display:flex;align-items:center}.sidebar-account-chip svg{flex-shrink:0;margin-left:auto;color:var(--muted)}.sidebar-account-chip:hover svg,.sidebar-account-chip.active svg{color:var(--brand-blue)}.nav-group{display:grid;gap:6px}.nav-group summary{display:flex;align-items:center;justify-content:space-between;min-height:34px;padding:0 10px;color:var(--muted);font-size:.76rem;font-weight:900;list-style:none;text-transform:uppercase;cursor:pointer}.nav-group summary::-webkit-details-marker{display:none}.nav-group summary svg{transition:transform .16s ease}.nav-group[open] summary svg{transform:rotate(90deg)}.nav-group-items{display:grid;gap:6px}.nav-button{justify-content:flex-start;gap:10px;height:40px;border:1px solid transparent;border-radius:10px;padding:0 12px;color:var(--muted);background:transparent;font-weight:800;transition:background .14s ease,border-color .14s ease,color .14s ease}.nav-button:hover{color:var(--ink);background:color-mix(in srgb,var(--soft) 72%,transparent)}.nav-button.active{color:var(--brand-navy);border-color:color-mix(in srgb,var(--brand-blue) 28%,var(--line));background:color-mix(in srgb,var(--brand-blue) 12%,var(--soft));box-shadow:inset 3px 0 0 var(--brand-blue)}.account-chip{gap:10px;min-width:0;width:100%;align-items:center;border:1px solid color-mix(in srgb,var(--line) 80%,transparent);border-radius:12px;padding:10px;color:var(--muted);font-size:.88rem;background:color-mix(in srgb,var(--soft) 55%,var(--surface));cursor:pointer;text-align:left}.account-chip:hover{border-color:color-mix(in srgb,var(--brand-blue) 34%,var(--line));background:color-mix(in srgb,var(--brand-blue) 6%,var(--soft))}.account-chip.active{border-color:color-mix(in srgb,var(--brand-blue) 42%,var(--line));background:color-mix(in srgb,var(--brand-blue) 10%,var(--soft));color:var(--ink)}.account-avatar{display:grid;flex-shrink:0;width:36px;height:36px;place-items:center;border-radius:10px;color:#fff;background:linear-gradient(145deg,var(--brand-blue),var(--brand-cyan));font-size:.92rem;font-weight:900}.account-meta{display:grid;min-width:0;gap:2px}.account-meta strong{overflow:hidden;color:var(--ink);font-size:.86rem;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.account-meta span,.account-chip>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace{min-width:0;background:radial-gradient(circle at 12% 0%,color-mix(in srgb,var(--brand-blue) 8%,transparent),transparent 34%),radial-gradient(circle at 88% 8%,color-mix(in srgb,var(--brand-cyan) 6%,transparent),transparent 30%),var(--app-bg)}.workspace-boot{display:grid;place-content:center;justify-items:center;gap:16px;min-height:calc(100vh - 68px);text-align:center}.workspace-boot h1{margin:0;font-size:clamp(1.6rem,3vw,2.2rem)}.workspace-boot p{margin:0;color:var(--muted);font-weight:800}.sidebar-boot .logo-button{cursor:default}.sidebar-boot-nav{display:grid;gap:10px;padding-top:8px}.sidebar-boot-line{display:block;height:42px;border-radius:8px;background:color-mix(in srgb,var(--soft) 82%,var(--line))}.sidebar-boot-line.short{width:72%}.work-schedule-tool{min-width:0;height:100vh;overflow:hidden;background:var(--bg, var(--app-bg))}.work-schedule-tool .app{width:100%;min-height:100%}.page{display:grid;gap:24px;padding:28px 30px 34px}.page-heading h1,.page h1{font-size:clamp(1.8rem,3.2vw,2.6rem);line-height:1.08}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.page-heading-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}.page-print-button{min-height:38px;white-space:nowrap}.dashboard-page{--dash-blue: #0a84ff;--dash-orange: #ff9f0a;--dash-red: #ff375f;--dash-purple: #bf5af2;--dash-green: #30d158;gap:22px}.dashboard-hero{container-type:inline-size;container-name:dashboard-hero;display:grid;gap:18px;border:1px solid color-mix(in srgb,var(--line) 72%,transparent);border-radius:16px;padding:20px 22px;background:radial-gradient(circle at 100% 0%,color-mix(in srgb,var(--dash-blue) 10%,transparent),transparent 34%),color-mix(in srgb,var(--surface) 96%,var(--app-bg));box-shadow:0 14px 34px #1018281a}.dashboard-hero-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.dashboard-greeting{min-width:0}.dashboard-greeting h1{margin:0;color:var(--ink);font-size:clamp(1.55rem,3.2vw,2.15rem);line-height:1.22;padding-bottom:.06em;overflow:visible}.dashboard-greeting p{margin:6px 0 0;color:var(--muted);font-size:.96rem;font-weight:700}.dashboard-topbar{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-shrink:0}.dashboard-topbar-anchor{position:relative}.dashboard-customize-btn{display:inline-flex;align-items:center;gap:12px;min-height:60px;border:1px solid color-mix(in srgb,var(--line) 78%,transparent);border-radius:12px;padding:0 22px;color:var(--ink);background:color-mix(in srgb,var(--surface) 92%,var(--soft));font-size:.96rem;font-weight:800;cursor:pointer}.dashboard-customize-btn svg{flex-shrink:0;color:var(--brand-blue)}.dashboard-customize-btn:hover,.dashboard-customize-btn.active{border-color:color-mix(in srgb,var(--dash-blue) 40%,var(--line));color:var(--dash-blue);background:color-mix(in srgb,var(--dash-blue) 10%,var(--surface))}.dashboard-customize-btn:hover svg,.dashboard-customize-btn.active svg{color:var(--dash-blue)}.dashboard-setup-popover{position:absolute;top:calc(100% + 8px);right:0;z-index:40;display:grid;gap:12px;width:min(360px,calc(100vw - 32px));border:1px solid color-mix(in srgb,var(--line) 78%,transparent);border-radius:14px;padding:14px;background:var(--surface);box-shadow:0 22px 48px #10182833}.dashboard-setup-popover-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.dashboard-setup-popover-head strong{color:var(--ink);font-size:.92rem}.dashboard-setup-close{display:grid;width:30px;height:30px;place-items:center;border:1px solid color-mix(in srgb,var(--line) 78%,transparent);border-radius:8px;color:var(--muted);background:color-mix(in srgb,var(--soft) 70%,var(--surface));cursor:pointer}.dashboard-setup-popover .dashboard-config-body{margin-top:0;border:0;padding:0;background:transparent;box-shadow:none;display:grid;gap:14px}.dashboard-widget-picker-label{margin:0 0 8px;color:var(--muted);font-size:.72rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.dashboard-widget-picker-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.dashboard-widget-pick{display:inline-flex;align-items:center;gap:8px;min-height:40px;border:1px solid color-mix(in srgb,var(--line) 76%,transparent);border-radius:10px;padding:8px 10px;color:var(--ink);background:color-mix(in srgb,var(--soft) 60%,var(--surface));font-size:.82rem;font-weight:800;text-align:left;cursor:pointer}.dashboard-widget-pick:hover{border-color:color-mix(in srgb,var(--dash-blue) 36%,var(--line));background:color-mix(in srgb,var(--dash-blue) 8%,var(--surface))}.dashboard-topbar-account{display:inline-flex;align-items:center;gap:10px;min-width:0;max-width:min(260px,44vw);min-height:60px;border:1px solid color-mix(in srgb,var(--line) 80%,transparent);border-radius:12px;padding:8px 14px 8px 8px;color:var(--muted);background:color-mix(in srgb,var(--soft) 55%,var(--surface));cursor:pointer}.dashboard-topbar-account-avatar{display:grid;flex-shrink:0;width:44px;height:44px;place-items:center;overflow:hidden;border-radius:12px;color:#fff;background:linear-gradient(145deg,var(--brand-blue),var(--brand-cyan));font-size:1rem;font-weight:900}.dashboard-topbar-account-avatar img{width:100%;height:100%;object-fit:cover}.dashboard-topbar-account strong{overflow:hidden;flex:1 1 auto;min-width:0;color:var(--ink);font-size:.88rem;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.dashboard-topbar-account svg{flex-shrink:0;color:var(--muted)}.dashboard-topbar-account:hover{border-color:color-mix(in srgb,var(--brand-blue) 34%,var(--line));background:color-mix(in srgb,var(--brand-blue) 6%,var(--soft))}.dashboard-topbar-account:hover svg{color:var(--brand-blue)}.dashboard-topbar-account.active{border-color:color-mix(in srgb,var(--brand-blue) 42%,var(--line));background:color-mix(in srgb,var(--brand-blue) 10%,var(--soft));color:var(--ink)}.dashboard-topbar-account.active svg{color:var(--brand-blue)}.dashboard-hero-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.08fr) minmax(0,1.28fr);align-items:stretch;gap:clamp(8px,1vw,12px)}.hero-metric-card{position:relative;display:flex;align-items:center;gap:12px;width:100%;min-width:0;min-height:74px;border:1px solid color-mix(in srgb,var(--line) 76%,transparent);border-radius:14px;padding:clamp(10px,1.2vw,12px) clamp(12px,1.4vw,14px);background:color-mix(in srgb,var(--surface) 94%,var(--soft))}.hero-metric-copy{display:grid;gap:4px;min-width:0}.hero-metric-count{color:var(--ink);font-size:1.35rem;font-weight:900;line-height:1}.hero-metric-label{color:var(--muted);font-size:.82rem;font-weight:800;line-height:1.2;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.hero-metric-icon{display:grid;flex-shrink:0;width:40px;height:40px;place-items:center;border-radius:12px}.hero-metric-text{margin:0;min-width:0;color:var(--ink);font-size:.86rem;font-weight:800;line-height:1.25}.hero-metric-card.reminders{border-color:color-mix(in srgb,var(--dash-orange) 34%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--dash-orange) 22%,var(--surface)),color-mix(in srgb,var(--dash-orange) 8%,var(--soft)))}.hero-metric-card.reminders .hero-metric-icon{width:52px;height:52px;border-radius:14px;color:var(--dash-orange);background:color-mix(in srgb,var(--dash-orange) 24%,#000000)}.hero-metric-card.meetings{border-color:color-mix(in srgb,var(--dash-blue) 34%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--dash-blue) 22%,var(--surface)),color-mix(in srgb,var(--dash-blue) 8%,var(--soft)))}.hero-metric-card.meetings .hero-metric-icon{width:52px;height:52px;border-radius:14px;color:var(--dash-blue);background:color-mix(in srgb,var(--dash-blue) 22%,#000000)}.hero-metric-card.bills{border-color:color-mix(in srgb,var(--dash-red) 34%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--dash-red) 22%,var(--surface)),color-mix(in srgb,var(--dash-red) 8%,var(--soft)))}.hero-metric-card.bills .hero-metric-icon{width:52px;height:52px;border-radius:14px;color:var(--dash-red);background:color-mix(in srgb,var(--dash-red) 22%,#000000)}.hero-metric-card.companion{display:grid;grid-template-columns:52px minmax(0,1fr);column-gap:14px;width:100%;min-width:0;max-width:none;padding:12px 14px;overflow:hidden;min-height:74px;align-items:center;border-color:color-mix(in srgb,var(--dash-purple) 42%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--dash-purple) 22%,var(--surface)),color-mix(in srgb,var(--dash-purple) 8%,var(--soft)))}.hero-metric-card.companion.has-companion-sprite{grid-template-columns:52px minmax(0,1fr) 96px;min-height:116px}.hero-metric-card.companion.species-emberling{border-color:color-mix(in srgb,var(--dash-orange) 42%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--dash-orange) 22%,var(--surface)),color-mix(in srgb,#ff6b35 10%,var(--soft)))}.hero-metric-card.companion .hero-metric-icon{grid-column:1;width:52px;height:52px;border-radius:14px;color:#fff;background:color-mix(in srgb,var(--dash-purple) 72%,#000000)}.hero-metric-card.companion.species-emberling .hero-metric-icon{background:color-mix(in srgb,var(--dash-orange) 78%,#000000)}.hero-metric-mood-lines{grid-column:2;display:grid;gap:3px;min-width:0}.hero-metric-text.companion-mood{margin:0;text-align:left;font-size:.94rem;font-weight:800;line-height:1.18;white-space:normal;overflow-wrap:anywhere}.hero-metric-card.companion.has-companion-sprite .hero-metric-text.companion-mood{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal}.hero-companion-mini{position:relative;grid-column:3;grid-row:1;display:grid;width:96px;min-height:92px;place-items:end center;justify-self:end;align-self:end;margin-bottom:1px;pointer-events:none;overflow:visible}.hero-companion-mini .companion-sprite-stage{width:76px;height:76px;margin:0;transform:scale(1.2);transform-origin:center bottom;overflow:visible}.hero-companion-mini .companion-sprite-viewport,.hero-companion-mini .companion-sprite-flip{overflow:visible}.hero-metric-card.companion.species-emberling .hero-companion-mini .companion-sprite-stage{transform:scale(1.2) translate(-2px)}.hero-metric-card.companion.species-sproutling .hero-companion-mini .companion-sprite-stage{transform:scale(1.2)}.hero-companion-mini .companion-sprite-flip{display:flex;align-items:flex-end;justify-content:center}.hero-companion-mini .companion-stage-badge,.hero-companion-mini .ember-foot-glow,.hero-companion-mini .sprout-foot-glow{display:none}.dashboard-schedule-card{position:relative;display:grid;align-content:center;gap:6px;width:100%;min-width:0;max-width:none;min-height:74px;border:1px solid color-mix(in srgb,var(--dash-blue) 30%,var(--line));border-radius:14px;padding:0;background:color-mix(in srgb,var(--surface) 94%,var(--soft));overflow:hidden;isolation:isolate;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.dashboard-schedule-card-body{position:relative;z-index:2;display:grid;gap:6px;padding:clamp(12px,1.4vw,14px) clamp(14px,1.6vw,16px);text-shadow:0 1px 10px color-mix(in srgb,var(--surface) 55%,transparent)}.dashboard-schedule-card.weather-scene-neutral .dashboard-schedule-card-body{text-shadow:none}.dashboard-schedule-weather-fx{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}.dashboard-schedule-weather-fx>*{opacity:0;transition:opacity .8s ease}.dashboard-schedule-card.weather-scene-hot{background:linear-gradient(135deg,color-mix(in srgb,#ff8a1f 22%,var(--surface)) 0%,color-mix(in srgb,#ff5e3a 12%,var(--surface)) 48%,var(--surface) 100%)}.dashboard-schedule-card.weather-scene-cold,.dashboard-schedule-card.weather-scene-snow{background:linear-gradient(160deg,color-mix(in srgb,#7eb8ff 18%,var(--surface)) 0%,color-mix(in srgb,#4a7fd4 8%,var(--surface)) 55%,var(--surface) 100%)}.dashboard-schedule-card.weather-scene-rain,.dashboard-schedule-card.weather-scene-storm{background:linear-gradient(180deg,color-mix(in srgb,#5d7a9a 24%,var(--surface)) 0%,color-mix(in srgb,#3f5670 10%,var(--surface)) 62%,var(--surface) 100%)}.dashboard-schedule-card.weather-scene-cloudy{background:linear-gradient(180deg,color-mix(in srgb,#8ea3b8 20%,var(--surface)) 0%,color-mix(in srgb,#6f8498 8%,var(--surface)) 58%,var(--surface) 100%)}.dashboard-schedule-card.weather-scene-clear{background:linear-gradient(145deg,color-mix(in srgb,#5eb0ff 16%,var(--surface)) 0%,color-mix(in srgb,#2f8fe8 6%,var(--surface)) 52%,var(--surface) 100%)}.dashboard-schedule-card.weather-scene-clear-night{background:linear-gradient(180deg,color-mix(in srgb,#1f3f7a 28%,var(--surface)) 0%,color-mix(in srgb,#14284f 14%,var(--surface)) 58%,var(--surface) 100%)}.scene-hot .schedule-fx-sun,.scene-clear .schedule-fx-sun{opacity:1}.schedule-fx-sun{position:absolute;top:-10px;right:14px;width:54px;height:54px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff6c8,#ffd93d 42%,#ff9f1a);box-shadow:0 0 18px #ffc43aa6,0 0 42px #ff8f1a59;animation:schedule-sun-pulse 4.5s ease-in-out infinite}.schedule-fx-sun:before,.schedule-fx-sun:after{content:"";position:absolute;inset:-14px;border-radius:50%;border:2px solid rgba(255,214,84,.28);animation:schedule-sun-rays 6s linear infinite}.schedule-fx-sun:after{inset:-22px;border-color:#ffd65424;animation-duration:8s;animation-direction:reverse}.scene-hot .schedule-fx-heat-shimmer{opacity:1}.schedule-fx-heat-shimmer{position:absolute;inset:auto 0 0;height:42%;background:linear-gradient(180deg,transparent 0%,rgba(255,140,40,.08) 55%,rgba(255,90,30,.14) 100%);animation:schedule-heat-shimmer 3.2s ease-in-out infinite}.scene-clear-night .schedule-fx-moon{opacity:1}.schedule-fx-moon{position:absolute;top:10px;right:18px;width:28px;height:28px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#f4f7ff,#d5def2 70%,#b8c4de);box-shadow:0 0 16px #d6e2ff73}.schedule-fx-star{position:absolute;width:2px;height:2px;border-radius:50%;background:#f4f8ff;box-shadow:0 0 6px #dcebffcc;animation:schedule-star-twinkle 2.8s ease-in-out infinite}.scene-cloudy .schedule-fx-cloud-field,.scene-rain .schedule-fx-cloud-field,.scene-storm .schedule-fx-cloud-field,.scene-hot .schedule-fx-cloud-field,.scene-clear .schedule-fx-cloud-field{opacity:1}.schedule-fx-cloud-field{position:absolute;inset:0 0 42%;overflow:hidden;pointer-events:none;opacity:0}.schedule-fx-cloud-drifter{position:absolute;top:var(--cloud-top, 8%);left:var(--cloud-travel-start, -12%);opacity:var(--cloud-opacity, .85);will-change:left,transform;animation:schedule-cloud-drift-ltr var(--cloud-duration, 46s) ease-in-out infinite alternate;animation-delay:var(--cloud-delay, 0s)}.schedule-fx-cloud-drifter.drift-rtl{animation-name:schedule-cloud-drift-rtl}.schedule-fx-cloud-puff{position:relative;display:block;flex-shrink:0;background:color-mix(in srgb,#f4f8fc 92%,transparent);border-radius:999px;box-shadow:inset 0 -2px 8px color-mix(in srgb,#c8d5e4 18%,transparent),0 2px 10px color-mix(in srgb,#9eb4cb 12%,transparent)}.schedule-fx-cloud-puff:before,.schedule-fx-cloud-puff:after{content:"";position:absolute;border-radius:50%;background:inherit;box-shadow:inherit}.schedule-fx-cloud-puff.size-sm{width:38px;height:14px;margin-top:10px}.schedule-fx-cloud-puff.size-sm:before{width:16px;height:16px;top:-9px;left:6px}.schedule-fx-cloud-puff.size-sm:after{width:14px;height:14px;top:-8px;right:5px}.schedule-fx-cloud-puff.size-md{width:52px;height:17px;margin-top:6px}.schedule-fx-cloud-puff.size-md:before{width:22px;height:22px;top:-13px;left:9px;box-shadow:20px 3px 0 -6px color-mix(in srgb,#edf3f9 92%,transparent),inset 0 -2px 8px color-mix(in srgb,#c8d5e4 18%,transparent)}.schedule-fx-cloud-puff.size-md:after{width:18px;height:18px;top:-11px;right:8px}.schedule-fx-cloud-puff.size-lg{width:68px;height:20px;margin-top:2px}.schedule-fx-cloud-puff.size-lg:before{width:28px;height:28px;top:-17px;left:10px;box-shadow:24px 4px 0 -8px color-mix(in srgb,#edf3f9 92%,transparent),-10px 6px 0 -10px color-mix(in srgb,#e3ebf4 88%,transparent),inset 0 -2px 8px color-mix(in srgb,#c8d5e4 18%,transparent)}.schedule-fx-cloud-puff.size-lg:after{width:24px;height:24px;top:-15px;right:9px;box-shadow:-18px 2px 0 -8px color-mix(in srgb,#e8eff6 90%,transparent),inset 0 -2px 8px color-mix(in srgb,#c8d5e4 18%,transparent)}.scene-storm .schedule-fx-cloud-puff{background:color-mix(in srgb,#d5dde8 90%,transparent)}.scene-rain .schedule-fx-cloud-puff{background:color-mix(in srgb,#e3eaf2 90%,transparent)}@keyframes schedule-cloud-drift-ltr{0%{left:var(--cloud-travel-start, -12%);transform:translateY(0)}50%{transform:translateY(-3px)}to{left:var(--cloud-travel-end, 94%);transform:translateY(2px)}}@keyframes schedule-cloud-drift-rtl{0%{left:var(--cloud-travel-start, 94%);transform:translateY(2px)}50%{transform:translateY(-3px)}to{left:var(--cloud-travel-end, -12%);transform:translateY(0)}}.scene-rain .schedule-fx-rain-layer,.scene-storm .schedule-fx-rain-layer{opacity:1}.schedule-fx-rain-layer{position:absolute;inset:0;background:linear-gradient(180deg,rgba(120,150,180,.12) 0%,rgba(120,150,180,.03) 45%,transparent 100%)}.schedule-fx-rain-layer:before,.schedule-fx-rain-layer:after{content:"";position:absolute;inset:-60% -15%;background-repeat:repeat;pointer-events:none}.schedule-fx-rain-layer:before{background-image:repeating-linear-gradient(118deg,transparent 0,transparent 14px,rgba(196,220,245,.16) 14px,rgba(196,220,245,.16) 15px,transparent 15px,transparent 26px);background-size:100% 28px;animation:schedule-rain-fall-a 1.05s linear infinite;filter:blur(.35px)}.schedule-fx-rain-layer:after{background-image:repeating-linear-gradient(118deg,transparent 0,transparent 20px,rgba(170,200,230,.1) 20px,rgba(170,200,230,.1) 21px,transparent 21px,transparent 34px);background-size:100% 36px;animation:schedule-rain-fall-b 1.45s linear infinite;filter:blur(.5px)}.scene-storm .schedule-fx-storm-layer{opacity:1}.schedule-fx-storm-layer{position:absolute;inset:0;background:linear-gradient(180deg,rgba(35,45,60,.28) 0%,rgba(35,45,60,.08) 55%,transparent 100%)}.scene-storm .schedule-fx-rain-layer:before{animation-duration:.72s;opacity:.95}.scene-storm .schedule-fx-rain-layer:after{animation-duration:.95s}.scene-storm .schedule-fx-lightning{opacity:1}.schedule-fx-lightning{position:absolute;inset:0;background:#ebf5ff00;animation:schedule-lightning-flash 7.5s ease-in-out infinite}.schedule-fx-snowflake{position:absolute;top:-8px;border-radius:50%;background:#f4faffeb;box-shadow:0 0 6px #dcecff8c;animation:schedule-snow-fall linear infinite}.scene-snow .schedule-fx-snowflake{opacity:1}.scene-cold .schedule-fx-snowflake{opacity:.75}@keyframes schedule-sun-pulse{0%,to{transform:scale(1);box-shadow:0 0 18px #ffc43aa6,0 0 42px #ff8f1a59}50%{transform:scale(1.06);box-shadow:0 0 24px #ffc43ad1,0 0 52px #ff8f1a7a}}@keyframes schedule-sun-rays{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes schedule-heat-shimmer{0%,to{transform:translateY(0);opacity:.55}50%{transform:translateY(-3px);opacity:.9}}@keyframes schedule-star-twinkle{0%,to{opacity:.25;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}@keyframes schedule-rain-fall-a{0%{transform:translateY(-18px)}to{transform:translateY(22px)}}@keyframes schedule-rain-fall-b{0%{transform:translateY(-24px)}to{transform:translateY(28px)}}@keyframes schedule-lightning-flash{0%,86%,to{background:#ebf5ff00}87%{background:#ebf5ff57}88%{background:#ebf5ff14}89%{background:#ebf5ff6b}90%{background:#ebf5ff00}}@keyframes schedule-snow-fall{0%{transform:translateY(-10px) translate(0)}to{transform:translateY(110px) translate(8px)}}.dashboard-schedule-card.is-urgent .dashboard-schedule-weather-fx{opacity:.42}@media(prefers-reduced-motion:reduce){.dashboard-schedule-weather-fx *,.dashboard-schedule-weather-fx:before,.dashboard-schedule-weather-fx:after{animation:none!important}.schedule-fx-cloud-drifter{animation:none!important}}.dashboard-schedule-card.is-urgent{border-color:color-mix(in srgb,var(--dash-red) 58%,var(--line));animation:dashboard-schedule-urgent-pulse 2.2s ease-in-out infinite}.dashboard-schedule-card.is-urgent:not(.weather-scene-neutral){animation-name:dashboard-schedule-urgent-pulse-border}@keyframes dashboard-schedule-urgent-pulse{0%,to{border-color:color-mix(in srgb,var(--dash-red) 42%,var(--line));box-shadow:0 0 color-mix(in srgb,var(--dash-red) 0%,transparent);background:color-mix(in srgb,var(--surface) 94%,var(--soft))}50%{border-color:color-mix(in srgb,var(--dash-red) 78%,var(--line));box-shadow:0 0 0 4px color-mix(in srgb,var(--dash-red) 16%,transparent);background:color-mix(in srgb,var(--dash-red) 7%,var(--surface))}}@keyframes dashboard-schedule-urgent-pulse-border{0%,to{border-color:color-mix(in srgb,var(--dash-red) 42%,var(--line));box-shadow:0 0 color-mix(in srgb,var(--dash-red) 0%,transparent)}50%{border-color:color-mix(in srgb,var(--dash-red) 78%,var(--line));box-shadow:0 0 0 4px color-mix(in srgb,var(--dash-red) 16%,transparent)}}.dashboard-schedule-card.is-urgent .dashboard-schedule-date,.dashboard-schedule-card.is-urgent .dashboard-schedule-weather-main,.dashboard-schedule-card.is-urgent .dashboard-schedule-weather-details{color:color-mix(in srgb,var(--dash-red) 72%,var(--ink))}.dashboard-schedule-date{color:var(--muted);font-size:.78rem;font-weight:800}.dashboard-schedule-countdown{display:grid;gap:2px;min-width:0}.dashboard-schedule-countdown-time,.dashboard-schedule-countdown:is(strong){color:var(--ink);font-size:1.02rem;font-weight:900;line-height:1.25}.dashboard-schedule-countdown-title{color:var(--muted);font-size:.8rem;font-weight:800;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-schedule-countdown.is-urgent .dashboard-schedule-countdown-time{color:var(--dash-red)}.dashboard-schedule-countdown.is-urgent .dashboard-schedule-countdown-title{color:color-mix(in srgb,var(--dash-red) 68%,var(--muted))}.dashboard-schedule-weather{display:grid;gap:2px}.dashboard-schedule-weather-main{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:.78rem;font-weight:800}.dashboard-schedule-weather-details{padding-left:20px;color:color-mix(in srgb,var(--muted) 88%,var(--ink));font-size:.72rem;font-weight:700;line-height:1.3}.dashboard-schedule-open{justify-self:start;margin-top:4px;min-height:36px;border-radius:10px;padding-inline:14px;font-size:.84rem;background:var(--dash-blue)}.dashboard-schedule-open:hover{background:color-mix(in srgb,var(--dash-blue) 86%,#000000)}@container dashboard-hero (max-width: 1040px){.dashboard-hero-strip{grid-template-columns:repeat(6,minmax(0,1fr))}.hero-metric-card.reminders{grid-column:1 / 3}.hero-metric-card.meetings{grid-column:3 / 5}.hero-metric-card.bills{grid-column:5 / 7}.hero-metric-card.companion{grid-column:1 / 4;grid-row:2;width:100%;max-width:none;min-width:0}.dashboard-schedule-card{grid-column:4 / 7;grid-row:2;max-width:none;min-width:0}}@container dashboard-hero (max-width: 720px){.hero-metric-card.reminders .hero-metric-icon,.hero-metric-card.meetings .hero-metric-icon,.hero-metric-card.bills .hero-metric-icon{width:44px;height:44px}.hero-metric-count{font-size:1.15rem}}@container dashboard-hero (max-width: 640px){.dashboard-hero-strip{grid-template-columns:minmax(0,1fr)}.hero-metric-card,.dashboard-schedule-card{grid-column:1 / -1;grid-row:auto}}.dashboard-widget-toolbar{display:flex;justify-content:flex-end;min-height:0}.dashboard-widget-toolbar .dashboard-config-panel{width:min(360px,100%)}.dashboard-command{display:block}.dashboard-widget-zone{display:grid;gap:14px;min-width:0}.dashboard-grid-host{position:relative;min-height:var(--dashboard-height, 360px);height:var(--dashboard-height, 360px)}.today-panel,.quick-panel{border:1px solid var(--line);border-radius:8px;background:var(--surface)}.today-panel{display:grid;gap:16px;padding:20px}.today-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.today-grid.single{grid-template-columns:1fr}.today-card{display:grid;gap:8px;min-height:132px;border:1px solid var(--line);border-left:5px solid var(--brand-blue);border-radius:8px;padding:16px;color:var(--ink);text-align:left;background:color-mix(in srgb,var(--surface) 88%,var(--soft))}.today-card.work{border-left-color:var(--brand-cyan)}.today-card.personal{border-left-color:var(--brand-orange)}.today-card.bills{border-left-color:#677389}.today-card.full{border-left-color:var(--brand-cyan)}.today-card span{color:var(--muted);font-size:.78rem;font-weight:900;text-transform:uppercase}.today-card strong{font-size:1.2rem;line-height:1.25}.today-card small{color:var(--muted);font-weight:800}.today-list{display:grid;gap:8px}.today-line{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center}.today-line strong,.today-line small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-meeting-pill{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;padding:8px 10px;border:1px solid color-mix(in srgb,var(--dash-blue) 72%,#000000);border-radius:10px;background:var(--dash-blue);color:#fff}.calendar-meeting-pill svg,.calendar-meeting-pill strong,.calendar-meeting-pill small{color:inherit}.quick-panel{display:grid;align-content:start;gap:10px;padding:18px}.dashboard-config-panel{position:relative;z-index:12;width:min(360px,100%)}.dashboard-config-panel details{display:grid;gap:12px}.dashboard-config-panel summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:58px;border:1px solid color-mix(in srgb,var(--line) 78%,transparent);border-radius:12px;padding:10px 14px;background:color-mix(in srgb,var(--surface) 92%,var(--soft));box-shadow:0 8px 20px #1018280f;cursor:pointer;list-style:none}.dashboard-config-panel summary::-webkit-details-marker{display:none}.dashboard-config-panel summary span{display:block;width:auto;min-width:0;height:auto;border-radius:0;color:inherit;background:transparent;font-weight:inherit}.dashboard-config-panel summary strong{display:block;color:var(--ink);font-size:.92rem;white-space:nowrap}.dashboard-config-panel details[open] summary svg{transform:rotate(90deg)}.dashboard-config-body{display:grid;gap:10px;margin-top:8px;border:1px solid var(--line);border-radius:8px;padding:12px;background:var(--surface);box-shadow:0 18px 42px #10182824}.dashboard-config-panel details:not([open]) .dashboard-config-body{display:none}.dashboard-heading-actions{display:flex;align-items:flex-start;justify-content:flex-end;gap:12px;margin-left:auto}.dashboard-add-widget{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.dashboard-add-widget select{min-width:0}.dashboard-selected-list,.mini-list{display:grid;gap:10px}.dashboard-selected-list{max-height:260px;overflow-y:auto;padding-right:3px}.dashboard-selected-item{display:grid;grid-template-columns:20px minmax(0,1fr) 32px;gap:8px;align-items:center;border:1px solid var(--line);border-radius:8px;padding:8px;color:var(--ink);background:color-mix(in srgb,var(--surface) 88%,var(--soft));font-weight:900}.dashboard-selected-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-selected-item button,.widget-print-button,.widget-remove-button{display:grid;width:32px;height:32px;place-items:center;border:0;border-radius:8px}.widget-print-button{color:var(--brand-navy);background:var(--soft)}.dashboard-selected-item button,.widget-remove-button{color:#9b3b20;background:#fff0e8}.empty-dashboard-panel{align-content:center;min-height:190px;color:var(--muted);text-align:center}.empty-dashboard-panel strong{color:var(--ink);font-size:1.1rem}.empty-dashboard-panel p{margin:0}.quick-panel button{display:flex;align-items:center;gap:10px;min-height:44px;border:1px solid var(--line);border-radius:8px;padding:10px 12px;color:var(--ink);background:var(--surface);font-weight:900;text-align:left}.quick-panel button:hover,.today-card:hover,.tool-card:hover,.dashboard-widget:hover{border-color:color-mix(in srgb,var(--brand-blue) 55%,var(--line));box-shadow:0 12px 28px #1018281a}.dashboard-widget-grid{position:relative;min-height:var(--dashboard-height, 360px);border:1px solid color-mix(in srgb,var(--line) 68%,transparent);border-radius:16px;padding:14px;background:color-mix(in srgb,var(--surface) 58%,var(--app-bg));background-image:linear-gradient(to right,color-mix(in srgb,var(--line) 18%,transparent) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in srgb,var(--line) 18%,transparent) 1px,transparent 1px);background-size:calc((100% - 28px) / 48) 30px;background-position:14px 14px}.dashboard-widget{position:absolute;display:grid;grid-template-rows:auto minmax(0,1fr) auto;align-content:stretch;gap:10px;min-height:0;border:1px solid color-mix(in srgb,var(--line) 72%,transparent);border-radius:14px;padding:14px 14px 16px;color:var(--ink);background:color-mix(in srgb,var(--surface) 96%,var(--soft));box-shadow:0 10px 24px #10182814;cursor:grab;overflow:hidden;-webkit-user-select:none;user-select:none;z-index:2;transition:border-color .12s ease,box-shadow .16s ease,opacity .12s ease,outline-color .12s ease,transform .12s ease}.dashboard-widget:active{cursor:grabbing}.dashboard-widget.dragging{opacity:.78;outline:2px dashed var(--brand-blue);z-index:20;box-shadow:0 18px 46px #10182838}.dashboard-widget.overlap-target{border-color:var(--brand-orange);outline:2px solid color-mix(in srgb,var(--brand-orange) 62%,transparent);box-shadow:0 0 0 5px color-mix(in srgb,var(--brand-orange) 18%,transparent)}.dashboard-widget.full{border-top-color:var(--brand-cyan)}.dashboard-widget:hover{border-color:color-mix(in srgb,var(--brand-blue) 42%,var(--line));box-shadow:0 16px 34px #1018281f,inset 0 1px color-mix(in srgb,#ffffff 28%,transparent)}.dashboard-widget.reminders-widget{border-color:color-mix(in srgb,var(--dash-orange) 34%,var(--line));grid-template-rows:auto minmax(0,1fr);container-type:inline-size}.dashboard-widget.reminders-widget.has-add-form{grid-template-rows:auto auto minmax(0,1fr)}.widget-print-button.active{color:var(--surface);background:var(--brand-blue)}.reminder-widget-form{display:grid;gap:8px;min-width:0}.reminder-quick-actions{display:flex;flex-wrap:wrap;gap:6px}.reminder-quick-actions button{min-height:30px;border:1px solid color-mix(in srgb,var(--brand-blue) 24%,var(--line));border-radius:999px;padding:0 10px;color:var(--brand-navy);background:color-mix(in srgb,var(--soft) 84%,transparent);font-size:.72rem;font-weight:900;white-space:nowrap}.reminder-quick-actions button:hover{border-color:var(--brand-blue);background:var(--soft)}.reminder-edit-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.reminder-edit-actions .reminder-widget-submit{width:100%}.reminder-widget-form>input{width:100%;min-width:0}.reminder-widget-form-meta{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;min-width:0}.reminder-widget-field{display:grid;gap:4px;min-width:0}.reminder-widget-field span{color:var(--muted);font-size:.68rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.reminder-widget-field input{width:100%;min-width:0}.reminder-scope-toggle{display:grid;grid-template-columns:1fr 1fr;gap:4px;min-width:0;border:1px solid var(--line);border-radius:8px;padding:3px;background:color-mix(in srgb,var(--soft) 88%,transparent)}.reminder-scope-toggle button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:34px;min-width:0;border:0;border-radius:6px;color:var(--muted);background:transparent;font-size:clamp(.68rem,2.8cqi,.76rem);font-weight:900}.reminder-scope-toggle button.active{color:var(--brand-navy);background:var(--surface);box-shadow:0 4px 12px #10182814}.reminder-scope-toggle button.active:first-child{color:#075464}.reminder-scope-toggle button.active:last-child{color:#7b3b00}.reminder-widget-submit{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;min-width:0}.reminder-widget-error{margin:0;font-size:.82rem}.reminder-widget-list{display:grid;gap:8px;min-height:0;overflow-y:auto;padding-right:4px;padding-bottom:18px;scrollbar-gutter:stable;align-content:start}.reminder-widget-row{display:grid;grid-template-columns:30px minmax(0,1fr) 30px;gap:clamp(6px,1.6cqi,8px);align-items:center;border:1px solid color-mix(in srgb,var(--line) 72%,transparent);border-radius:8px;padding:8px;background:color-mix(in srgb,var(--surface) 88%,var(--soft))}.reminder-widget-row.editing{display:block;padding:10px}.reminder-widget-row-body{min-width:0;border:0;padding:0;color:inherit;background:transparent;text-align:left;cursor:pointer}.reminder-widget-row-body:hover strong{color:var(--brand-blue)}.reminder-widget-row.overdue .reminder-widget-row-body:hover strong{color:#8f1a12}.reminder-widget-row.overdue{border-color:color-mix(in srgb,#c62828 42%,var(--line));background:color-mix(in srgb,#fff1f1 72%,var(--surface))}.reminder-widget-row .icon-check{width:30px;height:30px}.reminder-widget-row.overdue .icon-check{color:#b42318;border-color:color-mix(in srgb,#c62828 35%,var(--line))}.reminder-widget-row-body .row-title{margin-bottom:2px}.reminder-widget-row-body strong,.reminder-widget-row-body small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reminder-widget-row-body small{color:var(--muted);font-size:.78rem;font-weight:800}.reminder-widget-row.overdue strong,.reminder-widget-row.overdue small{color:#b42318}.reminder-widget-row .scope-badge{flex-shrink:0;font-size:.66rem;padding:2px 6px}.reminder-widget-trash{display:grid;width:30px;height:30px;place-items:center;border:0;border-radius:8px;color:#9b3b20;background:#fff0e8}@container (max-width: 220px){.reminder-scope-toggle button{gap:0;font-size:0}.reminder-scope-toggle button svg{margin:0}}.dashboard-widget.bills,.dashboard-widget.app-widget{border-color:color-mix(in srgb,var(--dash-red) 34%,var(--line))}.dashboard-widget.shopping-widget{border-color:color-mix(in srgb,var(--dash-green) 34%,var(--line));grid-template-rows:auto auto minmax(0,1fr)}.dashboard-widget.chore-widget{border-color:color-mix(in srgb,var(--dash-orange) 34%,var(--line));grid-template-rows:auto minmax(0,1fr) auto}.dashboard-widget.focus-widget{border-color:color-mix(in srgb,var(--dash-blue) 34%,var(--line))}.dashboard-widget.meal-widget,.dashboard-widget.task-widget{border-color:color-mix(in srgb,var(--dash-green) 34%,var(--line))}.dashboard-widget.companion-widget{border-color:color-mix(in srgb,var(--dash-purple) 38%,var(--line));min-height:0;overflow:hidden;grid-template-rows:auto minmax(0,1fr);z-index:2}.dashboard-widget.companion-widget:has(.companion-accessory-menu.is-open){z-index:24}.dashboard-widget p{margin:0;color:var(--muted);font-weight:750;line-height:1.4}.widget-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:8px;border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.widget-title-button{display:inline-flex;align-items:center;min-width:0;gap:10px;border:0;padding:0;color:var(--ink);background:transparent;text-align:left}.widget-title-icon{display:grid;flex-shrink:0;width:30px;height:30px;place-items:center;border-radius:8px;color:var(--brand-navy);background:color-mix(in srgb,var(--soft) 84%,var(--surface))}.dashboard-widget.reminders-widget .widget-title-icon{color:var(--dash-orange);background:color-mix(in srgb,var(--dash-orange) 14%,var(--surface))}.dashboard-widget.bills .widget-title-icon{color:var(--dash-red);background:color-mix(in srgb,var(--dash-red) 12%,var(--surface))}.dashboard-widget.shopping-widget .widget-title-icon,.dashboard-widget.task-widget .widget-title-icon{color:#0f9f52;background:color-mix(in srgb,var(--dash-green) 12%,var(--surface))}.dashboard-widget.companion-widget .widget-title-icon{color:#9b30e8;background:color-mix(in srgb,var(--dash-purple) 14%,var(--surface))}.widget-title-button strong{overflow:hidden;font-size:.95rem;text-overflow:ellipsis;white-space:nowrap}.widget-actions{display:inline-flex;align-items:center;gap:6px}.widget-resize-handle{position:absolute;right:6px;bottom:6px;width:30px;height:30px;border:0;border-right:3px solid color-mix(in srgb,var(--brand-blue) 62%,var(--line));border-bottom:3px solid color-mix(in srgb,var(--brand-blue) 62%,var(--line));border-radius:0 0 5px;background:transparent;cursor:nwse-resize;touch-action:none;z-index:4}.widget-note-preview{align-self:start;border:1px dashed color-mix(in srgb,var(--brand-cyan) 60%,var(--line));border-radius:8px;padding:12px;color:var(--ink);background:color-mix(in srgb,var(--brand-cyan) 9%,var(--surface));font-weight:900}.dashboard-widget input,.dashboard-widget textarea{-webkit-user-select:text;user-select:text}.dashboard-mini-form{display:grid;grid-template-columns:minmax(0,1fr) 38px;gap:8px}.dashboard-mini-form .primary-button{width:38px;min-width:38px;padding:0}.mini-list-row{display:grid;grid-template-columns:18px minmax(0,1fr) minmax(72px,max-content);gap:8px;align-items:center;border:1px solid color-mix(in srgb,var(--line) 72%,transparent);border-radius:8px;padding:9px;color:var(--ink);background:color-mix(in srgb,var(--surface) 88%,var(--soft));text-align:left}.mini-list-row strong,.mini-list-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mini-list-row small{color:var(--muted);font-weight:800}.shopping-widget{container-type:inline-size}.shopping-widget .mini-list{min-height:0;max-height:none;overflow-y:auto;padding-right:8px;padding-bottom:22px;scrollbar-gutter:stable;display:grid;gap:10px}.shopping-widget-section{display:grid;gap:6px}.shopping-widget-section-title{margin:0;padding:0 2px;color:var(--brand-navy);font-size:clamp(.68rem,2.4cqi,.76rem);font-weight:900;letter-spacing:.05em;text-transform:uppercase}.shopping-widget-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(3.1rem,4.75rem) 30px;gap:clamp(6px,1.6cqi,8px);align-items:center;border:1px solid color-mix(in srgb,var(--line) 72%,transparent);border-radius:8px;padding:clamp(7px,1.8cqi,9px) clamp(8px,2cqi,10px);background:color-mix(in srgb,var(--surface) 88%,var(--soft))}.shopping-widget-row-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(.8rem,3.2cqi,.92rem);font-weight:800;line-height:1.25}.shopping-widget-qty{width:100%;min-width:0;min-height:30px;margin:0;border:1px solid color-mix(in srgb,var(--line) 78%,transparent);border-radius:6px;padding:4px 6px;color:var(--ink);background:var(--field);font-size:clamp(.74rem,2.8cqi,.84rem);font-weight:700;line-height:1.2;text-align:center}.shopping-widget-qty::placeholder{color:var(--muted);font-weight:700}.shopping-widget-qty:focus{outline:none;border-color:color-mix(in srgb,var(--brand-blue) 52%,var(--line));box-shadow:0 0 0 2px color-mix(in srgb,var(--brand-blue) 14%,transparent)}.shopping-widget-row .icon-check{width:30px;height:30px;min-width:30px;padding:0;justify-self:end}.shopping-widget-row.done{opacity:.72}.shopping-widget-row.done .shopping-widget-row-name{text-decoration:line-through}.shopping-widget-row.done .shopping-widget-qty{opacity:.85}@container (max-width: 220px){.shopping-widget-row{grid-template-columns:minmax(0,1fr) minmax(2.8rem,3.6rem) 28px}.shopping-widget-row .icon-check{width:28px;height:28px;min-width:28px}}.eyebrow{margin:0 0 8px;color:var(--muted);font-size:.78rem;font-weight:900;text-transform:uppercase}.tool-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}.tool-section{display:grid;gap:14px}.tool-section h2{margin:0;color:#394359;font-size:.95rem;letter-spacing:0}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.section-heading h2,.section-heading p{margin:0}.section-heading h2{color:var(--ink);font-size:1rem}.section-heading p{color:var(--muted);font-size:.92rem}.section-heading span{display:inline-flex;align-items:center;justify-content:center;min-width:30px;min-height:28px;height:auto;padding:4px 12px;border-radius:999px;color:var(--brand-navy);background:var(--soft);font-size:.82rem;font-weight:900;line-height:1.2;white-space:nowrap;text-align:center}.section-heading .status-pill{display:flex;width:auto;height:auto;min-height:34px}.settings-panel,.empty-state,.theme-panel,.reminder-panel,.reminder-form,.composer,.schedule-list,.shopping-form,.shopping-panel,.admin-form,.admin-requests-panel,.admin-table{border-radius:14px}.tool-card{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto auto auto;align-items:center;gap:10px 14px;min-height:198px;border:1px solid color-mix(in srgb,var(--line) 80%,transparent);border-radius:14px;padding:20px;color:var(--ink);text-align:left;background:color-mix(in srgb,var(--surface) 94%,var(--soft));box-shadow:0 10px 24px #1018280f;transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}.tool-card>svg:first-child{width:42px;height:42px;border:1px solid var(--line);border-radius:8px;padding:9px;color:var(--brand-navy);background:var(--soft)}.tool-card span{justify-self:start;border-radius:999px;padding:4px 8px;color:#4b5870;background:#eef3fa;font-size:.74rem;font-weight:900}.tool-card strong{grid-column:1 / -1;font-size:1.32rem;line-height:1.1}.tool-card p{grid-column:1 / -1;margin:0;color:var(--muted);font-size:.94rem;line-height:1.35}.tool-card small{grid-column:1;align-self:end;color:var(--brand-navy);font-weight:900}.tool-card>svg:last-child{grid-column:2;grid-row:4;justify-self:end;align-self:end}.tool-card.green{border-top:4px solid var(--brand-cyan)}.tool-card.blue{border-top:4px solid var(--brand-blue)}.tool-card.amber{border-top:4px solid var(--brand-orange)}.tool-card.slate{border-top:4px solid #677389}.focus-band{display:grid;gap:8px;border:1px solid color-mix(in srgb,var(--line) 76%,transparent);border-radius:14px;padding:16px 18px;background:color-mix(in srgb,var(--soft) 62%,var(--surface))}.focus-band>div{gap:10px;color:var(--ink)}.focus-band strong{font-size:.98rem}.focus-band p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.45}.reminder-panel,.reminder-form{border:1px solid var(--line);border-radius:8px;background:var(--surface)}.reminder-form{display:grid;grid-template-columns:minmax(260px,1fr) 132px 166px 132px auto;gap:12px;align-items:end;padding:18px}.reminder-form>label{min-width:0}.reminder-form .wide-field{grid-column:1 / 5}.reminder-form .primary-button{grid-column:5}.reminder-panel{display:grid;gap:12px;padding:18px}.reminder-list{display:grid;gap:10px}.reminder-list.compact-list{gap:8px}.reminder-row{display:grid;grid-template-columns:38px minmax(0,1fr) 38px;gap:12px;align-items:center;border:1px solid color-mix(in srgb,var(--line) 72%,transparent);border-radius:8px;padding:12px;background:color-mix(in srgb,var(--surface) 88%,var(--soft))}.reminder-row.editing{display:block;padding:12px}.reminder-list-row-body{min-width:0;border:0;padding:0;color:inherit;background:transparent;text-align:left;cursor:pointer}.reminder-list-row-body:disabled{cursor:default}.reminder-list-row-body:not(:disabled):hover .row-title strong{color:var(--brand-blue)}.reminder-row.overdue .reminder-list-row-body:not(:disabled):hover .row-title strong{color:#8f1a12}.reminder-row.mini{grid-template-columns:84px minmax(0,1fr);padding:10px}.reminder-row.done{opacity:.68}.reminder-row.done strong{text-decoration:line-through}.reminder-row.overdue{border-color:color-mix(in srgb,#c62828 42%,var(--line));background:color-mix(in srgb,#fff1f1 72%,var(--surface))}.reminder-row.overdue .row-title strong,.reminder-row.overdue span{color:#b42318}.reminder-row.overdue .icon-check{color:#b42318;border-color:color-mix(in srgb,#c62828 35%,var(--line))}.reminder-row .row-title,.reminder-row span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-title{display:flex;align-items:center;gap:8px}.row-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reminder-row span{color:var(--muted);font-size:.85rem;font-weight:750}.filter-bar{display:flex;flex-wrap:wrap;gap:10px}.filter-bar button{display:inline-flex;align-items:center;gap:8px;min-height:38px;border:1px solid var(--line);border-radius:8px;padding:0 12px;color:var(--ink);background:var(--surface);font-weight:900;text-transform:capitalize}.filter-bar button.active{border-color:var(--brand-blue);color:var(--brand-navy);background:var(--soft)}.scope-badge{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:3px 8px;color:var(--brand-navy);background:#e8f6fb;font-size:.72rem;font-style:normal;font-weight:900;text-transform:capitalize;white-space:nowrap}.scope-badge.personal{color:#7b3b00;background:#fff0dc}.scope-badge.work{color:#075464;background:#e3f8fb}.icon-check{display:grid;width:38px;height:38px;place-items:center;border:1px solid var(--line);border-radius:8px;color:var(--brand-blue);background:var(--surface)}.wide-field{min-width:0}.empty-copy{margin:0;color:var(--muted)}.shopping-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:18px;align-items:start}.shopping-main,.shopping-groups,.shopping-list,.shopping-email-panel{display:grid;gap:14px}.shopping-form,.shopping-panel,.shopping-email-panel{border:1px solid var(--line);border-radius:8px;background:var(--surface)}.shopping-form{display:grid;grid-template-columns:minmax(220px,1fr) 160px 180px auto;gap:12px;align-items:end;padding:18px}.shopping-form>label{min-width:0}.shopping-panel,.shopping-email-panel{padding:18px}.shopping-email-panel{position:sticky;top:22px}.shopping-email-panel h2,.shopping-email-panel p,.shopping-group h3{margin:0}.shopping-email-panel p{color:var(--muted)}.shopping-group{display:grid;gap:8px}.shopping-group h3{color:var(--muted);font-size:.84rem;font-weight:900;text-transform:uppercase}.shopping-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid color-mix(in srgb,var(--line) 72%,transparent);border-radius:8px;padding:12px;background:color-mix(in srgb,var(--surface) 88%,var(--soft))}.shopping-row-actions{display:inline-flex;align-items:center;gap:6px}.icon-button.edit-button{color:var(--brand-navy);background:var(--soft)}.shopping-edit-form{display:grid;gap:12px}.shopping-edit-form label{display:grid;gap:6px;font-weight:800}.shopping-edit-form input,.shopping-edit-form select{min-height:40px;border:1px solid var(--line);border-radius:8px;padding:0 12px;color:var(--ink);background:var(--field, var(--surface));font:inherit}.shopping-row-spacer{width:82px;height:38px}.shopping-row.done{opacity:.68}.shopping-row.done strong{text-decoration:line-through}.shopping-row strong,.shopping-row span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shopping-row span{color:var(--muted);font-size:.85rem;font-weight:750}.focus-band>div{gap:10px}.settings-panel p{margin:0}.schedule-layout{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:20px;align-items:start}.composer,.schedule-list,.settings-panel,.empty-state{border:1px solid var(--line);border-radius:8px;background:var(--surface)}.composer{padding:18px}.time-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.schedule-list{display:grid;gap:10px;padding:12px}.schedule-item{display:grid;grid-template-columns:96px minmax(0,1fr) 40px;gap:14px;align-items:center;border:1px solid #e9edf4;border-radius:8px;padding:14px;background:#fff}.schedule-item strong,.schedule-item span,.schedule-item p{display:block}.schedule-item p{margin:8px 0 0;color:var(--muted)}.time-block{display:grid;gap:4px;color:var(--brand-navy)}.time-block span{font-weight:900}.time-block small{color:var(--muted)}.icon-button{display:grid;width:38px;height:38px;place-items:center;border:0;border-radius:8px;color:#9b3b20;background:#fff0e8}.status-pill{gap:8px;min-height:34px;border-radius:999px;padding:0 12px;color:var(--brand-navy);background:var(--soft);border:1px solid color-mix(in srgb,var(--line) 80%,transparent);font-weight:900}.admin-form{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(220px,1.2fr) minmax(150px,.7fr) minmax(140px,.7fr) auto;gap:12px;align-items:end;border:1px solid var(--line);border-radius:8px;padding:18px;background:var(--surface)}.admin-requests-panel{display:grid;gap:12px;border:1px solid var(--line);border-radius:8px;padding:16px;background:var(--surface)}.admin-section-heading,.admin-request-card{display:flex;align-items:center;justify-content:space-between;gap:14px}.admin-section-heading h2{margin:2px 0 0;color:var(--ink);font-size:1.08rem}.admin-request-list{display:grid;gap:10px}.admin-request-card{min-width:0;border:1px solid var(--line);border-radius:8px;padding:12px;background:color-mix(in srgb,var(--surface) 88%,var(--soft))}.admin-table{display:grid;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.admin-row{display:grid;grid-template-columns:minmax(220px,1fr) 150px 140px minmax(220px,auto);gap:12px;align-items:center;padding:14px 16px;border-top:1px solid #edf0f6}.admin-row:first-child{border-top:0}.admin-head{color:#5c687d;background:#f6f8fc;font-size:.8rem;font-weight:900;text-transform:uppercase}.user-cell{display:grid;min-width:0;gap:4px}.user-cell strong,.user-cell small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-cell small{color:var(--muted)}.admin-actions{justify-content:flex-end;gap:8px}.admin-access-controls{display:grid;grid-column:1 / -1;grid-template-columns:repeat(2,minmax(220px,1fr));gap:12px;border-top:1px dashed var(--line);padding-top:12px}.admin-access-controls .admin-companion-accessories{grid-column:1 / -1}.admin-access-menu{display:grid;min-width:0}.admin-access-menu summary{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);border-radius:8px;padding:10px 12px;color:var(--ink);background:color-mix(in srgb,var(--surface) 90%,var(--soft));cursor:pointer;list-style:none}.admin-access-menu summary::-webkit-details-marker{display:none}.admin-access-menu summary span{display:grid;gap:2px}.admin-access-menu summary strong{font-size:.92rem}.admin-access-menu summary small{color:var(--muted);font-weight:850}.admin-access-menu[open] summary svg{transform:rotate(90deg)}.admin-access-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin-top:8px}.admin-access-menu:not([open]) .admin-access-list{display:none}.admin-app-toggle{display:flex;align-items:center;gap:8px;min-height:38px;border:1px solid var(--line);border-radius:8px;padding:8px 10px;color:var(--muted);background:color-mix(in srgb,var(--surface) 86%,var(--soft));font-weight:850}.admin-app-toggle.enabled{border-color:color-mix(in srgb,var(--brand-cyan) 48%,var(--line));color:var(--ink);background:color-mix(in srgb,var(--brand-cyan) 10%,var(--surface))}.admin-app-toggle input{width:16px;height:16px;accent-color:var(--brand-blue)}.admin-companion-accessories-body{display:grid;gap:12px;margin-top:8px}.admin-companion-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.admin-companion-bulk-actions{display:flex;flex-wrap:wrap;gap:8px}.admin-companion-slot-filters{display:flex;flex-wrap:wrap;gap:6px}.admin-companion-slot-filter{min-height:32px;border:1px solid var(--line);border-radius:999px;padding:0 12px;color:var(--muted);background:color-mix(in srgb,var(--surface) 88%,var(--soft));font-size:.78rem;font-weight:850}.admin-companion-slot-filter.is-active{border-color:color-mix(in srgb,var(--brand-cyan) 48%,var(--line));color:var(--ink);background:color-mix(in srgb,var(--brand-cyan) 12%,var(--surface))}.admin-companion-loading{display:flex;align-items:center;gap:10px;min-height:72px;color:var(--muted);font-weight:850}.admin-companion-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px;max-height:min(420px,52vh);overflow:auto;padding-right:2px}.admin-companion-item{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:58px;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:color-mix(in srgb,var(--surface) 90%,var(--soft))}.admin-companion-item.rarity-common{border-color:color-mix(in srgb,#31b85b 28%,var(--line))}.admin-companion-item.rarity-rare{border-color:color-mix(in srgb,#1f7aff 32%,var(--line))}.admin-companion-item.rarity-legendary{border-color:color-mix(in srgb,#ff8a1f 38%,var(--line))}.admin-companion-item.is-unlocked{background:color-mix(in srgb,var(--brand-cyan) 8%,var(--surface))}.admin-companion-item.is-special{box-shadow:inset 0 0 0 1px color-mix(in srgb,#ff8a1f 24%,transparent)}.admin-companion-item-copy{display:grid;gap:4px;min-width:0}.admin-companion-item-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.88rem}.admin-companion-item-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.admin-companion-rarity{border-radius:999px;padding:2px 8px;font-size:.68rem;font-weight:900;letter-spacing:.02em;text-transform:uppercase}.admin-companion-rarity.rarity-common{color:#1d8c42;background:color-mix(in srgb,#31b85b 16%,var(--surface))}.admin-companion-rarity.rarity-rare{color:#1768cf;background:color-mix(in srgb,#1f7aff 14%,var(--surface))}.admin-companion-rarity.rarity-legendary{color:#c75a00;background:color-mix(in srgb,#ff8a1f 18%,var(--surface))}.admin-companion-slot{color:var(--muted);font-size:.72rem;font-weight:850}.admin-companion-special{display:inline-flex;align-items:center;gap:4px;color:#c75a00;font-size:.68rem;font-weight:900}.admin-companion-toggle{flex-shrink:0;min-width:68px;min-height:34px;border:1px solid var(--line);border-radius:999px;padding:0 12px;color:var(--muted);background:color-mix(in srgb,var(--surface) 84%,var(--soft));font-size:.76rem;font-weight:900}.admin-companion-toggle.is-on{border-color:color-mix(in srgb,#31b85b 42%,var(--line));color:#1d8c42;background:color-mix(in srgb,#31b85b 12%,var(--surface))}.admin-companion-toggle:disabled{opacity:.55;cursor:not-allowed}.admin-access-menu summary.disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.status-select.active{border-color:#a8dbc2;background:var(--success-bg)}.status-select.paused{border-color:#f2d28b;background:var(--warning-bg)}.status-select.blocked{border-color:#efb2a8;background:var(--danger-bg)}.empty-inline{padding:22px;color:var(--muted)}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-state,.settings-panel{gap:14px;padding:22px}.settings-form-panel,.theme-panel,.settings-admin-panel{display:grid;gap:16px;border:1px solid var(--line);border-radius:8px;padding:22px;background:var(--surface)}.settings-admin-head{display:flex;align-items:center;gap:14px}.settings-admin-head p{margin:4px 0 0;color:var(--muted)}.settings-admin-head .status-pill{margin-left:auto}.settings-admin-panel .admin-form,.settings-admin-panel .admin-requests-panel,.settings-admin-panel .admin-table{margin-top:0}.settings-admin-accordion{border:1px solid var(--line);border-radius:8px;background:var(--surface);overflow:hidden}.settings-admin-summary{display:flex;align-items:center;gap:14px;padding:22px;cursor:pointer;list-style:none}.settings-admin-summary::-webkit-details-marker{display:none}.settings-admin-summary p{margin:4px 0 0;color:var(--muted)}.settings-admin-chevron{margin-left:auto;color:var(--muted);transition:transform .2s ease}.settings-admin-accordion[open] .settings-admin-chevron{transform:rotate(90deg)}.settings-admin-accordion[open] .settings-admin-summary{border-bottom:1px solid var(--line)}.settings-admin-content{display:grid;gap:16px;padding:22px}.settings-form-head,.theme-panel-head{display:flex;align-items:center;gap:14px}.settings-form-head p,.theme-panel-head p{margin:4px 0 0;color:var(--muted)}.settings-field{display:grid;gap:6px;max-width:min(100%,320px)}.settings-field span{color:var(--muted);font-size:.78rem;font-weight:900;letter-spacing:.03em;text-transform:uppercase}.settings-field input{width:100%;min-height:42px;border:1px solid var(--line);border-radius:10px;padding:0 12px;color:var(--ink);background:color-mix(in srgb,var(--surface) 94%,var(--soft));font:inherit;font-weight:700}.settings-form-actions{display:flex;justify-content:flex-start}.theme-variants{display:grid;gap:14px}.theme-variants-label{margin:0;color:var(--ink);font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.theme-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;width:100%}.theme-choice{display:grid;gap:12px;width:100%;min-width:0;padding:0;border:none;color:var(--ink);text-align:center;background:transparent;cursor:pointer}.theme-choice-preview{position:relative;display:grid;align-content:start;gap:6px;width:100%;min-height:210px;border:2px solid color-mix(in srgb,var(--line) 80%,transparent);border-radius:18px;padding:14px 12px 12px;overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.theme-choice:hover .theme-choice-preview{transform:translateY(-2px)}.theme-choice.active .theme-choice-preview{border-color:color-mix(in srgb,var(--brand-blue) 88%,#ffffff);box-shadow:0 0 0 1px color-mix(in srgb,var(--brand-blue) 40%,transparent),0 0 24px color-mix(in srgb,var(--brand-blue) 34%,transparent),0 16px 28px #1018282e}.theme-choice-logo{width:34px;height:34px;border-radius:8px}.theme-choice-preview>strong{color:inherit;font-size:1.35rem;line-height:1;letter-spacing:-.02em}.theme-choice-preview>small{color:inherit;font-size:.68rem;font-weight:700;line-height:1.35;opacity:.92}.theme-choice-swatches{display:inline-flex;align-items:center;gap:7px;margin-top:auto;padding:7px 10px;border-radius:999px;background:#080c1457;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:inset 0 0 0 1px #ffffff14}.theme-choice-swatches span{width:16px;height:16px;border-radius:999px;border:1px solid rgba(255,255,255,.22);box-shadow:0 1px 3px #0000002e}.theme-choice-check{position:absolute;right:10px;bottom:10px;display:grid;place-items:center;width:28px;height:28px;border-radius:999px;color:#fff;background:linear-gradient(145deg,var(--brand-blue),color-mix(in srgb,var(--brand-blue) 70%,var(--brand-cyan)));box-shadow:0 4px 12px color-mix(in srgb,var(--brand-blue) 42%,transparent)}.theme-choice-label{font-size:.92rem;line-height:1.2;font-weight:800}.theme-choice.dark .theme-choice-preview{color:#edf4ff;background:linear-gradient(180deg,rgba(116,185,255,.1) 0%,transparent 38%),radial-gradient(circle at 14% 86%,rgba(22,118,255,.34),transparent 52%),linear-gradient(150deg,#07111f,#10213a 32%,#1a3560 58%,#0a1628 78%,#060d19);background-size:100% 100%,145% 145%,240% 240%;animation:theme-preview-dark 12s ease-in-out infinite}.theme-choice.ocean .theme-choice-preview{color:#f0fcff;background:linear-gradient(180deg,rgba(255,255,255,.12) 0%,transparent 34%),radial-gradient(circle at 88% 100%,rgba(38,179,255,.4),transparent 46%),linear-gradient(150deg,#06243d,#0b4c72 38%,#1479c9 62%,#072238);background-size:100% 100%,135% 135%,250% 250%;animation:theme-preview-ocean 9s ease-in-out infinite}.theme-choice.forest .theme-choice-preview{color:#f2fff8;background:linear-gradient(180deg,rgba(180,255,210,.1) 0%,transparent 36%),radial-gradient(circle at 90% 8%,rgba(82,174,142,.28),transparent 46%),linear-gradient(150deg,#0e2a1e,#194431 40%,#2a6648 62%,#0e261c);background-size:100% 100%,140% 140%,235% 235%;animation:theme-preview-forest 14s ease-in-out infinite}.theme-choice.sunset .theme-choice-preview{color:#fff4ff;background:linear-gradient(180deg,rgba(255,200,160,.12) 0%,transparent 34%),radial-gradient(circle at 90% 92%,rgba(255,121,66,.48),transparent 40%),linear-gradient(150deg,#2e1748,#4a246d 42%,#7a3a5a 64%,#361741);background-size:100% 100%,130% 130%,245% 245%;animation:theme-preview-sunset 10s ease-in-out infinite}.theme-choice.pride .theme-choice-preview{color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.35);background:linear-gradient(180deg,rgba(255,255,255,.18) 0%,transparent 36%),linear-gradient(125deg,#e40303,#f24700,#ff8c00,#ffae00,#ffed00,#d4e800,#7fd100,#008026,#1d6fff,#244bff,#5a3dcc,#732982 88%,#e40303);background-size:100% 100%,320% 320%;animation:theme-preview-pride 22s linear infinite}.theme-choice.pride.active .theme-choice-preview{border-color:#ff8c00;box-shadow:0 0 0 1px #ff8c0073,0 0 28px #e4030347,0 0 36px #244bff38,0 16px 28px #1018282e}.theme-choice.pride .theme-choice-swatches{background:#ffffff47;box-shadow:inset 0 0 0 1px #ffffff59}.theme-choice.light .theme-choice-preview{color:#19284d;border-color:#d3deef;background:linear-gradient(180deg,rgba(255,255,255,.55) 0%,transparent 38%),radial-gradient(circle at 92% 94%,rgba(101,167,255,.42),transparent 38%),linear-gradient(150deg,#f9fbff,#eef4ff 45%,#dce8ff 68%,#e9f0fb);background-size:100% 100%,125% 125%,230% 230%;animation:theme-preview-light 13s ease-in-out infinite}.theme-choice.light .theme-choice-swatches{background:#ffffffb8;box-shadow:inset 0 0 0 1px #0f8fea1f}@keyframes theme-preview-dark{0%,to{background-position:0% 50%,14% 86%,0% 50%}50%{background-position:0% 50%,78% 18%,100% 50%}}@keyframes theme-preview-ocean{0%,to{background-position:0% 50%,88% 100%,0% 50%}50%{background-position:0% 50%,12% 72%,100% 50%}}@keyframes theme-preview-forest{0%,to{background-position:0% 50%,90% 8%,0% 50%}50%{background-position:0% 50%,18% 82%,100% 50%}}@keyframes theme-preview-sunset{0%,to{background-position:0% 50%,90% 92%,0% 50%}50%{background-position:0% 50%,16% 24%,100% 50%}}@keyframes theme-preview-pride{0%{background-position:0% 50%,0% 50%}to{background-position:0% 50%,100% 50%}}@keyframes theme-preview-light{0%,to{background-position:0% 50%,92% 94%,0% 50%}50%{background-position:0% 50%,8% 18%,100% 50%}}@media(prefers-reduced-motion:reduce){.dashboard-schedule-card.is-urgent,.theme-choice .theme-choice-preview{animation:none!important}}.empty-state{display:grid;min-height:280px;place-content:center;text-align:center}@media(max-width:920px){.auth-page,.app-shell,.schedule-layout{grid-template-columns:1fr}.auth-page{overflow:auto;padding:24px;row-gap:24px}.auth-header{display:grid;gap:12px}.auth-nav{flex-wrap:wrap;padding-top:0}.auth-visual{grid-template-columns:minmax(0,1fr);gap:28px;min-height:0;padding-top:10px}.auth-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.auth-dashboard-preview{grid-column:1;grid-row:auto;justify-self:center}.preview-shell{width:min(720px,100%);transform:none}.auth-trust-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-panel{min-height:auto}.sidebar{position:sticky;top:0;z-index:5;grid-template-columns:auto 1fr;grid-template-rows:auto auto;height:auto;max-height:none;padding:16px 16px 12px;border-right:0;border-bottom:1px solid var(--line)}.sidebar-account-dock{position:fixed;left:12px;bottom:12px;width:auto;min-width:0;max-width:min(240px,calc(100vw - 24px));padding:0;border:0;background:transparent}.sidebar-account-chip{box-shadow:0 10px 24px #10182829}.sidebar nav{grid-column:1 / -1;display:flex;align-items:center;gap:6px;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}.sidebar nav .nav-group{flex:0 0 auto}.sidebar nav .nav-group summary,.nav-button{flex-shrink:0;white-space:nowrap}.nav-button.active{box-shadow:inset 0 -3px 0 var(--brand-blue)}.account-chip{justify-self:end;max-width:200px;padding:8px 10px}.sidebar-account-dock .account-chip{justify-self:stretch;max-width:none}.account-chip .account-meta span{display:none}.dashboard-widget-toolbar{justify-content:stretch}.dashboard-config-panel{width:100%}.tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-hero,.dashboard-command,.shopping-layout{grid-template-columns:1fr}.dashboard-hero-top{flex-direction:column}.dashboard-topbar{width:100%;justify-content:flex-start;flex-wrap:wrap}.dashboard-setup-popover{right:0;left:auto}.dashboard-widget-grid{grid-template-columns:repeat(12,minmax(28px,1fr))}}@media(max-width:560px){.auth-page,.auth-panel,.page{padding:22px}.auth-page:after{inset:4px}.auth-header-logo .brand-lockup-image{width:min(260px,82vw)}.auth-nav{display:none}.auth-copy h1{font-size:clamp(2.5rem,13vw,4rem)}.auth-feature-grid,.auth-trust-strip{grid-template-columns:1fr}.auth-dashboard-preview{display:none}.page-heading{align-items:flex-start;flex-direction:column}.dashboard-hero{padding:16px;gap:14px}.hero-metric-label{font-size:.8rem}.dashboard-schedule-open{width:100%;justify-self:stretch}.tool-grid,.today-grid,.dashboard-widget-grid,.time-row,.reminder-form,.shopping-form,.admin-form,.admin-row{grid-template-columns:1fr}.dashboard-selected-item{grid-template-columns:20px minmax(0,1fr) 32px}.admin-access-controls{grid-template-columns:1fr}.dashboard-grid-host{height:auto!important;min-height:0}.dashboard-widget-grid{display:grid;gap:12px;min-height:0;padding:10px;background-image:none}.dashboard-widget{position:relative!important;top:auto!important;left:auto!important;width:auto!important;height:auto!important;min-height:180px;cursor:default}.account-chip{max-width:none;padding:6px 8px}.sidebar-account-dock .account-chip .account-meta{display:grid}.account-chip .account-meta{display:none}.theme-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.theme-choice-preview{min-height:188px}.section-heading{flex-direction:column;align-items:flex-start;gap:10px}.section-heading .status-pill{align-self:flex-start}.admin-actions{justify-content:flex-start;flex-wrap:wrap}.reminder-form .wide-field,.reminder-form .primary-button{grid-column:auto}.shopping-email-panel{position:static}.schedule-item{grid-template-columns:1fr auto}.time-block{grid-column:1 / -1;grid-template-columns:auto auto 1fr;align-items:center}}@media(max-width:640px){.theme-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.theme-choice-preview{min-height:168px}}
