@import"https://fonts.googleapis.com/css2?family=Fraunces:wght@600;700&family=Sora:wght@400;500;600&display=swap";.game-room{align-items:start}.board-wrap{position:sticky;top:24px}@media (max-width: 980px){.board-wrap{position:static}}:root{color-scheme:light;--bg: #f6efe3;--bg-deep: #efe0c8;--text: #2b221b;--muted: #6c5f56;--accent: #e8684a;--accent-dark: #b84b34;--ocean: #1c5d67;--ocean-soft: #2c7b88;--card: #fdf8f1;--stroke: #d8c6b0;--shadow: 0 12px 28px rgba(51, 34, 24, .12);--board-light: #f4ddc2;--board-dark: #c77a5f;--board-edge: #8a4d3a}*{box-sizing:border-box}body{margin:0;font-family:Sora,sans-serif;background:radial-gradient(circle at top left,#fef7ea 0%,var(--bg) 45%,var(--bg-deep) 100%);color:var(--text);min-height:100vh}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(135deg,#ffffff2e,#ffffff2e 8px,#fff0 8px,#fff0 16px);opacity:.08;pointer-events:none;z-index:0}#root{position:relative;z-index:1}a{color:inherit;text-decoration:none}a:hover{color:var(--accent-dark)}.app-shell{max-width:1200px;margin:0 auto;padding:24px 20px 48px;display:flex;flex-direction:column;gap:24px}.app-header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-radius:18px;background:var(--card);border:1px solid var(--stroke);box-shadow:var(--shadow)}.logo-mark{display:flex;align-items:center;gap:12px}.logo-crest{width:42px;height:42px;border-radius:12px;background:var(--ocean);color:#f8efe4;display:grid;place-items:center;font-size:22px;font-weight:700}.logo-title{margin:0;font-family:Fraunces,serif;font-size:22px;letter-spacing:.5px}.logo-sub{margin:2px 0 0;color:var(--muted);font-size:13px}.header-links{display:flex;align-items:center;gap:14px;font-weight:600}.page{display:grid;gap:24px}.page.hero{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:center}.hero-copy h1{font-family:Fraunces,serif;font-size:clamp(28px,3vw,40px);margin:0 0 12px}.hero-copy p{margin:0 0 12px;color:var(--muted);line-height:1.6}.card{background:var(--card);border-radius:18px;padding:22px;border:1px solid var(--stroke);box-shadow:var(--shadow)}.card h2{margin-top:0;font-family:Fraunces,serif;font-size:22px}.input-group{display:flex;flex-direction:column;gap:8px}.input-label{font-weight:600;font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.12em}.input{border-radius:12px;border:1px solid var(--stroke);padding:12px 14px;font-size:16px;background:#fffaf2;transition:border .2s ease,box-shadow .2s ease}.input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #e8684a33}.helper-text{font-size:13px;color:var(--muted)}.button{border:none;border-radius:14px;padding:12px 18px;font-size:15px;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px}.button.primary{background:var(--accent);color:#fff;box-shadow:0 10px 20px #e8684a4d}.button.primary:hover{transform:translateY(-1px)}.button.secondary{background:transparent;border:1px solid var(--accent);color:var(--accent-dark)}.button.ghost{background:transparent;border:1px solid var(--stroke);color:var(--muted)}.button:disabled{opacity:.6;cursor:not-allowed;transform:none}.invite-box{margin-top:16px;display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:16px;border:1px dashed var(--stroke);background:#fffaf3}.invite-link{font-family:Sora,sans-serif;font-size:14px;word-break:break-all;color:var(--ocean)}.alert{border-radius:12px;padding:10px 12px;font-size:14px;background:#fff3e3;border:1px solid #f2c9a6;color:#935635}.alert.error{background:#ffe8e4;border-color:#f2b3a7;color:#a23b2a}.grid-two{display:grid;gap:20px;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}@media (max-width: 980px){.grid-two{grid-template-columns:1fr}}.board-wrap{display:flex;flex-direction:column;gap:16px;align-items:center}.board{width:min(90vw,520px);max-width:520px;aspect-ratio:1 / 1;display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,1fr);border-radius:18px;overflow:hidden;border:6px solid var(--board-edge);box-shadow:0 20px 30px #311d1440}.square{position:relative;border:none;padding:0;background:transparent;display:grid;place-items:center;cursor:pointer}.square.light{background:var(--board-light)}.square.dark{background:var(--board-dark)}.square.selected{outline:3px solid #f8f1d8;outline-offset:-3px}.square.legal:after{content:"";width:16px;height:16px;border-radius:50%;background:#1c5d6780;position:absolute}.square.legal.capture:after{width:34px;height:34px;border:2px solid rgba(28,93,103,.6);background:transparent}.square.last{box-shadow:inset 0 0 0 3px #1c5d6780}.square img{width:80%;height:80%;pointer-events:none}.side-panel{display:flex;flex-direction:column;gap:16px}.status-card{display:flex;flex-direction:column;gap:12px}.status-row{display:flex;align-items:center;justify-content:space-between;font-size:14px}.status-pill{padding:6px 10px;border-radius:999px;background:#e8f3f4;color:var(--ocean);font-weight:600}.status-pill.warn{background:#ffe9d2;color:#b15a2f}.status-pill.error{background:#ffe8e4;color:#a23b2a}.move-list{max-height:240px;overflow:auto;display:grid;gap:6px;font-size:14px}.move-row{display:grid;grid-template-columns:30px repeat(2,1fr);gap:8px;padding:4px 6px;border-radius:8px;background:#fffaf3}.move-row span{color:var(--muted)}.leaderboard{display:grid;gap:10px}.leaderboard-row{display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:10px;padding:8px 10px;border-radius:12px;background:#fffaf3}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1c191673;display:grid;place-items:center;z-index:10}.modal{width:min(90vw,420px);border-radius:18px;padding:22px;background:var(--card);border:1px solid var(--stroke);box-shadow:var(--shadow)}.promo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:12px}.promo-option{border-radius:14px;border:1px solid var(--stroke);background:#fffaf3;padding:10px;display:grid;place-items:center;cursor:pointer;transition:transform .2s ease,border .2s ease}.promo-option:hover{transform:translateY(-2px);border-color:var(--accent)}.connection-note,.footer-note{font-size:12px;color:var(--muted)}@media (max-width: 720px){.app-header{flex-direction:column;align-items:flex-start;gap:12px}.board{width:min(92vw,480px)}}
