:root{font-family:system-ui,-apple-system,"Noto Sans CJK JP","Noto Sans CJK KR",sans-serif;color:#26362e;background:#f7f4e9;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background-image:radial-gradient(#d9dccf 1px,transparent 1px);background-size:20px 20px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit;border:0}button:focus-visible,a:focus-visible{outline:3px solid #ed7849;outline-offset:3px}main{max-width:490px;margin:auto;padding:22px 22px 26px}header{display:flex;align-items:center;justify-content:space-between;gap:8px}.brand{font-size:11px;font-weight:900;letter-spacing:1px;color:inherit;text-decoration:none}header button{background:#e9e9dc;border-radius:20px;padding:8px;font-size:10px}header>div{display:flex;gap:4px}.intro{margin:30px 0 22px}.eyebrow{font-size:10px;letter-spacing:2px;color:#7b897b}h1{font-size:35px;letter-spacing:-2px;margin:8px 0 4px;font-weight:900}h1 span{color:#ee734b}h1 i{font-size:27px;font-style:normal;display:inline-block;transform:rotate(12deg);margin-left:12px}.intro p{font-size:12px;margin:0;color:#708071}nav{display:flex;background:#e7e8dc;border-radius:12px;padding:4px;gap:4px}nav button{flex:1;background:transparent;font-size:11px;padding:10px 4px;border-radius:9px}nav .selected{background:#263e31;color:#fff;box-shadow:0 3px 7px #213a2520}.scores{display:flex;gap:12px;margin:22px 0}.scores>div{flex:1}.scores small,.next small{display:block;font-size:9px;letter-spacing:1.6px;color:#7a8878;font-weight:700}.scores strong{font-size:29px;letter-spacing:-1px}.scores .space{text-align:right}.space span{font-size:13px;color:#8c9788;letter-spacing:0}.next{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.next>div{display:flex;align-items:center;gap:12px}.next small{max-width:32px;line-height:1.6}.next p{font-size:10px;color:#7f8b7d;line-height:1.9;text-align:right}.next b{font-weight:500;font-size:9px}#queue{display:flex;align-items:center;gap:9px}.battery{background:var(--c,#d7edb3);border-radius:12px;color:#284232;font-weight:900;position:relative;box-shadow:inset 0 -5px 0 #0000000b,0 3px 0 #0000000a;display:flex;align-items:center;justify-content:center}.battery:before{content:'';position:absolute;top:-5px;left:36%;width:28%;height:5px;background:var(--c,#d7edb3);border-radius:3px 3px 0 0}.battery:after{content:'•  •';position:absolute;bottom:6px;font-size:10px;letter-spacing:2px;opacity:.5}#queue .battery{width:38px;height:39px;font-size:19px;border-radius:9px}#queue .battery:first-child{width:49px;height:49px;outline:2px solid #718e5b;outline-offset:4px;font-size:25px}#queue .battery:after{display:none}.arena{position:relative}#board{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;padding:14px;background:#dfe4d5;border:1px solid #cfd7c8;border-radius:23px;box-shadow:0 8px 0 #c6d0bd,0 17px 35px #243a2110}.cell{aspect-ratio:1;border-radius:12px;background:#cdd6c2;min-width:0;position:relative;padding:0;transition:background .16s}.cell.empty:hover{background:#bfccb1}.cell.empty:after{content:'+';font-size:24px;color:#a3b196;font-weight:500}.cell .battery{position:absolute;inset:3px 1px 1px;font-size:clamp(17px,5vw,28px)}.cell .battery[data-long]{font-size:15px}.cell.preview{outline:3px solid #f29864;outline-offset:-3px}.pop{animation:pop .3s cubic-bezier(.2,1.6,.4,1)}@keyframes pop{0%{transform:scale(.55)}70%{transform:scale(1.15)}100%{transform:scale(1)}}.merge{animation:merge .19s ease-in forwards}@keyframes merge{to{transform:scale(.2);opacity:.1}}.shake{animation:shake .3s ease-out}@keyframes shake{20%{transform:translateX(-4px)}40%{transform:translateX(4px)}70%{transform:translateX(-2px)}}#praise{position:absolute;z-index:3;left:-15px;right:-15px;top:37%;text-align:center;pointer-events:none;font-size:39px;letter-spacing:-1px;font-weight:900;color:#fff;text-shadow:0 3px 0 #3c6545,0 0 20px #2f5d34;opacity:0;transform:scale(.7)}#praise.show{animation:praise .8s ease-out}#praise small{display:block;font-size:14px;letter-spacing:2px}@keyframes praise{15%,65%{opacity:1;transform:scale(1)}100%{opacity:0;transform:translateY(-35px) scale(1.1)}}#particles{position:absolute;inset:0;pointer-events:none;overflow:visible}.particle{position:absolute;width:7px;height:11px;background:var(--c);animation:fly .7s ease-out forwards}@keyframes fly{to{transform:translate(var(--x),var(--y)) rotate(230deg);opacity:0}}.status{display:flex;justify-content:space-between;font-size:10px;color:#788672;margin:24px 2px 20px;gap:8px}footer{display:flex;gap:10px}footer button{flex:1;padding:13px;border-radius:12px;background:#e8e9de;font-size:12px}footer button:last-child{background:#d8ecb6}.note{text-align:center;font-size:9px;color:#929b89;margin:19px 0 8px}.classic{display:block;text-align:center;font-size:10px;color:#7a8877}dialog{border:0;border-radius:24px;background:#f9f7ef;color:#263e31;padding:28px;width:min(88vw,380px);box-shadow:0 20px 80px #0004}dialog::backdrop{background:#21372c88;backdrop-filter:blur(5px)}dialog h2{font-size:23px}dialog p{white-space:pre-line;line-height:1.9;font-size:13px}dialog button{padding:12px 22px;border-radius:12px;margin-right:8px;background:#d4eab0}dialog #cancel{background:#e9e9df}.low .space strong{color:#d76041}body.reduced *,body.reduced *:before{animation:none!important;transition:none!important}body.reduced #praise.show{opacity:1;transform:none}@media(max-height:750px){main{padding-top:12px}.intro{margin:16px 0 14px}.scores{margin:13px 0}.next{margin-bottom:10px}.intro h1{font-size:30px}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition:none!important}}

.lang-control{display:flex;align-items:center;gap:5px}.lang-control select{font:inherit;font-size:12px;border:1px solid #d2d9c8;border-radius:9px;background:#fff9;padding:8px;color:#263e31;max-width:160px}.tools{display:flex;justify-content:flex-end;gap:7px;margin-top:12px}.tools button{background:#e8e9df;border-radius:20px;padding:8px 12px;font-size:11px}.intro{margin-top:9px}h1{letter-spacing:-1px}.extras{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin:15px 0}.extras button{background:none;text-decoration:underline;text-underline-offset:3px;font-size:10px;padding:5px;color:#63735e}.rules{font-size:11px;color:#677760;margin:22px 0}.rules summary{cursor:pointer}.rules p{white-space:pre-line;line-height:1.9}.next p{max-width:47%;font-size:10px}.next b{line-height:1.4;display:inline-block}.next small{letter-spacing:.6px}#moves{white-space:nowrap}#storage-note{font-size:11px;color:#a54d32}.scores strong{font-size:clamp(19px,6vw,29px)}dialog{max-height:85dvh;overflow:auto}dialog p{overflow-wrap:anywhere}.brand{white-space:nowrap}main{padding-bottom:max(26px,env(safe-area-inset-bottom))}html[lang=en] .next b{font-size:9px}html[lang=en] h1{font-size:40px}
.progression{background:#eaf0df;border:1px solid #d9e2cb;border-radius:13px;padding:10px 13px;margin:0 0 15px;display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:18px;row-gap:6px}.progression>div:first-child{display:flex;align-items:center;gap:9px}.progression small{font-size:9px;color:#6b7f5a}.progression strong{font-size:13px;white-space:nowrap}.goal-track{height:6px;border-radius:4px;background:#d0ddc1;overflow:hidden}.goal-track i{display:block;background:#84b46e;height:100%;width:0;transition:width .25s}.progression>span{grid-column:1/-1;font-size:9px;color:#7b8971}.progression>span.hot{color:#c06028;font-weight:900}.cell.starter{outline:3px solid #e99142;outline-offset:-3px;animation:guide 1.6s ease-in-out infinite}.cell.starter:after{color:#b36b2c}@keyframes guide{50%{background:#f0d79f;box-shadow:0 0 16px #e6a94040}}.merge-in{z-index:5;animation:merge-in .145s ease-in forwards}@keyframes merge-in{to{transform:translate(var(--merge-x),var(--merge-y)) scale(.5);opacity:.4}}.score-pop{display:inline-block;animation:score-pop .35s ease-out}@keyframes score-pop{35%{transform:scale(1.12);color:#dc7943}}#milestone{position:absolute;left:10px;right:10px;bottom:20px;background:#294936f0;border:1px solid #b3de8c;color:#e6ffd0;border-radius:14px;padding:13px;text-align:center;font-size:18px;font-weight:900;pointer-events:none;opacity:0;z-index:7;box-shadow:0 7px 20px #1d3c322a}#milestone.show{animation:milestone 1.7s ease-out}@keyframes milestone{10%,80%{opacity:1;transform:translateY(-5px)}100%{opacity:0;transform:translateY(-15px)}}body.reduced #milestone.show{opacity:1}.cell .battery{will-change:transform}.intro{margin-bottom:14px}.scores{margin:15px 0}.next{margin-bottom:12px}#praise{font-size:clamp(25px,8vw,39px)}
/* Touch targets, safe areas and shorter mobile screens. */
button,.lang-control select{touch-action:manipulation}button:disabled{cursor:default}.tools button{min-height:40px}.lang-control select{min-height:40px}.extras button{min-height:44px}.card-button{display:block;width:100%;margin-top:10px;padding:12px;border:1px solid #cbd7bc;border-radius:12px;background:#f1f4e7;font-size:12px;min-height:44px}main{padding-top:max(12px,env(safe-area-inset-top));padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}#card-preview{display:block;width:100%;height:auto;border-radius:12px}.card-actions{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.card-actions a{background:#d4eab0;color:#263e31;text-decoration:none;padding:12px;border-radius:12px;font-size:13px}.card-actions button{font-size:13px;margin:0}#end-share{display:block;width:100%;margin:0 0 12px;background:#263e31;color:#fff}#end-share[hidden],#card-content[hidden],#card-share[hidden]{display:none}.scores>div{min-width:0}.scores strong{overflow-wrap:anywhere}.status{min-height:28px}#particles{overflow:clip;inset:-20px}.cell{touch-action:manipulation}
@media(max-width:390px){main{padding-left:14px;padding-right:14px}.intro h1,html[lang=en] h1{font-size:29px}.tools{margin-top:6px}.tools button{font-size:10px;padding:6px 10px}.intro{margin:5px 0 10px}.eyebrow{font-size:8px}.scores{margin:11px 0}#board{padding:11px;gap:7px}.next>div{gap:8px}#queue{gap:7px}#queue .battery{width:30px;height:33px}#queue .battery:first-child{width:39px;height:40px}.next p{font-size:9px;max-width:43%}.progression{margin-bottom:12px}.status{margin:19px 0 10px}}
@media(max-height:720px) and (min-width:391px){.intro{margin:4px 0 10px}.intro h1,html[lang=en] h1{font-size:29px}.tools{margin-top:5px}.scores{margin:10px 0}.next{margin-bottom:8px}.status{margin-bottom:10px}#board{max-width:350px;margin:auto}.progression{padding:7px 12px}}
#offline-status{text-align:center;color:#728469;font-size:10px;line-height:1.6;margin:8px 0}
#onboarding{position:absolute;z-index:8;left:10px;right:10px;top:9px;background:#fff9e9f5;border:1px solid #e7c881;border-radius:12px;padding:10px 12px;box-shadow:0 4px 16px #304b2420;font-size:12px;pointer-events:none;display:flex;align-items:center;gap:9px}#onboarding[hidden]{display:none}#onboarding button{pointer-events:auto;background:#ece7d6;border-radius:8px;font-size:10px;padding:8px;min-height:40px;margin-left:auto;flex-shrink:0}.settings{font-size:12px;margin:15px 0;color:#627558}.settings summary{cursor:pointer;min-height:44px;display:flex;align-items:center}.settings label{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:10px}.settings input{width:65%;accent-color:#648958;min-height:40px}.settings button{padding:12px;border-radius:10px;background:#e4ead8}#daily-date{font-size:10px;text-align:center;color:#718267;margin:8px 0}#history h3{font-size:13px}#history a{display:block;color:#365c36;min-height:44px;padding:12px 0}#history[hidden]{display:none}.score-float{position:absolute;z-index:9;left:0;right:0;top:0;color:#fff;font-size:21px;font-weight:900;text-shadow:0 2px 4px #29432a;pointer-events:none;animation:score-float .6s ease-out forwards}@keyframes score-float{to{transform:translateY(-34px);opacity:0}}.battery.advanced{border:1px solid #ffffff70}.battery.elite{border:2px solid #f9e9a4;box-shadow:inset 0 -5px 0 #0001,0 0 10px #e0ae4540}.battery.elite:after{content:'✦';font-size:11px;opacity:.75}#praise.big-chain{color:#fff4b9;text-shadow:0 3px 0 #566a32,0 0 12px #415c38}#board.fever{box-shadow:0 8px 0 #c6d0bd,0 0 25px #ddba6960;border-color:#d6b25b;transition:box-shadow .35s}.progression strong{white-space:normal;font-size:12px}#onboarding span{line-height:1.5}
/* Season 4: board-first layout, gentle warm fever lighting. */
.intro{margin:15px 0 14px}.intro .eyebrow{display:none}.intro h1{font-size:clamp(24px,7vw,34px);letter-spacing:-1px}.scores{margin:16px 0;gap:8px}.scores strong{font-size:clamp(20px,6vw,29px);overflow-wrap:anywhere}.next{margin-bottom:8px}.next p{max-width:42%;line-height:1.5}.progression>div{display:none}.progression{min-height:20px;margin:5px 0 8px;padding:0;background:none;border:0}.fever-meter{margin-top:8px}.fever-meter>div:first-child{display:flex;justify-content:space-between;gap:8px;font-size:10px;line-height:1.8}#fever-track{height:7px;border-radius:10px;background:#dfe5d6;overflow:hidden}#fever-fill{display:block;width:0;height:100%;border-radius:inherit;background:#769d63;transition:width .22s ease}body.fever-active #fever-fill{background:#d48a36}body.fever-active #board{border-color:#dcb46b;box-shadow:0 8px 0 #c8af79,0 12px 35px #e6c67455}body.fever-active .battery{box-shadow:inset 0 -4px 0 #0000000b,0 0 10px #edc67450}.merge-in{animation-duration:.12s}#praise{font-size:clamp(24px,8vw,39px)}#praise small{font-size:12px}#combo{font-size:10px}.tools button,.extras button,footer button{min-height:40px}.lang-control select{min-height:36px}#particles{overflow:hidden;inset:-12px;border-radius:26px}.ad-rail{position:fixed;top:140px;width:160px;min-height:600px;contain:layout size}.ad-left{right:calc(50% + 410px)}.ad-right{left:calc(50% + 410px)}.ad-slot{width:160px;min-height:600px}.ad-rail[hidden]{display:none}@media(max-width:1200px){.ad-rail{display:none!important}}.rank-dialog{width:min(520px,calc(100vw - 24px));max-height:88dvh;padding:20px;overflow:auto;border:1px solid #cbd6c6;border-radius:20px;background:#faf8f0;color:#26362e}.rank-dialog h2{font-size:19px}.rank-dialog button,.rank-dialog select,.rank-dialog input{font:inherit;font-size:13px;min-height:44px;border-radius:9px;padding:9px;border:1px solid #d5dfd1;background:#f1f3e8;max-width:100%}.rank-dialog button:disabled{opacity:.5;cursor:default}.rank-tabs,.rank-filters{display:flex;gap:6px;margin:8px 0}.rank-tabs select{min-width:0;flex:1}.rank-filters>*{width:50%}.rank-table{max-height:34dvh;overflow:auto}.rank-table table{width:100%;border-collapse:collapse;font-size:13px}.rank-table td,.rank-table th{text-align:left;padding:10px 5px;border-bottom:1px solid #e0e6da;overflow-wrap:anywhere}.rank-table td:last-child{text-align:right;font-variant-numeric:tabular-nums}.rank-table .podium{background:#f6eace}.rank-table .self{outline:2px solid #739367;outline-offset:-2px}.rank-mine{background:#e5ecdc;padding:10px;border-radius:8px;font-size:13px}.rank-note{font-size:12px;line-height:1.7;white-space:normal}.rank-setup{margin:14px 0}.rank-setup label{display:block;font-size:12px;margin:10px 0}.rank-setup input,.rank-setup label select{display:block;width:100%;margin-top:5px}.rank-dialog summary{cursor:pointer;min-height:40px;padding:10px 0}.rank-close,.rank-submit{width:100%;margin-top:10px}.rank-submit{background:#dcebc9!important}.rank-dialog::backdrop{background:#172b2055}body.reduced *{scroll-behavior:auto}body.reduced #board,body.reduced #fever-fill{transition:none!important;animation:none!important}body.reduced #praise.show,body.reduced #milestone.show{animation:none!important;opacity:1;transform:none}body.reduced #praise:not(.show),body.reduced #milestone:not(.show){opacity:0}body.reduced .battery{box-shadow:inset 0 -3px 0 #0000000b}
@media(max-width:380px){main{padding:12px 12px 20px}#board{gap:7px;padding:11px}.intro{margin:10px 0}.next p{font-size:9px}.scores{margin:12px 0}.battery:after{bottom:4px;font-size:8px}.rank-dialog{padding:13px}}@media(prefers-reduced-motion:reduce){#fever-fill{transition:none}}
