/* V0.316 board-first Shogi polish: core game stays dominant; specialist tools stay below/collapsed. */
.shogi-page .gameheader{margin-bottom:10px}.shogi-page .gameheader p{max-width:760px}.shogi-page .scorebox strong{font-size:1.1rem}
.shogi-page .sg-shell{padding:15px}.shogi-page .sg-layout{grid-template-columns:minmax(320px,1.24fr) minmax(260px,.7fr);gap:20px}.shogi-page .sg-panel{gap:9px;position:sticky;top:76px}.sg-panel-block{display:grid;gap:7px}.sg-label,.sg-select-label{font-size:.68rem;font-weight:850;color:var(--muted)}.sg-select-label{display:grid;gap:5px}.sg-select-label select{width:100%;border:1px solid var(--line);border-radius:11px;padding:9px 10px;background:var(--card);color:var(--text);font:inherit}.sg-segment{display:grid;grid-template-columns:1fr 1fr;gap:6px}.sg-segment button{border:1px solid var(--line);border-radius:11px;padding:10px 8px;background:var(--card);color:var(--text);font:inherit;font-size:.78rem;font-weight:850;cursor:pointer}.sg-segment button.active{background:var(--text);border-color:var(--text);color:#fff}.shogi-page .difficulty-row{grid-template-columns:repeat(5,minmax(0,1fr))}.shogi-page .difficulty-row button{padding:7px 4px;font-size:.69rem}
.sg-main-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.sg-main-actions .btn{min-height:40px;padding:8px 7px;font-size:.78rem}.sg-main-actions kbd{margin-left:3px;border:1px solid currentColor;border-radius:5px;padding:1px 4px;font:700 .62rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;opacity:.55}.sg-main-actions #shogiPieceStyle{grid-column:1/-1}.sg-live-status{min-height:44px}.sg-more{border-top:1px solid var(--line);padding-top:2px}.sg-more>summary{cursor:pointer;list-style:none;font-size:.74rem;font-weight:850;color:var(--muted);padding:8px 0}.sg-more>summary::-webkit-details-marker{display:none}.sg-more>summary::after{content:'＋';float:right}.sg-more[open]>summary::after{content:'−'}.sg-more-body{display:grid;gap:8px;padding:2px 0 4px}.sg-check{display:flex;align-items:center;gap:8px;font-size:.75rem;color:var(--muted);font-weight:750}.sg-check input{width:16px;height:16px}
.shogi-page .sg-board{border-color:#6f4823;background:#ddb56d;box-shadow:0 12px 28px rgba(48,30,12,.16)}.shogi-page .sg-square{transition:background .12s ease,box-shadow .12s ease}.shogi-page .sg-square.legal-source:before{border-color:rgba(31,111,235,.36)}.shogi-page .sg-square.legal-dest:after{width:17%;background:#1f6feb;box-shadow:0 0 0 4px rgba(255,255,255,.42)}.shogi-page .sg-square.hint-from{box-shadow:inset 0 0 0 4px #e58220}.shogi-page .sg-square.hint-to:after{content:'';position:absolute;z-index:5;width:34%;aspect-ratio:1;border-radius:50%;background:#e58220;box-shadow:0 0 0 5px rgba(255,255,255,.62)}.shogi-page .sg-board-meta{font-size:.72rem}.shogi-page .sg-board-meta strong{font-weight:800;color:var(--muted)}
.s316-codes .sg-piece{font-size:0}.s316-codes .sg-piece::after{content:attr(data-code);font:900 clamp(15px,3vw,25px)/1 ui-sans-serif,system-ui,sans-serif}.s316-codes .sg-piece.w::after{transform:rotate(180deg)}
.sg-record{padding:0;margin-top:12px}.sg-record>summary,.sg-advanced>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;cursor:pointer;list-style:none;padding:13px 15px}.sg-record>summary::-webkit-details-marker,.sg-advanced>summary::-webkit-details-marker{display:none}.sg-record>summary span:first-child,.sg-advanced>summary span:first-child{display:grid;gap:2px}.sg-record>summary strong,.sg-advanced>summary strong{font-size:.84rem}.sg-record>summary small,.sg-advanced>summary small{font-size:.68rem;color:var(--muted);font-weight:650}.sg-record>summary>span:last-child{font-size:.72rem;color:var(--muted);font-weight:800}.sg-record-body{border-top:1px solid var(--line);padding:14px 15px}.sg-record[open]>summary,.sg-advanced[open]>summary{background:var(--soft)}
.sg-advanced{margin-top:12px;border:1px solid var(--line);border-radius:14px;background:var(--card);overflow:hidden}.sg-advanced>summary:after{content:'Open';font-size:.68rem;color:var(--muted);font-weight:850}.sg-advanced[open]>summary:after{content:'Close'}.sg-advanced-body{padding:0 12px 12px}.sg-advanced-body .s205-lab{margin-top:12px}.sg-stats{margin-top:12px}
@media(max-width:900px){.shogi-page .sg-layout{grid-template-columns:1fr}.shogi-page .sg-panel{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.shogi-page .sg-panel>*{grid-column:auto}.shogi-page .sg-panel .sg-live-status,.shogi-page .sg-panel .sg-coach,.shogi-page .sg-panel .sg-more,.shogi-page .sg-panel #shogiDayNav{grid-column:1/-1}.shogi-page .sg-main-actions{grid-template-columns:repeat(5,minmax(0,1fr));grid-column:1/-1}.shogi-page .sg-main-actions #shogiPieceStyle{grid-column:auto}.shogi-page .sg-main-actions .btn{font-size:.7rem}.shogi-page .difficulty-row{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:600px){.shogi-page .gameheader{margin-top:8px}.shogi-page .gameheader p{font-size:.79rem;line-height:1.45}.shogi-page .sg-flow-tabs{margin-bottom:8px;gap:5px}.shogi-page .sg-flow-tabs a{padding:7px 10px;font-size:.75rem}.shogi-page .sg-shell{padding:9px}.shogi-page .sg-topline{margin-bottom:8px}.shogi-page .sg-layout{gap:8px}.shogi-page .sg-panel{grid-template-columns:1fr;gap:8px}.shogi-page .sg-panel>*{grid-column:1!important}.shogi-page .sg-main-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.shogi-page .sg-main-actions #shogiPieceStyle{grid-column:2/4}.shogi-page .sg-main-actions .btn{min-height:38px;font-size:.7rem;padding:7px 4px}.shogi-page .difficulty-row{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.shogi-page .difficulty-row button{font-size:.62rem;padding:7px 2px}.sg-segment button{padding:9px 6px}.shogi-page .sg-coach{padding:9px 10px}.sg-record>summary,.sg-advanced>summary{padding:11px 12px}.sg-advanced-body{padding:0 8px 8px}.shogi-page .sg-guide{margin-bottom:84px}}
@media(max-width:600px){body.shogi-v0316 .preview-note{display:none}.shogi-page .gameheader{display:block;margin:4px 0 6px}.shogi-page .gameheader .eyebrow{font-size:.58rem;padding:4px 6px}.shogi-page .gameheader h1{font-size:1.65rem;margin:5px 0 0}.shogi-page .gameheader h1 small{font-size:.38em}.shogi-page .gameheader p,.shogi-page .gameheader .scorebox{display:none}.shogi-page .sg-flow-tabs{margin-top:2px}.shogi-page .sg-topline .eyebrow{display:none}.shogi-page .sg-topline{margin-bottom:5px}.shogi-page .sg-topline strong{font-size:.9rem}.shogi-page .sg-state span{padding:5px 7px;font-size:.65rem}}
.sg-editor{position:fixed;inset:0;z-index:60;background:rgba(18,22,28,.62);display:grid;place-items:center;padding:18px}.sg-editor[hidden]{display:none}.sg-editor-card{width:min(96vw,940px);max-height:94vh;overflow:auto;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:16px;box-shadow:0 28px 80px rgba(0,0,0,.28)}.sg-editor-head{display:flex;justify-content:space-between;gap:16px;align-items:start}.sg-editor-head h2{margin:7px 0 4px}.sg-editor-head p{margin:0;color:var(--muted);font-size:.78rem;line-height:1.5}.sg-editor-head>button{border:1px solid var(--line);background:var(--soft);border-radius:999px;width:36px;height:36px;font-size:1.2rem;cursor:pointer}.sg-editor-layout{display:grid;grid-template-columns:minmax(360px,1fr) minmax(280px,.72fr);gap:16px;margin-top:14px}.sg-editor-board{width:min(100%,540px);aspect-ratio:1;display:grid;grid-template-columns:repeat(9,1fr);border:6px solid #6f4823;border-radius:12px;overflow:hidden;background:#ddb56d}.sg-editor-board>button{position:relative;border:0;border-right:1px solid rgba(74,44,19,.5);border-bottom:1px solid rgba(74,44,19,.5);background:transparent;padding:0;display:grid;place-items:center;cursor:pointer}.sg-editor-board>button:nth-child(9n){border-right:0}.sg-editor-board>button:nth-last-child(-n+9){border-bottom:0}.sg-editor-board small{position:absolute;right:2px;bottom:1px;font-size:7px;color:rgba(77,50,25,.6);font-weight:900}.sg-editor-tools{display:grid;gap:10px;align-content:start}.sg-editor-tools>label{display:grid;gap:4px;font-size:.68rem;font-weight:850;color:var(--muted)}.sg-editor-tools select{border:1px solid var(--line);border-radius:10px;padding:8px;background:var(--card);font:inherit}.sg-editor-palette{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin-top:5px;max-height:188px;overflow:auto}.sg-editor-palette button{border:1px solid var(--line);border-radius:9px;background:var(--soft);padding:5px 2px;min-width:0;cursor:pointer;display:grid;place-items:center;gap:2px}.sg-editor-palette button.active{border-color:var(--accent);box-shadow:0 0 0 2px rgba(31,111,235,.15)}.sg-editor-palette small{font-size:.55rem;color:var(--muted);font-weight:850}.sg-editor-mini{display:grid;place-items:center;width:28px;height:30px;background:#f1cf86;color:#1d1711;border:1px solid #6f4823;clip-path:polygon(14% 8%,86% 8%,100% 100%,0 100%);font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:900;font-size:.9rem}.sg-editor-mini.w{transform:rotate(180deg)}.sg-editor-hands{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:5px}.sg-editor-hand-group{border:1px solid var(--line);border-radius:10px;padding:7px}.sg-editor-hand-group>strong{display:block;font-size:.68rem;margin-bottom:5px}.sg-editor-hand-group>div{display:grid;grid-template-columns:1fr 24px 24px 24px;gap:3px;align-items:center;padding:2px 0;font-size:.7rem}.sg-editor-hand-group button{border:1px solid var(--line);background:var(--soft);border-radius:6px;height:24px;cursor:pointer}.sg-editor-hand-group b{text-align:center}.sg-editor-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.sg-editor-actions #shogiEditorStart{grid-column:1/-1}
@media(max-width:760px){.sg-editor{padding:8px}.sg-editor-card{padding:11px;max-height:97vh}.sg-editor-layout{grid-template-columns:1fr}.sg-editor-board{width:min(100%,420px);margin:auto}.sg-editor-palette{grid-template-columns:repeat(7,minmax(0,1fr));max-height:130px}.sg-editor-hands{grid-template-columns:1fr 1fr}.sg-editor-head p{display:none}}
/* Final board-first viewport pass: keep global navigation from covering play on the specialist game screen. */
body.shogi-v0316 .preview-note{display:none}
body.shogi-v0316 .shogi-page{padding-top:20px}
@media(max-width:620px){body.shogi-v0316{padding-bottom:0}body.shogi-v0316 .mobile-dock{display:none!important}body.shogi-v0316 .shogi-page{padding-top:8px}}
