:root{color-scheme:dark;font-family:Trebuchet MS,Arial,sans-serif;background:#071210;color:#eef4e9;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:280px;min-height:100vh;background:radial-gradient(ellipse at 80% 5%,#193c30 0,transparent 38%),#071210}button,input{font:inherit}button{cursor:pointer}a{color:inherit}:focus-visible{outline:3px solid #fbcc6d;outline-offset:3px}::selection{background:#bef37b;color:#071210}.site-shell{width:min(100% - 2.5rem,1140px);margin:0 auto}.site-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.45rem 0;border-bottom:1px solid #31534a}.wordmark{font-size:1.15rem;font-weight:900;letter-spacing:-.06em;text-decoration:none;white-space:nowrap}.wordmark span{color:#6dff8b;padding:0 .1em}.site-header nav{display:flex;flex-wrap:wrap;gap:clamp(.8rem,3vw,2rem)}.site-header nav a,.text-link{font-size:.9rem;text-decoration:none;border-bottom:1px solid transparent}.site-header nav a:hover,.text-link:hover{border-bottom-color:#6dff8b}.eyebrow{color:#6dff8b;font:700 .72rem/1.4 Courier New,monospace;letter-spacing:.16em;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.045em}h1{font-size:clamp(3.4rem,9vw,7.5rem);line-height:.95}h1 em{color:#6dff8b;font-style:normal}h2{font-size:clamp(2rem,5vw,3.5rem);line-height:1.05}h3{font-size:clamp(1.35rem,3vw,1.85rem)}p{line-height:1.58}.button{display:inline-flex;justify-content:center;align-items:center;gap:.8rem;min-height:48px;padding:.78rem 1.15rem;border:1px solid #6dff8b;border-radius:.25rem;font-weight:800;text-decoration:none;transition:background .18s,color .18s,transform .18s}.button:hover:not(:disabled){transform:translateY(-2px)}.button:disabled{cursor:not-allowed;opacity:.5}.button-primary{background:#6dff8b;color:#0b1b15}.button-secondary{background:#153129;color:#e8f8cf}.button-ghost{background:transparent;color:#d9edcb;border-color:#55756a}.action-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.section-heading{max-width:47rem;margin-bottom:1.8rem}.section-heading h2{margin:.5rem 0 .7rem}.section-heading p{color:#bdcdc3;margin-bottom:0}.quiet,.panel-note{color:#a9c0b0;font-size:.88rem}.notice{color:#f7d699;border-left:3px solid #f7d699;padding:.6rem .9rem;background:#253326}.site-footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem;margin-top:5rem;padding:1.4rem 0 2rem;border-top:1px solid #31534a;color:#a9c0b0;font:.75rem Courier New,monospace;letter-spacing:.08em;text-transform:uppercase}.hub-hero{display:grid;grid-template-columns:1.1fr .9fr;min-height:540px;gap:3rem;align-items:center;padding:4rem 0 5rem}.hero-copy h1,.blocks-hero h1{margin:.8rem 0 1.6rem}.hero-copy p,.blocks-hero p{max-width:34rem;color:#d0ddd1;font-size:clamp(1rem,1.7vw,1.18rem)}.hero-copy .button{margin-top:1rem}.hero-art{min-height:410px;display:grid;place-items:center;position:relative;overflow:hidden;border:1px solid #365d4e;background:radial-gradient(circle,#214b39,#0d211b 70%)}.hero-art:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 4px,#6dff8b08 5px 6px)}.hero-art>span{position:absolute;bottom:1rem;right:1rem;font:.7rem Courier New,monospace;color:#afd2ad}.hero-grid{width:216px;height:216px;position:relative;background-size:36px 36px;background-image:linear-gradient(#9cbe9d25 1px,transparent 1px),linear-gradient(90deg,#9cbe9d25 1px,transparent 1px);transform:rotate(-10deg)}.hero-block{position:absolute;width:36px;height:36px;background:#6dff8b;border:3px solid #27412e;box-shadow:inset 3px 3px #ebffbf,7px 7px 18px #0008}.b1{left:72px;top:36px}.b2{left:36px;top:72px}.b3{left:72px;top:72px}.b4{left:108px;top:72px}.b5{left:108px;top:108px;background:#f9c570}.b6{left:144px;top:108px;background:#f9c570}.b7{left:144px;top:144px;background:#f9c570}.library,.guide,.play-section{padding:4rem 0 1rem;border-top:1px solid #31534a}.game-library{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.game-card{min-height:300px;padding:clamp(1.25rem,3vw,2rem);display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;background:#142c23;border:1px solid #527663;border-radius:.35rem;text-decoration:none;transition:transform .18s,border-color .18s}a.game-card:hover{transform:translateY(-4px);border-color:#6dff8b}.game-card strong{margin-top:auto;font-size:clamp(1.7rem,3vw,2.5rem);letter-spacing:-.04em}.game-card>span:not(.game-card__label){color:#bfd0c2;line-height:1.45}.game-card .game-card__cta{color:#6dff8b!important;font-weight:800}.game-card--coming{background:#0d201b;border-style:dashed}.game-card--coming strong{color:#d8e4d7}.mini-piece{display:grid;grid-template-columns:repeat(3,18px);grid-template-rows:repeat(2,18px);gap:2px;margin:1.4rem 0}.mini-piece i{background:#6dff8b}.mini-piece i:first-child{grid-column:2}.mini-piece--outline i{background:transparent;border:1px solid #617d6b}.idea-section{margin-top:5rem;padding:clamp(1.5rem,5vw,3rem);background:#19382b;border-left:4px solid #6dff8b}.idea-section h2{max-width:45rem;margin:.8rem 0}.idea-section p{max-width:49rem;color:#d6e4d6}.text-link{color:#6dff8b;font-weight:800}.blocks-hero{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:4rem 0}.blocks-hero h1{font-size:clamp(3.4rem,9vw,6.8rem)}.hero-stat{min-width:190px;aspect-ratio:1;border:1px solid #587668;display:grid;place-content:center;text-align:center;background:radial-gradient(circle,#1e4635,#10231d)}.hero-stat span{color:#6dff8b;font:700 clamp(2rem,4vw,3rem) "Courier New",monospace}.hero-stat small{font:.65rem Courier New,monospace;letter-spacing:.09em}.mode-grid,.guide-grid{display:grid;gap:1rem}.mode-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mode-grid:has(.mode-card--featured){grid-template-columns:repeat(3,minmax(0,1fr))}.mode-card,.panel,.state-card,.result-card{padding:clamp(1.2rem,3vw,1.8rem);background:#12271f;border:1px solid #436551;border-radius:.3rem}.mode-card{display:flex;flex-direction:column;align-items:flex-start;min-height:250px}.mode-card h3{margin:1.2rem 0 .4rem}.mode-card p{color:#c9d9cb}.mode-card .button{margin-top:auto}.mode-card--featured{grid-column:1 / -1;border-color:#6dff8b;min-height:0}.ranking-panel{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:1rem}.shared-result{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:0 0 1rem;border-color:#6dff8b}.shared-result h3{margin:.4rem 0}.shared-result p{margin:0;color:#c9d9cb}.ranking-panel h3{margin:.7rem 0 .4rem}.ranking-list{list-style:none;padding:0;margin:.4rem 0 1rem;width:100%;font:.85rem Courier New,monospace}.ranking-list li{display:grid;grid-template-columns:2rem minmax(0,1fr) auto;align-items:center;gap:.5rem;padding:.5rem 0;border-bottom:1px solid #365347}.ranking-list li span:nth-child(2){overflow-wrap:anywhere}.rank-number{color:#6dff8b}.state-card,.result-card{max-width:760px;margin:0 auto 3rem}.state-card h2,.result-card h2{margin:.7rem 0}.result-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin:1.5rem 0}.result-stats div{padding:1rem .6rem;background:#0b1c16;display:grid;gap:.3rem}.result-stats span{color:#adc6b0;font-size:.77rem}.result-stats strong{color:#6dff8b;font:700 clamp(1.2rem,3vw,1.8rem) "Courier New",monospace}.result-card .action-row{margin:1rem 0}.nickname{margin:1.5rem 0}.nickname label{display:block;margin-bottom:.65rem;font-weight:700}.nickname input{min-height:48px;min-width:12rem;padding:.65rem;background:#06140f;color:#eef4e9;border:1px solid #779a77;border-radius:.25rem}.game{display:grid;justify-items:center;gap:.8rem;padding:1rem 0 3rem}.game-heading{text-align:center}.game-heading h2{margin:.35rem 0;font-size:clamp(1.4rem,3vw,2rem)}.game-heading p{color:#b9cbba;margin:0;font-size:.9rem}.metrics{width:min(100%,480px);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.4rem}.metrics div{display:grid;gap:.15rem;text-align:center;padding:.45rem .2rem;background:#173528;border:1px solid #3a624b}.metrics span{color:#b8cdb5;font-size:.68rem}.metrics strong{font:700 clamp(.95rem,2vw,1.3rem) "Courier New",monospace;color:#a8ffbc}.board-frame{position:relative;padding:5px;border:2px solid #acd56f;background:#06150f;box-shadow:0 0 0 5px #1c3529,0 18px 45px #0008}.board{--cell: clamp(13px, min(8.8vw, calc((100svh - 380px)/20) ), 29px);display:grid;grid-template-columns:repeat(10,var(--cell));grid-template-rows:repeat(20,var(--cell));width:max-content;height:max-content;background:#10251e}.board-cell{width:var(--cell);height:var(--cell);border:1px solid #26443a;background:#10251e}.board-cell[class*=board-cell--]{border:2px solid #153c2c;box-shadow:inset 3px 3px #ffffff75,inset -3px -3px #0005}.board-cell--I{background:#63d9d1}.board-cell--J{background:#638ee8}.board-cell--L{background:#f4a865}.board-cell--O{background:#efdf6d}.board-cell--S{background:#93d86d}.board-cell--T{background:#bf91df}.board-cell--Z{background:#ec7d80}.board-overlay{position:absolute;inset:5px;display:grid;place-content:center;gap:.2rem;text-align:center;background:#071811de}.board-overlay strong{color:#a8ffbc;font-size:2rem}.board-overlay span{color:#d5e3d1;font-size:.85rem}.touch-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;width:min(100%,480px);touch-action:manipulation}.touch-controls button{min-height:48px;padding:.35rem;border:1px solid #719879;border-radius:.3rem;color:#e7f9d7;background:#1d3929;font-size:1.2rem;font-weight:800;touch-action:none}.touch-controls button:hover,.touch-controls button:focus-visible{background:#6dff8b;color:#0b1b15}.touch-controls button:nth-child(6){font-size:.85rem}.touch-controls .pause-button{grid-column:span 2;font-size:.9rem}.game-hint{color:#a8bdac;font:.73rem/1.5 Courier New,monospace;text-align:center;margin:0}.game-help{width:min(100%,480px);color:#b9cebb;font-size:.82rem}.game-help summary{cursor:pointer;text-align:center}.game-help p{margin:.6rem 0 0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:pre}.guide-grid .panel h3{margin-bottom:1rem}.key-list,.formula-legend{margin:0}.key-list div{display:grid;grid-template-columns:6rem 1fr;gap:.5rem;padding:.55rem 0;border-top:1px solid #345442}.key-list dt{color:#6dff8b;font:700 .85rem Courier New,monospace}.key-list dd,.formula-legend dd{margin:0;color:#cad8ca}.steps{margin:0;padding-left:1.4rem}.steps li{margin-bottom:.6rem;line-height:1.5}.steps li::marker{color:#6dff8b;font-weight:800}.math-panel{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(1rem,4vw,3rem);margin-top:1rem;padding:clamp(1.3rem,4vw,2.3rem);border:1px solid #6b9667;background:linear-gradient(120deg,#173b29,#10231e)}.math-panel h3{margin:.6rem 0 1rem;font-size:clamp(1.8rem,4vw,2.8rem)}.math-panel p{color:#d2e2d2}.formula{padding:1rem;overflow-wrap:anywhere;background:#081d16;border-left:3px solid #6dff8b;color:#e7ffbb!important;font:700 .9rem/1.6 Courier New,monospace}.formula-legend div{display:grid;grid-template-columns:9rem 1fr;gap:.8rem;padding:.3rem 0}.formula-legend dt{color:#6dff8b;font-weight:800}.scoring{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-top:1rem}.scoring h3{margin-bottom:.3rem}.scoring p{margin-bottom:0;color:#c4d2c5}.score-pills{display:flex;flex-wrap:wrap;gap:.35rem}.score-pills span{display:grid;padding:.5rem .7rem;min-width:5rem;background:#0a1d15;color:#a7c3ad;font-size:.75rem}.score-pills strong{color:#eaffc6;font:700 1.2rem Courier New,monospace}@media(max-width:850px){.mode-grid,.mode-grid:has(.mode-card--featured){grid-template-columns:repeat(2,minmax(0,1fr))}.mode-card--featured{grid-column:1 / -1}.math-panel{grid-template-columns:1fr}}@media(min-width:621px){.board{--cell: clamp(17px, min(8.8vw, calc((100svh - 400px)/20) ), 29px)}}@media(max-width:620px){.site-shell{width:min(100% - 2rem,1140px)}.site-header{align-items:flex-start}.site-header nav{justify-content:flex-end;gap:.75rem}.site-header nav a{font-size:.78rem}.hub-hero{grid-template-columns:1fr;gap:1rem;padding:3rem 0}.hero-art{min-height:230px}.hero-grid{transform:rotate(-10deg) scale(.75)}.blocks-hero{padding:2.6rem 0}.hero-stat{display:none}.game-library,.mode-grid,.mode-grid:has(.mode-card--featured),.guide-grid,.ranking-panel{grid-template-columns:1fr}.mode-card--featured{grid-column:auto}.mode-card{min-height:210px}.library,.guide,.play-section{padding-top:3rem}.scoring{display:block}.score-pills{margin-top:1rem}.formula-legend div{grid-template-columns:1fr;gap:.1rem}.result-stats{grid-template-columns:repeat(2,1fr)}.shared-result{align-items:flex-start;flex-direction:column}.game-heading p,.game-hint{display:none}}@media(max-width:620px)and (max-height:700px){.is-playing .site-header{padding:.8rem 0}.is-playing .game{gap:.55rem;padding-top:.7rem}.is-playing .game-heading .eyebrow{display:none}.is-playing .game-heading h2{font-size:1.2rem}.is-playing .touch-controls button{min-height:44px}}@media(max-width:350px){.board{--cell: clamp(13px, min(8.8vw, calc((100svh - 300px)/20) ), 19px)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.game-card{transition:none}}.blocks-shell{--lcd: #bdc89c;--ink: #263225}.blocks-shell .site-header{border-color:#4c5446}.blocks-shell .wordmark span,.blocks-shell .eyebrow{color:#85ffa5}.blocks-shell .button{border-radius:.55rem}.blocks-hero{padding:2.2rem 0 1.4rem}.blocks-hero h1{font:900 clamp(2.5rem,6vw,4.8rem)/1 "Courier New",monospace;letter-spacing:-.085em;margin:.4rem 0 .7rem}.blocks-hero h1 em{color:#85ffa5}.blocks-hero p{max-width:44rem;font-size:1rem;margin:0}.blocks-hero .hero-stat{min-width:130px;aspect-ratio:1.4;border-radius:1.1rem;background:#18251c;box-shadow:inset 0 0 20px #0009}.blocks-hero .hero-stat span{font-size:1.9rem}.blocks-shell .play-section{padding:1.4rem 0 2rem;border-top:0}.play-section .section-heading{margin-bottom:1.15rem}.play-section .section-heading h2{font-size:clamp(1.65rem,4vw,2.6rem);margin:.2rem 0}.lobby-dashboard{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:1rem;align-items:stretch}.lobby-actions,.lobby-rankings .panel{background:#101a14;border-color:#67725d;border-radius:1rem;box-shadow:inset 0 0 35px #0008,0 12px 30px #0005}.lobby-actions h3,.lobby-rankings h3{margin:.4rem 0 .65rem;font:800 clamp(1.35rem,3vw,1.9rem) "Courier New",monospace;letter-spacing:-.055em}.lobby-actions p{color:#c7d4c0;max-width:30rem;font-size:.9rem}.lobby-action-list{display:grid;gap:.7rem;margin-top:1.1rem}.lobby-action-list .button{width:100%;min-height:72px;justify-content:space-between;text-align:left;padding:.7rem 1rem;font:700 .8rem Courier New,monospace}.lobby-action-list .button span{display:grid;grid-template-columns:2rem 1fr;align-items:baseline;gap:.15rem .55rem}.lobby-action-list .button strong{font-size:1.13rem}.lobby-action-list .button small{grid-column:2;font-size:.72rem;font-weight:400}.lobby-action-list .button b{font-size:1.5rem}.lobby-rankings{display:grid;grid-template-rows:1fr 1fr;gap:1rem}.lobby-rankings .ranking-panel{display:block;margin:0;padding:1rem 1.3rem}.lobby-rankings .ranking-list{margin:.1rem 0 0}.lobby-rankings .ranking-list li{padding:.3rem 0;border-color:#354234}.lobby-rankings .quiet{margin:0}.mode-card--featured{margin:0 0 1rem;min-height:0}.game{gap:.7rem;padding:.6rem 0 2rem}.game-heading h2{font:900 clamp(1.35rem,4vw,2rem) "Courier New",monospace;margin:.2rem 0}.crt-cabinet{--cell: clamp(10px, min( calc((100vw - 180px)*.1) , calc((100svh - 240px)/20) ), 26px);width:max-content;max-width:100%;padding:clamp(9px,2.4vw,17px);border:3px solid #080a08;border-radius:3.2rem/2.6rem;background:linear-gradient(135deg,#39413a,#0b0e0c 24%,#222722 75%,#090b09);box-shadow:inset 0 4px 4px #ffffff3d,inset 0 -8px 15px #000,0 0 0 3px #455045,0 25px 65px #000b}.crt-topline,.crt-bottomline{display:flex;justify-content:space-between;gap:1rem;color:#b2bca5;font:700 clamp(.5rem,1.5vw,.7rem) "Courier New",monospace;letter-spacing:.12em;padding:.35rem .8rem}.crt-bottomline{padding-top:.55rem}.crt-power{white-space:nowrap}.crt-power i{display:inline-block;width:.5rem;height:.5rem;margin-right:.3rem;border-radius:50%;background:#d8e79c;box-shadow:0 0 9px #d8e79c}.crt-screen{position:relative;overflow:hidden;padding:clamp(7px,1.7vw,13px);border:4px solid #070907;border-radius:2.1rem/1.8rem;background:radial-gradient(ellipse at 50% 45%,#c8d1a7,var(--lcd) 68%,#97a67c);box-shadow:inset 0 0 0 2px #849478,inset 0 0 28px #26322589,0 2px 5px #89947f55}.crt-screen:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:repeating-linear-gradient(0deg,#1825160b 0 1px,transparent 1px 4px),radial-gradient(ellipse at 15% 0%,#ffffff3d,transparent 38%),radial-gradient(ellipse at 50% 50%,transparent 65%,#1c2c2160 100%);mix-blend-mode:multiply}.lcd-layout{display:flex;align-items:stretch;gap:clamp(7px,1.8vw,15px)}.board-frame{flex:none;position:relative;padding:2px;border:3px solid var(--ink);background:var(--lcd);box-shadow:inset 0 0 0 2px #dce4ba}.board{--cell: inherit;grid-template-columns:repeat(10,var(--cell));grid-template-rows:repeat(20,var(--cell));background:#adba8f}.board-cell{width:var(--cell);height:var(--cell);border:1px solid #8e9e7c70;background:#b6c39a}.board-cell--filled{position:relative;border:max(2px,calc(var(--cell) * .11)) solid #303a2c;background:#93a17d;box-shadow:inset 0 0 0 1px #68775e}.board-cell--filled:after{content:"";position:absolute;inset:24%;border:1px solid #36402f;background:#c2cca4}.board-overlay{inset:2px;background:#b4c099dc;color:var(--ink);font-family:Courier New,monospace}.board-overlay strong,.board-overlay span{color:var(--ink)}.lcd-sidebar{width:clamp(80px,24vw,132px);flex:none;display:flex;flex-direction:column;gap:clamp(4px,1vw,9px);color:var(--ink);font-family:Courier New,monospace}.lcd-stat,.lcd-next,.lcd-index{border:3px double #4c5b42;border-radius:.45rem;padding:clamp(3px,.7vw,7px);background:#c7d0a9b8;box-shadow:inset 1px 1px #eef2d6,2px 2px #788669}.lcd-stat span,.lcd-next>span,.lcd-index span{display:block;font:900 clamp(.56rem,1.55vw,.86rem) "Courier New",monospace;letter-spacing:.07em}.lcd-stat strong,.lcd-index strong{display:block;text-align:right;font:900 clamp(.85rem,2.8vw,1.65rem) "Courier New",monospace;line-height:1.1;overflow-wrap:anywhere}.lcd-next{display:grid;justify-items:center;gap:.25rem}.next-grid{--next-cell: clamp(11px, 2.3vw, 22px);display:grid;grid-template-columns:repeat(4,var(--next-cell));grid-template-rows:repeat(4,var(--next-cell))}.next-cell{display:block;width:var(--next-cell);height:var(--next-cell)}.next-cell--filled{position:relative;border:2px solid var(--ink);background:#93a17d}.next-cell--filled:after{content:"";position:absolute;inset:25%;border:1px solid var(--ink);background:#c5cfaa}.lcd-index{margin-top:auto}.lcd-index strong{font-size:clamp(.8rem,2.2vw,1.2rem)}.touch-controls{width:min(100%,520px);grid-template-columns:repeat(5,minmax(0,1fr))}.touch-controls button{border-radius:.75rem;border:2px solid #64705b;background:linear-gradient(#303a32,#151c17);box-shadow:inset 0 2px #6572667a,0 4px #090d0a;font-family:Courier New,monospace;font-size:1.15rem}.touch-controls button:nth-child(5){font-size:.7rem}.touch-controls .pause-button,.touch-controls .sound-button{grid-column:span 2;font-size:.72rem}.touch-controls .sound-button{grid-column:span 3}.touch-controls .sound-button[aria-pressed=false]{color:#abb4a1}.game-help{width:min(100%,520px)}@media(min-width:700px){.crt-cabinet{--cell: clamp(14px, min(2.4vw, calc((100svh - 470px)/20) ), 26px)}}@media(max-width:700px){.lobby-dashboard{grid-template-columns:1fr}.lobby-rankings{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto}.lobby-rankings .ranking-panel{min-width:0}.blocks-hero .hero-stat{display:none}}@media(max-width:480px){.blocks-hero{padding:1.15rem 0 .45rem}.blocks-hero h1{font-size:clamp(2.15rem,10vw,3.1rem)}.blocks-hero p{font-size:.84rem;line-height:1.4}.blocks-shell .play-section{padding-top:.6rem}.play-section .section-heading{margin-bottom:.7rem}.play-section .section-heading p{display:none}.lobby-rankings{grid-template-columns:1fr}.lobby-actions{padding:.85rem 1rem}.lobby-actions p{display:none}.lobby-actions h3{margin:.2rem 0 .45rem}.lobby-action-list{gap:.35rem;margin-top:.5rem}.lobby-action-list .button{min-height:48px;padding:.35rem .8rem}.lobby-action-list .button strong{font-size:1rem}.lobby-action-list .button small{font-size:.64rem}.crt-cabinet{border-radius:2rem}.crt-screen{border-radius:1.45rem}.crt-topline,.crt-bottomline{padding-left:.3rem;padding-right:.3rem}.game-hint{display:block;font-size:.62rem}}@media(prefers-reduced-motion:reduce){.touch-controls button,.crt-cabinet{transition:none}}:root{background:#030c07}body{background:radial-gradient(ellipse at 75% 0,#143b25,transparent 45%),#030c07}.wordmark{display:flex;align-items:center;gap:.65rem;letter-spacing:.1em}.wordmark img{width:116px;height:29px;display:block}.wordmark span{padding:0;font:700 .7rem Courier New,monospace}.blocks-logo{display:block;width:min(100%,310px);height:auto;aspect-ratio:1;object-fit:contain;border-radius:12%;filter:drop-shadow(0 0 16px #26f36b55)}.blocks-hero h1{margin:.7rem 0}.blocks-hero p{max-width:42rem}.hero-art .blocks-logo{width:min(80%,350px)}.button-primary{background:#6dff8b;color:#03240e;border-color:#6dff8b}.button-secondary{border-color:#37d969;background:#10271a;color:#e5ffea}.eyebrow,.blocks-shell .eyebrow,h1 em,.text-link,.rank-number,.wordmark span,.game-card .game-card__cta{color:#6dff8b}.blocks-shell{--lcd: #082215;--ink: #80ff9d}.crt-screen{background:radial-gradient(ellipse at 50% 40%,#163b20,#06190d 85%);border-color:#020803;box-shadow:inset 0 0 25px #000,inset 0 0 0 2px #298743,0 0 12px #2df66333}.board-frame{background:#071b0e;border-color:#3d9150;box-shadow:0 0 4px #55ef7833}.board,.board-cell{background:#0c2414}.board-cell{border-color:#1d402733}.board-cell--filled{border-color:#63ec80;background:#3ba85b;box-shadow:inset 0 0 4px #a2ffb3,0 0 5px #40ee7340}.board-cell--filled:after{border-color:#4baa60;background:#b5ffc3}.lcd-stat,.lcd-next,.lcd-index{color:#a8ffbc;background:#0c2818;border-color:#54c775;box-shadow:inset 1px 1px #76dc8c55,2px 2px #020b05}.next-cell--filled{border-color:#79f69a;background:#35994e}.next-cell--filled:after{background:#b5ffc3;border-color:#3b854c}.board-overlay{background:#061d11ee}.board-overlay strong,.board-overlay span{color:#a8ffbc}.crt-power i{background:#6dff8b;box-shadow:0 0 10px #6dff8b}.crt-screen:after{mix-blend-mode:normal;background:repeating-linear-gradient(0deg,#0002 0 1px,transparent 1px 4px),radial-gradient(ellipse at 20% 0%,#bcffd112,transparent 40%),radial-gradient(ellipse,transparent 65%,#0008)}.invitation input{display:block;width:100%;min-height:48px;margin:.6rem 0 1rem;padding:.7rem;border:1px solid #42c966;background:#04100a;color:#deffe7;border-radius:.4rem}.invitation .action-row{margin-bottom:1rem}.invitation>.quiet{margin-top:.7rem}.history,.faq{margin-top:1rem}.history h3{margin:.6rem 0 1rem}.history p{max-width:65rem;color:#cadbca}.faq details{padding:.8rem 0;border-top:1px solid #375b40}.faq summary{cursor:pointer;font-weight:700}.faq p{margin:.7rem 0 0;color:#cadbca}body.game-active{position:fixed;inset:0;width:100%;overflow:hidden;overscroll-behavior:none}.is-playing{height:100dvh;overflow:hidden}.is-playing .site-header{height:52px;padding:.5rem 0;align-items:center}.is-playing .game{height:calc(100dvh - 52px);padding:8px 0 max(5px,env(safe-area-inset-bottom));display:grid;grid-template-rows:minmax(0,1fr) auto auto;gap:7px;overflow:hidden;touch-action:none}.is-playing .game-heading,.is-playing .game-hint{display:none}.is-playing .crt-cabinet{--cell: clamp(8px, min( calc((100vw - 180px)*.1) , calc((100dvh - 320px)/20) ), 26px);align-self:center}.is-playing .touch-controls button{min-height:44px;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.is-playing .game-help{font-size:.72rem;margin:0;position:relative}.is-playing .game-help[open] p{position:absolute;bottom:1.5rem;width:100%;padding:1rem;border:1px solid #62ef89;background:#06190d;z-index:5}.is-playing .game{grid-template-columns:minmax(0,1fr);width:100%}.is-playing .crt-cabinet{--cell: clamp(8px, min( calc((100vw - 185px)*.1) , calc((100dvh - 320px)/20) ), 26px)}.is-playing .lcd-sidebar{width:clamp(72px,22vw,116px)}.is-playing .touch-controls{min-width:0;width:min(100%,520px)}@media(max-width:480px){.blocks-logo{width:195px}.blocks-hero{padding-top:.8rem}.wordmark img{width:100px;height:25px}.lobby-action-list .button small{font-size:.6rem}}@media(max-height:480px)and (min-width:500px){.is-playing .site-header{height:40px}.is-playing .game{height:calc(100dvh - 40px);grid-template-columns:minmax(0,1fr) 190px;grid-template-rows:1fr auto;gap:8px}.is-playing .crt-cabinet{--cell: clamp(7px, calc((100dvh - 145px)/20) , 16px);grid-row:1 / 3;padding:6px}.is-playing .crt-screen{padding:6px}.is-playing .lcd-sidebar{width:80px}.is-playing .next-grid{--next-cell: 11px}.is-playing .lcd-stat strong{font-size:1rem}.is-playing .lcd-stat span,.is-playing .lcd-next>span{font-size:.6rem}.is-playing .touch-controls{grid-template-columns:repeat(3,1fr)}.is-playing .touch-controls .pause-button{grid-column:auto}.is-playing .touch-controls .sound-button{grid-column:span 3}.is-playing .crt-bottomline,.is-playing .crt-topline{font-size:.5rem}}@media(max-height:480px)and (min-width:500px){.is-playing .lcd-sidebar{gap:4px}.is-playing .lcd-stat,.is-playing .lcd-next,.is-playing .lcd-index{padding:2px;border-width:2px}.is-playing .lcd-stat span,.is-playing .lcd-next>span,.is-playing .lcd-index span{font-size:.5rem}.is-playing .lcd-stat strong,.is-playing .lcd-index strong{font-size:.9rem;line-height:1}.is-playing .next-grid{--next-cell: 9px}.is-playing .crt-topline,.is-playing .crt-bottomline{padding:3px}}.room-card,.tutorial-card{max-width:900px;margin:1.2rem auto 3rem;border-color:#4fcf70;background:radial-gradient(circle at 85% 0,#194128,transparent 42%),#0a1810;box-shadow:inset 0 0 45px #0009,0 20px 55px #0006}.room-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.25rem;align-items:start}.room-heading h2,.tutorial-card h2{margin:.45rem 0 .65rem;font:900 clamp(1.8rem,5vw,3.1rem)/1 "Courier New",monospace;letter-spacing:-.07em}.room-heading p,.tutorial-copy>p{max-width:38rem;color:#c8d9ca}.room-timer{min-width:145px;padding:.85rem 1rem;border:3px double #57d879;border-radius:.55rem;background:#07160c;text-align:center;box-shadow:inset 0 0 16px #24e85e18}.room-timer span,.room-timer small{display:block;color:#a9c2ae;font:700 .67rem Courier New,monospace;letter-spacing:.08em}.room-timer strong{display:block;margin:.15rem 0;color:#8dffa7;font:900 2rem Courier New,monospace}.room-share{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.55rem;margin:1.2rem 0}.room-share input,.room-join input{min-width:0;min-height:48px;padding:.65rem .8rem;border:1px solid #49b968;border-radius:.35rem;background:#020b05;color:#e0ffe7;font-family:Courier New,monospace}.room-join{max-width:520px;margin-top:1.4rem;padding:1.2rem;border:1px solid #365b40;background:#08130c}.room-join label{display:block;margin-bottom:.55rem;font-weight:800}.room-join input{width:100%;margin-bottom:.8rem}.room-roster{margin:1rem 0}.room-roster h3{margin-bottom:.45rem;font:800 1.2rem Courier New,monospace}.room-roster ul{list-style:none;margin:0;padding:0;border-top:1px solid #34533c}.room-roster-title{display:flex;justify-content:space-between;gap:1rem;align-items:baseline}.room-roster-title span{color:#91fba8;font:700 .74rem Courier New,monospace}.room-roster li{display:grid;grid-template-columns:12px minmax(0,1fr) auto auto;gap:.7rem;align-items:center;padding:.75rem .2rem;border-bottom:1px solid #293f2f;font-family:Courier New,monospace}.room-roster li i{width:10px;height:10px;border:1px solid #698471;border-radius:50%;background:#1a2c1e}.room-roster li.is-ready i{border-color:#7dff9a;background:#68ed87;box-shadow:0 0 9px #68ed87}.room-roster li strong{overflow-wrap:anywhere}.room-roster li small{color:#9db1a1}.room-roster li.is-ready small{color:#91fba8}.room-actions{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center;margin-top:1.2rem}.room-actions .quiet{flex-basis:100%;margin:0}.tutorial-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(1.5rem,5vw,4rem);align-items:center;min-height:390px}.tutorial-progress{display:flex;gap:.4rem;margin:1.4rem 0}.tutorial-progress i{width:34px;height:5px;background:#304937}.tutorial-progress i.is-active{background:#70f78e;box-shadow:0 0 8px #70f78e66}.tutorial-board{--tutorial-cell: clamp(23px, 6vw, 35px);display:grid;grid-template-columns:repeat(6,var(--tutorial-cell));grid-template-rows:repeat(8,var(--tutorial-cell));padding:5px;overflow:hidden;border:3px double #59c975;border-radius:.45rem;background:#07180d;box-shadow:inset 0 0 24px #000,0 0 20px #45ef7330}.tutorial-board i{width:var(--tutorial-cell);height:var(--tutorial-cell);border:1px solid #24422b55;transition:transform .28s ease}.tutorial-board i.is-block{position:relative;border:3px solid #6bf08a;background:#38a857;box-shadow:inset 0 0 0 3px #b1ffc0,0 0 7px #57ff7e55}.tutorial-board.is-dropped i.is-block{transform:translateY(calc(var(--tutorial-cell) * 4))}@media(max-width:650px){.room-heading,.tutorial-card{grid-template-columns:1fr}.room-timer{width:100%}.room-share{grid-template-columns:1fr 1fr}.room-share input{grid-column:1 / -1}.tutorial-board{margin:0 auto;--tutorial-cell: clamp(22px, 11vw, 31px)}.tutorial-card{min-height:0}.room-card,.tutorial-card{margin-top:.5rem}}@media(prefers-reduced-motion:reduce){.tutorial-board i{transition:none}}
