@import"https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;500;600;700&display=swap";:root{font-family:Inter,Microsoft YaHei,sans-serif;color:#333a31;background:#f4f1ea;font-synthesis:none;font-size:14px;font-weight:400;--red:#963f2e;--muted:#8d8c7e;--line:#deddd2;--serif:"Noto Serif SC","SimSun",serif}*{box-sizing:border-box}body{margin:0}button,a,select{-webkit-tap-highlight-color:transparent}button,select{font:inherit;color:inherit}button{cursor:pointer;background:none;border:none}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid var(--red);outline-offset:4px}a{text-decoration:none;color:inherit}.topbar{height:100px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 4.1%;gap:35px}.brand{display:flex;align-items:center;gap:15px;font:600 24px var(--serif);letter-spacing:3px}.seal{display:grid;place-items:center;color:#f8efe1;background:var(--red);height:49px;width:43px;font-size:32px;border:4px double #e7c5aa;transform:rotate(-3deg)}.brand small{display:block;font:9px Arial,sans-serif;letter-spacing:2.6px;margin-top:7px;color:#8d8875}.topbar nav{display:flex;gap:40px;height:100%;align-items:center;font-size:13px}.nav-active{position:relative;height:100%;display:flex;align-items:center;color:var(--red)}.nav-active:after{content:"";height:2px;background:var(--red);position:absolute;bottom:0;left:0;right:0}.topbar nav button{color:#7b7d70;font-size:13px}.topbar nav button span{margin-left:12px}.edition{font-size:11px;color:#787c70;display:flex;gap:10px;align-items:center}.live-dot{width:5px;height:5px;border-radius:50%;background:#788674;display:inline-block}.edition-number{margin-left:18px;padding-left:25px;border-left:1px solid var(--line);font-size:10px;letter-spacing:1px}main{max-width:1800px;margin:auto;display:grid;grid-template-columns:minmax(0,1fr) 320px;padding:0 3.2% 0 4.1%;gap:35px}.arena{min-width:0}.intro{height:153px;display:flex;align-items:center;justify-content:space-between;padding-right:6px}.eyebrow{font-size:10px;letter-spacing:3px;color:#98917c;margin:0 0 13px}.intro h1{font:500 clamp(24px,2.35vw,38px) var(--serif);letter-spacing:3px;margin:0}.intro h1 span{color:var(--red)}.intro-sub{color:#8e8c7e;font-size:11px;letter-spacing:2px;margin-top:14px}.vertical-note{writing-mode:vertical-rl;font:11px var(--serif);letter-spacing:3px;color:#8f8b79}.scene-wrap{position:relative;height:calc(100vh - 390px);min-height:465px;max-height:820px;background:#e7e1d5;border:1px solid #dbd4c7;overflow:hidden;border-radius:3px}#scene{position:absolute;inset:0}#scene canvas{display:block;touch-action:none}.scene-top{position:absolute;top:23px;left:24px;right:24px;display:flex;justify-content:space-between;align-items:center;font:10px var(--serif);letter-spacing:2px;color:#88836f;pointer-events:none}.scene-tag{padding:8px 10px;border:1px solid #b5ae984f;color:#655e48;font-family:inherit;font-size:11px;letter-spacing:1px}.scene-tag i{display:inline-block;width:5px;height:5px;background:#9c6a41;margin-right:7px;transform:rotate(45deg)}.scene-bottom{position:absolute;bottom:18px;left:22px;right:22px;display:flex;justify-content:space-between;color:#857e6c;font-size:10px;align-items:center;pointer-events:none}.scene-bottom button{pointer-events:auto;font-size:11px}.scene-bottom em{margin:0 8px;font-style:normal;opacity:.6}.gesture{font-style:normal;font-size:16px;margin-right:8px}.compass{position:absolute;bottom:68px;left:25px;display:grid;justify-items:center;gap:1px;font-size:8px;color:#9b947e;pointer-events:none}.compass b{font-size:31px;font-weight:400}.arena-foot{display:flex;justify-content:space-between;align-items:center;height:82px;font-size:8px;letter-spacing:1.3px;color:#989483}.arena-foot>span:first-child{display:flex;align-items:center;gap:9px}.arena-foot>span>b{font:17px var(--serif);border:1px solid #b8af99;padding:2px 4px}.toolbar{display:flex;gap:12px}.toolbar button{font-size:22px;color:#666c5c;width:55px;display:flex;align-items:center;flex-direction:column;gap:5px;transition:color .15s}.toolbar button:hover,.toolbar button[aria-pressed=true]{color:var(--red)}.toolbar button span{font-size:10px;letter-spacing:1px}.foot-mark{font:10px var(--serif)}aside{border-left:1px solid var(--line);padding:35px 0 0 28px;display:flex;flex-direction:column;min-width:0}.panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}.panel-heading .eyebrow{font-size:9px;letter-spacing:2.5px;margin-bottom:8px}h2{font:500 25px var(--serif);margin:0;letter-spacing:3px}.small-seal{font:29px var(--serif);color:#a49879;opacity:.6}.mode-tabs{display:flex;padding:4px;background:#eae8df;border-radius:3px;gap:4px}.mode-tabs button{flex:1;padding:11px 0;font-size:12px;color:#878778;border-radius:2px}.mode-tabs button.active{background:#faf9f5;color:#4d5747;box-shadow:0 1px 5px #3331}.difficulty{display:flex;justify-content:space-between;align-items:center;margin:19px 0 23px;font-size:11px;color:#8c8b7e}.difficulty select{border:0;background:transparent;font-size:11px;color:#5f6758;cursor:pointer;padding:5px}.players{border-top:1px solid var(--line);padding-top:20px}.player{display:flex;gap:12px;align-items:center;padding:14px 12px;border:1px solid transparent;border-radius:3px}.avatar{height:42px;width:42px;display:grid;place-items:center;border:1px solid #a0a795;border-radius:50%;outline:1px solid #c4c8b833;outline-offset:3px;font:26px var(--serif);background:#e4e8de;color:#536354}.player.red .avatar{background:#efdfcf;color:#a65538;border-color:#c89d7d}.player.active{background:#eee8db;border-color:#d5c3a9}.player-text b{font-size:12px;font-weight:500;display:block}.player-text span{display:block;font-size:10px;margin-top:7px;color:#9a9685}.player-text b span{font:inherit;display:inline;color:inherit}.side-symbol{margin-left:auto;font:19px var(--serif);color:#b6ae98}.turn-status{display:flex;align-items:center;gap:12px;margin:15px 21px;font-size:10px;color:#9c7150;min-height:16px;text-align:center}.turn-line{height:1px;background:#d9d2c1;flex:1}.selection-card{display:flex;align-items:center;gap:13px;margin-top:22px;padding:15px 0 19px;border-bottom:1px solid var(--line)}.selection-card>span{font:30px var(--serif);color:#b6a888;padding:0 8px}.selection-card b{font-size:11px;font-weight:500;color:#777c6d}.selection-card p{font-size:10px;line-height:1.8;color:#959381;margin:5px 0 0}.record{margin-top:22px;flex:1;min-height:150px}.section-label{display:flex;justify-content:space-between;align-items:center}.section-label h3{font:500 13px var(--serif);margin:0}.section-label>span{font-size:9px;color:#969583}.record-head,.record-row{display:grid;grid-template-columns:44px 1fr 1fr;text-align:center}.record-head{color:#a3a08f;font-size:9px;margin-top:17px;padding-bottom:10px;border-bottom:1px solid var(--line)}#moves{height:116px;overflow:auto;scrollbar-width:thin;scrollbar-color:#b6ad97 transparent}.record-row{font-size:11px;padding:9px 0;border-bottom:1px solid #e5e2d6}.record-row span{color:#9a9787;font-size:10px}.record-row b{font-weight:400}.record-row b:nth-child(2){color:#9b5a43}.empty-record{text-align:center;color:#aaa38f;font-size:10px;padding-top:18px}.empty-record>span{font-size:22px;color:#bdb49e}.empty-record p{margin-top:8px;letter-spacing:1px}.captures{border-top:1px solid var(--line);padding:15px 0;display:flex;font-size:10px;gap:14px;color:#979382;align-items:center}.captures>span{white-space:nowrap}#captures{font-size:11px;display:flex;flex-wrap:wrap;gap:5px}.captured-r{color:#9b4935}.captured-b{color:#476358}.primary{background:#34493b;color:#f7f3e8;font-size:12px;border:1px solid #34493b;border-radius:2px;padding:14px 18px;letter-spacing:2px}.primary:hover{background:#455e4e}#new-game{display:flex;justify-content:space-between;width:100%}.save-note{display:flex;align-items:center;justify-content:center;gap:7px;font-size:9px;color:#a19d8b;margin:12px 0 0}.save-note .live-dot{width:4px;height:4px}footer{margin:0 4.1%;border-top:1px solid var(--line);height:55px;display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:1px;color:#a5a18f}footer i{font-style:normal;padding:0 10px;color:#c6bfaf}#toast{position:absolute;left:50%;bottom:65px;transform:translate(-50%);background:#35473dec;color:#f7f2e6;padding:12px 20px;font-size:12px;border-radius:3px;opacity:0;transition:opacity .2s;pointer-events:none;white-space:nowrap}#toast.show{opacity:1}.result{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:290px;text-align:center;padding:32px;background:#faf7eef5;border:1px solid #b3a589;box-shadow:0 20px 60px #40331d44}.result h2{margin-top:18px}.result p{color:#94866e;font-size:12px;margin:16px 0 24px}.hidden{display:none}dialog{width:min(580px,calc(100vw - 32px));background:#f6f2e9;border:1px solid #c9bea6;color:#49503f;padding:35px;box-shadow:0 30px 120px #0003;max-height:85vh;overflow:auto}dialog::backdrop{background:#26362c66;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}dialog>p{font-size:12px;line-height:1.9;color:#8b836e}.dialog-close{position:absolute;right:15px;top:12px;font-size:25px;color:#8f8674}.rule-list{margin:24px 0}.rule-list p{font-size:12px;line-height:1.8;display:flex;gap:20px}.rule-list b{min-width:48px;color:#964c36}.rule-note{font-size:10px!important;border-top:1px solid var(--line);padding-top:13px}.keyboard-help{font-size:10px;margin:22px 0;color:#8f8774;display:flex;align-items:center;gap:9px}kbd{background:#e5dece;border-radius:2px;padding:4px 6px}details{font-size:12px;color:#777663}summary{cursor:pointer}.dialog-actions{display:flex;justify-content:flex-end;gap:20px;margin-top:25px}#accessible-board{display:grid;grid-template-columns:repeat(9,1fr);gap:2px;margin-top:20px}#accessible-board button{background:#e3d5b9;min-height:36px;font:17px var(--serif)}#accessible-board .r{color:#a43b29}#accessible-board .b{color:#314d42}#accessible-board .possible{background:#a4ba8e}.webgl-error{padding:110px 35px;text-align:center}.webgl-error button{display:block;margin:20px auto;padding:12px;background:#34493b;color:#fff}@media(min-width:1500px){main{grid-template-columns:minmax(0,1fr) 350px;gap:40px}aside{padding-left:35px}.scene-wrap{min-height:570px}#moves{height:150px}.intro{height:170px}}@media(max-width:1100px){.topbar{padding:0 25px}.edition-number{display:none}.topbar nav{gap:22px}main{padding:0 24px;gap:22px;grid-template-columns:minmax(0,1fr) 280px}aside{padding-left:20px}.intro h1{font-size:26px;letter-spacing:1px}.scene-wrap{min-height:480px}.foot-mark{display:none}.toolbar{gap:2px}.arena-foot>span:first-child{font-size:6px;letter-spacing:.8px}.scene-top>span:last-child{display:none}.scene-bottom{font-size:8px}.scene-bottom em{margin:0 3px}.scene-bottom button{font-size:9px}}@media(max-width:800px){.topbar{height:78px;padding:0 20px}.brand{font-size:20px;gap:10px}.seal{height:41px;width:35px;font-size:25px}.brand small{font-size:7px;letter-spacing:2px}.edition{display:none}.topbar nav{gap:16px;font-size:11px}.topbar nav button{font-size:11px}.topbar nav button span{display:none}main{display:block;padding:0 18px}.intro{height:125px}.intro h1{font-size:26px}.eyebrow{font-size:9px}.intro-sub{font-size:10px}.scene-wrap{height:62vh;min-height:440px;max-height:650px}.scene-top{top:16px;left:15px}.scene-bottom{left:15px;right:13px}.arena-foot{height:75px}.arena-foot>span:first-child{font-size:7px}.toolbar{gap:6px}.toolbar button{width:42px}aside{border-left:0;border-top:1px solid var(--line);padding:25px 0;display:grid;grid-template-columns:1fr 1fr;column-gap:25px;align-items:start}.panel-heading{grid-column:1/-1;margin-bottom:18px}.mode-tabs{grid-column:1}.difficulty{grid-column:2;grid-row:2;margin:6px 0}.players{grid-column:1;border-top:0;padding-top:17px}.selection-card{grid-column:1;grid-row:4;margin-top:8px}.record{grid-column:2;grid-row:3/5;margin-top:26px}#moves{height:207px}.captures{grid-column:1/-1;margin-top:14px}#new-game,.save-note{grid-column:1/-1}footer{margin:0 20px;font-size:8px}footer>span:last-child{display:none}.player{padding:12px 6px;gap:9px}.avatar{width:34px;height:34px;font-size:22px}.side-symbol{display:none}.player-text b{font-size:10px}.turn-status{margin:12px 5px}.selection-card>span{padding:0 2px}.selection-card p{font-size:9px}.record-head,.record-row{grid-template-columns:28px 1fr 1fr}.scene-wrap .compass{left:15px}.vertical-note{font-size:9px}}.battle-caption{position:absolute;left:50%;top:70px;transform:translate(-50%);padding:9px 22px;border:1px solid #b39a6866;background:#f5eddfdc;color:#684a31;font:14px var(--serif);letter-spacing:5px;opacity:0;pointer-events:none;transition:opacity .15s;white-space:nowrap}.battle-caption.visible{opacity:1}@media(max-width:800px){.toolbar{gap:0}.toolbar button{width:39px}.arena-foot>span:first-child{letter-spacing:0;font-size:6px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
