.mini-page{isolation:isolate;background:#716b52;display:grid;gap:1.8cqh;padding:3cqh 4cqw 2.5cqh;overflow:hidden}
.mini-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;image-rendering:pixelated;z-index:-1;pointer-events:none}
.mini-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;min-width:0}.mini-heading h2{font-size:clamp(18px,3.8cqw,28px);line-height:1.3;color:#fff0c8;text-shadow:2px 2px #79503d,-1px -1px #79503d;margin-top:1cqh}.mini-heading .chapter-label{font-size:clamp(4px,.9cqw,7px);color:#fff0cd;letter-spacing:.3px;text-shadow:1px 1px #73513e}
.gifts-page{grid-template-rows:auto minmax(0,1fr) auto auto}
.gift-hud{display:flex;gap:1cqw;flex-shrink:0}.gift-hud>span{background:#fff0c8eb;border:2px solid #8b6546;box-shadow:2px 2px #684d3b55;padding:5px 8px;font-size:clamp(11px,2cqw,16px);white-space:nowrap}.gift-hud b{font-weight:400;color:#a86c4c}
.gift-arena{position:relative;min-height:0;overflow:hidden;border:2px solid #f1db9f99;background:#ffd6a018;box-shadow:inset 0 0 0 2px #7d745433;touch-action:none;outline-offset:-4px}.gift-arena[data-state=running]{cursor:move}
.gift-drops{position:absolute;inset:0;pointer-events:none}.gift-drop{position:absolute;transform:translate(-50%,-50%);width:clamp(21px,4.4cqw,37px);aspect-ratio:1;filter:drop-shadow(2px 2px #71563c66)}.gift-drop svg{width:100%;height:100%}
.gift-player{position:absolute;top:84%;left:50%;width:clamp(36px,7cqw,62px);transform:translate(-50%,-50%);pointer-events:none;filter:drop-shadow(2px 3px #5c643866)}.gift-player svg{width:100%;height:auto}.gift-player.caught svg{animation:frog-catch .2s steps(3)}
.gift-intro,.gift-result{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(370px,85%);max-height:96%;overflow:auto;display:flex;flex-direction:column;align-items:center;gap:1.5cqh;text-align:center;padding:2cqh 2cqw;scrollbar-width:thin;background:#fff0c7f2;z-index:2}
.mini-kicker{font:clamp(4px,.9cqw,7px)/1.6 var(--latin);color:#a27d4a;letter-spacing:.2px}.gift-intro h3,.gift-result h3{font-size:clamp(16px,3.4cqw,25px);line-height:1.35;color:#795035}.gift-intro p,.gift-result>p:last-child{font-size:clamp(11px,2.2cqw,16px);line-height:1.4}.gift-intro small{font-size:clamp(10px,1.7cqw,12px);color:#9a7a50;line-height:1.2}.gift-intro .pixel-button{padding:6px 15px;font-size:clamp(12px,2.2cqw,17px)}
.gift-result{width:min(430px,90%);gap:1.6cqh}.gift-result-star{width:clamp(20px,5cqw,38px);height:clamp(20px,5cqw,38px);color:#e6b958}.gift-result h3{white-space:nowrap}
.gift-control-row{display:flex;gap:2cqw;align-items:center;min-height:25px}.gift-control-row>progress{min-width:0;flex:1}.gift-touch-controls{display:flex;gap:8px}.gift-touch-controls .pixel-button{font-size:clamp(11px,1.8cqw,15px);padding:4px 10px;min-width:32px;min-height:27px;touch-action:none;user-select:none}
.mini-page progress{appearance:none;height:8px;border:2px solid #805d3e;background:#5c6546;border-radius:0;overflow:hidden}.mini-page progress::-webkit-progress-bar{background:#5c6546}.mini-page progress::-webkit-progress-value{background:#e8c579}.mini-page progress::-moz-progress-bar{background:#e8c579}
.wish-page{grid-template-columns:40% minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;gap:2cqh 3cqw;background:#533a2c}.wish-heading{grid-column:1/-1;display:block;text-align:center}.wish-page .screen-navigation{grid-column:1/-1}.cake-scene{position:relative;min-height:0;display:grid;align-items:end;justify-items:center;padding-bottom:1cqh}.birthday-cake{display:block;width:100%;height:100%;max-height:56cqh;filter:drop-shadow(0 4px #402a2366);overflow:visible}
.wish-panel{align-self:center;padding:2cqh 2cqw;max-height:100%;overflow:auto;display:flex;flex-direction:column;gap:1.2cqh;background:#f5dfb4f5;scrollbar-width:thin}.wish-panel label{font-size:clamp(14px,2.5cqw,19px);line-height:1.2;color:#805237}.wish-panel input{min-width:0;width:100%;font-size:clamp(12px,2.2cqw,16px);background:#fff4d7;border:2px solid #aa8253;border-radius:0;padding:7px 8px;color:#705236;outline-offset:-4px}.wish-panel input:disabled{opacity:.8;color:#7e5f42}.wish-panel #wish-status{font-size:clamp(10px,1.8cqw,13px);line-height:1.4;color:#9c7950}.wish-panel .pixel-button{font-size:clamp(13px,2.4cqw,18px);padding:7px 12px;align-self:center}.wish-panel progress{width:100%;height:6px}
#wish-after{text-align:center;font-size:clamp(14px,2.7cqw,20px);line-height:1.4;color:#936342}#wish-echo{font-size:clamp(11px,2cqw,15px);line-height:1.4;color:#a27d54;margin-top:5px;overflow-wrap:anywhere;max-height:70px;overflow:auto}
.candle-flame{filter:drop-shadow(0 0 4px #ffd577);transform-box:fill-box;transform-origin:50% 100%;animation:candle-flicker .7s steps(2) infinite alternate}.cake-candle:nth-of-type(2n) .candle-flame{animation-delay:.23s}.candle-smoke{opacity:0}.cake-candle.out .candle-flame{opacity:0;animation:none}.cake-candle.out .candle-smoke{animation:candle-smoke 2s steps(8) both}.candles-out .birthday-cake{filter:drop-shadow(0 3px #402a2377)}
.wish-fireflies{position:absolute;inset:0;pointer-events:none;overflow:visible}.wish-fireflies i{position:absolute;width:3px;height:3px;background:#ffe2a1;box-shadow:0 0 5px #ffe2a1;opacity:0}.candles-out .wish-fireflies i{animation:wish-firefly 4s steps(15) infinite}.wish-fireflies i:nth-child(1){left:20%;top:75%}.wish-fireflies i:nth-child(2){left:70%;top:60%;animation-delay:.5s}.wish-fireflies i:nth-child(3){left:45%;top:70%;animation-delay:1.2s}.wish-fireflies i:nth-child(4){left:85%;top:80%;animation-delay:1.8s}.wish-fireflies i:nth-child(5){left:10%;top:50%;animation-delay:2.5s}.wish-fireflies i:nth-child(6){left:60%;top:85%;animation-delay:3s}
@keyframes frog-catch{50%{transform:translateY(-5px)}}@keyframes candle-flicker{to{transform:scaleX(.8) scaleY(1.12);fill:#ffe89b}}@keyframes candle-smoke{0%{opacity:.65;transform:translateY(0)}100%{opacity:0;transform:translateY(-15px)}}@keyframes wish-firefly{0%,100%{opacity:0;transform:translate(0,0)}25%{opacity:.9}75%{opacity:.5;transform:translate(10px,-70px)}}
@container (max-height:300px) and (min-width:360px){.mini-page{padding:2.3cqh 3cqw 2cqh;gap:1.3cqh}.mini-heading h2{font-size:18px;margin-top:3px}.mini-heading .chapter-label{font-size:4px}.gift-hud>span{font-size:11px;padding:4px 6px}.gift-intro,.gift-result{padding:7px 12px;gap:4px}.gift-intro h3,.gift-result h3{font-size:17px}.gift-intro p,.gift-result>p:last-child{font-size:11px;line-height:1.25}.mini-kicker{font-size:4px}.gift-intro small{font-size:10px}.gift-intro .pixel-button{font-size:12px;padding:4px 10px}.gift-result-star{width:20px;height:20px}.gift-control-row{min-height:22px}.gift-touch-controls .pixel-button{font-size:10px;min-height:23px;padding:3px 7px}.mini-page .screen-navigation .pixel-button{font-size:10px;padding:4px 7px;min-height:24px}.wish-panel{padding:7px 10px;gap:4px}.wish-panel label{font-size:13px}.wish-panel input{font-size:12px;padding:4px 6px}.wish-panel #wish-status{font-size:10px;line-height:1.25}.wish-panel .pixel-button{font-size:12px;padding:5px 10px}#wish-after{font-size:14px}#wish-echo{font-size:11px;max-height:34px}.birthday-cake{max-height:64cqh}.mini-page .page-dots{gap:4px}}
@media(max-width:700px) and (orientation:portrait){.mini-page{padding:18px 11px 12px;gap:12px}.mini-heading{align-items:flex-start;gap:5px}.mini-heading .chapter-label{font-size:4px;line-height:1.8;max-width:170px}.mini-heading h2{font-size:19px;margin-top:7px;max-width:180px}.gift-hud{gap:3px;flex-direction:column}.gift-hud>span{font-size:11px;padding:4px 5px}.gift-intro,.gift-result{width:92%;padding:16px 9px;gap:13px}.gift-intro h3,.gift-result h3{font-size:18px}.gift-intro p,.gift-result>p:last-child{font-size:13px;line-height:1.5}.mini-kicker{font-size:4px}.gift-intro small{font-size:11px}.gift-intro .pixel-button{font-size:15px;padding:8px 14px}.gift-control-row{gap:8px;flex-direction:column}.gift-control-row>progress{width:100%;flex:none;height:7px}.gift-touch-controls{width:100%;justify-content:center;gap:10px}.gift-touch-controls .pixel-button{font-size:13px;padding:5px 14px;min-height:29px}.mini-page .screen-navigation{gap:5px}.mini-page .screen-navigation .pixel-button{font-size:10px;padding:6px 5px;min-height:27px}.mini-page .page-dots{gap:3px}.mini-page .page-dots i{width:3px;height:3px}.wish-page{grid-template-columns:1fr;grid-template-rows:auto minmax(100px,1fr) auto auto;gap:10px}.wish-heading{display:block}.wish-heading h2{max-width:none;font-size:20px}.wish-heading .chapter-label{max-width:none}.birthday-cake{max-height:190px;width:85%}.wish-panel{padding:10px 9px;gap:6px;width:100%}.wish-panel label{font-size:15px}.wish-panel input{font-size:14px;padding:7px}.wish-panel #wish-status{font-size:11px;line-height:1.4}.wish-panel .pixel-button{font-size:15px;padding:7px 13px}#wish-after{font-size:17px}#wish-echo{font-size:12px;max-height:45px}}
.gift-touch-controls{gap:5px}.gift-touch-controls .pixel-button{padding-inline:7px}.birthday-cake use{shape-rendering:crispEdges}
@media(max-width:700px) and (orientation:portrait){.gift-touch-controls{gap:6px}.gift-touch-controls .pixel-button{padding:5px 8px;min-width:32px}}
@media(prefers-reduced-motion:reduce){.gift-player.caught svg,.candle-flame,.cake-candle.out .candle-smoke,.candles-out .wish-fireflies i{animation:none}.cake-candle.out .candle-smoke{opacity:.35}.candles-out .wish-fireflies i{opacity:.6}}
