:root{color:var(--ink);background:var(--paper);font-synthesis:none;--paper:#f3eee4;--ink:#1f1b16;--muted:#5f584e;--panel:#fffdf8;--line:#e4d9c6;--accent:#2c6a45;--gold:#9a7328;--danger:#b42318;--light-sq:#f0e4c4;--dark-sq:#5a7a52;font-family:Iowan Old Style,Palatino,Georgia,Times New Roman,serif}*{box-sizing:border-box}html{background:var(--paper)}body{background:radial-gradient(ellipse at 0% -10%, #dce8d4 0, transparent 34rem), radial-gradient(ellipse at 100% 0%, #f7e7c4 0, transparent 28rem), var(--paper);min-width:320px;min-height:100vh;color:var(--ink);margin:0}button,input,select,textarea{font:inherit}button,.button{border:1px solid var(--accent);color:#f7f3ea;background:var(--accent);letter-spacing:.01em;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;min-height:2.75rem;padding:.65rem 1.2rem;font-family:ui-sans-serif,system-ui,sans-serif;font-weight:700;text-decoration:none;display:inline-flex;box-shadow:inset 0 1px #ffffff80,0 8px 18px #2c6a4520}button:hover,.button:hover{filter:brightness(1.06)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #2c6a45}button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}button.secondary,.ghost{color:var(--ink);background:#fffdf8;border-color:#cfc3ac;box-shadow:inset 0 1px #fff}.compact-action{min-height:2.2rem;box-shadow:none;padding:.35rem .8rem;font-size:.8rem}a{color:var(--accent)}.site-header{z-index:20;border-bottom:1px solid var(--line);background:var(--paper);justify-content:space-between;align-items:center;max-width:1180px;height:3.15rem;margin:auto;padding:0 1rem;display:flex;position:sticky;top:0}.brand{color:var(--ink);letter-spacing:-.02em;font-size:1.15rem;font-weight:600;text-decoration:none}.brand span{color:var(--accent);margin-right:.3rem}.domain,footer{color:var(--muted);font-family:ui-sans-serif,system-ui,sans-serif;font-size:.78rem}main{max-width:1180px;margin:auto;padding:.75rem 1rem 1.5rem}footer{border-top:1px solid var(--line);max-width:1180px;margin:1.25rem auto 0;padding:.9rem 1rem 1.5rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.game-heading h1{color:var(--ink);letter-spacing:-.04em;margin:.35rem 0 .8rem;font-size:clamp(1.5rem,3vw,2.2rem);font-weight:500;line-height:.98}.eyebrow{color:var(--gold);text-transform:uppercase;letter-spacing:.16em;margin:.4rem 0;font-family:ui-sans-serif,system-ui,sans-serif;font-size:.72rem;font-weight:800;display:block}.play-shell,.lobby{grid-template-columns:minmax(300px,1fr) minmax(240px,18.5rem);align-items:start;gap:1rem;padding:.35rem 0 0;display:grid}.lobby-rail{align-content:start;gap:.7rem;display:grid}.lobby-rail .wallet-control{margin:.15rem 0 .55rem}.lobby-rail .create-form{margin-top:.15rem}.practice-table{gap:.35rem}.quiet-note{color:var(--muted);margin:0;font-family:ui-sans-serif,system-ui,sans-serif;font-size:.82rem;line-height:1.45}.panel p,.panel li{color:var(--muted);font-family:ui-sans-serif,system-ui,sans-serif;line-height:1.55}.panel{border:1px solid var(--line);background:var(--panel);border-radius:.55rem;padding:clamp(.9rem,2vw,1.2rem)}.panel h2{margin:.2rem 0 .8rem;font-size:1.4rem;font-weight:550}.muted-panel{flex-direction:column;justify-content:center;display:flex}.create-form,label{gap:.45rem;display:grid}.create-form{gap:1rem}label{color:#3c372f;font-family:ui-sans-serif,system-ui,sans-serif;font-size:.88rem;font-weight:700}label small{color:var(--muted);font-weight:400}input,select,textarea{width:100%;color:var(--ink);background:#fffdf8;border:1px solid #d8ccb6;border-radius:.6rem;padding:.72rem .8rem;font-family:ui-sans-serif,system-ui,sans-serif}input:focus,select:focus,textarea:focus{border-color:var(--accent)}textarea{resize:vertical;min-height:5.5rem;font-family:ui-monospace,monospace;font-size:.78rem}.form-error{color:var(--danger);overflow-wrap:anywhere;font-family:ui-sans-serif,system-ui,sans-serif}.success{color:#244028;background:#eef6ee;border:1px solid #8fb392;border-radius:.6rem;padding:1rem}.success code{overflow-wrap:anywhere;margin:.5rem 0 1rem;display:block}.button-row,.button-grid{flex-wrap:wrap;gap:.55rem;display:flex}.wallet-control{flex-wrap:wrap;align-items:center;gap:.45rem;margin:1rem 0;display:flex}.wallet-pill{border:1px solid var(--line);background:var(--panel);border-radius:10rem;padding:.55rem .85rem;font-family:ui-monospace,monospace;font-size:.8rem;display:inline-flex}.game-shell{padding-top:1rem}.game-heading{justify-content:space-between;align-items:end;gap:1rem;display:flex}.game-heading a{margin-bottom:.35rem;font-family:ui-sans-serif,system-ui,sans-serif;text-decoration:none;display:inline-block}.status-box{margin:.8rem 0;font-family:ui-sans-serif,system-ui,sans-serif}.spectator-banner{color:#2c3b2c;background:#eef5ea;border:1px solid #b7d0b6;border-radius:.8rem;justify-content:space-between;align-items:center;gap:1rem;margin:.8rem 0 1rem;padding:.85rem 1rem;font-family:ui-sans-serif,system-ui,sans-serif;display:flex}.spectator-banner button{flex:none}.game-grid{grid-template-columns:minmax(300px,1.2fr) minmax(280px,.8fr);align-items:start;gap:1.25rem;display:grid}.table-column{gap:.45rem;display:grid}.player-row{justify-content:space-between;align-items:center;gap:.75rem;min-height:2.35rem;padding:.15rem .1rem;display:flex}.player-row .who span{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-family:ui-sans-serif,system-ui,sans-serif;font-size:.62rem;display:block}.player-row .who strong{font-size:.95rem;font-weight:550}.player-row.to-move .who strong{color:var(--accent)}.clock-chip{text-align:right;font-variant-numeric:tabular-nums;background:0 0;border:1px solid #0000;border-radius:.4rem;min-width:4.6rem;padding:.28rem .55rem}.clock-chip span{font-size:1.2rem;line-height:1.1;display:block}.clock-chip small{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-family:ui-sans-serif,system-ui,sans-serif;font-size:.62rem}.clock-chip.live,.player-row.to-move .clock-chip{border-color:var(--accent);background:#e7f0e4}.table-tools{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.45rem;display:flex}.scoresheet-card{border:1px solid var(--line);background:var(--panel);border-radius:.55rem;padding:.75rem .8rem}.scoresheet-head{justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.45rem;font-family:ui-sans-serif,system-ui,sans-serif;display:flex}.scoresheet-head small{color:var(--muted)}.scoresheet{font-variant-numeric:tabular-nums;gap:.1rem;max-height:13.5rem;margin:0;padding:0;font-family:ui-sans-serif,system-ui,sans-serif;font-size:.88rem;list-style:none;display:grid;overflow:auto}.scoresheet li{grid-template-columns:1.7rem 1fr 1fr;gap:.35rem;padding:.12rem .1rem;display:grid}.scoresheet li:nth-child(odd){background:#f7f1e6}.scoresheet .n{color:var(--muted)}.game-sidebar .scoresheet{max-height:18rem}.play-bar{border:1px solid var(--line);background:var(--panel);border-radius:.9rem;gap:.55rem;padding:.85rem;display:grid}.play-bar p,.turn-copy{color:var(--muted);margin:0;font-family:ui-sans-serif,system-ui,sans-serif;font-size:.88rem}.promo{grid-template-columns:auto 1fr;align-items:center;gap:.6rem;font-weight:650}.table-card .button-grid{margin-top:.75rem}.board-wrap{width:min(100%,46rem);margin:0 auto}.chessboard{aspect-ratio:1;border:.38rem solid #3d3426;border-radius:.2rem;grid-template-rows:repeat(8,1fr);grid-template-columns:repeat(8,1fr);width:100%;display:grid;overflow:hidden;box-shadow:0 10px 22px #5c4a2818}.chessboard button{background:var(--light-sq);color:#16140d;width:100%;min-width:0;height:100%;min-height:0;box-shadow:none;border:0;border-radius:0;place-self:stretch stretch;place-items:center;padding:0;font-size:clamp(1.55rem,5.6vw,3.6rem);font-weight:400;line-height:0;display:grid;position:relative}.chessboard button.dark{background:var(--dark-sq);color:#f6f0df}.chessboard button.selected{box-shadow:inset 0 0 0 .28rem #e8c557}.chessboard button.last-from{background:#d4c07a}.chessboard button.dark.last-from{background:#6f7d3f}.chessboard button.last-to{background:#c9b15e}.chessboard button.dark.last-to{background:#7d8a42}.chessboard button.check{box-shadow:inset 0 0 0 .28rem #c45b4a}.chessboard button.legal{box-shadow:inset 0 0 0 .18rem #e0c07088}.chessboard button:disabled{opacity:1;cursor:default}.chessboard .piece{place-items:center;width:100%;height:100%;line-height:1;display:grid;transform:translateY(.04em)}.chessboard .piece.white{color:#f4eedc;-webkit-text-stroke:.045em #1c1810;text-shadow:0 2px 5px #0005}.chessboard .piece.black{color:#1a1712;-webkit-text-stroke:.02em #efe6cf;text-shadow:0 1px 2px #0004}.legal-dot{background:#1a1c1488;border-radius:50%;width:22%;height:22%;position:absolute}.chessboard small{opacity:.5;font:600 clamp(.4rem,1vw,.62rem) ui-sans-serif,system-ui,sans-serif;position:absolute;bottom:.08rem;left:.18rem}.game-sidebar{gap:.8rem;display:grid}.compact{padding:1rem}.stat-row{border-bottom:1px solid #eee4d3;grid-template-columns:7rem 1fr;gap:.5rem;padding:.4rem 0;font-family:ui-sans-serif,system-ui,sans-serif;display:grid}.stat-row span{color:var(--muted);font-size:.8rem}.stat-row code{text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.segmented{background:#efe6d4;border-radius:999px;grid-template-columns:1fr 1fr;padding:.2rem;display:grid}.segmented button{min-height:2.35rem;color:var(--muted);box-shadow:none;background:0 0;border-color:#0000}.segmented button.active{color:#f7f3ea;background:var(--accent)}.button-grid{grid-template-columns:repeat(2,1fr);display:grid}.count{background:var(--accent);color:#f7f3ea;border-radius:2rem;place-items:center;min-width:1.55rem;height:1.55rem;margin-left:.35rem;font-family:ui-sans-serif,system-ui,sans-serif;font-size:.75rem;display:inline-grid}.record{background:#fffaf0;border-color:#d8c48a}details.panel summary{cursor:pointer;font-size:1.05rem;font-weight:550;list-style:none}details.panel summary::-webkit-details-marker{display:none}details.panel[open] summary{margin-bottom:.75rem}details.panel p{margin-top:.4rem}.lobby-tables{margin:1.1rem 0 1.4rem;padding:.2rem 0 0;scroll-margin-top:3.4rem}.lobby-tables-bar{flex-wrap:wrap;align-items:center;gap:.55rem .75rem;margin-bottom:.55rem;display:flex}.lobby-tables-bar h2{margin:0 .35rem 0 0;font-size:1rem;font-weight:650}.refresh-button{margin-left:auto}.table-rows{gap:.28rem;margin:0;padding:0;list-style:none;display:grid}.table-row{border:1px solid var(--line);background:var(--panel);min-height:2.55rem;color:var(--ink);border-radius:.4rem;grid-template-columns:5.6rem 3.2rem minmax(0,1fr) auto;align-items:center;gap:.55rem;padding:.35rem .55rem;font-family:ui-sans-serif,system-ui,sans-serif;text-decoration:none;display:grid}.table-row:hover,.table-row:focus-visible{border-color:var(--accent);background:#eef5ea}.table-id{color:var(--muted);font-variant-numeric:tabular-nums}.table-players{align-items:center;gap:.4rem;min-width:0;display:flex}.table-players code{text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.table-players .versus{color:#8a8173;font-style:italic}.table-ply{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.75rem}.table-lookup{grid-template-columns:minmax(0,1fr) auto;gap:.45rem;margin-top:.65rem;display:grid}.compact-message{grid-column:1/-1;margin:0}.match-filters{flex-wrap:wrap;gap:.3rem;display:flex}.match-filters button{border-color:var(--line);background:var(--panel);min-height:2rem;color:var(--muted);box-shadow:none;border-radius:.4rem;padding:.25rem .55rem;font-size:.78rem}.match-filters button.active{border-color:var(--accent);color:var(--accent);background:#e7f0e4}.match-filters span{min-width:1.2rem;height:1.2rem;color:var(--ink);background:#efe6d4;border-radius:2rem;place-items:center;margin-left:.3rem;padding:0 .2rem;font-size:.68rem;display:inline-grid}.status-chip{border:1px solid var(--line);border-radius:.3rem;justify-content:center;align-items:center;min-height:1.45rem;padding:.15rem .45rem;font-family:ui-sans-serif,system-ui,sans-serif;font-size:.68rem;font-weight:800;display:inline-flex}.status-open{color:#8a6418;background:#f8edcf;border-color:#d7b56a}.status-active{color:#2c6a45;background:#e7f0e4;border-color:#9cbf9a}.status-completed{color:#5f584e;background:#efe8da}.placeholder-card{opacity:.85;background:linear-gradient(100deg,#f3eee4 25%,#fffdf8 45%,#f3eee4 65%) 0 0/250% 100%;animation:1.5s ease-in-out infinite loading-sheen}.explorer-state{text-align:center}.explorer-state p{margin:.45rem auto 1rem}.list-note{color:var(--muted);margin:.55rem 0 0;font-family:ui-sans-serif,system-ui,sans-serif;font-size:.72rem}@keyframes loading-sheen{0%{background-position:100% 0}to{background-position:-100% 0}}@media (width<=920px){.play-shell,.lobby,.game-grid{grid-template-columns:1fr}.game-heading,.spectator-banner,.lobby-tables-bar{flex-direction:column;align-items:start}.refresh-button{margin-left:0}}@media (width<=480px){main{padding:.7rem}.domain{display:none}.chessboard{border-width:.26rem}.button-grid,.table-lookup{grid-template-columns:1fr}.table-row{grid-template-columns:4.8rem minmax(0,1fr) auto}.table-id{display:none}.stat-row{grid-template-columns:5.5rem 1fr}.lobby-rail .wallet-control,.lobby-rail .button{width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
