:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#f6f4ef;background:#111728;font-synthesis:none;--acid:#d9fc77;--coral:#ff8f98;--blue:#9cbbff}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button,select{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--coral);outline-offset:4px}a{color:inherit}.shell{max-width:1100px;margin:auto;padding:24px}.top{display:flex;align-items:center;justify-content:space-between;gap:16px}.logo{font-weight:850;font-size:18px;letter-spacing:-.6px;text-decoration:none}.logo span{color:var(--acid)}.top-tools{display:flex;gap:7px}.top-tools select,.quiet{color:#d4dff6;background:#202a41;border:1px solid #43506c;border-radius:30px;padding:9px 13px;font-size:12px;min-height:40px}.hero{margin:65px 0 35px;max-width:760px}.eyebrow{font:11px ui-monospace,monospace;letter-spacing:3px;color:var(--acid);text-transform:uppercase}h1{font-size:clamp(40px,6vw,78px);line-height:1.04;letter-spacing:-3px;margin:18px 0}h2{font-size:24px;letter-spacing:-.6px;margin:8px 0}.sub{color:#adbad5;font-size:16px;line-height:1.7;max-width:650px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{border:1px solid #38415b;background:#1c2439;border-radius:25px;overflow:hidden;text-decoration:none;display:flex;flex-direction:column;transition:transform .2s,border-color .2s}.card:hover{transform:translateY(-6px);border-color:var(--acid)}.card-art{height:220px;display:grid;place-items:center;background:radial-gradient(circle at 50% 50%,#35463b,#1c263b 70%);font-size:85px;letter-spacing:8px}.card:nth-child(2) .card-art{background:repeating-linear-gradient(90deg,#1e2f53 0,#1e2f53 31%,#2c4265 32%,#1e2f53 33%);color:#9cbbff}.card:nth-child(3) .card-art{background:#3c243d;color:#ff9daf}.card-body{padding:25px;flex:1;display:flex;flex-direction:column}.card p{font-size:13px;color:#b9c5dd;line-height:1.6;min-height:60px}.card .play-link{color:var(--acid);font-weight:750;font-size:14px;margin-top:auto}.back-link{color:#b1bfd6;text-decoration:none;font-size:12px}.game-layout{max-width:1060px;margin:35px auto;display:grid;grid-template-columns:minmax(300px,520px) minmax(240px,1fr);gap:34px;align-items:start}.game-title{font-size:36px;letter-spacing:-1.5px}.game-help{color:#b2bfd7;font-size:13px;line-height:1.6;min-height:42px}.play-stage{border:1px solid #3a4969;border-radius:24px;background:#1b263d;padding:20px;position:relative;overflow:hidden}.hud{display:flex;justify-content:space-between;gap:12px;margin:0 0 14px}.hud-block{font-size:11px;color:#a5b4d1}.hud-block strong{display:block;font-size:28px;color:#f4f5e9;font-weight:800;line-height:1.4}.hud-block:last-child{text-align:right}.next-row{display:flex;justify-content:center;align-items:center;gap:10px;color:#aabbd7;font-size:11px;min-height:38px}.next-row .flower{width:28px;height:28px}.board-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;border-radius:17px;padding:10px;background:#101a2c;margin-top:9px}.puzzle-cell{aspect-ratio:1;border:1px solid #354462;border-radius:12px;background:#202e48;display:grid;place-items:center;min-width:0;position:relative}.flower{width:78%;height:78%;border-radius:50%;display:grid;place-items:center;font-size:25px;font-weight:800;color:#11212d;box-shadow:inset 0 0 0 2px #ffffff15}.level-1{background:#a3d991}.level-2{background:#d9fc77}.level-3{background:#ff9ea6}.level-4{background:#ffd382}.level-5{background:#c3acff}.flower svg{width:77%;height:77%;fill:currentColor}.puzzle-cell:after{content:attr(data-level);position:absolute;font-size:9px;right:5px;bottom:3px;color:#bac8db}.puzzle-cell.glow{box-shadow:0 0 0 2px var(--acid),0 0 30px #cafa8e55}.drop-controls{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-top:9px}.drop-controls button,.lane-controls button{background:#344567;color:#f7ffe3;border:1px solid #637695;border-radius:12px;min-height:44px;font-size:20px}.drop-controls button:hover,.lane-controls button:hover{background:#496440}.drop-controls button:disabled{opacity:.4;cursor:default}.message{min-height:33px;text-align:center;color:var(--acid);font-size:13px;font-weight:700;padding:10px 0;line-height:1.5}.primary,.secondary{padding:13px 20px;border:0;border-radius:30px;font-weight:750;font-size:13px;min-height:46px}.primary{background:var(--acid);color:#1a2532}.secondary{background:#354565;color:#e7edfa;border:1px solid #6b7c9d}.primary:disabled,.secondary:disabled{opacity:.5;cursor:default}.row-buttons{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;margin:14px 0}.side-panel{border:1px solid #394663;border-radius:23px;padding:22px;background:#192237}.side-panel h2{font-size:20px}.small{font-size:11px;line-height:1.7;color:#b7c3d7}.leader-list{list-style:none;margin:16px 0;padding:0;display:grid;gap:5px}.leader-item{display:grid;grid-template-columns:24px 1fr auto;gap:8px;align-items:center;font-size:12px;padding:10px 8px;background:#25314b;border-radius:9px}.leader-item strong{color:var(--acid)}.leader-note{font-size:10px;color:#b1bed6;grid-column:2/4}.result-panel{border:1px solid #617853;border-radius:20px;background:#243934;padding:22px;margin-top:15px}.result-score{font-size:62px;font-weight:850;letter-spacing:-2px;color:var(--acid);line-height:1.1}.socials{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px}.socials a,.socials button{display:inline-block;text-align:center;text-decoration:none;color:#e0e9fb;background:#303f5a;border:1px solid #62738f;border-radius:10px;padding:10px 13px;font-size:12px;cursor:pointer}.caption{width:100%;background:#122431;color:#e0e5dd;border:1px solid #617969;border-radius:10px;padding:11px;font:12px ui-monospace,monospace;min-height:105px;margin-top:14px;resize:vertical}.alias{width:100%;color:#e6efff;background:#101a2d;border:1px solid #61738d;border-radius:10px;padding:11px;font-size:14px;margin:6px 0 12px}.status{font-size:12px;line-height:1.6;color:#d6f4a3;min-height:20px}.arcade-canvas{display:block;width:100%;height:auto;aspect-ratio:5/6;max-height:560px;border-radius:16px;background:#111b33;touch-action:none}.lane-controls{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.game-overlay{position:absolute;inset:85px 15px 80px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;background:#111b33e8;border-radius:20px;padding:20px;gap:15px;z-index:2}.game-overlay[hidden]{display:none}.game-overlay strong{font-size:30px;letter-spacing:-1px}.combo-burst{animation:pop .35s ease-out}.foot{border-top:1px solid #34405a;padding:25px 0;margin-top:50px;display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;font-size:11px;color:#8d9bb5}.muted{color:#99a9c6}.game-route[hidden],.result-panel[hidden],.hub[hidden]{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}@keyframes pop{0%{transform:scale(.88)}60%{transform:scale(1.08)}100%{transform:scale(1)}}
@media(max-width:780px){.cards{grid-template-columns:1fr}.card{display:grid;grid-template-columns:120px 1fr}.card-art{height:100%;min-height:170px;font-size:48px;letter-spacing:0}.card-body{padding:18px}.card p{min-height:0}.hero{margin:40px 0 28px}.game-layout{grid-template-columns:1fr;max-width:510px;margin-top:25px;gap:20px}.side-panel{order:2}.game-title{font-size:30px}.play-stage{padding:16px}.shell{padding:20px}.top-tools .quiet,.top-tools select{font-size:11px;padding:8px 10px}.logo{font-size:16px}.game-help{font-size:12px}.hud-block strong{font-size:25px}.puzzle-cell{border-radius:10px}.flower{font-size:20px}}@media(max-width:360px){.shell{padding:14px}.top{flex-wrap:wrap}.board-grid{padding:7px;gap:5px}.play-stage{padding:12px}.game-title{font-size:27px}.card{grid-template-columns:95px 1fr}.card-body{padding:16px}.primary,.secondary{padding:12px 16px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
.board-grid,.drop-controls{max-width:400px;margin-left:auto;margin-right:auto}.puzzle-cell.just-dropped .flower{animation:seed-land .2s ease-out}.puzzle-cell.glow .flower{animation:bloom-grow .35s ease-out}.drop-controls button:first-child:focus-visible{outline-offset:2px}@keyframes seed-land{from{transform:translateY(-35px) scale(.75)}to{transform:translateY(0) scale(1)}}@keyframes bloom-grow{0%{transform:scale(.5);filter:brightness(1.8)}60%{transform:scale(1.2)}100%{transform:scale(1)}}
/* The Little Grove: original cast and a shared night-forest art direction. */
:root{--acid:#e1efa4;--coral:#f3b099;--blue:#bdd9ec;color:#f6ecda;background:#111f2b}body{background:radial-gradient(ellipse at 85% 0,#31534540,transparent 45%),#111f2b}.shell{max-width:1180px;padding:30px}.logo{letter-spacing:-.8px}.logo span{color:#e1efa4}.top-tools select,.quiet{background:#233440;border-color:#52625e;color:#e0e4d9}.hero{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:20px;max-width:none;margin:48px 0 40px;position:relative}.hero-copy{position:relative;z-index:1}.hero h1{font-size:clamp(40px,5.5vw,72px);letter-spacing:-2.5px;color:#fff2d6;max-width:600px;line-height:1.13}.hero .eyebrow{font-size:10px;letter-spacing:2px;color:#d9ca9c}.sub{color:#bacdca;line-height:1.7}.cast-names{margin-top:25px;display:flex;gap:14px;align-items:center;font:600 10px ui-monospace,monospace;letter-spacing:3px;color:#b3c8bd}.cast-names span{color:#d8b080;letter-spacing:0}.hero-scene{position:relative;aspect-ratio:1.5;min-width:0;border-radius:48% 48% 25px 25px;isolation:isolate;background:radial-gradient(ellipse at 50% 60%,#8fab7045,#26424118 66%,transparent 67%)}.hero-scene:before,.hero-scene:after{content:'';position:absolute;top:4%;bottom:5%;width:10px;border-radius:90%;background:#75918126;transform:rotate(-12deg);left:16%;box-shadow:95px 30px 0 #75918115,330px 10px 0 #75918116}.hero-scene:after{left:auto;right:18%;transform:rotate(12deg)}.moon{position:absolute;width:125px;height:125px;border-radius:50%;right:15%;top:4%;background:#d8d9b817;box-shadow:0 0 60px #e4ebb711}.hero-scene img{width:115%;height:auto;position:absolute;left:-7%;bottom:12%;z-index:2;filter:drop-shadow(0 16px 14px #030c1666);animation:grove-breathe 5s ease-in-out infinite}.scene-ground{position:absolute;bottom:6%;left:5%;right:1%;height:23%;border-radius:50%;background:radial-gradient(ellipse,#778e4c30,transparent 70%)}.cards{gap:22px}.card{border-radius:21px;background:#1a3039;border-color:#65726466;box-shadow:0 10px 22px #07131e35}.card:hover{border-color:#cbd9a6;transform:translateY(-5px)}.character-card{position:relative;height:260px;overflow:hidden;background:radial-gradient(ellipse at 50% 75%,#7a956e66,transparent 72%),#28433e}.card:nth-child(2) .character-card{background:radial-gradient(ellipse at 50% 70%,#649da26b,transparent 72%),#253f50}.card:nth-child(3) .character-card{background:radial-gradient(ellipse at 50% 75%,#d7a26555,transparent 72%),#473b41}.character-sprite,.character-portrait{display:block;background-image:url('/arcade/characters.webp');background-repeat:no-repeat;background-size:300% 100%;background-position:0% 50%}.character-sprite{width:245px;height:245px;position:absolute;bottom:5px;left:50%;transform:translateX(-50%);filter:drop-shadow(0 12px 10px #0a192b55);transition:transform .25s}.actor-0{background-position:0% 50%}.actor-1{background-position:50% 50%}.actor-2{background-position:100% 50%}.card:hover .character-sprite{transform:translateX(-50%) rotate(-3deg) scale(1.04)}.card-number{position:absolute;top:13px;left:18px;font:12px ui-monospace,monospace;letter-spacing:2px;color:#e9d9ba8f}.character-name{position:absolute;bottom:13px;right:16px;font:700 10px ui-monospace,monospace;letter-spacing:3px;color:#fff1d6;z-index:1;text-shadow:0 2px 5px #142432}.card-body{padding:23px 24px}.card h2{font-size:25px;color:#fbefd4}.card p{color:#bfceca;font-size:13px}.card .play-link{color:#e4eead}.game-title{color:#fff0d1}.game-help,.back-link{color:#c3d1ca}.companion{display:flex;gap:13px;align-items:center;margin:-3px 0 15px;min-height:70px}.character-portrait{width:72px;height:72px;flex-shrink:0;filter:drop-shadow(0 5px 7px #0a172766)}.companion .eyebrow{font-size:8px;letter-spacing:2px;color:#b3c6b1;display:block;margin:0 0 6px}.companion strong{font-size:17px;letter-spacing:.8px}.play-stage{background:#233b41;border-color:#64776b;border-radius:22px;box-shadow:inset 0 1px #f6e5bb22,0 15px 35px #07172044}.hud-block{color:#c6d0bc}.hud-block strong{color:#fff0ce}.board-grid{background:#142b32;border-color:#a7b09a22;border:1px solid #d1d2ab25;padding:11px;box-shadow:inset 0 2px 18px #0a1d2599}.puzzle-cell{background:#304b4b;border-color:#67827a77;box-shadow:inset 0 1px #d7e1b915}.flower{box-shadow:inset 0 2px 0 #fff9d366,0 3px 0 #14283255}.drop-controls button,.lane-controls button{background:#4b6661;color:#f8f1d8;border-color:#a2b39a99;box-shadow:0 3px 0 #122b33}.drop-controls button:hover,.lane-controls button:hover{background:#667e5b}.side-panel{background:#1b3039;border-color:#63776a88}.side-panel h2{color:#f0e4ca}.small{color:#bdccc4}.result-panel{background:#294d43;border-color:#a6b482;box-shadow:0 12px 25px #071d2540}.socials a,.socials button{background:#334e53;border-color:#79968e;color:#f5efdb}.primary{color:#20382f}.secondary{background:#3b5a5d;border-color:#8ca59c;color:#f4eddb}.game-overlay{background:#132b33e8;border:1px solid #e1dfa728}.game-overlay strong{color:#fff1d4}.arcade-canvas{background:#15323b}.foot{border-color:#67817766;color:#aec1b8}.status{color:#e2f1b3}.leader-item{background:#2c464a}.caption,.alias{background:#142b34;color:#eeeeda;border-color:#809b8c}
@keyframes grove-breathe{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@media(max-width:780px){.shell{padding:20px}.hero{grid-template-columns:1fr;gap:0;margin:40px 0 25px}.hero-copy{max-width:560px}.hero h1{font-size:clamp(39px,8vw,64px);margin-bottom:12px}.hero-scene{max-width:600px;width:100%;aspect-ratio:2.6;min-height:150px;margin-top:12px}.hero-scene img{width:100%;left:0;bottom:6%}.moon{width:80px;height:80px}.cast-names{margin-top:14px}.character-card{height:100%;min-height:192px}.character-sprite{width:172px;height:172px;left:50%;bottom:12px}.card{grid-template-columns:145px 1fr}.card-body{padding:20px 17px}.card h2{font-size:23px}.card-number{top:10px;left:12px;font-size:10px}.character-name{font-size:8px;right:10px;bottom:8px}.game-title{margin-bottom:10px}.companion{margin-bottom:12px}.game-layout{margin-top:24px}.top{gap:8px}}
@media(max-width:360px){.shell{padding:14px}.hero .eyebrow{font-size:8px;letter-spacing:1.4px}.hero h1{font-size:39px}.card{grid-template-columns:113px 1fr}.character-card{min-height:194px}.character-sprite{width:145px;height:145px;bottom:22px}.card-body{padding:16px 13px}.card h2{font-size:21px}.companion .eyebrow{font-size:8px}}
@media(prefers-reduced-motion:reduce){.hero-scene img{animation:none}.character-sprite{transition:none}}
.hero h1{text-wrap:balance;font-size:clamp(40px,4.8vw,64px)}
@media(max-width:780px){.hero h1{font-size:clamp(39px,8vw,64px)}}

.metrics-choice{margin:3rem auto 0;max-width:760px;padding:1.25rem;border:1px solid #d5e9cb33;border-radius:18px}.metrics-choice h2{font-size:1.1rem}.metrics-choice p{overflow-wrap:anywhere}#feedback{border-bottom:1px solid #d5e9cb33;padding-bottom:1rem;margin-bottom:1.5rem}
