:root{--bg:#10131d;--panel:#171b27;--panel2:#1c2130;--line:#2a3040;--text:#f4f3ed;--muted:#9298a8;--lime:#c8f169;--coral:#ff806b;--violet:#a996ff;--mono:'DM Mono',monospace;--sans:'Manrope',sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased}.shell{max-width:1240px;padding:0 44px;margin:auto}.topbar{height:90px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff0d}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--text);font-size:12px;font-weight:800;letter-spacing:.18em}.brand-mark{font-size:28px;letter-spacing:-.12em;color:var(--lime);line-height:1}.brand-mark span{color:var(--coral)}.top-note,.eyebrow,.stat-label,.tag,.sort-label,.leader-foot,.modal-kicker,.game-side .stat-label,.controls-hint>span,.result-score>span,.position-line>span,footer{font-family:var(--mono);letter-spacing:.11em;font-size:9px;color:var(--muted)}.top-note{display:flex;align-items:center;gap:9px}.live-dot,.pulse{width:7px;height:7px;background:var(--lime);border-radius:50%;display:inline-block;box-shadow:0 0 11px #c8f16988}.account{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:24px;background:none;color:var(--text);padding:6px 12px 6px 6px;font:600 11px var(--sans);cursor:pointer}.avatar{display:grid;place-items:center;background:#2b3342;color:var(--lime);width:26px;height:26px;border-radius:50%;font-size:11px}.chevron{color:var(--lime);font-size:14px}.hero{padding:47px 0 25px}.eyebrow{display:flex;align-items:center;gap:13px}.eyebrow-rule{width:37px;height:1px;background:#4b5160}.hero-grid{display:grid;grid-template-columns:1fr 360px;align-items:center;min-height:270px}.hero h1{font-size:clamp(42px,6vw,69px);line-height:1.04;letter-spacing:-.065em;margin:25px 0 16px;font-weight:700}.hero h1 span{color:var(--lime)}.intro{font-size:13px;color:#a6abba;line-height:1.8;max-width:435px;margin:0}.user-pill{display:inline-flex;align-items:center;gap:10px;margin-top:25px;color:#c0c4cd;font-size:10px;background:#1a1e29;border:1px solid #282e3d;border-radius:22px;padding:9px 13px}.pulse{width:6px;height:6px}.hero-art{height:240px;position:relative;overflow:hidden}.art-orbit{position:absolute;border:1px solid #ffffff12;border-radius:50%;width:255px;height:255px;left:53px;top:-14px}.orbit-two{width:196px;height:196px;left:83px;top:16px;border-style:dashed;opacity:.5}.art-block{position:absolute;width:40px;height:40px;border-radius:9px;transform:rotate(15deg);box-shadow:0 10px 35px #0005}.block-a{background:var(--lime);left:145px;top:44px}.block-b{background:var(--coral);left:190px;top:88px}.block-c{background:var(--violet);left:100px;top:90px}.block-d{background:#4fcbba;left:145px;top:135px}.art-star{position:absolute;left:232px;top:33px;color:var(--lime);font-size:27px}.art-caption{position:absolute;right:18px;bottom:37px;font:9px/1.8 var(--mono);letter-spacing:.12em;color:#6c7280}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:50px;padding:19px 0 70px}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:20px}.eyebrow.small{font-size:9px;letter-spacing:.15em}.section-head h2,.leaderboard h2{font-size:23px;letter-spacing:-.05em;margin:8px 0 0}.count{font:10px var(--mono);color:var(--lime);vertical-align:top;margin-left:4px}.sort-label{font-size:8px}.sort-label span{color:var(--lime);font-size:14px;margin-left:6px}.game-card{position:relative;width:100%;border:1px solid #343b4a;background:linear-gradient(105deg,#1b202c,#181c27);border-radius:13px;min-height:158px;padding:21px 23px;display:grid;grid-template-columns:34px 64px 1fr 90px 25px;gap:17px;align-items:center;text-align:left;color:inherit;cursor:pointer;transition:.2s}.game-card:hover{border-color:#78845f;transform:translateY(-2px);background:#1d2330}.card-index{font:10px var(--mono);color:#707787;align-self:start;padding-top:5px}.game-icon{width:58px;height:58px;border-radius:15px;background:#292c38;display:grid;place-items:center;border:1px solid #3c3c4a}.mini-grid{display:grid;grid-template-columns:repeat(3,11px);grid-template-rows:repeat(3,11px);gap:2px;transform:rotate(-8deg)}.mini-grid i{border-radius:2px;background:var(--coral)}.mini-grid i:nth-child(2){background:var(--violet)}.mini-grid i:nth-child(3){background:var(--lime)}.mini-grid i:nth-child(4){background:#4fcbba}.game-info .game-tags{display:flex;gap:7px}.tag{font-size:8px;border:1px solid #343a48;padding:4px 7px;border-radius:4px;letter-spacing:.09em}.tag-live{color:var(--lime);border-color:#57653d;background:#c8f1690a}.game-info h3{font-size:19px;letter-spacing:-.04em;margin:9px 0 4px}.game-info p,.coming-card p{font-size:10px;color:#999eab;margin:0}.game-stats{border-left:1px solid #323746;padding-left:16px;display:flex;flex-direction:column;gap:3px}.stat-label{font-size:8px}.game-stats strong{font:21px var(--mono);color:var(--lime)}.stat-caption{font-size:9px;color:#747b89}.play-arrow{font-size:19px;color:var(--lime);align-self:center}.coming-card{position:relative;min-height:94px;margin-top:12px;border:1px dashed #303645;border-radius:11px;display:flex;align-items:center;gap:15px;padding:17px 21px;overflow:hidden}.coming-plus{font-size:22px;color:#71798a;background:#222735;border:1px solid #313749;width:37px;height:37px;border-radius:11px;display:grid;place-items:center}.coming-card h3{font-size:12px;margin:7px 0 3px}.coming-card p{font-size:9px}.coming-spark{position:absolute;right:24px;top:25px;color:#555e6c;font-size:19px}.leaderboard{border-left:1px solid #292e3a;padding-left:28px}.leader-top{display:flex;align-items:center;justify-content:space-between}.leader-icon{width:27px;height:27px;display:grid;place-items:center;background:#242a36;border-radius:8px;color:var(--lime)}.leaderboard h2{margin-top:13px}.leaderboard h2 span{color:#8c93a2}.leader-desc{font-size:10px;color:#8b91a0;line-height:1.6;margin:9px 0 20px}.rank-list{min-height:226px}.rank-row{display:grid;grid-template-columns:25px 1fr auto;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid #ffffff0b}.rank-num{font:11px var(--mono);color:#777e8d}.rank-num.first{color:var(--lime)}.rank-name{font-size:11px;font-weight:600}.rank-score{font:10px var(--mono);color:#c6cbd4}.rank-empty{text-align:center;border:1px dashed #303645;border-radius:10px;padding:25px 10px;font-size:10px;line-height:1.8;color:#777e8d}.leader-foot{font-size:8px;margin-top:18px;display:flex;align-items:center;gap:8px}.leader-foot .live-dot{width:5px;height:5px}footer{height:65px;border-top:1px solid #ffffff0d;display:flex;align-items:center;justify-content:space-between;font-size:8px}footer span span{color:var(--lime)}.footer-dot{font-size:6px;margin:0 6px}.overlay{position:fixed;inset:0;background:#090b11dc;backdrop-filter:blur(12px);z-index:10;display:grid;place-items:center;padding:18px;overflow-y:auto}.hidden{display:none!important}.modal{position:relative;width:min(100%,420px);background:#191e2a;border:1px solid #363d4c;border-radius:19px;padding:37px 38px;box-shadow:0 28px 100px #0008}.close{position:absolute;right:20px;top:18px;border:0;background:#262c39;color:#aeb4c0;width:30px;height:30px;border-radius:50%;font-size:19px;cursor:pointer}.modal-kicker{font-size:8px;color:var(--lime)}.modal-icon{margin-top:27px;color:var(--lime);font-size:24px}.modal h2{font-size:30px;line-height:1.13;letter-spacing:-.06em;margin:8px 0 9px}.modal-copy{color:#a2a8b5;font-size:11px;line-height:1.7;margin:0 0 25px}.auth-modal form{display:flex;flex-direction:column}.auth-modal label{font:8px var(--mono);letter-spacing:.13em;color:#9aa1b0;margin:12px 0 7px}.auth-modal input{height:45px;border-radius:8px;border:1px solid #373e4e;background:#11151e;color:var(--text);padding:0 13px;font:12px var(--sans);outline:none}.auth-modal input:focus{border-color:var(--lime)}.auth-modal input::placeholder{color:#646b79}.auth-hint,.error{font-size:9px;color:#8e95a4;line-height:1.6;min-height:14px;margin:10px 0 8px}.error{color:var(--coral)}.primary-btn{border:0;background:var(--lime);color:#171a20;border-radius:8px;min-height:45px;padding:0 15px;font:800 9px var(--mono);letter-spacing:.08em;display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:.2s}.primary-btn:hover{background:#daf89c;transform:translateY(-1px)}.primary-btn span{font-size:15px}.game-modal{width:min(100%,560px);background:#191e2a;border:1px solid #373e4d;border-radius:18px;padding:25px 30px 22px;box-shadow:0 28px 100px #0008}.game-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;position:relative}.game-header h2{font-size:22px;letter-spacing:-.05em;margin:6px 0 0}.game-header h2 span{color:var(--lime);font-size:15px}.game-header .close{position:static}.play-area{display:flex;justify-content:center;align-items:flex-start;gap:21px}.board-wrap{position:relative;border:1px solid #3a4150;border-radius:8px;background:#11151e;overflow:hidden;line-height:0}.board-wrap canvas{width:min(300px,54vw);height:auto;max-height:64vh;object-fit:contain}.game-side{width:115px;display:flex;flex-direction:column;gap:13px}.score-box,.next-box,.level-box{background:#202634;border:1px solid #2d3443;border-radius:8px;padding:11px}.game-side .stat-label{font-size:8px}.score-box strong{display:block;font:18px var(--mono);color:var(--lime);margin-top:7px}.next-box canvas{display:block;width:100%;height:auto;margin-top:5px}.level-box{display:flex;align-items:center;justify-content:space-between}.level-box strong{font:16px var(--mono);color:var(--violet)}.controls-hint{padding:2px 3px}.controls-hint>span{font-size:8px}.controls-hint p{font:9px/1.9 var(--mono);color:#9298a5;margin:7px 0}.start-overlay,.pause-overlay{position:absolute;inset:0;background:#10131de9;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;line-height:normal;text-align:center}.start-symbol{font-size:25px;color:var(--lime);background:#2c3428;width:53px;height:53px;display:grid;place-items:center;border-radius:50%;padding-left:4px}.start-overlay strong,.pause-overlay strong{font:11px var(--mono);letter-spacing:.12em}.start-overlay small{font:8px var(--mono);color:#848b99;letter-spacing:.1em}.start-overlay .primary-btn,.pause-overlay .primary-btn{width:75%;margin-top:6px}.pause-overlay{background:#10131df2}.touch-controls{display:none}.result-modal{text-align:center;padding-top:38px}.result-modal h2{font-size:33px;margin-top:10px}.result-modal h2 span{color:var(--lime)}.result-burst{font-size:25px;color:var(--lime);margin-top:28px}.result-modal .modal-copy{margin-bottom:21px}.result-score{padding:16px;background:#202634;border:1px solid #303747;border-radius:10px;display:flex;flex-direction:column;gap:5px}.result-score strong{font:36px var(--mono);color:var(--lime)}.position-line{display:flex;justify-content:space-between;align-items:center;padding:16px 2px;border-bottom:1px solid #313746}.position-line strong{font:14px var(--mono);color:var(--violet)}.result-ranking{text-align:left;margin:12px 0 20px}.result-ranking .rank-row{padding:8px 2px}.result-modal>.primary-btn{width:100%}.text-btn{margin-top:14px;border:0;background:none;color:#9097a5;font:8px var(--mono);letter-spacing:.1em;cursor:pointer}.text-btn:hover{color:var(--text)}@media(max-width:850px){.shell{padding:0 28px}.hero-grid{grid-template-columns:1fr 270px}.content-grid{gap:30px;grid-template-columns:minmax(0,1fr) 250px}.leaderboard{padding-left:22px}.game-card{grid-template-columns:24px 56px 1fr 73px 15px;gap:11px;padding:17px}.game-icon{width:52px;height:52px}}@media(max-width:650px){.shell{padding:0 19px}.topbar{height:68px}.top-note{display:none}.hero{padding:35px 0 15px}.hero-grid{display:block;min-height:0}.hero h1{font-size:49px;margin:23px 0 12px}.intro{font-size:12px;max-width:360px}.user-pill{margin-top:17px}.hero-art{height:135px;width:220px;margin:-9px 0 0 auto;transform:scale(.72);transform-origin:top right;margin-bottom:-34px}.content-grid{display:flex;flex-direction:column;gap:34px;padding:20px 0 48px}.section-head h2,.leaderboard h2{font-size:21px}.sort-label{font-size:7px}.game-card{min-height:136px;grid-template-columns:19px 48px minmax(0,1fr) 14px;gap:9px;padding:14px}.game-icon{width:46px;height:46px;border-radius:12px}.mini-grid{transform:scale(.85) rotate(-8deg)}.game-info h3{font-size:17px;margin:7px 0 3px}.game-info p{font-size:9px;line-height:1.5}.game-stats{display:none}.play-arrow{grid-column:4;grid-row:1}.card-index{font-size:9px}.coming-card{min-height:86px;padding:14px}.leaderboard{border-left:0;border-top:1px solid #292e3a;padding:22px 0 0}.leader-desc{margin-bottom:13px}.rank-list{min-height:0}.rank-row{padding:9px 0}.leader-foot{margin-top:14px}footer{font-size:7px;height:58px;gap:10px}footer>span:last-child{text-align:right}.modal{padding:32px 25px}.modal h2{font-size:27px}.game-modal{padding:19px 15px 14px}.game-header{margin-bottom:13px}.play-area{gap:10px}.game-side{width:88px;gap:8px}.board-wrap canvas{width:min(280px,calc(100vw - 145px));max-height:57vh}.score-box,.next-box,.level-box{padding:8px}.score-box strong{font-size:15px}.controls-hint p{font-size:8px}.touch-controls{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:13px}.touch-controls button{border:1px solid #353d4d;background:#222938;color:var(--text);border-radius:9px;height:42px;font-size:20px;touch-action:manipulation}.touch-controls button:active{background:#3c4854;color:var(--lime)}.start-overlay .primary-btn,.pause-overlay .primary-btn{width:86%}.start-overlay strong,.pause-overlay strong{font-size:9px}}@media(max-height:700px) and (min-width:651px){.board-wrap canvas{max-height:55vh;width:auto}.game-modal{padding-top:17px}.game-header{margin-bottom:10px}}
.result-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.secondary-btn{min-height:45px;padding:0 12px;background:#252b39;border:1px solid #3c4555;color:#e4e7ed;border-radius:8px;font:800 9px var(--mono);letter-spacing:.07em;cursor:pointer;transition:.2s}.secondary-btn:hover{background:#30394a;border-color:#687454;color:var(--lime)}.result-actions .primary-btn{width:100%}
.brand-logo{width:43px;height:34px;object-fit:contain}.theme-toggle{width:34px;height:34px;border:1px solid var(--line);border-radius:50%;background:#1b202c;color:var(--lime);font-size:18px;cursor:pointer;display:grid;place-items:center;margin-left:auto;margin-right:12px}.full-ranking-btn{width:100%;display:flex;justify-content:space-between;align-items:center;margin-top:13px;padding:11px 12px;border:1px solid #3a4352;border-radius:8px;background:#202633;color:var(--text);font:800 8px var(--mono);letter-spacing:.1em;cursor:pointer}.full-ranking-btn span{color:var(--lime);font-size:14px}.full-ranking-btn:hover{border-color:#7f8b60}.leaderboard{border:1px solid #2d3442;border-radius:14px;padding:22px;background:#171b27;align-self:start}.leaderboard .leader-foot{margin-top:15px}.full-ranking-modal h2{font-size:27px;letter-spacing:-.05em;margin:12px 0 8px}.full-ranking-modal h2 span{color:var(--lime)}.full-ranking-modal .rank-list{max-height:min(55vh,480px);overflow-y:auto}.full-ranking-modal .rank-row{padding:12px 3px}.lines-box strong{color:var(--lime)}.result-actions{margin-top:3px}
body[data-theme="light"]{--bg:#f3f4ef;--text:#1b2230;--muted:#6e7582;--line:#d6d9d2;--lime:#5b821d;--coral:#dc5d4d;--violet:#7962cf;background:var(--bg);color:var(--text)}
body[data-theme="light"] .topbar,body[data-theme="light"] footer{border-color:#dfe1da}
body[data-theme="light"] .brand,body[data-theme="light"] .account,body[data-theme="light"] .game-card,body[data-theme="light"] .coming-card,body[data-theme="light"] .leaderboard,body[data-theme="light"] .modal,body[data-theme="light"] .game-modal{color:var(--text);background:#fff;border-color:#dce0d8;box-shadow:0 14px 38px #28331a0a}
body[data-theme="light"] .theme-toggle,body[data-theme="light"] .user-pill,body[data-theme="light"] .game-icon,body[data-theme="light"] .coming-plus,body[data-theme="light"] .leader-icon,body[data-theme="light"] .full-ranking-btn,body[data-theme="light"] .score-box,body[data-theme="light"] .next-box,body[data-theme="light"] .level-box,body[data-theme="light"] .result-score{background:#f0f2eb;border-color:#dce0d8;color:var(--text)}
body[data-theme="light"] .intro,body[data-theme="light"] .game-info p,body[data-theme="light"] .coming-card p,body[data-theme="light"] .leader-desc,body[data-theme="light"] .modal-copy,body[data-theme="light"] .rank-name,body[data-theme="light"] .controls-hint p{color:#626a78}
body[data-theme="light"] .rank-row{border-color:#e8eae4}body[data-theme="light"] .rank-score{color:#424958}body[data-theme="light"] .game-stats{border-color:#e1e4dc}
body[data-theme="light"] .auth-modal input{background:#f8f9f5;color:#1b2230;border-color:#d6d9d2}body[data-theme="light"] .auth-modal input::placeholder{color:#9298a1}body[data-theme="light"] .close{background:#eef0e9;color:#424958}
body[data-theme="light"] .game-header h2,body[data-theme="light"] .modal h2,body[data-theme="light"] .section-head h2,body[data-theme="light"] .leaderboard h2,body[data-theme="light"] .game-info h3{color:#1b2230}
body[data-theme="light"] .secondary-btn{background:#f0f2eb;border-color:#d6d9d2;color:#28303e}body[data-theme="light"] .rank-empty{border-color:#d5d9d1;color:#6e7582}body[data-theme="light"] .tag{border-color:#dce0d8;color:#677080}
body[data-theme="light"] .board-wrap{border-color:#d6d9d2}body[data-theme="light"] .touch-controls button{background:#f0f2eb;border-color:#d6d9d2;color:#293140}
@media(max-width:650px){.leaderboard{border:1px solid #2d3442;padding:19px;background:#171b27}body[data-theme="light"] .leaderboard{border-color:#dce0d8;background:#fff}.theme-toggle{margin-right:8px;width:32px;height:32px}.brand-logo{width:38px;height:31px}}
