@font-face{font-family:Nunito;src:url('fonts/nunito.woff2') format('woff2');font-weight:400 1000;font-style:normal;font-display:swap}
@font-face{font-family:DM Sans;src:url('fonts/dm-sans.woff2') format('woff2');font-weight:400 800;font-style:normal;font-display:swap}
:root{--ink:#4f3b66;--muted:#85768f;--purple:#8661b1;--purple-dark:#72509c;--paper:#fffafc;--border:#d9cde5;--green:#7b9f7c;--bg:#f1eaf7;--font:'DM Sans','Segoe UI',sans-serif;--display:Nunito,'Arial Rounded MT Bold',var(--font)}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;min-height:100%;width:100%;background:var(--bg);color:var(--ink);font-family:var(--font)}
body{overflow:hidden;overscroll-behavior:none}
button,input{font:inherit}
button{border:0;cursor:pointer;color:inherit;background:transparent;touch-action:manipulation}
button:disabled{cursor:default;opacity:.48}
button:not(:disabled){transition:background .2s,transform .16s,box-shadow .2s}
button:not(:disabled):active{transform:translateY(2px)}
button:focus-visible,input:focus-visible,canvas:focus-visible{outline:3px solid #8d60b3;outline-offset:5px}
svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.svg-defs{position:absolute;width:0;height:0;overflow:hidden}
.ambient{position:fixed;inset:0;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at 72% 27%,#fbf4ef 0,transparent 49%),linear-gradient(155deg,#eee9f6 12%,#f3e9f0 60%,#e0d4ef 100%)}
.ambient:after{content:'';position:absolute;left:-10%;right:-10%;bottom:-34vh;height:60vh;background:#d6c6e14a;border-radius:50% 50% 0 0;transform:rotate(-6deg);border-top:1px solid #ffffff70}
.orb{position:absolute;border-radius:50%;border:1px solid #fff5;background:#fff2}
.orb-one{width:50vw;height:50vw;right:3%;top:3%;box-shadow:0 0 0 60px #fff1,0 0 0 120px #fff1}
.orb-two{width:18vw;height:18vw;left:-11%;bottom:10%;background:#dccce733}
.grain{position:absolute;inset:0;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E")}
.site-header{position:fixed;top:0;left:0;right:0;z-index:5;height:100px;padding:12px clamp(25px,5.2vw,86px);display:flex;align-items:center;justify-content:space-between;pointer-events:none}
.site-header>*{pointer-events:auto}
.brand{position:relative;font-family:var(--display);font-size:43px;font-weight:1000;letter-spacing:-3px;line-height:1;padding:7px 5px 12px}
.brand-dot{color:#96ab7d}
.brand-leaf{position:absolute;width:13px;height:7px;background:#8bb88b;border-radius:100% 0 100% 0;transform:rotate(-18deg);top:6px;left:43px}
#mainNav,#playNav{display:flex;align-items:center;gap:17px}
.nav-link{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:600;padding:10px 8px}
.nav-link:hover{color:var(--purple)}
.nav-divider{height:22px;width:1px;background:var(--border);margin:0 5px}
.icon-button{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:#ffffff55;border:1px solid #ffffff88}
.icon-button:hover{background:#fff9}
.icon-button[aria-pressed=true]{opacity:.5}
#playNav{display:none}
body[data-screen=game] #mainNav{display:none}
body[data-screen=game] #playNav{display:flex}
#stage{position:fixed;top:90px;bottom:65px;left:36%;right:0;z-index:1}
#world{width:100%;height:100%;display:block;touch-action:none;outline-offset:-5px}
body[data-screen=game] #stage{top:125px;bottom:170px;left:0;right:0}
body:not([data-screen=game]):not([data-screen=home]) #stage{visibility:hidden;pointer-events:none}
#sceneStatus{position:absolute;top:5px;left:50%;transform:translateX(-50%);font-size:12px;text-align:center}
.screen{display:none;position:relative;z-index:2}
.screen.on{display:block}
#home{height:100dvh;pointer-events:none}
#home button{pointer-events:auto}
.home-copy{position:absolute;left:clamp(30px,8.2vw,150px);top:50%;width:min(38vw,485px);transform:translateY(-47%)}
.eyebrow{font-size:10px;line-height:1.4;font-weight:700;letter-spacing:2px;color:var(--muted)}
.home-copy>.eyebrow{color:#8b739d;margin-bottom:23px;font-size:10px;letter-spacing:2.1px;display:flex;align-items:center;gap:8px}
.tiny-spark{font-size:22px;color:#bd99b7;line-height:10px}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-family:var(--display)}
.home-copy h1{font-size:clamp(52px,5.4vw,90px);line-height:1.04;letter-spacing:-4px;font-weight:900}
.home-copy h1 span{color:#9a76b9;position:relative}
.home-copy h1 span:after{content:'';position:absolute;height:7px;left:5px;right:0;bottom:2px;border-radius:50%;border-bottom:2px solid #c5a7ce;transform:rotate(-3deg)}
.home-description{color:var(--muted);font-size:15px;line-height:1.9;margin:22px 0 29px}
.primary{background:var(--purple);color:#fff;min-height:52px;border-radius:17px;padding:14px 24px;display:inline-flex;align-items:center;justify-content:center;gap:30px;font-size:15px;font-weight:600;box-shadow:0 5px 0 #67458e26,0 8px 25px #7751a219}
.primary:hover{background:var(--purple-dark);box-shadow:0 7px 0 #67458e26,0 10px 25px #7751a22c;transform:translateY(-1px)}
.play-button{width:285px;justify-content:space-between;height:59px;font-size:17px;border-radius:18px;padding-left:26px}
.secondary-actions{display:flex;gap:19px;margin-top:18px;padding-left:3px;font-size:12px;font-weight:500}
.secondary-actions button{padding:4px 0}
.secondary-actions button:first-child span{margin-left:8px;color:#a386b8}
.secondary-actions button+button{border-left:1px solid var(--border);padding-left:19px;color:var(--muted)}
.daily-card{display:flex;align-items:center;text-align:left;gap:13px;margin-top:31px;background:#ffffff65;border:1px solid #ffffffac;border-radius:18px;padding:16px 17px;width:min(100%,360px);box-shadow:0 8px 25px #66557b03}
.daily-card:hover{background:#fffc}
.daily-icon{width:40px;height:40px;background:#f5e7d9;border-radius:13px;color:#ba9572;display:flex;align-items:center;justify-content:center}
.daily-copy{flex:1}
.daily-copy strong{display:block;font-size:12px;font-weight:700}
.daily-copy small{font-size:10px;color:var(--muted);display:block;margin-top:5px}
.daily-arrow{width:17px}
.home-note{margin-top:22px;font-size:10px;color:#93859c;display:flex;gap:7px;align-items:center}
.green-dot{width:5px;height:5px;border-radius:50%;background:#95af87}
.scene-caption{position:absolute;left:41%;right:3%;bottom:14.8%;display:flex;justify-content:center;align-items:center;gap:12px;font-family:var(--display);font-size:12px;letter-spacing:.4px;color:#9b85aa}
.caption-line{width:28px;height:1px;background:#c8b7d3}
.home-footer{position:absolute;bottom:30px;left:5.3%;right:5.3%;display:flex;justify-content:space-between;font-size:10px;color:#9988a8}
.home-footer strong{font-weight:600;color:#7c668d}
.home-footer button{font-size:10px;padding:0}
.home-footer button span{margin-left:8px}
#game{height:100dvh;pointer-events:none}
#game button,#game input{pointer-events:auto}
.game-heading{position:absolute;top:102px;left:50%;transform:translateX(-50%);text-align:center;width:400px}
.game-heading h2{font-size:18px;font-weight:800;margin-top:6px}
.goal-track{width:110px;height:4px;background:#d9cce56b;margin:9px auto;border-radius:3px;overflow:hidden}
.goal-track span{height:100%;width:0;background:#a48ab6;display:block;transition:width .3s}
.score-panel{position:absolute;left:clamp(30px,17vw,310px);top:27%;text-align:center;min-width:130px}
.score-panel>strong{display:block;font-family:var(--display);font-weight:900;font-size:66px;line-height:1.3;letter-spacing:-3px;font-variant-numeric:tabular-nums}
.best-line{display:flex;align-items:center;justify-content:center;gap:5px;color:#9b829b;font-size:11px}
.best-line svg{width:14px;height:14px;color:#b89471}
#dropCount{font-size:11px;color:var(--muted);margin-top:26px}
.next-panel{position:absolute;right:clamp(30px,17vw,310px);top:27%;text-align:center;min-width:120px}
.next-fruit{display:flex;align-items:center;justify-content:center;gap:9px;height:104px}
#nextFruit{width:75px;height:79px;filter:drop-shadow(0 8px 9px #9980aa13)}
#afterFruit{width:34px;height:36px;opacity:.6}
.next-panel>strong{font-size:12px;font-weight:500;color:var(--muted)}
.game-bottom{position:absolute;bottom:max(16px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);text-align:center;width:500px}
#evolution{display:flex;gap:5px;justify-content:center;align-items:center;margin:0 auto 7px}
.evolution-fruit{width:25px;height:28px;opacity:.3;transition:opacity .3s,transform .3s}
.evolution-fruit.reached{opacity:1}
.evolution-fruit.latest{transform:scale(1.22)}
.evolution-arrow{font-size:10px;color:#c1aecb}
#firstHint{font-size:11px;color:var(--muted);height:23px;line-height:18px;transition:opacity .3s}
.tilt-panel{display:flex;align-items:center;gap:6px;width:100%;border-radius:24px;background:#fffc;border:1px solid #fff;padding:10px 11px;box-shadow:0 8px 30px #72558b10}
.tilt-side{width:40px;height:42px;font-size:30px;color:#9c83b0;line-height:1}
.tilt-center{flex:1;min-width:0;padding:0 5px}
.tilt-label{display:flex;align-items:center;justify-content:space-between;font-size:10px;margin:0 2px 3px;color:#91809c}
#tiltZero{font-size:10px;min-width:35px;color:var(--purple);padding:2px 3px;font-variant-numeric:tabular-nums}
input[type=range]{display:block;width:100%;height:22px;margin:0;appearance:none;background:transparent;cursor:ew-resize;touch-action:pan-y}
input[type=range]::-webkit-slider-runnable-track{height:4px;background:linear-gradient(90deg,#dbcbe6,#b89dd0 50%,#dbcbe6);border-radius:5px}
input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--purple);width:18px;height:18px;border-radius:50%;border:3px solid #fff;margin-top:-7px;box-shadow:0 1px 6px #74578750}
input[type=range]::-moz-range-track{height:4px;background:#d8c8e5;border-radius:5px}
input[type=range]::-moz-range-thumb{background:var(--purple);width:14px;height:14px;border-radius:50%;border:3px solid #fff}
.drop-button{background:var(--purple);color:#fff;border-radius:15px;height:45px;padding:0 20px;font-size:12px;font-weight:600}
.drop-button span{padding-left:12px}
.bump-button{height:45px;min-height:44px;min-width:75px;border-radius:15px;background:#e8dcf2;color:var(--purple-dark);font-size:12px;font-weight:700;padding:0 10px;white-space:nowrap;flex-shrink:0}
.bump-button:disabled{opacity:.5}
.keyboard-hint{margin-top:12px;font-size:9px;color:#a393ae;display:flex;gap:5px;justify-content:center;align-items:center}
.keyboard-hint span{margin:0 8px}
kbd{font-family:var(--font);font-size:9px;min-width:13px}
#dangerNotice{position:absolute;top:24%;left:50%;transform:translateX(-50%);padding:9px 14px;border-radius:30px;font-size:11px;background:#fff2e9ef;color:#b15d67;border:1px solid #eac6c6}
#comboNotice{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);font-family:var(--display);font-size:25px;font-weight:900;color:#8e5ba8;text-shadow:0 2px 0 white;opacity:0}
#comboNotice.show{animation:combo 1.2s both}
@keyframes combo{0%{opacity:0;transform:translate(-50%,-40%) scale(.8)}20%{opacity:1;transform:translate(-50%,-50%) scale(1.1)}65%{opacity:1}100%{opacity:0;transform:translate(-50%,-100%)}}
.score-pop{position:fixed;z-index:4;pointer-events:none;font-family:var(--display);font-size:23px;font-weight:900;color:#8b5d9c;text-shadow:0 2px 0 #fff;animation:scorepop 1s ease-out forwards}
@keyframes scorepop{from{opacity:1;transform:translate(-50%,0) scale(.8)}25%{transform:translate(-50%,-20px) scale(1.1)}to{opacity:0;transform:translate(-50%,-70px)}}
.page-screen{height:100dvh;overflow-y:auto;padding:120px max(25px,calc((100vw - 1000px)/2)) 50px;scrollbar-width:thin}
.page-heading{text-align:center;position:relative;margin-bottom:32px}
.page-heading h1{font-size:38px;font-weight:900;letter-spacing:-1px;margin:9px 0}
.page-heading p{font-size:13px;line-height:1.7;color:var(--muted)}
.back-link{display:flex;align-items:center;gap:6px;font-size:11px;margin-bottom:17px;padding:6px 0;color:var(--muted)}
.back-link svg{width:17px}
.star-total,.collection-total{display:inline-block;margin-top:14px;font-size:12px;color:#ad8b60;background:#fff6;padding:7px 16px;border:1px solid #fff8;border-radius:40px}
.chapter{margin:24px 0}
.chapter-title{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:13px}
.chapter-title h2{font-size:18px}
.chapter-title span{font-size:11px;color:var(--muted)}
.level-row{display:grid;grid-template-columns:repeat(10,1fr);gap:10px}
.level-button{background:#ffffff70;border:1px solid #fff;border-radius:17px;aspect-ratio:1;padding:12px 2px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}
.level-button strong{font-family:var(--display);font-size:23px;font-weight:800}
.level-button small{font-size:11px;color:#b89471;letter-spacing:2px;margin-top:5px}
.level-button.current{background:var(--purple);color:#fff;box-shadow:0 6px 15px #8561ac2b}
.level-button.current small{color:#ead7aa}
.level-button.done{background:#fcf4e5;border-color:#efdfc1}
.level-button:disabled{opacity:.4}
.collection-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.friend-card{padding:22px 10px;border:1px solid #fff9;background:#fff5;border-radius:24px;text-align:center}
.friend-card img{height:94px;width:94px;display:block;margin:0 auto 9px}
.friend-card h2{font-size:17px}
.friend-card p{color:var(--muted);font-size:10px;margin-top:5px}
.friend-card.unseen img{filter:grayscale(1);opacity:.27}
.friend-card.unseen{background:#ffffff22}
.friend-card .friend-number{font-size:9px;letter-spacing:2px;color:#ab97b6}
.card{background:#ffffff80;border:1px solid #fff;border-radius:26px;padding:28px}
.daily-layout{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:840px;margin:auto}
.daily-main{text-align:center}
.daily-sun{color:#c49c6c;background:#f7ead6;width:65px;height:65px;border-radius:22px;margin:0 auto 15px;display:flex;align-items:center;justify-content:center}
.daily-sun svg{width:36px;height:36px}
.daily-main h2,.daily-goals h2{font-size:23px;margin:9px 0}
.daily-main p,.daily-goals>p{font-size:12px;color:var(--muted);line-height:1.7;margin:10px 0 21px}
.daily-main .primary{font-size:13px}
.countdown{font-size:10px;color:var(--muted);margin:16px 0}
#weekStamps{display:flex;justify-content:center;gap:9px}
.day-stamp{display:flex;flex-direction:column;align-items:center;gap:7px;font-size:9px;color:var(--muted)}
.day-stamp span{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid #ddd0e5;border-radius:50%;color:#b09abd;font-size:13px}
.day-stamp.played span{background:#e3ecd9;border-color:#d1dfc3;color:#7e9965}
.small-goal{border-bottom:1px solid #e1d6e9;padding:15px 0}
.small-goal:last-of-type{border:0}
.small-goal>div:first-child{display:flex;justify-content:space-between;font-size:12px}
.small-goal strong{font-weight:500}
.small-goal small{color:var(--muted)}
.small-goal .goal-track{width:100%;margin:10px 0 0}
.small-goal.complete strong:after{content:' ✓';color:#7d9c68}
.daily-goals .streak-note{font-size:10px;margin-bottom:0;color:#a292ac}
.archive-link{display:block;margin:24px auto}
.text-button{font-size:12px;color:var(--purple);padding:10px 0}
.mode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.mode-card{text-align:center;padding:24px 20px}
.mode-card .mode-symbol{font-size:35px;color:#a58ab4;display:block;margin-bottom:16px;font-family:var(--display)}
.mode-card h2{font-size:21px}
.mode-card p{font-size:12px;line-height:1.7;color:var(--muted);min-height:45px;margin:10px 0 17px}
.mode-card .primary{width:100%;min-height:43px;font-size:12px}
.mode-daily{font-size:11px;color:var(--muted);margin-top:14px}
.preview-note{font-size:11px;text-align:center;color:var(--muted);margin-top:25px}
.archive-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.archive-card{text-align:left;border-radius:20px;background:#fff8;border:1px solid #fff;padding:22px}
.archive-card strong,.archive-card small{display:block}
.archive-card strong{font-size:14px}
.archive-card small{font-size:10px;color:var(--muted);margin:7px 0 16px}
.archive-card span{font-size:11px;color:var(--purple)}
.settings-card{max-width:530px;margin:auto}
.toggle{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 0;border-bottom:1px solid #e5dbea}
.toggle strong{font-size:13px;font-weight:600}
.toggle small{display:block;color:var(--muted);font-size:11px;margin-top:5px}
.toggle input{width:21px;height:21px;accent-color:var(--purple);cursor:pointer}
.settings-themes{padding:24px 0}
.settings-themes>strong{font-size:13px}
#themeList{display:flex;gap:9px;margin-top:15px;flex-wrap:wrap}
.theme-button{border-radius:12px;border:2px solid transparent;padding:11px 13px;font-size:10px;background:#eee4f4;color:#654e77}
.theme-button.selected{border-color:var(--purple)}
.settings-card>.text-button{display:block}
.reset-link{color:#b3818c}
.settings-note{font-size:10px;color:var(--muted);line-height:1.8;margin-top:20px}
#modal{border:1px solid #fff;border-radius:30px;padding:35px 32px;background:#fcf8ff;color:var(--ink);box-shadow:0 25px 100px #4b2f6c29;width:min(400px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto;text-align:center}
#modal::backdrop{background:#56416645;backdrop-filter:blur(7px)}
#modal h2{font-size:30px;font-weight:900;letter-spacing:-.5px}
#modal .modal-eyebrow{font-size:9px;letter-spacing:2px;color:var(--muted);margin-bottom:10px}
#modal p{font-size:13px;line-height:1.7;color:var(--muted);margin:13px 0 20px}
#modal .result-fruit{width:90px;height:95px}
#modal .big-score{font-family:var(--display);font-weight:900;font-size:65px;margin:5px 0;letter-spacing:-3px}
#modal .result-stars{font-size:33px;letter-spacing:6px;color:#d9ae63;margin-top:14px}
.modal-buttons{display:flex;flex-direction:column;gap:10px;margin-top:22px}
.modal-buttons button{min-height:45px;font-size:13px;border-radius:14px}
.modal-buttons button:not(.primary){background:#ede4f3;color:#86699b}
.modal-buttons button.text-button{background:transparent;min-height:30px;font-size:11px}
.help-steps{text-align:left;margin:20px 0;display:flex;flex-direction:column;gap:18px}
.help-step{display:flex;gap:14px;align-items:center;font-size:12px;line-height:1.6;color:var(--muted)}
.help-step>b{border-radius:12px;background:#eadff1;color:#9066ac;width:35px;height:35px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.help-step strong{display:block;color:var(--ink)}
#toasts{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:20;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none}
.toast{border-radius:30px;padding:12px 22px;background:#5f4579;color:white;font-size:12px;box-shadow:0 8px 35px #59406e20;white-space:nowrap;max-width:95vw}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
body[data-theme=sunset] .ambient{background:radial-gradient(ellipse at 72% 30%,#fff5da,transparent 60%),linear-gradient(150deg,#f5dedc,#f1d1c9)}
body[data-theme=ocean] .ambient{background:radial-gradient(ellipse at 72% 30%,#f0fff8,transparent 60%),linear-gradient(150deg,#e2edf1,#cce2e2)}
body[data-theme=mono] .ambient{background:radial-gradient(ellipse at 72% 30%,#fffef6,transparent 60%),linear-gradient(150deg,#ece9e2,#e5e1d7)}
body[data-theme=neon] .ambient{background:radial-gradient(ellipse at 72% 30%,#efe2fe,transparent 60%),linear-gradient(150deg,#dddaf7,#c5c5e9)}
@media(min-width:1650px){.home-copy{left:12%;width:470px}.scene-caption{bottom:17%}.score-panel{left:24%}.next-panel{right:24%}}
@media(max-width:1000px){.nav-link{font-size:11px}.site-header{padding:12px 30px}.home-copy{left:6%;width:40%}.home-copy h1{font-size:58px;letter-spacing:-3px}.home-description{font-size:12px}.home-copy>.eyebrow{font-size:8px;letter-spacing:1.5px}.daily-card{padding:13px;width:310px}.daily-copy strong{font-size:11px}.daily-copy small{font-size:9px}.score-panel{left:7%}.next-panel{right:7%}.level-row{grid-template-columns:repeat(5,1fr)}.level-button{max-height:95px}.mode-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){
.site-header{height:77px;padding:12px 22px;padding-top:max(12px,env(safe-area-inset-top))}
.brand{font-size:35px;letter-spacing:-2.5px}.brand-leaf{left:35px;top:6px;width:10px;height:5px}
#mainNav{gap:8px}.nav-link{padding:8px 5px}.nav-link span,.nav-divider{display:none}.nav-link svg{width:18px}
.icon-button{width:35px;height:35px}.icon-button svg{width:18px}
#stage{left:0;right:0;top:235px;bottom:220px}
.home-copy{position:static;transform:none;width:auto}
.home-copy>.eyebrow{position:absolute;top:103px;left:0;right:0;justify-content:center;font-size:8px;margin:0;letter-spacing:1.8px}
.tiny-spark{font-size:16px}
.home-copy h1{position:absolute;top:123px;left:0;right:0;text-align:center;font-size:34px;line-height:1.08;letter-spacing:-1.8px}
.home-copy h1 br{display:block}
.home-copy h1 span:after{height:4px;bottom:0}
.home-description{position:absolute;top:205px;left:0;right:0;text-align:center;font-size:11px;line-height:1.6;margin:0}
.home-description br,.home-more{display:none}
.home-actions{position:absolute;bottom:138px;left:50%;transform:translateX(-50%);width:calc(100% - 80px);max-width:330px}
.play-button{width:100%;height:53px;min-height:53px;font-size:15px;border-radius:17px}
.secondary-actions{justify-content:center;gap:17px;margin-top:13px;font-size:10px}
.daily-card{position:absolute;left:50%;bottom:53px;transform:translateX(-50%);width:calc(100% - 80px);max-width:330px;margin:0;padding:11px 14px;border-radius:16px;gap:10px}
.daily-card:active{transform:translateX(-50%) translateY(2px)!important}
.daily-icon{width:33px;height:33px;border-radius:11px}.daily-icon svg{width:20px}
.daily-copy strong{font-size:11px}.daily-copy small{font-size:9px}
.home-note{position:absolute;bottom:25px;left:0;right:0;justify-content:center;font-size:9px;margin:0}
.home-footer,.scene-caption{display:none}
body[data-screen=game] #stage{top:150px;bottom:160px}
.game-heading{top:80px;width:75%}.game-heading .eyebrow{font-size:8px;letter-spacing:1.8px}.game-heading h2{font-size:14px;margin-top:3px}
.goal-track{margin-top:6px;width:80px;height:3px}
.score-panel{left:24px;top:132px;min-width:0;text-align:left}
.score-panel>.eyebrow{font-size:8px;letter-spacing:1.2px}
.score-panel>strong{font-size:33px;letter-spacing:-1px;line-height:1.2}
.best-line{font-size:8px;justify-content:flex-start;gap:3px}.best-line svg{width:11px;height:11px}
#dropCount{font-size:9px;margin-top:7px}
.next-panel{right:24px;top:132px;min-width:0;text-align:right}
.next-panel>.eyebrow{font-size:8px;letter-spacing:1.2px}
.next-fruit{height:53px;gap:4px}
#nextFruit{width:43px;height:45px}
#afterFruit{width:24px;height:26px}.next-panel>strong{font-size:9px}
.game-bottom{bottom:max(16px,env(safe-area-inset-bottom));width:calc(100% - 32px);max-width:390px}
#evolution{gap:3px;margin-bottom:5px}.evolution-fruit{width:22px;height:24px}.evolution-arrow{font-size:8px}
#firstHint{font-size:9px;height:21px;white-space:nowrap}
.tilt-panel{padding:8px;border-radius:22px}
.tilt-side{width:29px;height:40px;font-size:27px}
.drop-button{height:44px;padding:0 15px;font-size:12px}
.bump-button{min-width:64px;padding:0 8px;font-size:11px}
.tilt-center{padding:0 3px}
.keyboard-hint{display:none}
#dangerNotice{font-size:10px;top:212px;width:max-content;max-width:90%;padding:8px 12px}
#comboNotice{font-size:24px;top:43%}
.page-screen{padding:90px 22px 35px}
.page-heading{margin-bottom:23px}.page-heading h1{font-size:27px;line-height:1.2;letter-spacing:-.8px}
.page-heading>.eyebrow{font-size:8px;letter-spacing:1.5px}
.page-heading p{font-size:11px;padding:0 10px;margin-top:10px}
.back-link{font-size:10px;margin-bottom:15px}
.level-row{gap:7px}.level-button{border-radius:14px;padding:6px}
.level-button strong{font-size:19px}.level-button small{font-size:9px}
.chapter-title h2{font-size:16px}.chapter-title span{font-size:9px}
.collection-grid{grid-template-columns:repeat(3,1fr);gap:10px}
.friend-card{padding:17px 5px;border-radius:18px}
.friend-card img{width:66px;height:69px}.friend-card h2{font-size:14px}
.friend-card p{font-size:8px;line-height:1.4}.friend-card .friend-number{font-size:7px}
.daily-layout{grid-template-columns:1fr;gap:17px}
.card{padding:23px}
.daily-main h2,.daily-goals h2{font-size:22px}.daily-main p,.daily-goals>p{font-size:12px}
.mode-grid{grid-template-columns:1fr;gap:14px}.mode-card{text-align:left;position:relative;padding-left:85px}
.mode-card .mode-symbol{position:absolute;left:25px;top:25px;font-size:30px}
.mode-card p{min-height:0;margin:7px 0 15px}.mode-card h2{font-size:20px}
.mode-card .primary{width:150px}.mode-daily{display:block}
.archive-grid{grid-template-columns:repeat(2,1fr);gap:10px}
.archive-card{padding:19px 15px;border-radius:17px}
.toast{font-size:10px;padding:12px 17px}
}
@media(max-width:640px) and (max-height:730px){#stage{top:198px;bottom:216px}.home-copy>.eyebrow{top:82px}.home-copy h1{top:103px;font-size:28px}.home-description{top:169px;font-size:10px}.home-actions{bottom:129px}.daily-card{bottom:47px}.home-note{bottom:20px}body[data-screen=game] #stage{top:125px;bottom:151px}.game-heading{top:72px}.score-panel,.next-panel{top:119px}.game-bottom{bottom:10px}.game-heading h2{font-size:12px}#firstHint{font-size:8px}}
@media(max-height:620px) and (min-width:641px){.site-header{height:70px}.home-copy{top:48%;transform:translateY(-42%)}.home-copy h1{font-size:51px}.home-description{margin:13px 0 16px}.home-copy>.eyebrow{margin-bottom:13px}.daily-card{margin-top:15px;padding:10px}.home-note{margin-top:12px}.home-footer{bottom:16px}#stage{top:50px;bottom:40px}.scene-caption{bottom:11%}.game-heading{top:70px}body[data-screen=game] #stage{top:65px;bottom:130px}.game-bottom{bottom:8px}.keyboard-hint{display:none}#evolution{margin-bottom:0}.page-screen{padding-top:90px}}
@media(max-height:500px) and (min-width:641px){
.site-header{height:65px}.brand{font-size:35px}.brand-leaf{left:35px;top:5px}
.home-copy{top:79px;left:6%;width:40%;transform:none}.home-copy>.eyebrow{font-size:7px;margin-bottom:8px;letter-spacing:1.4px}.tiny-spark{font-size:16px}
.home-copy h1{font-size:36px;line-height:1.03;letter-spacing:-1.8px}.home-description{font-size:10px;margin:9px 0 14px;line-height:1.4}.home-description br,.home-more{display:none}
.play-button{height:45px;min-height:45px;max-width:285px;font-size:13px}.secondary-actions{font-size:10px;margin-top:10px}
.daily-card{margin-top:13px;width:285px;padding:8px 12px;border-radius:14px}.daily-icon{width:30px;height:30px}.daily-icon svg{width:19px}.daily-copy strong{font-size:10px}.daily-copy small{font-size:8px;margin-top:3px}
.home-note,.home-footer,.scene-caption{display:none}#stage{top:65px;bottom:20px;left:43%}
.game-heading{top:65px}.game-heading h2{font-size:13px}.game-heading .eyebrow{font-size:8px}.game-heading .goal-track{margin-top:5px}
body[data-screen=game] #stage{top:85px;bottom:110px}.game-bottom{width:365px;bottom:9px}.score-panel,.next-panel{top:35%}.score-panel>strong{font-size:43px}.next-fruit{height:70px}#nextFruit{width:55px;height:58px}#afterFruit{width:27px;height:30px}
#firstHint{display:none}#evolution{gap:3px;margin-bottom:6px}.evolution-fruit{width:20px;height:22px}.evolution-arrow{font-size:8px}.tilt-panel{padding:6px 8px}.tilt-label{font-size:9px}.drop-button{height:40px}.tilt-side{height:37px}
}
@media(orientation:portrait) and (min-width:641px) and (max-width:1100px){
body[data-screen=home] #stage{top:300px;bottom:255px;left:0;right:0}
.home-copy{position:static;transform:none;width:auto}.home-copy>.eyebrow{position:absolute;top:131px;left:0;right:0;justify-content:center;font-size:9px;margin:0}
.home-copy h1{position:absolute;top:160px;left:0;right:0;text-align:center;font-size:46px;line-height:1.06;letter-spacing:-2px}
.home-description{position:absolute;top:269px;left:0;right:0;text-align:center;font-size:13px;margin:0}.home-description br,.home-more{display:none}
.home-actions{position:absolute;bottom:160px;left:50%;transform:translateX(-50%);width:360px}.play-button{width:100%;max-width:none;height:57px}.secondary-actions{justify-content:center;margin-top:16px}
.daily-card{position:absolute;bottom:68px;left:50%;transform:translateX(-50%);width:360px;margin:0;padding:15px}.daily-card:active{transform:translateX(-50%) translateY(2px)!important}
.home-note{position:absolute;bottom:34px;left:0;right:0;justify-content:center;margin:0}.home-footer,.scene-caption{display:none}
.score-panel{left:7%}.next-panel{right:7%}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.score-pop{display:none}}
