:root { --chess-ink:#2f241c; --chess-paper:#f5efe1; --chess-red:#a43d2d; --chess-jade:#2f6759; --chess-gold:#d1a75b; --chess-line:rgba(62,43,26,.22); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body.chess-body { margin:0; color:var(--chess-ink); background:radial-gradient(circle at 15% 10%,rgba(209,167,91,.18),transparent 28%),linear-gradient(145deg,#f7f1e5,#e8dfcd); font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif; }
.skip-link { position:fixed; z-index:400; left:12px; top:-60px; padding:10px 14px; color:white; background:#1b4a3e; border-radius:10px; }
.skip-link:focus { top:12px; }
.chess-app { width:min(1400px,calc(100% - 36px)); margin:0 auto; padding:98px 0 56px; }
.challenge-topbar { min-height:72px; padding:12px 18px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:18px; border:1px solid rgba(255,255,255,.75); border-radius:20px; background:rgba(255,251,241,.78); box-shadow:0 18px 55px rgba(66,44,24,.11); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); }
.challenge-topbar a { color:var(--chess-jade); font-size:13px; font-weight:700; text-decoration:none; }
.challenge-topbar div { display:grid; gap:4px; text-align:center; }
.challenge-topbar span { color:var(--chess-red); font-size:10px; letter-spacing:.18em; }
.challenge-topbar strong { font-family:"Songti SC",serif; font-size:19px; letter-spacing:.1em; }
.challenge-topbar p { margin:0; justify-self:end; color:#75685a; }
.challenge-topbar p b { color:var(--chess-red); font-size:26px; }
.challenge-stage { margin-top:18px; display:grid; grid-template-columns:minmax(420px,.95fr) minmax(340px,.7fr); gap:18px; }
.board-column,.insight-column { min-width:0; border:1px solid rgba(255,255,255,.72); border-radius:26px; background:rgba(255,251,241,.8); box-shadow:0 25px 70px rgba(66,44,24,.11); }
.board-column { padding:clamp(22px,3vw,40px); }
.stage-kicker { margin:0 0 7px; color:var(--chess-red); font-size:11px; font-weight:800; letter-spacing:.14em; }
.board-column h1 { margin:0; font-family:"Songti SC",serif; font-size:clamp(34px,4.2vw,58px); line-height:1.08; }
.stage-lead { margin:12px 0 22px; color:#706457; line-height:1.7; }
.xiangqi-board { position:relative; width:min(100%,540px); aspect-ratio:9/10; margin:0 auto; border:12px solid #825932; border-radius:8px; background-color:#dcb77b; background-image:linear-gradient(rgba(78,45,20,.62) 1px,transparent 1px),linear-gradient(90deg,rgba(78,45,20,.62) 1px,transparent 1px); background-size:12.5% 11.111%; box-shadow:inset 0 0 0 3px rgba(255,231,180,.4),0 18px 40px rgba(64,38,17,.22); overflow:hidden; }
.xiangqi-board::after { content:"楚 河　　　　汉 界"; position:absolute; left:0; right:0; top:44.45%; height:11.2%; display:flex; align-items:center; justify-content:center; color:rgba(75,42,18,.76); background:#dcb77b; font-family:"STKaiti","KaiTi",serif; font-size:clamp(16px,3vw,29px); letter-spacing:.18em; }
.piece { position:absolute; z-index:2; width:10.5%; aspect-ratio:1; display:grid; place-items:center; transform:translate(-50%,-50%); border:2px solid currentColor; border-radius:50%; background:radial-gradient(circle at 35% 28%,#fff5d6,#d9b46f 72%); box-shadow:0 3px 6px rgba(53,31,15,.32),inset 0 0 0 3px rgba(112,66,28,.17); font-family:"STKaiti","KaiTi",serif; font-size:clamp(18px,3vw,31px); font-weight:800; }
.piece.red { color:#a22f28; }
.piece.black { color:#243a36; }
.insight-column { padding:clamp(24px,3vw,42px); align-self:stretch; }
.insight-topbar { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.insight-topbar .stage-actions { margin:0 0 0 auto; flex:0 0 auto; }
.role-pill { display:inline-flex; padding:7px 11px; border-radius:999px; color:#f8efdb; background:var(--chess-jade); font-size:11px; font-weight:800; letter-spacing:.12em; }
.insight-column h2 { margin:18px 0 10px; font-family:"Songti SC",serif; font-size:clamp(28px,3vw,42px); line-height:1.24; }
.insight-column>p { color:#706457; line-height:1.78; }
.preview-choices { margin-top:25px; display:grid; gap:10px; }
.preview-choices button { min-height:54px; padding:12px 16px; border:1px solid var(--chess-line); border-radius:14px; color:var(--chess-ink); background:#fffaf0; cursor:pointer; font:700 14px/1.45 inherit; text-align:left; transition:transform .18s,border-color .18s,background .18s; }
.preview-choices button:hover,.preview-choices button:focus-visible { transform:translateX(3px); border-color:var(--chess-red); outline:none; }
.preview-choices button.is-right { border-color:#2f6759; color:#194f42; background:#e1f0e8; }
.preview-choices button.is-wrong { border-color:#b85a4a; color:#7c3026; background:#fae8e2; }
.preview-feedback { min-height:48px; padding:12px 14px; border-left:3px solid var(--chess-gold); background:rgba(209,167,91,.12); }
.executive-preview { margin-top:24px; padding:20px; border-radius:18px; color:#f8efdc; background:linear-gradient(145deg,#263e38,#153028); }
.executive-preview small { color:#d5b36f; letter-spacing:.14em; }
.executive-preview h3 { margin:8px 0; font-family:"Songti SC",serif; font-size:24px; }
.executive-preview p { margin:0; color:rgba(255,255,255,.72); line-height:1.75; }
@media(max-width:900px){.challenge-stage{grid-template-columns:1fr}.xiangqi-board{width:min(100%,580px)}}
@media(max-width:700px){.chess-app{width:calc(100% - 24px);padding-top:126px}.challenge-topbar{grid-template-columns:1fr auto}.challenge-topbar div{grid-column:1/-1;grid-row:1;text-align:left}.challenge-topbar a{grid-row:2}.challenge-topbar p{grid-row:2}.board-column,.insight-column{border-radius:20px}.xiangqi-board{border-width:8px}.piece{font-size:clamp(15px,6vw,26px)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.preview-choices button{transition:none}}

/* Full YDS-18 working surface */
body[data-element="earth"] { --element:#7d5732; --element-soft:#efe0c8; }
body[data-element="human"] { --element:#2f6759; --element-soft:#dcebe4; }
body[data-element="heaven"] { --element:#526d91; --element-soft:#dfe6ef; }
button,input,textarea { font:inherit; }
button { color:inherit; }
.challenge-topbar { position:relative; }
.challenge-topbar .challenge-brand { display:grid; gap:4px; text-align:center; }
.challenge-topbar .topbar-tools { display:flex; align-items:center; justify-content:flex-end; gap:8px; text-align:left; }
.mode-switch { display:flex; gap:3px; padding:3px; border:1px solid var(--chess-line); border-radius:999px; background:#efe6d7; }
.mode-switch button,.cockpit-link { min-height:36px; padding:0 12px; border:0; border-radius:999px; background:transparent; cursor:pointer; font-size:11px; font-weight:800; }
.mode-switch button.is-active { color:#fff8e7; background:var(--chess-jade); }
.cockpit-link { color:#fff8e7; background:#743a2d; }
.experience-note { margin:14px 0; padding:14px 18px; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:18px; border:1px solid rgba(255,255,255,.78); border-radius:18px; background:rgba(255,251,241,.68); }
.experience-note>div { display:flex; align-items:baseline; gap:5px; white-space:nowrap; }
.experience-note>div b { color:var(--chess-red); font-family:Georgia,serif; font-size:29px; }
.experience-note>div span { color:#7c6d5d; font-size:11px; }
.experience-note p { margin:0; color:#6e6255; font-size:12px; line-height:1.6; }
.experience-note p strong { color:#3d3127; }
.experience-note>button { min-height:38px; padding:0 12px; border:1px solid var(--chess-line); border-radius:999px; background:transparent; cursor:pointer; font-size:10px; }
.level-rail { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; margin-bottom:18px; }
.rail-group { min-width:0; padding:10px; border:1px solid rgba(255,255,255,.72); border-top:4px solid var(--rail); border-radius:17px; background:rgba(255,251,241,.72); }
.group-earth { --rail:#7d5732; }.group-human { --rail:#2f6759; }.group-heaven { --rail:#526d91; }
.rail-group summary { display:flex; align-items:baseline; justify-content:space-between; margin:0 3px 8px; cursor:pointer; list-style:none; }
.rail-group summary::-webkit-details-marker { display:none; }
.rail-group summary b { color:var(--rail); font-family:"Songti SC",serif; font-size:19px; }
.rail-group summary span { color:#827565; font-size:10px; letter-spacing:.12em; }
.rail-group summary i { display:none; }
.rail-group>div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
.rail-group button { position:relative; min-width:0; min-height:58px; padding:7px 6px; display:grid; grid-template-columns:auto minmax(0,1fr); grid-template-areas:"code blind" "name name"; align-items:center; gap:3px 6px; border:1px solid var(--chess-line); border-radius:11px; background:#fffaf0; cursor:pointer; text-align:left; }
.rail-group button small { grid-area:code; color:var(--rail); font-weight:900; }
.rail-group button strong { grid-area:name; overflow:hidden; font-family:"Songti SC",serif; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
.rail-group button span { grid-area:blind; justify-self:end; color:#867765; font-size:9px; }
.rail-group button:hover,.rail-group button:focus-visible { border-color:var(--rail); outline:2px solid color-mix(in srgb,var(--rail) 25%,transparent); }
.rail-group button.is-active { color:#fff9ea; border-color:var(--rail); background:var(--rail); }
.rail-group button.is-active small,.rail-group button.is-active span { color:#fff2cf; }
.rail-group button.is-complete::after { content:"✓"; position:absolute; }
.rail-group button.is-complete { box-shadow:inset 0 -3px 0 #4b8a6b; }
.challenge-stage { scroll-margin-top:20px; }
.stage-meta { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.stage-meta span { padding:6px 9px; border:1px solid var(--chess-line); border-radius:999px; color:#6e6254; font-size:10px; }
.board-toolbar { margin:0 auto 12px; width:min(100%,540px); display:flex; align-items:center; justify-content:space-between; gap:10px; }
.board-toolbar span { color:#7a6d5d; font-size:10px; }
.board-toolbar>div { display:flex; align-items:center; gap:6px; }
.board-toolbar button,.board-toolbar a { min-height:36px; padding:0 12px; display:inline-flex; align-items:center; border:1px solid color-mix(in srgb,var(--element) 45%,transparent); border-radius:999px; color:var(--element); background:var(--element-soft); cursor:pointer; font-size:10px; font-weight:800; text-decoration:none; }
.xiangqi-board { position:relative; width:min(100%,540px); aspect-ratio:9/10; margin:0 auto; overflow:hidden; border:10px solid #805733; border-radius:9px; background:radial-gradient(circle at 25% 18%,rgba(255,245,210,.35),transparent 30%),linear-gradient(145deg,#e6c78e,#d4aa6b); background-image:none; box-shadow:inset 0 0 0 3px rgba(255,235,194,.46),0 18px 40px rgba(64,38,17,.22); }
.xiangqi-board::after { display:none; }
.board-lines { position:absolute; inset:0; width:100%; height:100%; }
.board-lines g { fill:none; stroke:rgba(78,45,20,.7); stroke-width:2.3; }
.board-lines text { fill:rgba(75,42,18,.78); font-family:"STKaiti","KaiTi",serif; font-size:35px; text-anchor:middle; letter-spacing:8px; }
.piece { width:9.4%; z-index:3; font-size:clamp(16px,2.8vw,29px); transition:transform .18s,box-shadow .18s; }
.piece.is-key { box-shadow:0 0 0 4px rgba(255,245,202,.64),0 0 0 7px color-mix(in srgb,var(--element) 56%,transparent),0 6px 12px rgba(53,31,15,.34); }
.board-source { width:min(100%,540px); margin:11px auto 0; color:#807363; font-size:10px; line-height:1.55; }
.role-pill { background:var(--element); }
.confidence-control { margin:21px 0 0; padding:12px 14px; display:flex; align-items:center; gap:14px; border:1px solid var(--chess-line); border-radius:14px; }
.confidence-control legend { padding:0 7px; color:#776a5d; font-size:10px; font-weight:800; }
.confidence-control label { display:flex; align-items:center; gap:5px; font-size:12px; }
.confidence-control input { accent-color:var(--element); }
.preview-choices button { grid-template-columns:28px 1fr; align-items:center; gap:8px; }
.preview-choices button span { width:24px; height:24px; display:grid; place-items:center; border-radius:50%; color:#77695a; background:#eee2d0; font-size:10px; }
.preview-choices button:disabled { cursor:default; opacity:1; }
.preview-feedback.is-success { border-color:#36745e; color:#215544; background:#e0efe7; }
.preview-feedback.is-error { border-color:#b85547; color:#7b342a; background:#f8e4df; }
.preview-feedback.is-hint { border-color:#8b6a32; color:#684b21; background:#f3e8cf; }
.stage-actions { margin-top:15px; display:flex; justify-content:space-between; gap:10px; }
.stage-actions button { min-height:42px; padding:0 15px; border:1px solid var(--chess-line); border-radius:999px; background:#fffaf0; cursor:pointer; font-size:11px; font-weight:800; }
.stage-actions button:last-child { color:white; border-color:var(--element); background:var(--element); }
.stage-actions button:disabled { opacity:.35; cursor:not-allowed; }
.analysis-hub,.executive-cockpit { margin-top:22px; scroll-margin-top:20px; border:1px solid rgba(255,255,255,.76); border-radius:28px; background:rgba(255,251,241,.82); box-shadow:0 25px 70px rgba(66,44,24,.1); }
.analysis-hub>header,.executive-cockpit>header { padding:clamp(24px,3.2vw,42px); display:grid; grid-template-columns:minmax(0,.9fr) minmax(280px,.8fr); gap:6vw; align-items:end; }
.analysis-hub>header small,.executive-cockpit>header small,.section-title small { color:var(--element); font-size:10px; font-weight:900; letter-spacing:.16em; }
.analysis-hub>header h2,.executive-cockpit>header h2 { margin:8px 0 0; font-family:"Songti SC",serif; font-size:clamp(31px,4vw,52px); font-weight:500; line-height:1.18; }
.analysis-hub>header p,.executive-cockpit>header p { margin:0; color:#706457; line-height:1.78; }
.analysis-tabs { padding:0 clamp(18px,3vw,42px); display:flex; gap:5px; overflow:auto; border-bottom:1px solid var(--chess-line); }
.analysis-tabs button { min-height:48px; padding:0 16px; flex:0 0 auto; border:0; border-bottom:3px solid transparent; color:#726657; background:transparent; cursor:pointer; font-size:12px; font-weight:800; }
.analysis-tabs button.is-active { color:var(--element); border-color:var(--element); }
.analysis-panel { padding:clamp(22px,3.2vw,42px); }
.reading-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.reading-steps article { min-height:132px; padding:20px; border:1px solid var(--chess-line); border-radius:17px; background:#fffaf0; }
.reading-steps b { width:30px; height:30px; display:grid; place-items:center; border-radius:50%; color:white; background:var(--element); }
.reading-steps p { margin:13px 0 0; color:#5f554a; font-size:13px; line-height:1.7; }
.explanation-grid { margin-top:10px; display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.explanation-grid article { padding:20px; border-radius:17px; background:#eee5d6; }
.explanation-grid small { color:var(--element); font-weight:900; letter-spacing:.08em; }
.explanation-grid p { margin:10px 0 0; color:#5e5448; font-size:13px; line-height:1.75; }
.triad-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.triad-grid article { min-height:230px; padding:24px; border-radius:20px; color:white; }
.triad-grid .earth { background:linear-gradient(145deg,#85603a,#5f4228); }.triad-grid .human { background:linear-gradient(145deg,#397566,#234e43); }.triad-grid .heaven { background:linear-gradient(145deg,#607a9d,#3c506c); }
.triad-grid b { width:45px; height:45px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.42); border-radius:50%; font-family:"Songti SC",serif; font-size:22px; }
.triad-grid h3 { margin:20px 0 0; font-family:"Songti SC",serif; font-size:28px; }
.triad-grid p { color:rgba(255,255,255,.76); font-size:13px; line-height:1.78; }
.boundary-copy { margin:13px 0 0; padding:14px 17px; border-left:3px solid var(--chess-gold); color:#675b4c; background:#f0e5d0; font-size:12px; line-height:1.65; }
.enterprise-case { padding:clamp(22px,3vw,36px); border-radius:22px; color:#fff7e6; background:linear-gradient(145deg,#263e38,#153028); }
.enterprise-case small { color:#dfbd77; letter-spacing:.14em; }
.enterprise-case h3 { margin:9px 0 12px; font-family:"Songti SC",serif; font-size:clamp(28px,3.4vw,42px); }
.enterprise-case p { color:rgba(255,255,255,.72); line-height:1.78; }
.enterprise-case strong { display:block; margin-top:16px; color:#e5c47f; }
.design-flow { margin-top:10px; display:grid; grid-template-columns:repeat(5,1fr); gap:7px; }
.design-flow article { min-height:145px; padding:17px; border:1px solid var(--chess-line); border-radius:15px; background:#fffaf0; }
.design-flow span { color:var(--element); font-size:11px; font-weight:900; }
.design-flow p { color:#62574b; font-size:12px; line-height:1.65; }
.reflection-card { margin-top:10px; padding:20px 24px; border-radius:17px; background:#efe5d4; }
.reflection-card h3 { margin:0; font-family:"Songti SC",serif; font-size:24px; }
.reflection-card ol { margin:11px 0 0; padding-left:22px; display:grid; gap:7px; color:#64594d; line-height:1.65; }
.current-evidence { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:20px; }
.current-evidence>div { min-width:190px; padding:17px; border-radius:17px; color:white; background:var(--element); }
.current-evidence span,.current-evidence strong { display:block; }.current-evidence span { font-size:11px; }.current-evidence strong { margin-top:6px; font-size:23px; }
.current-evidence p { color:#655a4e; line-height:1.75; }
.ability-tags { margin-top:13px; display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
.ability-tags span { min-height:70px; padding:14px; display:flex; align-items:center; gap:9px; border:1px solid var(--chess-line); border-radius:14px; background:#fffaf0; font-size:11px; }
.ability-tags b { color:var(--element); font-size:15px; }
.executive-cockpit { overflow:hidden; background:linear-gradient(180deg,rgba(255,251,241,.94),rgba(236,226,208,.94)); }
.domain-summary { padding:0 clamp(22px,3vw,42px); display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.domain-summary article { min-height:125px; padding:20px; border-radius:18px; color:white; }
.domain-summary article:nth-child(1){background:#765331}.domain-summary article:nth-child(2){background:#2f6759}.domain-summary article:nth-child(3){background:#526d91}
.domain-summary span,.domain-summary strong,.domain-summary small { display:block; }.domain-summary span { font-size:11px; opacity:.75; }.domain-summary strong { margin-top:12px; font-family:"Songti SC",serif; font-size:27px; }.domain-summary small { margin-top:6px; opacity:.62; }
.cockpit-grid { padding:12px clamp(22px,3vw,42px) 0; display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.ability-report,.decision-canvas,.role-config { padding:24px; border:1px solid var(--chess-line); border-radius:20px; background:rgba(255,250,240,.82); }
.section-title h3 { margin:6px 0 0; font-family:"Songti SC",serif; font-size:28px; }
.ability-report>[data-ability-report] { margin-top:20px; display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
.ability-report article { padding:13px; border-radius:13px; background:#eee4d4; }
.ability-report article header { display:flex; justify-content:space-between; gap:8px; }
.ability-report article header span { font-size:10px; font-weight:800; }.ability-report article header b { margin-right:5px; color:var(--element); }
.ability-report article header strong { font-size:15px; }.ability-report article>div { height:5px; margin-top:9px; overflow:hidden; border-radius:999px; background:#d7cbbb; }.ability-report article i { display:block; height:100%; background:var(--element); }
.ability-report article p { margin:7px 0 0; color:#7b6e5e; font-size:9px; }
.decision-canvas { display:grid; gap:10px; }
.decision-canvas label { display:grid; gap:6px; color:#65594d; font-size:11px; font-weight:800; }
.decision-canvas textarea { width:100%; resize:vertical; padding:11px; border:1px solid var(--chess-line); border-radius:12px; color:#342a22; background:#fffdf6; line-height:1.5; }
.decision-canvas textarea:focus,.role-config input:focus { border-color:var(--element); outline:3px solid color-mix(in srgb,var(--element) 16%,transparent); }
.decision-canvas>p { margin:0; color:#817463; font-size:9px; text-align:right; }
.role-config { margin:12px clamp(22px,3vw,42px) 0; }
.role-config>div:last-child { margin-top:18px; display:grid; grid-template-columns:repeat(3,1fr); gap:9px; }
.role-config label { display:grid; gap:8px; }.role-config label span { color:#675b4e; font-size:11px; font-weight:800; }.role-config input { min-height:46px; padding:0 12px; border:1px solid var(--chess-line); border-radius:12px; background:#fffdf6; }
.report-actions { padding:13px clamp(22px,3vw,42px); display:flex; align-items:center; gap:9px; }
.report-actions button { min-height:42px; padding:0 15px; border:1px solid var(--chess-line); border-radius:999px; background:#fffaf0; cursor:pointer; font-size:11px; font-weight:800; }
.report-actions button:first-child { color:white; border-color:#2f6759; background:#2f6759; }.report-actions span { color:#6d6154; font-size:10px; }
.governance-note { margin:0 clamp(22px,3vw,42px) clamp(22px,3vw,42px); padding:17px 20px; display:grid; grid-template-columns:auto 1fr; align-items:start; gap:16px; border:1px solid rgba(130,58,45,.2); border-radius:17px; color:#713d34; background:#f6e4df; }
.governance-note p { margin:0; font-size:11px; line-height:1.7; }
.chess-footer { padding:38px 12px 78px; display:flex; justify-content:space-between; gap:18px; color:#746758; font-size:11px; }
.chess-footer p { margin:0; color:#49392d; font-family:"Songti SC",serif; font-size:18px; }
@media(max-width:1050px){.level-rail{grid-template-columns:1fr}.rail-group>div{grid-template-columns:repeat(6,minmax(90px,1fr));overflow:auto}.design-flow{grid-template-columns:repeat(3,1fr)}.cockpit-grid{grid-template-columns:1fr}.ability-report>[data-ability-report]{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.challenge-topbar{grid-template-columns:1fr auto}.challenge-topbar .challenge-brand{grid-column:1/-1;grid-row:1;text-align:left}.back-home{grid-row:2}.challenge-topbar .topbar-tools{grid-row:2}.experience-note{grid-template-columns:auto 1fr}.experience-note>button{grid-column:1/-1;width:fit-content}.analysis-hub>header,.executive-cockpit>header{grid-template-columns:1fr;gap:14px}.reading-steps,.explanation-grid,.triad-grid{grid-template-columns:1fr}.design-flow{grid-template-columns:repeat(2,1fr)}.domain-summary{grid-template-columns:1fr}.ability-report>[data-ability-report]{grid-template-columns:repeat(2,1fr)}.role-config>div:last-child{grid-template-columns:1fr}.current-evidence{grid-template-columns:1fr}.ability-tags{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.chess-app{padding-top:118px}.challenge-topbar .topbar-tools{align-items:flex-end;flex-direction:column}.mode-switch button,.cockpit-link{min-height:32px;padding:0 9px;font-size:9px}.experience-note{gap:10px}.experience-note p{font-size:11px}.rail-group>div{grid-template-columns:repeat(6,90px)}.rail-group button{min-height:54px}.challenge-stage{margin-top:12px}.board-column{padding:20px 14px}.xiangqi-board{border-width:7px}.piece{width:9.8%;font-size:clamp(14px,5.7vw,24px)}.insight-column{padding:24px 19px}.confidence-control{flex-wrap:wrap}.analysis-tabs{padding:0 12px}.analysis-panel{padding:20px 14px}.design-flow{grid-template-columns:1fr}.ability-report>[data-ability-report]{grid-template-columns:1fr}.report-actions{align-items:flex-start;flex-direction:column}.governance-note{grid-template-columns:1fr}.chess-footer{align-items:flex-start;flex-direction:column}.current-evidence>div{min-width:0}}
@media(max-width:430px){.challenge-topbar{padding:11px}.challenge-topbar .topbar-tools{grid-column:1/-1;grid-row:3;align-items:center;flex-direction:row;justify-content:space-between}.experience-note{grid-template-columns:1fr}.experience-note>button{grid-column:auto}.board-lines text{font-size:28px}.ability-tags{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.piece,.homeland-chess-launch{transition:none!important}}
@media print{[data-system-shell],.challenge-topbar,.experience-note,.level-rail,.challenge-stage,.analysis-hub,.report-actions,.chess-footer{display:none!important}.chess-app{width:100%;padding:0}.executive-cockpit{margin:0;border:0;box-shadow:none}.executive-cockpit>header{padding-top:0}.decision-canvas textarea,.role-config input{border:1px solid #999}.governance-note{break-inside:avoid}}

/* Four-library knowledge system */
.library-dock { position:sticky; z-index:30; top:10px; margin:14px 0; padding:5px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px; border:1px solid rgba(255,255,255,.8); border-radius:20px; background:rgba(240,232,216,.9); box-shadow:0 14px 38px rgba(62,42,24,.1); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); }
.library-dock a { min-width:0; min-height:64px; padding:9px 13px; display:flex; align-items:center; gap:12px; border-radius:15px; color:#685b4c; text-decoration:none; transition:background .18s,color .18s,transform .18s; }
.library-dock a:hover,.library-dock a:focus-visible { transform:translateY(-1px); outline:2px solid rgba(47,103,89,.22); }
.library-dock a.is-active { color:#fff9e8; background:linear-gradient(135deg,#254f45,#173d35); }
.library-dock a>b { min-width:34px; color:var(--chess-red); font:700 20px/1 Georgia,serif; }
.library-dock a.is-active>b { color:#efc97e; }
.library-dock a>span { min-width:0; display:grid; gap:3px; }
.library-dock small { overflow:hidden; font-size:9px; letter-spacing:.1em; opacity:.68; text-overflow:ellipsis; white-space:nowrap; }
.library-dock strong { overflow:hidden; font-family:"Songti SC",serif; font-size:17px; letter-spacing:.04em; text-overflow:ellipsis; white-space:nowrap; }
.library-intro { scroll-margin-top:104px; padding:23px 28px; display:grid; grid-template-columns:minmax(260px,.7fr) 1.3fr; align-items:end; gap:7vw; border:1px solid rgba(255,255,255,.72); border-radius:22px; background:linear-gradient(135deg,rgba(255,250,240,.88),rgba(232,221,202,.82)); }
.library-intro small { color:#8a4a38; font-size:9px; font-weight:900; letter-spacing:.16em; }
.library-intro h1 { margin:5px 0 0; font-family:"Songti SC",serif; font-size:clamp(31px,3.5vw,48px); font-weight:500; }
.library-intro p { margin:0; color:#6b5f52; line-height:1.75; }
.knowledge-library { scroll-margin-top:102px; margin-top:28px; overflow:hidden; border:1px solid rgba(255,255,255,.78); border-radius:30px; background:rgba(255,251,241,.86); box-shadow:0 25px 70px rgba(66,44,24,.1); }
.knowledge-heading { padding:clamp(28px,4vw,54px); display:grid; grid-template-columns:minmax(280px,.82fr) minmax(320px,1.18fr); gap:8vw; align-items:end; }
.knowledge-heading small { color:#8f4735; font-size:10px; font-weight:900; letter-spacing:.17em; }
.knowledge-heading h2 { margin:9px 0 0; font-family:"Songti SC",serif; font-size:clamp(39px,5vw,67px); font-weight:500; line-height:1.06; }
.knowledge-heading p { margin:0; color:#6e6255; line-height:1.85; }
.opening-nav { padding:0 clamp(18px,3vw,44px) 20px; display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:7px; }
.opening-nav button { min-width:0; min-height:83px; padding:12px; display:grid; align-content:center; gap:3px; border:1px solid var(--chess-line); border-radius:15px; color:#6d6052; background:#f6eedf; cursor:pointer; text-align:left; }
.opening-nav button:hover,.opening-nav button:focus-visible { border-color:#31695b; outline:2px solid rgba(49,105,91,.18); }
.opening-nav button.is-active { color:#fff9e8; border-color:#2f6759; background:#2f6759; }
.opening-nav small { font-size:8px; letter-spacing:.1em; opacity:.72; }
.opening-nav strong { overflow:hidden; font-family:"Songti SC",serif; font-size:16px; text-overflow:ellipsis; white-space:nowrap; }
.opening-nav span { font-size:9px; opacity:.65; }
.opening-overview { padding:clamp(20px,3.2vw,44px); display:grid; grid-template-columns:minmax(280px,.75fr) minmax(0,1.45fr); gap:12px; background:#eadfcd; }
.opening-summary { padding:clamp(24px,3vw,38px); border-radius:23px; color:#fff8e7; background:radial-gradient(circle at 90% 10%,rgba(232,192,115,.18),transparent 30%),linear-gradient(145deg,#263f38,#16322b); }
.opening-summary>small { color:#e7c27b; font-size:9px; font-weight:900; letter-spacing:.14em; }
.opening-summary h3 { margin:10px 0 12px; font-family:"Songti SC",serif; font-size:clamp(30px,3.6vw,48px); font-weight:500; }
.opening-summary>p { color:rgba(255,255,255,.72); line-height:1.78; }
.opening-summary dl { margin:26px 0 0; display:grid; gap:14px; }
.opening-summary dl>div { padding-top:13px; border-top:1px solid rgba(255,255,255,.14); }
.opening-summary dt { color:#e3bc71; font-size:10px; font-weight:900; letter-spacing:.08em; }
.opening-summary dd { margin:7px 0 0; color:rgba(255,255,255,.72); font-size:12px; line-height:1.7; }
.opening-branches { min-width:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.opening-branch { min-width:0; padding:22px; display:flex; flex-direction:column; border:1px solid rgba(95,72,49,.14); border-radius:21px; background:#fffaf0; }
.opening-branch header { display:flex; align-items:center; gap:12px; }
.opening-branch header>b { width:37px; height:37px; flex:0 0 auto; display:grid; place-items:center; border-radius:50%; color:white; background:#98503b; font:700 11px/1 Georgia,serif; }
.opening-branch header small { color:#927765; font-size:7px; letter-spacing:.11em; }
.opening-branch h4 { margin:4px 0 0; font-family:"Songti SC",serif; font-size:21px; font-weight:500; }
.opening-branch dl { margin:19px 0; display:grid; gap:12px; }
.opening-branch dl>div { padding-bottom:10px; border-bottom:1px solid #e7dbca; }
.opening-branch dt { color:#8e4a38; font-size:9px; font-weight:900; }
.opening-branch dd { margin:5px 0 0; color:#6b6053; font-size:11px; line-height:1.65; }
.opening-branch>p { margin:auto 0 0; padding:13px; border-radius:13px; color:#255348; background:#e1ece5; font-size:11px; line-height:1.65; }
.opening-branch>p span { display:block; margin-bottom:5px; font-size:8px; font-weight:900; letter-spacing:.1em; }
.knowledge-boundary { margin:0 clamp(20px,3vw,44px) clamp(20px,3vw,44px); padding:18px 21px; display:grid; grid-template-columns:auto 1fr; gap:22px; border:1px solid rgba(135,85,49,.18); border-radius:17px; color:#654b32; background:#f2e4ce; }
.knowledge-boundary p { margin:0; font-size:12px; line-height:1.72; }
.heritage-strip { padding:0 clamp(20px,3vw,44px) 28px; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:7px; }
.heritage-strip article { min-height:145px; padding:18px; border:1px solid var(--chess-line); border-radius:17px; background:#f7f0e4; }
.heritage-strip small { color:#97503d; font-size:9px; font-weight:900; }
.heritage-strip strong { display:block; margin-top:8px; font-family:"Songti SC",serif; font-size:17px; }
.heritage-strip p { margin:12px 0 0; color:#736658; font-size:10px; line-height:1.65; }
.master-toolbar { padding:17px clamp(20px,3vw,44px); display:flex; align-items:center; justify-content:space-between; gap:16px; color:#fff8e7; background:#2c433c; }
.master-toolbar p { margin:0; display:grid; gap:4px; }
.master-toolbar p strong { font-family:"Songti SC",serif; font-size:20px; }
.master-toolbar p span { color:rgba(255,255,255,.58); font-size:9px; }
.master-toolbar>div { padding:3px; display:flex; gap:3px; border:1px solid rgba(255,255,255,.14); border-radius:999px; }
.master-toolbar button { min-height:34px; padding:0 11px; border:0; border-radius:999px; color:rgba(255,255,255,.65); background:transparent; cursor:pointer; font-size:9px; font-weight:900; }
.master-toolbar button.is-active { color:#3a2a1d; background:#e6c47e; }
.master-workbench { padding:clamp(20px,3.2vw,44px); display:grid; grid-template-columns:minmax(0,1fr); gap:18px; background:#eadfcd; }
.master-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; align-content:start; }
.master-card { min-width:0; min-height:155px; padding:16px; display:flex; flex-direction:column; border:1px solid rgba(99,71,43,.2); border-radius:17px; color:#3e3025; background:#fffaf0; cursor:pointer; text-align:left; }
.master-card:hover,.master-card:focus-visible { border-color:#2f6759; outline:2px solid rgba(47,103,89,.15); }
.master-card.is-active { color:#fff9e8; border-color:#2f6759; background:#2f6759; }
.master-card.is-evidence:not(.is-active) { border-color:#b86a55; background:#f8e7e0; }
.master-card>span { display:flex; justify-content:space-between; gap:10px; }
.master-card>span small { font-size:8px; opacity:.62; }
.master-card>span b { color:#9c4936; font-size:9px; }
.master-card.is-active>span b { color:#f1c77c; }
.master-card>strong { margin-top:15px; overflow-wrap:anywhere; font-family:"Songti SC",serif; font-size:16px; font-weight:600; line-height:1.5; }
.master-card i,.master-detail i { margin:0 5px; font:700 8px/1 Georgia,serif; opacity:.42; }
.master-card-opening { margin:7px 0 0; display:block; color:#7a6d5d; font-size:9px; line-height:1.5; }
.master-card.is-active .master-card-opening { color:rgba(255,255,255,.62); }
.master-card>em { margin-top:auto; padding-top:12px; font-size:8px; font-style:normal; opacity:.64; }
.master-detail { min-height:100%; padding:clamp(24px,3.2vw,42px); border-radius:23px; color:#fff9e8; background:radial-gradient(circle at 88% 8%,rgba(228,187,104,.2),transparent 27%),linear-gradient(145deg,#3c2721,#251b18); }
.master-detail>header { display:flex; justify-content:center; gap:20px; align-items:start; }
.master-detail>header>div { width:100%; text-align:center; }
.master-detail>header small { color:#e5bd73; font-size:9px; letter-spacing:.12em; }
.master-detail h3 { margin:9px 0 0; font-family:"Songti SC",serif; font-size:clamp(25px,3vw,38px); font-weight:500; line-height:1.25; }
.master-detail>header>b { padding:8px 11px; border:1px solid rgba(255,255,255,.2); border-radius:999px; font-size:10px; white-space:nowrap; }
.game-facts { margin-top:18px; display:flex; flex-wrap:wrap; gap:6px; }
.game-facts span { padding:6px 9px; border-radius:999px; color:rgba(255,255,255,.7); background:rgba(255,255,255,.08); font-size:9px; }
.move-slice { margin-top:22px; padding:15px; border-left:3px solid #dfb86f; background:rgba(255,255,255,.06); }
.move-slice small { display:block; color:#dfb86f; font-size:8px; letter-spacing:.1em; }
.move-slice code { display:block; margin-top:8px; color:rgba(255,255,255,.78); font-size:11px; line-height:1.65; white-space:normal; }
.master-detail>section { margin-top:18px; padding-top:16px; border-top:1px solid rgba(255,255,255,.12); }
.master-detail>section small { color:#e2ba70; font-size:9px; font-weight:900; letter-spacing:.1em; }
.master-detail>section p { margin:7px 0 0; color:rgba(255,255,255,.7); font-size:12px; line-height:1.75; }
.master-detail .master-transfer { padding:17px; border:0; border-radius:15px; background:rgba(69,124,105,.24); }
.master-detail>a { width:fit-content; margin-top:22px; display:block; color:#e7c37d; font-size:10px; text-decoration:none; }
.master-source-warning { margin:12px 0 0; padding:11px 13px; border:1px solid rgba(231,191,111,.25); border-radius:12px; color:rgba(255,247,226,.7); background:rgba(168,96,48,.14); font-size:10px; line-height:1.65; }
.master-source-warning strong { margin-right:8px; color:#e7c27a; }
.master-replay-host { margin-top:24px; }
.master-replay-shell { padding:18px; overflow:hidden; border:1px solid rgba(230,188,101,.28); border-radius:21px; color:#34271e; background:linear-gradient(155deg,#f4ead6,#dfceb0); box-shadow:0 20px 55px rgba(0,0,0,.22); }
.master-replay-left-rail { min-width:0; }
.master-replay-heading { width:100%; display:flex; align-items:flex-start; flex-direction:column; gap:12px; }
.master-replay-heading small { color:#8d4a36; font-size:8px; font-weight:900; letter-spacing:.14em; }
.master-replay-heading h4 { margin:5px 0 0; font-family:"Songti SC",serif; font-size:23px; font-weight:600; }
.master-replay-heading>span { padding:6px 9px; border:1px solid rgba(43,103,83,.24); border-radius:999px; color:#245746; background:#dfebe3; font-size:8px; font-weight:900; }
.master-replay-heading>span.is-error { color:#842f26; border-color:rgba(150,53,42,.25); background:#f4ddd7; }
.master-replay-stage { margin-top:0; display:grid; grid-template-columns:minmax(210px,.78fr) minmax(460px,540px) minmax(250px,1fr); justify-items:stretch; gap:clamp(12px,1.5vw,22px); align-items:start; }
.master-replay-board-wrap { min-width:0; display:flex; flex-direction:column; align-items:center; }
.master-replay-board { width:min(100%,540px); border-width:8px; box-shadow:inset 0 0 0 3px rgba(255,235,194,.46),0 14px 30px rgba(64,38,17,.24); }
.master-replay-board .piece { font-size:clamp(14px,2vw,23px); }
.master-replay-board button.piece { padding:0; cursor:pointer; }
.master-replay-board button.piece:disabled { opacity:1; cursor:default; }
.master-replay-board .piece.is-selected { z-index:7; box-shadow:0 0 0 4px rgba(255,247,207,.75),0 0 0 7px #2f6759,0 8px 18px rgba(38,24,13,.36); }
.master-replay-target { position:absolute; z-index:9; width:7%; aspect-ratio:1; transform:translate(-50%,-50%); padding:0; border:0; border-radius:50%; background:rgba(47,103,89,.75); box-shadow:0 0 0 5px rgba(255,255,255,.35),0 4px 12px rgba(24,74,60,.35); cursor:pointer; }
.master-replay-control-stack { width:100%; margin-top:18px; display:grid; gap:8px; }
.master-replay-controls { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
.master-replay-tools { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
.master-replay-sandbox-bar { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; }
.master-replay-sandbox-bar button,.master-replay-controls button,.master-replay-tools button,.master-replay-variations button { min-height:36px; padding:0 9px; border:1px solid rgba(89,60,36,.2); border-radius:999px; color:#594434; background:rgba(255,250,238,.78); cursor:pointer; font-size:9px; font-weight:900; }
.master-replay-sandbox-bar button[aria-pressed="true"],.master-replay-controls button[aria-pressed="true"] { color:#fff8e9; border-color:#2f6759; background:#2f6759; }
.master-replay-sandbox-bar button:disabled,.master-replay-controls button:disabled,.master-replay-tools button:disabled { opacity:.35; cursor:not-allowed; }
.master-replay-analysis { width:100%; min-width:0; min-height:0; padding:19px; border:1px solid rgba(106,73,45,.15); border-radius:17px; background:rgba(255,250,239,.82); }
.master-replay-analysis>small { color:#96503c; font-size:8px; font-weight:900; letter-spacing:.12em; }
.master-replay-analysis>h4 { margin:7px 0 9px; font-family:"Songti SC",serif; font-size:22px; }
.master-replay-analysis>p { color:#6c5d4e; font-size:10px; line-height:1.68; }
.master-replay-analysis dl { margin:14px 0 0; display:grid; gap:8px; }
.master-replay-analysis dl>div { padding:9px 10px; border-radius:10px; background:#eadfc9; }
.master-replay-analysis dt { color:#88503c; font-size:8px; font-weight:900; }
.master-replay-analysis dd { margin:4px 0 0; color:#5f5144; font-size:9px; line-height:1.58; }
.master-replay-engine { margin-top:13px; padding:12px; border:1px solid rgba(47,103,89,.22); border-radius:13px; background:linear-gradient(145deg,rgba(227,238,226,.8),rgba(247,237,215,.78)); }
.master-replay-engine>header { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.master-replay-engine>header div { display:grid; gap:3px; }
.master-replay-engine>header small { color:#2f6759; font-size:7px; font-weight:900; letter-spacing:.12em; }
.master-replay-engine>header strong { font-family:"Songti SC",serif; font-size:14px; }
.master-replay-engine>header button { min-height:32px; padding:0 11px; border:1px solid #2f6759; border-radius:999px; color:#fff; background:#2f6759; cursor:pointer; font-size:8px; font-weight:900; }
.master-replay-engine>header button:disabled { opacity:.45; cursor:wait; }
.master-replay-engine-output { margin-top:9px; padding:10px; border-radius:10px; color:#5f5144; background:rgba(255,253,245,.72); font-size:8px; line-height:1.58; overflow-wrap:anywhere; }
.master-replay-engine-output>header { display:flex; justify-content:space-between; gap:8px; color:#2f6759; }
.master-replay-engine-output p { margin:7px 0; }
.master-replay-engine-output ol { margin:8px 0; padding:0; display:grid; gap:6px; list-style:none; }
.master-replay-engine-output li { display:grid; grid-template-columns:18px 1fr; gap:7px; padding:7px; border-radius:8px; background:#ece2cd; }
.master-replay-engine-output li>b { color:#98503c; }
.master-replay-engine-output li span { min-width:0; display:grid; gap:3px; }
.master-replay-engine-output code { color:#6a5b4d; white-space:normal; }
.master-replay-engine-output li small { grid-column:2; color:#856f5b; }
.master-replay-engine-warning { padding:6px 8px; border-left:3px solid #a43d2d; color:#7c3128; background:#f2dcd5; }
.master-replay-hint { margin-top:10px; padding:11px; border-left:3px solid #b98535; color:#64491f; background:#f3e5c4; }
.master-replay-hint strong { font-size:9px; }.master-replay-hint p { margin:5px 0 0; font-size:9px; line-height:1.55; }
.master-replay-variations { margin-top:10px; display:grid; gap:6px; }
.master-replay-variations>strong { color:#87503d; font-size:8px; }
.master-replay-variations>p { margin:0; color:#6d5d4d; font-size:9px; line-height:1.55; }
.master-replay-controls [data-replay-play] { color:#fff8e8; border-color:#2f6759; background:#2f6759; }
.master-replay-progress { padding:8px 10px; display:flex; justify-content:space-between; gap:12px; border-radius:10px; color:#705e4c; background:rgba(255,250,238,.62); font-size:8px; }
.master-replay-gate { padding:17px; border:1px solid rgba(176,76,57,.28); border-radius:15px; color:#742f26; background:#f4ddd6; }
.master-replay-gate strong { display:block; font-family:"Songti SC",serif; font-size:18px; }
.master-replay-gate p { margin:7px 0; font-size:10px; line-height:1.6; }.master-replay-gate small { color:#7a5a52; font-size:8px; line-height:1.55; }
.dispute-method { margin:0 clamp(20px,3vw,44px) clamp(20px,3vw,44px); padding:22px; border:1px solid rgba(130,58,45,.2); border-radius:18px; background:#f6e4df; }
.dispute-method>strong { color:#743d32; font-family:"Songti SC",serif; font-size:20px; }
.dispute-method>div { margin-top:15px; display:grid; grid-template-columns:repeat(3,1fr); gap:9px; }
.dispute-method p { margin:0; color:#745e55; font-size:11px; line-height:1.7; }
.dispute-method b { display:block; margin-bottom:5px; color:#8d4738; }
@media(max-width:1100px){.opening-nav{grid-template-columns:repeat(3,1fr)}.opening-overview{grid-template-columns:1fr}.opening-branches{grid-template-columns:repeat(3,1fr)}.heritage-strip{grid-template-columns:repeat(3,1fr)}.master-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.library-dock a{padding:8px}.library-dock a>b{display:none}.library-dock strong{font-size:14px}.library-intro,.knowledge-heading{grid-template-columns:1fr;gap:14px}.opening-branches{grid-template-columns:1fr}.heritage-strip{grid-template-columns:repeat(2,1fr)}.master-grid{grid-template-columns:repeat(2,1fr)}.master-replay-stage{grid-template-columns:1fr}.dispute-method>div{grid-template-columns:1fr}.knowledge-boundary{grid-template-columns:1fr;gap:8px}}
@media(max-width:560px){.library-dock{top:5px}.library-dock a{min-height:56px}.library-dock small{display:none}.library-dock strong{font-size:12px;white-space:normal}.opening-nav{grid-template-columns:repeat(2,1fr)}.opening-nav button{min-height:72px}.heritage-strip{display:flex;overflow:auto;scroll-snap-type:x mandatory}.heritage-strip article{min-width:220px;scroll-snap-align:start}.master-toolbar{align-items:flex-start;flex-direction:column}.master-toolbar>div{width:100%;overflow:auto}.master-grid{grid-template-columns:1fr}.master-detail>header{flex-direction:column}.library-intro{scroll-margin-top:82px}.knowledge-library{scroll-margin-top:82px}}
@media print{.library-dock,.library-intro,.knowledge-library{display:none!important}}

@media(max-width:1200px) {
  .master-replay-stage { grid-template-columns:minmax(0,1fr); justify-items:center; }
  .master-replay-board-wrap { width:100%; max-width:540px; order:1; }
  .master-replay-left-rail { width:100%; max-width:540px; order:2; }
  .master-replay-analysis { max-width:540px; order:3; }
  .master-replay-heading { margin-top:4px; align-items:center; text-align:center; }
}

/* Legality gate and adaptive strength test */
.rule-gate-alert { grid-column:1/-1; padding:22px 24px; border:1px solid #b85b4c; border-radius:17px; color:#7b342a; background:#f9e6e1; }
.rule-gate-alert strong { display:block; font-family:"Songti SC",serif; font-size:24px; }
.rule-gate-alert p { margin:8px 0; font-size:12px; line-height:1.7; }
.rule-gate-alert small { color:#815d54; line-height:1.6; }
body[data-rule-gate="blocked"] .experience-note [data-reset-progress] { display:none; }
.strength-start[hidden],.strength-session[hidden],.strength-result[hidden] { display:none!important; }
.strength-library { background:radial-gradient(circle at 92% 5%,rgba(209,167,91,.2),transparent 25%),rgba(255,251,241,.9); }
.rank-ladder { padding:0 clamp(18px,3vw,44px) 28px; display:grid; grid-template-columns:repeat(18,minmax(44px,1fr)); gap:5px; }
.rank-ladder>[data-rank-index] { position:relative; min-width:0; min-height:76px; padding:9px 4px; display:grid; place-items:center; align-content:center; gap:5px; appearance:none; -webkit-appearance:none; border:1px solid rgba(72,55,36,.16); border-radius:13px; color:#675a4c; background:#f4ead8; cursor:pointer; font:inherit; text-align:center; transition:transform .18s,border-color .18s,background .18s,box-shadow .18s; }
.rank-ladder>[data-rank-index].is-advanced { color:#465d7d; background:#e5eaf1; }
.rank-ladder>[data-rank-index] small { font:700 8px/1 Georgia,serif; opacity:.62; }
.rank-ladder>[data-rank-index] strong { font-family:"Songti SC",serif; font-size:14px; white-space:nowrap; }
.rank-ladder>[data-rank-index]:hover { border-color:#2f6759; box-shadow:0 8px 18px rgba(47,103,89,.12); }
.rank-ladder>[data-rank-index]:focus-visible { outline:3px solid rgba(47,103,89,.28); outline-offset:2px; border-color:#2f6759; }
.rank-ladder>[data-rank-index].is-selected-opponent { border-color:#2f6759; box-shadow:inset 0 0 0 2px rgba(47,103,89,.16),0 9px 20px rgba(47,103,89,.14); }
.rank-ladder>[data-rank-index].is-selected-opponent::after { content:"对练"; position:absolute; top:5px; right:5px; padding:2px 4px; border-radius:999px; color:#fff; background:#2f6759; font-size:7px; font-weight:900; letter-spacing:.06em; }
.rank-ladder>[data-rank-index].is-current { z-index:1; transform:translateY(-4px); border-color:#a64a37; color:#fff8e7; background:linear-gradient(145deg,#9f4936,#743125); box-shadow:0 11px 22px rgba(116,49,37,.22); }
.rank-ladder>[data-rank-index].is-current small { color:#f2d18c; opacity:1; }
.rank-ladder>[data-rank-index].is-current.is-selected-opponent { box-shadow:inset 0 0 0 3px rgba(234,201,124,.45),0 11px 22px rgba(116,49,37,.22); }
.rank-selection-status { margin:-17px clamp(18px,3vw,44px) 24px; padding:10px 13px; border-left:3px solid #2f6759; border-radius:0 10px 10px 0; color:#496459; background:rgba(222,236,227,.72); font-size:10px; line-height:1.6; }
.strength-start { padding:clamp(20px,3.2vw,44px); display:grid; grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr); gap:12px; background:#eadfcd; }
.strength-promise,.strength-launcher { min-width:0; padding:clamp(25px,3vw,40px); border-radius:23px; }
.strength-promise { color:#fff8e7; background:radial-gradient(circle at 90% 10%,rgba(231,190,111,.18),transparent 30%),linear-gradient(145deg,#253e37,#142f28); }
.strength-promise>small,.strength-launcher>small { color:#e5be73; font-size:9px; font-weight:900; letter-spacing:.14em; }
.strength-promise h3,.strength-launcher h3 { margin:9px 0 12px; font-family:"Songti SC",serif; font-size:clamp(29px,3.5vw,45px); font-weight:500; }
.strength-promise>p { color:rgba(255,255,255,.72); line-height:1.78; }
.strength-promise>div { margin-top:25px; display:grid; grid-template-columns:repeat(3,1fr); gap:7px; }
.strength-promise>div span { min-height:77px; padding:12px 8px; display:grid; place-items:center; align-content:center; border:1px solid rgba(255,255,255,.13); border-radius:14px; color:rgba(255,255,255,.62); font-size:9px; text-align:center; }
.strength-promise>div b { display:block; color:#ebc983; font:700 24px/1 Georgia,serif; }
.strength-launcher { border:1px solid rgba(90,68,43,.14); background:#fffaf0; }
.strength-launcher>small { color:#8c4938; }
.test-depth { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.test-depth button { min-height:76px; padding:13px; display:grid; gap:4px; border:1px solid var(--chess-line); border-radius:15px; color:#6d6052; background:#f1e6d5; cursor:pointer; text-align:left; }
.test-depth button b { font-family:"Songti SC",serif; font-size:22px; }
.test-depth button span { font-size:10px; }
.test-depth button.is-active { color:#fff8e7; border-color:#2f6759; background:#2f6759; }
.start-strength-test { width:100%; min-height:52px; margin-top:12px; padding:0 17px; display:flex; align-items:center; justify-content:space-between; border:0; border-radius:15px; color:#fff8e7; background:#8e4232; cursor:pointer; font-size:13px; font-weight:900; }
.start-strength-test:disabled { cursor:not-allowed; opacity:.58; }
.strength-launcher>p { margin:12px 0 0; color:#7b6f60; font-size:10px; line-height:1.65; }
.strength-session { padding:clamp(20px,3.2vw,44px); background:#e9decc; }
.strength-status { margin-bottom:12px; padding:11px 14px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)) auto; align-items:center; gap:8px; border:1px solid rgba(91,69,44,.15); border-radius:17px; background:#fffaf0; }
.strength-status>div { min-width:0; padding:4px 10px; border-right:1px solid #e5d9c8; }
.strength-status small,.strength-status strong { display:block; }
.strength-status small { color:#8a7967; font-size:8px; letter-spacing:.1em; }
.strength-status strong { margin-top:4px; overflow:hidden; color:#43362a; font-family:"Songti SC",serif; font-size:18px; text-overflow:ellipsis; white-space:nowrap; }
.strength-status>button { min-height:38px; padding:0 12px; border:1px solid var(--chess-line); border-radius:999px; background:#eee3d2; cursor:pointer; font-size:10px; font-weight:800; }
.strength-stage { display:grid; grid-template-columns:minmax(360px,.92fr) minmax(320px,.78fr); gap:12px; }
.strength-board-column,.strength-question { min-width:0; padding:clamp(20px,2.7vw,34px); border-radius:23px; background:#fffaf0; }
.strength-question-meta { width:min(100%,480px); margin:0 auto 11px; display:flex; justify-content:space-between; gap:10px; }
.strength-question-meta span,.strength-question-meta b { padding:6px 9px; border-radius:999px; font-size:9px; }
.strength-question-meta span { color:#fff8e7; background:#2f6759; }
.strength-question-meta b { color:#7a4839; background:#f2ded7; }
.strength-board { width:min(100%,480px); }
.strength-board-column>p { width:min(100%,480px); margin:10px auto 0; color:#7e7161; font-size:10px; line-height:1.6; }
.strength-question { align-self:stretch; }
.strength-question>small { color:#9b4d3a; font-size:9px; font-weight:900; letter-spacing:.14em; }
.strength-question h3 { margin:12px 0 10px; font-family:"Songti SC",serif; font-size:clamp(28px,3.2vw,42px); font-weight:500; line-height:1.2; }
.strength-question>p { color:#6c6053; line-height:1.78; }
.strength-question fieldset { margin:22px 0 0; padding:12px 14px; display:flex; gap:15px; border:1px solid var(--chess-line); border-radius:14px; }
.strength-question legend { padding:0 7px; color:#776a5d; font-size:10px; font-weight:800; }
.strength-question label { display:flex; align-items:center; gap:5px; font-size:11px; }
.strength-question input { accent-color:#2f6759; }
.strength-choices { margin-top:17px; display:grid; gap:9px; }
.strength-choices button { min-height:55px; padding:12px 15px; display:grid; grid-template-columns:26px 1fr; align-items:center; gap:9px; border:1px solid var(--chess-line); border-radius:14px; color:#3d332a; background:#fffdf7; cursor:pointer; font-weight:750; line-height:1.45; text-align:left; }
.strength-choices button span { width:24px; height:24px; display:grid; place-items:center; border-radius:50%; color:#756655; background:#eee2d0; font-size:9px; }
.strength-choices button:hover,.strength-choices button:focus-visible { border-color:#2f6759; outline:2px solid rgba(47,103,89,.18); }
.strength-choices button:disabled { cursor:wait; opacity:.62; }
.strength-feedback { min-height:46px; margin:13px 0 0; padding:11px 13px; border-left:3px solid #d1a75b; color:#6e604f; background:#f2e7d3; font-size:11px; line-height:1.6; }
.posterior-track { margin-top:12px; padding:13px 15px; display:grid; grid-template-columns:auto 1fr; align-items:center; gap:13px; border-radius:15px; color:#fff7e7; background:#273e38; }
.posterior-track>span { font-size:9px; font-weight:900; letter-spacing:.1em; }
.posterior-track>div { min-width:0; display:flex; align-items:flex-end; gap:3px; }
.posterior-track>div>span { min-width:5px; height:8px; flex:1; border-radius:999px; background:rgba(255,255,255,.18); }
.posterior-track>div>span.is-complete { background:#e7bf72; }
.posterior-track>div>span.is-current { background:#8de05c; box-shadow:0 0 0 2px rgba(141,224,92,.2); }
.strength-result { padding:clamp(20px,3.2vw,44px); display:grid; grid-template-columns:minmax(270px,.62fr) minmax(0,1.38fr); gap:12px; background:#e9decc; }
.result-rank { padding:clamp(26px,3vw,40px); border-radius:23px; color:#fff8e7; background:radial-gradient(circle at 90% 8%,rgba(235,199,127,.22),transparent 28%),linear-gradient(145deg,#8c4232,#5c291f); }
.result-rank>small { color:#efce8b; font-size:9px; letter-spacing:.14em; }
.result-rank>span { display:block; margin-top:28px; color:#efc97f; font:700 54px/1 Georgia,serif; }
.result-rank h3 { margin:5px 0 14px; font-family:"Songti SC",serif; font-size:clamp(42px,5vw,68px); font-weight:500; }
.result-rank>p { color:rgba(255,255,255,.72); line-height:1.75; }
.result-rank>div { margin-top:24px; display:grid; gap:8px; }
.result-rank>div span { padding-top:9px; display:flex; justify-content:space-between; gap:10px; border-top:1px solid rgba(255,255,255,.14); color:rgba(255,255,255,.58); font-size:10px; }
.result-rank>div strong { color:#fff1cc; }
.result-diagnostics { padding:clamp(25px,3vw,38px); border-radius:23px; background:#fffaf0; }
.result-diagnostics>[data-piece-diagnostics] { margin-top:19px; display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.result-diagnostics>[data-piece-diagnostics]>article { padding:16px; border:1px solid var(--chess-line); border-radius:15px; background:#f1e7d7; }
.result-diagnostics>[data-piece-diagnostics] span,.result-diagnostics>[data-piece-diagnostics] strong,.result-diagnostics>[data-piece-diagnostics] small { display:block; }
.result-diagnostics>[data-piece-diagnostics] span { color:#8e4837; font-size:10px; font-weight:900; }
.result-diagnostics>[data-piece-diagnostics] strong { margin-top:7px; font-size:21px; }
.result-diagnostics>[data-piece-diagnostics] small { margin-top:5px; color:#776a5c; line-height:1.55; }
.result-diagnostics>article { margin-top:12px; padding:18px; border-radius:16px; color:#255348; background:#e1ece5; }
.result-diagnostics>article small { font-size:9px; font-weight:900; letter-spacing:.1em; }
.result-diagnostics>article h4 { margin:7px 0; font-family:"Songti SC",serif; font-size:24px; }
.result-diagnostics>article p { margin:0; font-size:11px; line-height:1.7; }
.result-actions { margin-top:15px; display:flex; align-items:center; gap:8px; }
.result-actions button { min-height:42px; padding:0 14px; border:1px solid var(--chess-line); border-radius:999px; background:#fffaf0; cursor:pointer; font-size:10px; font-weight:900; }
.result-actions button:first-child { color:#fff8e7; border-color:#2f6759; background:#2f6759; }
.result-actions span { color:#6d6154; font-size:10px; }
.strength-boundary { margin:0 clamp(20px,3vw,44px) clamp(20px,3vw,44px); padding:18px 21px; display:grid; grid-template-columns:auto 1fr; gap:20px; border:1px solid rgba(130,58,45,.2); border-radius:17px; color:#713d34; background:#f6e4df; }
.strength-boundary p { margin:0; font-size:11px; line-height:1.72; }
.strength-rule-alert { grid-column:1/-1; margin-bottom:12px; padding:20px 22px; border:1px solid #b85b4c; border-radius:17px; color:#7b342a; background:#f9e6e1; }
.strength-rule-alert strong { display:block; font-family:"Songti SC",serif; font-size:22px; }
.strength-rule-alert p { margin:8px 0; font-size:11px; line-height:1.7; }
.strength-rule-alert small { color:#805d54; }
.strength-choices button.is-selected { border-color:#8f6a31; background:#f3e7ce; }
.strength-feedback.is-recorded { border-color:#2f6759; color:#255348; background:#e1ece5; }
@media(max-width:1180px){.rank-ladder{grid-template-columns:repeat(9,1fr)}.strength-stage{grid-template-columns:1fr}.strength-board{width:min(100%,560px)}}
@media(max-width:900px){.strength-start,.strength-result{grid-template-columns:1fr}.strength-status{grid-template-columns:repeat(3,1fr)}.strength-status>button{grid-column:1/-1;width:fit-content}.result-diagnostics>[data-piece-diagnostics]{grid-template-columns:1fr}}
@media(max-width:700px){.library-dock{grid-template-columns:repeat(4,minmax(0,1fr));overflow:auto}.library-dock a{display:grid;place-items:center;text-align:center}.library-dock a>span{place-items:center}.rank-ladder{grid-template-columns:repeat(6,1fr)}.strength-promise>div{grid-template-columns:1fr}.strength-status{grid-template-columns:1fr 1fr}.strength-status>div{border-right:0}.strength-status>button{grid-column:auto}.strength-board-column,.strength-question{padding:18px 13px}.strength-question fieldset{flex-wrap:wrap}.strength-boundary{grid-template-columns:1fr}.result-actions{align-items:flex-start;flex-direction:column}}
@media(max-width:430px){.rank-ladder{grid-template-columns:repeat(3,1fr)}.test-depth{grid-template-columns:1fr}.strength-status{grid-template-columns:1fr}.posterior-track{grid-template-columns:1fr}}

/* Logo-side five-feature arc navigation */
.chess-body .system-logo { z-index:234; }
.chess-body .system-logo,.chess-body .system-steward-entry,.chess-body .xiangqi-arc-dock { position:fixed; }
.chess-body { overflow-x:hidden; }
.chess-app { padding-top:0; }
.challenge-topbar { grid-template-columns:minmax(0,1fr) auto; }
.challenge-topbar .challenge-brand { text-align:left; }
.xiangqi-concept-hero { position:relative; width:100vw; min-height:100svh; margin-left:calc(50% - 50vw); display:grid; place-items:center; isolation:isolate; overflow:hidden; color:#fff7df; background:#070604; box-shadow:0 34px 90px rgba(49,31,13,.24); }
.xiangqi-concept-hero::before { content:""; position:absolute; z-index:0; inset:0; background:linear-gradient(90deg,rgba(3,3,2,.92) 0%,rgba(3,3,2,.56) 25%,rgba(3,3,2,.08) 50%,rgba(3,3,2,.52) 78%,rgba(3,3,2,.9) 100%),linear-gradient(0deg,rgba(2,2,1,.8) 0%,transparent 34%,rgba(2,2,1,.3) 100%); pointer-events:none; }
.xiangqi-concept-hero::after { content:""; position:absolute; z-index:2; inset:0; border:1px solid rgba(235,191,91,.18); box-shadow:inset 0 0 90px rgba(0,0,0,.62); pointer-events:none; }
.xiangqi-concept-glow { position:absolute; z-index:-1; inset:-9%; background:url("./assets/yizhi-brain-battle-gold-portrait-fast-v6.webp?v=20260902-k50") center 46%/cover no-repeat; filter:blur(32px) brightness(.42) saturate(.9); transform:scale(1.09); opacity:.82; }
.xiangqi-concept-portrait { position:relative; z-index:-1; height:min(100svh,980px); aspect-ratio:941/1672; margin:0; overflow:hidden; background:#090704; box-shadow:0 0 0 1px rgba(231,189,95,.26),0 0 90px rgba(209,153,52,.18); }
.xiangqi-concept-portrait img { width:100%; height:100%; display:block; object-fit:cover; }
.xiangqi-concept-copy { position:absolute; z-index:3; left:50%; bottom:clamp(52px,9vh,108px); width:min(780px,88vw); display:flex; flex-direction:column; align-items:center; transform:translateX(-50%); text-align:center; text-shadow:0 3px 24px rgba(0,0,0,.88); }
.xiangqi-concept-copy small { display:block; color:#e7c26f; font-size:10px; font-weight:800; letter-spacing:.21em; }
.xiangqi-concept-copy h1 { margin:14px 0 12px; font-family:"STSong","Songti SC",serif; font-size:clamp(46px,5vw,72px); font-weight:500; line-height:.98; letter-spacing:.035em; }
.xiangqi-concept-copy h1 em { color:#e8bd64; font-style:normal; white-space:nowrap; }
.xiangqi-concept-copy p { margin:0; color:rgba(255,246,222,.76); font-family:"STKaiti","KaiTi",serif; font-size:clamp(15px,1.5vw,21px); letter-spacing:.08em; }
.xiangqi-concept-copy a { width:132px; min-height:44px; margin-top:24px; padding:0 18px; display:inline-flex; align-items:center; justify-content:space-between; border:1px solid rgba(235,194,107,.58); border-radius:999px; color:#2b1b08; background:linear-gradient(135deg,#f0d184,#bd7e24); box-shadow:0 12px 35px rgba(185,120,30,.25); font-size:12px; font-weight:900; text-decoration:none; text-shadow:none; transition:transform .22s,box-shadow .22s; }
.xiangqi-concept-copy a:hover,.xiangqi-concept-copy a:focus-visible { transform:translateY(-3px); outline:2px solid rgba(247,217,147,.58); box-shadow:0 17px 43px rgba(185,120,30,.36); }
.xiangqi-concept-boundary { position:absolute; z-index:3; right:clamp(24px,4vw,64px); bottom:24px; margin:0; color:rgba(255,244,216,.44); font-size:9px; letter-spacing:.16em; }
.xiangqi-concept-hero + .library-intro { margin-top:clamp(18px,2.5vw,36px); }
.xiangqi-menu-backdrop { position:fixed; z-index:228; inset:0; opacity:0; background:radial-gradient(circle at 110px 105px,rgba(141,224,92,.13),transparent 38%),rgba(2,24,20,.64); backdrop-filter:blur(7px); -webkit-backdrop-filter:blur(7px); transition:opacity .3s; }
.xiangqi-menu-backdrop[hidden],.xiangqi-arc-panel[hidden] { display:none; }
.xiangqi-menu-backdrop.is-open { opacity:1; }
.xiangqi-arc-dock { position:fixed; z-index:232; top:max(124px,calc(env(safe-area-inset-top) + 116px)); left:clamp(18px,3.2vw,52px); width:154px; height:48px; }
.xiangqi-arc-trigger { position:relative; z-index:3; width:154px; height:48px; padding:0 13px 0 8px; display:flex; align-items:center; gap:8px; border:1px solid rgba(255,255,255,.45); border-radius:999px; color:#fff9e9; background:linear-gradient(135deg,#1f5d4d,#123f35); box-shadow:0 13px 34px rgba(8,45,37,.3); cursor:pointer; text-align:left; transition:transform .24s,background .24s,box-shadow .24s; }
.xiangqi-arc-trigger:hover,.xiangqi-arc-trigger:focus-visible { transform:translateY(-2px); outline:2px solid rgba(141,224,92,.5); box-shadow:0 18px 40px rgba(8,45,37,.38); }
.xiangqi-arc-trigger>span:first-child { width:34px; height:34px; flex:0 0 auto; display:grid; place-items:center; border:1px solid rgba(255,239,194,.48); border-radius:50%; color:#f0ce86; font-family:"STKaiti","KaiTi",serif; font-size:19px; }
.xiangqi-arc-trigger>span:last-child { min-width:0; display:grid; gap:3px; }
.xiangqi-arc-trigger strong { font-family:"Songti SC",serif; font-size:15px; letter-spacing:.08em; white-space:nowrap; }
.xiangqi-arc-trigger small { color:rgba(255,255,255,.62); font-size:6px; letter-spacing:.13em; white-space:nowrap; }
.xiangqi-arc-dock.is-open .xiangqi-arc-trigger { color:#183d33; border-color:rgba(19,62,52,.16); background:#8de05c; transform:rotate(-3deg); }
.xiangqi-arc-dock.is-open .xiangqi-arc-trigger>span:first-child { color:#153e33; border-color:rgba(21,62,51,.3); }
.xiangqi-arc-dock.is-open .xiangqi-arc-trigger small { color:rgba(20,58,48,.68); }
.xiangqi-arc-panel { position:absolute; z-index:2; left:0; top:0; width:154px; height:48px; overflow:visible; opacity:0; pointer-events:none; transition:opacity .18s; }
.xiangqi-arc-panel.is-open { opacity:1; pointer-events:auto; }
.xiangqi-arc-panel nav { position:relative; width:100%; height:100%; }
.xiangqi-arc-orb { position:absolute; left:20px; top:-18px; width:var(--size); height:var(--size); padding:8px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; isolation:isolate; border:2px solid #f1cb78; border-radius:50%; color:#fff; background:radial-gradient(circle at 30% 22%,rgba(255,255,255,.3),transparent 24%),linear-gradient(145deg,var(--orb),var(--shade)); box-shadow:0 15px 35px rgba(0,0,0,.3),0 0 0 2px rgba(123,82,13,.42),0 0 20px rgba(241,203,120,.32),inset 0 1px 0 rgba(255,255,255,.3); opacity:0; transform:translate(0,0) scale(.2); transition:transform .48s cubic-bezier(.2,.86,.3,1.18),opacity .24s,filter .2s,box-shadow .2s; transition-delay:0ms; text-align:center; text-decoration:none; text-shadow:0 1px 3px rgba(0,0,0,.48); }
.xiangqi-arc-orb::before { content:""; position:absolute; z-index:-1; inset:-6px; border:1px solid rgba(255,218,126,.72); border-radius:inherit; box-shadow:0 0 8px rgba(255,206,99,.62); opacity:.72; animation:systemOrbGlow 1.85s ease-in-out infinite; animation-delay:var(--delay); }
.xiangqi-arc-panel.is-open .xiangqi-arc-orb { opacity:1; transform:translate(var(--x),var(--y)) scale(1); transition-delay:var(--delay); }
.xiangqi-arc-orb:hover,.xiangqi-arc-orb:focus-visible,.xiangqi-arc-orb.is-active { color:#fff; border-color:#ffe7a3; filter:brightness(1.12) saturate(1.06); outline:none; box-shadow:0 20px 46px rgba(0,0,0,.34),0 0 0 3px rgba(255,213,111,.34),0 0 30px rgba(255,206,99,.48); }
.xiangqi-arc-orb b { font-family:"STKaiti","KaiTi",serif; font-size:23px; line-height:1; }
.xiangqi-arc-orb span { max-width:76px; font-size:9px; font-weight:800; line-height:1.15; white-space:normal; }
body.xiangqi-menu-open { overflow:hidden; }
@media(max-width:700px){.chess-app{padding-top:0}.xiangqi-concept-hero{min-height:100svh}.xiangqi-concept-hero::before{background:linear-gradient(0deg,rgba(3,2,1,.92) 0%,rgba(3,2,1,.38) 31%,transparent 58%,rgba(2,2,1,.28) 100%)}.xiangqi-concept-glow{display:none}.xiangqi-concept-portrait{width:100%;height:100svh;aspect-ratio:auto;box-shadow:none}.xiangqi-concept-copy{left:50%;right:auto;bottom:max(58px,calc(env(safe-area-inset-bottom) + 45px));width:min(92vw,560px);transform:translateX(-50%)}.xiangqi-concept-copy small{font-size:8px;letter-spacing:.17em}.xiangqi-concept-copy h1{margin:10px 0 9px;font-size:clamp(42px,13.4vw,62px)}.xiangqi-concept-copy p{font-size:15px}.xiangqi-concept-copy a{margin-top:16px}.xiangqi-concept-boundary{right:16px;bottom:max(14px,env(safe-area-inset-bottom))}.xiangqi-arc-dock{top:max(118px,calc(env(safe-area-inset-top) + 110px));left:14px;transform-origin:left top}.xiangqi-arc-trigger{width:142px;height:44px}.xiangqi-arc-trigger>span:first-child{width:31px;height:31px}.xiangqi-arc-trigger strong{font-size:14px}.xiangqi-arc-panel.is-open .xiangqi-arc-orb{transform:translate(var(--mx),var(--my)) scale(.82)}.challenge-topbar{grid-template-columns:minmax(0,1fr) auto}.challenge-topbar .challenge-brand{grid-column:auto;grid-row:auto}.challenge-topbar .topbar-tools{grid-row:auto}}
@media(max-width:430px){.challenge-topbar{grid-template-columns:1fr}.challenge-topbar .challenge-brand{grid-column:1;grid-row:1}.challenge-topbar .topbar-tools{grid-column:1;grid-row:2}.xiangqi-arc-panel.is-open .xiangqi-arc-orb{transform:translate(var(--mx),var(--my)) scale(.76)}}
@media(prefers-reduced-motion:reduce){.xiangqi-menu-backdrop,.xiangqi-arc-trigger,.xiangqi-arc-panel,.xiangqi-arc-orb,.xiangqi-concept-copy a{transition-duration:.01ms!important}}
.ai-arena-host{margin:clamp(26px,4vw,54px) 0}
@media(max-width:560px){.board-toolbar{align-items:flex-start;flex-direction:column}.board-toolbar>div{width:100%;flex-wrap:wrap}}

/* 2026-08-30 desktop landscape and centered-board layout */
.xiangqi-concept-facts { display:none; }
.stage-context-rail { min-width:0; padding:clamp(22px,2.5vw,34px); border:1px solid rgba(255,255,255,.72); border-radius:26px; background:rgba(255,251,241,.8); box-shadow:0 25px 70px rgba(66,44,24,.11); }
.stage-title-block { display:contents; }
.stage-context-rail h1 { margin:0; font-family:"Songti SC",serif; font-size:clamp(30px,3vw,46px); line-height:1.08; }
.stage-context-rail .board-toolbar { width:100%; margin:20px 0 0; align-items:flex-start; flex-direction:column; }
.stage-context-rail .board-toolbar>div { width:100%; flex-wrap:wrap; }
.strength-context-rail { min-width:0; padding:clamp(22px,2.4vw,32px); border-radius:23px; color:#fff8e8; background:radial-gradient(circle at 82% 7%,rgba(232,192,115,.15),transparent 30%),linear-gradient(145deg,#263f38,#153129); }
.strength-context-rail>small { display:block; margin-top:26px; color:#e6bd70; font-size:9px; font-weight:900; letter-spacing:.16em; }
.strength-context-rail h3 { margin:9px 0 10px; font-family:"Songti SC",serif; font-size:clamp(28px,2.7vw,40px); font-weight:500; }
.strength-context-rail p { margin:0; color:rgba(255,255,255,.69); font-size:12px; line-height:1.75; }
.strength-context-rail>button { min-height:42px; margin-top:20px; padding:0 15px; border:1px solid rgba(232,196,121,.45); border-radius:999px; color:#f7dfaa; background:rgba(255,255,255,.06); cursor:pointer; font-size:11px; font-weight:850; }
.strength-context-rail>button:hover,.strength-context-rail>button:focus-visible { border-color:#eac578; background:rgba(234,197,120,.13); outline:2px solid rgba(234,197,120,.22); }
.strength-context-rail>[data-strength-move-status] { display:block; min-height:40px; margin-top:12px; padding:10px 12px; border-left:2px solid #78c89b; color:#bfe6cc; background:rgba(0,0,0,.14); font-size:10px; line-height:1.55; }
.strength-board .strength-piece { padding:0; cursor:grab; touch-action:manipulation; }
.strength-board .strength-piece:active { cursor:grabbing; }
.strength-board .strength-piece.is-strength-selected { z-index:7; transform:translate(-50%,-50%) scale(1.1); box-shadow:0 0 0 4px rgba(255,249,217,.86),0 0 0 8px #2f6759,0 8px 20px rgba(53,31,15,.42); }
.strength-move-target { position:absolute; z-index:8; width:10%; aspect-ratio:1; transform:translate(-50%,-50%); padding:0; border:0; border-radius:50%; background:transparent; cursor:pointer; }
.strength-move-target::before { content:""; position:absolute; inset:34%; border-radius:50%; background:#2f7b61; box-shadow:0 0 0 6px rgba(47,123,97,.18),0 0 16px rgba(47,123,97,.54); }
.strength-move-target.is-capture::before { inset:8%; border:3px solid #a83a2c; background:rgba(168,58,44,.08); box-shadow:0 0 0 4px rgba(168,58,44,.16),0 0 18px rgba(168,58,44,.42); }
.strength-board.is-strength-check { box-shadow:inset 0 0 30px rgba(178,43,30,.3),0 18px 40px rgba(64,38,17,.22); }

@media(min-width:1181px) {
  .chess-body .system-logo { left:max(clamp(24px,3.2vw,52px),env(safe-area-inset-left)); }
  .xiangqi-arc-dock { left:max(clamp(24px,3.2vw,52px),env(safe-area-inset-left)); }
  .xiangqi-concept-hero { min-height:0; height:min(100svh,56.25vw); max-height:100svh; aspect-ratio:16/9; place-items:stretch; }
  .xiangqi-concept-hero::before { background:linear-gradient(90deg,rgba(2,2,1,.84) 0%,rgba(2,2,1,.56) 20%,rgba(2,2,1,.04) 39%,rgba(2,2,1,.08) 63%,rgba(2,2,1,.62) 82%,rgba(2,2,1,.9) 100%),linear-gradient(0deg,rgba(2,2,1,.58),transparent 36%,rgba(2,2,1,.18)); }
  .xiangqi-concept-glow { inset:-4%; background-image:url("./assets/yizhi-brain-battle-gold-landscape-fast-v6.webp?v=20260902-k50"); background-position:center; filter:blur(28px) brightness(.34) saturate(.95); opacity:.58; }
  .xiangqi-concept-portrait { position:absolute; inset:0; width:100%; height:100%; aspect-ratio:auto; box-shadow:none; }
  .xiangqi-concept-portrait picture,.xiangqi-concept-portrait img { width:100%; height:100%; display:block; }
  .xiangqi-concept-portrait img { object-fit:cover; object-position:center; }
  .xiangqi-concept-copy { left:auto; right:clamp(48px,5.2vw,108px); top:50%; bottom:auto; width:min(31vw,470px); align-items:flex-start; transform:translateY(-46%); text-align:left; }
  .xiangqi-concept-copy h1 { font-size:clamp(48px,4.25vw,76px); line-height:1.02; }
  .xiangqi-concept-copy p { max-width:390px; }
  .xiangqi-concept-facts { position:absolute; z-index:3; left:max(clamp(36px,4.2vw,82px),env(safe-area-inset-left)); bottom:clamp(48px,7vh,92px); width:min(22vw,280px); margin:0; padding:0; display:grid; gap:10px; list-style:none; }
  .xiangqi-concept-facts li { padding:10px 0; display:grid; grid-template-columns:54px 1fr; align-items:center; gap:12px; border-top:1px solid rgba(229,190,105,.25); }
  .xiangqi-concept-facts b { color:#e6bd68; font-family:"Songti SC",serif; font-size:19px; font-weight:500; }
  .xiangqi-concept-facts span { color:rgba(255,247,225,.62); font-size:10px; letter-spacing:.12em; }
  .xiangqi-concept-boundary { right:50%; bottom:16px; transform:translateX(50%); }
  .challenge-stage { grid-template-columns:minmax(220px,1fr) minmax(540px,600px) minmax(260px,1fr); gap:14px; align-items:start; }
  .board-column { grid-column:2; padding:24px 20px; }
  .stage-context-rail { grid-column:1; grid-row:1; }
  .insight-column { grid-column:3; grid-row:1; }
  .strength-stage { grid-template-columns:minmax(260px,1fr) minmax(460px,540px) minmax(260px,1fr); gap:12px; align-items:start; }
  .strength-context-rail { grid-column:1; grid-row:1; }
  .strength-board-column { grid-column:2; grid-row:1; padding:22px 16px; }
  .strength-question { grid-column:3; grid-row:1; }
  .strength-board { width:min(100%,500px); }
}

@media(min-width:901px) and (max-width:1180px) {
  .challenge-stage { grid-template-columns:minmax(260px,.75fr) minmax(500px,1.25fr); }
  .stage-context-rail { grid-column:1; }
  .board-column { grid-column:2; }
  .insight-column { grid-column:1/-1; }
  .strength-stage { grid-template-columns:minmax(260px,.72fr) minmax(500px,1.28fr); }
  .strength-context-rail { grid-column:1; }
  .strength-board-column { grid-column:2; }
  .strength-question { grid-column:1/-1; }
}

@media(max-width:900px) {
  .challenge-stage,.strength-stage { grid-template-columns:1fr; }
  .stage-context-rail,.board-column,.insight-column,.strength-context-rail,.strength-board-column,.strength-question { grid-column:1; }
  .stage-context-rail { order:1; }
  .board-column { order:2; }
  .insight-column { order:3; }
  .strength-context-rail { order:1; }
  .strength-board-column { order:2; }
  .strength-question { order:3; }
}

@media(max-width:700px) {
  .xiangqi-concept-facts { display:none; }
  .xiangqi-concept-portrait picture { width:100%; height:100%; display:block; }
  .stage-context-rail { border-radius:20px; padding:20px 16px; }
  .strength-context-rail { padding:20px 17px; }
  .strength-move-target { width:12%; }
}

/* 2026-09-01：点击左上角标识后，十二类以“福字导航”规格的呼吸圆珠向右下展开。 */
.chess-body .xiangqi-arc-panel {
  left:26px;
  top:48px;
  width:430px;
  height:360px;
  max-height:none;
  padding:0;
  overflow:visible;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  transform:none;
}
.chess-body .xiangqi-arc-panel nav {
  position:relative;
  width:100%;
  height:100%;
  display:block;
}
.chess-body .xiangqi-arc-orb {
  position:absolute;
  left:0;
  top:0;
  width:88px;
  height:88px;
  padding:10px 8px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  isolation:isolate;
  border:2px solid rgba(247,214,132,.92);
  border-radius:50%;
  color:#fff8e8;
  background:radial-gradient(circle at 31% 22%,rgba(255,255,255,.34),transparent 24%),linear-gradient(145deg,var(--orb),var(--shade));
  box-shadow:0 15px 35px rgba(0,0,0,.34),0 0 0 2px rgba(118,79,18,.42),0 0 18px rgba(241,203,120,.32),inset 0 1px rgba(255,255,255,.32);
  opacity:0;
  transform:translate(-24px,-38px) scale(.14);
  transform-origin:20px -35px;
  transition:transform .52s cubic-bezier(.18,.86,.26,1.16),opacity .24s,filter .2s,box-shadow .2s;
  transition-delay:0ms;
  text-align:center;
  text-decoration:none;
  text-shadow:0 1px 4px rgba(0,0,0,.55);
  animation:xiangqiPearlBreath 2.45s ease-in-out infinite alternate;
  animation-delay:var(--delay);
}
.chess-body .xiangqi-arc-orb::before {
  content:"";
  position:absolute;
  z-index:-1;
  inset:-7px;
  display:block;
  border:1px solid rgba(255,221,139,.78);
  border-radius:inherit;
  box-shadow:0 0 12px rgba(255,204,92,.65);
  opacity:.68;
  animation:systemOrbGlow 1.85s ease-in-out infinite;
  animation-delay:var(--delay);
}
.chess-body .xiangqi-arc-orb::after {
  content:"";
  position:absolute;
  left:19px;
  top:13px;
  width:22px;
  height:10px;
  border-radius:50%;
  background:rgba(255,255,255,.2);
  transform:rotate(-24deg);
}
.chess-body .xiangqi-arc-orb b {
  width:auto;
  height:auto;
  display:block;
  border:0;
  border-radius:0;
  font:700 10px/1 Georgia,serif;
  letter-spacing:.08em;
}
.chess-body .xiangqi-arc-orb span {
  max-width:70px;
  font:700 13px/1.18 "Songti SC","STSong",serif;
  letter-spacing:.03em;
  white-space:normal;
}
.chess-body .xiangqi-arc-panel.is-open .xiangqi-arc-orb { opacity:1; transform:translate(var(--pearl-x),var(--pearl-y)) scale(1); transition-delay:var(--delay); }
.chess-body .xiangqi-arc-orb:nth-child(1){--pearl-x:0px;--pearl-y:0px}
.chess-body .xiangqi-arc-orb:nth-child(2){--pearl-x:98px;--pearl-y:18px}
.chess-body .xiangqi-arc-orb:nth-child(3){--pearl-x:196px;--pearl-y:36px}
.chess-body .xiangqi-arc-orb:nth-child(4){--pearl-x:294px;--pearl-y:54px}
.chess-body .xiangqi-arc-orb:nth-child(5){--pearl-x:20px;--pearl-y:105px}
.chess-body .xiangqi-arc-orb:nth-child(6){--pearl-x:118px;--pearl-y:123px}
.chess-body .xiangqi-arc-orb:nth-child(7){--pearl-x:216px;--pearl-y:141px}
.chess-body .xiangqi-arc-orb:nth-child(8){--pearl-x:314px;--pearl-y:159px}
.chess-body .xiangqi-arc-orb:nth-child(9){--pearl-x:40px;--pearl-y:210px}
.chess-body .xiangqi-arc-orb:nth-child(10){--pearl-x:138px;--pearl-y:228px}
.chess-body .xiangqi-arc-orb:nth-child(11){--pearl-x:236px;--pearl-y:246px}
.chess-body .xiangqi-arc-orb:nth-child(12){--pearl-x:334px;--pearl-y:264px}
@keyframes xiangqiPearlBreath {
  from { box-shadow:0 13px 31px rgba(0,0,0,.31),0 0 0 2px rgba(118,79,18,.4),0 0 13px rgba(241,203,120,.24),inset 0 1px rgba(255,255,255,.3); }
  to { box-shadow:0 17px 39px rgba(0,0,0,.38),0 0 0 3px rgba(255,216,122,.24),0 0 30px rgba(255,205,94,.58),inset 0 1px rgba(255,255,255,.38); }
}
@media(max-width:700px){
  .chess-body .xiangqi-arc-panel { left:8px; top:43px; width:250px; height:330px; max-height:none; padding:0; overflow:visible; }
  .chess-body .xiangqi-arc-orb { width:70px; height:70px; padding:7px 5px; gap:4px; transform:translate(-18px,-30px) scale(.12); }
  .chess-body .xiangqi-arc-orb span { max-width:58px; font-size:11px; }
  .chess-body .xiangqi-arc-orb b { font-size:8px; }
  .chess-body .xiangqi-arc-orb:nth-child(1){--pearl-x:0px;--pearl-y:0px}
  .chess-body .xiangqi-arc-orb:nth-child(2){--pearl-x:78px;--pearl-y:14px}
  .chess-body .xiangqi-arc-orb:nth-child(3){--pearl-x:156px;--pearl-y:28px}
  .chess-body .xiangqi-arc-orb:nth-child(4){--pearl-x:14px;--pearl-y:76px}
  .chess-body .xiangqi-arc-orb:nth-child(5){--pearl-x:92px;--pearl-y:90px}
  .chess-body .xiangqi-arc-orb:nth-child(6){--pearl-x:170px;--pearl-y:104px}
  .chess-body .xiangqi-arc-orb:nth-child(7){--pearl-x:0px;--pearl-y:152px}
  .chess-body .xiangqi-arc-orb:nth-child(8){--pearl-x:78px;--pearl-y:166px}
  .chess-body .xiangqi-arc-orb:nth-child(9){--pearl-x:156px;--pearl-y:180px}
  .chess-body .xiangqi-arc-orb:nth-child(10){--pearl-x:14px;--pearl-y:228px}
  .chess-body .xiangqi-arc-orb:nth-child(11){--pearl-x:92px;--pearl-y:242px}
  .chess-body .xiangqi-arc-orb:nth-child(12){--pearl-x:170px;--pearl-y:256px}
}
@media(prefers-reduced-motion:reduce){
  .chess-body .xiangqi-arc-orb,.chess-body .xiangqi-arc-orb::before { animation:none!important; }
}

/* Mobile tactics: compact headings and accessible six-move disclosure menus. */
@media(max-width:700px) {
  .library-intro { padding:18px 16px; display:block; text-align:center; }
  .library-intro small,.library-intro>p { display:none; }
  .library-intro h1 { margin:0; font-size:34px; }
  .experience-note { margin:8px 0 6px; padding:10px 14px; grid-template-columns:auto 1fr; gap:8px 12px; }
  .experience-note p { font-size:0; line-height:1.45; }
  .experience-note p strong { display:block; font-size:10px; }
  .experience-note>button { grid-column:1/-1; min-height:34px; }
  .level-rail { margin:0 0 6px; display:grid; gap:6px; }
  .rail-group { padding:0; border-top-width:3px; border-radius:14px; }
  .rail-group summary { min-height:48px; margin:0; padding:0 14px; align-items:center; }
  .rail-group summary b { width:30px; height:30px; display:grid; place-items:center; border-radius:50%; color:#fffaf0; background:var(--rail); font-size:17px; }
  .rail-group summary span { margin-left:10px; margin-right:auto; color:#4f4337; font-size:14px; font-weight:800; letter-spacing:.05em; }
  .rail-group summary i { display:block; color:#7e7061; font-size:10px; font-style:normal; }
  .rail-group[open] summary i { color:var(--rail); }
  .rail-group>div { padding:0 8px 8px; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; overflow:visible; }
  .rail-group button { min-height:52px; }
  .challenge-stage { margin-top:4px; }
  .stage-context-rail { display:contents; }
  .stage-title-block { order:1; padding:16px 14px; display:block; border:1px solid rgba(255,255,255,.72); border-radius:18px; background:rgba(255,251,241,.8); text-align:center; box-shadow:0 12px 32px rgba(66,44,24,.08); }
  .stage-meta { justify-content:center; flex-wrap:wrap; }
  .stage-kicker { width:100%; margin-bottom:2px; text-align:center; }
  .stage-context-rail h1 { text-align:center; }
  .board-column { order:2; }
  .stage-context-rail .stage-lead { order:3; margin:8px 6px 0; text-align:center; }
  .stage-context-rail .board-toolbar { order:4; margin:8px 0 0; padding:10px 12px; align-items:center; border:1px solid rgba(255,255,255,.72); border-radius:14px; background:rgba(255,251,241,.65); }
  .stage-context-rail .board-toolbar>div { justify-content:center; }
  .insight-column { order:5; }
  .knowledge-heading { padding:24px 16px 18px; text-align:center; }
  .knowledge-heading small,.knowledge-heading>p { display:none; }
  .knowledge-heading h2 { margin:0; font-size:38px; }
  .analysis-hub>header,.executive-cockpit>header { text-align:center; }
  .analysis-hub>header small,.executive-cockpit>header small { display:none; }
  .analysis-hub>header h2,.executive-cockpit>header h2 { margin-top:0; }
}

/* Mobile master detail: board, playback controls, then annotations and evidence. */
@media(max-width:560px) {
  .master-workbench { padding:12px; }
  .master-detail { padding:18px 12px; display:flex; flex-direction:column; }
  .master-detail>header { order:1; align-items:center; text-align:center; }
  .master-detail>header>div { width:100%; }
  .master-detail h3 { margin-top:7px; text-align:center; }
  .master-detail h3 i { display:inline-block; margin:0 8px; }
  .master-detail>.master-replay-host { order:2; margin-top:14px; }
  .master-detail>:not(header):not(.master-replay-host) { order:3; }
  .master-replay-shell { padding:10px; display:flex; flex-direction:column; }
  .master-replay-stage { display:grid; grid-template-columns:minmax(0,1fr); }
  .master-replay-board-wrap { width:100%; max-width:430px; order:1; align-items:center; }
  .master-replay-left-rail { width:100%; max-width:430px; order:2; }
  .master-replay-board { width:100%; max-width:430px; }
  .master-replay-control-stack { width:100%; max-width:430px; }
  .master-replay-controls,.master-replay-tools,.master-replay-sandbox-bar { justify-content:center; }
  .master-replay-controls button { min-height:40px; padding:0 6px; font-size:9px; }
  .master-replay-heading { margin-top:14px; align-items:center; flex-direction:column; text-align:center; }
  .master-replay-heading h4 { margin-top:4px; }
  .master-replay-analysis { order:3; min-height:0; margin-top:10px; }
  .game-facts { justify-content:center; }
  .master-detail>a { align-self:center; }
}

/* Xiangqi-only logo companion: the same hollow visual language as the Homeland mark. */
.chess-body .xiangqi-arc-trigger {
  padding-left:0;
  border-color:transparent;
  color:#fff9e9;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  text-shadow:0 2px 12px rgba(0,0,0,.68);
}
.chess-body .xiangqi-arc-trigger>span:first-child {
  position:relative;
  border-color:rgba(255,249,231,.78);
  background:rgba(5,15,12,.08);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06),0 3px 14px rgba(0,0,0,.16);
}
.chess-body .xiangqi-arc-trigger>span:first-child::before {
  content:"";
  position:absolute;
  top:-7px;
  left:3px;
  width:16px;
  height:8px;
  border-radius:100% 0 100% 0;
  background:#8de05c;
  transform:rotate(-24deg);
  box-shadow:0 1px 8px rgba(65,160,60,.35);
}
.chess-body .xiangqi-arc-trigger:hover,.chess-body .xiangqi-arc-trigger:focus-visible {
  border-color:transparent;
  background:transparent;
  box-shadow:none;
}
.chess-body .xiangqi-arc-dock.is-open .xiangqi-arc-trigger {
  color:#fff9e9;
  border-color:transparent;
  background:transparent;
  box-shadow:none;
  transform:none;
}
.chess-body .xiangqi-arc-dock.is-open .xiangqi-arc-trigger>span:first-child { color:#f0ce86; border-color:rgba(255,239,194,.55); }
.chess-body .xiangqi-arc-dock.is-open .xiangqi-arc-trigger small { color:rgba(255,255,255,.65); }

@media(max-width:700px) {
  .chess-body .xiangqi-arc-dock { top:max(118px,calc(env(safe-area-inset-top) + 110px)); left:12px; width:40px; height:40px; }
  .chess-body .xiangqi-arc-trigger { width:40px; height:40px; padding:0; display:grid; place-items:center; gap:0; }
  .chess-body .xiangqi-arc-trigger>span:first-child { width:32px; height:32px; font-size:18px; }
  .chess-body .xiangqi-arc-trigger>span:last-child { display:none; }
}

/* Scientific endgame registry and fast page anchors. */
.xiangqi-section-anchorbar { position:sticky; z-index:45; top:10px; width:min(1120px,calc(100% - 24px)); margin:14px auto 18px; padding:7px; display:grid; grid-template-columns:repeat(7,1fr); gap:5px; border:1px solid rgba(255,255,255,.72); border-radius:18px; background:rgba(245,239,225,.87); box-shadow:0 14px 40px rgba(52,35,19,.16); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); }
.xiangqi-section-anchorbar a { min-height:45px; padding:5px 8px; display:flex; align-items:center; justify-content:center; gap:7px; border-radius:12px; color:#5d5145; text-decoration:none; font-size:11px; font-weight:800; }
.xiangqi-section-anchorbar a:hover,.xiangqi-section-anchorbar a:focus-visible { color:#fff8e5; background:#2f6759; outline:0; }
.xiangqi-section-anchorbar b { color:#a25a43; font:700 8px/1 Georgia,serif; }
.xiangqi-section-anchorbar a:hover b,.xiangqi-section-anchorbar a:focus-visible b { color:#efd08d; }
.endgame-library { background:radial-gradient(circle at 8% 0,rgba(65,109,90,.16),transparent 27%),rgba(255,251,241,.91); }
.xiangqi-member-strip { margin:0 clamp(18px,3vw,38px); padding:14px 16px; display:grid; grid-template-columns:1fr auto auto; align-items:center; gap:16px; border:1px solid rgba(50,105,88,.19); border-radius:16px; color:#385b50; background:rgba(65,122,101,.08); }
.xiangqi-member-strip>div { display:grid; gap:3px; }
.xiangqi-member-strip b { font-size:12px; }
.xiangqi-member-strip span { color:#65766e; font-size:10px; }
.xiangqi-member-strip>strong { color:#2f6759; font:500 25px/1 Georgia,serif; }
.xiangqi-member-strip>a { min-height:36px; padding:0 12px; display:inline-flex; align-items:center; border:1px solid rgba(47,103,89,.24); border-radius:999px; color:#2f6759; font-size:9px; font-weight:800; text-decoration:none; }
.endgame-system-grid { padding:14px clamp(18px,3vw,38px) 0; display:grid; grid-template-columns:repeat(3,1fr); gap:9px; }
.endgame-system-grid article { min-height:132px; padding:18px; border:1px solid rgba(77,54,31,.14); border-radius:17px; background:rgba(255,255,255,.58); }
.endgame-system-grid article:nth-child(1) { border-top:4px solid #835c35; }.endgame-system-grid article:nth-child(2) { border-top:4px solid #2f6759; }.endgame-system-grid article:nth-child(3) { border-top:4px solid #526d91; }
.endgame-system-grid b { color:#8a633b; font-size:10px; letter-spacing:.1em; }
.endgame-system-grid h3 { margin:9px 0 6px; font:500 24px/1.2 "Songti SC",serif; }
.endgame-system-grid p { margin:0; color:#706457; font-size:11px; line-height:1.65; }
.endgame-rank-grid { padding:14px clamp(18px,3vw,38px); display:grid; grid-template-columns:repeat(10,minmax(0,1fr)); gap:6px; }
.endgame-rank-grid button { position:relative; min-width:0; min-height:72px; padding:9px 5px; display:grid; place-items:center; align-content:center; gap:3px; border:1px solid rgba(76,55,33,.17); border-radius:13px; color:#625647; background:rgba(255,252,244,.76); cursor:pointer; }
.endgame-rank-grid button:hover,.endgame-rank-grid button:focus-visible,.endgame-rank-grid button.is-active { color:#fff9e9; border-color:#2f6759; background:linear-gradient(145deg,#397866,#204d40); box-shadow:0 10px 22px rgba(33,79,65,.2); outline:0; }
.endgame-rank-grid small { color:#a06a3d; font:700 8px/1 Georgia,serif; }.endgame-rank-grid button.is-active small { color:#f0cf88; }
.endgame-rank-grid strong { overflow:hidden; max-width:100%; font:500 15px/1.2 "Songti SC",serif; white-space:nowrap; }
.endgame-rank-grid span { position:absolute; right:5px; top:5px; min-width:16px; height:16px; display:grid; place-items:center; border-radius:50%; color:#7d6c58; background:#eee2ca; font-size:7px; }
.endgame-catalog-toolbar { padding:14px clamp(18px,3vw,38px); display:flex; align-items:center; justify-content:space-between; gap:14px; border-top:1px solid var(--chess-line); border-bottom:1px solid var(--chess-line); }
.endgame-catalog-toolbar>div { display:flex; gap:5px; overflow:auto; }
.endgame-catalog-toolbar button { min-height:36px; padding:0 12px; flex:0 0 auto; border:1px solid var(--chess-line); border-radius:999px; color:#675b4d; background:#fffaf0; cursor:pointer; font-size:9px; font-weight:800; }
.endgame-catalog-toolbar button.is-active { color:white; border-color:#2f6759; background:#2f6759; }
.endgame-catalog-toolbar>p { margin:0; color:#7a6c5b; font-size:9px; }
.endgame-catalog { padding:18px clamp(18px,3vw,38px); display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.endgame-card { min-width:0; padding:18px; display:flex; flex-direction:column; border:1px solid rgba(78,57,35,.17); border-radius:18px; background:linear-gradient(150deg,rgba(255,255,255,.72),rgba(239,228,206,.62)); }
.endgame-card>header { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.endgame-card>header>span { width:45px; height:45px; flex:0 0 auto; display:grid; place-items:center; align-content:center; border:1px solid currentColor; border-radius:50%; color:#805a35; }
.endgame-card[data-piece="马"]>header>span { color:#2f6759; }.endgame-card[data-piece="炮"]>header>span { color:#526d91; }
.endgame-card>header>span b { font:500 18px/1 "Songti SC",serif; }.endgame-card>header>span small { font-size:7px; }
.endgame-card>header>div { display:grid; justify-items:end; gap:4px; }
.endgame-card>header i,.endgame-card>header em { font-size:8px; font-style:normal; }
.endgame-card>header i { color:#98653b; font-weight:800; }.endgame-card>header em { padding:4px 7px; border-radius:999px; color:#43685d; background:#dfeae4; }
.endgame-card h3 { margin:16px 0 4px; font:500 25px/1.2 "Songti SC",serif; }
.endgame-subtitle { margin:0; color:#8a7863; font-size:10px; }
.endgame-card dl { margin:16px 0 18px; display:grid; gap:7px; }
.endgame-card dl>div { display:grid; grid-template-columns:60px 1fr; gap:8px; }
.endgame-card dt { color:#8e765a; font-size:9px; }.endgame-card dd { margin:0; color:#5f5549; font-size:10px; line-height:1.55; }
.endgame-card footer { margin-top:auto; padding-top:12px; display:flex; align-items:center; justify-content:space-between; gap:10px; border-top:1px solid rgba(76,55,33,.12); }
.endgame-card footer small { overflow:hidden; color:#887865; font-size:8px; white-space:nowrap; text-overflow:ellipsis; }
.endgame-card footer button,.endgame-card footer a { min-height:33px; padding:0 10px; flex:0 0 auto; display:inline-flex; align-items:center; border:1px solid rgba(47,103,89,.25); border-radius:999px; color:#2f6759; background:rgba(255,255,255,.55); cursor:pointer; font-size:8px; font-weight:800; text-decoration:none; }
.endgame-empty { grid-column:1/-1; margin:0; padding:36px; color:#7c6e5c; text-align:center; }
.guest-access-note { margin:0 clamp(18px,3vw,38px) 14px; padding:12px 15px; display:flex; align-items:center; gap:12px; border-left:3px solid #2f6759; color:#4d665d; background:rgba(47,103,89,.08); font-size:10px; }
.operations-board { background:radial-gradient(circle at 86% 5%,rgba(205,164,82,.18),transparent 30%),linear-gradient(145deg,rgba(31,72,59,.97),rgba(18,48,40,.98)); color:#fff8e6; }
.operations-board .knowledge-heading small { color:#efcc83; }
.operations-board .knowledge-heading p { color:rgba(255,248,230,.69); }
.operations-status-grid { padding:0 clamp(18px,3vw,38px) 12px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; }
.operations-status-grid article { min-height:192px; padding:20px; display:flex; flex-direction:column; border:1px solid rgba(242,208,139,.25); border-radius:19px; background:rgba(255,255,255,.055); }
.operations-status-grid span { color:#efcc83; font-size:9px; font-weight:900; letter-spacing:.14em; }
.operations-status-grid b { margin:18px 0 10px; color:#fff4d3; font:500 32px/1 "Songti SC",serif; }
.operations-status-grid h3 { margin:0 0 8px; font:500 18px/1.3 "Songti SC",serif; }
.operations-status-grid p { margin:auto 0 0; color:rgba(255,248,230,.67); font-size:10px; line-height:1.7; }
.operations-playbook { padding:12px clamp(18px,3vw,38px); display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.operations-playbook article { padding:21px; border:1px solid rgba(255,255,255,.13); border-radius:18px; background:rgba(0,0,0,.12); }
.operations-playbook small { color:#efcc83; font-size:9px; font-weight:800; letter-spacing:.12em; }
.operations-playbook h3 { margin:9px 0 7px; font:500 22px/1.35 "Songti SC",serif; }
.operations-playbook p { margin:0; color:rgba(255,248,230,.68); font-size:11px; line-height:1.75; }
.operations-next { margin:12px clamp(18px,3vw,38px) clamp(18px,3vw,38px); padding:18px 20px; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:20px; border:1px solid rgba(239,204,131,.34); border-radius:17px; color:#fff6dc; background:rgba(239,204,131,.08); }
.operations-next p { margin:0; color:rgba(255,248,230,.68); font-size:11px; line-height:1.7; }
.operations-next a { min-height:39px; padding:0 14px; display:inline-flex; align-items:center; border:1px solid rgba(239,204,131,.42); border-radius:999px; color:#f4d791; font-size:9px; font-weight:800; text-decoration:none; white-space:nowrap; }

@media(max-width:1000px) {
  .endgame-rank-grid { grid-template-columns:repeat(6,minmax(0,1fr)); }
  .endgame-catalog { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .operations-status-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media(max-width:700px) {
  .xiangqi-section-anchorbar { top:5px; width:calc(100% - 8px); margin:7px auto 10px; padding:5px; display:flex; overflow:auto; border-radius:13px; scroll-snap-type:x mandatory; }
  .xiangqi-section-anchorbar a { min-width:94px; min-height:40px; flex:1 0 auto; scroll-snap-align:start; font-size:10px; }
  .xiangqi-member-strip { margin:0 12px; grid-template-columns:1fr auto; gap:9px; text-align:left; }
  .xiangqi-member-strip>a { grid-column:1/-1; justify-content:center; }
  .endgame-system-grid { padding:11px 12px 0; grid-template-columns:1fr; }
  .endgame-system-grid article { min-height:0; text-align:center; }
  .endgame-rank-grid { padding:12px; grid-template-columns:repeat(3,minmax(0,1fr)); }
  .endgame-rank-grid button { min-height:64px; }
  .endgame-catalog-toolbar { padding:12px; align-items:flex-start; flex-direction:column; }
  .endgame-catalog-toolbar>div { width:100%; }
  .endgame-catalog { padding:12px; grid-template-columns:1fr; }
  .endgame-card { text-align:left; }
  .guest-access-note { margin:0 12px 12px; align-items:flex-start; flex-direction:column; }
  .operations-status-grid,.operations-playbook { padding-left:12px; padding-right:12px; grid-template-columns:1fr; }
  .operations-status-grid article { min-height:0; text-align:center; }
  .operations-next { margin:10px 12px 12px; grid-template-columns:1fr; text-align:center; }
  .operations-next a { justify-content:center; }
}

@media print {
  .xiangqi-section-anchorbar,.xiangqi-member-strip,.endgame-catalog-toolbar { display:none!important; }
}

/* 2026-08-31：第三个品牌标识与“智慧家园 / 智慧管家”采用同一几何规格，十二项锚点收进标识菜单。 */
.chess-body .xiangqi-arc-dock { top:max(128px,calc(env(safe-area-inset-top) + 120px)); left:clamp(18px,3.2vw,52px); width:136px; height:42px; }
.chess-body .xiangqi-arc-trigger { width:136px; height:42px; min-height:42px; padding:0; display:grid; grid-template-columns:42px 82px; align-items:center; gap:12px; border:0; border-radius:0; color:#fff9e9; background:transparent; box-shadow:none; text-align:left; }
.chess-body .xiangqi-arc-trigger>.xiangqi-entry-mark { position:relative; width:42px; height:42px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.72); border-radius:50%; color:#f0ce86; background:rgba(5,15,12,.08); box-shadow:inset 0 0 0 1px rgba(255,255,255,.06),0 3px 14px rgba(0,0,0,.16); font-family:"Songti SC","STSong",serif; transform:none; }
.chess-body .xiangqi-entry-mark::before,.chess-body .xiangqi-entry-mark::after,.chess-body .xiangqi-entry-mark i { content:""; position:absolute; width:14px; height:8px; border-radius:90% 0 90% 0; background:#8de05c; }
.chess-body .xiangqi-entry-mark::before { top:-4px; left:5px; transform:rotate(-32deg); }
.chess-body .xiangqi-entry-mark::after { top:-6px; right:5px; transform:rotate(22deg) scaleX(-1); }
.chess-body .xiangqi-entry-mark i { top:-10px; left:15px; transform:rotate(-2deg); }
.chess-body .xiangqi-entry-mark b { font:700 17px/1 "Songti SC","STSong",serif; }
.chess-body .xiangqi-arc-trigger>.xiangqi-entry-copy { width:82px; display:grid; gap:5px; line-height:1; }
.chess-body .xiangqi-entry-copy strong { width:100%; display:block; font:700 17px/1 "Songti SC","STSong",serif; letter-spacing:.08em; text-align:justify; text-align-last:justify; white-space:nowrap; }
.chess-body .xiangqi-entry-copy small { width:100%; display:block; color:rgba(255,255,255,.8); font-size:6.5px; letter-spacing:.04em; text-align:justify; text-align-last:justify; white-space:nowrap; }
.chess-body .xiangqi-arc-trigger:hover,.chess-body .xiangqi-arc-trigger:focus-visible,.chess-body .xiangqi-arc-dock.is-open .xiangqi-arc-trigger { color:#fff9e9; border:0; background:transparent; box-shadow:none; transform:none; }
.chess-body .xiangqi-arc-trigger:hover,.chess-body .xiangqi-arc-trigger:focus-visible { outline:none; }
.chess-body .xiangqi-arc-trigger:hover .xiangqi-entry-mark,
.chess-body .xiangqi-arc-trigger:focus-visible .xiangqi-entry-mark {
  box-shadow:0 0 0 3px rgba(141,224,92,.58),0 0 24px rgba(141,224,92,.38),inset 0 0 20px rgba(255,216,111,.12);
}
.chess-body .xiangqi-arc-panel { left:0; top:52px; width:326px; height:auto; padding:10px; border:1px solid rgba(244,207,114,.35); border-radius:20px; background:linear-gradient(145deg,rgba(11,32,27,.97),rgba(20,13,10,.97)); box-shadow:0 22px 60px rgba(0,0,0,.42); transform:translateY(-8px) scale(.97); transform-origin:left top; transition:opacity .18s,transform .22s; }
.chess-body .xiangqi-arc-panel.is-open { transform:none; }
.chess-body .xiangqi-arc-panel nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.chess-body .xiangqi-arc-orb { position:relative; left:auto; top:auto; width:auto; height:48px; padding:0 11px; display:grid; grid-template-columns:28px 1fr; gap:8px; border:1px solid rgba(244,207,114,.24); border-radius:13px; opacity:0; transform:translateY(-7px); text-align:left; }
.chess-body .xiangqi-arc-orb::before { display:none; }
.chess-body .xiangqi-arc-panel.is-open .xiangqi-arc-orb { opacity:1; transform:none; transition-delay:var(--delay); }
.chess-body .xiangqi-arc-orb b { width:28px; height:28px; display:grid; place-items:center; border:1px solid rgba(255,239,194,.55); border-radius:50%; font:700 8px/1 Georgia,serif; }
.chess-body .xiangqi-arc-orb span { max-width:none; font-size:10px; white-space:nowrap; }
.chess-body .xiangqi-arc-orb:last-child { grid-column:1/-1; }
.xiangqi-section-anchorbar { display:none!important; }

/* 所有棋盘统一以交叉点为中心：棋子不倾斜、不漂移，桌面与手机共用同一比例。 */
.xiangqi-board .piece { box-sizing:border-box; width:9.15%; padding:0; display:flex; align-items:center; justify-content:center; border-width:2px; font-family:"Songti SC","STSong","Noto Serif SC",serif; font-style:normal; line-height:1; text-align:center; text-indent:0; transform:translate(-50%,-50%); }
.master-replay-board { aspect-ratio:9/10; }
.master-replay-board .piece { font-size:clamp(15px,1.55vw,22px); }
.xiangqi-board[data-practice-ready="true"] .piece:hover { transform:translate(-50%,-50%) scale(1.035); }
.master-replay-speed { width:100%; min-height:36px; padding:0 10px; display:flex; align-items:center; justify-content:space-between; gap:10px; border:1px solid rgba(89,60,36,.16); border-radius:10px; color:#705e4c; background:rgba(255,250,238,.62); font-size:8px; font-weight:800; }
.master-replay-speed select { min-height:28px; padding:0 24px 0 9px; border:1px solid rgba(89,60,36,.2); border-radius:999px; color:#594434; background:#fffaf0; font:inherit; }

@media(max-width:700px) {
  .chess-body .xiangqi-arc-dock { top:max(110px,calc(env(safe-area-inset-top) + 102px)); left:14px; width:124px; height:38px; }
  .chess-body .xiangqi-arc-trigger { width:124px; height:38px; min-height:38px; grid-template-columns:38px 74px; gap:12px; }
  .chess-body .xiangqi-arc-trigger>.xiangqi-entry-mark { width:38px; height:38px; }
  .chess-body .xiangqi-entry-mark b { font-size:15px; }
  .chess-body .xiangqi-arc-trigger>span.xiangqi-entry-copy { width:74px; gap:4px; display:grid; }
  .chess-body .xiangqi-entry-copy strong { font-size:15px; }
  .chess-body .xiangqi-entry-copy small { font-size:6px; }
  .chess-body .xiangqi-arc-panel { top:47px; width:min(314px,calc(100vw - 28px)); padding:8px; }
  .chess-body .xiangqi-arc-panel nav { grid-template-columns:1fr; gap:5px; }
  .chess-body .xiangqi-arc-orb { height:42px; grid-template-columns:26px 1fr; }
  .chess-body .xiangqi-arc-orb:last-child { grid-column:auto; }
  .xiangqi-board .piece { width:9.35%; }
}

/* 2026-09-01：关卡切换常驻题目卡右上角；窄屏允许自然换行但仍靠右，不遮挡题目。 */
@media(max-width:700px) {
  .insight-topbar { align-items:flex-start; flex-wrap:wrap; }
  .insight-topbar .stage-actions { width:100%; order:-1; justify-content:flex-end; }
  .insight-topbar .stage-actions button { min-height:38px; padding:0 12px; font-size:10px; }
}

/* 2026-08-31：参考开发文档将益智象棋扩展为十二类学习系统。 */
.chess-body .xiangqi-arc-panel { max-height:min(650px,calc(100vh - 190px)); overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; }
.chess-body .xiangqi-arc-orb:last-child { grid-column:auto; }
.basics-library { background:radial-gradient(circle at 88% 0,rgba(195,143,79,.18),transparent 29%),rgba(255,251,241,.92); }
.basics-overview { padding:0 clamp(18px,3vw,42px) 14px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.basics-overview article { min-height:150px; padding:21px; border:1px solid rgba(87,61,35,.15); border-radius:18px; background:linear-gradient(150deg,rgba(255,255,255,.76),rgba(239,226,203,.7)); }
.basics-overview b { color:#8b4d35; font:500 24px/1 "Songti SC",serif; }
.basics-overview h3 { margin:11px 0 8px; font:500 21px/1.25 "Songti SC",serif; }
.basics-overview p { margin:0; color:#6c5f51; font-size:11px; line-height:1.75; }
.piece-guide-grid { padding:10px clamp(18px,3vw,42px) 24px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.piece-guide-grid details { border:1px solid rgba(83,59,34,.16); border-radius:18px; background:rgba(255,252,245,.75); }
.piece-guide-grid details:last-child { grid-column:1/-1; }
.piece-guide-grid summary { min-height:78px; padding:14px 18px; display:flex; align-items:center; gap:13px; cursor:pointer; list-style:none; }
.piece-guide-grid summary::-webkit-details-marker { display:none; }
.piece-guide-grid summary::after { content:"+"; margin-left:auto; color:#8c5b38; font-size:24px; font-weight:300; }
.piece-guide-grid details[open] summary::after { content:"−"; }
.piece-guide-grid summary i { width:48px; height:48px; flex:0 0 auto; display:grid; place-items:center; border:1px solid #9a6a3f; border-radius:50%; color:#75472b; background:#f4dfb5; font:500 22px/1 "STKaiti","KaiTi",serif; font-style:normal; }
.piece-guide-grid summary span { display:grid; gap:5px; }
.piece-guide-grid summary b { font:500 22px/1 "Songti SC",serif; }
.piece-guide-grid summary small { color:#8b7964; font-size:9px; letter-spacing:.06em; }
.piece-guide-grid details>p { margin:0; padding:0 18px 13px; color:#66594c; font-size:11px; line-height:1.75; }
.piece-guide-grid ul { margin:0 18px 18px; padding:15px 16px 15px 31px; display:grid; gap:7px; border-radius:13px; color:#65584a; background:#eee2cf; font-size:10px; line-height:1.62; }
.piece-guide-grid li::marker { color:#9b5a3d; }

.maxims-library { background:radial-gradient(circle at 8% 3%,rgba(186,118,56,.17),transparent 27%),rgba(255,251,241,.92); }
.maxim-groups { padding:0 clamp(18px,3vw,42px) clamp(22px,3vw,42px); display:grid; gap:12px; }
.maxim-groups>section { overflow:hidden; border:1px solid rgba(91,63,34,.15); border-radius:21px; background:rgba(255,252,245,.74); }
.maxim-groups>section>header { min-height:82px; padding:15px 20px; display:flex; align-items:center; gap:14px; border-bottom:1px solid rgba(91,63,34,.12); }
.maxim-groups>section>header>b { width:42px; height:42px; display:grid; place-items:center; border-radius:50%; color:#fff4df; background:#8e4d36; font:700 10px/1 Georgia,serif; }
.maxim-groups>section>header small { color:#9a6a44; font-size:8px; letter-spacing:.15em; }
.maxim-groups>section>header h3 { margin:4px 0 0; font:500 25px/1 "Songti SC",serif; }
.maxim-groups>section>div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.maxim-groups article { min-height:180px; padding:20px; border-right:1px solid rgba(91,63,34,.1); }
.maxim-groups article:last-child { border-right:0; }
.maxim-groups article strong { font:500 20px/1.3 "Songti SC",serif; }
.maxim-groups article p { margin:11px 0; color:#65594d; font-size:11px; line-height:1.72; }
.maxim-groups article small { display:block; color:#8b725b; font-size:9px; line-height:1.65; }

.strategy-library { background:radial-gradient(circle at 90% 4%,rgba(57,118,98,.14),transparent 28%),rgba(255,251,241,.92); }
.endgame-strategy-library { background:radial-gradient(circle at 8% 4%,rgba(82,109,145,.14),transparent 29%),rgba(255,251,241,.92); }
.strategy-module-grid { padding:0 clamp(18px,3vw,42px) 20px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.strategy-module-grid article { min-height:190px; padding:21px; display:flex; flex-direction:column; border:1px solid rgba(75,61,42,.15); border-radius:18px; background:linear-gradient(150deg,rgba(255,255,255,.76),rgba(234,226,210,.65)); }
.strategy-module-grid article>b { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; color:white; background:#346b5b; font:700 9px/1 Georgia,serif; }
.endgame-strategy-library .strategy-module-grid article>b { background:#536f93; }
.strategy-module-grid h3 { margin:16px 0 9px; font:500 23px/1.25 "Songti SC",serif; }
.strategy-module-grid p { margin:0; color:#675b4e; font-size:11px; line-height:1.75; }
.strategy-module-grid small { margin-top:auto; padding-top:14px; color:#8d7055; font-size:9px; line-height:1.6; }
.strategy-path { margin:0 clamp(18px,3vw,42px) clamp(22px,3vw,42px); padding:16px; display:flex; align-items:center; justify-content:center; gap:13px; border:1px solid rgba(82,109,145,.18); border-radius:17px; color:#405774; background:#e4eaf0; font-size:11px; font-weight:800; }
.strategy-path i { color:#8b775f; font-style:normal; }

.stories-library { background:radial-gradient(circle at 91% 2%,rgba(140,92,111,.16),transparent 29%),rgba(255,251,241,.92); }
.story-card-grid { padding:0 clamp(18px,3vw,42px) 22px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.story-card-grid article { min-height:230px; padding:22px; display:flex; flex-direction:column; border:1px solid rgba(88,53,71,.14); border-radius:19px; background:linear-gradient(150deg,rgba(255,255,255,.77),rgba(235,222,225,.66)); }
.story-card-grid span { color:#8b5268; font-size:9px; font-weight:900; letter-spacing:.12em; }
.story-card-grid h3 { margin:12px 0 10px; font:500 23px/1.35 "Songti SC",serif; }
.story-card-grid p { margin:0; color:#685a60; font-size:11px; line-height:1.76; }
.story-card-grid small { margin-top:auto; padding-top:16px; color:#8c747d; font-size:9px; line-height:1.6; }

@media(max-width:900px) {
  .basics-overview,.strategy-module-grid,.story-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .maxim-groups>section>div { grid-template-columns:1fr; }
  .maxim-groups article { min-height:0; border-right:0; border-bottom:1px solid rgba(91,63,34,.1); }
  .maxim-groups article:last-child { border-bottom:0; }
}

@media(max-width:700px) {
  .chess-body .xiangqi-arc-panel { max-height:calc(100svh - max(178px,calc(env(safe-area-inset-top) + 166px))); padding-bottom:max(8px,env(safe-area-inset-bottom)); }
  .basics-overview,.piece-guide-grid,.strategy-module-grid,.story-card-grid { padding-left:12px; padding-right:12px; grid-template-columns:1fr; }
  .basics-overview article,.strategy-module-grid article,.story-card-grid article { min-height:0; text-align:left; }
  .piece-guide-grid details:last-child { grid-column:auto; }
  .piece-guide-grid summary { min-height:70px; padding:11px 14px; }
  .piece-guide-grid summary i { width:43px; height:43px; }
  .maxim-groups { padding:0 12px 12px; }
  .maxim-groups>section>header { justify-content:center; text-align:left; }
  .strategy-path { margin:0 12px 12px; flex-wrap:wrap; gap:8px; text-align:center; }
}

/* Final cascade lock：不让旧版矩形下拉规则覆盖十二颗圆珠。 */
.chess-body .xiangqi-arc-panel {
  left:26px; top:48px; width:430px; height:360px; max-height:none; padding:0;
  overflow:visible; border:0; border-radius:0; background:transparent; box-shadow:none; transform:none;
}
.chess-body .xiangqi-arc-panel nav { position:relative; width:100%; height:100%; display:block; }
.chess-body .xiangqi-arc-orb {
  position:absolute; left:0; top:0; width:88px; height:88px; padding:10px 8px;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px;
  border:2px solid rgba(247,214,132,.92); border-radius:50%;
  background:radial-gradient(circle at 31% 22%,rgba(255,255,255,.34),transparent 24%),linear-gradient(145deg,var(--orb),var(--shade));
  opacity:0; transform:translate(-24px,-38px) scale(.14); text-align:center;
}
.chess-body .xiangqi-arc-orb::before { display:block; }
.chess-body .xiangqi-arc-orb b { width:auto; height:auto; display:block; border:0; border-radius:0; font:700 10px/1 Georgia,serif; }
.chess-body .xiangqi-arc-orb span { max-width:70px; font:700 13px/1.18 "Songti SC","STSong",serif; white-space:normal; }
.chess-body .xiangqi-arc-panel.is-open .xiangqi-arc-orb { opacity:1; transform:translate(var(--pearl-x),var(--pearl-y)) scale(1); transition-delay:var(--delay); }
@media(max-width:700px){
  .chess-body .xiangqi-arc-panel { left:8px; top:43px; width:250px; height:330px; max-height:none; padding:0; overflow:visible; }
  .chess-body .xiangqi-arc-panel nav { display:block; }
  .chess-body .xiangqi-arc-orb { width:70px; height:70px; padding:7px 5px; display:flex; gap:4px; transform:translate(-18px,-30px) scale(.12); }
  .chess-body .xiangqi-arc-orb span { max-width:58px; font-size:11px; }
  .chess-body .xiangqi-arc-orb b { font-size:8px; }
  .chess-body .xiangqi-arc-panel.is-open .xiangqi-arc-orb { transform:translate(var(--pearl-x),var(--pearl-y)) scale(1); }
}
