@import"https://fonts.googleapis.com/css2?family=Roboto+Mono:wght@400;500;600&family=Roboto+Slab:wght@500;600;700&family=Rubik:wght@400;500;600;700&display=swap";:root{font-family:DM Sans,sans-serif;color:#19302e;background:#f8f6f0;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:#f8f6f0}.app-shell{min-height:100vh;overflow:hidden}.topbar{height:78px;padding:0 max(5.5vw,28px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e5e2d9;background:#fbfaf6;position:relative;z-index:5}.brand{border:0;background:transparent;display:flex;align-items:center;gap:10px;color:#18312e;font-family:Fraunces;font-size:23px;font-weight:700;cursor:pointer}.brand em{font-style:normal;color:#ee7d45}.brand-mark{background:#ef7d46;width:31px;height:31px;display:grid;grid-template-columns:1fr 1fr;gap:3px;padding:5px;border-radius:10px;transform:rotate(-9deg)}.brand-mark span{background:#fff5dd;border-radius:50%}.nav{display:flex;gap:8px;position:absolute;left:50%;transform:translate(-50%)}button{font:inherit;cursor:pointer}.nav button{border:0;background:none;color:#63706c;padding:10px 16px;font-size:14px;font-weight:600}.nav button.active{color:#18312e;background:#edf0e8;border-radius:9px}.header-actions{display:flex;align-items:center;gap:13px}.icon-button,.mobile-menu{border:0;background:#f0eee7;width:38px;height:38px;border-radius:10px;color:#42514d;position:relative;display:grid;place-items:center}.icon-button i{position:absolute;width:7px;height:7px;border-radius:50%;background:#e86f40;right:9px;top:8px;border:1px solid #f0eee7}.profile{border:0;background:none;display:flex;align-items:center;gap:8px;color:#263b38;font-size:13px}.profile span,.avatar{height:31px;width:31px;border-radius:50%;display:grid;place-items:center;background:#ccdbc8;color:#356257;font:500 10px DM Mono}.mobile-menu{display:none}main{max-width:1220px;margin:0 auto;padding:0 42px}.welcome{min-height:445px;display:grid;grid-template-columns:1.03fr .97fr;align-items:center}.eyebrow{font:500 11px DM Mono;letter-spacing:1.3px;color:#89928a;margin:0 0 13px}h1{font:700 clamp(40px,5vw,64px)/1.04 Fraunces;margin:0;letter-spacing:-2px;color:#18312e}h1 i{color:#e97542;font-weight:600}.intro{color:#68736e;max-width:420px;line-height:1.6;font-size:16px;margin:20px 0 27px}.hero-actions{display:flex;gap:13px}.primary{border:0;color:#fff;background:#e97744;border-radius:10px;padding:13px 18px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:14px;box-shadow:0 6px 15px #dc764334}.quiet{border:1px solid #dcded5;background:#fffdfa;color:#32524c;border-radius:10px;padding:12px 16px;display:flex;gap:7px;align-items:center;font-weight:600}.hero-art{height:360px;position:relative;display:grid;place-items:center}.sun{width:280px;height:280px;border-radius:50%;background:#f6e4b9}.board-mini{height:215px;width:305px;border:10px solid #183b37;border-radius:12px;background:#f4d99f;position:absolute;display:flex;justify-content:space-around;overflow:hidden;box-shadow:0 18px 30px #38443833}.board-mini span{width:0;height:0;border-left:18px solid transparent;border-right:18px solid transparent;border-top:150px solid #d56c3d}.board-mini span:nth-of-type(2n){border-top-color:#eebf65}.mini-dice{position:absolute;z-index:1;top:73px;left:128px;width:49px;height:49px;border-radius:10px;background:#fff8e7;color:#244944;display:grid;place-items:center;font-size:34px;transform:rotate(-10deg);box-shadow:0 4px 8px #593a2933}.floating-tag{position:absolute;right:-9px;bottom:18px;background:#fffdf9;display:flex;align-items:center;gap:9px;padding:10px;border-radius:12px;box-shadow:0 9px 24px #26342a1c;font-size:12px}.floating-tag b,.floating-tag small{display:block}.floating-tag small{color:#78837c;font-size:10px;margin-top:2px}.avatar.teal{background:#92d9c9;color:#176152}.floating-tag button{border:0;background:#dbeee4;color:#246657;padding:7px 9px;border-radius:7px;font-size:11px;font-weight:700}.content-grid{display:grid;grid-template-columns:1.63fr 1fr;gap:29px;padding-bottom:55px}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.section-title .eyebrow{margin-bottom:5px}h2{font:700 25px/1.1 Fraunces;margin:0}.text-button{border:0;background:none;color:#347466;display:flex;align-items:center;gap:3px;font-size:13px;font-weight:700}.game-list{display:grid;gap:11px}.match-card{background:#fffdfa;border:1px solid #e8e5dc;border-radius:13px;min-height:82px;padding:13px 15px;display:flex;align-items:center;gap:12px}.game-icon{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;background:var(--accent,#f6e8d9);color:#c7663c}.game-icon.orange{background:#fff0df;color:#d76b3c}.game-icon.mint{background:#dff2eb;color:#318a76}.match-info{flex:1}.match-info h3{font-size:14px;margin:4px 0 2px}.match-info p,.rank-row p{font-size:12px;color:#7d8780;margin:0}.pill{font:500 9px DM Mono;letter-spacing:.8px;color:#999a91}.pill.live{color:#d66d41}.timer{text-align:right;margin-right:5px}.timer b,.timer small{display:block}.timer b{font:500 14px DM Mono}.timer small{font-size:10px;color:#89928a;margin-top:2px}.resume{background:#e97b46;color:#fff;border:0;border-radius:8px;padding:9px 13px;font-size:12px;font-weight:700}.more{border:0;background:none;color:#a2a79f;font-weight:700}.side-card{border-radius:14px;padding:22px;background:#223f3a;color:#fdfbf4;position:relative;overflow:hidden}.side-card:after{content:"♢";position:absolute;right:-20px;bottom:-73px;font:220px Fraunces;color:#315851}.side-card .eyebrow,.side-card .rank-row p,.side-card .next{color:#a9c0b8}.rank-row{display:flex;align-items:center;gap:10px;margin:20px 0 16px}.rank-row b{font:600 16px Fraunces}.rank-emblem{width:41px;height:41px;border:1px solid #d89b58;border-radius:50%;display:grid;place-items:center;color:#f0b76c}.up{margin-left:auto;color:#90d2aa;font:12px DM Mono}.progress{height:6px;background:#3d605a;border-radius:9px}.progress span{display:block;height:100%;background:#f2b567;border-radius:9px}.next{font-size:11px;margin:9px 0 20px}.side-card .text-button{color:#ebbb7a;position:relative;z-index:1}.full{width:100%;justify-content:flex-end;border-top:1px solid #426158;padding-top:13px}.page{padding:70px 0 80px;min-height:calc(100vh - 78px)}.page>.intro{margin-top:14px}.game-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:36px 0 25px}.game-picker button{background:#fffdfa;border:1px solid #e6e3da;text-align:left;border-radius:15px;padding:22px;color:#243936;transition:.2s}.game-picker button:hover,.game-picker button.selected{border-color:var(--accent);box-shadow:0 9px 20px #31433d14;transform:translateY(-2px)}.game-picker .game-icon{background:color-mix(in srgb,var(--accent) 18%,white);color:var(--accent);margin-bottom:22px}.game-picker b,.game-picker span,.game-picker small{display:block}.game-picker b{font:700 23px Fraunces}.game-picker span{font:12px DM Mono;color:#d07651;margin:4px 0 12px}.game-picker small{color:#78817b;font-size:13px}.match-options{display:grid;grid-template-columns:1fr 1fr;gap:15px}.quick-match,.invite-match{border-radius:13px;padding:18px;display:flex;align-items:center;gap:13px;text-align:left}.quick-match{border:0;background:#244944;color:#fff}.quick-match>svg:last-child{margin-left:auto}.match-options span b,.match-options span small{display:block}.match-options span b{font-size:15px}.match-options span small{font-size:12px;margin-top:3px;opacity:.7}.invite-match{border:1px solid #dedfd7;background:#fffdfa;color:#38524d}.invite-match>svg{color:#e57543}.spinner{margin-left:auto!important;width:18px;height:18px;border:2px solid #b8d4cb;border-right-color:transparent;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.leader-head{display:flex;justify-content:space-between;align-items:center}.select{border:1px solid #deded6;border-radius:8px;background:#fffdfa;padding:9px 13px;display:flex;align-items:center;gap:8px;font-size:13px}.podium{height:230px;display:flex;align-items:end;justify-content:center;gap:18px;margin:23px 0}.podium-player{width:160px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:5px}.podium-player .avatar{height:49px;width:49px;background:#e7d7a9;font-size:13px}.podium-player b{font-size:14px}.podium-player small{color:#7a827d;font-size:11px}.podium-player div{height:55px;width:100%;background:#e9d8ad;margin-top:7px;display:grid;place-items:center;color:#7b5c2a;font:700 19px Fraunces;border-radius:8px 8px 0 0}.podium-player.p0{order:2}.podium-player.p1{order:1}.podium-player.p2{order:3}.podium-player.p0 div{height:92px;background:#e9834b;color:#fff}.rank-table{max-width:700px;margin:auto;background:#fffdfa;border:1px solid #e6e3dc;border-radius:13px;overflow:hidden}.rank-table>div{display:flex;align-items:center;gap:13px;padding:13px 18px;border-bottom:1px solid #eeeae1;font-size:13px}.rank-table>div:last-child{border:0}.rank-table strong{width:19px;color:#8c948d}.avatar.small{height:28px;width:28px}.rank-table .rank-name{color:#7a837d;margin-left:auto}.rank-table em{font:500 12px DM Mono;font-style:normal;width:52px;text-align:right}.rank-table .me{background:#e4f2e9;color:#185d50}.friend-tools{display:flex;gap:12px;justify-content:space-between;margin:31px 0 19px}.search{width:330px;background:#fffdfa;border:1px solid #e2e1d9;border-radius:9px;display:flex;align-items:center;padding:0 12px;color:#879089}.search input{border:0;background:transparent;outline:0;padding:11px 9px;width:100%;font:13px DM Sans}.friends-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.friend{background:#fffdfa;border:1px solid #e6e3da;border-radius:12px;padding:15px;display:flex;align-items:center;gap:11px}.friend .avatar{height:43px;width:43px;position:relative}.friend .avatar.online:after{content:"";position:absolute;right:0;bottom:0;background:#54ae7d;width:10px;height:10px;border-radius:50%;border:2px solid white}.friend div{flex:1}.friend b,.friend small{display:block}.friend b{font-size:14px}.friend small{font-size:11px;color:#818980;margin-top:3px}.friend button{border:0;border-radius:7px;background:#e2f1e8;color:#347362;padding:7px 10px;font-size:12px;font-weight:700}.modal-backdrop{position:fixed;z-index:10;top:0;right:0;bottom:0;left:0;background:#16302ab8;display:grid;place-items:center;padding:20px}.match-modal{position:relative;width:min(420px,100%);background:#fdfbf5;border-radius:18px;padding:37px;text-align:center;box-shadow:0 22px 70px #061c18aa}.modal-close{position:absolute;right:13px;top:13px;background:#f0eee7;border:0;border-radius:7px;width:30px;height:30px;color:#53615d}.modal-symbol{width:60px;height:60px;border-radius:16px;background:#e4f1e8;color:#28705f;display:grid;place-items:center;margin:0 auto 18px}.match-modal h2{font-size:31px}.match-modal p:not(.eyebrow){color:#75807b;font-size:14px;line-height:1.5}.game-tabs{display:flex;margin:23px 0 17px;background:#eeece5;padding:4px;border-radius:9px}.game-tabs button{border:0;background:transparent;border-radius:6px;padding:9px 5px;flex:1;font-size:12px;color:#68736e}.game-tabs .chosen{background:#fffdfa;color:#1e4b43;box-shadow:0 1px 3px #0001;font-weight:700}.wide{width:100%}.fair{display:flex;justify-content:center;align-items:center;gap:5px;color:#779087;margin-top:15px;font-size:11px}.toast{position:fixed;z-index:20;bottom:25px;left:50%;transform:translate(-50%);background:#213f3a;color:#fff;padding:13px 18px;border-radius:9px;box-shadow:0 8px 22px #0003;font-size:13px}@media (max-width:720px){.topbar{height:66px;padding:0 18px}.profile b,.icon-button{display:none}.mobile-menu{display:grid}.nav{display:none}.nav.open{display:flex;transform:none;left:12px;right:12px;top:61px;background:#fffdfa;border:1px solid #e7e4db;border-radius:12px;padding:8px;box-shadow:0 12px 30px #192c2622;flex-direction:column}.nav.open button{text-align:left}.welcome{display:block;padding:55px 0 24px}.hero-art{height:270px;margin-top:7px}.sun{width:210px;height:210px}.board-mini{transform:scale(.8)}.floating-tag{right:0;bottom:4px}.content-grid{display:block;padding-bottom:35px}.side-card{margin-top:24px}.match-card{padding:11px}.timer{display:none}.page{padding:48px 0}main{padding:0 20px}.game-picker,.match-options,.friends-grid{grid-template-columns:1fr}.game-picker{margin-top:26px}.game-picker button{display:grid;grid-template-columns:60px 1fr;column-gap:12px;padding:15px}.game-picker .game-icon{grid-row:span 3;margin:0}.game-picker span{margin:2px 0}.game-picker small{grid-column:2}.friend-tools{align-items:stretch;flex-direction:column}.search{width:100%}.podium{gap:5px}.podium-player{width:31%}.podium-player div{font-size:16px}.leader-head{align-items:flex-end}.rank-table>div{padding:12px}.rank-table .rank-name{display:none}.modal-backdrop{align-items:end;padding:0}.match-modal{border-radius:18px 18px 0 0;padding:32px 24px}.intro{font-size:15px}.hero-actions{flex-wrap:wrap}}.logout-button{border:0;background:transparent;color:#56706a;display:flex;align-items:center;gap:5px;font:600 12px inherit;cursor:pointer;padding:8px}.logout-button:hover{color:#a14c3d}.settings-card{max-width:620px;margin-top:18px;padding:22px;display:flex;gap:15px;background:#fffdfa;border:1px solid #e6e1d6;border-radius:14px}.settings-card>svg{color:#27806c;flex:0 0 auto}.settings-card h2{margin:0 0 5px}.settings-card p{margin:0 0 13px;color:#6d7b76;font-size:14px}.settings-card input{display:block;width:min(340px,100%);box-sizing:border-box;padding:10px 12px;border:1px solid #d9ddd6;border-radius:8px;margin-bottom:10px;font:inherit}.settings-card.danger{border-color:#efc2b9}.settings-card.danger>svg{color:#b34f3c}.game-picker button.locked{opacity:.64;cursor:not-allowed;filter:saturate(.55)}.game-picker button.locked:hover{border-color:#e6e3da;box-shadow:none;transform:none}.game-picker button.locked i{display:inline-flex;width:max-content;margin-top:13px;padding:4px 7px;border-radius:99px;background:#ece9e1;color:#6e776f;font:600 10px DM Mono;font-style:normal}.history-card{max-width:620px;background:#fffdfa;border:1px solid #e8e4da;border-radius:14px;padding:21px;display:flex;align-items:center;gap:15px}.history-card.won{border-color:#b9dfc9}.history-card.lost{border-color:#edcbc3}.history-icon{width:48px;height:48px;border-radius:13px;display:grid;place-items:center;background:#e4f2e9;color:#28705f}.history-card.lost .history-icon{background:#fae7e1;color:#b45640}.history-card span,.history-card p{display:block;color:#74807a;font-size:12px;margin:4px 0}.history-card b{margin-left:auto;font:700 12px DM Mono;color:#28705f}.history-card.lost b{color:#b45640}.practice-match{border:1px solid #b9ddd2;background:#eff8f3;color:#24564d;border-radius:13px;padding:18px;display:flex;align-items:center;gap:13px;text-align:left}.practice-match>svg:first-child{color:#27806c}.practice-match>svg:last-child{margin-left:auto}.table-page{padding:36px 0 55px}.table-top{display:flex;align-items:center;gap:18px;margin-bottom:21px}.table-top .eyebrow{margin-bottom:3px}.back-button,.reset-button{border:1px solid #dedfd7;background:#fffdfa;color:#395650;padding:9px 11px;border-radius:8px;font-size:12px;font-weight:700;display:flex;align-items:center;gap:4px}.reset-button{margin-left:auto}.game-status{display:grid;grid-template-columns:1fr 1.2fr 1fr;align-items:center;margin-bottom:14px}.opponent{display:flex;align-items:center;gap:9px}.opponent.mine{justify-content:flex-end;text-align:right}.opponent strong{font:500 12px DM Mono;color:#75817d;margin-left:auto}.opponent.mine strong{margin-left:0;margin-right:auto}.opponent b,.opponent small{display:block}.opponent b{font-size:13px}.opponent small{font-size:10px;color:#7e8982;margin-top:2px}.bot-avatar,.player-avatar{height:37px;width:37px;border-radius:50%;display:grid;place-items:center;background:#bcdfd4;color:#276c5d}.player-avatar{background:#f0b18a;color:#6e3524;font:500 11px DM Mono}.turn-message{text-align:center;font-size:12px;color:#56706a;font-weight:600}.turn-dot{height:8px;width:8px;background:#d8a66a;border-radius:50%;display:inline-block;margin-right:6px}.turn-dot.yours{background:#e97845;box-shadow:0 0 0 4px #fae5d8}.tavli-board{position:relative;display:grid;grid-template-rows:1fr 1fr;gap:10px;background:#20423d;border:12px solid #20423d;border-radius:13px;box-shadow:0 14px 26px #17312d31;min-height:460px;padding:10px}.board-row{display:grid;grid-template-columns:repeat(12,1fr);gap:2px;position:relative}.board-row:after{content:"";position:absolute;left:50%;top:-10px;bottom:-10px;width:20px;background:#345e57;transform:translate(-50%);z-index:2}.point{min-width:0;border:0;padding:0;position:relative;background:linear-gradient(64deg,#d9a659 50%,transparent 51%);height:100%;display:flex;justify-content:center}.point.p-1{background:linear-gradient(64deg,#c26746 50%,transparent 51%)}.row-1 .point{background:linear-gradient(244deg,#d9a659 50%,transparent 51%)}.row-1 .point.p-1{background:linear-gradient(244deg,#c26746 50%,transparent 51%)}.point.selected{outline:3px solid #fff3cf;outline-offset:-3px;z-index:3}.point.playable{box-shadow:inset 0 0 0 4px #e5f5b2;z-index:3}.point-number{color:#fff0c5;font:9px DM Mono;position:absolute;top:4px;left:4px;z-index:1}.row-1 .point-number{top:auto;bottom:4px}.checkers{position:absolute;top:9px;display:flex;flex-direction:column;align-items:center;gap:1px;z-index:2}.row-1 .checkers{top:auto;bottom:9px;flex-direction:column-reverse}.player-checker,.bot-checker{display:block;width:27px;height:27px;border-radius:50%;border:2px solid #8e442d;background:#ef8560;box-shadow:inset 0 2px #ffccb5,0 2px 2px #182b2844}.bot-checker{background:#65b9a9;border-color:#2c7367;box-shadow:inset 0 2px #bce9dc,0 2px 2px #182b2844}.stack-count{position:absolute;z-index:4;top:145px;font:600 10px DM Mono;color:#fff}.row-1 .stack-count{top:auto;bottom:145px}.bar{position:absolute;z-index:4;top:50%;left:50%;transform:translate(-50%,-50%);height:80px;width:42px;border-radius:6px;background:#315a53;color:#bdcfc6;display:grid;place-items:center;font:8px DM Mono;letter-spacing:1px}.bear-off{position:absolute;right:-81px;bottom:12px;width:64px;height:58px;border:1px dashed #bdc39b;border-radius:8px;background:#f6f1df;color:#5c675d;font-size:10px;font-weight:700}.game-controls{display:flex;align-items:center;gap:16px;margin-top:19px}.dice-area{width:100px;display:flex;gap:6px;flex-wrap:wrap}.die,.empty-dice{height:34px;min-width:34px;border-radius:7px;background:#fffdf8;box-shadow:0 2px 7px #18312e28;display:grid;place-items:center;color:#20423d;font:700 17px Fraunces}.empty-dice{font-size:11px;color:#9aa29d;display:flex;gap:4px}.roll-button{border:0;border-radius:8px;background:#e87845;color:#fff;padding:11px 15px;display:flex;align-items:center;gap:7px;font-size:13px;font-weight:700}.roll-button:disabled{opacity:.45;cursor:not-allowed}.game-controls p{font-size:11px;color:#818c84;margin:0;max-width:350px}@media (max-width:720px){.table-page{padding:24px 0}.game-status{grid-template-columns:1fr 1fr}.turn-message{grid-column:1/-1;grid-row:2;margin:13px 0}.tavli-board{min-height:350px;border-width:8px;padding:6px}.player-checker,.bot-checker{width:20px;height:20px}.bar{width:26px}.game-controls{flex-wrap:wrap}.game-controls p{width:100%}.bear-off{right:4px;bottom:4px;opacity:.9}}.pass-button{border:0;border-radius:8px;background:#e9e7df;color:#50605a;padding:11px 15px;font-size:13px;font-weight:700}.pass-button:disabled{opacity:.45;cursor:not-allowed}.resign-button{border:1px solid #e8b1a5;background:transparent;color:#a14c3d;border-radius:9px;padding:10px 13px;font:inherit;font-weight:700;cursor:pointer}.resign-button:disabled{opacity:.5;cursor:not-allowed}.tavli-board{width:min(860px,100%);margin:0 auto;min-height:0;aspect-ratio:1.34/1;padding:14px;border:14px solid #4c3020;background:linear-gradient(135deg,#5c3924,#2d1b16 51%,#604027);box-shadow:inset 0 0 0 3px #bb8150,0 18px 30px #17312d30}.board-row{background:#ead0a2}.board-row:after{width:32px;background:linear-gradient(90deg,#322019,#73503a 48%,#2d1d17);box-shadow:inset 2px 0 #b8875a,inset -2px 0 #1f1511}.point.bot-path{box-shadow:inset 0 0 0 4px #a9f1d9,0 0 18px #8af1c2;z-index:5}.point.bot-path:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#81e6c53c;animation:pathPulse .8s ease-in-out infinite alternate}.move-label{position:absolute;z-index:7;left:50%;transform:translate(-50%);top:42%;background:#19594d;color:#effbf5;border-radius:5px;padding:3px 5px;font:700 8px DM Mono;letter-spacing:.5px}.row-1 .move-label{top:auto;bottom:42%}.move-label.target{background:#e87544}.bot-checker.moving{animation:checkerLift .56s cubic-bezier(.2,.9,.4,1) infinite alternate}.die.rolling{animation:diceTumble .13s linear infinite;background:#fff7df}@keyframes diceTumble{0%{transform:rotate(0) translateY(0)}50%{transform:rotate(15deg) translateY(-7px)}to{transform:rotate(-12deg) translateY(1px)}}@keyframes checkerLift{to{transform:translateY(-13px) rotate(13deg);box-shadow:0 12px 12px #132b2766}}@keyframes pathPulse{to{opacity:.15}}@media (max-width:720px){.tavli-board{aspect-ratio:1/1.08;width:100%;border-width:9px;padding:8px}.board-row:after{width:20px}.point-number{font-size:7px}.move-label{font-size:7px;padding:2px}}.bar{display:flex;flex-direction:column}.bar b{font:700 14px DM Mono;line-height:1}.bar-bot{color:#9de5d6}.bar-player{color:#ffb297}.die{width:38px;height:38px;padding:4px;border:1px solid #d5cfc0;background:linear-gradient(145deg,#fffefa,#e9e4d8);border-radius:9px;box-shadow:inset 1px 1px #fff,inset -2px -2px 3px #b7af9f,2px 3px 5px #18312e33}.dice-pips{display:grid;grid-template:repeat(3,1fr)/repeat(3,1fr);width:100%;height:100%;gap:1px}.pip{height:5px;width:5px;border-radius:50%;place-self:center}.pip.on{background:#23423d;box-shadow:inset 0 1px #6f8d84,0 1px 1px #0005}.die.rolling{animation:diceTumble .13s linear infinite}.flying-checker{position:absolute;z-index:20;width:28px;height:28px;border-radius:50%;border:2px solid #2c7367;background:#65b9a9;box-shadow:inset 0 2px #bce9dc,0 7px 12px #12292677;pointer-events:none;animation:travelChecker .82s cubic-bezier(.2,.78,.27,1) forwards}@keyframes travelChecker{0%{transform:translate(0) scale(1);opacity:1}45%{transform:translate(calc(var(--travel-x) * .46),calc(var(--travel-y) * .46 - 30px)) scale(1.15)}to{transform:translate(var(--travel-x),var(--travel-y)) scale(1);opacity:.2}}@media (max-width:720px){.die{width:34px;height:34px}.pip{height:4px;width:4px}.flying-checker{width:20px;height:20px}}.opponent-dice{display:flex;gap:3px;margin-left:4px}.mini-die{width:25px;height:25px;padding:3px;border:1px solid #b9c7bd;border-radius:6px;background:linear-gradient(145deg,#fbfff9,#dce8df);box-shadow:inset 1px 1px #fff,1px 2px 3px #18312e21;display:grid;place-items:center}.mini-die .pip{width:3px;height:3px;background:transparent}.mini-die .pip.on{background:#286257}.mini-die.rolling{animation:diceTumble .13s linear infinite}@media (max-width:720px){.game-status .opponent-dice{position:absolute;left:63px;top:37px}.game-status{position:relative}.opponent:first-child{padding-bottom:23px}.mini-die{width:21px;height:21px}}.winner-backdrop{position:fixed;z-index:50;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:20px;background:#18322bd1;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:backdropIn .3s ease-out}.winner-card{position:relative;isolation:isolate;overflow:hidden;width:min(430px,100%);padding:42px 36px 33px;border-radius:21px;text-align:center;background:#fffaf0;box-shadow:0 25px 80px #071b17a8;animation:winnerIn .48s cubic-bezier(.16,.85,.3,1);color:#1d3d37}.winner-card.bot{background:#f7fbf8}.winner-rays{position:absolute;z-index:-1;width:520px;height:520px;left:50%;top:-338px;transform:translate(-50%);background:repeating-conic-gradient(from 0deg,#f6d787 0 12deg,transparent 12deg 27deg);opacity:.45}.winner-trophy{width:74px;height:74px;margin:0 auto 19px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#f4c965,#e58340);color:#fff8dc;box-shadow:inset 0 2px #ffeab1,0 8px 18px #d382423d}.winner-card.bot .winner-trophy{background:linear-gradient(145deg,#76bdb0,#347d70)}.winner-card h2{font-size:37px;letter-spacing:-1.3px;margin:0 0 12px}.winner-card>p:not(.eyebrow){margin:0 auto;max-width:310px;color:#718078;font-size:14px;line-height:1.55}.winner-score{display:flex;justify-content:center;align-items:center;gap:20px;margin:25px 0}.winner-score span{min-width:75px;padding:10px;background:#f1ece0;border-radius:10px}.winner-score b,.winner-score small{display:block}.winner-score b{font:700 23px Fraunces}.winner-score small{font-size:10px;color:#7d8881;margin-top:2px}.winner-score i{font:700 18px Fraunces;color:#a8aaa0}.winner-actions{display:flex;gap:9px;justify-content:center}.winner-actions .quiet{padding:12px 15px}@keyframes backdropIn{0%{opacity:0}to{opacity:1}}@keyframes winnerIn{0%{opacity:0;transform:translateY(25px) scale(.91)}to{opacity:1;transform:none}}@media (max-width:520px){.winner-card{padding:35px 23px 26px}.winner-card h2{font-size:32px}.winner-actions{flex-direction:column}.winner-actions button{width:100%}}.rules-page{padding:62px 0 75px}.rules-page>.intro{max-width:680px}.rules-basics{margin:35px 0 20px;padding:25px 28px;background:#e7f1e8;border:1px solid #d2e1d4;border-radius:16px}.rules-basics h2{font-size:25px;margin-bottom:16px}.rules-basics p{display:flex;align-items:flex-start;gap:10px;margin:10px 0;color:#50615a;font-size:14px;line-height:1.45}.rules-basics span{color:#28745e;font-weight:700}.rules-games{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.rules-games article{min-height:230px;padding:23px;background:#fffdfa;border:1px solid #e7e3da;border-radius:14px}.rules-games article div{padding-bottom:18px;border-bottom:1px solid #ece6dc}.rules-games span{font:11px DM Mono;color:#df7548}.rules-games h2{margin:4px 0;font-size:25px}.rules-games small{color:#7e8881;font-size:12px}.rules-games p{color:#64716b;font-size:13px;line-height:1.55}.rules-status{margin-top:17px;padding:18px 22px;border-left:4px solid #e67a46;background:#fff5e7;border-radius:4px 12px 12px 4px}.rules-status .eyebrow{margin-bottom:6px}.rules-status b,.rules-status small{display:block}.rules-status b{font-size:13px;line-height:1.5;color:#425650}.rules-status small{font-size:11px;color:#8b8e83;margin-top:8px}@media (max-width:720px){.rules-page{padding:46px 0}.rules-games{grid-template-columns:1fr}.rules-games article{min-height:0}}.language-toggle{border:1px solid #dcdfd6;background:#fffdfa;border-radius:8px;padding:3px;display:flex;gap:2px;color:#77827c;font:600 10px DM Mono}.language-toggle b,.language-toggle span{padding:5px 6px;border-radius:5px}.language-toggle b{background:#dfece2;color:#1d5e50}@media (max-width:720px){.language-toggle{margin-left:auto}.language-toggle span{display:none}}.sign-in{border:1px solid #d9ded5;background:#fffdfa;border-radius:8px;padding:8px 12px;color:#326055;font-size:12px;font-weight:700}.auth-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#153029b9;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:grid;place-items:center;padding:18px}.auth-card{position:relative;width:min(390px,100%);padding:34px;background:#fffdf8;border-radius:18px;box-shadow:0 25px 70px #0c201c91}.auth-close{position:absolute;right:13px;top:13px;border:0;background:#efeee7;border-radius:7px;padding:6px;color:#54625d}.auth-mark{height:55px;width:55px;display:grid;place-items:center;border-radius:15px;background:#e4f2e9;color:#28725f;margin-bottom:18px}.auth-card h2{font-size:31px}.auth-intro{color:#78837d;font-size:13px;line-height:1.5;margin:10px 0 21px}.auth-card label{display:block;font-size:12px;font-weight:700;color:#40534f;margin:12px 0}.auth-card label span{display:flex;align-items:center;gap:8px;border:1px solid #deded5;background:#fff;border-radius:8px;padding:0 10px;margin-top:6px;color:#7b8b84}.auth-card input{width:100%;border:0;background:transparent;padding:11px 0;outline:0;font:13px DM Sans}.auth-submit{width:100%;margin-top:8px}.auth-switch{border:0;background:transparent;width:100%;padding:14px 0 0;color:#377567;font-size:12px;font-weight:700}.auth-message{background:#fff0e9;color:#a95030;padding:9px 11px;border-radius:7px;font-size:12px;margin:11px 0 0}.leaderboard-empty{min-height:180px!important;display:flex!important;flex-direction:column;justify-content:center;align-items:center;gap:8px;color:#718079!important}.leaderboard-empty svg{color:#df9959}.leaderboard-empty b{color:#35534b}.leaderboard-empty span{font-size:12px}.lobby-page{min-height:calc(100vh - 78px);display:flex;flex-direction:column;align-items:center;text-align:center;padding:95px 20px}.lobby-symbol{height:70px;width:70px;display:grid;place-items:center;border-radius:19px;background:#dff1e8;color:#327765;margin-bottom:19px}.lobby-page h1{font-size:45px}.lobby-page .intro{max-width:450px}.invite-box{width:min(540px,100%);margin:23px 0 14px;background:#fffdfa;border:1px solid #e1dfd5;border-radius:12px;padding:13px;text-align:left;display:grid;grid-template-columns:1fr auto;gap:5px 12px}.invite-box span{font:10px DM Mono;color:#8a928a;letter-spacing:1px}.invite-box code{overflow:hidden;text-overflow:ellipsis;color:#34574f;font-size:12px}.invite-box button{grid-row:span 2;border:0;border-radius:8px;background:#e1f0e7;color:#33725f;padding:8px 12px;display:flex;align-items:center;gap:5px;font-size:12px;font-weight:700}.lobby-status{font-size:13px;color:#75817b;margin-bottom:23px}.lobby-status i{display:inline-block;width:9px;height:9px;border-radius:50%;background:#e9a755;margin-right:7px}.lobby-status.waiting i{animation:pulse 1.1s infinite}.lobby-status.ready i{background:#52ad7b}@keyframes pulse{50%{opacity:.25;transform:scale(.65)}}:root,button,input,textarea,select{font-family:Rubik,system-ui,sans-serif}.brand,h1,h2,h3,.game-picker b,.match-modal h2,.winner-card h2,.die{font-family:Roboto Slab,Georgia,serif!important}.eyebrow,.pill,.timer b,.timer small,.point-number,.stack-count,.bar,.bar b,.move-label,.language-toggle,.invite-box span,.game-picker span,.winner-score b,.winner-score i,.history-card b{font-family:Roboto Mono,monospace!important}
