@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap";:root{font-family:Manrope,system-ui,sans-serif;color:#f6f4ef;background:#10131b;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--bg:#10131b;--panel:#181d28;--muted:#a4a9b5;--line:#2b303d;--accent:#f4bd61}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:var(--bg)}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}.shell{max-width:1440px;margin:auto;padding:0 6.2%}.topbar{height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:10px;font-size:17px;font-weight:800;letter-spacing:.12em}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--accent);color:#171923;font-size:19px;letter-spacing:0}.gold-text{color:var(--accent)}nav{display:flex;align-items:center;gap:27px;color:#c4c7ce;font-size:12px}.status-pill{font:9px DM Mono,monospace;color:#b9c0ca;border:1px solid #3c424e;padding:8px 10px;border-radius:20px;display:flex;align-items:center;gap:7px}.status-pill i{width:6px;height:6px;border-radius:50%;background:#79d6a3}.hero{display:grid;grid-template-columns:1fr 1fr;gap:35px;min-height:540px;align-items:center;padding:55px 0 70px}.hero-copy{max-width:540px}.eyebrow{font:500 10px DM Mono,monospace;letter-spacing:.16em;color:var(--accent)}.hero h1{font-size:clamp(48px,6.4vw,83px);line-height:1.02;letter-spacing:-.065em;margin:25px 0 22px;font-weight:800}.hero h1 em,.section-heading h2 em,.roadmap h2 em{font-style:normal;color:var(--accent)}.hero-copy>p{max-width:420px;color:var(--muted);font-size:14px;line-height:1.9}.primary-button{margin-top:22px;display:inline-flex;align-items:center;gap:30px;padding:15px 19px;border-radius:7px;background:var(--accent);color:#151720;font-size:12px;font-weight:800}.primary-button span{font-size:17px}.stats{display:flex;gap:38px;margin-top:44px;padding-top:23px;border-top:1px solid var(--line);max-width:460px}.stats div{display:flex;flex-direction:column;gap:6px}.stats strong{font-size:20px}.stats small{font:10px DM Mono,monospace;color:var(--muted)}.hero-art{position:relative;min-height:405px;display:grid;place-items:center;overflow:hidden}.orbit{position:absolute;border:1px solid #555a6633;border-radius:50%;width:420px;aspect-ratio:1}.hero-board{display:grid;grid-template-columns:repeat(8,1fr);width:min(100%,365px);aspect-ratio:1;transform:rotate(-7deg);border:9px solid #242a37;border-radius:9px;box-shadow:0 25px 90px #0008;z-index:2}.hero-board span{display:grid;place-items:center;font-size:clamp(17px,2.5vw,29px)}.dark-square{background:#4b5665;color:#e7e8eb}.light-square{background:#d5c6a8;color:#272d39}.floating-piece{position:absolute;z-index:3;display:grid;place-items:center;border:1px solid #535a6a;background:#1b202b;border-radius:18px;box-shadow:0 16px 35px #0006}.knight{font-size:45px;width:85px;height:85px;right:2%;top:14%;color:var(--accent);transform:rotate(9deg)}.star{font-size:32px;width:65px;height:65px;left:1%;bottom:17%;color:#8bd6b0}.art-caption{position:absolute;bottom:1%;right:8%;font:10px DM Mono,monospace;letter-spacing:.14em;color:#a4a9b5}.games-section{padding:54px 0 72px;border-top:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:27px}.section-heading h2,.roadmap h2{font-size:clamp(28px,4vw,43px);letter-spacing:-.05em;margin:13px 0 0}.section-count{font:11px DM Mono,monospace;color:#747b8a;padding-bottom:8px}.game-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.game-card{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--panel);transition:transform .2s,border-color .2s}.game-card:hover,.game-card.selected{transform:translateY(-4px);border-color:var(--accent)}.card-top{padding:16px 16px 0;display:flex;align-items:center;justify-content:space-between}.game-index{font:10px DM Mono,monospace;color:#828897}.player-count{font-size:10px;color:#b4bac5;border:1px solid #3b414e;border-radius:20px;padding:5px 8px}.game-art{height:160px;display:grid;place-items:center;margin:4px 12px 0;border-bottom:1px solid var(--line)}.mini-board{display:grid;grid-template-columns:repeat(8,1fr);width:136px;aspect-ratio:1;border:5px solid #343a47;border-radius:4px;overflow:hidden;box-shadow:0 12px 30px #0004}.mini-board span{display:grid;place-items:center;font-size:14px}.mini-board .dark-square{background:#596574}.mini-board .light-square{background:#d5c6a8}.mini-cards{display:flex;align-items:center;justify-content:center}.playing-card{width:69px;height:100px;border-radius:7px;border:3px solid #f5efe2;background:#e8e3d8;box-shadow:0 7px 18px #0004;display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:29px;position:relative}.playing-card+.playing-card{margin-left:-21px;transform:rotate(7deg)}.playing-card small{font:8px DM Mono,monospace;margin-top:7px}.playing-card.red{color:#c74f4d;transform:rotate(-9deg)}.playing-card.dark{color:#273144}.playing-card.gold{color:#b57a25;transform:rotate(13deg)}.ludo-preview{width:136px;height:136px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;border:5px solid #e2d9c6;border-radius:4px;position:relative;overflow:hidden}.ludo-preview span{margin:7px;border-radius:4px}.ludo-preview span:nth-child(1){background:#d85850}.ludo-preview span:nth-child(2){background:#4f91d9}.ludo-preview span:nth-child(3){background:#e7bd54}.ludo-preview span:nth-child(4){background:#56ad81}.ludo-preview b{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:40px;height:40px;border:4px solid #e2d9c6;border-radius:50%;background:#202633;display:grid;place-items:center;color:var(--accent)}.card-content{padding:18px 17px 17px}.game-local{font-size:10px;color:#9da4b1;margin-bottom:7px}.card-content h3{font-size:19px;margin:0;letter-spacing:-.04em}.card-content p{font-size:11px;line-height:1.7;color:var(--muted);min-height:57px;margin:10px 0 17px}.play-button{width:100%;display:flex;justify-content:space-between;align-items:center;border:1px solid #414756;background:#222835;border-radius:6px;color:#fff;padding:11px 12px;font-size:11px}.play-button:hover{background:#303847}.play-button span{color:var(--accent);font-size:16px}.game-detail{display:flex;justify-content:space-between;align-items:center;gap:24px;border:1px solid #4c4c42;background:#1c2028;border-radius:10px;padding:24px;margin-top:20px}.game-detail h3{font-size:24px;margin:10px 0}.game-detail p{font-size:12px;line-height:1.7;color:var(--muted);max-width:660px}.detail-note{border-left:2px solid var(--accent);padding-left:12px}.secondary-button{border:1px solid #464b59;border-radius:7px;background:transparent;color:#fff;padding:11px 17px;font-size:12px;white-space:nowrap}.roadmap{border-top:1px solid var(--line);padding:62px 0 72px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:38px}.steps>div{border-top:1px solid #424754;padding-top:18px}.steps span{font:11px DM Mono,monospace;color:var(--accent)}.steps h3{font-size:15px;margin:14px 0 8px}.steps p{font-size:12px;color:var(--muted);line-height:1.8;max-width:270px}footer{min-height:86px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px;color:#858c9a;font-size:10px}footer .brand{font-size:13px;color:#f6f4ef}footer .brand-mark{width:27px;height:27px;font-size:15px}@media (max-width:1000px){.shell{padding:0 4%}.game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{gap:20px}.hero-art{min-height:340px}.game-art{height:170px}}@media (max-width:650px){.topbar{height:72px}nav{gap:12px}nav>a{display:none}.hero{grid-template-columns:1fr;padding:40px 0 35px}.hero-art{min-height:290px;grid-row:1}.hero-copy{grid-row:2}.hero h1{font-size:58px}.stats{gap:23px}.game-grid{gap:10px}.card-content{padding:14px 12px}.game-art{height:130px;margin:0 6px}.mini-board{width:112px}.ludo-preview{width:108px;height:108px}.playing-card{width:58px;height:83px}.card-content h3{font-size:17px}.card-content p{font-size:10px;min-height:72px}.game-detail{align-items:flex-start;flex-direction:column}.steps{grid-template-columns:1fr;gap:18px}footer{flex-wrap:wrap;padding:20px 0}footer>span:nth-child(2){display:none}}.play-surface{margin-top:22px;padding:24px;border:1px solid var(--line);border-radius:13px;background:#151a24}.play-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.play-head h2{font-size:clamp(25px,3vw,38px);margin:12px 0 8px;letter-spacing:-.05em}.play-head h2 em{font-style:normal;color:var(--accent)}.play-head p{font-size:12px;line-height:1.7;color:var(--muted);max-width:680px}.checkers-layout{display:grid;grid-template-columns:minmax(280px,1fr) minmax(220px,300px);gap:24px;align-items:start;margin-top:22px}.board-frame{width:100%;max-width:620px;margin:auto;padding:9px;background:#252c39;border:1px solid #424a59;border-radius:8px;box-shadow:0 18px 50px #0005}.checkers-board{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));aspect-ratio:1}.square{position:relative;display:grid;place-items:center;min-width:0;min-height:0;border:0;padding:0}.square.dark-square{background:#4a5667}.square.light-square{background:#d6c7aa}.square.chosen{box-shadow:inset 0 0 0 4px #f5c75e;z-index:1}.square.target{cursor:pointer}.square.last-move{background-color:#728d65}.draught-piece{display:grid;place-items:center;width:76%;height:76%;border-radius:50%;box-shadow:inset 0 3px #ffffff35,inset 0 -5px #0005,0 3px 4px #0005;border:2px solid #ffffff30;font-size:clamp(12px,2vw,27px);font-weight:800}.draught-piece.red{background:radial-gradient(circle at 35% 25%,#ff8b7e,#c33f45 70%);color:#fff1dc}.draught-piece.black{background:radial-gradient(circle at 35% 25%,#69788d,#222a38 70%);color:#f6f4ef}.draught-piece.king{border:3px solid #f4bd61}.target-dot{position:absolute;width:22%;height:22%;border-radius:50%;background:#a9e6a4d9;box-shadow:0 0 0 2px #17251b88}.game-sidebar{display:flex;flex-direction:column;gap:13px}.turn-card{display:flex;align-items:center;gap:12px;padding:15px;border:1px solid var(--line);border-radius:8px;background:#1d2330}.turn-card>div{display:flex;flex-direction:column;gap:5px}.turn-card small{font:9px DM Mono,monospace;color:var(--muted);letter-spacing:.1em}.turn-card strong{font-size:13px}.turn-dot{width:17px;height:17px;border-radius:50%;border:2px solid #ffffff70}.turn-dot.red,.score-piece.red-piece{background:#d84e52}.turn-dot.black,.score-piece.black-piece{background:#30394a}.score-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.score-row>div{display:flex;align-items:center;gap:7px;border:1px solid var(--line);padding:10px;border-radius:7px;color:var(--muted);font-size:11px}.score-row strong{margin-left:auto;color:#fff}.score-piece{display:inline-block;width:12px;height:12px;border-radius:50%}.rules-card{padding:15px;border:1px solid var(--line);border-radius:8px}.rules-card ul{padding-left:17px;color:#c0c5ce;font-size:11px;line-height:1.9}.rule-warning,.capture-hint{font-size:10px;line-height:1.7;color:#e5c37d}.reset-button{width:100%;justify-content:center;border:0}.capture-hint{margin:0}@media (max-width:780px){.checkers-layout{grid-template-columns:1fr}.board-frame{max-width:520px}.game-sidebar{display:grid;grid-template-columns:1fr 1fr}.turn-card,.rules-card,.reset-button,.capture-hint{grid-column:1/-1}.play-surface{padding:14px}}@media (max-width:450px){.game-sidebar{display:flex}.play-head{flex-direction:column}.play-head .secondary-button{align-self:flex-start}}.online-surface{scroll-margin-top:24px}.online-alert{padding:12px 14px;border-radius:7px;margin:16px 0;font-size:12px;line-height:1.6}.error-alert{border:1px solid #a94b55;background:#3a2029;color:#ffd5d8}.notice-alert{border:1px solid #426b56;background:#1c3029;color:#c4f4d7}.online-auth{max-width:520px;margin:24px auto 4px;padding:24px;border:1px solid var(--line);border-radius:10px;background:#1a202b;display:flex;flex-direction:column;gap:14px}.online-panel-heading h3,.room-entry-card h3{font-size:22px;letter-spacing:-.04em;margin:10px 0 8px}.online-panel-heading p,.room-entry-card p,.ready-panel p{font-size:12px;line-height:1.75;color:var(--muted)}.online-auth label,.room-entry-card label{display:flex;flex-direction:column;gap:7px;color:#c8ccd4;font-size:11px}.online-auth input,.room-entry-card input{width:100%;padding:12px;border:1px solid #424958;border-radius:6px;background:#10151e;color:#f6f4ef;font:13px Manrope,system-ui,sans-serif;outline:none}.online-auth input:focus,.room-entry-card input:focus{border-color:var(--accent)}.online-auth .primary-button{justify-content:center;width:100%;border:0;margin-top:3px}.text-button{border:0;background:transparent;color:var(--accent);font-size:11px;padding:8px}.online-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:20px 0;padding:14px 16px;border:1px solid var(--line);border-radius:8px;background:#1b202b}.online-toolbar>div{display:flex;flex-direction:column;gap:5px}.online-toolbar strong{font-size:13px}.online-toolbar small{font-size:10px;color:var(--muted)}.room-entry{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:20px}.room-entry-card{padding:22px;border:1px solid var(--line);border-radius:9px;background:#1b202b}.room-entry-card .primary-button{margin-top:10px}.room-entry-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.online-room-bar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:20px 0 14px;padding:15px 17px;border:1px solid #454b59;border-radius:8px;background:#1b202b}.online-room-bar>div:first-child{display:flex;flex-direction:column;gap:5px}.online-room-bar small,.online-room-bar span{font:9px DM Mono,monospace;color:var(--muted);letter-spacing:.06em}.online-room-bar strong{font:800 21px DM Mono,monospace;color:var(--accent);letter-spacing:.12em}.room-bar-actions{display:flex;flex-wrap:wrap;gap:7px}.online-player-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}.online-player{display:flex;align-items:center;gap:10px;min-width:0;padding:13px;border:1px solid var(--line);border-radius:8px;background:#1b202b}.online-player>div{display:flex;flex-direction:column;gap:5px;min-width:0}.online-player small{font:9px DM Mono,monospace;color:var(--muted)}.online-player strong{font-size:12px;overflow-wrap:anywhere}.ready-state{margin-left:auto;font:8px DM Mono,monospace;color:#b7bdc8;white-space:nowrap}.ready-state.ready{color:#9fe1b9}.ready-panel{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px;margin-top:16px;border:1px solid var(--line);border-radius:8px;background:#1b202b}.ready-panel h3,.ready-panel p{margin:0}.ready-panel .primary-button{margin:0;white-space:nowrap}.online-board-layout{margin-top:20px}.online-board-layout .square:disabled{cursor:default}.online-board-layout .square.target:disabled{cursor:default}@media (max-width:760px){.room-entry{grid-template-columns:1fr}.online-room-bar{align-items:flex-start;flex-direction:column}.room-bar-actions{width:100%}.online-player-list{grid-template-columns:1fr}.ready-panel{align-items:flex-start;flex-direction:column}.ready-panel .primary-button{width:100%;justify-content:center}}.chess-board{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));width:min(100%,560px);aspect-ratio:1;border:1px solid var(--line);border-radius:10px;overflow:hidden;margin:18px auto;background:#171b24}.chess-square{display:grid;place-items:center;aspect-ratio:1;border:0;padding:0;font-size:clamp(19px,4.2vw,40px);line-height:1}.chess-square.light-square{background:#e4d9c6;color:#20242d}.chess-square.dark-square{background:#667d72;color:#fff}.chess-square.selected-square{outline:3px solid var(--accent);outline-offset:-4px;position:relative;z-index:1}.chess-square:disabled{cursor:default;opacity:1}.other-game-board{margin-top:18px;padding:clamp(14px,3vw,24px);border:1px solid var(--line);border-radius:16px;background:#141923}.board-status{color:#f4bd61;font-weight:700;text-align:center;margin:8px 0 18px}.ludo-token-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ludo-token-group{border:1px solid var(--line);border-radius:12px;padding:14px}.ludo-token-group h4{margin:0 0 12px;font-size:13px}.ludo-token-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ludo-token{display:flex;flex-direction:column;gap:5px;border-radius:9px;padding:10px;background:#262b36;font-size:12px}.ludo-token small{color:var(--muted);font-size:10px}.token-1{border-left:3px solid #ed7972}.token-2{border-left:3px solid #6aa8ed}.ludo-move-options,.shape-picker{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;margin:16px 0}.ludo-move-options p,.shape-picker p{width:100%;text-align:center;color:var(--muted)}.whot-top-card{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;width:min(100%,320px);margin:12px auto 24px;padding:22px;border:2px solid var(--accent);border-radius:16px;background:#f5eee1;color:#171923}.whot-top-card span{font-size:42px}.whot-top-card strong{font-size:30px}.whot-top-card small{width:100%;text-align:center;font-size:11px}.whot-hand{display:flex;align-items:stretch;justify-content:center;flex-wrap:wrap;gap:8px;margin:16px 0}.whot-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:78px;min-height:112px;border:2px solid #ded7ca;border-radius:11px;background:#f8f2e8;color:#1a2028;box-shadow:0 3px 8px #0002}.whot-card span{font-size:27px}.whot-card strong{font-size:22px}.whot-card small{font-size:10px;text-transform:uppercase}.whot-card.triangle{border-color:#d1a044}.whot-card.cross{border-color:#769b8d}.whot-card.square{border-color:#8ca5d5}.whot-card.star{border-color:#d8a1ad}.whot-card.whot{border-color:#bba0e2}.whot-card:disabled{opacity:.42;cursor:not-allowed}@media (max-width:600px){.ludo-token-groups{grid-template-columns:1fr}.whot-card{width:65px;min-height:100px}.chess-board{border-radius:6px}}.google-auth-wrap{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;margin-top:2px}.auth-divider{display:flex;align-items:center;gap:12px;width:100%;color:#8e96a5;font:10px DM Mono,monospace;letter-spacing:.12em}.auth-divider:before,.auth-divider:after{content:"";height:1px;flex:1;background:#3b4250}.google-auth-button{display:flex;justify-content:center;min-height:42px;width:100%;overflow:hidden}.google-auth-button iframe{max-width:100%}.google-auth-button.is-disabled{opacity:.5;pointer-events:none}.google-auth-busy,.google-auth-loading,.google-auth-note{font-size:11px;line-height:1.6;color:var(--muted);text-align:center}.google-auth-note{margin:6px 0 0;padding:10px;border:1px solid #424958;border-radius:6px;background:#10151e}
