:root{color-scheme:light;--paper:#f5f2e9;--ink:#263e31;--muted:#6b7569;--line:#dcded0;--green:#26543c;--orange:#b86636;--light:#e9dfc7;--dark:#7a9473}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.65 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:3px solid #ca7b3c;outline-offset:3px}button{color:inherit}header{max-width:1280px;margin:auto;padding:28px 35px;display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;line-height:1.05;letter-spacing:-.5px;font-size:19px}.brand>span:first-child{display:grid;place-items:center;width:43px;height:48px;background:var(--green);color:var(--paper);font:40px/1 Georgia,serif;border-radius:7px}.brand b{font-weight:650}.header-note,.eyebrow,.card-heading p,.connection,.section-label h2{font-size:10px;letter-spacing:1.4px}.header-note{color:var(--muted)}main{max-width:1200px;margin:auto;padding:55px 30px 70px;min-height:72vh}.lobby{display:grid;grid-template-columns:1.1fr 1fr;gap:85px;align-items:center;padding:5px 18px 20px}.eyebrow{color:var(--muted);margin:0 0 22px;font-weight:550}h1{font-family:Georgia,"Times New Roman",serif;letter-spacing:-3px;font-size:clamp(50px,6vw,78px);line-height:1.02;font-weight:400;margin:0 0 24px}h1 em{color:var(--orange);font-weight:400}.intro>p:not(.eyebrow){font-size:17px;color:var(--muted);max-width:330px}.lobby-art{position:relative;display:flex;align-items:center;justify-content:center;gap:52px;max-width:385px;height:170px;margin:30px 0 15px;background:repeating-conic-gradient(#dddcc8 0 25%,#ebe7d9 0 50%)0/64px 64px;border-radius:12px;border:1px solid #d4d6c4;overflow:hidden}.lobby-art span{font-family:Georgia,serif;font-size:116px;line-height:1.2;color:#37583d;z-index:1;transform:rotate(-9deg)}.lobby-art span:last-child{color:#fcf5df;text-shadow:1px 1px #576a4b,-1px -1px #576a4b;transform:rotate(8deg)}.small-notes{display:flex;gap:25px;font-size:11px;color:var(--muted)}.small-notes span:before{content:'•';color:var(--orange);padding-right:6px}.create-card{border:1px solid var(--line);padding:33px;background:#fcfaf4;border-radius:15px;box-shadow:0 16px 45px #283e3106}.card-heading{display:flex;align-items:center;gap:10px;color:var(--muted);margin-bottom:23px}.number{border:1px solid var(--line);border-radius:50%;width:28px;height:28px;display:grid;place-items:center;font-size:10px}h2{font-family:Georgia,serif;font-weight:400;font-size:31px;line-height:1.2;margin:12px 0}.create-card>p{color:var(--muted);font-size:13px;max-width:300px}.color-choices{display:flex;gap:9px;margin:26px 0}.color-choices button{flex:1;background:transparent;border:1px solid var(--line);border-radius:8px;padding:15px 5px;font-size:12px;min-width:0}.color-choices button[aria-pressed=true]{border-color:var(--green);box-shadow:0 0 0 1px var(--green);background:#edf0e6}.color-choices span{font:38px Georgia,serif;display:block;line-height:1.3}.color-choices small{display:block;font-size:9px;color:var(--muted);margin-top:5px}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:15px;text-decoration:none;border-radius:6px;padding:11px 16px;min-height:44px;font-size:13px;border:1px solid var(--green)}.primary{background:var(--green);color:#fffbed}.secondary{background:transparent;color:var(--green);border-color:var(--line)}.primary:hover:not(:disabled){background:#1a402b}.secondary:hover:not(:disabled){background:#e8ecdf}#create{width:100%;justify-content:space-between;margin:3px 0 14px}.fine{font-size:11px!important;line-height:1.7;color:var(--muted)}.text-button{display:inline-flex;align-items:center;min-height:40px;font-size:12px;border:0;background:transparent;text-decoration:none;padding:5px;color:var(--muted)}.text-button:hover{text-decoration:underline}.game-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.game-heading h1{font-size:38px;letter-spacing:-1.4px;margin:0}.game-heading .eyebrow{margin-bottom:8px;font-size:9px}.game-tools{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.game-tools .secondary{font-size:11px}.table-layout{display:grid;grid-template-columns:minmax(320px,650px) minmax(250px,1fr);gap:40px;align-items:start}.board-column{min-width:0}.player-strip{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 12px;font-size:13px}.player-strip>div{display:flex;align-items:center;gap:10px}.seat-icon{font:30px/1.3 Georgia,serif}.player-strip>span{font-size:11px;color:var(--muted)}.player-strip.own{margin:12px 0 0}.board{display:grid;grid-template-columns:repeat(8,1fr);aspect-ratio:1;box-shadow:0 0 0 7px #e3dfce,0 10px 35px #233b3014;border-radius:3px;overflow:hidden;touch-action:manipulation}.square{position:relative;border:0;padding:0;display:grid;place-items:center;aspect-ratio:1;background:var(--light);isolation:isolate;min-width:0}.square.dark{background:var(--dark)}.piece{font-family:"DejaVu Sans","Arial Unicode MS",serif;font-size:clamp(26px,4.6vw,61px);line-height:1;z-index:1;pointer-events:none;font-variant-emoji:text}.piece.white{color:#fff3d8;text-shadow:1px 0 #344331,-1px 0 #344331,0 1px #344331,0 -1px #344331,1px 1px #344331,-1px -1px #344331,0 3px 2px #30452d55}.piece.black{color:#273d31;text-shadow:0 1px 1px #f9f6e1b0}.square.selected{box-shadow:inset 0 0 0 4px #c77d39;background:#cbab71}.square.last{background:#c6c182}.square.dark.last{background:#9fa86a}.square.check{background:#cf8872}.square.target:after{content:'';position:absolute;border-radius:50%;width:23%;height:23%;background:#244b3e61;z-index:2;pointer-events:none}.square.target.capture:after{width:85%;height:85%;border:5px solid #26543c7a;background:transparent}.square:focus-visible{z-index:3;outline-offset:-4px;outline:4px solid #f5b966}.coord{position:absolute;font-size:10px;line-height:1;color:#3a533b;pointer-events:none;z-index:2;font-weight:650}.coord.file{bottom:4px;right:5px}.coord.rank{left:4px;top:4px}.board-help{font-size:10px;color:var(--muted);margin:15px 0}.sidebar{display:grid;gap:17px}.status-card,.moves-card{background:#fcfaf4;border:1px solid var(--line);padding:23px;border-radius:11px}.connection{display:flex;align-items:center;gap:7px;font-size:9px;letter-spacing:.5px;color:var(--muted)}#connection-dot{width:6px;height:6px;border-radius:50%;background:#999b7c}#connection-dot.online{background:#408f52}#game-number{margin-left:auto;font-size:8px;letter-spacing:1px}.status-card h2{font-size:30px;margin:23px 0 10px}.status-card>p{font-size:12px;color:var(--muted);margin:0}.game-actions{display:flex;justify-content:space-between;margin-top:20px;padding-top:10px;border-top:1px solid var(--line)}.danger{color:#9a4a36}#invite-box{margin-top:23px}#invite-box label{display:block;font-size:9px;letter-spacing:1px;margin-bottom:8px}.copy-field{display:flex;gap:7px;min-width:0}.copy-field input{background:#efeee4;border:1px solid var(--line);padding:8px;width:100%;min-width:0;border-radius:5px;font-size:11px;color:var(--ink)}.copy-field button{font-size:11px;padding:8px 12px}#draw-box{margin-top:15px;padding:13px;background:#ecefdf;border-radius:7px}#draw-box p{font-size:12px}#rematch{margin-top:18px;width:100%}.button-row{display:flex;gap:10px;flex-wrap:wrap}.button-row button{flex:1}.section-label{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:8px}.section-label h2{font-family:inherit;margin:0}.move-list{max-height:230px;overflow:auto;font:13px ui-monospace,SFMono-Regular,monospace;scrollbar-width:thin;margin-top:8px}.move-row{display:grid;grid-template-columns:30px 1fr 1fr;padding:7px 5px;gap:8px}.move-row:nth-child(even){background:#f0f0e6}.move-row span:first-child{color:#849080;font-size:11px}.empty-moves{font:12px/1.8 system-ui,sans-serif;color:var(--muted);margin:18px 0}.table-note{font-size:10px;color:var(--muted);margin:0 5px}.join-card{max-width:540px;margin:40px auto;text-align:center}.join-card>p:not(.eyebrow){color:var(--muted)}.join-card .primary{margin:15px auto;min-width:230px}.join-card .fine{max-width:370px;margin:10px auto}.join-card .secondary{margin-top:10px}footer{border-top:1px solid var(--line);max-width:1210px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 30px;font-size:10px;color:var(--muted)}footer .text-button{font-size:10px}footer a{text-underline-offset:4px}dialog{color:var(--ink);background:#faf8ef;max-width:540px;width:calc(100% - 32px);max-height:calc(100dvh - 36px);border:1px solid var(--line);border-radius:14px;padding:35px;box-shadow:0 25px 80px #18312430}dialog::backdrop{background:#152d29a8;backdrop-filter:blur(4px)}dialog p{font-size:13px;color:#5e705e}dialog h3{font-size:15px}dialog h2{font-size:32px}dialog .eyebrow{font-size:9px}.close{float:right;border:0;background:transparent;font-size:28px;min-width:40px;min-height:40px}.promotion-options{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:26px 0}.promotion-options button{font:45px Georgia,serif;padding:10px;border:1px solid var(--line);border-radius:7px;background:#e8ecdc}.promotion-options span{display:block;font:10px system-ui,sans-serif}#notice{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);padding:12px 20px;color:#f9f8eb;background:var(--green);box-shadow:0 3px 20px #1f3d2822;border-radius:8px;font-size:12px;z-index:10}#notice:empty{display:none}@media(min-width:1500px){.piece{font-size:61px}}@media(max-width:900px){.lobby{gap:35px;padding:0}.table-layout{gap:25px;grid-template-columns:minmax(300px,1.6fr)minmax(235px,1fr)}main{padding:35px 25px 50px}.status-card,.moves-card{padding:18px}.game-tools{gap:5px}.game-heading h1{font-size:31px}.game-tools .secondary{padding:9px 10px}}@media(max-width:700px){header{padding:20px}.header-note{display:none}main{padding:30px 20px 40px}.lobby{grid-template-columns:1fr;gap:35px;max-width:480px;margin:auto}.intro>p:not(.eyebrow){font-size:15px}.intro h1{font-size:65px;letter-spacing:-3px}.lobby-art{display:none}.small-notes{gap:20px}.create-card{padding:25px}.create-card h2{font-size:32px}.game-heading{display:block;margin-bottom:20px}.game-tools{margin-top:17px;gap:8px}.table-layout{grid-template-columns:1fr;gap:25px}.sidebar{grid-template-columns:1fr 1fr;gap:14px}.table-note{grid-column:1/-1}.piece{font-size:clamp(27px,8vw,63px)}.coord{font-size:8px}.board{box-shadow:0 0 0 5px #e3dfce}.status-card h2{font-size:26px}.board-help{font-size:9px}footer{padding:15px 20px;display:block;text-align:center}footer>span{display:block}.join-card{margin:20px auto}.join-card h1{font-size:55px}dialog{padding:25px}.promotion-options{gap:6px}.promotion-options button{font-size:35px;padding:8px}}@media(max-width:440px){.sidebar{grid-template-columns:1fr}.game-tools .secondary{font-size:10px}.game-tools .text-button{font-size:10px}.game-heading h1{font-size:33px}.game-heading .eyebrow{font-size:8px}.player-strip{font-size:12px}.player-strip>span{font-size:10px}.table-note{grid-column:auto}.intro h1{font-size:58px}.small-notes{font-size:10px}.coord.rank{top:3px;left:3px}.coord.file{bottom:3px;right:3px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.board-row{display:contents}
