@font-face{font-family:Poppins;src:url(./Poppins-Medium-Cxde2ZoM.ttf)format("truetype");font-weight:500 700;font-display:swap}@font-face{font-family:Pacifico Title;src:url(./Pacifico-Title-0bMVIc6w.woff2)format("woff2");font-display:block}:root{--inset-top:env(safe-area-inset-top,0px);--inset-right:env(safe-area-inset-right,0px);--inset-bottom:env(safe-area-inset-bottom,0px);--inset-left:env(safe-area-inset-left,0px);--ui-w:min(100vw, 100dvh);--ui-left:calc((100vw - var(--ui-w)) / 2);--bg-top:#2f6f69;--bg-bottom:#173a3a;--yellow:#fffc00;--yellow-press:#e8e400;--green:#4ade3a;--ink:#111;--pill-bg:#141418d1;--pill-ink:#fff;--disabled-bg:#ffffffd1;--disabled-ink:#11111159;--night:#0b1530;--font:"Poppins", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}html,body{background:var(--bg-bottom);touch-action:none;overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;width:100%;height:100%;font-family:var(--font);color:#fff;margin:0;overflow:hidden}@property --bg-top{syntax:"<color>";inherits:true;initial-value:#2f6f69}@property --bg-bottom{syntax:"<color>";inherits:true;initial-value:#173a3a}#bg{background:linear-gradient(180deg, var(--bg-top) 0%, var(--bg-top) 55%, var(--bg-bottom) 100%);transition:--bg-top 1s,--bg-bottom 1s;position:fixed;top:0;bottom:0;left:0;right:0}#app{width:100%;height:100%;display:block;position:fixed;top:0;bottom:0;left:0;right:0}.hud{width:var(--ui-w);pointer-events:none;margin:0 auto;position:fixed;top:0;bottom:0;left:0;right:0}.hud button{pointer-events:auto}.room-title{left:calc(var(--inset-left) + 18px);top:calc(var(--inset-top) + 62px);font-size:clamp(20px, calc(var(--ui-w) * .055), 26px);white-space:nowrap;text-shadow:0 2px 8px #00000040;opacity:0;font-weight:600;transition:opacity .3s;position:absolute}.room-title.show{opacity:1}.wide-layout .room-title{left:auto;right:calc(var(--inset-right) + 16px);top:calc(var(--inset-top) + 14px);text-align:right}.wide-layout.challenge-mode .room-title{left:calc(var(--inset-left) + 18px);right:auto;top:calc(var(--inset-top) + 64px);text-align:left}.wide-layout .night-toggle{top:calc(var(--inset-top) + 58px)}.wide-layout .night-arrow{top:calc(var(--inset-top) + 64px)}.wide-layout.challenge-mode .night-toggle{top:calc(var(--inset-top) + 72px)}.progress{top:calc(var(--inset-top) + 12px);right:calc(var(--inset-right) + 16px);background:#00000038;border-radius:999px;align-items:center;gap:8px;padding:10px 12px;font-size:14px;font-weight:600;display:flex;position:absolute}.progress-track{width:clamp(32px, calc(var(--ui-w) * .12), 120px);background:#ffffff40;border-radius:999px;height:8px;overflow:hidden}.progress-fill{border-radius:inherit;background:var(--yellow);width:5%;height:100%;transition:width .4s cubic-bezier(.34,1.56,.64,1)}.progress-label{text-align:right;font-variant-numeric:tabular-nums;min-width:2.6em}.hints{left:0;right:0;bottom:calc(var(--inset-bottom) + 150px);pointer-events:none;justify-items:center;display:grid;position:absolute}.hint{background:var(--pill-bg);color:var(--pill-ink);opacity:0;border-radius:999px;grid-area:1/1;padding:7px 14px;font-size:13px;transition:transform .35s,opacity .35s;transform:translateY(8px)}.hint.show{opacity:1;transform:none}.toast{left:50%;bottom:calc(var(--inset-bottom) + 150px);background:var(--pill-bg);width:max-content;max-width:calc(100% - 32px);color:var(--pill-ink);text-align:center;opacity:0;border-radius:16px;padding:9px 16px;font-size:14px;transition:opacity .3s,transform .3s;position:absolute;transform:translate(-50%,8px)}.toast.show{opacity:1;transform:translate(-50%)}.avatar{left:calc(var(--inset-left) + 4px);width:min(calc(var(--ui-w) * .42), 200px);aspect-ratio:1/1.05;pointer-events:none;position:absolute;bottom:0}.avatar img{z-index:1;left:17%;bottom:calc(var(--inset-bottom) + 22%);filter:drop-shadow(0 4px 10px #00000040);width:66%;display:none;position:absolute}.avatar.has-bitmoji img{display:block}.avatar .box{left:0;bottom:calc(var(--inset-bottom) + 6px);filter:drop-shadow(0 6px 10px #0000004d);width:100%;animation:2.4s ease-in-out infinite bob;position:absolute}@keyframes bob{50%{transform:translateY(-4px)rotate(-1deg)}}.controls{right:calc(var(--inset-right) + 16px);bottom:calc(var(--inset-bottom) + 20px);flex-direction:column;align-items:flex-end;gap:12px;display:flex;position:absolute}.controls .row{align-items:center;gap:12px;display:flex}.room-menu{pointer-events:auto;background:#fbf7f0;border-radius:18px;flex-direction:column;gap:2px;min-width:200px;max-height:60vh;padding:6px;display:flex;position:absolute;bottom:calc(100% + 8px);right:0;overflow-y:auto;box-shadow:0 10px 30px #0000004d}.room-menu[hidden]{display:none}.room-menu button{color:#3b302b;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;justify-content:space-between;align-items:baseline;gap:12px;margin:0;padding:10px 12px;font-size:15px;font-weight:600;display:flex}.room-menu button:hover{background:#f1ebe3}.room-menu button.current{color:#fff;background:#3b302b}.room-menu small{opacity:.6;font-size:11.5px;font-weight:500}.ask{opacity:0;visibility:hidden;pointer-events:none;z-index:20;background:#0a141873;place-items:center;padding:16px;transition:opacity .25s,visibility 0s .25s;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.ask.open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .25s}.ask-card{color:#3b302b;text-align:center;background:#fbf7f0;border-radius:22px;width:min(100%,340px);padding:20px 18px 16px;box-shadow:0 10px 40px #00000059}.ask-card h2{margin:0 0 6px;font-size:19px;font-weight:600}.ask-media{aspect-ratio:10/11;background:#2f6f69;border-radius:16px;width:min(100%,38vh);margin:6px auto 12px;position:relative;overflow:hidden}.ask-media[hidden]{display:none}.ask-media img{object-fit:cover;opacity:0;width:100%;height:100%;animation-name:frame;animation-timing-function:ease-in-out;animation-iteration-count:infinite;position:absolute;top:0;bottom:0;left:0;right:0}.ask-media img:first-child{opacity:1}@keyframes frame{0%,to{opacity:0}8%,33%{opacity:1}41%{opacity:0}}.ask-card p{color:#8a7a70;margin:0 0 16px;font-size:14px}.ask-buttons{justify-content:center;gap:10px;display:flex}.ask-buttons .btn.pill{flex:1;min-width:0;padding:0 12px}.btn.pill.light{color:#3b302b;background:#f1ebe3}.settings-btn{top:calc(var(--inset-top) + 62px);right:calc(var(--inset-right) + 90px);cursor:pointer;background:#00000038;border:0;border-radius:50%;place-items:center;width:34px;height:34px;margin:0;padding:0;display:grid;position:absolute}.settings-btn svg{fill:#fff;width:20px;height:20px}.wide-layout .settings-btn{top:calc(var(--inset-top) + 58px)}.wide-layout.challenge-mode .settings-btn{top:calc(var(--inset-top) + 72px)}.night-arrow{margin-right:42px}.settings .ask-card{text-align:left;flex-direction:column;gap:12px;display:flex}.settings h2{text-align:center;margin-bottom:4px}.set-row{justify-content:space-between;align-items:center;gap:14px;font-size:15px;font-weight:600;display:flex}.set-row input[type=range]{--fill:100%;-webkit-appearance:none;appearance:none;background:linear-gradient(90deg, #f7cd6a var(--fill), #e9e1d8 var(--fill));cursor:pointer;border-radius:999px;flex:1;max-width:150px;height:12px;margin:0;box-shadow:inset 0 1px 2px #0000001f}.set-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#fff;border:3px solid #3b302b;border-radius:50%;width:26px;height:26px;transition:transform .15s;box-shadow:0 2px 6px #00000040}.set-row input[type=range]:active::-webkit-slider-thumb{transform:scale(1.15)}.set-row input[type=range]::-moz-range-thumb{background:#fff;border:3px solid #3b302b;border-radius:50%;width:20px;height:20px;box-shadow:0 2px 6px #00000040}.set-row input[type=range]:focus-visible{outline-offset:4px;outline:2px solid #3b302b}.set-row input[type=checkbox]{-webkit-appearance:none;appearance:none;cursor:pointer;background:#d8cfc6;border-radius:999px;width:50px;height:28px;margin:0;transition:background .25s;position:relative}.set-row input[type=checkbox]:after{content:"";background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .25s cubic-bezier(.34,1.4,.64,1);position:absolute;top:3px;left:3px;box-shadow:0 1px 4px #00000040}.set-row input[type=checkbox]:checked{background:#3b302b}.set-row input[type=checkbox]:checked:after{transform:translate(22px)}.btn.pill.set-reset{color:#fff;background:#e5484d;margin-top:6px}.settings .btn.pill{width:100%}.sheet-open .controls{bottom:calc(var(--sheet-h) + 12px)}.sheet-open .toast{bottom:calc(var(--sheet-h) + 136px)}.sheet-open .hints{bottom:calc(var(--sheet-h) + 132px)}body:not(.wide-layout).story-mode:not(.sheet-open) .hints{bottom:calc(var(--inset-bottom) + 212px)}.btn{font:inherit;color:var(--ink);background:var(--yellow);cursor:pointer;border:0;margin:0;font-weight:600;transition:transform .12s,background .2s,opacity .2s;box-shadow:0 4px #0000002e,0 6px 16px #0003}.btn:active:not(:disabled){background:var(--yellow-press);transform:translateY(2px)scale(.96)}.btn:disabled{background:var(--disabled-bg);color:var(--disabled-ink);box-shadow:none;cursor:default}.btn.pill{border-radius:999px;min-width:132px;height:48px;padding:0 22px;font-size:17px}.btn.round{border-radius:50%;place-items:center;width:48px;height:48px;display:grid}.btn[hidden]{display:none}.btn.round svg{width:26px;height:26px;fill:var(--ink)}.btn.flash{background:var(--green)}.btn.pop{animation:.35s pop}@keyframes pop{40%{transform:scale(1.12)}}.topbar{top:calc(var(--inset-top) + 12px);left:calc(var(--inset-left) + 16px);gap:8px;display:flex;position:absolute}.mode-switch{background:#00000038;border-radius:999px;padding:4px;display:flex}.mode-switch button{color:#fff;font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:999px;margin:0;padding:7px 8px;font-size:12px;font-weight:600;transition:background .2s,color .2s}.mode-switch button[aria-selected=true]{background:var(--yellow);color:var(--ink)}.night-toggle{top:calc(var(--inset-top) + 62px);right:calc(var(--inset-right) + 16px);cursor:pointer;background:#00000038;border:0;border-radius:999px;justify-content:space-between;align-items:center;width:66px;height:34px;margin:0;padding:0 7px;font-size:14px;line-height:1;transition:background .3s;display:flex;position:absolute}.nt-icon{z-index:1;transition:opacity .3s;position:relative}.nt-knob{background:var(--yellow);border-radius:50%;width:28px;height:28px;transition:transform .3s cubic-bezier(.34,1.4,.64,1),background .3s;position:absolute;top:3px;left:3px;box-shadow:0 2px 6px #0000004d}.night-toggle[aria-pressed=true]{background:#2f3a56}.night-toggle[aria-pressed=true] .nt-knob{background:#cfe6f2;transform:translate(32px)}.night-toggle[aria-pressed=false] .nt-icon:nth-child(2),.night-toggle[aria-pressed=true] .nt-icon:first-child{opacity:.55}.night-arrow{top:calc(var(--inset-top) + 68px);right:calc(var(--inset-right) + 90px);background:var(--yellow);color:var(--ink);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12.5px;font-weight:600;animation:1.2s ease-in-out infinite point;display:none;position:absolute;box-shadow:0 3px 10px #00000040}.night-arrow.show{display:flex}@keyframes point{50%{transform:translate(6px)}}body:not(.wide-layout).story-mode .night-arrow{top:calc(var(--inset-top) + 108px);right:calc(var(--inset-right) + 12px);margin-right:0;animation:1.2s ease-in-out infinite point-up}body:not(.wide-layout).story-mode .night-arrow span{display:none}body:not(.wide-layout).story-mode .night-arrow:before{content:"";border:7px solid #0000;border-top:0;border-bottom-color:var(--yellow);position:absolute;top:-7px;right:30px}@keyframes point-up{50%{transform:translateY(-5px)}}#bg:after{content:"";background:var(--night);opacity:0;transition:opacity 1.2s;position:absolute;top:0;bottom:0;left:0;right:0}.night #bg:after{opacity:.72}.btn.add{left:calc(var(--inset-left) + 16px);bottom:calc(var(--inset-bottom) + 20px);justify-content:center;align-items:center;gap:6px;min-width:0;padding:0 20px 0 14px;display:none;position:absolute}.btn.add svg{width:22px;height:22px;fill:var(--ink)}.can-pick .btn.add{display:flex}.design-mode #btnSave,.story-mode #btnSave{display:none}.btn.attention{animation:4s ease-in-out infinite nudge}@keyframes nudge{0%,20%,to{transform:none}5%{transform:translateY(-9px)scale(1.06)}10%{transform:translateY(0)scale(.97)}14%{transform:translateY(-4px)}}.cat-tab{position:relative}.cat-tab.has-new:after{content:"!";color:#fff;text-align:center;background:#ff6b5a;border-radius:50%;width:16px;height:16px;font-size:11px;font-weight:700;line-height:16px;position:absolute;top:-3px;right:-3px}.story-mode .progress,.story-mode .avatar,.house-view .controls .row,.house-view .btn.add,.house-view .room-title,body.story-mode.house-view .checklist{display:none}.checklist{left:calc(var(--inset-left) + 16px);bottom:calc(var(--inset-bottom) + 80px);color:#fff;background:#00000052;border-radius:14px;max-width:min(60%,100% - 190px);padding:8px 12px;transition:bottom .3s cubic-bezier(.2,.8,.2,1);display:none;position:absolute}.sheet-open .checklist{bottom:calc(var(--sheet-h) + 12px)}.wide-layout .checklist{bottom:calc(var(--inset-bottom) + 20px)}.story-mode .checklist:not(:empty){display:block}.checklist ul{flex-direction:column;gap:3px;margin:0;padding:0;list-style:none;display:flex}.checklist li{white-space:nowrap;align-items:center;gap:7px;max-height:22px;font-size:13px;font-weight:600;display:flex;overflow:hidden}.cl-box{border:2px solid #ffffffd9;border-radius:4px;flex:none;place-items:center;width:13px;height:13px;font-size:10px;line-height:1;display:grid}.checklist li.done .cl-box{background:var(--green);border-color:var(--green);color:var(--ink)}.checklist li.done .cl-box:after{content:"✓";font-weight:700}.checklist li.done .cl-label{text-decoration:line-through}.checklist li.done{animation:1.8s forwards cross-off}@keyframes cross-off{0%,45%{opacity:1;max-height:22px}to{opacity:0;max-height:0}}.checklist.celebrate{animation:.9s celebrate}@keyframes celebrate{30%{transform:scale(1.06)}60%{transform:scale(.98)}}.cl-hint{white-space:normal;max-width:240px;font-size:13px;font-weight:600;line-height:1.35;animation:.45s pop}.wide-layout .checklist .cl-tick{margin-left:auto}.cat-tile.locked{opacity:.45;filter:grayscale(.8)}.cat-tile.locked:after{content:"🔒";font-size:14px;position:absolute;top:6px;right:6px}.cat-tile.new:after{content:"NEW";background:var(--green);color:var(--ink);border-radius:999px;padding:1px 6px;font-size:10px;font-weight:700;position:absolute;top:6px;right:6px}.design-mode .progress,.design-mode .avatar,.design-mode .hints{display:none}.btn.round.danger{background:#ffd9d4}.btn.round.paint{background:#d9f0ea}.btn.round.paint svg{fill:#2f6f69}.btn.round.danger svg{fill:#b4232c}.catalog{--panel:#fbf7f0;--panel-ink:#3b302b;--panel-muted:#8a7a70;--tile:#fff;--tile-empty:#f1ebe3;left:var(--ui-left);width:var(--ui-w);padding-bottom:var(--inset-bottom);background:var(--panel);color:var(--panel-ink);visibility:hidden;border-radius:22px 22px 0 0;flex-direction:column;transition:transform .3s cubic-bezier(.2,.8,.2,1),visibility 0s .3s;display:flex;position:fixed;bottom:0;transform:translateY(105%);box-shadow:0 -10px 40px #00000059}.catalog.open{visibility:visible;transition:transform .3s cubic-bezier(.2,.8,.2,1);transform:none}.catalog-header{padding:10px 12px 4px calc(var(--inset-left) + 16px);justify-content:space-between;align-items:center;display:flex}.catalog-header h2{margin:0;font-size:18px;font-weight:600}.catalog-close{background:var(--tile-empty);cursor:pointer;border:0;border-radius:50%;place-items:center;width:36px;height:36px;display:grid}.catalog-close svg{width:20px;height:20px;fill:var(--panel-ink)}.catalog-body{overscroll-behavior:contain;touch-action:pan-x;scrollbar-width:none;padding:4px 16px 12px calc(var(--inset-left) + 12px);align-items:stretch;gap:10px;display:flex;overflow:auto hidden}.catalog-body::-webkit-scrollbar{display:none}.cat-tabs{overscroll-behavior:contain;touch-action:pan-x;scrollbar-width:none;padding:2px 16px 8px calc(var(--inset-left) + 12px);gap:6px;display:flex;overflow-x:auto}.cat-tabs::-webkit-scrollbar{display:none}.cat-tab{background:var(--tile-empty);color:var(--panel-ink);font:inherit;white-space:nowrap;cursor:pointer;border:0;border-radius:999px;flex:none;margin:0;padding:7px 12px;font-size:13px;font-weight:600;transition:background .2s}.cat-tab.active{background:var(--panel-ink);color:#fff}body:not(.wide-layout) .cat-group{grid-template-rows:repeat(2,116px)}body:not(.wide-layout) .cat-group .cat-tile{height:100%}body:not(.wide-layout) .cat-head,body:not(.wide-layout) .cat-grid:not(.active),.wide-layout .cat-tabs{display:none}.cat-head{writing-mode:vertical-rl;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;color:var(--panel-muted);flex:none;align-items:center;gap:8px;margin:0;font-size:11px;font-weight:600;display:flex;transform:rotate(180deg)}.cat-head:after{content:"";background:#3b302b24;flex:1;width:1px}.cat-grid{flex:none;gap:10px;display:flex}.cat-group{background:#3b302b12;border-radius:18px;flex:none;grid-template-rows:repeat(2,auto);grid-auto-columns:80px;grid-auto-flow:column;gap:6px;padding:5px;display:grid}.cat-tile{background:var(--tile);color:var(--panel-ink);font:inherit;cursor:pointer;border:0;border-radius:14px;flex-direction:column;align-items:center;gap:4px;margin:0;padding:6px 6px 8px;transition:transform .12s;display:flex;position:relative;box-shadow:0 1px 3px #00000014}.cat-tile:active{transform:scale(.95)}.cat-tile canvas{aspect-ratio:1;background:var(--tile-empty);border-radius:10px;width:100%;transition:background .3s}.cat-tile.ready canvas{background:0 0}.cat-tile span{text-align:center;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11.5px;line-height:1.2;display:-webkit-box;overflow:hidden}.wide-layout .catalog{--dock-w:calc(var(--ui-left) - 32px);left:calc(var(--ui-left) - 16px - var(--dock-w));top:calc(var(--inset-top) + 12px);bottom:calc(var(--inset-bottom) + 12px);width:var(--dock-w);opacity:0;border-radius:22px;padding-bottom:0;transition:transform .3s cubic-bezier(.2,.8,.2,1),opacity .3s,visibility 0s .3s;transform:translate(-20px);box-shadow:0 10px 40px #00000059}.wide-layout.can-pick .catalog{opacity:1;visibility:visible;transition:transform .3s cubic-bezier(.2,.8,.2,1),opacity .3s;transform:none}.wide-layout .catalog-close,.wide-layout.can-pick .btn.add{display:none}.wide-layout .catalog-header{padding-top:14px}.wide-layout .catalog-body{touch-action:pan-y;flex:1;padding-bottom:16px;display:block;overflow:hidden auto}.wide-layout .cat-head{writing-mode:horizontal-tb;margin:14px 0 8px;font-size:12px;transform:none}.wide-layout .cat-head:after{width:auto;height:1px}.wide-layout .cat-grid{flex-direction:column;gap:8px}.wide-layout .cat-group{grid-template-rows:none;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));grid-auto-flow:row}body:not(.wide-layout) .topbar{right:calc(var(--inset-right) + 16px)}body:not(.wide-layout) .mode-switch,body:not(.wide-layout) .mode-switch button{flex:1}body:not(.wide-layout) .progress{top:auto;right:auto;left:calc(var(--inset-left) + 12px);bottom:calc(var(--inset-bottom) + 20px);width:calc(min(calc(var(--ui-w) * .42), 200px) - 16px);z-index:1}body:not(.wide-layout) .progress-track{flex:1;width:auto}.target{right:calc(var(--inset-right) + 16px);bottom:calc(var(--inset-bottom) + 20px);width:min(calc(var(--ui-w) * .4), 170px);background:var(--pill-bg);color:#fff;border-radius:18px;flex-direction:column;gap:4px;padding:6px;transition:width .25s cubic-bezier(.2,.8,.2,1);display:none;position:absolute;box-shadow:0 6px 16px #00000040}.target.zoomed{width:min(calc(var(--ui-w) - 32px), 440px)}.target-pic{cursor:zoom-in;background:0 0;border:0;margin:0;padding:0;display:block}.target.zoomed .target-pic{cursor:zoom-out}.target canvas{aspect-ratio:600/560;background:linear-gradient(180deg, var(--bg-top), var(--bg-bottom));border-radius:12px;width:100%;display:block}.target-bar{justify-content:space-between;align-items:center;gap:6px;padding:0 2px 0 6px;display:flex}.target-label{letter-spacing:.06em;text-transform:uppercase;opacity:.7;font-size:11px}.target-reset{color:#fff;font:inherit;white-space:nowrap;cursor:pointer;background:#ffffff29;border:0;border-radius:999px;margin:0;padding:6px 10px;font-size:12.5px;font-weight:600}.target-reset:active{background:#ffffff47}.challenge-mode .target{display:flex}.challenge-mode .toast{bottom:calc(var(--inset-bottom) + 280px)}body:not(.wide-layout) .target-reset{background:var(--pill-bg);padding:8px 14px;position:absolute;bottom:calc(100% + 8px);right:0;box-shadow:0 4px 12px #00000040}body:not(.wide-layout) .target-reset:active{background:#2a2a30}.wide-layout .target,.wide-layout .target.zoomed{width:min(calc(var(--ui-left) - 32px), 440px);top:50%;bottom:auto;left:calc(100% + 16px);right:auto;transform:translateY(-50%)}.wide-layout .target-pic,.wide-layout .target.zoomed .target-pic{cursor:default}.wide-layout.challenge-mode .toast{bottom:calc(var(--inset-bottom) + 150px)}.challenge-mode .controls,.challenge-mode .hints,.challenge-mode .btn.add,.challenge-open .target,.challenge-open .avatar{display:none}.challenge{--panel:#fbf7f0;--panel-ink:#3b302b;--panel-muted:#8a7a70;left:var(--ui-left);width:var(--ui-w);top:calc(var(--inset-top) + 60px);bottom:calc(var(--inset-bottom) + 12px);padding:0 calc(var(--inset-right) + 16px) 0 calc(var(--inset-left) + 16px);pointer-events:none;opacity:0;place-items:center;transition:opacity .3s,transform .3s;display:grid;position:fixed;transform:translateY(12px)}.challenge.open{opacity:1;transform:none}.challenge.open .challenge-card{pointer-events:auto}.challenge-card{background:var(--panel);width:min(100%,380px);max-height:100%;color:var(--panel-ink);text-align:center;border-radius:22px;padding:16px 16px 14px;overflow-y:auto;box-shadow:0 10px 40px #00000059}.challenge-kicker{letter-spacing:.06em;text-transform:uppercase;color:var(--panel-muted);margin:0;font-size:12px;font-weight:600}.challenge-card h2{margin:2px 0 10px;font-size:22px;font-weight:600}.challenge-target{aspect-ratio:600/560;background:linear-gradient(180deg, var(--bg-top), var(--bg-bottom));border-radius:14px;width:100%;display:block}.challenge-target[hidden],.challenge-result[hidden],.challenge-text[hidden]{display:none}.challenge-text{color:var(--panel-muted);margin:10px 4px 0;font-size:13.5px;line-height:1.4}.challenge-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:14px;display:flex}.challenge-actions .btn.pill{white-space:nowrap;flex:130px;min-width:0;padding:0 14px;font-size:16px}.btn.ghost{background:#efe7dc}.btn.ghost:active:not(:disabled){background:#e4d9ca}.challenge-foot{color:var(--panel-muted);margin:10px 0 0;font-size:12px}.challenge-result{justify-content:center;align-items:flex-end;gap:12px;margin-top:4px;display:flex}.mini-avatar{aspect-ratio:1/1.05;flex:none;width:112px;position:relative}.mini-avatar img{z-index:1;width:66%;display:none;position:absolute;bottom:20%;left:17%}.mini-avatar.has-bitmoji img{display:block}.mini-avatar .box{filter:drop-shadow(0 4px 8px #0003);width:100%;position:absolute;bottom:0;left:0}.time-box{background:#fff;border-radius:16px;flex-direction:column;gap:2px;margin-bottom:10px;padding:12px 18px;display:flex;box-shadow:0 1px 3px #00000014}.time-big{font-variant-numeric:tabular-nums;font-size:34px;font-weight:600;line-height:1.1}.time-sub{color:var(--panel-muted);font-size:12.5px}.challenge-result.best .time-sub{color:#2f9a26;font-weight:600}.result-moves{color:var(--panel-muted);margin:4px 0 0;font-size:13px}.challenge-result[hidden]+.result-moves{display:none}#night{background:var(--night);opacity:0;pointer-events:none;position:fixed;top:0;bottom:0;left:0;right:0}.intro{--panel:#fbf7f0;--panel-ink:#3b302b;--panel-muted:#8a7a70;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;visibility:hidden;pointer-events:none;background:#0a141873;place-items:center;padding:16px;transition:opacity .35s,visibility 0s .35s;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.intro.open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .35s}.intro-card{background:var(--panel);width:min(100%,360px);color:var(--panel-ink);text-align:center;border-radius:24px;padding:22px 20px 20px;transition:transform .4s cubic-bezier(.34,1.56,.64,1);transform:translateY(14px)scale(.97);box-shadow:0 10px 40px #00000059}.intro.open .intro-card{transform:none}.intro-icon{border-radius:18px;width:72px;height:72px;animation:2.4s ease-in-out infinite bob}.intro h1{font-family:"Pacifico Title", var(--font);color:#e8908a;text-shadow:0 2px #fdf0d5,0 4px #7a3b4340;margin:6px 0 8px;font-size:36px;font-weight:400;line-height:1.35}.intro-tag{color:var(--panel-muted);margin:0 0 16px;font-size:14px}.intro-modes{text-align:left;gap:10px;margin:0 0 18px;padding:0;display:grid}.intro-modes label{cursor:pointer;background:#fff;border:2px solid #0000;border-radius:14px;align-items:center;gap:12px;padding:10px 40px 10px 12px;font-size:13px;line-height:1.3;transition:border-color .2s,background .2s;display:flex;position:relative;box-shadow:0 1px 3px #00000014}.intro-modes input{opacity:0;pointer-events:none;position:absolute}.intro-modes label:after{content:"";border:2px solid #cdbfb4;border-radius:50%;width:16px;height:16px;margin-top:-10px;transition:border .2s;position:absolute;top:50%;right:12px}.intro-modes label:has(input:checked){border-color:var(--panel-ink);background:#fffdf8}.intro-modes label:has(input:checked):after{border:6px solid var(--panel-ink)}.intro-modes label:has(input:focus-visible){outline:2px solid var(--yellow);outline-offset:2px}.intro-modes span{font-size:22px}.intro-modes b{-webkit-text-stroke:.45px currentColor;font-size:15px;display:block}.intro .btn.pill{width:100%}#loading{background:var(--bg-bottom);place-items:center;transition:opacity .4s;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}#loading.done{opacity:0;pointer-events:none}.fatal{text-align:center;max-width:280px;margin:0;padding:0 16px;font-size:15px;line-height:1.4}.spinner{border:4px solid #fff3;border-top-color:var(--yellow);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.avatar .box,.spinner{animation:none}}
