:root{--merge-warm: #ff9f78;--merge-gold: #ffd166;--merge-success: #86efac;--merge-danger: #f87171}.game-page-merge{background:radial-gradient(circle at 77% 18%,rgba(255,159,120,.11),transparent 28rem),radial-gradient(circle at 16% 80%,rgba(87,230,230,.08),transparent 25rem),var(--bg)}.game-page-merge .ambient-grid{opacity:.12;background-image:linear-gradient(rgba(255,159,120,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(87,230,230,.03) 1px,transparent 1px);background-size:52px 52px}.merge-main{max-width:67rem;padding-top:clamp(1rem,3vw,2.25rem)}.merge-game{padding:clamp(1rem,3vw,2rem);background:linear-gradient(145deg,rgba(255,159,120,.045),transparent 21%),linear-gradient(155deg,#121820fa,#080c11f5)}.merge-game.game-panel:before{background:linear-gradient(90deg,var(--merge-warm),var(--accent),transparent);box-shadow:0 0 14px #ff9f784d}.game-page-merge .game-kicker span,.dialog-kicker{color:var(--merge-warm)}.game-heading{display:flex;margin-bottom:1.25rem;align-items:end;justify-content:space-between;gap:1rem}.game-heading h1{margin:0;font-size:clamp(2.7rem,7vw,4.75rem);font-weight:650;letter-spacing:-.07em;line-height:.88}.game-intro{max-width:32rem;margin:.85rem 0 0;color:#8d99a8;font-size:.84rem;line-height:1.55}.new-game-button,.direction-pad button,.dialog-actions button{border:1px solid rgba(255,255,255,.14);border-radius:.34rem;background:linear-gradient(90deg,rgba(87,230,230,.05),transparent),#070c11e0;color:#aeb8c3;font:550 .62rem/1 var(--font-mono);letter-spacing:.045em;text-transform:uppercase;cursor:pointer;transition:border-color .18s ease,background .18s ease,color .18s ease,transform .18s ease}.new-game-button{min-width:8.5rem;min-height:2.75rem;padding:.7rem 1rem;border-color:#ff9f788c;color:var(--merge-warm)}.new-game-button:hover,.direction-pad button:hover,.dialog-actions button:hover{border-color:var(--accent);background:#57e6e61f;color:var(--accent);transform:translateY(-1px)}.merge-toolbar{display:grid;grid-template-columns:repeat(4,minmax(5.5rem,1fr)) minmax(7.5rem,1.35fr);overflow:hidden;border:1px solid rgba(255,255,255,.12);border-radius:.38rem;background:linear-gradient(90deg,rgba(255,159,120,.04),transparent 48%),#05090db8;box-shadow:inset 0 0 0 1px #0000004d}.stat{min-width:0;padding:.72rem .85rem;border-right:1px solid rgba(255,255,255,.09)}.stat:first-child{box-shadow:inset 2px 0 0 var(--merge-warm)}.stat:last-child{border-right:0}.stat-label{display:block;color:#718091;font:400 .48rem/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase}.stat-value{display:block;margin-top:.3rem;overflow:hidden;color:var(--accent);font:500 1.05rem/1 var(--font-mono);letter-spacing:-.04em;text-overflow:ellipsis}#status[data-state=won]{color:var(--merge-success)}#status[data-state=over]{color:var(--merge-danger)}.merge-playfield{display:grid;grid-template-columns:minmax(17rem,30rem) minmax(10rem,1fr);gap:clamp(1rem,4vw,3rem);margin-top:1rem;align-items:center;justify-content:center}.board-column{min-width:0}.control-hint{margin:0 0 .7rem;color:#758292;font:400 .57rem/1.5 var(--font-mono);letter-spacing:.02em}kbd{padding:.08rem .28rem;border:1px solid rgba(255,255,255,.16);border-radius:.2rem;background:#080d12e6;color:var(--accent);font:500 .56rem/1 var(--font-mono)}.merge-board{--merge-grid-gap: clamp(.38rem, 1.2vw, .65rem);display:grid;width:min(100%,30rem);aspect-ratio:1;padding:clamp(.45rem,1.5vw,.75rem);grid-template-rows:repeat(4,1fr);gap:var(--merge-grid-gap);border:1px solid rgba(87,230,230,.46);border-radius:.5rem;background:linear-gradient(145deg,rgba(87,230,230,.055),transparent 48%),#080e14;box-shadow:0 1.4rem 3rem #00000057,0 0 0 1px #ff9f781f,inset 0 0 2.5rem #00000052;outline:none;user-select:none;-webkit-user-select:none;touch-action:none}.merge-row{display:grid;min-height:0;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--merge-grid-gap)}.merge-board:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.merge-cell{display:grid;min-width:0;aspect-ratio:1;place-items:center;border:1px solid rgba(255,255,255,.08);border-radius:clamp(.25rem,1vw,.42rem);overflow:hidden}.empty-cell{background:linear-gradient(145deg,rgba(255,255,255,.025),transparent 60%),#1c26319e;box-shadow:inset 0 0 0 1px #0000002e}.tile{position:relative;z-index:1;background:#1e3440;color:#d9fbff;font:650 clamp(1.05rem,5.3vw,2.2rem)/1 var(--font-mono);letter-spacing:-.09em;text-shadow:0 1px 0 rgba(0,0,0,.35);box-shadow:inset 0 1px #ffffff1c,0 .35rem 1rem #0000003d}.tile[data-tier="1"]{background:#1b333d;color:#c9f8f8}.tile[data-tier="2"]{background:#24434a;color:#dcffff}.tile[data-tier="3"]{background:#5d493a;color:#ffd9c9}.tile[data-tier="4"]{background:#73503d;color:#ffe1cf}.tile[data-tier="5"]{background:#8a5540;color:#fff0e8}.tile[data-tier="6"]{background:#9b5b3f;color:#fff7f1}.tile[data-tier="7"]{background:#7a6338;color:#fff2ba}.tile[data-tier="8"]{background:#8c7139;color:#fff5c9}.tile[data-tier="9"]{background:#9e8139;color:#fff7d5}.tile[data-tier="10"]{border-color:#ffd166bf;background:linear-gradient(145deg,#9a7430,#70561f);color:#fff9dd;box-shadow:inset 0 1px #ffffff40,0 0 1.25rem #ffd16633}.tile[data-tier="11"]{border-color:var(--accent);background:linear-gradient(145deg,#236b70,#17454d);color:#eaffff;box-shadow:inset 0 1px #ffffff40,0 0 1.6rem #57e6e652}.tile[data-tier="12"]{border-color:#d5b3ff;background:linear-gradient(145deg,#684c80,#3d3151);color:#fcf4ff;box-shadow:0 0 1.7rem #d5b3ff4d}.tile-spawned{animation:tile-spawn .2s ease-out both}.tile-merged{animation:tile-merge .24s ease-out both}@keyframes tile-spawn{0%{opacity:0;transform:scale(.55)}to{opacity:1;transform:scale(1)}}@keyframes tile-merge{0%{transform:scale(.78)}55%{transform:scale(1.12)}to{transform:scale(1)}}.control-deck{padding:clamp(1rem,2vw,1.5rem);border:1px solid rgba(255,255,255,.1);border-radius:.42rem;background:linear-gradient(145deg,rgba(255,159,120,.04),transparent 30%),#05090da3}.deck-label,.target-readout span{margin:0;color:#6f7d8c;font:400 .49rem/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase}.direction-pad{display:grid;width:min(100%,13rem);margin:1rem auto 1.3rem;grid-template-columns:repeat(3,1fr);gap:.45rem}.direction-pad button,.pad-core{display:grid;aspect-ratio:1;place-items:center}.direction-pad button{min-width:2.7rem;min-height:2.7rem;padding:0;font-size:clamp(1rem,3vw,1.45rem)}.direction-pad button:first-child{grid-column:2}.direction-pad button:nth-of-type(2){grid-column:1;grid-row:2}.pad-core{grid-column:2;grid-row:2}.direction-pad button:nth-of-type(3){grid-column:3;grid-row:2}.direction-pad button:nth-of-type(4){grid-column:2;grid-row:3}.pad-core:before{width:.45rem;aspect-ratio:1;border:1px solid rgba(255,159,120,.6);border-radius:50%;background:#ff9f7824;box-shadow:0 0 .7rem #ff9f783d;content:""}.target-readout{display:flex;padding-top:1rem;align-items:end;justify-content:space-between;gap:1rem;border-top:1px solid rgba(255,255,255,.09)}.target-readout strong{color:var(--merge-gold);font:500 1.25rem/1 var(--font-mono);letter-spacing:-.06em}.game-message{min-height:1.4em;margin:1rem 0 0;padding:.7rem .85rem;border-left:2px solid rgba(87,230,230,.42);background:#57e6e609;color:#8794a3;font:400 .58rem/1.5 var(--font-mono);letter-spacing:.025em}.game-message.success{border-left-color:var(--merge-success);color:var(--merge-success)}.game-message.warning{border-left-color:var(--merge-gold);color:var(--merge-gold)}.game-message.failure{border-left-color:var(--merge-danger);color:#fca5a5}.how-to-play{margin-top:.9rem;border:1px solid rgba(255,255,255,.09);border-radius:.42rem;background:#060a0f80;color:#84909e}.how-to-play summary{padding:.8rem 1rem;color:#9ba6b2;font:500 .58rem/1 var(--font-mono);letter-spacing:.09em;text-transform:uppercase;cursor:pointer}.how-to-play div{padding:0 1rem .85rem;font-size:.8rem;line-height:1.6}.how-to-play p{margin:.45rem 0}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.merge-dialog{width:min(calc(100% - 2rem),30rem);padding:clamp(1.25rem,4vw,2rem);border:1px solid rgba(87,230,230,.55);border-radius:.5rem;background:linear-gradient(145deg,rgba(255,159,120,.06),transparent 32%),#0c1219;color:var(--text);box-shadow:0 2rem 6rem #000000a6,0 0 2rem #57e6e61f}.merge-dialog::backdrop{background:#03060ad1;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.dialog-kicker{margin:0 0 .65rem;font:500 .5rem/1 var(--font-mono);letter-spacing:.13em;text-transform:uppercase}.merge-dialog h2{margin:0;font-size:clamp(1.8rem,6vw,2.7rem);letter-spacing:-.055em}.merge-dialog>p:not(.dialog-kicker){margin:.8rem 0 0;color:#929eab;font-size:.86rem;line-height:1.55}.win-dialog{border-color:#ffd166ad;box-shadow:0 2rem 6rem #000000a6,0 0 2.4rem #ffd16626}.win-dialog h2,.win-dialog #win-score{color:var(--merge-gold)}.dialog-actions{display:grid;margin-top:1.4rem;grid-template-columns:1fr 1fr;gap:.65rem}.dialog-actions button{min-height:3rem;padding:.7rem .85rem}.dialog-actions .dialog-primary{border-color:#57e6e69e;color:var(--accent)}@media (max-width: 760px){.merge-main{padding:1rem .75rem 2rem}.merge-game{padding:1rem .7rem}.game-heading{align-items:stretch;flex-direction:column}.new-game-button{width:100%}.merge-toolbar{grid-template-columns:repeat(3,1fr)}.stat{padding:.65rem .5rem}.stat:nth-child(3){border-right:0}.stat:nth-child(4),.stat:nth-child(5){border-top:1px solid rgba(255,255,255,.09)}.status-stat{grid-column:span 2}.merge-playfield{grid-template-columns:minmax(0,1fr);gap:.85rem}.merge-board{width:min(100%,31rem);margin:0 auto}.control-hint{text-align:center}.control-deck{padding:.75rem}.deck-label{text-align:center}.direction-pad{width:min(100%,11rem);margin-block:.7rem;gap:.35rem}.target-readout{padding:.7rem .35rem 0}.game-message{margin-top:.8rem}}@media (max-width: 400px){.game-heading h1{font-size:2.75rem}.merge-board{--merge-grid-gap: .34rem;padding:.38rem}.tile{font-size:clamp(.9rem,7vw,1.55rem)}.dialog-actions{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){.tile-spawned,.tile-merged{animation:none}.new-game-button,.direction-pad button,.dialog-actions button{transition:none}}
