:root{--teal:#4b7378;--deep:#284f55;--ink:#293f41;--muted:#6d7b79;--cream:#f7f4ed;--paper:#fffcf7;--line:#dedfd4;--gold:#c19a5b;--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color-scheme:light;font-family:var(--sans);color:var(--ink);background:var(--cream)}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow-x:hidden}body{overscroll-behavior-y:none;-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:disabled{cursor:wait;opacity:.7}button,input{outline-offset:5px}button:focus-visible,.character-option:has(:focus-visible){outline:3px solid #af8750}button svg,svg.icon{width:22px;height:22px;flex-shrink:0}svg{fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}img{display:block;user-select:none;-webkit-user-drag:none}button{border:0}h1,h2,p{margin:0}h1,h2{font-weight:500}strong,b{font-weight:600}[hidden]{display:none!important}.icon-definitions{position:absolute;width:0;height:0;overflow:hidden}.app{width:min(1240px,100%);height:100vh;height:100dvh;min-height:490px;max-height:1000px;margin:auto;padding:0 42px 20px;position:relative;display:flex;flex-direction:column}.app-header{height:92px;flex:0 0 92px;display:flex;align-items:center;gap:28px}.brand{width:145px;height:auto}.edition{font-size:13px;letter-spacing:.18em;line-height:1.2;padding:4px 0 4px 25px;border-left:1px solid var(--line);color:var(--teal)}.header-actions{margin-left:auto;display:flex;gap:8px}.icon-button{width:44px;height:44px;border:1px solid #4b737825;background:#ffffff3b;border-radius:50%;color:var(--teal);display:grid;place-items:center;transition:background .2s,transform .2s}.icon-button:hover{background:#fff9;transform:translateY(-1px)}.icon-button svg{width:20px;height:20px}.screen{flex:1;min-height:0}.start-screen{display:grid;grid-template-columns:1fr 1.08fr;grid-template-rows:1fr auto 1fr;grid-template-areas:'intro art' 'choices art' 'launch art';column-gap:52px;padding:30px 0 48px;align-items:center}.intro{grid-area:intro;align-self:end;padding-bottom:34px}.eyebrow{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);line-height:1.5}.intro .eyebrow{margin-bottom:24px}h1{font-size:clamp(36px,4.3vw,56px);letter-spacing:-.045em;line-height:1.13}h1 em{font-family:Georgia,'Times New Roman',serif;font-weight:400;color:var(--teal)}.intro-copy{font-size:16px;line-height:1.6;color:var(--muted);margin-top:24px}.intro-copy strong{color:var(--teal);font-weight:500}.hero-scene{grid-area:art;align-self:stretch;position:relative;min-height:340px;max-height:660px;background:#e3e4d8;border-radius:180px 180px 32px 32px;overflow:hidden;isolation:isolate;box-shadow:0 20px 55px -38px #52767577}.salon-preview{position:absolute;width:100%;height:100%;object-fit:cover;object-position:24% center;opacity:.84}.scene-soften{position:absolute;inset:0;background:linear-gradient(180deg,#f6f4ed00 30%,#f4efde22 65%,#eae4d95e)}.prize-badge{position:absolute;top:30px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:4px;background:#fffcf1e8;border:1px solid #fff8;padding:8px 18px 8px 10px;border-radius:40px;white-space:nowrap;font-size:14px;box-shadow:0 6px 26px #73644012}.prize-badge img{width:36px;height:36px;object-fit:contain}.prize-badge b{font-size:20px;color:var(--deep)}.hero-character{position:absolute;width:87%;height:auto;max-height:77%;object-fit:contain;bottom:9%;left:8%;filter:drop-shadow(0 15px 7px #836d5024);animation:breathe 4s ease-in-out infinite;transform-origin:50% 89%;transition:opacity .13s}.hero-shadow{position:absolute;left:22%;right:17%;bottom:13.5%;height:22px;background:radial-gradient(ellipse,#7a68415c,transparent 65%);filter:blur(5px)}.floating-heart{position:absolute;width:40px;filter:drop-shadow(0 6px 4px #4656511a);animation:float 4s ease-in-out infinite}.heart-one{left:12%;top:49%;transform:rotate(-18deg)}.heart-two{width:30px;right:9%;top:36%;animation-delay:-2s}.scene-number{position:absolute;bottom:24px;left:0;right:0;text-align:center;letter-spacing:.15em;font-size:10px;color:#6d7872}.character-selection{grid-area:choices;min-width:0;border:0;padding:0;margin:0;align-self:start}.character-selection legend{font-size:14px;color:var(--ink);padding:0;margin-bottom:14px;font-weight:500}.character-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.character-option{position:relative;display:flex;align-items:center;gap:5px;min-height:88px;padding:10px 30px 10px 2px;border:1px solid #dcded4;background:#faf8f2;border-radius:18px;cursor:pointer;transition:border .2s,background .2s,box-shadow .2s;overflow:hidden}.character-option input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer;margin:0}.character-option:has(input:checked){border:1.5px solid var(--teal);background:#e9eeea;box-shadow:0 0 0 3px #4b737808}.character-option img{width:66px;height:66px;object-fit:contain;flex-shrink:0}.character-option span{display:grid;gap:6px;pointer-events:none}.character-option b{font-size:15px}.character-option small{font-size:11px;line-height:1.3;color:var(--muted);white-space:nowrap}.selection-check{position:absolute;right:9px;top:9px;width:16px;height:16px;border:1px solid #b9c9c3;border-radius:50%;color:transparent;display:grid;place-items:center}.selection-check svg{width:11px;height:11px;stroke-width:2.5}.character-option:has(input:checked) .selection-check{background:var(--teal);border-color:var(--teal);color:white}.launch{grid-area:launch;align-self:start;padding-top:24px}.primary-button,.secondary-button{min-height:56px;width:100%;border-radius:16px;display:flex;align-items:center;justify-content:center;gap:12px;font-weight:500;font-size:16px;transition:background .2s,transform .2s,box-shadow .2s}.primary-button{background:var(--teal);color:#fffdf7;box-shadow:0 8px 16px -12px #294e56a8}.primary-button:hover{background:#3e646a;box-shadow:0 8px 20px -12px #294e56}.primary-button:active,.secondary-button:active{transform:scale(.982)}#play-button{justify-content:space-between;padding:0 26px}.secondary-button{border:1px solid #cfd6cc;background:transparent;color:var(--teal);min-height:48px;font-size:14px}.secondary-button:hover{background:#e9eeea}.start-facts{display:flex;align-items:center;justify-content:center;gap:27px;margin-top:18px;font-size:12px;color:var(--muted)}.start-facts span{display:flex;align-items:center;gap:7px}.start-facts svg{width:17px;height:17px;color:var(--teal)}.loading-message{text-align:center;font-size:13px;min-height:15px;margin-top:8px;color:var(--teal)}
.game-screen{display:flex;flex-direction:column;padding:3px 0 4px}.game-shell{position:relative;flex:1;min-height:0;border:1px solid #4b73782b;overflow:hidden;border-radius:28px;background:#eae7d9;isolation:isolate;touch-action:none;user-select:none;-webkit-user-select:none}.game-shell canvas{display:block;width:100%;height:100%;touch-action:none;outline-offset:-5px}.scene-vignette{pointer-events:none;position:absolute;inset:0;background:linear-gradient(180deg,#fcf9f38f 0,transparent 24%,transparent 86%,#f5f1e54d)}.hud{pointer-events:none;position:absolute;left:24px;right:24px;top:23px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.score-display{display:flex;align-items:center;gap:9px;border:1px solid #fff9;border-radius:18px;background:#fffcf1e8;padding:9px 16px 10px 10px;box-shadow:0 6px 16px #77775b07}.score-display>img{width:40px;height:42px}.score-display strong{font-size:29px;line-height:1;color:var(--deep);font-variant-numeric:tabular-nums}.score-display span{font-size:17px;color:#839491}.score-display small{display:block;font-size:10px;margin-top:4px;color:#6b7c77}.time-display{display:flex;align-items:center;gap:8px;background:#fffbeddb;border:1px solid #fff9;padding:13px 15px;border-radius:14px;margin-left:auto;color:var(--deep)}.time-display svg{width:17px;height:17px}.time-display strong{font-size:19px;font-weight:500;font-variant-numeric:tabular-nums}.glass{background:#fffcf1de;border:1px solid #fff9;pointer-events:auto}.progress-track{width:100%;height:4px;background:#4b737820;border-radius:6px;overflow:hidden;margin-top:1px}.progress-track>div{width:0;height:100%;background:var(--teal);border-radius:6px;transition:width .15s linear}.zone-label{position:absolute;left:50%;transform:translateX(-50%);top:132px;font-size:12px;letter-spacing:.05em;color:#48625d;background:#fffbee9c;padding:7px 13px;border-radius:20px;white-space:nowrap;pointer-events:none}.game-footer{height:38px;display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:12px;padding:0 6px}.game-footer>span:last-child{display:flex;align-items:center;gap:5px}.game-footer img{width:24px;height:24px;object-fit:contain}.tap-hint{position:absolute;bottom:22px;left:0;width:100%;display:flex;align-items:center;justify-content:center;gap:8px;color:#526963;pointer-events:none;font-size:13px;opacity:.85;transition:opacity .5s}.tap-hint svg{width:20px;height:20px}.tap-hint.quiet{opacity:.55}.game-toast{position:absolute;top:30%;left:50%;transform:translate(-50%,5px);background:#fefdf6ed;color:var(--teal);border:1px solid #fff8;border-radius:30px;padding:11px 19px;font-size:16px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s}.game-toast.visible{opacity:1;transform:translate(-50%,0)}.countdown{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#f5f2e42e;backdrop-filter:blur(2px);color:var(--deep);pointer-events:none}.countdown strong{font-size:90px;line-height:1.1;font-weight:500;animation:count .9s ease-in-out infinite;text-shadow:0 2px 25px #fff9}.countdown span{font-size:15px;margin-top:12px;background:#fff8;border-radius:20px;padding:8px 16px}.pause-overlay{position:absolute;inset:0;z-index:4;background:#eeeee599;backdrop-filter:blur(9px);display:grid;place-items:center;padding:20px;touch-action:manipulation}.pause-card{width:min(350px,100%);padding:26px;background:var(--paper);box-shadow:0 20px 70px #354d4220;border:1px solid #fff;border-radius:26px;text-align:center}.pause-card>img{width:110px;height:110px;margin:-8px auto 2px;object-fit:contain}.pause-card .eyebrow{font-size:11px}.pause-card h2{font-size:26px;letter-spacing:-.025em;margin:8px 0 12px}.pause-card>p:not(.eyebrow){font-size:14px;color:var(--muted);margin-bottom:22px}.text-button{color:var(--teal);font-size:13px;background:none;min-height:38px;padding:8px 12px}.pause-card>.text-button{margin-top:9px}
.app[data-state=result] .app-header{display:none}.result-screen{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:17px;padding:20px 0 0;min-height:0}.reward-card{width:min(444px,100%);background:var(--paper);border:1px solid #deded0;border-radius:28px;padding:25px 30px 23px;box-shadow:0 20px 60px -40px #4d625778;text-align:center;position:relative;overflow:hidden;flex-shrink:1}.reward-brand{display:flex;align-items:center;justify-content:space-between;gap:12px}.reward-brand img{width:124px;height:auto}.reward-brand>span{font-size:9px;letter-spacing:.1em;color:#7c8a7c}.result-pet-scene{position:relative;width:142px;height:117px;margin:9px auto -3px}.result-pet-scene>img:first-child{width:140px;height:140px;position:absolute;top:-15px;left:0;object-fit:contain}.result-heart{width:30px;position:absolute;left:3px;top:36px;transform:rotate(-18deg)}.result-spark{font-family:Georgia,serif;color:var(--gold);font-size:25px;position:absolute;right:0;top:15px}#result-title{font-size:25px;letter-spacing:-.025em;line-height:1.15}.result-subtitle{font-size:12px;color:var(--muted);line-height:1.5;margin-top:10px}.earned{display:flex;flex-direction:column;margin:13px 0 14px;align-items:center;gap:2px}.earned>span:first-child{font-size:88px;letter-spacing:-.065em;line-height:.99;font-weight:500;color:var(--teal);padding-right:.06em;font-variant-numeric:tabular-nums}.earned>span:last-child{font-size:15px;color:var(--teal)}.result-stats{display:flex;align-items:center;justify-content:center;gap:24px;color:var(--muted);font-size:12px}.result-stats>span{display:flex;align-items:center;gap:6px}.result-stats svg{width:15px;height:15px}.result-stats b{font-weight:400}.result-date{display:flex;align-items:center;justify-content:center;gap:8px;border-top:1px dashed #bfcfc5;border-bottom:1px dashed #bfcfc5;margin:18px 0 18px;padding:13px 0;color:var(--deep)}.result-date svg{width:18px;height:18px}.result-date time{font-size:16px;font-weight:500}.screenshot-note{display:flex;align-items:flex-start;text-align:left;gap:11px;border-radius:14px;padding:0;transition:background .2s,box-shadow .2s}.screenshot-note>svg{width:24px;height:24px;flex-shrink:0;color:var(--teal);margin-top:2px}.screenshot-note strong{font-size:13px;line-height:1.4;font-weight:600}.screenshot-note p{font-size:13px;line-height:1.5;color:var(--muted);margin-top:6px}.screenshot-note.highlight{background:#e6eee5;box-shadow:0 0 0 10px #e6eee5}.result-actions{width:min(444px,100%);display:grid;grid-template-columns:1fr 1fr;gap:10px}.result-actions .primary-button,.result-actions .secondary-button{min-height:48px;font-size:13px;gap:7px;border-radius:14px}.result-actions svg{width:17px;height:17px}.result-actions .text-button{grid-column:1/-1;padding:3px 10px;min-height:28px}.reward-card.won{border-color:#d6c19b;background:linear-gradient(160deg,#fffdf4,#fffcf6 70%)}.won .earned>span:first-child{color:#9d793e}.won .result-pet-scene>img:first-child{animation:celebrate 2.5s ease-in-out infinite}.won .result-heart{width:33px}.won .result-date{border-color:#d6c19b}
dialog{border:1px solid #fff;border-radius:28px;background:var(--paper);color:var(--ink);padding:34px;width:min(440px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;box-shadow:0 20px 70px #2645352f}dialog::backdrop{background:#243d3f65;backdrop-filter:blur(6px)}dialog .close-dialog{position:absolute;right:15px;top:15px;width:34px;height:34px}dialog .eyebrow{margin-top:7px}dialog h2{font-size:30px;letter-spacing:-.03em;margin:11px 0 18px}dialog>p:not(.eyebrow){font-size:15px;line-height:1.6;color:var(--muted)}.rule-row{display:flex;align-items:center;gap:14px;margin-top:20px}.rule-row img{width:42px;height:42px;object-fit:contain}.rule-row p{display:grid;gap:5px;font-size:14px;line-height:1.5}.rule-row span{color:var(--muted);font-size:13px}.help-reward{border-top:1px solid var(--line);margin:23px 0;padding-top:18px;font-size:14px!important}
@keyframes breathe{0%,100%{transform:scale(1,1) translateY(0)}50%{transform:scale(1.014,.99) translateY(2px)}}@keyframes float{0%,100%{translate:0 0;rotate:-8deg}50%{translate:0 -8px;rotate:5deg}}@keyframes count{0%{transform:scale(.85);opacity:.5}20%,80%{transform:scale(1);opacity:1}100%{transform:scale(1.04);opacity:.5}}@keyframes celebrate{0%,70%,100%{transform:translateY(0) rotate(0)}30%{transform:translateY(-6px) rotate(-4deg)}48%{transform:translateY(0) rotate(2deg)}}
@media(min-width:761px){.app[data-state=playing],.app[data-state=countdown],.app[data-state=paused],.app[data-state=ending]{max-width:1040px}.app[data-state=playing] .game-shell,.app[data-state=countdown] .game-shell,.app[data-state=paused] .game-shell{max-height:600px}.game-screen{justify-content:center}.game-shell{min-height:320px}.result-screen{padding-bottom:10px}}
@media(max-width:1050px) and (min-width:761px){.app{padding:0 28px 16px}.start-screen{column-gap:24px}.character-option{padding-right:12px}.character-option img{width:52px}.character-option small{font-size:10px}.character-option b{font-size:14px}.hero-scene{border-radius:140px 140px 28px 28px}}
@media(max-width:760px){.app{padding:0 20px 10px;padding-bottom:max(10px,env(safe-area-inset-bottom));padding-top:env(safe-area-inset-top);max-height:none;min-height:500px}.app-header{height:66px;flex-basis:66px;gap:14px}.brand{width:117px}.edition{padding-left:14px;font-size:9px;letter-spacing:.1em;max-width:94px;line-height:1.5}.header-actions{gap:6px}.icon-button{width:36px;height:36px}.icon-button svg{width:18px;height:18px}.start-screen{grid-template-columns:1fr;grid-template-rows:auto minmax(135px,1fr) auto auto;grid-template-areas:'intro' 'art' 'choices' 'launch';padding:7px 0 0;gap:17px;align-items:stretch}.intro{padding:0;align-self:auto;text-align:center}.intro .eyebrow{font-size:9px;letter-spacing:.12em;margin-bottom:11px}h1{font-size:34px;letter-spacing:-.035em;line-height:1.1}.intro-copy{font-size:14px;line-height:1.45;margin-top:13px;max-width:330px;margin-left:auto;margin-right:auto}.desktop-break{display:none}.hero-scene{border-radius:30px;min-height:0;max-height:370px}.salon-preview{object-position:30% center}.hero-character{width:85%;height:98%;max-height:none;bottom:0%;left:9%;object-fit:contain}.hero-shadow{left:32%;right:20%;bottom:7%;height:12px}.prize-badge{top:13px;left:auto;right:13px;transform:none;padding:3px 9px 3px 3px;font-size:10px;gap:1px}.prize-badge img{width:25px;height:25px}.prize-badge b{font-size:15px}.heart-one{width:27px;top:52%;left:12%}.heart-two{width:22px;top:52%;right:10%}.scene-number{display:none}.character-selection legend{margin-bottom:9px;font-size:13px}.character-options{gap:10px}.character-option{min-height:73px;border-radius:16px;padding:5px 18px 5px 2px;gap:2px}.character-option img{width:55px;height:55px}.character-option span{gap:4px}.character-option b{font-size:14px}.character-option small{font-size:10px}.selection-check{top:8px;right:8px;width:14px;height:14px}.launch{padding:0}.primary-button{min-height:52px;font-size:15px}.start-facts{font-size:11px;margin-top:13px;gap:27px}.start-facts svg{width:15px;height:15px}.loading-message{min-height:0;font-size:12px;margin-top:0}.loading-message:not(:empty){margin-top:7px}.game-screen{margin:0 -10px}.game-shell{border-radius:24px}.hud{top:16px;left:16px;right:16px;gap:9px}.score-display{gap:6px;padding:8px 10px 8px 6px;border-radius:15px}.score-display>img{width:30px;height:36px}.score-display strong{font-size:27px}.score-display span{font-size:15px}.score-display small{font-size:9px}.time-display{padding:11px 12px;gap:6px}.time-display strong{font-size:17px}.time-display svg{width:15px;height:15px}.hud .icon-button{width:38px;height:38px}.progress-track{margin-top:4px}.zone-label{top:108px;font-size:10px;padding:6px 10px}.game-footer{font-size:10px;height:35px;padding:0 4px}.game-footer img{width:20px;height:20px}.tap-hint{bottom:24px;font-size:12px;padding:0 10px}.tap-hint svg{width:19px;height:19px}.result-screen{padding:12px 0 0;gap:13px;justify-content:center}.reward-card{padding:20px 23px 20px;border-radius:26px}.reward-brand img{width:118px}.reward-brand>span{font-size:8px}.result-actions{gap:8px}.result-actions .primary-button,.result-actions .secondary-button{font-size:12px;min-height:46px;gap:6px}.result-actions .text-button{font-size:12px;min-height:27px}.result-actions svg{width:16px;height:16px}}
@media(max-width:380px){.app{padding-left:15px;padding-right:15px}.edition{display:none}h1{font-size:30px}.intro-copy{font-size:13px}.character-option img{width:49px}.character-option b{font-size:13px}.character-option small{font-size:9px}.start-screen{gap:13px}.reward-card{padding-left:20px;padding-right:20px}.screenshot-note{gap:8px}.screenshot-note strong,.screenshot-note p{font-size:12px}.reward-brand>span{font-size:7px}.result-actions .primary-button,.result-actions .secondary-button{font-size:11px;gap:4px}}
@media(max-height:740px) and (max-width:760px){.app-header{height:56px;flex-basis:56px}.start-screen{gap:12px;padding-top:2px;grid-template-rows:auto minmax(105px,1fr) auto auto}.intro .eyebrow{margin-bottom:7px;font-size:8px}h1{font-size:30px}.intro-copy{margin-top:9px;font-size:13px}.character-selection legend{font-size:12px;margin-bottom:7px}.character-option{min-height:66px}.character-option img{width:50px;height:50px}.start-facts{margin-top:9px}.hero-scene{border-radius:24px}.primary-button{min-height:49px}.result-screen{gap:10px;padding-top:9px}.reward-card{padding-top:17px;padding-bottom:17px}.result-pet-scene{height:88px;width:124px;margin:5px auto -2px}.result-pet-scene>img:first-child{width:115px;height:115px;top:-16px}.result-heart{width:25px;top:29px}.result-spark{right:3px;top:9px;font-size:22px}#result-title{font-size:23px}.result-subtitle{margin-top:7px;font-size:11px}.earned{margin:10px 0}.earned>span:first-child{font-size:76px}.earned>span:last-child{font-size:14px}.result-date{padding:11px 0;margin:13px 0}.result-date time{font-size:15px}.screenshot-note strong,.screenshot-note p{font-size:12px}.screenshot-note p{margin-top:4px}.result-actions .primary-button,.result-actions .secondary-button{min-height:43px}}
@media(max-height:610px) and (max-width:760px){.app{min-height:460px}.app-header{height:48px;flex-basis:48px}.brand{width:108px}.icon-button{width:32px;height:32px}.start-screen{gap:9px;grid-template-rows:auto minmax(86px,1fr) auto auto}.intro .eyebrow{display:none}h1{font-size:27px}.intro-copy{font-size:12px;margin-top:7px}.character-selection legend{margin-bottom:5px}.character-option{min-height:59px}.character-option img{width:44px;height:44px}.character-option small{display:none}.start-facts{margin-top:7px;font-size:10px}.primary-button{min-height:44px}.hero-character{height:115%;bottom:-3%}.result-screen{gap:8px;padding-top:7px}.reward-card{padding:13px 20px}.reward-brand img{width:103px}.result-pet-scene{height:54px;width:100px;margin:2px auto 0}.result-pet-scene>img:first-child{width:80px;height:80px;left:10px;top:-16px}.result-heart{width:21px;top:20px}.result-spark{font-size:19px;right:0;top:0}#result-title{font-size:20px}.result-subtitle{font-size:10px;margin-top:5px}.earned{margin:8px 0}.earned>span:first-child{font-size:62px}.earned>span:last-child{font-size:13px}.result-stats{font-size:11px}.result-date{padding:8px 0;margin:10px 0}.result-date time{font-size:14px}.screenshot-note strong{font-size:11px}.screenshot-note p{font-size:11px;line-height:1.4}.screenshot-note>svg{width:20px;height:20px}.result-actions{gap:5px}.result-actions .primary-button,.result-actions .secondary-button{min-height:38px;border-radius:11px}.result-actions .text-button{min-height:23px;font-size:11px}.tap-hint{bottom:15px;font-size:11px}.pause-card{padding:18px}.pause-card>img{width:75px;height:75px}.pause-card h2{font-size:23px}}
@media(max-height:520px) and (min-width:650px){.app{padding:0 18px 6px;min-height:320px}.app-header{height:49px;flex-basis:49px}.start-screen{grid-template-columns:1fr 1fr;grid-template-rows:auto auto auto;grid-template-areas:'intro art' 'choices art' 'launch art';padding:4px 0 6px;gap:10px 24px}.intro{text-align:left;padding:0}.intro .eyebrow{display:none}h1{font-size:29px}.intro-copy{font-size:12px;margin-top:8px}.hero-scene{min-height:230px;border-radius:100px 100px 24px 24px}.character-selection legend{font-size:11px;margin-bottom:5px}.character-option{min-height:56px}.character-option img{width:42px;height:42px}.character-option small{display:none}.launch{padding-top:0}.primary-button{min-height:42px;font-size:14px}.start-facts{margin-top:8px;font-size:10px}.game-screen{padding:0;margin:0}.game-shell{min-height:220px;max-height:none!important}.game-footer{height:22px}.hud{top:10px;left:12px;right:12px;gap:6px}.score-display{padding:6px 9px}.score-display>img{width:24px;height:26px}.score-display strong{font-size:22px}.score-display small{display:none}.time-display{padding:8px 11px}.zone-label{top:24px;pointer-events:none}.tap-hint{bottom:10px;font-size:10px}.result-screen{display:grid;grid-template-columns:minmax(300px,420px) 190px;gap:22px;justify-content:center;padding:9px 0}.reward-card{padding:14px 22px;max-height:100%}.reward-brand{margin-bottom:5px}.reward-brand img{width:100px}.result-pet-scene,.result-subtitle{display:none}#result-title{font-size:20px;margin-top:8px}#result-title br{display:none}.earned{margin:6px 0}.earned>span:first-child{font-size:53px}.earned>span:last-child{font-size:12px}.result-stats{font-size:10px}.result-date{margin:9px 0;padding:8px 0}.result-date time{font-size:14px}.screenshot-note strong,.screenshot-note p{font-size:11px;line-height:1.4}.result-actions{display:flex;flex-direction:column}.result-actions .primary-button,.result-actions .secondary-button{font-size:12px}.pause-card{padding:16px}.pause-card>img{display:none}.pause-card>p:not(.eyebrow){margin-bottom:14px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}
.embedded .edition{display:none}.result-actions #back-to-camera{grid-column:1/-1}
@media(max-height:740px) and (max-width:760px){.result-pet-scene{display:none}#result-title{margin-top:14px}.result-actions #back-to-camera{min-height:23px;padding:2px}}
@media(max-height:610px) and (max-width:760px){.result-subtitle{display:none}#result-title{margin-top:11px}.result-actions #back-to-camera{font-size:10px;min-height:20px;padding:0}.result-actions:has(#back-to-camera:not([hidden])) #choose-button{display:none}}
@media(max-width:380px){.embedded .brand{width:106px}.embedded .app-header{gap:9px}}
.event-ribbon{position:absolute;top:155px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:5px;min-width:235px;max-width:90%;padding:11px 19px 13px;background:#fffdf1eb;border:1px solid #fff8;border-radius:18px;box-shadow:0 8px 30px #607a5512;pointer-events:none;color:var(--teal)}.event-ribbon strong{font-size:16px;font-weight:500}.event-ribbon span{font-size:12px;color:#69837b}.event-ribbon>i{width:100%;height:2px;margin-top:4px;background:#4b73781a;border-radius:2px;overflow:hidden}.event-ribbon>i>b{display:block;height:100%;background:#78aaa1;transition:width .15s linear}.event-ribbon[data-kind=foam]{background:#f0fcf5eb}.event-ribbon[data-kind=rest]{background:#fffae7eb}.power-hud{position:absolute;right:18px;bottom:60px;display:flex;gap:6px;flex-wrap:wrap;max-width:90%;justify-content:flex-end;pointer-events:none}.power-hud span{font-size:12px;color:#3d666d;background:#eefdf0df;border:1px solid #ffffffb0;padding:7px 11px;border-radius:30px;box-shadow:0 4px 16px #32594f10}#magnet-status{background:#fff4d8e8;color:#8e6e3c}.new-rules{border-top:1px solid var(--line);margin-top:20px;padding-top:4px}.new-rules p{font-size:13px;line-height:1.5;color:var(--muted);margin-top:14px}.new-rules b{color:var(--ink)}
@media(max-width:760px){.event-ribbon{top:142px;min-width:220px;padding:9px 14px 10px;border-radius:15px}.event-ribbon strong{font-size:14px}.event-ribbon span{font-size:11px}.power-hud{right:12px;bottom:59px}.power-hud span{font-size:10px;padding:6px 9px}.game-toast{white-space:normal;width:max-content;max-width:90%;text-align:center;font-size:14px}}
@media(max-height:610px){.event-ribbon{top:120px;gap:3px}.event-ribbon span{display:none}.power-hud{bottom:45px}}
@media(max-height:520px) and (min-width:650px){.event-ribbon{top:62px;padding:7px 14px}.event-ribbon strong{font-size:12px}.power-hud{bottom:37px}}

/* Gesture guidance wraps inside a narrow phone viewport. */
.tap-hint{padding:0 14px;text-align:center;line-height:1.35}.tap-hint span{max-width:440px}.tap-hint svg{flex-shrink:0}.game-footer>span:first-child{min-width:0;padding-right:8px}
