@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap";:root{--ink:#302942;--muted:#766e85;--cream:#fbf7ef;--paper:#fffdf9;--lavender:#ddd3ec;--purple:#73579a;--line:#ded7e3}*{box-sizing:border-box}body{background:var(--cream);color:var(--ink);margin:0;font-family:DM Sans,sans-serif}button,select{font:inherit}button{color:inherit}.page{min-height:100vh;position:relative;overflow:hidden}.page:before,.page:after{content:"";z-index:-1;filter:blur(1px);opacity:.45;border-radius:50%;width:440px;height:440px;position:fixed}.page:before{background:#f7d6dc;top:35%;left:-220px}.page:after{background:#d8d8ef;top:-150px;right:-210px}.brand-row{justify-content:space-between;align-items:center;max-width:1220px;height:84px;margin:0 auto;padding:0 32px;display:flex}.brand{color:var(--ink);letter-spacing:.14em;align-items:center;gap:10px;font:800 15px/1 Manrope,sans-serif;text-decoration:none;display:flex}.brand span{color:#ed83aa;text-shadow:13px 0 #f2ce5c;margin-right:11px;font-size:22px}.local-note{color:var(--muted);background:#ffffff73;border:1px solid #e2d9e5;border-radius:999px;padding:8px 12px;font-size:13px}.setup-grid{grid-template-columns:.88fr 1.12fr;align-items:center;gap:94px;max-width:1160px;min-height:calc(100vh - 84px);margin:0 auto;padding:58px 32px 82px;display:grid}.eyebrow,.step{color:#8a6aaa;letter-spacing:.17em;margin:0 0 18px;font-size:12px;font-weight:700}h1{letter-spacing:-.06em;max-width:540px;margin:0;font:800 clamp(52px,6vw,82px)/.98 Manrope,sans-serif}.lede{max-width:455px;color:var(--muted);margin:28px 0 34px;font-size:18px;line-height:1.65}.mini-board{background:#d8cbe8;border-radius:22px;grid-template-columns:repeat(5,1fr);gap:7px;width:235px;padding:13px;display:grid;transform:rotate(-3deg);box-shadow:0 16px 36px #4b3a621f}.mini-board i{aspect-ratio:1;background:#ffffffbf;border-radius:50%;box-shadow:inset 0 2px 4px #48365b1a}.mini-board .p1{background:#f26b6b}.mini-board .p2{background:#f2ce5c}.setup-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffdf9eb;border:1px solid #745f8629;border-radius:28px;padding:36px;box-shadow:0 28px 70px #4f3d601f}.card-heading{justify-content:space-between;align-items:flex-start;margin-bottom:28px;display:flex}.step{margin-bottom:8px}.card-heading h2{letter-spacing:-.035em;margin:0;font:700 27px/1.2 Manrope,sans-serif}.spark{color:#ed83aa;font-size:28px}.color-field{border:0;margin:0 0 25px;padding:0}.color-field legend{margin-bottom:12px;font-size:13px;font-weight:700}.swatches{flex-wrap:wrap;gap:9px;display:flex}.swatch{--swatch:#000;border:4px solid var(--paper);background:var(--swatch);cursor:pointer;border-radius:50%;width:37px;height:37px;transition:all .18s;box-shadow:0 0 0 1px #d8d0dc}.swatch:hover:not(:disabled){transform:translateY(-2px)}.swatch.selected{box-shadow:0 0 0 2px var(--ink), 0 4px 10px #3d2f4c2b}.swatch:disabled{opacity:.2;cursor:not-allowed}.picked-name{color:var(--muted);align-items:center;gap:7px;margin-top:9px;font-size:12px;display:inline-flex}.picked-name i{border-radius:50%;width:8px;height:8px}.settings-row{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:12px;padding-top:23px;display:grid}.settings-row label{font-size:12px;font-weight:700}.settings-row select{appearance:none;border:1px solid var(--line);width:100%;color:var(--ink);background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath d='m2 4 4 4 4-4' fill='none' stroke='%23766e85' stroke-width='1.5'/%3E%3C/svg%3E") right 12px center no-repeat;border-radius:10px;margin-top:8px;padding:12px 32px 12px 12px;font-size:13px}.primary-button{background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:13px;justify-content:center;align-items:center;gap:12px;width:100%;margin-top:26px;padding:16px 20px;font-weight:700;transition:all .18s;display:flex;box-shadow:0 10px 24px #30294233}.primary-button:hover{background:#403655;transform:translateY(-1px)}.primary-button span{font-size:20px}.tip{text-align:center;color:var(--muted);margin:13px 0 0;font-size:12px}.top-start-button{margin-top:0}.top-start-note{text-align:center;color:var(--muted);margin:10px 0 25px;font-size:12px}.game-header{border-bottom:1px solid #69577b1f}.brand-button{cursor:pointer;background:0 0;border:0;padding:0}.header-actions{align-items:center;gap:12px;display:flex}.text-button,.soft-button{cursor:pointer;border:0;font-size:13px;font-weight:700}.text-button{color:var(--muted);background:0 0}.soft-button{background:#e7dff0;border-radius:10px;padding:10px 15px}.game-shell{width:min(900px,94vw);margin:0 auto;padding:28px 0 42px}.scoreboard{grid-template-columns:1fr auto 1fr;align-items:stretch;gap:15px;display:grid}.player-card{--player:#f26b6b;border:1px solid var(--line);opacity:.68;background:#ffffff8c;border-radius:15px;align-items:center;gap:12px;min-width:0;padding:14px 16px;transition:all .2s;display:flex}.player-card.active{opacity:1;border-color:var(--player);background:var(--paper);box-shadow:0 5px 18px #43335314}.player-card.right{text-align:right;justify-content:flex-end}.player-disc{background:var(--player);border-radius:50%;flex:none;width:30px;height:30px;box-shadow:inset 0 -3px 6px #3726411f}.player-card div{flex:1;min-width:0}.player-card small,.match-status span,.match-status small{color:var(--muted);letter-spacing:.12em;font-size:9px;font-weight:700;display:block}.player-card strong{font-size:14px;display:block}.player-card b{font:800 26px Manrope,sans-serif}.match-status{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-width:94px;display:flex}.match-status strong{margin:2px 0;font:700 16px Manrope,sans-serif}.turn-banner{justify-content:center;align-items:center;gap:9px;margin:22px auto 14px;font-size:14px;font-weight:700;display:flex}.turn-dot{border-radius:50%;width:9px;height:9px}.turn-ready .turn-dot{animation:.5s ease-out turn-ready}.board-wrap{width:min(680px,94vw);margin:0 auto}.column-buttons{gap:clamp(4px,.8vw,9px);padding:0 clamp(8px,1.5vw,17px);display:grid}.column-buttons button{color:#9589a2;cursor:pointer;opacity:.3;background:0 0;border:0;border-radius:10px;height:30px;transition:all .15s}.column-buttons button:hover:not(:disabled),.column-buttons button:focus-visible{opacity:1;background:#e9e1ef;transform:translateY(2px)}.column-buttons button:disabled{cursor:not-allowed;opacity:.08}.board{background:#cfc0df;border-radius:clamp(17px,2.5vw,25px);gap:clamp(4px,.8vw,9px);padding:clamp(10px,1.8vw,18px);display:grid;box-shadow:0 18px 35px #4736592e,inset 0 2px #ffffff73}.slot{aspect-ratio:1;background:#ffffffc7;border-radius:50%;min-width:0;padding:clamp(2px,.45vw,5px);box-shadow:inset 0 3px 7px #422f532b}.slot i{border-radius:50%;width:100%;height:100%;display:block}.slot i.filled{animation:.34s cubic-bezier(.24,.8,.34,1) drop;box-shadow:inset 0 -4px 7px #36243f1c,0 2px 3px #45305324}@keyframes drop{0%{opacity:.2;transform:translateY(-45px)}to{opacity:1;transform:translateY(0)}}@keyframes turn-ready{0%{transform:scale(.75);box-shadow:0 0}55%{transform:scale(1.35);box-shadow:0 0 0 7px #73579a21}to{transform:scale(1);box-shadow:0 0 #73579a00}}.round-actions{background:var(--paper);border:1px solid var(--line);border-radius:16px;align-items:center;gap:20px;width:min(460px,92vw);margin:18px auto 0;padding:17px 20px;display:flex;box-shadow:0 10px 30px #4230521a}.round-actions strong{flex:1;font:700 15px Manrope,sans-serif}.round-actions .primary-button{width:auto;margin:0;padding:11px 18px}.game-hint{text-align:center;color:var(--muted);margin-top:16px;font-size:12px}@media (width<=820px){.setup-grid{grid-template-columns:1fr;gap:42px;padding-top:38px}.intro{text-align:center}.lede{margin-left:auto;margin-right:auto}.mini-board{margin:auto}.setup-card{width:100%;max-width:620px;margin:auto}}@media (width<=560px){.brand-row{height:70px;padding:0 18px}.local-note{display:none}.setup-grid{min-height:auto;padding:38px 18px 56px}.eyebrow{margin-bottom:13px}h1{font-size:46px}.lede{margin:22px 0 28px;font-size:16px}.setup-card{border-radius:22px;padding:25px 20px}.settings-row{grid-template-columns:1fr}.swatches{gap:7px}.swatch{width:34px;height:34px}.text-button{display:none}.game-shell{padding-top:18px}.scoreboard{grid-template-columns:1fr 72px 1fr;gap:6px}.player-card{gap:7px;padding:10px 9px}.player-disc{width:20px;height:20px}.player-card b{font-size:20px}.player-card strong{font-size:12px}.match-status{min-width:0}.game-hint{margin-top:12px}.round-actions{text-align:center;flex-direction:column;gap:10px}.round-actions .primary-button{width:100%}.board-wrap{width:97vw}.column-buttons{padding:0 8px}.board{gap:4px;padding:9px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
