@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Plus+Jakarta+Sans:wght@500;600;700;800&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#202439;--muted:#778099;--border:#e1e4ee;--primary:#6157f5;--food:#40c4aa;background:#f5f7ff;font-family:Plus Jakarta Sans,Inter,system-ui,sans-serif}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;background-color:#f5f7ff;background-image:radial-gradient(circle,#dfe2ed 1px,#0000 1px);background-size:20px 20px;min-width:320px;min-height:100dvh;margin:0}button,input{font:inherit}button{cursor:pointer}.shell{align-content:start;gap:16px;width:min(100%,520px);min-height:100dvh;margin:auto;padding:18px;display:grid}.shell--game{width:min(100%,1120px)}header{justify-content:space-between;align-items:center;min-height:58px;display:flex}.app-header{gap:10px}.app-brand{align-items:center;gap:8px;min-width:0;display:flex}.app-brand strong{color:#202439;letter-spacing:-.05em;white-space:nowrap;font-size:.9rem}.app-brand em{color:var(--primary);font-style:normal}.app-logo{flex:none;grid-template-rows:repeat(3,7px);grid-template-columns:repeat(3,7px);gap:2px;display:grid}.app-logo span{background:var(--primary);border-radius:2px;box-shadow:inset 0 -2px #4d44d2}.app-logo span:first-child{grid-area:1/1}.app-logo span:nth-child(2){grid-area:1/2}.app-logo span:nth-child(3){background:var(--food);grid-area:2/2;box-shadow:inset 0 -2px #217b68}.app-logo span:nth-child(4){grid-area:3/2}.app-logo span:nth-child(5){grid-area:3/1}.app-header__actions,.profile{align-items:center;gap:8px;min-width:0;display:flex}.header-menu{min-height:34px;box-shadow:none;padding:0 11px;font-size:.65rem}.profile-name{color:#202439;text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-size:.65rem;font-weight:700;overflow:hidden}.profile-avatar{color:#fff;background:var(--primary);border-radius:50%;place-items:center;width:30px;height:30px;font-size:.7rem;font-weight:800;display:grid}.profile .cl-userButtonBox{width:30px;height:30px}.player-identity{color:#202439;align-items:center;gap:9px;max-width:52%;font-size:.7rem;font-weight:700;display:flex}.player-identity>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.player-identity .cl-userButtonBox{width:34px;height:34px}h1,h2,p{margin:0}h1{letter-spacing:-.08em;font-size:clamp(2.8rem,16vw,4.8rem);line-height:.86}h2{letter-spacing:-.06em;font-size:1.8rem;line-height:.98}p{color:var(--muted);font-size:.82rem;line-height:1.55}.kicker,small,code{font-family:DM Mono,monospace}.kicker{color:var(--primary);letter-spacing:.15em;font-size:.62rem}small{color:var(--muted);font-size:.63rem}.card{border:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffd9;border-radius:14px;gap:16px;padding:24px;display:grid;box-shadow:0 12px 30px #20243912}.hero{align-content:center;min-height:430px}.auth-shell{align-content:start;padding-top:28px}.auth-card{gap:14px}.auth-widget{min-height:280px;margin-top:4px}.auth-switch{color:var(--primary);text-align:left;background:0 0;border:0;padding:4px 0;font:.68rem DM Mono,monospace}.loading-shell{align-content:center}.matching-state{text-align:center;justify-items:center;gap:10px;display:grid}.matching-state h2{margin-top:4px}.matching-state p{font-size:.74rem}.matching-orbit{place-items:center;width:116px;height:116px;margin-bottom:8px;display:grid;position:relative}.matching-orbit:before,.matching-orbit:after{content:"";border:1px solid #6157f533;border-radius:50%;position:absolute}.matching-orbit:before{animation:1.8s ease-in-out infinite matching-pulse;inset:14px}.matching-orbit:after{border-style:dashed;animation:8s linear infinite matching-spin;inset:0}.matching-orbit span{background:var(--primary);border-radius:4px;width:13px;height:13px;animation:1.4s ease-in-out infinite matching-bob;position:absolute;box-shadow:0 4px 9px #6157f533}.matching-orbit span:first-child{top:12px;left:50%;transform:translate(-50%)}.matching-orbit span:nth-child(2){background:var(--food);animation-delay:.2s;bottom:22px;right:12px}.matching-orbit span:nth-child(3){background:#9c8cff;animation-delay:.4s;bottom:22px;left:12px}.matching-orbit i{background:#fff;border:1px solid #6157f566;border-radius:7px;width:24px;height:24px;animation:1.4s ease-in-out infinite matching-core;box-shadow:0 8px 20px #20243916}@keyframes matching-spin{to{transform:rotate(360deg)}}@keyframes matching-pulse{0%,to{opacity:.35;transform:scale(.86)}50%{opacity:1;transform:scale(1.08)}}@keyframes matching-bob{0%,to{margin-top:0}50%{margin-top:-6px}}@keyframes matching-core{0%,to{transform:scale(.9)}50%{transform:scale(1.08)}}.hero h2{margin-top:4px}.menu-panel{border:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffd9;border-radius:18px;align-content:center;gap:22px;min-height:560px;padding:28px 24px;display:grid;box-shadow:0 18px 44px #20243914}.menu-panel--sub{align-content:start;min-height:430px}.menu-mark{grid-template-columns:repeat(5,1fr);gap:5px;width:165px;margin:0 auto;display:grid}.menu-mark span{aspect-ratio:1;background:#eef0f8;border-radius:5px}.menu-mark span:first-child,.menu-mark span:nth-child(2),.menu-mark span:nth-child(4),.menu-mark span:nth-child(5){background:var(--primary);box-shadow:inset 0 -3px #4d44d2}.menu-mark span:nth-child(3){background:var(--food)}.menu-copy{text-align:center;justify-items:center;gap:10px;display:grid}.menu-copy h1{color:#202439;margin:0}.menu-copy h1 em{color:var(--primary);font-style:normal}.menu-copy h2{margin:0}.menu-copy p{max-width:31rem}.menu-actions{gap:9px;width:min(100%,360px);margin:0 auto;display:grid}.mode-choice{border:1px solid var(--border);background:#fafbff;border-radius:11px;gap:7px;padding:13px;display:grid}.mode-choice strong{font-size:.76rem}.mode-choice>span{color:var(--muted);font-size:.68rem;line-height:1.4}.mode-choice .secondary{min-height:38px;font-size:.66rem}.menu-back,.menu-link{color:var(--primary);background:0 0;border:0;padding:6px 0;font:.66rem DM Mono,monospace}.menu-back{justify-self:center;margin-top:auto}.menu-link{justify-self:start}.shell-footer{text-align:center}.field-error{color:#9b3d4d;font-size:.7rem}.settings-panel{align-content:start}.debug-toggle-row{border:1px solid var(--border);color:#202439;background:#fafbff;border-radius:10px;justify-content:space-between;align-items:center;gap:14px;padding:14px;display:flex}.debug-toggle-row>div{gap:5px;display:grid}.debug-toggle-row strong{font-size:.74rem}.debug-toggle-row span{color:var(--muted);font-size:.66rem;line-height:1.4}.debug-toggle{background:#c7cbd7;border:0;border-radius:999px;flex:none;width:46px;height:26px;padding:3px;transition:background .18s;position:relative}.debug-toggle span{background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .18s;display:block;box-shadow:0 2px 5px #20243933}.debug-toggle--on{background:var(--primary)}.debug-toggle--on span{transform:translate(20px)}.debug-toggle:focus-visible{outline-offset:3px;outline:3px solid #6157f54d}.settings-debug{color:#4037ae;background:#f7f6ff;border:1px solid #d7d4ff;border-radius:9px;gap:6px;padding:11px 12px;font-size:.68rem;display:grid}.settings-debug span{color:#68629d;line-height:1.45}.error-details{white-space:pre-wrap;overflow-wrap:anywhere;color:#7e3341;max-height:180px;margin:8px 0 0;font:.6rem/1.45 DM Mono,monospace;overflow:auto}.debug-panel{color:#4037ae;text-align:left;background:#f7f6ff;border:1px solid #d7d4ff;border-radius:9px;gap:10px;width:100%;padding:11px 12px;display:grid}.debug-panel summary{cursor:pointer;text-transform:uppercase;font:.65rem DM Mono,monospace}.debug-panel dl{gap:6px;margin:0;display:grid}.debug-panel dl div{grid-template-columns:72px minmax(0,1fr);gap:8px;font:.6rem/1.35 DM Mono,monospace;display:grid}.debug-panel dt{color:#68629d}.debug-panel dd{overflow-wrap:anywhere;color:#4037ae;min-width:0;margin:0}.actions{gap:8px;display:grid}.primary,.secondary{border-radius:8px;min-height:46px;padding:0 15px;font-size:.75rem;font-weight:700}.primary{color:#fff;background:var(--primary);border:0;box-shadow:0 8px 18px #6157f52e}.secondary{border:1px solid var(--border);color:#202439;background:#fff}.primary:hover{filter:brightness(1.06)}.secondary:hover{border-color:var(--primary);color:var(--primary)}.wide{width:100%}button:disabled{cursor:wait;opacity:.55}.blocks{grid-template-columns:repeat(5,1fr);gap:5px;width:165px;margin-bottom:8px;display:grid}.blocks i{aspect-ratio:1;background:#eef0f8;border-radius:5px}.blocks i:first-child,.blocks i:nth-child(2),.blocks i:nth-child(4),.blocks i:nth-child(5){background:var(--primary);box-shadow:inset 0 -3px #4d44d2}.blocks i:nth-child(3){background:var(--food);grid-column:3}.join-row{grid-template-columns:1fr auto;gap:8px;display:grid}.join-row input{border:1px solid var(--border);color:#202439;background:#fff;border-radius:8px;outline:none;min-width:0;padding:0 12px;font:.68rem DM Mono,monospace}.join-row input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #6157f51c}.pwa-invite-help{color:#4037ae;background:#f7f6ff;border:1px solid #d7d4ff;border-radius:9px;gap:7px;padding:11px 12px;display:grid}.pwa-invite-help strong{font-size:.7rem}.pwa-invite-help p{color:#68629d;font-size:.68rem;line-height:1.45}.pwa-invite-help button{justify-self:start;min-height:36px;padding:0 11px;font-size:.64rem}.player-list{gap:8px;margin:2px 0;display:grid}.player{border:1px solid var(--border);background:#fff;border-radius:8px;align-items:center;gap:10px;min-height:52px;padding:8px 10px;font-size:.78rem;display:flex}.player strong{color:#217b68;margin-left:auto;font:500 .56rem DM Mono,monospace}.player--empty{color:var(--muted);background:#ffffff80;border-style:dashed}.avatar{color:#fff;background:var(--primary);border-radius:7px;place-items:center;width:30px;height:30px;font-weight:800;display:grid}.game{text-align:center;justify-items:center}.game-icon{color:#fff;background:var(--primary);border-radius:12px;place-items:center;width:62px;height:62px;font-size:1.7rem;display:grid;box-shadow:0 0 0 7px #6157f514}.connection-debug{border:1px solid var(--border);width:100%;color:var(--muted);text-transform:uppercase;background:#fafbff;border-radius:7px;justify-content:space-between;padding:7px 9px;font:.59rem DM Mono,monospace;display:flex}.connection-debug span:first-child:before{content:"";background:#a9afbf;border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.connection-debug--connected span:first-child:before{background:var(--food);box-shadow:0 0 0 3px #40c4aa24}.connection-debug--connecting span:first-child:before,.connection-debug--reconnecting span:first-child:before{background:#d79b38}.scoreboard{flex-wrap:wrap;justify-content:center;gap:7px;width:100%;display:flex}.scoreboard span{border:1px solid var(--border);color:var(--muted);background:#fafbff;border-radius:999px;padding:5px 8px;font:.6rem DM Mono,monospace}.scoreboard b{color:var(--primary);font-weight:500}.arena-grid{border:1px solid var(--border);background:#f0f1f8;border-radius:12px;grid-template-columns:repeat(3,1fr);gap:7px;width:min(100%,280px);padding:9px;display:grid}.arena-cell{aspect-ratio:1;color:var(--primary);background:#fff;border:1px solid #e4e6f1;border-radius:8px;font-size:1.1rem;font-weight:800;box-shadow:0 3px #dfe2ed}.arena-cell:not(:disabled):hover{border-color:var(--primary);background:#f7f6ff;transform:translateY(-1px)}.arena-cell--claimed{cursor:default;color:#fff;border-color:var(--primary);background:var(--primary);box-shadow:inset 0 -3px #4d44d2}.event-feed{border:1px solid var(--border);text-align:left;background:#fafbff;border-radius:9px;gap:7px;width:100%;max-height:150px;padding:10px;display:grid;overflow:auto}.session-event{gap:7px;font-size:.68rem;line-height:1.35;display:flex}.session-event strong{color:var(--primary)}.session-event span{color:var(--muted);overflow-wrap:anywhere}.transport-log{resize:vertical;border:1px solid var(--border);width:100%;min-height:92px;color:var(--muted);background:#fafbff;border-radius:8px;padding:9px;font:.6rem/1.55 DM Mono,monospace}.event-form{grid-template-columns:1fr auto;gap:8px;width:100%;display:grid}.event-form input{border:1px solid var(--border);color:#202439;background:#fff;border-radius:8px;outline:none;min-width:0;padding:0 10px;font-size:.68rem}.cancel-button{color:#9b3d4d;text-align:left;background:0 0;border:0;padding:0;font:.65rem DM Mono,monospace}.invite-panel{border:1px solid var(--border);text-align:left;background:#fafbff;border-radius:10px;gap:9px;width:100%;padding:12px;display:grid}.invite-url{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.58rem;display:block;overflow:hidden}.invite-actions{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.invite-actions button{min-height:38px;padding:0 7px;font-size:.62rem}.qr-frame{background:#fff;border-radius:8px;justify-self:center;padding:10px}.info-button{border:1px solid var(--border);width:32px;height:32px;color:var(--primary);background:#fff;border-radius:50%;justify-self:end;font-size:1rem;line-height:1}.timeout-notice{color:#9b5a1d;background:#fff7ec;border:1px solid #e7a45e;border-radius:8px;width:100%;padding:9px 10px;font:.65rem DM Mono,monospace}.error{color:#9b3d4d;background:#fff0f2;border-radius:7px;padding:10px 12px;font-size:.72rem}.stack-game{width:min(100%,900px);margin:0 auto}.game-top-strip{justify-content:space-between;align-items:center;width:100%;min-height:46px;display:flex}.challenge-card{text-align:left;background:#fffaf0;border:1px solid #f0d49a;border-radius:10px;grid-template-columns:auto 1fr;align-items:center;gap:2px 8px;width:100%;padding:7px 9px;display:grid}.challenge-card .kicker{display:none}.weather-icon{grid-row:span 2;font-size:1.45rem;line-height:1}.challenge-card strong{color:#9b641e;font-size:.78rem}.challenge-card span:last-child{color:#8a7045;font-size:.65rem;line-height:1.3}.game-top-strip .challenge-card{width:auto}.next-piece{border:1px solid var(--border);background:#fafbff;border-radius:9px;grid-template-columns:auto 44px;align-items:center;gap:6px;min-height:42px;padding:4px 7px;display:grid}.next-piece .piece-shape{transform-origin:50%;width:44px;height:34px;transform:scale(.72)}.target-reached{color:#217b68;text-align:center;background:#effcf8;border:1px solid #a8dfcf;border-radius:9px;width:100%;padding:10px 12px;font:.68rem DM Mono,monospace}.game-over{color:#9b3d4d;text-align:center;background:#fff0f2;border:1px solid #e2a3ad;border-radius:9px;width:100%;padding:10px 12px;font:.68rem DM Mono,monospace}.board-layout{grid-template-columns:minmax(0,1fr) 74px;align-items:start;gap:10px;width:100%;display:grid}.board-column{gap:10px;min-width:0;display:grid}.board-sidebar{align-content:start;gap:10px;display:grid}.side-condition,.side-next,.side-turn{border:1px solid var(--border);text-align:center;background:#fafbff;border-radius:10px;justify-items:center;gap:5px;padding:7px 4px;display:grid}.side-condition{background:#fffaf0;border-color:#f0d49a}.side-condition small{color:#9b641e;text-overflow:ellipsis;white-space:nowrap;max-width:66px;font-size:.52rem;overflow:hidden}.side-next .piece-shape{transform-origin:50%;width:48px;height:45px;transform:scale(.72)}.side-turn strong{color:var(--primary);font:1.1rem DM Mono,monospace}.game-heading{text-align:left;align-items:center;gap:12px;width:100%;display:flex}.game-heading p{margin-top:5px}.turn-banner{color:#5d6a83;text-transform:uppercase;background:#f7f8ff;border:1px solid #d8dcfd;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:10px 12px;font:.62rem DM Mono,monospace;display:flex}.turn-banner strong{color:#5e56ff;font-size:.76rem}.board-stage{grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:6px;width:100%;display:grid}.board-move{border:1px solid var(--border);width:42px;height:58px;color:var(--primary);background:#fff;border-radius:12px;place-items:center;font-size:1.45rem;font-weight:800;display:grid}.board-move:active{transform:scale(.96)}.stack-boards{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px;width:100%;display:grid}.stack-board{border:1px solid var(--border);background:#fafbff;border-radius:12px;gap:8px;min-width:0;padding:12px;display:grid}.stack-board--you{border-color:#6573f9;box-shadow:0 0 0 3px #6573f91c}.stack-board--wobble{animation:.65s ease-in-out 2 tower-wobble}@keyframes tower-wobble{0%,to{transform:rotate(0)}25%{transform:rotate(-1.2deg)}75%{transform:rotate(1.2deg)}}.stack-board__label{align-items:center;gap:8px;font-size:.7rem;display:flex}.stack-board__label .avatar{border-radius:6px;width:24px;height:24px;font-size:.65rem}.stack-board__label small{margin-left:auto}.tower-grid{aspect-ratio:1/2;background:#eeeef4;border:1px solid #dfe1e6;border-radius:8px;grid-template-rows:repeat(20,1fr);grid-template-columns:repeat(10,1fr);gap:3px;width:min(100%,430px);margin:0 auto;padding:7px;display:grid}.tower-cell{aspect-ratio:1;background:#fff;border-radius:3px;min-width:0;box-shadow:inset 0 0 0 1px #e7e8ef}.tower-cell--orange{background:#ff784b;box-shadow:inset 0 -3px #a74c2d}.tower-cell--yellow{background:#ffbd4c;box-shadow:inset 0 -3px #956321}.tower-cell--violet{background:#936dff;box-shadow:inset 0 -3px #5f41b4}.tower-cell--cyan{background:#33cfff;box-shadow:inset 0 -3px #116b97}.tower-cell--active-orange{background:#ff784b88;box-shadow:inset 0 0 0 2px #ff784b}.tower-cell--active-yellow{background:#ffbd4c88;box-shadow:inset 0 0 0 2px #ffbd4c}.tower-cell--active-violet{background:#936dff88;box-shadow:inset 0 0 0 2px #936dff}.tower-cell--active-cyan{background:#33cfff88;box-shadow:inset 0 0 0 2px #33cfff}.stack-controls{text-align:left;background:#f7f8ff;border:1px solid #d8dcfd;border-radius:12px;gap:10px;width:100%;padding:14px;display:grid}.placement-row{color:#5d6a83;justify-content:space-between;align-items:center;gap:10px;font:.68rem DM Mono,monospace;display:flex}.placement-nudge{border:1px solid var(--border);width:42px;height:38px;color:var(--primary);background:#fff;border-radius:9px;font-size:1.2rem}.turn-controls{color:#5d6a83;justify-content:space-between;align-items:center;gap:8px;width:100%;font:.7rem DM Mono,monospace;display:flex}.column-indicator{text-align:center;min-width:48px}.drop-button{color:#fff;background:var(--primary);border:0;border-radius:11px;place-items:center;font-size:1.5rem;font-weight:800;display:grid;box-shadow:0 6px 14px #6157f52e}.drop-button:active{transform:translateY(2px)scale(.97)}.stack-controls label{color:#5d6a83;text-transform:uppercase;gap:6px;font:.65rem DM Mono,monospace;display:grid}.stack-controls input[type=range]{accent-color:#5e56ff;width:100%}.piece-preview{grid-template-columns:auto auto 1fr;align-items:center;gap:9px;min-height:38px;display:grid}.piece-preview strong{color:#272835;font:.7rem DM Mono,monospace}.piece-shape{width:80px;height:72px;margin-left:auto;display:block;position:relative}.piece-shape i{border-radius:4px;width:16px;height:16px;position:absolute}.piece-shape--orange i{background:#ff784b;box-shadow:inset 0 -3px #a74c2d}.piece-shape--yellow i{background:#ffbd4c;box-shadow:inset 0 -3px #956321}.piece-shape--violet i{background:#936dff;box-shadow:inset 0 -3px #5f41b4}.piece-shape--cyan i{background:#33cfff;box-shadow:inset 0 -3px #116b97}.attack-row{grid-template-columns:1fr auto;gap:8px;display:grid}.attack-row select{border:1px solid var(--border);color:#272835;background:#fff;border-radius:8px;min-width:0;padding:0 10px;font-size:.68rem}.wiki-panel{align-content:start;min-height:0}.wiki-sections{gap:12px;display:grid}.wiki-sections section{border:1px solid var(--border);background:#fafbff;border-radius:10px;gap:6px;padding:12px;display:grid}.wiki-sections h3{color:var(--primary);margin:0;font-size:.78rem}.wiki-sections p,.wiki-sections li{font-size:.7rem;line-height:1.5}.wiki-sections ul{color:var(--muted);gap:5px;margin:0;padding-left:18px;display:grid}.tetris-game{width:100%;min-width:0;margin-left:0}.tetris-game-layout{align-items:flex-start;gap:12px;width:100%;min-width:0;display:flex}.tetris-player-stack{flex:4 1 0;gap:10px;width:0;min-width:0;display:grid}.tetris-board-card{gap:6px;width:100%;min-width:0;display:grid}.tetris-board-card--you{border:2px solid #6573f9;border-radius:12px;padding:4px;box-shadow:0 0 0 3px #6573f91c}.tetris-board-label{color:var(--muted);justify-content:space-between;font:.62rem DM Mono,monospace;display:flex}.tetris-board-label strong{color:var(--primary)}.tetris-board{aspect-ratio:1/2;background:#eeeef4;border:1px solid #dfe1e6;border-radius:9px;grid-template-rows:repeat(20,1fr);grid-template-columns:repeat(10,1fr);gap:2px;width:100%;max-width:none;padding:5px;display:grid}.tetris-cell{background:#fff;border-radius:2px;min-width:0;box-shadow:inset 0 0 0 1px #e7e8ef}.tetris-cell--cyan,.tetris-cell--active-cyan{background:#33cfff;box-shadow:inset 0 -2px #116b97}.tetris-cell--yellow,.tetris-cell--active-yellow{background:#ffbd4c;box-shadow:inset 0 -2px #956321}.tetris-cell--violet,.tetris-cell--active-violet{background:#936dff;box-shadow:inset 0 -2px #5f41b4}.tetris-cell--green,.tetris-cell--active-green{background:#40c4aa;box-shadow:inset 0 -2px #217b68}.tetris-cell--orange,.tetris-cell--active-orange{background:#ff784b;box-shadow:inset 0 -2px #a74c2d}.tetris-cell--blue,.tetris-cell--active-blue{background:#557bff;box-shadow:inset 0 -2px #304da8}.tetris-cell--red,.tetris-cell--active-red{background:#e96179;box-shadow:inset 0 -2px #9b3d4d}.tetris-cell--active-cyan,.tetris-cell--active-yellow,.tetris-cell--active-violet,.tetris-cell--active-green,.tetris-cell--active-orange,.tetris-cell--active-blue,.tetris-cell--active-red{opacity:.62;outline-offset:-2px;outline:2px solid #fff}.tetris-cell--clearing{outline-offset:-2px;z-index:1;outline:2px solid #fff;animation:.42s ease-in-out tetris-line-clear}@keyframes tetris-line-clear{0%,to{filter:brightness();transform:scale(1)}35%{filter:brightness(1.9);transform:scale(1.08)}70%{filter:brightness(1.25);transform:scale(.92)}}.tetris-rail{flex:1 1 0;align-content:start;gap:8px;width:0;min-width:0;display:grid;overflow:hidden}.tetris-rail>*{overflow-wrap:anywhere;min-width:0}.tetris-stat,.tetris-pot,.tetris-task,.power-rail{border:1px solid var(--border);text-align:center;background:#fafbff;border-radius:9px;gap:4px;padding:7px 5px;display:grid}.tetris-stat strong{color:var(--primary);font:.85rem DM Mono,monospace}.tetris-pot{position:relative;overflow:hidden}.tetris-pot i{background:var(--food);height:3px;position:absolute;inset:auto 0 0}.tetris-task strong{font-size:.62rem;line-height:1.25}.tetris-task small{color:var(--muted)}.effect-badge{text-align:center;background:#fffaf0;border-radius:8px;padding:5px 3px;font:.62rem DM Mono,monospace}.power-rail{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.power-icon{width:30px;height:30px;color:var(--primary);background:#f7f6ff;border:1px solid #d7d4ff;border-radius:7px}.tetris-controls{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:#f7f8ff;border:1px solid #d8dcfd;border-radius:10px;gap:10px;width:100%;padding:12px;display:grid}.tetris-control-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;width:100%;display:grid}.icon-button,.drop-button{aspect-ratio:1;border:1px solid var(--border);width:100%;min-height:0;color:var(--primary);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;background:#fff;border-radius:14px;padding:0;font-size:clamp(1.6rem,5vw,2rem);font-weight:800}.drop-button{color:#fff;background:var(--primary);border:0;box-shadow:0 6px 14px #6157f52e}.power-target{grid-template-columns:1fr auto;gap:7px;display:grid}.power-target select{border:1px solid var(--border);background:#fff;border-radius:7px;min-width:0;padding:0 7px;font-size:.68rem}@media (width<=600px){.shell--game{width:100%;padding:10px}.tetris-game{gap:9px;padding:10px}.tetris-game-layout{gap:8px}.tetris-rail{gap:6px}.tetris-stat,.tetris-pot,.tetris-task,.power-rail{padding:6px 3px}.tetris-task strong{font-size:.55rem}.tetris-board{gap:1px;padding:4px}.tetris-control-row{gap:7px}}@media (width<=380px){.tetris-game-layout{gap:6px}.tetris-controls{padding:8px}.tetris-control-row{gap:5px}}@media (width<=600px){.stack-game{gap:10px;padding:12px}.stack-boards{grid-template-columns:1fr;gap:8px}.stack-board{width:100%;margin:0 auto;padding:7px}.stack-board__label{font-size:.6rem}.tower-grid{gap:2px;width:100%;padding:5px}.profile-name{max-width:82px}.board-layout{grid-template-columns:minmax(0,1fr) 62px;gap:7px}.side-condition small{display:none}.side-next .kicker{font-size:.5rem}}@media (width<=380px){.profile-name{display:none}.app-brand strong{font-size:.8rem}}@media (width<=430px){.shell{padding:12px}.card{padding:20px}.hero{min-height:0}.shell--game .tetris-game{padding:10px}}
