:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#f2f2f7;--bg-elevated:#fff;--fill:#7878801f;--fill-2:#78788033;--separator:#3c3c432e;--label:#000;--label-2:#3c3c43bf;--label-3:#3c3c4399;--tint:#000;--on-tint:#fff;--brand:#3b5683;--brand-gradient:linear-gradient(145deg, #3b5683, #16233d);--brand-shadow:#16233d66;--photo-bg:#e9e9ee;--glass-bg:#ffffff85;--glass-strong:#ffffffc7;--glass-edge:#ffffffe6;--glass-edge-2:#ffffff40;--glass-shadow:0 10px 34px #0000001f, 0 2px 6px #0000000f;--clean:#34c759;--worn:#a2845e;--dirty:#ff9500;--washing:#007aff;--drying:#5ac8fa;--dryCleaning:#af52de;--away:#8e8e93;--danger:#d70015;--danger-fill:#d70015;--r-xl:34px;--r-lg:24px;--r-md:16px;--r-sm:12px;--font:-apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro", system-ui, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--font-display:-apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro", system-ui, sans-serif;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--spring:cubic-bezier(.34, 1.4, .64, 1);--spring-smooth:cubic-bezier(.2, .9, .25, 1);--spring-bouncy:cubic-bezier(.34, 1.56, .64, 1);--ease:cubic-bezier(.25, .9, .3, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.3, 0, .8, .15);--spring-travel:cubic-bezier(.4, .1, .2, 1.04);--r-device:44px}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@supports (transition-timing-function:linear(0, 1)){:root{--spring:linear(0, .0228, .0805, .1598, .2504, .3451, .4384, .5268, .6081, .6808, .7447, .7996, .8461, .8847, .9162, .9415, .9615, .9769, .9885, .997, 1.003, 1.0069, 1.0094, 1.0107, 1.0111, 1.0109, 1.0103, 1.0095, 1.0085, 1.0074, 1.0064, 1.0054, 1.0045, 1.0037, 1.0029, 1.0023, 1.0018, 1.0013, 1.001, 1.0007, 1);--spring-smooth:linear(0, .0217, .0751, .1465, .2266, .309, .3895, .4656, .5357, .5993, .656, .7062, .75, .7881, .821, .8493, .8734, .8939, .9113, .9259, .9383, .9487, .9574, .9647, .9707, .9758, .98, .9835, .9864, .9888, .9908, .9924, .9938, .9949, .9958, .9966, .9972, .9977, .9981, .9985, 1);--spring-travel:linear(0, .0158, .0572, .1163, .1867, .2635, .3426, .421, .4966, .5678, .6337, .6935, .7471, .7945, .8358, .8714, .9016, .927, .9481, .9652, .979, .9898, .9982, 1.0044, 1.0089, 1.012, 1.0139, 1.0149, 1.0152, 1.0149, 1.0143, 1.0134, 1.0123, 1.0112, 1.01, 1.0088, 1.0076, 1.0066, 1.0056, 1.0046, 1);--spring-bouncy:linear(0, .0343, .12, .2353, .3635, .4922, .613, .7206, .8121, .8869, .9453, .9888, 1.0193, 1.0389, 1.0498, 1.054, 1.0534, 1.0496, 1.0438, 1.037, 1.0299, 1.0232, 1.0171, 1.0118, 1.0074, 1.004, 1.0013, .9994, .9982, .9975, .9971, .9971, .9972, .9975, .9979, .9982, .9986, .999, .9993, .9995, 1)}}@property --glow{syntax:"<number>";inherits:false;initial-value:0}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#000;--bg-elevated:#1c1c1e;--fill:#7878803d;--fill-2:#7878805c;--separator:#54545899;--label:#fff;--label-2:#ebebf599;--label-3:#ebebf580;--tint:#fff;--on-tint:#000;--brand:#9fb3da;--photo-bg:#1c1c1e;--glass-bg:#28282c7a;--glass-strong:#2c2c30d1;--glass-edge:#ffffff52;--glass-edge-2:#ffffff0f;--glass-shadow:0 10px 34px #00000080, 0 2px 6px #0000004d;--clean:#30d158;--worn:#ac8e68;--dirty:#ff9f0a;--washing:#0a84ff;--drying:#64d2ff;--dryCleaning:#bf5af2;--away:#98989d;--danger:#ff453a}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#000;--bg-elevated:#1c1c1e;--fill:#7878803d;--fill-2:#7878805c;--separator:#54545899;--label:#fff;--label-2:#ebebf599;--label-3:#ebebf580;--tint:#fff;--on-tint:#000;--brand:#9fb3da;--photo-bg:#1c1c1e;--glass-bg:#28282c7a;--glass-strong:#2c2c30d1;--glass-edge:#ffffff52;--glass-edge-2:#ffffff0f;--glass-shadow:0 10px 34px #00000080, 0 2px 6px #0000004d;--clean:#30d158;--worn:#ac8e68;--dirty:#ff9f0a;--washing:#0a84ff;--drying:#64d2ff;--dryCleaning:#bf5af2;--away:#98989d;--danger:#ff453a}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-accent=blue]{--tint:#0069db;--on-tint:#fff}@media (prefers-color-scheme:dark){:root:not([data-theme=light])[data-accent=blue]{--tint:#0a84ff;--on-tint:#000}}:root[data-theme=dark][data-accent=blue]{--tint:#0a84ff;--on-tint:#000}:root[data-accent=indigo]{--tint:#5856d6;--on-tint:#fff}@media (prefers-color-scheme:dark){:root:not([data-theme=light])[data-accent=indigo]{--tint:#7978ea;--on-tint:#000}}:root[data-theme=dark][data-accent=indigo]{--tint:#7978ea;--on-tint:#000}:root[data-accent=pink]{--tint:#d12546;--on-tint:#fff}@media (prefers-color-scheme:dark){:root:not([data-theme=light])[data-accent=pink]{--tint:#ff375f;--on-tint:#000}}:root[data-theme=dark][data-accent=pink]{--tint:#ff375f;--on-tint:#000}:root[data-accent=orange]{--tint:#c93400;--on-tint:#fff}@media (prefers-color-scheme:dark){:root:not([data-theme=light])[data-accent=orange]{--tint:#ff9f0a;--on-tint:#000}}:root[data-theme=dark][data-accent=orange]{--tint:#ff9f0a;--on-tint:#000}:root[data-accent=green]{--tint:#217d38;--on-tint:#fff}@media (prefers-color-scheme:dark){:root:not([data-theme=light])[data-accent=green]{--tint:#30d158;--on-tint:#000}}:root[data-theme=dark][data-accent=green]{--tint:#30d158;--on-tint:#000}:root[data-accent=brown]{--tint:#81694b;--on-tint:#fff}@media (prefers-color-scheme:dark){:root:not([data-theme=light])[data-accent=brown]{--tint:#ac8e68;--on-tint:#000}}:root[data-theme=dark][data-accent=brown]{--tint:#ac8e68;--on-tint:#000}:root{--tile-min:158px}:root[data-grid=compact]{--tile-min:108px}:root[data-grid=large]{--tile-min:220px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{background:var(--bg);color:var(--label);font:17px/1.35 var(--font);letter-spacing:-.012em;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;margin:0}html{touch-action:manipulation}body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}input,textarea,[contenteditable=true]{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}img,a{-webkit-user-drag:none}button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}button{cursor:pointer}img{display:block}a{color:inherit}.glass{background:radial-gradient(circle at var(--gx,50%) var(--gy,50%), rgb(255 255 255/calc(var(--glow) * .5)), transparent calc(var(--glow) * 130%)), var(--glass-bg);-webkit-backdrop-filter:blur(14px)saturate(190%)brightness(1.05);backdrop-filter:blur(14px)saturate(190%)brightness(1.05);box-shadow:var(--glass-shadow), inset 0 1px .5px -.5px var(--glass-edge), inset 0 -1px .5px -.5px var(--glass-edge-2), inset 0 0 6px 0 #ffffff14;isolation:isolate;transition:--glow .6s var(--ease-out), transform .5s var(--spring), background-color .25s;position:relative}.glass:before{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(135deg, var(--glass-edge) 0%, transparent 34%, transparent 66%, var(--glass-edge-2) 100%);padding:1px;position:absolute;inset:0;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor,source-over;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}.glass:after{content:"";border-radius:inherit;pointer-events:none;z-index:-1;opacity:.75;background:radial-gradient(130% 70% at 50% -10%,#ffffff52,#0000 62%),radial-gradient(90% 60% at 50% 120%,#ffffff1a,#0000 70%);position:absolute;inset:0}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .glass:after{opacity:.22}}:root[data-theme=dark] .glass:after{opacity:.22}.glass.strong{background-color:var(--glass-strong);background-image:radial-gradient(circle at var(--gx,50%) var(--gy,50%), rgb(255 255 255/calc(var(--glow) * .5)), transparent calc(var(--glow) * 130%))}.glass.clear{background:radial-gradient(circle at var(--gx,50%) var(--gy,50%), rgb(255 255 255/calc(var(--glow) * .45)), transparent calc(var(--glow) * 130%)), #00000029;-webkit-backdrop-filter:blur(10px)saturate(160%)brightness(1.08);backdrop-filter:blur(10px)saturate(160%)brightness(1.08);color:#fff;--glass-edge:#ffffffa6;--glass-edge-2:#ffffff2e;box-shadow:0 6px 18px #00000029,inset 0 1px .5px -.5px #ffffffb3}.glass.clear:after{opacity:.35}.glass.lit{--glow:1;transition:--glow .12s var(--ease-out), transform .5s var(--spring)}.glass.press{transition:--glow .6s var(--ease-out), scale .5s var(--spring-bouncy), translate .55s var(--spring-bouncy), background-color .25s}.glass.press.lit{transition:--glow .12s var(--ease-out), scale .16s var(--ease-out), translate 80ms linear, background-color .25s}@media (prefers-reduced-transparency:reduce){.glass,.glass.clear{background:var(--bg-elevated);color:var(--label);-webkit-backdrop-filter:none;backdrop-filter:none}}@media (prefers-contrast:more){.glass{box-shadow:0 0 0 1px var(--label-2), var(--glass-shadow)}}.app{min-height:100%}.main{padding:calc(var(--safe-top) + 6px) 0 calc(var(--safe-bottom) + 110px)}.tab-screen[hidden]{content-visibility:hidden;height:0;display:block;overflow:hidden}@media (width<=899px){.main{box-sizing:border-box;min-height:calc(100lvh + 1px)}}.page{max-width:1180px;margin:0 auto;padding:0 20px}.page.narrow{max-width:760px}.page.flush{padding:0}.large-title{font-family:var(--font-display);letter-spacing:-.025em;margin:6px 0 14px;font-size:34px;font-weight:700;line-height:1.12}.headline{font-weight:600}.title-2{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:22px;font-weight:700}.section-header{font-family:var(--font-display);letter-spacing:-.02em;justify-content:space-between;align-items:center;gap:12px;margin:30px 0 12px;font-size:22px;font-weight:700;display:flex}.section-header small{font:400 15px var(--font);color:var(--label-2);letter-spacing:-.01em}.footnote{color:var(--label-2);letter-spacing:-.005em;font-size:13px}.secondary{color:var(--label-2)}.subhead{color:var(--label-2);font-size:15px}.tabbar-wrap{left:0;right:0;bottom:calc(var(--safe-bottom) + 12px);z-index:30;pointer-events:none;justify-content:center;align-items:center;padding:0 12px;display:flex;position:fixed}@media (width<=360px){.tab{width:58px;font-size:10px}}.tabbar{pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;transition:padding .4s var(--spring), --glow .6s var(--ease-out);border-radius:999px;padding:5px;display:flex;position:relative}.tab{z-index:1;letter-spacing:0;width:68px;height:56px;color:var(--label);transition:width .45s var(--spring), height .45s var(--spring), color .25s;border-radius:999px;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:1px;font-size:10.5px;font-weight:600;text-decoration:none;display:flex;position:relative}.tab[aria-current=page]{color:var(--tint)}:root:not([data-accent]) .tab[aria-current=page],:root[data-accent=graphite] .tab[aria-current=page]{color:var(--label)}.tab-icon{transition:transform .45s var(--spring);place-items:center;display:grid;position:relative}.tab svg{stroke-width:1.9px;width:24px;height:24px}.tab:active .tab-icon{transform:scale(.86)}.tab-label{transition:opacity .2s, max-height .35s var(--spring);max-height:14px;overflow:hidden}.tabbar{--lx:5px;--sx:1;--lw:68px;--box-x:1.24;--box-y:1.34;--mag:1.12}.tab-lens{z-index:0;height:calc(100% - 10px);width:var(--lw);pointer-events:none;background:var(--fill-2);translate:var(--lx) 0;scale:var(--sx) 1;transition:translate .42s var(--spring), scale .42s var(--spring), background-color .3s var(--ease), box-shadow .3s var(--ease);will-change:translate, scale;border-radius:999px;position:absolute;top:5px;left:0;overflow:hidden}.tab-lens-mag{--m:var(--mag);transform-origin:50%;scale:calc(var(--m) / var(--box-x) / var(--sx)) calc(var(--m) / var(--box-y));position:absolute;inset:0}.tab-lens-mag.center{-webkit-mask-image:radial-gradient(closest-side,#000 62%,#0000 82%);mask-image:radial-gradient(closest-side,#000 62%,#0000 82%)}.tab-lens-mag.edge{--m:calc(var(--mag) * 1.16);-webkit-mask-image:radial-gradient(closest-side,#0000 62%,#000 80%);mask-image:radial-gradient(closest-side,#0000 62%,#000 80%)}.tab-lens-mag.red{--m:calc(var(--mag) * 1.185);opacity:.32}.tab-lens-mag.blue{--m:calc(var(--mag) * 1.135);opacity:.32}.tab-lens-mag.red .tab-lens-row{color:#ff375f}.tab-lens-mag.blue .tab-lens-row{color:#0a84ff}.tab-lens-row .tab{color:inherit}.tab-lens-row{translate:calc(-1 * var(--lx)) 0;transition:translate .42s var(--spring);color:var(--tint);opacity:0;padding:5px;display:flex;position:absolute;top:-5px;left:0}:root:not([data-accent]) .tab-lens-row,:root[data-accent=graphite] .tab-lens-row{color:var(--label)}.tab-lens-row .tab-badge{display:none}.tab-lens:before{content:"";border-radius:inherit;opacity:0;transition:opacity .12s var(--ease-out);background:conic-gradient(from 200deg,#ff6eb48c,#ffd75a80,#6eebd280,#64a0ff8c,#c878ff80,#ff6eb48c);padding:1.25px;position:absolute;inset:0;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor,source-over;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}.tab-lens:after{content:"";border-radius:inherit;opacity:0;transition:opacity .12s var(--ease-out);background:radial-gradient(closest-side,#0000 72%,#00000012 88%,#00000005 97%,#0000 100%);position:absolute;inset:0;box-shadow:inset 0 1.5px 1px -.5px #fffffff2,inset 0 -1.5px 1px -.5px #ffffffb3,inset 1px 0 1px -.5px #0000001f,inset -1px 0 1px -.5px #0000001f}.tabbar.pressing .tab-lens{z-index:2;scale:calc(var(--sx) * var(--box-x)) var(--box-y);transition:translate var(--travel,.4s) var(--spring-travel), scale .16s var(--ease-out), background-color .12s, box-shadow .12s;background-color:#ffffff1a;box-shadow:0 8px 22px #00000024,0 1px 4px #00000014}.tabbar.pressing .tab-lens-row{opacity:1;transition:translate var(--travel,.4s) var(--spring-travel), opacity 80ms}.tabbar.pressing .tab-lens:before,.tabbar.pressing .tab-lens:after{opacity:1}.tabbar{--half:calc(var(--lw) * var(--box-x) * var(--sx) / 2);--hl:calc(var(--lx) + var(--lw) / 2 - var(--half) + 6px);--hr:calc(var(--lx) + var(--lw) / 2 + var(--half) - 6px)}.tabbar.pressing>.tab{-webkit-mask-image:linear-gradient(to right, #000 calc(var(--hl) - var(--tl,0px) - 8px), transparent calc(var(--hl) - var(--tl,0px)), transparent calc(var(--hr) - var(--tl,0px)), #000 calc(var(--hr) - var(--tl,0px) + 8px));-webkit-mask-image:linear-gradient(to right, #000 calc(var(--hl) - var(--tl,0px) - 8px), transparent calc(var(--hl) - var(--tl,0px)), transparent calc(var(--hr) - var(--tl,0px)), #000 calc(var(--hr) - var(--tl,0px) + 8px));mask-image:linear-gradient(to right, #000 calc(var(--hl) - var(--tl,0px) - 8px), transparent calc(var(--hl) - var(--tl,0px)), transparent calc(var(--hr) - var(--tl,0px)), #000 calc(var(--hr) - var(--tl,0px) + 8px))}.tabbar.dragging .tab-lens{transition:translate 60ms linear, scale .12s var(--ease-out), background-color .12s, box-shadow .12s}.tabbar.dragging .tab-lens-row{transition:translate 60ms linear,opacity 80ms}.tabbar.glass{-webkit-backdrop-filter:blur(10px)saturate(200%)brightness(1.06);backdrop-filter:blur(10px)saturate(200%)brightness(1.06);background-color:#ffffff61}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .tabbar.glass{background-color:#1c1c1e73}}:root[data-theme=dark] .tabbar.glass{background-color:#1c1c1e73}.tab{-webkit-user-drag:none}.tab.over{color:var(--tint)}:root:not([data-accent]) .tab.over,:root[data-accent=graphite] .tab.over{color:var(--label)}.tab-badge{background:var(--danger-fill);color:#fff;text-align:center;min-width:18px;height:18px;box-shadow:0 0 0 2px var(--bg);animation:pop .45s var(--spring);border-radius:999px;padding:0 5px;font-size:11px;font-weight:700;line-height:18px;position:absolute;top:-5px;left:15px}@keyframes pop{0%{transform:scale(.3)}to{transform:none}}.tabbar.compact .tab{width:54px;height:44px}.tabbar.compact .tab-label{opacity:0;max-height:0}.scroll-edge-bottom{z-index:29;pointer-events:none;height:calc(var(--safe-bottom) + 96px);background:linear-gradient(to top, color-mix(in srgb, var(--bg) 94%, transparent) 30%, color-mix(in srgb, var(--bg) 60%, transparent) 62%, transparent);transition:opacity .3s var(--ease);position:fixed;bottom:0;left:0;right:0}:root[data-sheets] .scroll-edge-bottom{opacity:0}@media (prefers-reduced-transparency:reduce){.scroll-edge-bottom{-webkit-backdrop-filter:none;backdrop-filter:none}}@media (width>=900px){.scroll-edge-bottom{display:none}.tabbar-wrap{top:calc(var(--safe-top) + 14px);bottom:auto}.tab{flex-direction:row;gap:7px;width:auto;height:42px;padding:0 18px;font-size:15px}.tab svg{width:20px;height:20px}.tab-label{max-height:none}.tabbar.compact .tab{width:auto;height:42px}.tabbar.compact .tab-label{opacity:1;max-height:none}.main{padding-top:calc(var(--safe-top) + 80px);padding-bottom:60px}}.press{translate:var(--px,0px) var(--py,0px);transition:scale .5s var(--spring-bouncy), translate .55s var(--spring-bouncy), background-color .25s, color .25s}.press.touching{transition:scale .16s var(--ease-out), translate 80ms linear, background-color .25s, color .25s;scale:calc(.95 * var(--sx2,1)) calc(.95 / var(--sx2,1))}.tile.press.touching{scale:.97}.glass.press.touching{scale:calc(1.05 * var(--sx2,1)) calc(1.05 / var(--sx2,1))}.icon-btn{width:46px;height:46px;color:var(--label);border:0;border-radius:50%;place-items:center;padding:0;display:inline-grid}.icon-btn svg{stroke-width:2px;width:22px;height:22px}.icon-btn.small{width:40px;height:40px}.icon-btn.small svg{width:18px;height:18px}.btn-group{border-radius:999px;padding:0;display:inline-flex}.btn-group .icon-btn{box-shadow:none;background:0 0}.btn-group .icon-btn:before,.btn-group .icon-btn:after{display:none}.btn{background:var(--tint);min-height:50px;color:var(--on-tint);border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 22px;font-size:17px;font-weight:600;display:inline-flex}.btn:disabled{opacity:.32}.btn svg{stroke-width:2.1px;width:20px;height:20px}.btn.tinted{background:var(--fill);color:var(--label)}.btn.glassy{color:var(--label)}.btn.destructive{background:var(--fill);color:var(--danger)}.btn.small{min-height:40px;padding:0 16px;font-size:15px}.btn.small svg{width:16px;height:16px}.btn.block{width:100%}.text-btn{color:var(--label);background:0 0;border:0;padding:10px 6px;font-size:17px}.text-btn.bold{font-weight:600}.segmented{background:var(--fill);isolation:isolate;border-radius:999px;margin-bottom:18px;padding:3px;display:flex;position:relative}.segmented-thumb{z-index:-1;width:calc((100% - 6px) / var(--n));transform:translateX(calc(100% * var(--i)));background:var(--bg-elevated);transition:transform .5s var(--spring);border-radius:999px;position:absolute;top:3px;bottom:3px;left:3px;box-shadow:0 3px 8px #0000001f,0 1px 1px #0000000a}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .segmented-thumb{background:#636366}}:root[data-theme=dark] .segmented-thumb{background:#636366}.segmented:active .segmented-thumb{transition:transform .5s var(--spring), scale .2s var(--ease-out);scale:.97}.segmented button{background:0 0;border:0;border-radius:999px;flex:1;min-height:38px;font-size:15px;font-weight:500;transition:color .2s}.segmented button[aria-selected=true]{font-weight:600}.chips{scrollbar-width:none;gap:8px;margin:0 -20px 16px;padding:2px 20px 6px;display:flex;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#0000,#000 20px calc(100% - 20px),#0000);mask-image:linear-gradient(90deg,#0000,#000 20px calc(100% - 20px),#0000)}.chips::-webkit-scrollbar{display:none}.chips.wrap{flex-wrap:wrap;margin:0 0 22px;padding:0;overflow:visible;-webkit-mask-image:none;mask-image:none}.chip{background:var(--fill);min-height:40px;transition:background .25s var(--ease), color .25s, scale .45s var(--spring-bouncy);border:0;border-radius:999px;flex:none;padding:0 16px;font-size:15px;font-weight:500}.chip:active{scale:.94}.chip[aria-pressed=true]{background:var(--tint);color:var(--on-tint)}.search{background:var(--fill);border-radius:999px;align-items:center;gap:8px;min-height:40px;margin-bottom:14px;padding:0 12px;display:flex}.search input{background:0 0;border:0;outline:none;flex:1;min-width:0;font-size:17px}.search input::placeholder{color:var(--label-2)}.search svg{width:18px;height:18px;color:var(--label-2);flex:none}.grid{grid-template-columns:repeat(auto-fill, minmax(var(--tile-min), 1fr));gap:24px 12px;display:grid}@media (width>=900px){.grid{grid-template-columns:repeat(auto-fill, minmax(calc(var(--tile-min) * 1.25), 1fr));gap:30px 18px}}.tile{text-align:left;background:0 0;border:0;flex-direction:column;gap:9px;min-width:0;padding:0;display:flex}.photo{border-radius:var(--r-lg);background:var(--photo-bg);aspect-ratio:4/5;place-items:center;width:100%;display:grid;position:relative;overflow:hidden}.photo.square{aspect-ratio:1}.photo>img{object-fit:cover;width:100%;height:100%;animation:photo-in .5s var(--ease-out);position:absolute;inset:0}@keyframes photo-in{0%{opacity:0;transform:scale(1.02)}}.photo>img.seen{animation:none}.grid>.tile{content-visibility:auto;contain-intrinsic-size:auto 260px}.photo .ph-empty{color:var(--label-3);text-align:center;justify-items:center;gap:6px;font-size:13px;display:grid}.photo .ph-empty svg{stroke-width:1.4px;width:30px;height:30px}.tile.dim .photo>img{filter:saturate(.55)brightness(.92)}.tile-name{white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:600;overflow:hidden}.tile-sub{color:var(--label-2);white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:13px;overflow:hidden}.on-photo{background:color-mix(in srgb, var(--bg-elevated) 90%, transparent);color:var(--label);box-shadow:0 1px 3px #0000001f,0 0 0 .5px #0000000a}.tinted-fill{background:var(--fill);color:var(--label)}.photo-badge{z-index:1;white-space:nowrap;text-overflow:ellipsis;border-radius:999px;align-items:center;gap:5px;max-width:calc(100% - 16px);min-height:26px;padding:0 10px 0 8px;font-size:12px;font-weight:600;display:inline-flex;position:absolute;bottom:8px;left:8px;overflow:hidden}:root[data-grid=compact] .photo-badge .text{display:none}:root[data-grid=compact] .photo-badge{padding:0 8px}.photo-badge .dot{border-radius:50%;width:8px;height:8px}.photo-corner{z-index:1;position:absolute;top:8px;right:8px}.count-badge{z-index:1;border-radius:999px;align-items:center;gap:4px;min-height:24px;padding:0 8px;font-size:12px;font-weight:600;display:inline-flex;position:absolute;top:8px;right:8px}.count-badge svg{width:13px;height:13px}.carousel{scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;display:flex;overflow-x:auto}.carousel::-webkit-scrollbar{display:none}.carousel>*{scroll-snap-align:center;scroll-snap-stop:always;flex:0 0 100%}.hero{margin:calc(-1 * (var(--safe-top) + 6px)) 0 0;position:relative}.hero .carousel .photo{border-radius:0 0 var(--r-xl) var(--r-xl);aspect-ratio:4/5;max-height:78vh}@media (width>=900px){.hero{margin:0}.hero .carousel .photo{border-radius:var(--r-xl)}}.hero-bar{top:calc(var(--safe-top) + 10px);z-index:5;justify-content:space-between;gap:10px;display:flex;position:absolute;left:16px;right:16px}@media (width>=900px){.hero-bar{top:14px}}.dots{z-index:5;border-radius:999px;gap:6px;padding:7px 10px;display:flex;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.dots span{background:var(--label);opacity:.3;width:7px;height:7px;transition:opacity .3s, transform .3s var(--spring);border-radius:50%}.dots span.on{opacity:.9;transform:scale(1.15)}.strip{scrollbar-width:none;gap:10px;margin:0 -20px 6px;padding:4px 20px 8px;display:flex;overflow-x:auto}.strip::-webkit-scrollbar{display:none}.strip .thumb{flex:none;width:104px;position:relative}.strip .thumb .photo{border-radius:var(--r-md)}.strip .add{aspect-ratio:4/5;border-radius:var(--r-md);background:var(--fill);width:104px;color:var(--label);border:0;flex:none;align-content:center;place-items:center;gap:6px;font-size:13px;font-weight:600;display:grid}.strip .add svg{stroke-width:1.8px;width:26px;height:26px}.thumb-actions{z-index:2;gap:4px;display:flex;position:absolute;top:6px;right:6px}.cover-label{z-index:2;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:700;position:absolute;bottom:6px;left:6px}.card{background:var(--bg-elevated);border-radius:var(--r-lg);padding:16px}.card+.card{margin-top:14px}.stat-row{grid-template-columns:repeat(3,1fr);align-items:stretch;gap:10px;display:grid}.stat-row>.card{margin:0}.laundry-stat{color:var(--label-2);text-align:left;font:inherit;border:0;gap:2px;padding:14px 12px 12px;display:grid}.laundry-stat:disabled{opacity:1}.laundry-count{font-family:var(--font-display);letter-spacing:-.03em;color:var(--label);font-variant-numeric:tabular-nums;margin-top:6px;font-size:32px;font-weight:700;line-height:1.1}.laundry-stat .footnote{align-items:center;gap:6px;display:flex}.laundry-stat .dot{border-radius:50%;flex:none;width:7px;height:7px}.list{background:var(--bg-elevated);border-radius:var(--r-lg);margin-bottom:26px;overflow:hidden}.list-label{color:var(--label-2);text-transform:uppercase;letter-spacing:.02em;margin:0 16px 7px;font-size:13px}.row{text-align:left;background:0 0;border:0;align-items:center;gap:12px;width:100%;min-height:50px;padding:0 16px;font-size:17px;display:flex;position:relative}.row+.row:before{content:"";background:var(--separator);height:.5px;position:absolute;top:0;left:16px;right:0}.row>.label{flex:none}.row>.value{color:var(--label-2);text-align:right;align-items:center;gap:7px;margin-left:auto;display:flex}.row input,.row select,.row textarea{background:0 0;border:0;outline:none;flex:1;min-width:0;padding:14px 0;font-size:17px}.row select{appearance:none;text-align:right;color:var(--label-2)}.row textarea{resize:none;min-height:110px;padding:14px 0;line-height:1.4}.row input::placeholder,.row textarea::placeholder{color:var(--label-3)}.list-help{color:var(--label-2);margin:-18px 16px 26px;font-size:13px}.status-pill{border-radius:999px;align-items:center;gap:7px;min-height:32px;padding:0 13px;font-size:15px;font-weight:600;display:inline-flex}.status-pill .dot{border-radius:50%;width:9px;height:9px}.swatch{border-radius:50%;width:18px;height:18px;display:inline-block;box-shadow:inset 0 0 0 .5px #0003}.empty{text-align:center;justify-items:center;gap:12px;padding:56px 24px;display:grid}.empty .symbol{width:92px;height:92px;color:var(--tint);background:radial-gradient(circle at 50% 30%, color-mix(in srgb, var(--tint) 16%, var(--bg-elevated)), color-mix(in srgb, var(--tint) 8%, var(--fill)));box-shadow:inset 0 1px 0 #ffffff80, 0 10px 30px -12px color-mix(in srgb, var(--tint) 45%, transparent);border-radius:50%;place-items:center;margin-bottom:6px;display:grid}:root:not([data-accent]) .empty .symbol,:root[data-accent=graphite] .empty .symbol{color:var(--label)}.empty>*{animation:empty-in .6s var(--spring) both}.empty>:nth-child(2){animation-delay:50ms}.empty>:nth-child(3){animation-delay:.1s}.empty>:nth-child(4){animation-delay:.15s}.empty>.symbol{animation:empty-pop .7s var(--spring-bouncy) both}@keyframes empty-in{0%{opacity:0;translate:0 10px}}@keyframes empty-pop{0%{opacity:0;scale:.6}}.empty .symbol svg{stroke-width:1.5px;width:40px;height:40px}.empty h2{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:24px;font-weight:700}.empty p{color:var(--label-2);max-width:340px;margin:0 0 6px;font-size:16px}.hscroll{scrollbar-width:none;gap:12px;margin:0 -20px;padding:0 20px 4px;display:flex;overflow-x:auto}.hscroll::-webkit-scrollbar{display:none}.sheet-backdrop{z-index:50;animation:fade-in .3s var(--ease-out);background:#00000047;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{width:100%;max-width:680px;max-height:calc(100% - var(--safe-top) - 10px);background:var(--bg);border-radius:var(--r-device) var(--r-device) 0 0;animation:sheet-up .6s var(--spring-smooth);flex-direction:column;display:flex;overflow:hidden;box-shadow:0 -10px 40px #0000002e}.sheet.compact{margin:0 8px calc(var(--safe-bottom) + 8px);border-radius:var(--r-device);background:color-mix(in srgb, var(--bg) 84%, transparent);-webkit-backdrop-filter:blur(30px)saturate(180%);backdrop-filter:blur(30px)saturate(180%);box-shadow:0 20px 60px #00000038, inset 0 1px .5px -.5px var(--glass-edge);animation:sheet-float-up .6s var(--spring)}@media (prefers-reduced-transparency:reduce){.sheet.compact{background:var(--bg);-webkit-backdrop-filter:none;backdrop-filter:none}}.sheet.full{height:calc(100% - var(--safe-top) - 10px)}@media (width>=760px){.sheet-backdrop{align-items:center}.sheet,.sheet.compact{border-radius:var(--r-xl);max-height:90vh;animation:sheet-pop .5s var(--spring);margin:0}.sheet.full{height:90vh}}.sheet-backdrop.leaving{animation:fade-out .32s var(--ease) forwards;pointer-events:none}.sheet-backdrop.leaving .sheet{animation:sheet-down .32s var(--ease-in) forwards}@media (width>=760px){.sheet-backdrop.leaving .sheet{animation:sheet-shrink .24s var(--ease-in) forwards}}@keyframes fade-out{to{opacity:0}}@keyframes sheet-down{to{transform:translateY(105%)}}@keyframes sheet-shrink{to{opacity:0;transform:scale(.94)}}@keyframes sheet-float-up{0%{transform:translateY(calc(100% + 24px))}}@keyframes sheet-pop{0%{opacity:0;transform:scale(.92)}}.sheet-head{z-index:2;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;padding:12px 14px 6px;display:grid;position:relative}.sheet-head h2{text-align:center;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:17px;font-weight:600;overflow:hidden}.sheet-head .end{justify-self:end}.sheet-body{padding:10px 20px calc(30px + var(--safe-bottom));overscroll-behavior:contain;overflow-y:auto}.sheet-grabber{background:var(--fill-2);border-radius:3px;width:36px;height:5px;margin:7px auto 0}.viewer{z-index:70;animation:fade-in .25s var(--ease);background:#000;position:fixed;inset:0}.viewer .carousel{height:100%}.viewer .slide{place-items:center;height:100%;display:grid;overflow:auto}.viewer img{object-fit:contain;max-width:100%;max-height:100%}.viewer .hero-bar{color:#fff}.viewer .caption-bar{left:16px;right:16px;bottom:calc(var(--safe-bottom) + 16px);color:#fff;text-align:center;font-size:15px;position:absolute}.canvas{aspect-ratio:1;border-radius:var(--r-xl);background:var(--photo-bg);touch-action:none;-webkit-user-select:none;user-select:none;width:100%;position:relative;overflow:hidden}.piece{transform-origin:50%;touch-action:none;place-items:center;display:grid;position:absolute}.piece img{object-fit:cover;pointer-events:none;border-radius:14px;width:100%;height:100%;box-shadow:0 6px 18px #0000002e}.piece.selected img{outline:2.5px solid var(--tint);outline-offset:3px}.mini-canvas{position:absolute;inset:7%}.mini-canvas .piece img{border-radius:8px;box-shadow:0 3px 10px #00000029}.toast{left:50%;bottom:calc(var(--safe-bottom) + 96px);z-index:80;animation:toast-in .5s var(--spring);white-space:nowrap;border-radius:999px;align-items:center;gap:14px;max-width:calc(100vw - 32px);padding:12px 20px;font-size:15px;font-weight:600;display:flex;position:fixed;transform:translate(-50%)}.toast>span{text-overflow:ellipsis;overflow:hidden}.toast-action{flex:none}.toast.leaving{animation:toast-out .26s var(--ease) forwards}.toast-action{color:var(--tint);background:0 0;border:0;padding:0;font-size:15px;font-weight:700}:root:not([data-accent]) .toast-action,:root[data-accent=graphite] .toast-action{color:var(--label);text-decoration:underline}@keyframes toast-out{to{opacity:0;transform:translate(-50%,16px)scale(.92)}}.sync-dot{border-radius:50%;width:9px;height:9px;display:inline-block}.error-text{color:var(--danger);font-size:15px}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes sheet-up{0%{transform:translateY(100%)}}@keyframes toast-in{0%{opacity:0;-webkit-backdrop-filter:blur();backdrop-filter:blur();transform:translate(-50%,20px)scale(.9)}to{opacity:1;transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}::view-transition-old(root){animation-duration:.28s;animation-timing-function:var(--ease)}::view-transition-new(root){animation-duration:.28s;animation-timing-function:var(--ease)}.nav{z-index:25;margin:calc(-1 * (var(--safe-top) + 6px)) -20px 0;padding:calc(var(--safe-top) + 6px) 20px 8px;min-height:calc(var(--safe-top) + 62px);grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;display:grid;position:sticky;top:0}.nav:before{content:"";z-index:-1;pointer-events:none;background:color-mix(in srgb, var(--bg) 72%, transparent);-webkit-backdrop-filter:blur(14px)saturate(180%);backdrop-filter:blur(14px)saturate(180%);opacity:0;transition:opacity .3s var(--ease);position:absolute;inset:0 0 -24px;-webkit-mask-image:linear-gradient(#000 55%,#0000);mask-image:linear-gradient(#000 55%,#0000)}@media (prefers-reduced-transparency:reduce){.nav:before{background:var(--bg);-webkit-backdrop-filter:none;backdrop-filter:none}}.nav.collapsed:before{opacity:1}.nav-side{align-items:center;gap:10px;min-width:0;display:flex}.nav-side.end{justify-content:flex-end}.nav-title{white-space:nowrap;text-overflow:ellipsis;opacity:0;max-width:52vw;transition:opacity .25s var(--ease), transform .35s var(--spring);font-size:17px;font-weight:600;overflow:hidden;transform:translateY(6px)}.nav.collapsed .nav-title{opacity:1;transform:none}.page .nav{margin-left:-20px;margin-right:-20px}@media (width>=900px){.nav{min-height:58px;margin-top:0;padding-top:6px;position:relative;top:auto}.nav:before{display:none}}.avatar{width:46px;height:46px;font-family:var(--font-display);color:var(--label);border:0;border-radius:50%;place-items:center;padding:0;font-size:18px;font-weight:700;display:grid}.avatar.large{width:72px;height:72px;font-size:30px}.row .icon-tile{width:26px;height:26px;color:var(--label-2);flex:none;place-items:center;display:grid}.row .icon-tile svg{stroke-width:1.7px;width:21px;height:21px}.row.destructive .icon-tile{color:var(--danger)}.row.link{cursor:pointer}.row .chev{color:var(--label-3);flex:none;width:18px;height:18px;margin-left:2px}.row.destructive{color:var(--danger)}.row.link{transition:background-color .35s var(--ease)}.row:active.link{background:var(--fill);transition-duration:0s}.switch{background:var(--fill-2);width:51px;height:31px;transition:background .25s var(--ease);border:0;border-radius:999px;flex:none;padding:0;position:relative}.switch:after{content:"";width:27px;height:27px;transition:transform .35s var(--spring);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 3px 8px #00000026,0 1px 1px #00000029}.switch[aria-checked=true]{background:var(--clean)}.switch:before{content:"";position:absolute;inset:-7px -4px}.switch[aria-checked=true]:after{transform:translate(20px)}.switch:after{transition:transform .35s var(--spring), width .25s var(--spring)}.switch:active:after{width:33px}.switch[aria-checked=true]:active:after{transform:translate(14px)}.swatches{flex-wrap:wrap;gap:12px;padding:14px 16px;display:flex}.swatches button{border:0;border-radius:50%;width:44px;height:44px;padding:5px;position:relative;background-clip:content-box!important}.swatches button:before{content:"";border-radius:50%;position:absolute;inset:5px;box-shadow:inset 0 0 0 .5px #0003}.swatches button[aria-pressed=true]:after{content:"";border:2.5px solid var(--label-2);border-radius:50%;position:absolute;inset:1px}.profile-card{align-items:center;gap:14px;display:flex}.stat-grid{grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:26px;display:grid}.stat{background:var(--bg-elevated);border-radius:var(--r-lg);align-content:start;gap:2px;padding:14px 16px;display:grid}.stat .value{font-family:var(--font-display);letter-spacing:-.03em;font-size:30px;font-weight:700;line-height:1.1}.stat .label{color:var(--label-2);font-size:13px}.bars{gap:12px;padding:16px;display:grid}.bar-row{grid-template-columns:1fr auto;gap:6px 10px;font-size:15px;display:grid}.bar-track{background:var(--fill);border-radius:999px;grid-column:1/-1;height:8px;overflow:hidden}.bar-fill{border-radius:inherit;background:var(--tint);transform-origin:0;height:100%;animation:grow .7s var(--ease)}.stack{border-radius:999px;gap:2px;height:14px;margin:16px 16px 12px;display:flex;overflow:hidden}.stack span{height:100%;animation:grow .7s var(--ease);transform-origin:0}.legend{color:var(--label-2);flex-wrap:wrap;gap:8px 14px;padding:0 16px 16px;font-size:13px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}@keyframes grow{0%{transform:scaleX(0)}to{transform:none}}.mini-list .row{min-height:64px}.mini-thumb{background:var(--photo-bg);border-radius:10px;flex:none;width:44px;height:54px;position:relative;overflow:hidden}.mini-thumb img{object-fit:cover;width:100%;height:100%}.welcome{gap:26px;padding:18px 8px 8px;display:grid}.welcome h1{font-family:var(--font-display);letter-spacing:-.03em;text-align:center;margin:8px 0 4px;font-size:34px;font-weight:800;line-height:1.1}.feature{grid-template-columns:52px 1fr;align-items:start;gap:14px;display:grid}.feature .glyph{width:44px;height:44px;color:var(--tint);place-items:center;display:grid}.feature .glyph svg{stroke-width:1.7px;width:34px;height:34px}.feature h3{margin:0 0 2px;font-size:17px;font-weight:600}.feature p{color:var(--label-2);margin:0;font-size:15px}.pill-btn{min-height:46px;color:var(--label);border:0;border-radius:999px;padding:0 18px;font-size:16px;font-weight:600}.more-days{justify-content:center;gap:10px;margin:4px 0 14px;display:flex}.sheet-drag{touch-action:none;cursor:grab}.skeleton{background:var(--photo-bg);position:absolute;inset:0;overflow:hidden}.skeleton:after{content:"";will-change:transform;background:linear-gradient(100deg, transparent 30%, color-mix(in srgb, var(--label) 6%, transparent) 50%, transparent 70%);animation:1.4s linear infinite shimmer;position:absolute;inset:0}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.tile{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.context{z-index:60;-webkit-backdrop-filter:blur(18px)saturate(140%);backdrop-filter:blur(18px)saturate(140%);animation:fade-in .3s var(--ease-out);background:#0000001f;position:fixed;inset:0}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .context{background:#0000004d}}:root[data-theme=dark] .context{background:#0000004d}.context.closing{animation:fade-out .28s var(--ease) forwards}.context-stack{flex-direction:column;gap:12px;display:flex;position:absolute}.context-preview{border-radius:var(--r-xl);transform-origin:0 0;width:100%;transition:transform .28s var(--ease);flex:none;box-shadow:0 24px 60px #00000047,0 4px 12px #0000001f}.context-menu{transform-origin:50% 0;width:max(100%,236px);max-width:calc(100vw - 32px);animation:menu-open .45s var(--spring) both;border-radius:22px;padding:4px 0;animation-delay:60ms;overflow:hidden}.context.closing .context-menu{animation:menu-close .2s var(--ease-in) forwards}.context-item{width:100%;min-height:48px;color:var(--label);text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:16px;padding:0 18px;font-size:17px;display:flex;position:relative}.context-item+.context-item:before{content:"";background:var(--separator);height:.5px;position:absolute;top:0;left:18px;right:0}.context-item svg{stroke-width:2px;flex:none;width:20px;height:20px}.context-item:active{background:var(--fill)}@keyframes menu-open{0%{opacity:0;transform:scale(.6)}}@keyframes menu-close{to{opacity:0;transform:scale(.85)}}.appear{animation:rise-in .55s var(--spring) both;animation-delay:calc(var(--i,0) * 32ms)}@keyframes rise-in{0%{opacity:0;transform:translateY(14px)scale(.97)}to{opacity:1;transform:none}}.main{transition:transform .55s var(--spring-smooth), border-radius .4s;transform-origin:50% var(--sheet-origin,50vh)}:root[data-sheets] .main{border-radius:22px;overflow:hidden;transform:scale(.93)}:root[data-sheets] .tabbar-wrap{opacity:0;transform:translateY(20px)}.tabbar-wrap{transition:opacity .3s var(--ease), transform .45s var(--spring);view-transition-name:tabbar}::view-transition-group(*){animation-duration:.5s;animation-timing-function:cubic-bezier(.32,.9,.3,1.05)}:root[data-nav=tab]::view-transition-old(root){animation:vt-fade-out .18s var(--ease) both}:root[data-nav=tab]::view-transition-new(root){animation:vt-fade-in .32s var(--ease) both}:root[data-nav=forward]::view-transition-old(root){animation:vt-recede .4s var(--ease) both}:root[data-nav=forward]::view-transition-new(root){animation:vt-fade-in .35s var(--ease) both}:root[data-nav=back]::view-transition-old(root){animation:vt-fade-out .25s var(--ease) both}:root[data-nav=back]::view-transition-new(root){animation:vt-return .4s var(--ease) both}::view-transition-image-pair(*){isolation:auto}@keyframes vt-fade-out{to{opacity:0}}@keyframes vt-fade-in{0%{opacity:0;transform:translateY(8px)scale(.995)}}@keyframes vt-recede{to{opacity:0;transform:scale(.96)}}@keyframes vt-return{0%{opacity:0;transform:scale(.97)}}.offline-pill{top:calc(var(--safe-top) + 8px);z-index:40;animation:toast-in .5s var(--spring);border-radius:999px;align-items:center;gap:7px;padding:7px 14px;font-size:13px;font-weight:600;display:inline-flex;position:fixed;left:50%;transform:translate(-50%)}.viewer .zoomer{will-change:transform;place-items:center;width:100%;height:100%;display:grid}.viewer .zoomer img{pointer-events:none}.viewer .slide{touch-action:pan-x}.heatmap{grid-template-rows:repeat(7,1fr);grid-auto-flow:column;gap:3px;display:grid}.heatmap span{aspect-ratio:1;background:var(--fill);border-radius:3px;width:100%}.heatmap span.on{background:var(--tint)}.heatmap span.today{box-shadow:0 0 0 1.5px var(--label-2)}.color-chip{align-items:center;gap:7px;display:inline-flex}.color-chip .swatch{width:14px;height:14px}.btn-group .icon-btn:active{background:var(--fill)}.btn-group .icon-btn{transition:scale .45s var(--spring-bouncy), background .2s;border-radius:50%}.btn-group .icon-btn:active{scale:.9}@keyframes spin{to{rotate:360deg}}:focus{outline:none}:focus-visible{outline:3px solid color-mix(in srgb, var(--tint) 70%, transparent);outline-offset:2px}.tile:focus-visible{outline:none}.tile:focus-visible .photo{outline:3px solid color-mix(in srgb, var(--tint) 70%, transparent);outline-offset:2px}.ph-empty.missing{color:var(--label-3);background:var(--photo-bg);place-items:center;display:grid;position:absolute;inset:0}.ph-empty.missing svg{stroke-width:1.6px;width:26px;height:26px}.sheet:focus-visible,.viewer:focus-visible{outline:none}.photo>img.cutout{object-fit:contain;filter:drop-shadow(0 10px 14px #00000029)drop-shadow(0 2px 3px #0000001a);padding:7%}.viewer img.cutout{filter:drop-shadow(0 18px 30px #00000073)}.piece img.cutout{object-fit:contain;box-shadow:none;filter:drop-shadow(0 6px 10px #00000038);border-radius:0}.piece.selected img.cutout{filter:drop-shadow(0 0 0 var(--tint)) drop-shadow(0 0 2px var(--tint)) drop-shadow(0 6px 10px #00000038);outline:none}.mini-canvas .piece img.cutout{box-shadow:none;filter:drop-shadow(0 3px 5px #0003);border-radius:0}.photo.checker{background:repeating-conic-gradient(color-mix(in srgb, var(--label) 7%, transparent) 0% 25%, transparent 0% 50%) 50% / 22px 22px, var(--bg-elevated)}.cutout-cta{background:var(--bg-elevated);text-align:left;width:100%;color:var(--label);border-radius:var(--r-lg);border:0;align-items:center;gap:14px;margin:2px 0 10px;padding:14px 16px;font-size:16px;display:flex}.cutout-cta>svg{width:26px;height:26px;color:var(--tint);flex:none}:root:not([data-accent]) .cutout-cta>svg,:root[data-accent=graphite] .cutout-cta>svg{color:var(--brand)}.cutout-cta span{gap:1px;display:grid}.cutout-cta small{color:var(--label-2);font-size:13px}.cutout-hero{color:#fff;background:var(--brand-gradient);width:64px;height:64px;box-shadow:0 10px 24px var(--brand-shadow);border-radius:20px;place-items:center;margin:4px auto 16px;display:grid}.cutout-hero svg{width:32px;height:32px}.cutout-stage{width:min(100%,300px);margin:0 auto 16px;position:relative}.cutout-stage .photo{border-radius:var(--r-xl);overflow:hidden}.cutout-stage.working .photo:after{will-change:transform;content:"";z-index:3;pointer-events:none;animation:lift-sweep 1.6s var(--ease) infinite;background:linear-gradient(115deg,#0000 38%,#ffffff8c 48%,#bf5af259 52%,#0000 62%);position:absolute;inset:-40%}.cutout-stage.working:before{content:"";border-radius:calc(var(--r-xl) + 6px);pointer-events:none;will-change:opacity;animation:1.6s ease-in-out infinite alternate lift-glow;position:absolute;inset:-6px;box-shadow:0 0 0 2px #bf5af273,0 0 40px #5e5ce673}.cutout-stage.computing .photo{box-shadow:0 0 0 2px #bf5af266,0 0 30px #5e5ce64d}.cutout-stage.done .photo{animation:lift-in .6s var(--spring) both}@keyframes lift-sweep{0%{transform:translate(-60%)}to{transform:translate(60%)}}@keyframes lift-glow{0%{opacity:.35}to{opacity:1}}@keyframes lift-in{0%{opacity:.4;transform:scale(.94)}to{opacity:1;transform:none}}.cutout-hero.muted{background:var(--fill);color:var(--label-2);box-shadow:none}.cutout-steps{gap:12px;margin:0 0 16px;padding:0;list-style:none;display:grid}.cutout-steps li{color:var(--label-2);grid-template-columns:24px 1fr;align-items:center;gap:8px 12px;font-size:16px;display:grid}.cutout-steps li.now{color:var(--label);font-weight:600}.cutout-steps small{color:var(--label-2);font-variant-numeric:tabular-nums;font-weight:400}.cutout-steps .dot{border:2px solid var(--fill-2);border-radius:50%;place-items:center;width:22px;height:22px;display:grid}.cutout-steps .dot svg{stroke-width:3px;width:14px;height:14px}.cutout-steps li.done .dot{background:var(--clean);border-color:var(--clean);color:#fff}.cutout-steps li.now .dot{border-color:var(--tint);border-top-color:#0000;animation:.9s linear infinite spin}.cutout-steps .meter{grid-column:2}.meter{background:var(--fill);border-radius:3px;width:100%;height:6px;overflow:hidden}.meter>span{background:var(--tint);height:100%;transition:width .3s var(--ease);border-radius:3px;display:block}.meter.indeterminate>span{width:30%;animation:1.3s ease-in-out infinite meter-slide}@keyframes meter-slide{0%{transform:translate(-100%)}to{transform:translate(340%)}}.cutout-doubts{border-radius:var(--r-lg);background:color-mix(in srgb, var(--dirty) 14%, transparent);color:var(--label);gap:12px;margin-bottom:16px;padding:14px 16px;font-size:15px;display:flex}.cutout-doubts>svg{width:22px;height:22px;color:var(--dirty);flex:none}.cutout-doubts p{color:var(--label-2);margin:4px 0 0}.thumb-actions{gap:6px}.strip .thumb{width:112px}.active-filters{align-items:center;margin-top:-6px}.chip.removable{background:var(--tint);color:var(--on-tint);align-items:center;gap:6px;display:inline-flex}.chip.removable svg{stroke-width:2.5px;opacity:.8;width:14px;height:14px}.text-btn{min-width:44px;min-height:44px}.swatches{gap:2px;padding-left:12px;padding-right:12px}:root[data-busy] .glass,:root[data-busy] .sheet.compact,:root[data-busy] .nav:before,:root[data-busy] .scroll-edge-bottom,:root[data-busy] .context{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}:root[data-busy] .glass{background:var(--bg-elevated)}:root[data-busy] .sheet.compact{background:var(--bg)}:root[data-busy] .scroll-edge-bottom{display:none}.accent-grid{grid-template-columns:repeat(4,1fr);gap:18px 8px;padding:8px 0 20px;display:grid}.accent-option{color:var(--label-2);cursor:pointer;background:0 0;border:0;justify-items:center;gap:8px;padding:0;font-size:13px;display:grid}.accent-option[aria-checked=true]{color:var(--label);font-weight:600}.accent-dot{width:52px;height:52px;transition:transform .45s var(--spring), box-shadow .25s;border-radius:50%;place-items:center;display:grid;position:relative;box-shadow:inset 0 0 0 .5px #00000026}.accent-option[aria-checked=true] .accent-dot{box-shadow:0 0 0 3px var(--bg), 0 0 0 5px var(--label-2)}.accent-dot svg{stroke-width:3px;width:24px;height:24px}.accent-dot.custom{background:conic-gradient(#ff3b30,#ff9500,#fc0,#34c759,#5ac8fa,#007aff,#af52de,#ff2d55,#ff3b30)}.accent-dot.custom input{opacity:0;cursor:pointer;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.accent-preview{border-radius:var(--r-lg);background:var(--bg-elevated);justify-content:center;align-items:center;gap:12px;margin-bottom:18px;padding:16px;display:flex}.accent-preview .btn{pointer-events:none}.disclosure{border-radius:var(--r-lg);background:var(--bg-elevated);width:100%;min-height:50px;color:var(--label);border:0;justify-content:space-between;align-items:center;margin-bottom:18px;padding:0 16px;font-size:17px;display:flex}.disclosure svg{width:20px;height:20px;color:var(--label-2);transition:transform .45s var(--spring)}.disclosure[aria-expanded=true] svg{transform:rotate(180deg)}.disclosure-body{animation:rise-in .45s var(--spring-smooth) both}.laundry-picker .segmented button{padding:0 2px;font-size:14px}.large-title{transform-origin:0;scale:calc(1 + var(--pull,0) * .0014)}.hero .carousel{transform-origin:50% 0;translate:0 calc(-1px * var(--pull,0));scale:calc(1 + var(--pull,0) / 380)}.pick-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}@media (width>=600px){.pick-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}.pick{background:0 0;border:0;border-radius:18px;padding:0;position:relative}.pick .photo{aspect-ratio:4/5;background:var(--fill-3,var(--fill-2));transition:scale .4s var(--spring), box-shadow .25s var(--ease);border-radius:18px;display:block;overflow:hidden}.pick[aria-pressed=true] .photo{box-shadow:0 0 0 3px var(--tint);scale:.93}.pick-check{color:#0000;width:26px;height:26px;transition:background-color .2s, color .2s, scale .4s var(--spring-bouncy);background:#ffffffe6;border:1.5px solid #0000001f;border-radius:50%;place-items:center;display:grid;position:absolute;bottom:8px;right:8px}.pick-check svg{stroke-width:3px;width:16px;height:16px}.pick[aria-pressed=true] .pick-check{background:var(--tint);border-color:var(--tint);color:var(--on-tint,#fff);scale:1.08}.weather-card{text-align:left;color:#fff;border:0;border-radius:26px;justify-content:space-between;align-items:center;gap:12px;width:100%;margin:0 0 16px;padding:16px 14px 16px 20px;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 30px -18px #00287899}.weather-card:after{content:"";border-radius:inherit;pointer-events:none;background:radial-gradient(120% 80% at 10% 0,#ffffff38,#0000 60%);position:absolute;inset:0}.weather-card.sky-day{background:linear-gradient(160deg,#4aa3f5,#2d72d9)}.weather-card.sky-night{background:linear-gradient(160deg,#1d2b5c,#0b1230)}.weather-card.sky-cloudy{background:linear-gradient(160deg,#8a9bb3,#5c6e88)}.weather-card.sky-rain{background:linear-gradient(160deg,#5d7899,#3a506e)}.weather-card.sky-storm{background:linear-gradient(160deg,#4a4f66,#232636)}.weather-main{z-index:1;gap:1px;min-width:0;display:grid;position:relative}.weather-place{opacity:.95;font-size:15px;font-weight:600}.weather-now{font-family:var(--font-display);letter-spacing:-.04em;font-size:52px;font-weight:300;line-height:1.02}.weather-cond{font-size:15px;font-weight:600}.weather-range{opacity:.85;white-space:pre;font-variant-numeric:tabular-nums;font-size:14px}.weather-card .wx-glyph{z-index:1;filter:drop-shadow(0 6px 12px #00000026);flex:none;position:relative}.weather-card.ghost{background:var(--fill);color:var(--label);box-shadow:none;justify-content:flex-start;gap:14px;padding:14px 18px}.weather-card.ghost:after{display:none}.weather-text{gap:2px;min-width:0;display:grid}.weather-text b{font-size:17px;font-weight:600}.weather-text span{color:var(--label-2);white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.day-weather{color:var(--label-2);font-variant-numeric:tabular-nums;white-space:nowrap;justify-items:center;gap:0;margin-top:2px;font-size:12.5px;line-height:1.1;display:grid}.day-weather b{color:var(--label);font-weight:600}@supports (animation-timeline:scroll()){@media (width<=899px) and (prefers-reduced-motion:no-preference){.nav:before{transition:none;animation:linear both nav-bg;animation-timeline:scroll(root);animation-range:0 56px}.nav .nav-title{transition:none;animation:linear both nav-title;animation-timeline:scroll(root);animation-range:34px 70px}@keyframes nav-bg{0%{opacity:0}to{opacity:1}}@keyframes nav-title{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}}}.color-row{scrollbar-width:none;gap:10px;margin:-2px -20px 4px;padding:2px 20px 12px;display:flex;overflow-x:auto}.color-row::-webkit-scrollbar{display:none}.color-dot{background:var(--dot);width:30px;height:30px;transition:box-shadow .25s var(--ease), scale .4s var(--spring-bouncy);border:0;border-radius:50%;flex:none;padding:0;box-shadow:inset 0 0 0 1px #0000001f,inset 0 1px 1px #ffffff59}.color-dot[aria-pressed=true]{box-shadow:inset 0 0 0 1px #0000001f, 0 0 0 2.5px var(--bg), 0 0 0 4.5px var(--label);scale:1.06}.batch-actions{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px;display:grid}.batch-actions .add{border-radius:var(--r-md);background:var(--fill);height:76px;color:var(--label);border:0;align-content:center;place-items:center;gap:6px;font-size:14px;font-weight:600;display:grid}.batch-actions .add svg{stroke-width:1.8px;width:24px;height:24px}.batch-list{gap:14px;display:grid}.batch-item{min-width:0;animation:empty-in .5s var(--spring) both;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:12px;display:grid}.batch-item.failed{opacity:.6}.batch-photo{aspect-ratio:4/5;border-radius:18px;width:92px;position:relative;overflow:hidden}.batch-badge{border-radius:50%;place-items:center;width:26px;height:26px;display:grid;position:absolute;bottom:6px;right:6px}.batch-badge svg{width:15px;height:15px}.batch-badge.ok{color:var(--clean,#34c759)}.batch-fields{gap:8px;min-width:0;display:grid}.batch-name{background:var(--bg-elevated);border:0;border-radius:12px;outline:none;padding:10px 12px;font-size:16px}.batch-fields .chips{margin:0 -20px 0 0;padding-right:20px}.row-sub{color:var(--label-2);font-size:13px;font-weight:400;display:block}.spin{animation:.9s linear infinite spin}.outfit-pick{grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:10px}.pick-state{border-radius:999px;padding:2px 7px;font-size:10.5px;font-weight:700;position:absolute;top:6px;left:6px}.pick-state.good{color:var(--clean,#248a3d)}.palette-bar{border-radius:20px;gap:3px;height:64px;margin:2px 0 14px;display:flex;overflow:hidden;box-shadow:0 10px 26px -16px #00000073}.palette-bar>span{transform-origin:0;min-width:10px;animation:palette-in .7s var(--spring) both;animation-delay:calc(var(--i) * 50ms);box-shadow:inset 0 0 0 1px #0000000f,inset 0 1px #ffffff40}@keyframes palette-in{0%{scale:0 1}}.palette-stats{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px;display:grid}.palette-stats .card{gap:2px;margin:0;padding:14px 16px;display:grid}.palette-stats b{font-family:var(--font-display);letter-spacing:-.03em;font-size:30px}.palette-stats span{color:var(--label-2);font-size:14px}.palette-swatch{border-radius:50%;flex:none;width:30px;height:30px;box-shadow:inset 0 0 0 1px #0000001f}.palette-plus{color:var(--clean,#248a3d);font-weight:700}.harmony{color:var(--label-2);justify-content:center;align-items:center;gap:8px;margin:-2px 0 10px;font-size:14px;font-weight:600;display:flex}.harmony-great{color:#248a3d}.harmony-risky{color:var(--dirty)}.harmony-dots{display:inline-flex}.harmony-dots i{width:14px;height:14px;box-shadow:0 0 0 2px var(--bg), inset 0 0 0 1px #0000001f;border-radius:50%;margin-left:-4px}.harmony-dots i:first-child{margin-left:0}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .harmony-great{color:#30d158}}:root[data-theme=dark] .harmony-great{color:#30d158}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) :is(.palette-swatch,.color-dot:not([aria-pressed=true]),.harmony-dots i){box-shadow:inset 0 0 0 1px #ffffff38}}:root[data-theme=dark] :is(.palette-swatch,.color-dot:not([aria-pressed=true]),.harmony-dots i){box-shadow:inset 0 0 0 1px #ffffff38}.sync-line{color:var(--label-2);text-align:left;background:0 0;border:0;align-items:center;gap:6px;margin-top:3px;padding:0;font-size:13px;display:flex}.sync-line svg{opacity:.6;flex:none}.sync-hero{text-align:center;justify-items:center;gap:6px;padding:8px 12px 18px;display:grid}.sync-hero svg{stroke-width:1.6px;width:44px;height:44px}.sync-hero b{font-size:20px}.sync-hero span{color:var(--label-2);max-width:320px;font-size:15px}.sync-hero.ok svg{color:var(--clean,#34c759)}.sync-hero.warn svg{color:var(--dirty)}.sync-hero.busy svg{color:var(--washing,#0a84ff)}.spin-slow{animation:2.4s linear infinite spin}.mirror-intro{text-align:center;justify-items:center;gap:12px;padding:8px 4px 20px;display:grid}.mirror-intro h2{font-family:var(--font-display);letter-spacing:-.02em;margin:4px 0 0;font-size:26px}.mirror-intro .secondary{max-width:340px;margin:0}.mirror-hero{color:#fff;background:var(--brand-gradient);width:104px;height:104px;box-shadow:0 16px 36px -14px var(--brand-shadow);animation:empty-pop .7s var(--spring-bouncy) both;border-radius:32px;place-items:center;display:grid}.mirror-hero svg{stroke-width:1.6px;width:54px;height:54px}.mirror-hero.scanning{animation:mirror-breathe 1.6s var(--ease) infinite alternate}@keyframes mirror-breathe{to{scale:1.06;box-shadow:0 22px 44px -14px #16233d99}}.mirror-tips{text-align:left;gap:10px;max-width:360px;margin:4px 0;padding:0;list-style:none;display:grid}.mirror-tips li{background:var(--bg-elevated);color:var(--label-2);border-radius:16px;padding:12px 14px;font-size:15px}.mirror-tips b{color:var(--label);font-weight:600}.mirror-actions{gap:10px;width:100%;max-width:360px;display:grid}.mirror-error{color:var(--danger);background:color-mix(in srgb, var(--danger) 10%, transparent);border-radius:14px;max-width:360px;margin:0;padding:10px 14px}.stages{text-align:left;gap:10px;margin:6px 0;padding:0;list-style:none;display:grid}.stages li{color:var(--label-3,var(--label-2));align-items:center;gap:10px;font-size:16px;display:flex}.stages li.active{color:var(--label);font-weight:600}.stages li.done{color:var(--label-2)}.stages li svg{width:18px;height:18px;color:var(--clean,#34c759)}.stages .dot{background:var(--fill);border-radius:50%;width:10px;height:10px;margin:0 4px}.stages li.active .dot{background:var(--brand);animation:.8s infinite alternate mirror-breathe}.mirror-toolbar{margin:0 0 10px}.mirror-stage{touch-action:none;background:linear-gradient(#f4f2ef,#ddd8d1);border-radius:26px;width:100%;position:relative;overflow:hidden;box-shadow:0 18px 40px -26px #00000080}.mirror-stage:before{content:"";background:var(--mirror-bg,none) center / cover;filter:blur(28px)saturate(1.05);opacity:.5;position:absolute;inset:-20px}.mirror-stage.adjusting{outline:2px solid var(--tint);outline-offset:-2px}.mirror-canvas{transform-origin:0 0;position:absolute;top:0}.mirror-canvas>img,.mirror-slot{position:absolute;top:0;left:0}.mirror-body{width:100%;height:100%}.mirror-front{pointer-events:none;width:100%;height:100%}.mirror-slot{filter:drop-shadow(0 4px 9px #0000003d);width:100%;height:100%;animation:mirror-in .5s var(--spring) both;pointer-events:none}.mirror-slot img{transform-origin:0 0;max-width:none;position:absolute;top:0;left:0}@keyframes mirror-in{0%{opacity:0;translate:calc(var(--dir,0) * 40px) 0}}.mirror-hint{white-space:nowrap;border-radius:999px;align-items:center;gap:10px;padding:7px 12px;font-size:13px;font-weight:600;display:flex;position:absolute;top:12px;left:50%;translate:-50%}.mirror-hint.subtle{pointer-events:none;animation:5s .8s both mirror-hint}@keyframes mirror-hint{0%{opacity:0}10%,80%{opacity:.9}to{opacity:0}}.mirror-slots{grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0 10px;display:grid}.mirror-slot-btn{color:var(--label-2);background:0 0;border:0;justify-items:center;gap:5px;padding:0;font-size:12.5px;font-weight:600;display:grid}.mirror-slot-btn .photo{aspect-ratio:1;width:100%;box-shadow:inset 0 0 0 1px var(--separator);border-radius:16px;overflow:hidden}.mirror-slot-btn[aria-selected=true]{color:var(--label)}.mirror-slot-btn[aria-selected=true] .photo{box-shadow:0 0 0 2.5px var(--tint)}.mirror-pick{scrollbar-width:none;animation:empty-in .4s var(--spring) both;gap:10px;margin:0 -20px 6px;padding:4px 20px 10px;display:flex;overflow-x:auto}.mirror-pick::-webkit-scrollbar{display:none}.mirror-pick-item{text-align:left;background:0 0;border:0;flex:none;gap:4px;width:84px;padding:0;display:grid;position:relative}.mirror-pick-item .photo{aspect-ratio:4/5;width:84px;transition:box-shadow .2s, scale .4s var(--spring);border-radius:16px;overflow:hidden}.mirror-pick-item[aria-pressed=true] .photo{box-shadow:0 0 0 3px var(--tint);scale:.95}.mirror-pick-item.none{background:var(--fill);height:105px;color:var(--label-2);border-radius:16px;align-content:center;justify-items:center;font-size:13px}.mirror-pick-item.none[aria-pressed=true]{box-shadow:0 0 0 3px var(--tint)}.mirror-pick-name{color:var(--label-2);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.row-actions{grid-template-columns:1fr auto;max-width:none;display:grid}.mirror-foot{justify-content:space-between;margin:14px 4px 4px;display:flex}.mirror-foot .text-btn{align-items:center;gap:6px;font-size:15px;display:inline-flex}.mirror-cta{text-align:left;width:100%;color:var(--label);border-radius:var(--r-lg);background:var(--bg-elevated);border:0;align-items:center;gap:14px;margin:18px 0 4px;padding:14px 16px;font-size:16px;display:flex}.mirror-cta-icon{color:#fff;background:var(--brand-gradient);border-radius:12px;flex:none;place-items:center;width:40px;height:40px;display:grid}.mirror-cta-icon svg{width:24px;height:24px}.mirror-cta span:last-child{gap:1px;display:grid}.mirror-cta small{color:var(--label-2);font-size:13px}
