*,*:before,*:after{box-sizing:border-box}*{margin:0}:root{--paper: #f9f7f0;--paper-soft: #f3f0e5;--ink: #1a1a2e;--muted: #706d85;--accent: #fbbf24;--accent-deep: #d97706;--panel: #ffffff;--shadow-offset: 4px 4px 0 rgba(26, 26, 46, .85);--radius-lg: 20px;--radius-md: 14px;--radius-sm: 10px;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}html,body{max-width:100%;overflow-x:clip}body{min-width:320px;min-height:100dvh;background-color:var(--paper);background-image:radial-gradient(circle,rgba(26,26,46,.18) 1.2px,transparent 1.2px);background-size:22px 22px}button,input{font:inherit}button{border:0}#root{min-height:100dvh;overflow-x:clip}.home-view,.setup-view,.game-layout{width:min(1180px,100%);min-height:100dvh;margin:0 auto;padding:clamp(14px,4vw,30px);overflow-x:clip}.home-view,.setup-view{display:grid;align-items:center}.home-hero{width:min(680px,100%);margin:0 auto;padding:clamp(28px,6vw,52px);text-align:center;background:var(--panel);border:2.5px solid var(--ink);border-radius:var(--radius-lg);box-shadow:6px 6px 0 var(--ink)}.hero-dot-board{position:relative;display:grid;width:min(240px,62vw);aspect-ratio:1;grid-template-columns:repeat(8,1fr);gap:0;margin:0 auto 28px;padding:8px;border:2.5px solid var(--ink);background:#fff;box-shadow:4px 4px 0 var(--ink)}.hero-dot-board span{display:block;width:100%;aspect-ratio:1;border-radius:0;background:var(--paper-soft)}.hero-dot-board span:nth-child(16n+2),.hero-dot-board span:nth-child(16n+4),.hero-dot-board span:nth-child(16n+6),.hero-dot-board span:nth-child(16n+8),.hero-dot-board span:nth-child(16n+9),.hero-dot-board span:nth-child(16n+11),.hero-dot-board span:nth-child(16n+13),.hero-dot-board span:nth-child(16n+15){background:#855c3b}.hero-piece{position:absolute;display:block;width:10.5%;height:10.5%;aspect-ratio:1;border-radius:999px;border:2.5px solid var(--ink);box-shadow:inset 0 0 0 5px #ffffff38,2px 2px 0 var(--ink)}.hero-red{left:28%;top:28%;background:#dc2626}.hero-black{right:28%;top:40.5%;background:#111827}.hero-red.second{left:40.5%;bottom:28%}.eyebrow{color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}h1{margin-top:6px;color:var(--ink);font-size:clamp(2.4rem,9vw,5rem);font-weight:950;line-height:1;letter-spacing:-.02em}.title-accent{display:inline-block;color:#fff;background:#2563eb;border:2.5px solid var(--ink);border-radius:12px;padding:0 .18em;line-height:1.05;font-size:.88em;vertical-align:middle;box-shadow:3px 3px 0 var(--ink)}.hero-copy{max-width:480px;margin:16px auto 0;color:var(--muted);font-size:clamp(.95rem,2.4vw,1.1rem);line-height:1.5}.home-actions,.confirm-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:24px}.btn,.settings-header-button,.icon-button{display:inline-flex;min-height:46px;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:0 22px;cursor:pointer;font-weight:900;letter-spacing:.01em;transition:transform .1s ease,box-shadow .1s ease}.btn:active,.settings-header-button:active,.icon-button:active{transform:translateY(2px);box-shadow:none!important}.btn-primary{color:#fff;background:#2563eb;border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink)}.btn-secondary{color:var(--ink);background:var(--accent);border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink)}.btn-quiet{color:var(--ink);background:var(--paper-soft);border:2px solid rgba(26,26,46,.3);box-shadow:2px 2px #1a1a2e40}.btn-danger{color:#fff;background:#ef4444;border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink)}.btn:disabled,.settings-header-button:disabled{cursor:default;opacity:.45;transform:none;box-shadow:none}.setup-panel{width:min(1060px,100%);margin:0 auto;padding:clamp(24px,4vw,40px);background:var(--panel);border:2.5px solid var(--ink);border-radius:var(--radius-lg);box-shadow:6px 6px 0 var(--ink)}.settings-modal{border:2.5px solid var(--ink);border-radius:var(--radius-lg);background:var(--panel);box-shadow:6px 6px 0 var(--ink)}.section-heading{display:flex;align-items:center;gap:12px;margin-bottom:28px}.section-heading h1{font-size:clamp(2.3rem,5vw,4.2rem)}.setup-grid,.player-mark-grid,.settings-actions,.rules-panel,.rules-scroll{display:grid;gap:14px}.setup-grid{grid-template-columns:1fr;align-items:stretch;gap:18px}.setup-block{display:grid;gap:16px;align-content:start;border:2px solid rgba(26,26,46,.12);border-radius:var(--radius-md);padding:20px;background:var(--paper-soft)}.setup-block-heading{display:flex;min-height:46px;align-items:center;justify-content:space-between;gap:12px}.setup-block-heading h2{font-size:1.35rem;font-weight:900}.setup-block-heading strong{flex:0 0 auto;border-radius:999px;padding:6px 14px;background:var(--accent);border:2px solid var(--ink);font-size:1rem}.icon-button{width:46px;min-height:46px;padding:0;color:#fff;background:#2563eb;border:2px solid var(--ink);box-shadow:2px 2px 0 var(--ink)}.icon-button:disabled,.remove-player-button:disabled{cursor:default;opacity:.4}.field{display:grid;gap:8px;color:var(--muted);font-weight:800;text-align:left}.player-setup{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.name-with-mark{display:grid;grid-template-columns:50px minmax(0,1fr) 44px;align-items:center;overflow:hidden;border:2px solid rgba(26,26,46,.18);border-radius:var(--radius-sm);background:#fff}.name-with-mark strong{display:grid;min-height:50px;place-items:center;color:#fff;background:#2563eb;font-size:1.1rem;font-weight:950}.player-name-field:nth-child(2) .name-with-mark strong{background:#ef4444}.player-name-field:nth-child(3) .name-with-mark strong{background:#16a34a}.player-name-field:nth-child(4) .name-with-mark strong{background:#7c3aed}.player-name-field:nth-child(5) .name-with-mark strong{background:#ea580c}.player-name-field:nth-child(6) .name-with-mark strong{background:#0891b2}.field input{min-width:0;min-height:50px;width:100%;border:2px solid rgba(26,26,46,.18);border-radius:var(--radius-sm);padding:0 14px;color:var(--ink);background:#fff;outline:0}.remove-player-button{display:grid;width:44px;height:50px;place-items:center;color:var(--muted);background:transparent;cursor:pointer}.size-field input[type=range]{width:100%;height:40px;margin:0;accent-color:#2563eb;cursor:pointer}.size-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.size-option{min-height:42px;border-radius:999px;color:var(--ink);background:#fff;border:2px solid rgba(26,26,46,.2);cursor:pointer;font-weight:900;transition:background .1s,border-color .1s}.size-option.active{color:#fff;background:#2563eb;border-color:var(--ink);box-shadow:2px 2px 0 var(--ink)}.shape-preview{position:relative;display:grid;width:100%;max-width:360px;place-items:center;justify-self:center;border:2px dashed rgba(26,26,46,.25);border-radius:var(--radius-md);padding:16px;color:var(--muted);background:#fff;font-size:.82rem;text-align:center}.shape-preview-dots{position:absolute;top:18px;right:18px;bottom:18px;left:18px;display:grid;align-items:center;justify-items:center}.shape-preview-dots span{width:7px;aspect-ratio:1;border-radius:999px;background:#1a1a2e59}.shape-preview strong{position:relative;z-index:1;border-radius:999px;padding:4px 10px;color:var(--muted);background:#ffffffe6;font-weight:950}.preview-columns{align-self:center}.preview-rows{align-self:end}.setup-actions{display:grid;grid-template-columns:minmax(160px,.35fr) minmax(0,1fr);gap:14px;margin-top:26px}.setup-actions .btn{width:100%}.game-layout{position:relative;display:grid;grid-template-columns:1fr;grid-template-rows:auto auto minmax(0,1fr);grid-template-areas:"header" "status" "board";align-content:start;gap:clamp(10px,1.8dvh,14px)}.game-header{position:relative;z-index:30;grid-area:header;display:flex;align-items:center;justify-content:space-between;gap:14px;border-radius:999px;padding:clamp(10px,2.5vw,16px) clamp(16px,3vw,24px);background:var(--panel);border:2.5px solid var(--ink);box-shadow:4px 4px 0 var(--ink);color:var(--ink)}.game-header h1{color:var(--ink);font-size:clamp(1.6rem,5vw,3rem);font-weight:950;letter-spacing:-.02em;overflow-wrap:anywhere}.header-action-group{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.settings-header-button{color:var(--ink);background:var(--paper-soft);border:2px solid rgba(26,26,46,.3);box-shadow:2px 2px #1a1a2e40}.match-status{grid-area:status;display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}.player-chip{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:56px;border:2.5px solid rgba(26,26,46,.12);border-radius:var(--radius-md);padding:8px 12px;color:var(--muted);background:var(--paper-soft);transition:border-color .14s,background .14s,box-shadow .14s,filter .14s,opacity .14s}.match-status:has(.player-chip.active) .player-chip:not(.active){opacity:.58;filter:saturate(.7) brightness(.92)}.player-chip.active{color:var(--ink);background:linear-gradient(90deg,color-mix(in srgb,var(--player-color) 10%,#ffffff),#fff 28%),#fff;border-color:var(--player-color);box-shadow:0 12px 24px #21120b29}.red-chip.active{box-shadow:inset 6px 0 0 var(--player-color),0 12px 24px #21120b29}.black-chip.active{box-shadow:inset -6px 0 0 var(--player-color),0 12px 24px #21120b29}.player-chip strong,.turn-pill strong{display:grid;width:36px;aspect-ratio:1;place-items:center;border-radius:999px;color:#fff;background:var(--player-color);font-size:1rem;font-weight:950;border:2px solid var(--ink)}.player-chip span,.player-chip em{min-width:0;overflow-wrap:anywhere;font-style:normal;font-weight:800}.player-chip em{color:var(--muted);font-size:.85rem}.player-chip.active em{border-radius:999px;padding:4px 9px;color:var(--player-color);background:color-mix(in srgb,var(--player-color) 12%,#ffffff);border:1px solid color-mix(in srgb,var(--player-color) 36%,transparent);font-size:.75rem;font-weight:950;text-transform:uppercase}.board-shell{grid-area:board;display:grid;place-items:center;min-height:0;overflow:hidden;border-radius:var(--radius-lg);padding:clamp(10px,1.5vw,20px);background:#fff;border:2.5px solid var(--ink);box-shadow:5px 5px 0 var(--ink)}.checkers-board{display:grid;width:min(92vw,calc(100dvh - 250px),680px);min-width:min(92vw,320px);aspect-ratio:1;grid-template-columns:repeat(8,minmax(0,1fr));grid-template-rows:repeat(8,minmax(0,1fr));overflow:hidden;border:3px solid var(--ink);border-radius:var(--radius-sm);background:var(--ink);box-shadow:4px 4px #1a1a2e40}.square{position:relative;display:grid;min-width:0;min-height:0;place-items:center;padding:0;cursor:pointer}.square.light{background:#f7ead7}.square.dark{background:#7b4f33}.square.dark:hover:not(:disabled),.square.selected{box-shadow:inset 0 0 0 4px var(--accent)}.square.possible-move:after{content:"";position:absolute;width:30%;aspect-ratio:1;border-radius:999px;background:#fbbf24d9;border:2px solid var(--ink)}.square:disabled{cursor:default}.piece{position:relative;z-index:1;display:grid;width:72%;aspect-ratio:1;place-items:center;border-radius:999px;border:3px solid var(--ink);color:#fff;font-weight:950;font-size:clamp(.8rem,3.2vw,1.55rem);line-height:1;box-shadow:inset 0 0 0 clamp(5px,1vw,9px) #ffffff2e,0 4px #1a1a2e8c}.piece.red{background:#dc2626}.piece.black{background:#111827}.piece.king:before{content:"";position:absolute;top:19%;right:19%;bottom:19%;left:19%;border-radius:999px;border:2px solid rgba(255,255,255,.72)}.dot-board{container-type:inline-size;position:relative;width:min(calc(100% - 16px),calc((100dvh - 260px) * var(--board-columns) / var(--board-rows)),calc(var(--board-columns) * 70px));aspect-ratio:var(--board-columns) / var(--board-rows);margin:auto}.board-dot{position:absolute;z-index:10;width:calc(100cqw / var(--board-columns));height:calc(100cqw / var(--board-columns));transform:translate(-50%,-50%);background:transparent;cursor:pointer;outline:none;padding:0;-webkit-tap-highlight-color:transparent}.board-dot:focus{outline:none}.board-dot:disabled{cursor:default}.board-dot:before{content:"";position:absolute;top:50%;left:50%;width:clamp(10px,calc(32cqw / var(--board-columns)),22px);height:clamp(10px,calc(32cqw / var(--board-columns)),22px);transform:translate(-50%,-50%);border-radius:999px;background:var(--ink);pointer-events:none}.board-dot.selected:before{background:var(--active-color);box-shadow:0 0 0 clamp(2px,calc(3cqw / var(--board-columns)),4px) #fff,0 0 0 clamp(4px,calc(6cqw / var(--board-columns)),8px) var(--ink)}.box-cell{position:absolute;display:grid;place-items:center;color:var(--box-color);background:transparent;font-weight:950;line-height:1;font-size:clamp(.8rem,calc(32cqw / var(--board-columns)),3.2rem);transition:transform .16s ease;transform:scale(.8);transform-origin:center;pointer-events:none}.box-cell.claimed{background:color-mix(in srgb,var(--box-color) 14%,transparent);transform:scale(1)}.board-edge{position:absolute;z-index:2;min-width:0;min-height:0;border-radius:999px;background:transparent;pointer-events:none;transition:background .16s ease}.board-edge.horizontal{transform:translateY(-50%);height:clamp(6px,calc(16cqw / var(--board-columns)),16px)}.board-edge.vertical{width:clamp(6px,calc(16cqw / var(--board-columns)),16px);transform:translate(-50%)}.board-edge.claimed{background:var(--ink);box-shadow:0 2px 4px #0003}.mega-cell:focus-visible,.mini-cell:focus-visible,.square:focus-visible,.btn:focus-visible,.settings-header-button:focus-visible,.icon-button:focus-visible,.modal-close:focus-visible,.board-dot:focus-visible,.size-option:focus-visible,.remove-player-button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.mini-game-backdrop,.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:18px;background:#1a1a2e80}.settings-modal{width:min(480px,100%);max-height:min(720px,calc(100dvh - 36px));display:grid;overflow:hidden;padding:20px;color:var(--ink)}.settings-modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.settings-modal h2{margin-top:2px;color:var(--ink);font-size:clamp(1.65rem,5vw,2.4rem);font-weight:950;line-height:1}.modal-close{display:grid;width:48px;height:48px;place-items:center;flex:0 0 auto;color:var(--ink);background:var(--paper-soft);border:2px solid rgba(26,26,46,.2);box-shadow:2px 2px #1a1a2e2e;cursor:pointer}.settings-actions .btn{width:100%;justify-content:flex-start}.rules-scroll{max-height:min(520px,calc(100dvh - 190px));overflow-y:auto;padding-right:4px}.rules-panel section{border-radius:var(--radius-sm);padding:12px;background:#2563eb12;border:1.5px solid rgba(37,99,235,.15)}.rules-panel h3{margin-bottom:6px;color:var(--ink);font-size:1rem;font-weight:900}.rules-panel p,.confirm-message{color:var(--muted);line-height:1.5}.confirm-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:24px}.results-modal{width:min(580px,calc(100vw - 24px));padding:0;gap:0;overflow:hidden;text-align:center}.results-banner{display:grid;justify-items:center;gap:8px;padding:clamp(28px,6vw,40px) clamp(20px,5vw,32px) clamp(20px,5vw,28px);background:linear-gradient(150deg,#2563eb12,#fbbf242e);border-bottom:2px solid rgba(26,26,46,.1)}.results-banner svg{color:#2563eb}.results-banner h2{font-size:clamp(1.8rem,7vw,2.8rem);font-weight:950;line-height:1;color:var(--ink);overflow-wrap:anywhere}.results-scores{display:grid;gap:10px;padding:clamp(16px,4vw,24px) clamp(20px,5vw,28px)}.multi-player-results{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.results-score-card{display:grid;gap:3px;border-radius:var(--radius-md);padding:14px 10px 12px;background:var(--paper-soft);border:2px solid transparent}.results-score-card.winner{background:#fbbf2433;border-color:var(--ink);box-shadow:3px 3px 0 var(--ink)}.score-mark{display:inline-grid;width:32px;height:32px;place-items:center;border-radius:999px;margin:0 auto 4px;color:#fff;background:var(--player-color);font-size:1rem;font-weight:950;border:2px solid var(--ink)}.score-count{display:block;font-size:clamp(2.4rem,10vw,3.4rem);font-weight:950;font-style:normal;line-height:1;color:var(--ink)}.score-name{margin-top:4px;font-size:.85rem;font-weight:850;color:var(--ink);overflow-wrap:anywhere;line-height:1.2}.score-label{font-size:.7rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.results-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:clamp(12px,3vw,18px) clamp(20px,5vw,28px) clamp(16px,4vw,24px);border-top:2px solid rgba(26,26,46,.08)}.results-actions .btn{min-height:50px;padding:0 12px;font-size:.9rem;white-space:normal}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}@media(max-width:860px){.setup-grid{grid-template-columns:1fr}}@media(max-width:760px){.game-layout{gap:8px}.dot-board{width:min(calc(100% - 12px),calc((100dvh - 220px) * var(--board-columns) / var(--board-rows)),calc(var(--board-columns) * 58px))}.game-header{align-items:stretch;flex-direction:column;border-radius:var(--radius-lg);gap:10px;padding:14px 16px}.game-header h1{font-size:clamp(1.55rem,8vw,2.2rem)}.header-action-group{justify-content:stretch}.settings-header-button{flex:1;min-height:40px;padding:0 12px}.match-status{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.player-setup{grid-template-columns:1fr}.player-chip{min-height:42px;gap:7px;padding:6px 10px}.player-chip.active:before{top:-11px;right:10px;padding:2px 7px;font-size:.55rem}.player-chip strong{width:28px;font-size:.86rem}.player-chip span{font-size:.82rem}.player-chip em{font-size:.72rem}.player-chip.active em{padding:4px 7px;font-size:.58rem}.board-shell{padding:18px}.modal-backdrop{padding:12px}}@media(max-width:520px){.home-view,.setup-view,.game-layout{padding:10px}.home-hero,.setup-panel{padding:22px}.dot-board{width:min(calc(100% - 8px),calc((100dvh - 185px) * var(--board-columns) / var(--board-rows)))}.confirm-actions,.results-actions,.setup-actions{grid-template-columns:1fr}.results-actions{gap:14px}.btn{width:100%}}@media(max-width:380px){.settings-header-button span{display:none}.settings-header-button{flex:0 0 44px;padding:0}}:root{--paper: #2b160d;--paper-soft: #5b351f;--ink: #21120b;--muted: #7c604d;--accent: #d7a243;--accent-deep: #8b5a1f;--panel: #fff2dd;--panel-soft: #f2ddbd;--red-piece: #bd1f1f;--black-piece: #1c130f;--board-light: #e7c18f;--board-dark: #774421;--shadow-offset: 0 28px 70px rgba(19, 9, 5, .46);--radius-lg: 24px;--radius-md: 16px;--radius-sm: 10px}body{background:radial-gradient(circle at 18% 12%,rgba(215,162,67,.28),transparent 24%),radial-gradient(circle at 84% 18%,rgba(126,62,26,.5),transparent 28%),linear-gradient(115deg,rgba(255,255,255,.06) 0 8%,transparent 8% 100%),repeating-linear-gradient(90deg,rgba(255,255,255,.025) 0 2px,transparent 2px 54px),linear-gradient(135deg,#1a0c07,#4a2514 48%,#241108);background-attachment:fixed}.home-view,.setup-view,.game-layout{width:min(1240px,100%)}.home-hero,.setup-panel,.game-header,.settings-modal,.player-chip{background:linear-gradient(180deg,#fff7e8f5,#eed3abf2),var(--panel);border:1px solid rgba(215,162,67,.72);box-shadow:var(--shadow-offset),inset 0 1px #ffffff9e}.home-hero{position:relative;width:min(840px,100%);padding:clamp(30px,6vw,64px);overflow:hidden}.home-hero:before,.setup-panel:before{content:"";position:absolute;top:14px;right:14px;bottom:14px;left:14px;border:1px solid rgba(139,90,31,.28);border-radius:calc(var(--radius-lg) - 8px);pointer-events:none}.home-hero:after{content:"";position:absolute;inset:auto -14% -32% -14%;height:54%;background:radial-gradient(ellipse at center,rgba(122,68,33,.22),transparent 67%);pointer-events:none}.setup-panel,.home-hero{position:relative}.hero-dot-board{width:min(280px,68vw);padding:12px;border:14px solid #3b1d0f;border-radius:22px;background:linear-gradient(135deg,rgba(255,255,255,.14),transparent 36%),#3b1d0f;box-shadow:0 22px 44px #200e076b,inset 0 0 0 2px #d7a2436b;transform:rotate(-2deg)}.hero-dot-board span{background:linear-gradient(135deg,rgba(255,255,255,.24),transparent 44%),var(--board-light)}.hero-dot-board span:nth-child(16n+2),.hero-dot-board span:nth-child(16n+4),.hero-dot-board span:nth-child(16n+6),.hero-dot-board span:nth-child(16n+8),.hero-dot-board span:nth-child(16n+9),.hero-dot-board span:nth-child(16n+11),.hero-dot-board span:nth-child(16n+13),.hero-dot-board span:nth-child(16n+15){background:linear-gradient(135deg,rgba(255,255,255,.09),transparent 42%),var(--board-dark)}.hero-piece{border:2px solid rgba(255,241,214,.82);box-shadow:inset 0 0 0 7px #ffffff24,inset 0 -12px 18px #00000038,0 12px 22px #21120b66}.hero-red{background:radial-gradient(circle at 33% 23%,#ff7777,transparent 20%),linear-gradient(145deg,#d62d2d,var(--red-piece))}.hero-black{background:radial-gradient(circle at 33% 23%,#6a5749,transparent 22%),linear-gradient(145deg,#34241b,var(--black-piece))}.eyebrow{color:#8b5a1f}h1{color:#2a1409;font-size:clamp(2.7rem,9vw,6rem);font-weight:950;letter-spacing:0;text-shadow:0 1px 0 rgba(255,247,232,.92)}.title-accent{color:#2a1409;background:linear-gradient(180deg,#f3ce7a,#d7a243);border:1px solid rgba(139,90,31,.72);border-radius:999px;padding:.02em .28em .08em;font-size:.58em;box-shadow:0 10px 20px #8b5a1f33,inset 0 1px #ffffff7a}.hero-copy{color:#6d4c37;font-weight:650}.btn,.settings-header-button,.icon-button,.modal-close{border-radius:12px}.btn-primary{color:#fff7e8;background:linear-gradient(180deg,#d83a2e,#9d1919);border:1px solid rgba(71,27,15,.62);box-shadow:0 12px 22px #9d19194d,inset 0 1px #ffffff47}.btn-secondary,.icon-button{color:#2a1409;background:linear-gradient(180deg,#f5d07a,#c4882f);border:1px solid rgba(80,45,17,.52);box-shadow:0 12px 22px #502d1138,inset 0 1px #fff6}.btn-quiet,.settings-header-button,.modal-close{color:#2a1409;background:#fff2ddb8;border:1px solid rgba(58,29,15,.18);box-shadow:0 8px 18px #21120b1f}.btn-danger{background:linear-gradient(180deg,#c2412f,#7f1d1d);border:1px solid rgba(58,29,15,.42);box-shadow:0 12px 22px #7f1d1d3d}.setup-block{background:#fff7e89e;border:1px solid rgba(139,90,31,.24)}.field input{background:#fff8ec;border:1px solid rgba(58,29,15,.22);box-shadow:inset 0 2px 5px #3a1d0f14}.game-layout{gap:clamp(12px,2dvh,18px)}.game-header{border-radius:20px;padding:clamp(12px,2.5vw,18px) clamp(16px,3vw,26px);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.game-header h1{font-size:clamp(1.6rem,5vw,2.9rem);letter-spacing:0}.match-status{gap:12px}.player-chip{min-height:64px;padding:10px 14px;border-radius:18px;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease,filter .14s ease,opacity .14s ease}.player-chip.active{background:linear-gradient(90deg,color-mix(in srgb,var(--player-color) 12%,#fff8ec),#fff8ec 34%,#f0d8b3);border-color:color-mix(in srgb,var(--player-color) 58%,var(--accent));box-shadow:0 16px 28px #21120b2e,inset 0 -5px color-mix(in srgb,var(--player-color) 24%,transparent);transform:none}.red-chip.active{box-shadow:inset 6px 0 0 var(--player-color),0 16px 28px #21120b2e,inset 0 -5px color-mix(in srgb,var(--player-color) 24%,transparent)}.black-chip.active{box-shadow:inset -6px 0 0 var(--player-color),0 16px 28px #21120b2e,inset 0 -5px color-mix(in srgb,var(--player-color) 24%,transparent)}.player-chip strong{width:38px;border:2px solid rgba(255,242,221,.78);box-shadow:inset 0 0 0 5px #ffffff1f,0 8px 14px #21120b3d}.board-shell{padding:clamp(14px,2.5vw,34px);background:radial-gradient(circle at 50% 0%,rgba(215,162,67,.24),transparent 55%),linear-gradient(135deg,#5a2f18,#2a1409);border:1px solid rgba(215,162,67,.58);border-radius:28px;box-shadow:0 34px 80px #13090580,inset 0 1px #ffffff29}.checkers-board{position:relative;width:min(92vw,calc(100dvh - 250px),700px);border:clamp(12px,2.2vw,22px) solid #35190c;border-radius:20px;background:#35190c;box-shadow:0 26px 44px #13090585,inset 0 0 0 2px #d7a2435c}.square{transition:filter .14s ease,box-shadow .14s ease}.square.light{background:linear-gradient(135deg,rgba(255,255,255,.28),transparent 45%),var(--board-light)}.square.dark{background:linear-gradient(135deg,rgba(255,255,255,.1),transparent 45%),var(--board-dark)}.square.dark:hover:not(:disabled),.square.selected{box-shadow:inset 0 0 0 5px #d7a243eb,inset 0 0 28px #fff2dd1f;filter:saturate(1.08) brightness(1.03)}.square.possible-move:after{width:28%;background:#f5d07aeb;border:2px solid rgba(255,248,236,.9);box-shadow:0 0 0 4px #2a140933,0 0 20px #f5d07a73}.piece{border:2px solid rgba(255,242,221,.78);font-weight:950;box-shadow:inset 0 0 0 clamp(5px,1vw,10px) #ffffff21,inset 0 -12px 20px #00000047,0 9px 14px #21120b75}.piece.red{background:radial-gradient(circle at 34% 24%,#ff8181,transparent 19%),linear-gradient(145deg,#da2f2f,var(--red-piece) 72%)}.piece.black{background:radial-gradient(circle at 34% 24%,#6f5b4b,transparent 21%),linear-gradient(145deg,#3a271e,var(--black-piece) 74%)}.piece.king:before{top:18%;right:18%;bottom:18%;left:18%;border-color:#f5d07af5;box-shadow:0 0 0 4px #f5d07a24}.piece-moving-source{opacity:0}.animated-piece{position:absolute;z-index:5;width:9%;left:var(--start-left);top:var(--start-top);pointer-events:none;animation:checker-slide .28s ease-out forwards;transform:translate(-50%,-50%);transform-origin:center;will-change:transform,filter}.animated-piece.jumping{animation-name:checker-jump;animation-timing-function:linear}@keyframes checker-slide{0%{transform:translate(-50%,-50%) scale(1);filter:drop-shadow(0 8px 9px rgba(33,18,11,.28))}to{transform:translate(-50%,-50%) translate(calc(var(--move-cols) * 138.8889%),calc(var(--move-rows) * 138.8889%)) scale(1);filter:drop-shadow(0 10px 12px rgba(33,18,11,.35))}}@keyframes checker-jump{0%{transform:translate(-50%,-50%) scale(1);filter:drop-shadow(0 8px 10px rgba(33,18,11,.28))}25%{transform:translate(-50%,-50%) translate(calc(var(--move-cols) * 34.7222%),calc(var(--move-rows) * 34.7222% - 120%)) scale(1.05);filter:drop-shadow(0 22px 18px rgba(33,18,11,.33))}50%{transform:translate(-50%,-50%) translate(calc(var(--mid-cols) * 138.8889%),calc(var(--mid-rows) * 138.8889% - 160%)) scale(1.08);filter:drop-shadow(0 32px 24px rgba(33,18,11,.38))}75%{transform:translate(-50%,-50%) translate(calc(var(--move-cols) * 104.1667%),calc(var(--move-rows) * 104.1667% - 120%)) scale(1.05);filter:drop-shadow(0 22px 18px rgba(33,18,11,.33))}to{transform:translate(-50%,-50%) translate(calc(var(--move-cols) * 138.8889%),calc(var(--move-rows) * 138.8889%)) scale(1);filter:drop-shadow(0 8px 10px rgba(33,18,11,.28))}}@media(prefers-reduced-motion:reduce){.animated-piece{animation-duration:80ms}}.modal-backdrop{background:#180b06ad;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.settings-modal{background:linear-gradient(180deg,#fff8ec,#efd6af)}.rules-panel section{background:#8b5a1f17;border:1px solid rgba(139,90,31,.18)}.results-banner{background:radial-gradient(circle at 50% 0%,rgba(245,208,122,.42),transparent 56%),linear-gradient(145deg,#7e442124,#bd1f1f1a);border-bottom:1px solid rgba(58,29,15,.12)}.results-banner svg{color:var(--accent-deep)}.results-disc{position:relative;display:grid;width:68px;aspect-ratio:1;place-items:center;border-radius:999px;box-shadow:inset 0 0 0 6px #ffffff24,inset 0 -6px 10px #12243f2e,0 12px 22px #12243f33}.results-disc:before{content:"4";position:absolute;top:24%;right:24%;bottom:24%;left:24%;display:grid;place-items:center;border-radius:999px;color:#12243f2e;font-size:2rem;font-weight:950;line-height:1;text-shadow:0 1px 1px rgba(255,255,255,.28),0 -1px 1px rgba(0,0,0,.18)}.results-disc.red{background:linear-gradient(145deg,#f23a49,#d91d2d 58%,#bb1423)}.results-disc.red:before{color:#6004102e;text-shadow:0 1px 1px rgba(255,122,132,.24),0 -1px 1px rgba(88,0,12,.28)}.results-disc.yellow{background:linear-gradient(145deg,#ffda35,#f5c400 58%,#d9a900)}.results-disc.yellow:before{color:#7a520033;text-shadow:0 1px 1px rgba(255,248,160,.34),0 -1px 1px rgba(122,82,0,.18)}.results-disc.draw{color:#0d64cf;background:#fff;border:2px solid rgba(13,100,207,.28)}.results-disc.draw:before{content:none}.results-actions{border-top:1px solid rgba(58,29,15,.1)}@media(max-width:760px){.checkers-board{width:min(94vw,calc(100dvh - 250px),620px);border-width:12px}.board-shell{padding:14px}.home-hero:before,.setup-panel:before{top:9px;right:9px;bottom:9px;left:9px}}:root{--paper: #eef2f7;--paper-soft: #dbe7f4;--ink: #12243f;--muted: #5c6d82;--accent: #f9c80e;--accent-deep: #d19a00;--panel: #ffffff;--panel-soft: #edf6ff;--red-piece: #e11d2e;--yellow-piece: #f9c80e;--blue-board: #0d7cf2;--blue-board-dark: #0758b8;--blue-board-light: #2d91ff;--blue-board-face: #0d7cf2;--blue-board-dim: #0a5dbd;--shadow-offset: 0 28px 70px rgba(18, 36, 63, .22);--radius-lg: 22px;--radius-md: 14px;--radius-sm: 8px}body{background:repeating-linear-gradient(135deg,rgba(18,36,63,.08) 0 3px,transparent 3px 9px),linear-gradient(135deg,#f8fbff,#d8e3ef 46%,#f6f2e8);background-attachment:fixed}.home-hero,.setup-panel,.game-header,.settings-modal,.player-chip{background:#ffffffe6;border:1px solid rgba(18,36,63,.12);box-shadow:var(--shadow-offset),inset 0 1px #ffffffdb}.home-hero:before,.setup-panel:before,.home-hero:after{content:none}.connect-hero{display:grid;justify-items:center}.hero-connect-board{position:relative;display:grid;width:min(330px,76vw);aspect-ratio:7 / 6;grid-template-columns:repeat(7,1fr);gap:7px;margin:0 auto 28px;padding:20px;border:3px solid #063f91;border-radius:14px;background:linear-gradient(145deg,rgba(255,255,255,.22),transparent 38%),linear-gradient(180deg,var(--blue-board-light),var(--blue-board) 50%,var(--blue-board-dark));box-shadow:0 18px 34px #12243f40,inset 0 0 0 3px #fff3;transform:none}.hero-connect-board:before{content:"";position:absolute;top:8px;left:8%;right:8%;height:5px;border-radius:999px;background:#03306f;box-shadow:inset 0 1px #ffffff47}.hero-connect-board span{display:block;aspect-ratio:1;border-radius:999px;border:2px solid rgba(4,58,130,.86);box-shadow:inset 0 4px 7px #ffffff6b,inset 0 -7px 10px #12243f33,0 2px #03295e6b}.hero-connect-board .red{background:radial-gradient(circle at 32% 23%,#ff7e88,transparent 20%),linear-gradient(145deg,#f13a49,var(--red-piece))}.hero-connect-board .yellow{background:radial-gradient(circle at 32% 23%,#fff7a8,transparent 21%),linear-gradient(145deg,#ffd93a,var(--yellow-piece))}h1{color:var(--ink);letter-spacing:0;text-shadow:none}.eyebrow{color:#0d64cf}.hero-copy{color:var(--muted)}.btn-primary{color:#fff;background:linear-gradient(180deg,#2387ff,#075fcf);border:1px solid rgba(2,45,105,.44);box-shadow:0 12px 22px #075fcf3d,inset 0 1px #ffffff57}.btn-secondary,.icon-button{color:#1e2a16;background:linear-gradient(180deg,#ffe36b,#f3b90b);border:1px solid rgba(115,80,0,.34);box-shadow:0 12px 22px #73500029,inset 0 1px #ffffff7a}.btn-danger{background:linear-gradient(180deg,#f24a57,#bb1021);border:1px solid rgba(120,10,22,.38)}.game-header{border-radius:18px}.player-chip{background:#ffffffd1;border-radius:14px}.player-chip strong{border:2px solid rgba(255,255,255,.9)}.yellow-chip strong{color:#302800}.player-chip.active{background:linear-gradient(90deg,color-mix(in srgb,var(--player-color) 16%,#ffffff),#fff 38%);border-color:color-mix(in srgb,var(--player-color) 70%,#0d64cf);box-shadow:inset 6px 0 0 var(--player-color),0 14px 24px #12243f26}.connect-shell{overflow:visible;padding:clamp(12px,2.4vw,24px);background:radial-gradient(circle at 50% 0%,rgba(255,255,255,.7),transparent 60%),linear-gradient(135deg,#dfe8f2,#f7f2e6);border:1px solid rgba(18,36,63,.14);border-radius:24px;box-shadow:0 28px 64px #12243f38,inset 0 1px #ffffffdb}.connect-frame{position:relative;width:min(92vw,calc((100dvh - 250px) * 7 / 6),740px);margin:0 auto;padding:clamp(18px,3.4vw,30px) clamp(16px,3vw,28px) clamp(24px,4.4vw,40px);border-radius:14px 14px 8px 8px;background:var(--blue-board-face);border:3px solid #053e92;box-shadow:0 26px 44px #12243f47,inset 0 0 0 3px #fff3,inset 0 -10px #02317447}.connect-frame:before,.connect-frame:after{content:"";position:absolute;bottom:-28px;width:clamp(44px,9vw,78px);height:clamp(30px,5vw,44px);border:3px solid #053e92;background:var(--blue-board-face);box-shadow:0 10px 16px #12243f38}.connect-frame:before{left:-10px;transform:skew(-28deg)}.connect-frame:after{right:-10px;transform:skew(28deg)}.connect-slot-bar{z-index:4;position:absolute;top:9px;left:8%;right:8%;height:6px;border-radius:999px;background:#03306f;box-shadow:inset 0 1px #ffffff47,0 2px #ffffff29;transition:filter .52s ease,opacity .52s ease}.win-dim-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;border-radius:inherit;background:#031b3f52;opacity:0;pointer-events:none}.connect-board{display:grid;position:relative;z-index:3;aspect-ratio:7 / 6;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:repeat(6,minmax(0,1fr));gap:0;background:radial-gradient(circle at 38% 28%,rgba(255,255,255,.72) 0 10%,transparent 11%),linear-gradient(145deg,#fff,#f7f9fc 72%,#e7edf4);transition:background-color .52s ease,filter .52s ease}.connect-board:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;background:#031b3f52;opacity:0;pointer-events:none}.connect-board:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;background:radial-gradient(circle at 50% 50%,transparent 0 55%,#0a56b8 56%,#3292ff 60%,#0648a4 65%,var(--blue-board-face) 66%) 0 0 / calc(100% / 7) calc(100% / 6);pointer-events:none;transition:filter .52s ease,opacity .52s ease}.connect-cell{position:relative;display:grid;min-width:0;min-height:0;place-items:center;border-radius:999px;padding:0;background:transparent;cursor:pointer;overflow:visible;outline:none;-webkit-tap-highlight-color:transparent}.connect-cell:focus{outline:none}.connect-cell:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.connect-cell:before{content:none;position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;border-radius:0;background:radial-gradient(circle at 50% 50%,transparent 0 55%,#0a56b8 56%,#3292ff 60%,#0648a4 65%,var(--blue-board-face) 66%);box-shadow:inset 0 1px #ffffff1f,inset 0 -1px #032c652e;pointer-events:none;transition:filter .52s ease,opacity .52s ease}.connect-cell:after{content:none;position:absolute;z-index:0;width:88%;aspect-ratio:1;border-radius:999px;background:radial-gradient(circle at 38% 28%,rgba(255,255,255,.72) 0 10%,transparent 11%),linear-gradient(145deg,#fff,#f7f9fc 72%,#e7edf4);box-shadow:inset 0 3px 6px #ffffffbf,inset 0 -5px 9px #12243f14,0 1px #03295e33;pointer-events:none;transition:filter .52s ease,opacity .52s ease}.connect-cell:disabled{cursor:default}.disc{position:relative;z-index:1;display:block;width:88%;aspect-ratio:1;border-radius:999px;transform:scale(1);background:radial-gradient(circle at 36% 22%,rgba(255,255,255,.42) 0 9%,transparent 10%),linear-gradient(145deg,#fff,#f7f9fc 72%,#e7edf4);box-shadow:inset 0 0 0 clamp(4px,.7vw,8px) #12243f14,inset 0 0 0 clamp(8px,1.15vw,13px) #ffffff38,inset 0 -5px 8px #12243f1a,0 1px #03295e33;transition:transform .16s ease,filter .52s ease,opacity .52s ease,box-shadow .52s ease;will-change:transform}.disc:before{content:"4";position:absolute;top:24%;right:24%;bottom:24%;left:24%;display:grid;place-items:center;border-radius:999px;color:#12243f2e;font-size:clamp(1.05rem,3.3vw,2.25rem);font-weight:950;line-height:1;text-shadow:0 1px 1px rgba(255,255,255,.28),0 -1px 1px rgba(0,0,0,.18)}.connect-cell.red .disc{background:linear-gradient(145deg,#ff3f50,#f11f34 58%,#d91228);box-shadow:inset 0 0 0 clamp(4px,.7vw,8px) #75091442,inset 0 0 0 clamp(8px,1.15vw,13px) #ffffff29,inset 0 -5px 8px #75091429,0 1px #03295e38}.connect-cell.yellow .disc{background:linear-gradient(145deg,#ffe04a,#ffd217 58%,#edb900);box-shadow:inset 0 0 0 clamp(4px,.7vw,8px) #9a690038,inset 0 0 0 clamp(8px,1.15vw,13px) #ffffff2e,inset 0 -5px 8px #9a690024,0 1px #03295e38}.connect-cell.red .disc:before{color:#6004102e;text-shadow:0 1px 1px rgba(255,122,132,.24),0 -1px 1px rgba(88,0,12,.28)}.connect-cell.yellow .disc:before{color:#7a520033;text-shadow:0 1px 1px rgba(255,248,160,.34),0 -1px 1px rgba(122,82,0,.18)}.connect-cell.empty .disc{opacity:0}.connect-cell.empty .disc:before{content:none}.connect-cell.last-move.red .disc,.connect-cell.last-move.yellow .disc{animation:disc-drop var(--drop-duration, .48s) cubic-bezier(.35,0,.8,1) both;will-change:transform}.connect-frame.has-winning-glow .connect-board{background:radial-gradient(circle at 38% 28%,rgba(255,255,255,.72) 0 10%,transparent 11%),linear-gradient(145deg,#fff,#f7f9fc 72%,#e7edf4)}.connect-frame.has-winning-glow .win-dim-overlay{opacity:1}.connect-frame.has-winning-glow .connect-board:after{opacity:1}.connect-frame.has-winning-glow .connect-board:before{filter:none}.connect-frame.has-winning-glow .connect-cell:not(.winning) .disc,.connect-frame.has-winning-glow .connect-cell:not(.winning):after{filter:none;opacity:1}.connect-cell.winning .disc{z-index:4;filter:saturate(1.08) brightness(1.04)}.connect-cell.red.winning .disc{filter:saturate(1.12) brightness(1.08);box-shadow:inset 0 0 0 clamp(4px,.7vw,8px) #75091457,inset 0 0 0 clamp(8px,1.15vw,13px) #ffffff2e,inset 0 0 18px #ff768161,inset 0 -5px 8px #7509142e,0 0 0 3px #ffffffc7}.connect-cell.yellow.winning .disc{filter:saturate(1.12) brightness(1.08);box-shadow:inset 0 0 0 clamp(4px,.7vw,8px) #9a69004d,inset 0 0 0 clamp(8px,1.15vw,13px) #ffffff38,inset 0 0 18px #ffee636b,inset 0 -5px 8px #9a690029,0 0 0 3px #ffffffc7}@keyframes disc-drop{0%{transform:translateY(var(--drop-distance)) scale(1);opacity:1}to{transform:translateY(0) scale(1);opacity:1}}@media(prefers-reduced-motion:reduce){.connect-cell.red .disc,.connect-cell.yellow .disc{animation-duration:1ms}}@media(max-width:760px){.connect-shell{padding:10px 8px 28px}.connect-frame{width:min(96vw,calc((100dvh - 250px) * 7 / 6),640px)}.connect-frame{padding:22px 14px 30px;border-width:2px}.connect-board{gap:0}}@media(max-width:520px){.connect-frame{width:min(96vw,calc((100dvh - 285px) * 7 / 6))}.connect-frame:before,.connect-frame:after{bottom:-22px}}@media(max-width:760px){.game-layout{min-height:100dvh;gap:8px;padding:10px}.game-header{gap:8px;padding:12px}.game-header h1{font-size:clamp(1.35rem,7vw,2rem);line-height:.98}.header-action-group{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.settings-header-button{min-width:0}.settings-header-button span{display:none}.match-status{gap:8px}.player-chip{grid-template-columns:auto minmax(0,1fr);min-height:48px;padding:7px 9px}.player-chip em{justify-self:start;grid-column:2;margin-top:-3px}.connect-shell{width:100%;padding:8px 6px 24px;border-radius:18px}.connect-frame{width:min(100%,calc((100dvh - 235px) * 7 / 6),640px);padding:18px 10px 24px;border-radius:12px 12px 7px 7px}.connect-slot-bar{top:7px;left:9%;right:9%;height:5px}.settings-modal{max-height:calc(100dvh - 20px);overflow:auto}.results-banner{padding:28px 18px 24px}.results-banner h2{font-size:clamp(1.8rem,10vw,3rem);line-height:.96}}@media(max-width:520px){.game-layout{padding:8px}.game-header{border-radius:16px}.header-action-group{gap:6px}.settings-header-button{min-height:42px;padding:0}.match-status{grid-template-columns:1fr 1fr}.player-chip{gap:7px;min-height:46px}.player-chip strong{width:30px;font-size:.82rem}.player-chip span{font-size:.78rem}.player-chip em,.player-chip.active em{padding:0;border:0;background:transparent;font-size:.64rem}.connect-shell{padding:6px 4px 22px}.connect-frame{width:min(100%,calc((100dvh - 230px) * 7 / 6));padding:16px 8px 22px}.connect-frame:before,.connect-frame:after{width:38px;height:24px;bottom:-19px}.connect-frame:before{left:6px}.connect-frame:after{right:6px}.results-actions{gap:10px;padding:14px}}@media(max-width:380px){.game-header h1{font-size:clamp(1.2rem,7vw,1.6rem)}.connect-frame{width:min(100%,calc((100dvh - 215px) * 7 / 6));padding:14px 6px 20px}}
