:root{color:#222824;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--green:#245642;--line:#dcded4;--muted:#70766c;background:#f5f3ed;font-family:Inter,Segoe UI,Arial,sans-serif;font-weight:400}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input{touch-action:manipulation}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline-offset:4px;outline:3px solid #cc7932}button{border:0}input{color:#222824;background:#fffefa;border:1px solid #cbd0c3;border-radius:5px;width:100%;min-width:0;padding:13px 14px}label{margin-bottom:9px;font-size:13px;font-weight:600;display:block}.app{max-width:1180px;margin:0 auto;padding:0 36px}.header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:102px;display:flex}.brand{letter-spacing:-.8px;align-items:center;gap:6px;font-size:21px;font-weight:850;text-decoration:none;display:flex}.brand-light{font-weight:400}.brand-icon{background:var(--green);color:#f5f3ed;border-radius:4px;place-items:center;width:35px;height:35px;margin-right:7px;font-size:29px;display:grid}.edition,.eyebrow{letter-spacing:1.5px;font-size:10px;font-weight:750}.edition{color:var(--muted);align-items:center;gap:15px;display:flex}.dot{background:#d4a65c;border-radius:50%;width:5px;height:5px}.landing{grid-template-columns:1fr 380px;align-items:start;gap:80px;padding:70px 0 60px;display:grid}.intro .eyebrow{color:var(--green);margin-bottom:22px}h1{letter-spacing:-2.8px;margin:0 0 24px;font-size:56px;font-weight:650;line-height:1.08}h1 em{color:var(--green);font-style:normal}.lead{color:#62685e;max-width:460px;margin:0;font-size:17px;line-height:1.75}h2{letter-spacing:-.7px;margin:15px 0 28px;font-size:25px}h3{margin:12px 0;font-size:16px;font-weight:650}p{line-height:1.65}.panel{border:1px solid var(--line);background:#fffef9;border-radius:10px}.entry{margin-top:7px;padding:30px;box-shadow:0 10px 35px #323b2410}.entry>.eyebrow{color:var(--muted);font-size:9px}.button{border-radius:5px;width:100%;padding:14px 16px;font-size:14px;font-weight:650;transition:background .15s;display:block}.primary{background:var(--green);color:#fff;margin-top:20px}.primary:hover:not(:disabled){background:#183d2f}.secondary{color:#294d3b;background:#e8ecdf;margin-top:12px}.muted{color:var(--muted)}.small{font-size:12px}.entry>.small{text-align:center;margin:14px 0 0}.join-details{border-top:1px solid var(--line);margin-top:26px;padding-top:20px;font-size:13px}.join-details summary{cursor:pointer;color:var(--green)}.join-details label{margin-top:20px}.text-link{text-underline-offset:3px;color:var(--green);margin-top:15px;font-size:13px;display:inline-block}.mini-board{background:#e4e7dc;border-radius:8px;grid-template-columns:repeat(5,36px);gap:4px;width:max-content;margin-top:33px;padding:10px;display:grid;position:relative;transform:rotate(-5deg)}.mini{background:#f8f9f0;border-radius:3px;place-items:center;width:36px;height:36px;font-size:19px;font-weight:650;display:grid}.mini.hidden{background:#cad6bd;border:1px solid #afc39c;box-shadow:0 2px #a3b691}.mini-caption{width:160px;color:var(--muted);letter-spacing:1px;font-size:9px;position:absolute;bottom:18px;left:224px;transform:rotate(5deg)}.rules{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:45px;padding:32px 0 42px;display:grid}.rule-number{color:#88997b;letter-spacing:1px;font-size:11px;font-weight:600}.rules h3{margin:12px 0 7px}.rules p{color:var(--muted);max-width:300px;margin:0;font-size:13px}footer{border-top:1px solid var(--line);letter-spacing:.25px;justify-content:space-between;align-items:center;gap:30px;padding:24px 0 28px;font-size:10px;display:flex}footer p{max-width:440px;color:var(--muted);margin:0;font-size:10px}.match{padding:35px 0 42px}.match-top{justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px;display:flex}.match-title{letter-spacing:-1px;margin:12px 0 0;font-size:30px}.connection{color:#996924;font-size:11px}.connection.live{color:#547444}.match-layout{grid-template-columns:minmax(0,1fr) 310px;gap:24px;display:grid}.arena{align-self:start;min-width:0;padding:24px}.arena-heading{justify-content:space-between;align-items:center;display:flex}.arena-heading .eyebrow{color:#637657}.turn-status{min-height:59px;padding:17px 0 22px;font-size:14px;font-weight:600}.board-scroll{overscroll-behavior:contain;max-width:100%;padding:5px 5px 9px;overflow:auto}.board{grid-template-columns:repeat(var(--columns),38px);background:#dce1d4;border:7px solid #dce1d4;border-radius:5px;gap:3px;width:max-content;margin:auto;display:grid}.cell{color:#0000;border-radius:3px;width:38px;height:38px;padding:0;font-family:Segoe UI,sans-serif;font-size:20px;font-weight:700;line-height:1;transition:background .1s;position:relative}.cell.closed{cursor:default;background:#c5d3b7;border:1px solid #b5c7a4;box-shadow:0 2px #9eaf8d}.your-board .cell.closed{cursor:pointer}.your-board .cell.closed:hover{background:#abc895}.cell.opened{cursor:default;background:#f4f6ed}.cell.last:after{content:"";pointer-events:none;border-radius:3px;position:absolute;inset:0;box-shadow:inset 0 0 0 2px #cf8d48}.cell.pending{box-shadow:inset 0 0 0 3px #cc7932}.cell:focus-visible{outline-offset:1px;z-index:1}.n1{color:#327596}.n2{color:#477340}.n3{color:#b85141}.n4{color:#685c9a}.n5{color:#9d502e}.n6{color:#377777}.n7{color:#3a4a5c}.n8{color:#5c5650}.cell.mine{color:#a53930;background:#f2dbd4;font-size:30px}.board-footer{color:var(--muted);justify-content:space-between;gap:12px;margin-top:18px;font-size:11px;display:flex}.board-footer strong{color:#34482e}.sidebar{flex-direction:column;gap:16px;display:flex}.players{gap:12px;display:grid}.player-card{border:1px solid var(--line);background:#fffef9;border-left:3px solid #6991ae;border-radius:6px;padding:17px 20px}.player-card.p1{border-left-color:#b78553}.player-card.active{box-shadow:0 0 0 1px var(--green);background:#f2f7eb}.player-heading{justify-content:space-between;gap:8px;display:flex}.player-label{letter-spacing:1px;color:#607991;font-size:9px;font-weight:650}.p1 .player-label{color:#a2754a}.player-name{overflow-wrap:anywhere;align-items:center;gap:9px;margin-top:13px;font-size:17px;font-weight:600;display:flex}.presence{background:#c7c9c2;border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.presence.online{background:#668d51}.clock{letter-spacing:-1px;font-variant-numeric:tabular-nums;margin:12px 0 9px;font-family:Consolas,SFMono-Regular,monospace;font-size:43px;display:block}.clock.urgent{color:#ac3b30}.player-meta{color:var(--muted);justify-content:space-between;font-size:11px;display:flex}.actions,.result{padding:20px}.invite-row{gap:7px;display:flex}.invite-row input{padding:10px;font-size:11px}.copy{color:var(--green);background:#e8ecdf;border-radius:4px;flex-shrink:0;width:39px}.actions label{font-size:12px}.waiting-field{text-align:center;background:repeating-linear-gradient(0deg,#0000,#0000 39px,#e6e9df 40px),repeating-linear-gradient(90deg,#f5f7ee,#f5f7ee 39px,#e6e9df 40px);border:1px solid #e2e7d9;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;min-height:374px;padding:25px;display:flex}.waiting-mark{color:#80916f;font-size:65px;line-height:1.1}.waiting-field h3{margin:20px 0 0;font-size:20px}.waiting-field p{max-width:300px;color:var(--muted);font-size:13px}.result h2{margin:15px 0 10px}.result p{color:var(--muted);font-size:13px}.result .eyebrow{color:var(--green)}.error{color:#923f2c;background:#f9e9e2;border-radius:5px;padding:12px;font-size:13px;line-height:1.5}.notice{background:#f8efda;border:1px solid #e1d4af;border-radius:6px;margin-bottom:20px;padding:13px 17px;font-size:13px}.text-button{color:var(--green);background:0 0;padding:0;font-size:13px;text-decoration:underline}.spinning{animation:8s linear infinite rotate}@keyframes rotate{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@media (width>=1100px){.board{grid-template-columns:repeat(var(--columns),40px)}.cell{width:40px;height:40px}}@media (width<=900px){.app{padding:0 24px}.landing{grid-template-columns:1fr 330px;gap:30px}h1{font-size:44px}.entry{padding:24px}.mini-caption{display:none}.edition{font-size:8px}.match-layout{grid-template-columns:minmax(0,1fr) 270px;gap:16px}.arena{padding:16px}.board{margin:0}.clock{font-size:36px}.player-card{padding:15px}.match-title{font-size:26px}}@media (width<=720px){.app{padding:0 16px}.header{height:76px}.edition{display:none}.landing{grid-template-columns:1fr;gap:25px;padding:35px 0}.intro h1{font-size:45px}.intro .lead{font-size:15px}.mini-board{display:none}.entry{margin:0}.rules{grid-template-columns:1fr;gap:24px;padding:25px 0}.rules p{max-width:none}.rules>div{padding-left:28px;position:relative}.rule-number{position:absolute;top:14px;left:0}footer{display:block}footer p{margin-top:12px}.match-top{flex-direction:column;align-items:start;gap:12px}.match-title{font-size:27px}.match-layout{flex-direction:column;display:flex}.sidebar{display:contents}.players{order:-1;grid-template-columns:1fr 1fr;gap:10px}.player-card{padding:12px}.player-heading{flex-direction:column;gap:5px}.player-name{margin-top:9px;font-size:15px}.clock{font-size:29px}.player-meta{gap:5px;font-size:10px}.arena{width:100%;padding:12px}.turn-status{font-size:12px}.board-footer{font-size:10px}.actions,.result{padding:20px}.waiting-field{min-height:260px}}
