.sfs-app{--sfs-ink:#4a2f55;--sfs-paper:#fffaf8;--sfs-pink:#ff6f9e;--sfs-rose:#ffb3cb;--sfs-mint:#3fc7a6;--sfs-lilac:#9c7cf0;--sfs-gold:#ffcf4d;--sfs-sky:#57b6f5;--play-accent:#e2577f;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:#f7dce5;color:#fff}.sfs-scene{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:0;touch-action:none}.sfs-app:not([data-phase=play]) :is(.sfs-head,.sfs-hint,.sfs-bottom,.sfs-quit,.sfs-mapbtn,.sfs-toast,.sfs-banner){display:none}.sfs-head{position:absolute;z-index:4;left:12px;right:12px;top:calc(env(safe-area-inset-top, 0px) + 10px);pointer-events:none;display:grid;grid-template-columns:auto auto 1fr;grid-template-rows:40px 34px;grid-gap:8px 8px;gap:8px 8px;align-items:center}.sfs-pill{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 12px;border-radius:20px;background:rgba(74,47,85,.84);border:2px solid rgba(255,255,255,.92);box-shadow:0 3px 0 rgba(74,47,85,.25);color:#fff}.sfs-pill b{font:800 18px/1 Playful,sans-serif;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sfs-pill small{font:800 10px/1 Playful,sans-serif;letter-spacing:1px;opacity:.85}.sfs-clock{flex-direction:column;justify-content:center;align-items:stretch;gap:3px;min-width:70px;background:var(--sfs-pink)}.sfs-clock b{font-size:16px;text-align:center}.sfs-track{display:block;height:5px;border-radius:3px;background:rgba(255,255,255,.3);overflow:hidden}.sfs-track i{display:block;height:100%;background:#fff;transform-origin:left;transition:background .3s,transform .12s}.sfs-clock .sfs-track i[data-level=mid]{background:var(--sfs-gold)}.sfs-clock .sfs-track i[data-level=low]{background:#6a2b46}.sfs-hurry .sfs-clock{animation:sfs-pulse .5s ease-in-out infinite alternate;background:#e03c68}@keyframes sfs-pulse{to{transform:scale(1.07)}}.sfs-knotpill{background:var(--sfs-lilac)}.sfs-knotpill small{font-size:13px;opacity:.9}.sfs-comfort{grid-column:1/-1;grid-row:2;height:34px;padding:0 10px 0 12px;gap:9px;background:rgba(255,250,248,.92);color:var(--sfs-ink);border-color:#fff}.sfs-comfort small{color:#9a6f8a}.sfs-meter{flex:1 1;height:10px;border-radius:5px;background:#f2dfe7;box-shadow:inset 0 1px 2px rgba(74,47,85,.2)}.sfs-meter i{background:var(--sfs-mint)}.sfs-meter i[data-level=mid]{background:var(--sfs-gold)}.sfs-meter i[data-level=low]{background:#ff4f7e;animation:sfs-throb .35s ease-in-out infinite alternate}@keyframes sfs-throb{to{filter:brightness(1.25)}}.sfs-hearts{display:flex;gap:3px;margin:0;padding:0;list-style:none}.sfs-hearts li{width:18px;height:16px;background:var(--sfs-pink);-webkit-clip-path:path("M9 16 C-4 7 2 -2 9 4 C16 -2 22 7 9 16 Z");clip-path:path("M9 16 C-4 7 2 -2 9 4 C16 -2 22 7 9 16 Z");transition:transform .3s,background .3s}.sfs-hearts li.lost{background:#e3cbd6;transform:scale(.8)}.sfs-hint{position:absolute;z-index:4;left:50%;transform:translateX(-50%);bottom:calc(env(safe-area-inset-bottom, 0px) + 100px);width:max-content;max-width:calc(100% - 24px);display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 14px;border-radius:14px;pointer-events:none;background:rgba(74,47,85,.8);color:#fff;text-align:center}.sfs-hint b{font:800 15px/1.15 Playful,sans-serif}.sfs-hint small{font:700 12px/1.25 Playful,sans-serif;opacity:.88}.sfs-toast{position:absolute;z-index:7;left:50%;top:calc(env(safe-area-inset-top, 0px) + 104px);transform:translate(-50%);opacity:0;pointer-events:none;padding:8px 16px;border-radius:16px;font:800 15px/1.1 Playful,sans-serif;white-space:nowrap;max-width:calc(100% - 20px);background:rgba(74,47,85,.92);color:#fff;border:2px solid rgba(255,255,255,.9)}.sfs-toast[data-kind=good]{background:#23b28c}.sfs-toast[data-kind=bad]{background:#e03c68}.sfs-toast[data-kind=warn]{background:#b46ae0}.sfs-toast.show{animation:sfs-toast 1.7s ease forwards}@keyframes sfs-toast{0%{opacity:0;transform:translate(-50%,12px) scale(.85)}10%,78%{opacity:1;transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-50%,-14px)}}.sfs-banner{position:absolute;z-index:7;left:50%;top:74%;transform:translate(-50%,-50%) rotate(-4deg) scale(.5);opacity:0;pointer-events:none;display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 26px 16px;border-radius:24px;max-width:calc(100% - 30px);background:linear-gradient(135deg,#ff8fb4,#ff6f9e 50%,#b48cff);color:#fff;border:4px solid #fff;box-shadow:0 7px 0 #b8467a,0 16px 40px rgba(74,47,85,.3)}.sfs-banner b{font:800 34px/1 Playful,sans-serif;letter-spacing:1px;text-shadow:0 3px 0 #b8467a;white-space:nowrap}.sfs-banner span{font:800 15px/1.2 Playful,sans-serif;text-align:center}.sfs-banner span:empty{display:none}.sfs-banner.show{animation:sfs-banner var(--ms,1.8s) cubic-bezier(.3,1.4,.5,1) forwards}@keyframes sfs-banner{0%{opacity:0;transform:translate(-50%,-50%) rotate(-12deg) scale(.4)}14%{opacity:1;transform:translate(-50%,-50%) rotate(-3deg) scale(1.08)}22%,82%{opacity:1;transform:translate(-50%,-50%) rotate(-4deg) scale(1)}to{opacity:0;transform:translate(-50%,-70%) rotate(-4deg) scale(.9)}}.sfs-bottom{position:absolute;z-index:4;left:12px;right:12px;bottom:calc(env(safe-area-inset-bottom, 0px) + 12px);display:flex;align-items:stretch;gap:8px;max-width:520px;margin:0 auto}.sfs-tools{flex:1 1;display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px}.sfs-tool{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;height:74px;border-radius:22px;cursor:pointer;background:rgba(255,250,248,.95);color:#b38aa3;border:3px solid #fff;box-shadow:0 5px 0 rgba(74,47,85,.22);font:800 14px/1 Playful,sans-serif;transition:transform .12s,background .2s,color .2s}.sfs-tool kbd{position:absolute;top:6px;right:9px;font:800 10px/1 Playful,sans-serif;opacity:.45}.sfs-tool:active{transform:translateY(3px);box-shadow:0 2px 0 rgba(74,47,85,.22)}.sfs-tool[aria-pressed=true]{color:#fff;transform:translateY(-3px)}.sfs-tool[data-tool=foam][aria-pressed=true]{background:linear-gradient(#ffa3c4,#ff6f9e);box-shadow:0 6px 0 #c4447c}.sfs-tool[data-tool=comb][aria-pressed=true]{background:linear-gradient(#66e0c4,#2fb592);box-shadow:0 6px 0 #1d8a6d}.sfs-tool[data-tool=rinse][aria-pressed=true]{background:linear-gradient(#8fd2ff,#3fa2ea);box-shadow:0 6px 0 #2273b3}.sfs-tool.nudge:not([aria-pressed=true]){animation:sfs-nudge .9s ease-in-out infinite;color:var(--sfs-pink)}@keyframes sfs-nudge{50%{transform:translateY(-6px);box-shadow:0 0 0 4px var(--sfs-gold),0 8px 0 rgba(74,47,85,.22)}}.sfs-gauge{position:absolute;left:9px;top:12px;bottom:12px;width:7px;border-radius:4px;background:rgba(74,47,85,.14);overflow:hidden}.sfs-gauge i{position:absolute;inset:0;background:#57b6f5;transform-origin:bottom;transition:transform .15s}.sfs-tool[aria-pressed=true] .sfs-gauge{background:rgba(255,255,255,.3)}.sfs-tool[aria-pressed=true] .sfs-gauge i{background:#fff}.sfs-gauge i[data-level=low]{background:#ff6f9e!important}.sfs-finish{display:none;flex:0 0 82px;border-radius:22px;cursor:pointer;color:#604619;border:3px solid #fff;background:linear-gradient(#ffe08a,#ffc23d);box-shadow:0 5px 0 #bb842e;font:800 15px/1.1 Playful,sans-serif}.sfs-finish.show{display:block;animation:sfs-pop .4s cubic-bezier(.3,1.6,.5,1)}@keyframes sfs-pop{0%{transform:scale(.4)}}.sfs-corner{position:absolute;z-index:8;top:calc(env(safe-area-inset-top, 0px) + 10px);right:12px;display:flex;gap:6px}.sfs-app[data-phase=loading] .sfs-corner{display:none}.sfs-icon-btn{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;cursor:pointer;color:#fff;background:rgba(74,47,85,.82);border:2px solid rgba(255,255,255,.9);box-shadow:0 3px 0 rgba(0,0,0,.2)}.sfs-icon-btn .off{display:none}.sfs-icon-btn[aria-pressed=true] .off{display:block}.sfs-icon-btn[aria-pressed=true] .on{display:none}.sfs-mapbtn[aria-pressed=true]{background:var(--sfs-gold);color:var(--sfs-ink)}.sfs-app:not([data-phase=play]) .sfs-corner{top:calc(env(safe-area-inset-top, 0px) + 14px)}.sfs-app .overlay{background:linear-gradient(180deg,rgba(255,236,242,.1),rgba(74,47,85,.42));backdrop-filter:none;-webkit-backdrop-filter:none}.sfs-app .sfs-loading{background:linear-gradient(#ffe6ee,#f6dcff 60%,#dff3f4)}.sfs-panel{position:relative;width:min(400px,100%);margin:auto;padding:22px 22px 20px;border-radius:30px;text-align:center;color:var(--sfs-ink);background:var(--sfs-paper);border:4px solid #fff;box-shadow:0 8px 0 rgba(74,47,85,.25),0 20px 50px rgba(74,47,85,.3)}.sfs-panel:before{content:"";position:absolute;inset:7px;border:2px dashed rgba(255,111,158,.32);border-radius:23px;pointer-events:none}.sfs-kicker{font:800 12px/1 Playful,sans-serif;letter-spacing:2px;color:var(--sfs-pink)}.sfs-title{margin:8px 0 6px;font:800 46px/.92 Playful,sans-serif;color:#fff;letter-spacing:-1px;-webkit-text-stroke:2px var(--sfs-ink);paint-order:stroke fill;text-shadow:0 5px 0 var(--sfs-pink);transform:rotate(-3deg)}.sfs-title span{font-size:54px;color:#d6fff3;text-shadow:0 5px 0 var(--sfs-mint)}.sfs-blurb{margin:10px 0 12px;font:700 14px/1.35 Playful,sans-serif;color:#7d5d76}.sfs-rules{list-style:none;margin:0 0 12px;padding:0;display:grid;grid-gap:8px;gap:8px;text-align:left}.sfs-rules li{display:grid;grid-template-columns:26px 1fr;grid-column-gap:10px;column-gap:10px;align-items:start;font:600 13px/1.3 Playful,sans-serif;color:#7d5d76}.sfs-rules li p{margin:0}.sfs-rules li b{color:var(--sfs-ink)}.sfs-rules li span{width:26px;height:26px;border-radius:50%;background:var(--sfs-pink);color:#fff;display:grid;place-items:center;font:800 15px/1 Playful,sans-serif}.sfs-rules li:nth-child(2) span{background:var(--sfs-mint)}.sfs-rules li:nth-child(3) span{background:var(--sfs-sky)}.sfs-rules li:nth-child(4) span{background:var(--sfs-lilac)}.sfs-booking{display:flex;align-items:center;gap:12px;margin:0 0 12px;padding:10px 12px;border-radius:18px;background:#fdeef3;text-align:left}.sfs-swatch{flex:0 0 38px;height:38px;border-radius:50%;border:3px solid #fff;box-shadow:0 2px 0 rgba(74,47,85,.2);background:var(--sfs-rose)}.sfs-booking div{display:flex;flex-direction:column;gap:2px}.sfs-booking small{font:800 10px/1 Playful,sans-serif;letter-spacing:1.5px;color:#b38aa3}.sfs-booking b{font:800 18px/1 Playful,sans-serif;color:var(--sfs-ink)}.sfs-booking span{font:700 12px/1.2 Playful,sans-serif;color:#7d5d76}.sfs-app button.big{position:relative;width:100%;background:linear-gradient(#ff97bb,#ff5f92);color:#fff;border-color:#ffd9e6;box-shadow:inset 0 3px 0 rgba(255,255,255,.35),0 5px 0 #c4447c}.sfs-app button.big:active{box-shadow:0 1px 0 #c4447c}.sfs-best{margin:10px 0 0;font:700 13px/1.3 Playful,sans-serif;color:#7d5d76}.sfs-best:empty{display:none}.sfs-note{margin:8px 0 0;font:600 11px/1.3 Playful,sans-serif;color:#ad93a6}.sfs-link-btn{position:relative;background:none;border:0;color:var(--sfs-pink);font:800 14px/1 Playful,sans-serif;text-decoration:underline;cursor:pointer;padding:8px 6px}.sfs-app .sfs-results{background:linear-gradient(180deg,rgba(255,236,242,0) 30%,rgba(74,47,85,.35));justify-content:flex-end;align-items:center;padding:0 12px 12px}.sfs-results .sfs-panel{margin:0;padding:16px 18px 14px;max-height:60dvh;overflow-y:auto}.sfs-r-client{margin:0 0 4px;font:800 12px/1 Playful,sans-serif;letter-spacing:1px;color:#b38aa3}.sfs-result-title{position:relative;margin:0;font:800 28px/1 Playful,sans-serif;color:var(--sfs-pink)}.sfs-stars{display:flex;justify-content:center;gap:6px;margin:8px 0 2px}.sfs-stars i{width:34px;height:34px;background:#ead9e1;-webkit-clip-path:polygon(50% 0,62% 35%,100% 38%,70% 60%,80% 100%,50% 77%,20% 100%,30% 60%,0 38%,38% 35%);clip-path:polygon(50% 0,62% 35%,100% 38%,70% 60%,80% 100%,50% 77%,20% 100%,30% 60%,0 38%,38% 35%)}.sfs-stars i.on{background:linear-gradient(#ffe27a,#ffb52e);animation:sfs-star .5s cubic-bezier(.3,1.7,.5,1) both;animation-delay:var(--d)}@keyframes sfs-star{0%{transform:scale(0) rotate(-40deg)}}.sfs-result-line{margin:5px 0 6px;font:700 13px/1.3 Playful,sans-serif;color:#7d5d76}.sfs-result-big{display:flex;align-items:baseline;justify-content:center;gap:6px}.sfs-result-big b{font:800 44px/1 Playful,sans-serif;color:var(--sfs-ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sfs-result-big span{font:800 14px/1 Playful,sans-serif;color:#b38aa3}.sfs-result-list{display:grid;grid-template-columns:1fr 1fr;grid-gap:5px 8px;gap:5px 8px;margin:8px 0 10px}.sfs-result-list div{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;border-radius:10px;background:#fdeef3;font:700 13px/1.2 Playful,sans-serif}.sfs-result-list dt{color:#9a6f8a}.sfs-result-list dd{margin:0;color:var(--sfs-ink);font-weight:800}.sfs-result-btns{display:grid;grid-template-columns:1fr 1fr;grid-gap:2px 6px;gap:2px 6px;align-items:center}.sfs-result-btns button.big{grid-column:1/-1}.sfs-app .share-btn{position:relative;width:100%;color:var(--sfs-pink);margin-top:8px;padding:8px 18px;font-size:16px}.sfs-allgames{display:inline-block;margin-top:8px;color:#9a6f8a;font:800 13px/1 Playful,sans-serif;text-decoration:none}@media (min-width:700px){.sfs-head{left:24px;right:auto;top:18px;grid-template-columns:auto auto 300px;grid-template-rows:40px}.sfs-comfort{grid-column:3;grid-row:1;height:40px}.sfs-toast{top:76px}.sfs-hint{bottom:112px}.sfs-app .sfs-menu{justify-content:center;align-items:flex-end;padding:24px 6vw}.sfs-menu .sfs-panel{margin:auto 0}.sfs-app .sfs-results{justify-content:center;align-items:flex-end;padding:24px 40px}.sfs-results .sfs-panel{width:420px;max-height:calc(100dvh - 48px)}}@media (max-height:740px) and (max-width:700px){.sfs-rules li{font-size:12px}.sfs-title{font-size:38px}.sfs-title span{font-size:44px}.sfs-blurb{display:none}}