:root{ --go-fs:14px; --go-muted:#666; }
.go-game-wrapper, .go-lobby { max-width: 900px; margin: 1rem auto; font-family: system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif; font-size:var(--go-fs); }
.go-game-toolbar { display:flex; gap:.4rem; align-items:center; flex-wrap:wrap; margin-bottom:.4rem; }
.go-btn { padding:.35rem .6rem; border:1px solid #d0d0d0; background:#fafafa; border-radius:8px; cursor:pointer; font-size:calc(var(--go-fs) - 1px); }
.go-btn:hover { background:#f0f0f0; }
.go-file input[type=file]{ display:none; } .go-file span{ padding:.35rem .6rem; border:1px dashed #c8c8c8; border-radius:8px; cursor:pointer; }
.go-status { margin-left:auto; font-weight:600; color:#333; }
.go-board { width:100%; height:auto; display:block; background:#d7b26d; border-radius:10px; box-shadow:inset 0 0 0 2px rgba(0,0,0,.06); }
.go-game-info { display:flex; gap:1rem; align-items:center; margin-top:.4rem; color:#333; }
.turn-indicator .color{ display:inline-block; width:12px; height:12px; border-radius:50%; margin-right:.25rem; vertical-align:middle; }
.turn-indicator .color.black{ background:#111; } .turn-indicator .color.white{ background:#fff; border:1px solid #aaa; }
.theme-dark .go-board{ background:#b49258; } .theme-minimal .go-board{ background:#e7cf9a; box-shadow:none; border-radius:4px; }
.go-scoring .go-board{ outline:3px solid #5a8; }
.go-lobby { padding:1rem; background:#fff; border:1px solid #eee; border-radius:12px; box-shadow:0 1px 3px rgba(0,0,0,.04); }
.go-lobby h2{ margin:.2rem 0 1rem; font-size:1.1rem; }
.go-row{ display:flex; gap:1rem; flex-wrap:wrap; }
.go-card{ flex:1 1 260px; border:1px solid #eee; border-radius:10px; padding:.8rem; background:#fafafa; }
.go-field{ display:flex; flex-direction:column; margin-bottom:.5rem; }
.go-field label{ font-size:calc(var(--go-fs) - 2px); color:#555; margin-bottom:.2rem; }
.go-input, .go-select{ padding:.35rem .5rem; border:1px solid #ccc; border-radius:6px; font-size:calc(var(--go-fs) - 1px); }
.go-room-list{ width:100%; border-collapse:collapse; font-size:calc(var(--go-fs) - 1px); }
.go-room-list th, .go-room-list td{ border-bottom:1px solid #eee; padding:.4rem; text-align:left; }
.go-muted{ color:var(--go-muted); font-size:calc(var(--go-fs) - 2px); }
.go-badge{ display:inline-flex; align-items:center; gap:.25rem; padding:.15rem .4rem; border:1px solid #ddd; border-radius:999px; background:#fff; }
.go-stone{ display:inline-block; width:10px; height:10px; border-radius:50%; }
.go-stone.black{ background:#111; } .go-stone.white{ background:#fff; border:1px solid #aaa; }