.quantum-shogi{--board-wood:#eed8b6;--board-wood-dark:#caa46d;--board-wood-shadow:#3a24122e;--board-ink:#2a1a12;--board-accent:#0f766e;--board-accent-soft:#0f766e33;--board-ivory:#fdf7ee;--board-quantum:#0284c7;--board-quantum-soft:#0284c747;--cell-size:clamp(32px, 6vw, 54px);color:var(--board-ink);font-family:Zen Old Mincho,Shippori Mincho,Hiragino Mincho ProN,Yu Mincho,serif}.quantum-shogi *,.quantum-shogi :before,.quantum-shogi :after{box-sizing:border-box}.quantum-shogi .board-row{display:flex}.quantum-shogi .game-info{grid-template-columns:auto 1fr auto;place-items:center;gap:16px;display:grid}.quantum-shogi .game{flex-direction:column;gap:10px;font-size:clamp(16px,2.3vw,22px);display:flex}.quantum-shogi .game .game{flex-direction:row;align-items:flex-start;gap:12px}.quantum-shogi .game.white{transform-origin:50%;transform:rotate(180deg)}.quantum-shogi .game-sub{flex-direction:column;gap:10px;display:flex}.quantum-shogi .center{text-align:center;writing-mode:vertical-rl;text-orientation:upright;letter-spacing:.08em;font-size:clamp(12px,1.6vw,14px);font-weight:600;line-height:1.1}.quantum-shogi .bold{font-weight:700}.quantum-shogi .game-info-white,.quantum-shogi .game-info-black{background:#fff9;border:1px solid #8c673c40;border-radius:10px;flex-direction:column;align-items:center;gap:6px;padding:6px;display:flex;box-shadow:0 8px 16px #3a24121f}.quantum-shogi .game-board{background:linear-gradient(145deg,#ffffffd1,#fff6);border:1px solid #a079484d;border-radius:16px;width:fit-content;padding:12px;box-shadow:0 24px 48px #3724122e}.quantum-shogi .square,.quantum-shogi .captured,.quantum-shogi .mobile-square,.quantum-shogi .mobile-captured{color:var(--board-ink);text-align:center;cursor:pointer;background:linear-gradient(#eccfa1f2,#d6b27ef2);border:1px solid #5a3a1e80;margin-top:-1px;margin-right:-1px;padding:0;font-weight:700;line-height:1;transition:box-shadow .2s,background .2s;position:relative;overflow:hidden}.quantum-shogi .square,.quantum-shogi .mobile-square{width:var(--cell-size);height:var(--cell-size);justify-content:center;align-items:center;font-size:clamp(14px,2.1vw,22px);display:inline-flex}.quantum-shogi .captured,.quantum-shogi .mobile-captured{width:calc(var(--cell-size) - 12px);height:calc(var(--cell-size) - 12px);background:linear-gradient(#f8f0e2fa,#e8d4b2f2);justify-content:center;align-items:center;font-size:clamp(12px,1.9vw,18px);display:inline-flex}.quantum-shogi .piece-wrap{pointer-events:none;justify-content:center;align-items:center;width:100%;height:100%;display:inline-flex;position:relative}.quantum-shogi .piece-body{justify-content:center;align-items:center;width:100%;height:100%;display:inline-flex;position:relative}.quantum-shogi .piece-wrap[data-has-piece=true] .piece-body:before{content:"";clip-path:polygon(50% 4%,92% 18%,82% 96%,18% 96%,8% 18%);background:linear-gradient(#fef7e9,#e6cfa3);position:absolute;inset:6px 6px 8px;box-shadow:inset 0 0 0 1px #563a1e99,0 3px 6px #3423102e}.quantum-shogi .captured .piece-wrap[data-has-piece=true] .piece-body:before{inset:5px 5px 6px}.quantum-shogi .piece-text{z-index:1;text-shadow:0 2px 3px #2c1c0e33;justify-content:center;align-items:center;width:100%;height:100%;display:inline-flex;position:relative}.quantum-shogi .square.white .piece-body,.quantum-shogi .captured.white .piece-body,.quantum-shogi .mobile-square.white .piece-body,.quantum-shogi .mobile-captured.white .piece-body{transform:rotate(180deg)}@keyframes unknownPulse{0%{box-shadow:inset 0 0 0 1px #0003,0 0 #0284c766}50%{box-shadow:inset 0 0 0 1px #0284c78c,0 0 16px #0284c759}to{box-shadow:inset 0 0 0 1px #0003,0 0 #0284c766}}.quantum-shogi .piece-wrap[data-unknown=true] .piece-body:before{background:linear-gradient(#e0f5fff2,#b6e0f3f2);animation:2.4s ease-in-out infinite unknownPulse;box-shadow:inset 0 0 0 1px #0284c78c,0 0 12px #0284c740}.quantum-shogi .piece-wrap[data-unknown=true] .piece-text{color:#0c4a6e;text-shadow:0 2px 6px #0284c759}.quantum-shogi .piece-wrap[data-promoted=true] .piece-text{color:#b91c1c}.quantum-shogi .piece-wrap[data-unknown=true]:after{content:"";color:var(--board-quantum);letter-spacing:.1em;font-size:10px;font-weight:800;position:absolute;top:6px;right:8px}.quantum-shogi .attack{box-shadow:inset 0 0 0 2px var(--board-accent), 0 0 0 4px var(--board-accent-soft);background:linear-gradient(#e4fbf7f2,#c8e9e2f2)}.quantum-shogi .final{box-shadow:inset 0 0 0 2px #b45309,0 6px 16px #b4530947}.quantum-shogi .click{box-shadow:inset 0 0 0 2px #0f766e,0 0 0 4px #0f766e40}.quantum-shogi .number{width:calc(var(--cell-size) - 18px);height:calc(var(--cell-size) - 18px);color:#3e2814cc;background:#ffffffd9;border:1px solid #5a3a1e59;border-radius:8px;margin-top:4px;font-size:clamp(11px,1.8vw,15px);font-weight:600}.quantum-shogi .button,.quantum-shogi .mobile-button{justify-content:center;display:flex}.quantum-shogi button:focus{outline:none}@media (max-width:959px){.quantum-shogi .game-info{grid-template-columns:1fr;justify-items:stretch}.quantum-shogi .game .game{flex-direction:column;align-items:center}.quantum-shogi .game-info-white,.quantum-shogi .game-info-black{flex-direction:row;justify-content:center;width:100%}}@media (prefers-reduced-motion:reduce){.quantum-shogi .square,.quantum-shogi .captured{transition:none}.quantum-shogi .piece-wrap[data-unknown=true] .piece-body:before{animation:none}}
@keyframes b12mmr0{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes b12mmr1{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}
.b12mmr2{--qs-bg:#f8f4ea;--qs-ink:#1f1a17;--qs-muted:#5f5750;--qs-accent:#0f766e;--qs-accent-soft:#0f766e29;--qs-quantum:#0284c7;--qs-quantum-soft:#0284c733;--qs-card:#ffffffdb;--qs-border:#7860482e;min-height:100vh;color:var(--qs-ink);background:radial-gradient(900px at 15% 12%,#0284c726,#0000 55%),radial-gradient(1000px at 85% 8%,#0f766e29,#0000 60%),linear-gradient(160deg,#fefbf4 0%,#eef7f2 48%,#f5e9d7 100%);flex-direction:column;display:flex}
.b12mmr3{flex-direction:column;flex:1;gap:24px;width:100%;max-width:1200px;margin:0 auto;padding:28px 20px 60px;display:flex}
.b12mmr4{gap:12px;animation:.6s both b12mmr0;display:grid}
.b12mmr5{border:1px solid var(--qs-border);letter-spacing:.18em;text-transform:uppercase;background:#ffffffb3;border-radius:999px;align-self:flex-start;padding:6px 12px;font-size:12px;font-weight:700}
.b12mmr6{font-size:clamp(20px,2.2vw,30px);font-weight:800;line-height:1.1}
.b12mmr7{max-width:720px;color:var(--qs-muted);font-size:15px;line-height:1.7}
.b12mmr8{grid-template-columns:1fr;align-items:start;gap:20px;display:grid}
.b12mmr9{flex-direction:column;gap:16px;display:flex}
.b12mmra{flex-direction:column;gap:16px;display:flex}
.b12mmrb{background:var(--qs-card);border:1px solid var(--qs-border);border-radius:18px;gap:14px;padding:18px;animation:.5s both b12mmr1;display:grid;box-shadow:0 20px 50px #291e121f}
.b12mmrc{letter-spacing:.04em;font-size:16px;font-weight:700}
.b12mmrd{color:var(--qs-muted);font-size:13px;line-height:1.6}
.b12mmre{gap:6px;display:grid}
.b12mmrf{color:var(--qs-muted);text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:700}
.b12mmrg{border:1px solid var(--qs-border);width:100%;color:var(--qs-ink);background:#ffffffe6;border-radius:12px;outline:none;padding:10px 12px;font-size:14px;transition:border-color .2s,box-shadow .2s}
.b12mmrg:focus{border-color:var(--qs-quantum);box-shadow:0 0 0 3px var(--qs-quantum-soft)}
.b12mmri{flex-wrap:wrap;gap:10px;display:flex}
.b12mmrj{background:linear-gradient(120deg, var(--qs-accent), #16a34a);color:#fff;letter-spacing:.06em;cursor:pointer;border:none;border-radius:999px;padding:10px 16px;font-size:13px;font-weight:700;box-shadow:0 14px 28px #0f766e52}
.b12mmrk{border:1px solid var(--qs-border);color:var(--qs-ink);letter-spacing:.04em;cursor:pointer;background:#ffffffb3;border-radius:999px;padding:9px 15px;font-size:13px;font-weight:700}
.b12mmrl{z-index:40;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#18141073;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}
.b12mmrm{background:var(--qs-card);border:1px solid var(--qs-border);border-radius:18px;gap:12px;width:min(420px,100%);padding:20px;display:grid;box-shadow:0 24px 50px #291e1238}
.b12mmrn{font-size:18px;font-weight:700}
.b12mmro{color:var(--qs-muted);font-size:14px;line-height:1.6}
.b12mmrp{flex-wrap:wrap;justify-content:center;gap:10px;padding-top:6px;display:flex}
.b12mmrq{min-width:120px}
.b12mmrr{min-width:120px}
.b12mmrs{border:1px solid var(--qs-border);cursor:pointer;background:#fffc;border-radius:12px;padding:10px 12px;font-weight:600}
.b12mmrs[data-active=true]{border-color:var(--qs-quantum);box-shadow:0 0 0 3px var(--qs-quantum-soft);background:#dbf2ffe6}
.b12mmrs[disabled]{cursor:not-allowed;opacity:.6}
.b12mmrt{flex-wrap:wrap;gap:8px;display:flex}
.b12mmru{border:1px solid var(--qs-border);background:#fffc;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:600}
.b12mmrv{border:1px solid var(--qs-border);background:#fff9;border-radius:20px;gap:12px;padding:16px;display:grid;box-shadow:0 24px 50px #2c201229}
.b12mmrw{color:#9f1d12;letter-spacing:.12em;text-align:center;background:linear-gradient(120deg,#ffece5f5,#fff8e8f5);border:1px solid #b632264d;border-radius:14px;padding:12px 16px;font-size:16px;font-weight:800;animation:.4s both b12mmr1;box-shadow:0 14px 28px #b0362c33}
.b12mmrx{color:var(--qs-muted);flex-wrap:wrap;gap:12px;font-size:12px;display:flex}
.b12mmry{gap:12px;display:grid}
.b12mmrz{gap:8px;display:grid}
.b12mmr10{color:var(--qs-muted);background:#ffffffbf;border:1px solid #94a3b84d;border-radius:12px;padding:8px 10px;font-size:12px;line-height:1.5}
.b12mmr11{color:var(--qs-muted);font-size:12px}
.b12mmr12{grid-template-columns:1fr 1fr;gap:12px;display:grid}
.b12mmr13{color:var(--qs-muted);font-size:11px;line-height:1.6}
@media (min-width:960px){.b12mmr8{grid-template-columns:1fr 1.2fr}}
@media (max-width:960px){.b12mmr12{grid-template-columns:1fr}}
