.ls-app{--ls-ink:#23384a;--ls-paper:#fffaf0;--ls-coral:#ff6b5a;--ls-coral-deep:#c2412f;--ls-mint:#2fb79a;--ls-sky:#3aa6d8;--ls-night:rgba(24,40,56,0.72);--play-accent:#2f8fc7;--play-ink:#23384a;--play-paper:#fffaf0;overflow:hidden;touch-action:none;-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;height:100dvh;background:#bfe4ff;color:#fff}.ls-scene{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:0;touch-action:none}.ls-app:is([data-phase=menu],[data-phase=result],[data-phase=loading]) :is(.ls-head,.ls-chips,.ls-hint,.ls-toast,.ls-keys){display:none}.ls-app:not(:is([data-phase=sort],[data-phase=spin],[data-phase=dry])) .ls-keys{display:none!important}.ls-app:not([data-phase=sort]) .ls-sort{display:none}.ls-app:not(:is([data-phase=spin],[data-phase=ruin],[data-phase=wash])) .ls-spin{display:none}.ls-app:not(:is([data-phase=dry],[data-phase=unload],[data-phase=report])) :is(.ls-dry,.ls-gust){display:none}.ls-app[data-phase=wash] .ls-spin{opacity:.55;pointer-events:none}.ls-app.dragging,.ls-app.dragging *{cursor:-webkit-grabbing!important;cursor:grabbing!important}.ls-head{position:absolute;z-index:4;left:0;right:0;top:calc(env(safe-area-inset-top, 0px) + 10px);display:grid;grid-template-columns:44px 1fr 44px;align-items:center;grid-gap:8px;gap:8px;padding:0 12px;pointer-events:none}.ls-head>*{pointer-events:auto}.ls-icon-btn{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;cursor:pointer;background:var(--ls-night);color:#fff;border:2px solid rgba(255,255,255,.85);box-shadow:0 3px 0 rgba(0,0,0,.25);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.ls-icon-btn .off,.ls-icon-btn[aria-pressed=true] .on{display:none}.ls-icon-btn[aria-pressed=true] .off{display:inline}.ls-pill{justify-self:center;display:inline-flex;align-items:center;gap:12px;height:44px;padding:0 7px 0 16px;border-radius:22px;background:var(--ls-night);border:2px solid rgba(255,255,255,.9);box-shadow:0 3px 0 rgba(0,0,0,.25);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);pointer-events:none}.ls-pill span{font:800 16px/1 Playful,sans-serif;letter-spacing:.8px;white-space:nowrap}.ls-pill b{font:800 18px/1 Playful,sans-serif;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;background:var(--ls-paper);color:var(--ls-ink);border-radius:14px;padding:6px 10px;min-width:54px;text-align:center}.ls-pill b.low{background:var(--ls-coral);color:#fff;animation:ls-beat 1s infinite}@keyframes ls-beat{50%{transform:scale(1.1)}}.ls-chips{position:absolute;z-index:4;left:0;right:0;top:calc(env(safe-area-inset-top, 0px) + 60px);display:flex;justify-content:center;gap:8px;pointer-events:none}.ls-chip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 11px;border-radius:14px;background:var(--ls-night);border:2px solid rgba(255,255,255,.7);font:800 13px/1 Playful,sans-serif;white-space:nowrap;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.ls-chip small{font:800 9.5px/1 Playful,sans-serif;letter-spacing:1px;opacity:.8}.ls-strikes{display:inline-flex;gap:4px}.ls-strikes i{width:12px;height:12px;border-radius:50%;border:2px solid rgba(255,255,255,.85)}.ls-strikes i.on{background:var(--ls-coral);border-color:#fff}.ls-toast{position:absolute;z-index:7;left:50%;top:calc(env(safe-area-inset-top, 0px) + 100px);transform:translate(-50%,10px) scale(.9);opacity:0;pointer-events:none;max-width:calc(100% - 24px);width:max-content;font:800 22px/1.15 Playful,sans-serif;color:#fff;text-align:center;text-wrap:balance;-webkit-text-stroke:6px #1f5f86;paint-order:stroke fill;text-shadow:0 4px 0 #1f5f86;transition:opacity .2s,transform .3s cubic-bezier(.3,1.6,.5,1)}.ls-toast.show{opacity:1;transform:translate(-50%)}.ls-toast.good{-webkit-text-stroke-color:#17735f;text-shadow:0 4px 0 #17735f}.ls-toast.warn{-webkit-text-stroke-color:#b5651d;text-shadow:0 4px 0 #b5651d}.ls-toast.bad{-webkit-text-stroke-color:var(--ls-coral-deep);text-shadow:0 4px 0 var(--ls-coral-deep)}.ls-hint{position:absolute;z-index:5;left:50%;transform:translateX(-50%);margin:0;padding:7px 13px;border-radius:14px;background:var(--ls-night);border:2px solid rgba(255,255,255,.65);font:700 13.5px/1.25 Playful,sans-serif;text-align:center;width:max-content;max-width:calc(100% - 32px);opacity:0;transition:opacity .3s;pointer-events:none;bottom:calc(env(safe-area-inset-bottom, 0px) + 330px)}.ls-hint.show{opacity:1}.ls-hint:empty{display:none}.ls-app:is([data-phase=spin],[data-phase=wash],[data-phase=ruin]) .ls-hint{bottom:calc(env(safe-area-inset-bottom, 0px) + 228px)}.ls-app:is([data-phase=dry],[data-phase=unload],[data-phase=report]) .ls-hint{bottom:calc(env(safe-area-inset-bottom, 0px) + 66px)}.ls-sort{position:absolute;z-index:5;left:10px;right:10px;bottom:calc(env(safe-area-inset-bottom, 0px) + 10px);display:flex;flex-direction:column;gap:7px;padding:9px;border-radius:24px;color:var(--ls-ink);background:rgba(255,250,240,.95);border:3px solid #fff;box-shadow:0 6px 0 #9fc7da,0 14px 30px rgba(20,50,80,.25)}.ls-kg-wrap,.ls-meters{display:flex;align-items:center;gap:8px}.ls-kg-wrap{flex:1 1}.ls-kg-wrap span{font:800 13px/1 Playful,sans-serif;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap;min-width:82px}.ls-kg-wrap i{flex:1 1;height:12px;border-radius:7px;background:#e3eef3;overflow:hidden;box-shadow:inset 0 2px 0 rgba(0,0,0,.06)}.ls-kg-wrap b{display:block;height:100%;width:0;border-radius:7px;background:linear-gradient(90deg,#7fd8c4,var(--ls-mint));transition:width .25s}.ls-kg-wrap b.over{background:linear-gradient(90deg,#ff9a8c,var(--ls-coral))}.ls-balance{font:800 11.5px/1 Playful,sans-serif;letter-spacing:.8px;padding:6px 9px;border-radius:10px;color:#fff;min-width:84px;text-align:center;transition:background .2s}.ls-balance.good{background:var(--ls-mint)}.ls-balance.wobbly{background:#f2a51a}.ls-balance.risky{background:var(--ls-coral);animation:ls-wob .5s infinite}@keyframes ls-wob{25%{rotate:-3deg}75%{rotate:3deg}}.ls-cycles{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:6px;gap:6px}.ls-cycle{display:flex;flex-direction:column;align-items:center;gap:2px;padding:5px 2px;border-radius:14px;cursor:pointer;background:#fff;border:2px solid #d9e6ec;color:var(--ls-ink);transition:transform .15s,border-color .15s,background .15s}.ls-cycle strong{font:800 15px/1 Playful,sans-serif;letter-spacing:.6px}.ls-cycle small{font:700 10px/1 Playful,sans-serif;color:#6a8090}.ls-cycle em{font:800 9.5px/1 Playful,sans-serif;font-style:normal;padding:3px 6px;border-radius:8px}.ls-cycle em.ok{background:#dcf5ec;color:#17735f}.ls-cycle em.meh{background:#fff0cf;color:#9a6510}.ls-cycle em.bad{background:#ffe1dc;color:var(--ls-coral-deep)}.ls-cycle.c-cool.on{border-color:#4aa8f0;background:#e7f4ff;box-shadow:0 3px 0 #4aa8f0;transform:translateY(-2px)}.ls-cycle.c-warm.on{border-color:#f2a51a;background:#fff4df;box-shadow:0 3px 0 #f2a51a;transform:translateY(-2px)}.ls-cycle.c-hot.on{border-color:var(--ls-coral);background:#fff0ec;box-shadow:0 3px 0 var(--ls-coral);transform:translateY(-2px)}.ls-hamper-wrap{position:relative;min-height:66px;border-radius:16px;background:repeating-linear-gradient(90deg,#f0dfc2 0 10px,#e8d2ae 10px 20px);padding:5px}.ls-hamper{display:grid;grid-template-columns:repeat(6,1fr);grid-gap:5px;gap:5px}.ls-hamper-empty{display:none;position:absolute;inset:0;margin:0;place-items:center;font:800 14px/1 Playful,sans-serif;color:#8b6a3e}.ls-card,.ls-hamper-empty.show{display:grid}.ls-card{position:relative;height:64px;padding:0;border-radius:12px;background:#fff;border:2px solid #fff;cursor:-webkit-grab;cursor:grab;touch-action:none;box-shadow:0 2px 0 rgba(120,90,50,.35);place-items:center;transition:transform .12s;min-width:0}.ls-card:active{transform:scale(.94)}.ls-card.lifted{opacity:.35}.ls-card img{width:44px;height:44px;margin-top:-8px;pointer-events:none;filter:drop-shadow(0 2px 1px rgba(0,0,0,.15))}.ls-card i{position:absolute;top:1px;right:2px;font-style:normal;font-size:12px;line-height:1}.ls-card span{position:absolute;left:3px;bottom:2px;font:800 10.5px/1 Playful,sans-serif;color:var(--ls-ink)}.ls-card span small{font-size:8px;margin-left:1px}.ls-card em{position:absolute;right:3px;bottom:3px;font:700 7px/1 sans-serif;font-style:normal;color:#9a6a3a;letter-spacing:-.5px}.ls-card.l-moon{border-color:#d9d2ff}.ls-card.l-cloud{border-color:#cdeaf8}.ls-card.l-sun{border-color:#ffe6b3}.playful-game .ls-wash{height:50px;border-radius:18px;cursor:pointer;border:3px solid var(--ls-coral-deep);background:var(--ls-coral);color:#fff;box-shadow:inset 0 3px 0 #ffb0a6,0 5px 0 var(--ls-coral-deep);font:800 21px/1 Playful,sans-serif;letter-spacing:1px;transition:transform .12s,box-shadow .12s}.playful-game .ls-wash:active:not(:disabled){transform:translateY(3px);box-shadow:inset 0 3px 0 #ffb0a6,0 1px 0 var(--ls-coral-deep)}.playful-game .ls-wash:disabled{opacity:1;background:#c9d5dc;border-color:#9fb0ba;box-shadow:0 4px 0 #9fb0ba;cursor:not-allowed;color:#f5f9fb}.ls-spin{position:absolute;z-index:5;left:12px;right:12px;bottom:calc(env(safe-area-inset-bottom, 0px) + 14px);display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;grid-gap:8px 12px;gap:8px 12px;align-items:end}.ls-shake,.ls-walk{grid-column:1;padding:7px 10px 8px;border-radius:16px;background:var(--ls-night);border:2px solid rgba(255,255,255,.7);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:grid;grid-template-columns:auto 1fr;grid-gap:4px 8px;gap:4px 8px;align-items:center}.ls-shake span,.ls-walk span{font:800 10px/1 Playful,sans-serif;letter-spacing:1px;grid-column:1/-1}.ls-shake i,.ls-walk i{position:relative;grid-column:1/-1;height:14px;border-radius:8px;background:rgba(255,255,255,.18);overflow:hidden}.ls-shake i b,.ls-walk i b{display:block;height:100%;width:0;border-radius:8px;background:linear-gradient(90deg,#6ee7b7,#facc15 50%,#ff5a4a);transition:width .08s}.ls-shake i u{position:absolute;top:0;bottom:0;left:50%;width:2px;background:#fff;opacity:.9}.ls-shake em{grid-column:1/-1;font:700 11px/1 Playful,sans-serif;font-style:normal;opacity:.85}.ls-shake em b{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ls-shake.danger{border-color:#ff8a7a;animation:ls-wob .25s infinite}.ls-walk i b{background:linear-gradient(90deg,#ffb35c,#ff3b30)}.ls-brace{grid-column:2;grid-row:1/span 2;width:122px;height:122px;border-radius:50%;cursor:pointer;touch-action:none;color:#fff;border:4px solid #fff;background:radial-gradient(circle at 50% 32%,#6fe3c8,#1f8f78 72%);box-shadow:inset 0 3px 0 rgba(255,255,255,.35),0 7px 0 #135a4b,0 12px 24px rgba(0,0,0,.3);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;transition:transform .08s,box-shadow .08s}.ls-brace span{font:800 14px/1.05 Playful,sans-serif;letter-spacing:.6px}.ls-brace.down{transform:translateY(6px) scale(.97);box-shadow:inset 0 3px 0 rgba(255,255,255,.3),0 1px 0 #135a4b,0 0 30px rgba(110,231,200,.85)}.ls-app[data-phase=spin] .ls-brace:not(.down){animation:ls-pulse 1.2s infinite}@keyframes ls-pulse{50%{box-shadow:inset 0 3px 0 rgba(255,255,255,.35),0 7px 0 #135a4b,0 0 0 10px rgba(110,231,200,.25)}}.ls-dry{position:absolute;z-index:5;left:0;right:0;bottom:calc(env(safe-area-inset-bottom, 0px) + 18px);display:flex;justify-content:center;gap:10px;pointer-events:none}.ls-dry .ls-chip{height:36px;font-size:16px;padding:0 14px}.ls-peg-chip b{color:#ffb3c4;font-size:20px}.ls-gust{position:absolute;z-index:7;left:50%;bottom:calc(env(safe-area-inset-bottom, 0px) + 122px);transform:translate(-50%) scale(.8);opacity:0;pointer-events:none;padding:9px 18px 10px;border-radius:18px;background:#2f8fc7;border:3px solid #fff;box-shadow:0 5px 0 #1f5f86;text-align:center;transition:opacity .2s,transform .25s cubic-bezier(.3,1.6,.5,1)}.ls-gust.show{opacity:1;transform:translate(-50%)}.ls-gust b{display:block;font:800 26px/1 Playful,sans-serif;letter-spacing:2px}.ls-gust b:before{content:"⟵ "}.ls-gust[data-dir="1"] b:before{content:""}.ls-gust[data-dir="1"] b:after{content:" ⟶"}.ls-gust span{display:block;font:700 12.5px/1.2 Playful,sans-serif;margin-top:3px}.ls-ghost{position:fixed;z-index:9;left:0;top:0;width:78px;height:78px;pointer-events:none;opacity:0;transition:opacity .12s}.ls-ghost.show{opacity:1}.ls-ghost img{width:100%;height:100%;filter:drop-shadow(0 8px 6px rgba(0,0,0,.3))}.ls-keys{display:none}@media (hover:hover) and (pointer:fine) and (min-width:700px){.ls-keys{display:block;position:absolute;z-index:5;left:16px;bottom:12px;font:700 12px/1 Playful,sans-serif;color:rgba(255,255,255,.9);text-shadow:0 1px 2px rgba(0,0,0,.4);white-space:nowrap;pointer-events:none}}.playful-game .ls-menu,.playful-game .ls-results{background:linear-gradient(180deg,rgba(30,60,90,0) 30%,rgba(30,60,90,.45));backdrop-filter:none;-webkit-backdrop-filter:none;justify-content:flex-start;padding:36vh 12px calc(env(safe-area-inset-bottom, 0px) + 12px)}.playful-game .ls-results{padding-top:22vh}.ls-card-panel{width:min(440px,100%);margin:auto auto 0;flex:none;background:var(--ls-paper);color:var(--ls-ink);border:3px solid #fff;border-radius:28px;padding:13px 14px 15px;box-shadow:0 7px 0 #9fc7da,0 20px 50px rgba(20,50,80,.35);text-align:center}.ls-kicker{display:inline-block;font:800 10.5px/1 Playful,sans-serif;letter-spacing:2px;color:var(--ls-mint);background:#def5ee;border-radius:10px;padding:5px 10px}.ls-logo{margin:5px 0 4px;font:800 42px/.95 Playful,sans-serif;letter-spacing:1px;color:#fff;-webkit-text-stroke:3px var(--ls-sky);paint-order:stroke fill;text-shadow:0 5px 0 #1f5f86;transform:rotate(-2deg)}.ls-blurb{margin:6px 0 8px;font:700 13.5px/1.3 Playful,sans-serif;color:#4f6474}.ls-legend{list-style:none;margin:0 0 8px;padding:0;display:grid;grid-gap:5px;gap:5px;text-align:left}.ls-legend li{display:flex;gap:8px;align-items:center;padding:5px 9px;border-radius:12px;font:600 12px/1.25 Playful,sans-serif}.ls-legend li span{font-size:18px}.ls-legend li p{margin:0}.ls-legend li b{display:block;font:800 13px/1.1 Playful,sans-serif}.ls-legend .l-moon{background:#efecff}.ls-legend .l-moon b{color:#5b4bd0}.ls-legend .l-cloud{background:#e6f5fc}.ls-legend .l-cloud b{color:#217ea8}.ls-legend .l-sun{background:#fff3da}.ls-legend .l-sun b{color:#b8740b}.ls-rules{list-style:none;margin:0 0 11px;padding:0;text-align:left;display:grid;grid-gap:3px;gap:3px}.ls-rules li{display:flex;gap:6px;align-items:baseline;font:600 12.5px/1.3 Playful,sans-serif;color:#3d5262}.ls-rules li span{flex:none;width:18px;text-align:center}.ls-rules li p{margin:0}.playful-game .ls-card-panel button.big{width:100%;background:var(--ls-coral);color:#fff;border-color:var(--ls-coral-deep);box-shadow:inset 0 3px 0 #ffb0a6,0 5px 0 var(--ls-coral-deep);font-size:24px}.ls-best{margin:10px 0 0;font:700 12px/1.3 Playful,sans-serif;color:#6a8090}.ls-r-title{margin:0;font:800 30px/1 Playful,sans-serif;color:var(--play-accent)}.ls-r-line{margin:6px 0 2px;font:700 13.5px/1.3 Playful,sans-serif;color:#4f6474}.ls-r-score b{font:800 60px/1 Playful,sans-serif;color:var(--ls-ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ls-stars{display:flex;justify-content:center;gap:6px;margin:2px 0 8px}.ls-stars i{width:32px;height:32px;background:#dde7ec;-webkit-clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);transition:transform .3s cubic-bezier(.3,1.8,.5,1),background .2s}.ls-stars i.on{background:#ffbf2e;transform:scale(1.18) rotate(-6deg)}.ls-r-items{list-style:none;margin:0 0 8px;padding:0;display:grid;grid-template-columns:repeat(6,1fr);grid-gap:4px;gap:4px}.ls-r-items li{position:relative;border-radius:10px;background:#fff;border:2px solid #e3eef3;padding:3px 1px 2px;display:flex;flex-direction:column;align-items:center;min-width:0}.ls-r-items img{width:34px;height:34px}.ls-r-items i{position:absolute;top:0;right:1px;font-style:normal;font-size:11px}.ls-r-items span{font:700 8.5px/1 Playful,sans-serif;color:#6a8090;white-space:nowrap;overflow:hidden;max-width:100%}.ls-r-items b{font:800 11px/1.1 Playful,sans-serif;color:var(--ls-ink)}.ls-r-items .v-fresh{border-color:#bfeadc;background:#f1fbf7}.ls-r-items :is(.v-faded,.v-shrunk,.v-tinted,.v-lost){border-color:#ffd0c8;background:#fff4f2}.ls-r-items :is(.v-faded,.v-shrunk,.v-tinted,.v-lost) b{color:var(--ls-coral-deep)}.ls-r-items .v-lost img{opacity:.35}.ls-r-items .v-unwashed{opacity:.6}.ls-r-sum{list-style:none;margin:0 0 6px;padding:0;display:grid;grid-gap:3px;gap:3px}.ls-r-sum li{display:flex;justify-content:space-between;font:700 13px/1.2 Playful,sans-serif;color:#4f6474;padding:0 6px}.ls-r-sum b{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ls-ink)}.ls-r-best{margin:0 0 8px;font:800 13px/1 Playful,sans-serif;color:var(--ls-mint);min-height:13px}.ls-r-row{display:flex;gap:10px;justify-content:center;align-items:center}.playful-game .ls-r-row .share-btn{margin-top:10px;padding:8px 14px;font-size:15px}.playful-game .ls-link-btn{margin-top:10px;background:#e7f1f6;color:var(--ls-ink);border:2px solid #c8dce6;border-radius:14px;padding:9px 14px;font:800 15px/1.2 Playful,sans-serif;cursor:pointer}.playful-game .ls-loading{background:radial-gradient(ellipse at 50% 40%,#e7f6ff,#9fd2f2)}@media (min-width:760px) and (min-aspect-ratio:1/1){.playful-game .ls-menu,.playful-game .ls-results{background:linear-gradient(90deg,rgba(30,60,90,0) 40%,rgba(30,60,90,.4));align-items:flex-end;justify-content:flex-start;padding:24px 6vw 24px 24px}.ls-card-panel{margin:auto 0}.ls-logo{font-size:54px}.ls-sort{left:50%;right:auto;width:640px;transform:translateX(-50%);bottom:18px}.ls-hamper{grid-template-columns:repeat(auto-fill,minmax(70px,1fr))}.ls-card{height:74px}.ls-card img{width:52px;height:52px}.ls-app[data-phase=sort] .ls-hint{bottom:auto;top:104px}.ls-spin{left:50%;right:auto;width:520px;transform:translateX(-50%);bottom:26px}}@media (max-height:720px) and (max-width:759px){.playful-game .ls-menu{padding-top:22vh}.ls-rules{display:none}.ls-card{height:56px}.ls-card img{width:38px;height:38px}.ls-hint{bottom:calc(env(safe-area-inset-bottom, 0px) + 300px)}}