.sro-app{--sro-ink:#2f2a63;--sro-lilac:#a98dff;--sro-mint:#6ee8b0;--sro-gold:#ffd36b;--sro-rose:#ff8fae;--sro-cream:#fff8f3;--sro-glass:rgba(37,31,86,0.78);--play-accent:#a98dff;--play-ink:#2f2a63;--play-paper:#fff8f3;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:#241d4f;color:#fff}.sro-scene{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:0;touch-action:none}.sro-app:not([data-phase=play]) :is(.sro-head,.sro-stats,.sro-sched,.sro-toast,.sro-hint,.sro-panel){display:none}.sro-head{position:absolute;z-index:4;left:0;right:0;top:calc(env(safe-area-inset-top, 0px) + 8px);display:grid;grid-template-columns:44px 1fr 44px;align-items:center;grid-gap:8px;gap:8px;padding:0 12px;pointer-events:none}.sro-head>*{pointer-events:auto}.sro-icon-btn{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;cursor:pointer;background:var(--sro-glass);color:#fff;border:2px solid rgba(255,255,255,.85);box-shadow:0 3px 0 rgba(10,6,40,.3)}.sro-icon-btn .off,.sro-icon-btn[aria-pressed=true] .on{display:none}.sro-icon-btn[aria-pressed=true] .off{display:inline}.sro-pill{justify-self:center;display:inline-flex;align-items:center;gap:7px;height:42px;padding:0 12px 0 5px;border-radius:21px;max-width:100%;background:var(--sro-glass);border:2px solid rgba(255,255,255,.85);box-shadow:0 3px 0 rgba(10,6,40,.3);pointer-events:none}.sro-pill b{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--sro-lilac);font-size:16px}.sro-pill span{font:800 14px/1 Playful,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sro-pill em{font:800 10px/1 Playful,sans-serif;font-style:normal;letter-spacing:.8px;color:var(--sro-ink);background:var(--sro-gold);border-radius:8px;padding:4px 6px;white-space:nowrap}.sro-stats{position:absolute;z-index:4;left:12px;right:12px;top:calc(env(safe-area-inset-top, 0px) + 58px);display:grid;grid-template-columns:.85fr 1fr .9fr 1.1fr;grid-gap:6px;gap:6px;pointer-events:none;max-width:460px;margin:0 auto}.sro-box{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:5px 4px 6px;border-radius:13px;min-width:0;background:var(--sro-glass);border:2px solid rgba(255,255,255,.45);box-shadow:0 3px 0 rgba(10,6,40,.25)}.sro-box>span{font:800 9px/1 Playful,sans-serif;letter-spacing:1px;opacity:.8;white-space:nowrap}.sro-box>b{font:800 18px/1 Playful,sans-serif;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--sro-gold)}.sro-time-box.low b{color:#ffb3c7;animation:sro-pulse .8s ease-in-out infinite}@keyframes sro-pulse{50%{transform:scale(1.15)}}.sro-wakes{display:flex;gap:4px;height:18px;align-items:center}.sro-wakes i{width:15px;height:15px;border-radius:50%;background:radial-gradient(circle at 70% 35%,transparent 0 42%,var(--sro-gold) 44%);filter:drop-shadow(0 0 3px rgba(255,211,107,.6));transition:opacity .3s,transform .3s}.sro-wakes i.used{opacity:.22;transform:scale(.8);filter:none}.sro-sched{position:absolute;z-index:4;left:12px;right:12px;top:calc(env(safe-area-inset-top, 0px) + 110px);max-width:460px;margin:0 auto;height:34px;border-radius:12px;background:var(--sro-glass);border:2px solid rgba(255,255,255,.45);pointer-events:none;overflow:hidden}.sro-sched-now{position:absolute;left:6px;top:50%;transform:translateY(-50%);font:800 8px/1 Playful,sans-serif;letter-spacing:1px;color:var(--sro-ink);background:var(--sro-mint);padding:3px 4px;border-radius:5px;z-index:2}.sro-sched-track{position:absolute;left:40px;right:8px;top:0;bottom:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.12) 0 1px,transparent 1px 12.5%)}.sro-ev{position:absolute;top:4px;height:22px;min-width:22px;margin-left:-11px;border-radius:11px;display:flex;align-items:center;gap:2px;padding:0 4px;background:rgba(255,255,255,.92);color:var(--sro-ink);font:800 10px/1 Playful,sans-serif;white-space:nowrap;transition:left .2s linear;box-shadow:0 2px 0 rgba(10,6,40,.3)}.sro-ev b{font-size:13px;line-height:1}.sro-ev.on{background:#ffe1e8;box-shadow:0 0 0 2px var(--sro-rose);animation:sro-evp .7s ease-in-out infinite}.sro-ev.soon{box-shadow:0 0 0 2px var(--sro-gold)}@keyframes sro-evp{50%{transform:scale(1.08)}}.sro-toast{position:absolute;z-index:7;left:50%;top:27%;transform:translate(-50%,10px) scale(.9);opacity:0;pointer-events:none;font:800 20px/1.1 Playful,sans-serif;color:#fff;text-align:center;width:max-content;max-width:calc(100% - 28px);-webkit-text-stroke:6px var(--sro-ink);paint-order:stroke fill;text-shadow:0 4px 0 var(--sro-ink);transition:opacity .2s,transform .3s cubic-bezier(.3,1.6,.5,1)}.sro-toast.show{opacity:1;transform:translate(-50%)}.sro-toast[data-kind=good]{color:#d9ffec;-webkit-text-stroke-color:#2f5f7a;text-shadow:0 4px 0 #2f5f7a}.sro-toast[data-kind=bad]{color:#ffe1e8;-webkit-text-stroke-color:#8a2346;text-shadow:0 4px 0 #8a2346}.sro-toast[data-kind=warn]{color:#fff1c2;-webkit-text-stroke-color:#7a4a00;text-shadow:0 4px 0 #7a4a00}.sro-hint{position:absolute;z-index:5;left:50%;bottom:calc(env(safe-area-inset-bottom, 0px) + 186px);transform:translateX(-50%);margin:0;padding:7px 12px;border-radius:14px;background:var(--sro-glass);border:2px solid rgba(255,255,255,.55);font:700 13px/1.25 Playful,sans-serif;text-align:center;width:max-content;max-width:calc(100% - 28px);opacity:0;transition:opacity .25s;pointer-events:none}.sro-hint.show{opacity:1}.sro-hint[data-kind=bad]{border-color:#ff8fae;background:rgba(110,30,70,.85)}.sro-panel{position:absolute;z-index:6;left:8px;right:8px;bottom:calc(env(safe-area-inset-bottom, 0px) + 8px);max-width:520px;margin:0 auto;padding:7px;border-radius:22px;color:var(--sro-ink);display:grid;grid-gap:6px;gap:6px;background:var(--sro-cream);border:3px solid #fff;box-shadow:0 5px 0 #b9a6ea,0 12px 26px rgba(20,10,60,.35)}.sro-meter-row{display:grid;grid-template-columns:1fr 1.1fr;grid-gap:6px;gap:6px;align-items:center}.sro-sleep{display:flex;align-items:center;gap:5px;font-size:15px}.sro-sleep-bar{flex:1 1;height:14px;border-radius:7px;background:#e9e2fb;overflow:hidden;box-shadow:inset 0 0 0 2px #d8ccf7}.sro-sleep-bar u{display:block;height:100%;width:calc(var(--w, 0) * 100%);border-radius:7px;background:linear-gradient(90deg,var(--sro-mint),var(--sro-gold) 55%,var(--sro-rose));transition:width .15s linear}.sro-sleep-bar u.hot{animation:sro-hot .5s ease-in-out infinite}@keyframes sro-hot{50%{filter:brightness(1.3)}}.sro-wave-canvas{width:100%;height:30px;border-radius:10px;background:#2f2a63;display:block}.sro-row{display:grid;grid-template-columns:76px 1fr;grid-gap:6px;gap:6px}.sro-app .sro-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:4px 2px;min-width:0;cursor:pointer;touch-action:manipulation;border-radius:14px;border:3px solid #e7defa;background:#fff;color:var(--sro-ink);box-shadow:0 3px 0 rgba(47,42,99,.18);transition:transform .12s,border-color .15s,background .15s}.sro-toggle b{font:800 12px/1 Playful,sans-serif}.sro-toggle em{font:800 10px/1 Playful,sans-serif;font-style:normal;color:#8a7aa3}.sro-toggle[aria-pressed=true]{border-color:var(--sro-lilac);background:#f3eeff}.sro-toggle[aria-pressed=true] em{color:#6b4fd6}.sro-toggle:active{transform:translateY(2px) scale(.97)}.sro-toggle.want{animation:sro-want .7s ease-in-out infinite;border-color:var(--sro-rose)}@keyframes sro-want{50%{transform:translateY(-3px) scale(1.05)}}.sro-ic{display:block;width:26px;height:18px}.sro-ic-blind{border-radius:4px;background:linear-gradient(180deg,#3c4aa8 var(--drop,20%),#bfe2ff var(--drop,20%));box-shadow:inset 0 0 0 2px #2f2a63}.sro-toggle[aria-pressed=true] .sro-ic-blind{--drop:100%}.sro-ic-fan{width:20px;height:20px;border-radius:50%;background:conic-gradient(#ffb3c7 0 25%,transparent 0 33%,#ffb3c7 0 58%,transparent 0 66%,#ffb3c7 0 91%,transparent 0);box-shadow:0 0 0 2px #2f2a63}.sro-toggle.on .sro-ic-fan{animation:sro-spin .6s linear infinite}@keyframes sro-spin{to{transform:rotate(1turn)}}.sro-slider{display:flex;flex-direction:column;justify-content:center;gap:4px;padding:5px 8px 6px;border-radius:14px;background:#fff;box-shadow:inset 0 0 0 2px #ece5fb;min-width:0}.sro-sl-top{display:flex;align-items:center;gap:6px}.sro-sl-top b{font:800 11px/1 Playful,sans-serif;letter-spacing:1px}.sro-sl-top em{margin-left:auto;font:800 10px/1 Playful,sans-serif;font-style:normal;color:#2b8a5e;white-space:nowrap}.sro-sl-top em.bad{color:#c2345f}.sro-dot{width:10px;height:10px;border-radius:50%;display:inline-block;transition:transform .1s}.sro-dot.clock{background:var(--sro-gold);box-shadow:0 0 0 2px #c9952a}.sro-dot.fan{background:#ffb3c7;box-shadow:0 0 0 2px #d65f84}.sro-dot.pop{transform:scale(1.6)}.sro-sl-track{position:relative;display:block;height:26px}.sro-band,.sro-notch{position:absolute;top:7px;height:12px;border-radius:6px;pointer-events:none}.sro-band{left:calc(14px + var(--lo, 0) * (100% - 28px));width:calc((var(--hi, 1) - var(--lo, 0)) * (100% - 28px));background:rgba(110,232,176,.55);box-shadow:0 0 0 2px #3fc58a}.sro-notch{left:calc(14px + var(--v, .33) * (100% - 28px));width:calc(var(--tw, .12) * (100% - 28px));min-width:14px;transform:translateX(-50%);background:rgba(255,211,107,.7);box-shadow:0 0 0 2px #c9952a}.sro-app .sro-slider input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;inset:0;width:100%;height:26px;margin:0;background:transparent;cursor:pointer;touch-action:none}.sro-slider input[type=range]::-webkit-slider-runnable-track{height:8px;border-radius:4px;background:linear-gradient(90deg,#2f2a63,#8e7ad8 50%,#ffd36b)}.sro-fan-box input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg,#bfe2ff,#8e7ad8 60%,#ff8fae)}.sro-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:28px;height:28px;margin-top:-10px;border-radius:50%;background:#fff;border:4px solid var(--sro-ink);box-shadow:0 2px 0 rgba(47,42,99,.4)}.sro-slider input[type=range]::-moz-range-track{height:8px;border-radius:4px;background:linear-gradient(90deg,#2f2a63,#8e7ad8 50%,#ffd36b)}.sro-slider input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:#fff;border:4px solid var(--sro-ink)}.playful-game .sro-menu,.playful-game .sro-results{background:linear-gradient(180deg,rgba(36,29,79,0) 30%,rgba(36,29,79,.55));backdrop-filter:none;-webkit-backdrop-filter:none;justify-content:flex-start;padding:10vh 12px calc(env(safe-area-inset-bottom, 0px) + 12px)}.sro-card{position:relative;width:min(440px,100%);margin:auto auto 0;flex:none;color:var(--sro-ink);border-radius:26px;padding:14px;text-align:center;border:3px solid #fff;background:radial-gradient(circle at 12px 12px,rgba(169,141,255,.14) 3px,transparent 4px) 0 0 /24px 24px,#fff8f3;box-shadow:0 7px 0 #b9a6ea,0 20px 50px rgba(20,10,60,.45)}.sro-kicker{display:inline-block;font:800 10px/1 Playful,sans-serif;letter-spacing:1.6px;color:#fff;background:var(--sro-lilac);border-radius:8px;padding:5px 9px}.sro-logo{margin:8px 0 4px;font:800 36px/.92 Playful,sans-serif;letter-spacing:1px;color:var(--sro-gold);-webkit-text-stroke:4px var(--sro-ink);paint-order:stroke fill;text-shadow:0 6px 0 #8e7ad8;transform:rotate(-2deg)}.sro-menu-night{margin:6px 0 0;font:800 13px/1 Playful,sans-serif;color:#6b4fd6}.sro-rules{list-style:none;margin:8px 0 10px;padding:10px;text-align:left;display:grid;grid-gap:6px;gap:6px;background:#fff;border-radius:14px;box-shadow:inset 0 0 0 2px #ece5fb}.sro-rules li{display:flex;gap:7px;align-items:baseline;font:600 12.5px/1.3 Playful,sans-serif;color:#4f4a72}.sro-rules li span{flex:none;width:18px;text-align:center}.sro-rules li p{margin:0}.sro-rules b{color:#6b4fd6}.playful-game .sro-card button.big{width:100%;background:var(--sro-lilac);color:#fff;border-color:#6b4fd6;box-shadow:inset 0 3px 0 #d6c9ff,0 5px 0 #6b4fd6;font-size:22px}.sro-menu-best{margin:8px 0 0;font:800 13px/1 Playful,sans-serif;color:#8a5a00;min-height:13px}.sro-note{margin:6px 0 0;font:700 11px/1.25 Playful,sans-serif;color:#8a7aa3}.sro-r-title{margin:6px 0 0;font:800 28px/1 Playful,sans-serif}.sro-r-title.good{color:#6b4fd6}.sro-r-title.bad{color:#8a2346}.sro-r-score{display:flex;align-items:baseline;justify-content:center;gap:6px}.sro-r-score b{font:800 50px/1 Playful,sans-serif;color:var(--sro-ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sro-r-score span{font:800 15px/1 Playful,sans-serif;color:#8a7aa3}.sro-stars{display:flex;justify-content:center;gap:6px;margin:2px 0}.sro-stars i{width:30px;height:30px;background:rgba(47,42,99,.18);-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}.sro-stars i.on{background:#ffc61a;transform:scale(1.18) rotate(-6deg)}.sro-r-line{margin:6px 0 8px;font:700 13px/1.3 Playful,sans-serif;color:#4f4a72}.sro-r-stats{list-style:none;margin:0 0 6px;padding:0;display:grid;grid-template-columns:repeat(4,1fr);grid-gap:5px;gap:5px}.sro-r-stats li{display:flex;flex-direction:column;gap:3px;padding:7px 2px;border-radius:12px;background:#fff}.sro-r-stats b{font:800 18px/1 Playful,sans-serif;color:var(--sro-ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sro-r-stats span{font:700 10px/1 Playful,sans-serif;color:#8a7aa3}.sro-r-best{margin:2px 0 10px;font:800 13px/1 Playful,sans-serif;color:#c2457a;min-height:13px}.sro-r-row{display:flex;gap:8px;justify-content:center;align-items:center;flex-wrap:wrap}.playful-game .sro-r-row .share-btn{margin-top:10px;padding:8px 14px;font-size:15px}.sro-app .sro-link-btn{margin-top:10px;background:#fff;color:var(--sro-ink);border:2px solid #ece5fb;border-radius:14px;padding:9px 14px;font:800 15px/1.2 Playful,sans-serif;cursor:pointer}.playful-game .sro-loading{background:radial-gradient(ellipse at 50% 40%,#fff8f3,#c9bdf0)}@media (min-width:760px) and (min-aspect-ratio:1/1){.playful-game .sro-menu,.playful-game .sro-results{background:linear-gradient(90deg,rgba(36,29,79,0) 45%,rgba(36,29,79,.5));align-items:flex-end;justify-content:flex-start;padding:24px 5vw 24px 24px}.sro-card{margin:auto 0}.sro-logo{font-size:46px}}@media (max-height:700px){.sro-rules{display:none}}