html,body,.phone,.phone-frame,.preview-shell {background:var(--nh-black);color:var(--nh-paper);}
.lobby-artboard:not(.debug-layout) {width:calc(100% - 16px);margin:8px;min-height:744px;height:calc(100% - 16px);padding:212px 24px 20px;background:var(--nh-ink);border-radius:20px;}
.sq-blossom-top {display:none;}
.nh-landscape {position:absolute;top:30px;left:0;width:100%;height:220px;object-fit:contain;pointer-events:none;opacity:.95;}
.sq-blossom-bottom {width:155px;right:-40px;bottom:65px;opacity:.65;}
.sq-lobby-settings {top:12px;left:12px;right:auto;z-index:4;}
.sq-hero {margin-bottom:auto;}
.sq-title {width:270px;max-width:100%;height:145px;}
.sq-tagline {font-size:14px;letter-spacing:2px;margin:0 0 20px;}
.sq-lobby-profile {gap:6px;margin-bottom:20px;}
.sq-lobby-avatar {width:84px;height:84px;border:2px solid var(--nh-silver);border-radius:20px;box-shadow:0 0 0 3px #080a0b,0 0 0 4px #a9adb5;}
#mainCoins {font-size:24px;line-height:30px;height:30px;}
.sq-actions {gap:10px;}
.sq-actions #mainSoloButton {position:relative;height:64px;border-radius:16px;border:1px solid var(--nh-silver);box-shadow:inset 0 0 0 3px #080a0b,inset 0 0 0 4px #a1adb1;background:var(--nh-ink);font-size:23px;}
.sq-actions #mainSoloButton>.nh-corners {display:block;}
.sq-actions button {border-color:var(--nh-line);background:var(--nh-ink);border-radius:12px;}
.sq-legal {font-size:10px;line-height:20px;margin-top:6px;}
.game-artboard:not(.debug-layout) {background:var(--nh-black);padding:0 6px;}
.game-artboard:not(.debug-layout)>.app-bar {padding-inline:8px;background:var(--nh-black);}
.sq-small-brand strong {font-family:'AppleMyungjo','Batang',serif;color:#e8e4e5;letter-spacing:2px;}
.game-artboard:not(.debug-layout)>.opponent,.game-artboard:not(.debug-layout)>.player {padding-inline:8px;background:var(--nh-black);}
.sq-player-head {padding:4px 8px;border:1px solid var(--nh-line);border-radius:12px;background:var(--nh-ink);gap:8px;}
.character-avatar,#playerAvatar {flex-basis:42px;width:42px;height:42px;border-radius:10px;border-color:var(--nh-silver);}
.character-avatar img {border-radius:9px;}
#opponentName,#playerIdentityName {font-size:16px;}
.sq-metrics {gap:0 8px;}
#coins,#opponentCoins,#playerScore,#opponentScore {font-size:14px;line-height:20px;}
#quickChatButton {height:42px;min-height:42px;flex-basis:46px;width:46px;border-radius:8px;background:var(--nh-ink);}
/* The legacy button tail was positioned against the entire player panel. */
#quickChatButton::after {content:none;display:none;}
.capture-strip,#playerCaptured,#opponentCaptured {gap:2px;border:0;border-radius:0;padding:0;}
.capture-pile {border:0;border-radius:0;background:transparent;}
.capture-strip .capture-pile::after {display:none;content:none;}
/* Reclaim internal whitespace above captures without shrinking the field or hand. */
#opponentCaptured{grid-row:3;}
#playerCaptured{grid-row:2;}
.game-artboard:not(.debug-layout)>.opponent{grid-template-rows:50px 12px minmax(0,1fr);gap:1px;padding-block:4px;}
.game-artboard:not(.debug-layout)>.player{grid-template-rows:50px minmax(0,1fr);gap:2px;padding-block:2px;}
.game-artboard:not(.debug-layout) .opponent-hand{height:12px;}
.game-artboard[data-size=short]:not(.debug-layout)>.opponent{grid-template-rows:48px 8px minmax(0,1fr);padding-block:3px;}
.game-artboard[data-size=short]:not(.debug-layout)>.player{grid-template-rows:48px minmax(0,1fr);padding-block:2px;}
.game-artboard[data-size=short] .opponent-hand{height:8px;}
.game-artboard[data-size=compact]:not(.debug-layout)>.opponent{grid-template-rows:44px 0px minmax(0,1fr);padding-block:2px;}
.game-artboard[data-size=compact]:not(.debug-layout)>.player{grid-template-rows:44px minmax(0,1fr);padding-block:2px;}
.game-artboard:not(.debug-layout) .sq-player-head{padding-block:2px;}
.game-artboard:not(.debug-layout)>.table-zone {background:radial-gradient(ellipse,#1b1f20,#0d1112 85%);border:1px solid var(--nh-silver);border-radius:12px;box-shadow:inset 0 0 0 3px #080a0b,inset 0 0 0 4px #727b8055;}
.turn-status {border:1px solid #727b80;border-radius:12px;background:#080a0be6;font-size:13px;}
.game-artboard:not(.debug-layout)>.hand {background:var(--nh-black);border-color:#727b8055;}
.character-avatar[data-turn-active=true],.game-artboard .character-avatar.is-current-turn {animation:none;border-color:#d6cedf;outline:2px solid #d6cedf;outline-offset:1px;box-shadow:0 0 7px #ded1ed66;}
/* Opening selector: one scrolling content region, persistent action footer. */
.opening-setup-dialog {display:flex;flex-direction:column;max-height:calc(100% - 8px);padding:20px;overflow:hidden;isolation:auto;}
.opening-setup-dialog::before,.opening-setup-dialog::after {display:none;}
.opening-setup-dialog>.dialog-kicker {display:block;height:auto;margin:0;padding:0;background:none;color:var(--nh-muted);}
.opening-setup-dialog h2 {flex:none;background:none;border:0;padding:0;font-size:25px;min-height:0;margin:8px 0 12px;}
.nh-opening-body {min-height:0;overflow:auto;overscroll-behavior:contain;padding:0 1px 8px;text-align:left;}
.opening-setup-dialog .opening-guide {font-size:15px;line-height:1.5;color:var(--nh-muted);text-align:left;text-shadow:none;margin:0 0 12px;}
.opening-hand {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:start;gap:24px 0;overflow:visible;min-height:0;padding:8px 18px 24px 8px;margin:0;border:0;border-radius:12px;background:#090c0d;box-shadow:none;touch-action:pan-y;}
.opening-hand .opening-preview-card {position:relative;flex:none;width:56px;max-width:none;height:84px;aspect-ratio:2/3;margin:0;filter:none;transform:none;}
.opening-hand .opening-preview-card.opening-peek {z-index:20;filter:drop-shadow(0 2px 4px #000);}
.opening-month-label {position:absolute;top:2px;left:2px;z-index:3;background:#101516e8;color:#fff;padding:1px 3px;border-radius:3px;font-size:11px;line-height:15px;pointer-events:none;}
.opening-hand .opening-preview-card.opening-selected {transform:none;filter:none;outline:2px solid var(--nh-silver);outline-offset:2px;}
.opening-card-badge {bottom:-18px;padding:3px 4px;font-size:10px;line-height:12px;color:#efefef;border:0;background:#24292c;box-shadow:none;border-radius:4px;}
.opening-options {gap:12px;margin-top:14px;}
.opening-option-row {grid-template-columns:1fr;gap:10px;padding:12px;min-height:0;border:1px solid var(--nh-line);border-image:none;border-radius:12px;background:#141719;filter:none;}
.opening-option-row strong {font-size:17px;color:var(--nh-paper);text-shadow:none;}
.opening-option-row small {font-size:13px;line-height:1.5;color:var(--nh-muted);}
.opening-segments button {min-height:48px;font-size:16px;white-space:normal;}
.opening-segments button[aria-pressed=true] {border-color:#efedf6;background:#30373b;box-shadow:inset 0 0 0 1px #d8dce4;color:white;}
.opening-segments button[aria-pressed=true]::before {content:'✓ ';color:#e8e0ed;}
.opening-empty {padding:12px;background:#141719;border:1px solid var(--nh-line);color:var(--nh-muted);font-size:15px;}
.nh-opening-footer {flex:none;padding-top:8px;border-top:1px solid #727b8055;}
.opening-setup-dialog .opening-summary {font-size:14px;line-height:1.5;min-height:0;margin:0 0 8px;color:var(--nh-paper);text-shadow:none;}
.dialog .opening-confirm {width:100%;min-height:56px;padding:10px 16px;border:1px solid var(--nh-silver);border-image:none;border-radius:12px;background:var(--nh-ink);box-shadow:inset 0 0 0 3px #727b8033;filter:none;color:var(--nh-paper);font-size:18px;text-shadow:none;margin:0;}
/* Rules: fixed header and independently scrollable book. */
.rules-guide-dialog {display:flex;flex-direction:column;overflow:hidden;text-align:left;}
.rules-guide-dialog>.capture-dialog-head {flex:none;align-items:center;padding:0 0 12px;border-bottom:1px solid var(--nh-line);}
.rules-guide-dialog h2 {font-size:24px;margin:6px 0 0;}
.nh-rules-body {min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-top:14px;}
.rules-guide-dialog .rules-review-credit {padding:8px 12px;margin:0 0 18px;border:0;border-left:2px solid var(--nh-silver);border-radius:0;background:#cbd1d40a;color:var(--nh-muted);font-size:15px;line-height:1.6;text-align:left;}
.rules-guide-dialog .rule-book-grid {display:block;}
.rules-guide-dialog .rule-book-grid section {padding:16px 0;margin:0;border:0;border-bottom:1px solid #727b8055;border-radius:0;background:none;text-align:left;}
.rules-guide-dialog .rule-book-grid strong {font-size:18px;color:var(--nh-paper);}
.rules-guide-dialog .rule-book-grid p {margin:8px 0 0;font-size:16px;line-height:1.7;color:var(--nh-muted);text-align:left;}
@media(max-height:759px){.lobby-artboard:not(.debug-layout){min-height:680px;padding-top:172px;}.nh-landscape{height:180px;}.sq-title{height:124px;}.sq-tagline{margin-bottom:14px;}.sq-lobby-avatar{width:68px;height:68px;}.sq-lobby-profile{margin-bottom:14px;}}
@media(max-width:359px){.dialog{padding:18px 14px;}.overlay{padding:10px;}.sq-player-head{padding-inline:4px;gap:6px;}#quickChatButton{width:42px;flex-basis:42px;}.sq-metrics{gap:0 5px;}#coins,#opponentCoins,#playerScore,#opponentScore{font-size:12px;}}
