.quantum-shogi{--board-wood:#eed8b6;--board-wood-dark:#caa46d;--board-wood-shadow:rgba(58,36,18,0.18);--board-ink:#2a1a12;--board-accent:#0f766e;--board-accent-soft:rgba(15,118,110,0.2);--board-ivory:#fdf7ee;--board-quantum:#0284c7;--board-quantum-soft:rgba(2,132,199,0.28);--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 :after,.quantum-shogi :before{box-sizing:border-box}.quantum-shogi .board-row{display:flex}.quantum-shogi .game-info{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;justify-items:center}.quantum-shogi .game{display:flex;flex-direction:column;gap:10px;font-size:clamp(16px,2.3vw,22px)}.quantum-shogi .game .game{flex-direction:row;align-items:flex-start;gap:12px}.quantum-shogi .game.white{transform:rotate(180deg);transform-origin:center}.quantum-shogi .game-sub{display:flex;flex-direction:column;gap:10px}.quantum-shogi .center{text-align:center;font-weight:600;writing-mode:vertical-rl;text-orientation:upright;letter-spacing:.08em;font-size:clamp(12px,1.6vw,14px);line-height:1.1}.quantum-shogi .bold{font-weight:700}.quantum-shogi .game-info-black,.quantum-shogi .game-info-white{display:flex;flex-direction:column;align-items:center;gap:6px;padding:6px;border-radius:10px;border:1px solid rgba(140,103,60,.25);background:rgba(255,255,255,.6);box-shadow:0 8px 16px rgba(58,36,18,.12)}.quantum-shogi .game-board{width:-moz-fit-content;width:fit-content;padding:12px;border-radius:16px;background:linear-gradient(145deg,rgba(255,255,255,.82),rgba(255,255,255,.4));border:1px solid rgba(160,121,72,.3);box-shadow:0 24px 48px rgba(55,36,18,.18)}.quantum-shogi .captured,.quantum-shogi .mobile-captured,.quantum-shogi .mobile-square,.quantum-shogi .square{position:relative;padding:0;margin-right:-1px;margin-top:-1px;border:1px solid rgba(90,58,30,.5);background:linear-gradient(180deg,rgba(236,207,161,.95),rgba(214,178,126,.95));font-weight:700;color:var(--board-ink);line-height:1;text-align:center;cursor:pointer;overflow:hidden;transition:box-shadow .2s ease,background .2s ease}.quantum-shogi .mobile-square,.quantum-shogi .square{width:var(--cell-size);height:var(--cell-size);font-size:clamp(14px,2.1vw,22px);display:inline-flex;align-items:center;justify-content:center}.quantum-shogi .captured,.quantum-shogi .mobile-captured{width:calc(var(--cell-size) - 12px);height:calc(var(--cell-size) - 12px);font-size:clamp(12px,1.9vw,18px);display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(180deg,rgba(248,240,226,.98),rgba(232,212,178,.95))}.quantum-shogi .piece-wrap{pointer-events:none}.quantum-shogi .piece-body,.quantum-shogi .piece-wrap{position:relative;display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%}.quantum-shogi .piece-wrap[data-has-piece=true] .piece-body:before{content:"";position:absolute;inset:6px 6px 8px;background:linear-gradient(180deg,#fef7e9,#e6cfa3);box-shadow:inset 0 0 0 1px rgba(86,58,30,.6),0 3px 6px rgba(52,35,16,.18);clip-path:polygon(50% 4%,92% 18%,82% 96%,18% 96%,8% 18%)}.quantum-shogi .captured .piece-wrap[data-has-piece=true] .piece-body:before{inset:5px 5px 6px}.quantum-shogi .piece-text{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%;text-shadow:0 2px 3px rgba(44,28,14,.2)}.quantum-shogi .captured.white .piece-body,.quantum-shogi .mobile-captured.white .piece-body,.quantum-shogi .mobile-square.white .piece-body,.quantum-shogi .square.white .piece-body{transform:rotate(180deg)}@keyframes unknownPulse{0%{box-shadow:inset 0 0 0 1px rgba(0,0,0,.2),0 0 0 0 rgba(2,132,199,.4)}50%{box-shadow:inset 0 0 0 1px rgba(2,132,199,.55),0 0 16px rgba(2,132,199,.35)}to{box-shadow:inset 0 0 0 1px rgba(0,0,0,.2),0 0 0 0 rgba(2,132,199,.4)}}.quantum-shogi .piece-wrap[data-unknown=true] .piece-body:before{background:linear-gradient(180deg,rgba(224,245,255,.95),rgba(182,224,243,.95));box-shadow:inset 0 0 0 1px rgba(2,132,199,.55),0 0 12px rgba(2,132,199,.25);animation:unknownPulse 2.4s ease-in-out infinite}.quantum-shogi .piece-wrap[data-unknown=true] .piece-text{color:#0c4a6e;text-shadow:0 2px 6px rgba(2,132,199,.35)}.quantum-shogi .piece-wrap[data-promoted=true] .piece-text{color:#b91c1c}.quantum-shogi .piece-wrap[data-unknown=true]:after{content:"";position:absolute;top:6px;right:8px;font-size:10px;font-weight:800;color:var(--board-quantum);letter-spacing:.1em}.quantum-shogi .attack{box-shadow:inset 0 0 0 2px var(--board-accent),0 0 0 4px var(--board-accent-soft);background:linear-gradient(180deg,rgba(228,251,247,.95),rgba(200,233,226,.95))}.quantum-shogi .final{box-shadow:inset 0 0 0 2px #b45309,0 6px 16px rgba(180,83,9,.28)}.quantum-shogi .click{box-shadow:inset 0 0 0 2px #0f766e,0 0 0 4px rgba(15,118,110,.25)}.quantum-shogi .number{width:calc(var(--cell-size) - 18px);height:calc(var(--cell-size) - 18px);margin-top:4px;border-radius:8px;border:1px solid rgba(90,58,30,.35);background:rgba(255,255,255,.85);font-size:clamp(11px,1.8vw,15px);font-weight:600;color:rgba(62,40,20,.8)}.quantum-shogi .button,.quantum-shogi .mobile-button{display:flex;justify-content:center}.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-black,.quantum-shogi .game-info-white{flex-direction:row;justify-content:center;width:100%}}@media (prefers-reduced-motion:reduce){.quantum-shogi .captured,.quantum-shogi .square{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:rgba(15,118,110,0.16);--qs-quantum:#0284c7;--qs-quantum-soft:rgba(2,132,199,0.2);--qs-card:rgba(255,255,255,0.86);--qs-border:rgba(120,96,72,0.18);min-height:100vh;background:radial-gradient(900px circle at 15% 12%,rgba(2,132,199,.15),transparent 55%),radial-gradient(1000px circle at 85% 8%,rgba(15,118,110,.16),transparent 60%),linear-gradient(160deg,#fefbf4,#eef7f2 48%,#f5e9d7);color:var(--qs-ink)}.b12mmr2,.b12mmr3{display:flex;flex-direction:column}.b12mmr3{width:100%;max-width:1200px;margin:0 auto;padding:28px 20px 60px;gap:24px;flex:1}.b12mmr4{display:grid;gap:12px;animation:b12mmr0 .6s ease both}.b12mmr5{align-self:flex-start;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.7);border:1px solid var(--qs-border);font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.b12mmr6{font-size:clamp(20px,2.2vw,30px);line-height:1.1;font-weight:800}.b12mmr7{max-width:720px;color:var(--qs-muted);font-size:15px;line-height:1.7}.b12mmr8{display:grid;gap:20px;grid-template-columns:1fr;align-items:start}.b12mmr9,.b12mmra{display:flex;flex-direction:column;gap:16px}.b12mmrb{background:var(--qs-card);border-radius:18px;padding:18px;border:1px solid var(--qs-border);box-shadow:0 20px 50px rgba(41,30,18,.12);display:grid;gap:14px;animation:b12mmr1 .5s ease both}.b12mmrc{font-size:16px;font-weight:700;letter-spacing:.04em}.b12mmrd{font-size:13px;color:var(--qs-muted);line-height:1.6}.b12mmre{display:grid;gap:6px}.b12mmrf{font-size:12px;font-weight:700;color:var(--qs-muted);text-transform:uppercase;letter-spacing:.12em}.b12mmrg{width:100%;border-radius:12px;border:1px solid var(--qs-border);background:rgba(255,255,255,.9);padding:10px 12px;font-size:14px;color:var(--qs-ink);outline:none;transition:border-color .2s ease,box-shadow .2s ease}.b12mmrg:focus{border-color:var(--qs-quantum);box-shadow:0 0 0 3px var(--qs-quantum-soft)}.b12mmri{display:flex;flex-wrap:wrap;gap:10px}.b12mmrj{border-radius:999px;padding:10px 16px;border:none;background:linear-gradient(120deg,var(--qs-accent),#16a34a);color:white;letter-spacing:.06em;box-shadow:0 14px 28px rgba(15,118,110,.32)}.b12mmrj,.b12mmrk{font-weight:700;font-size:13px;cursor:pointer}.b12mmrk{border-radius:999px;padding:9px 15px;border:1px solid var(--qs-border);background:rgba(255,255,255,.7);color:var(--qs-ink);letter-spacing:.04em}.b12mmrl{position:fixed;inset:0;background:rgba(24,20,16,.45);display:flex;align-items:center;justify-content:center;padding:20px;z-index:40;backdrop-filter:blur(6px)}.b12mmrm{width:min(420px,100%);background:var(--qs-card);border-radius:18px;border:1px solid var(--qs-border);padding:20px;box-shadow:0 24px 50px rgba(41,30,18,.22);display:grid;gap:12px}.b12mmrn{font-size:18px;font-weight:700}.b12mmro{color:var(--qs-muted);font-size:14px;line-height:1.6}.b12mmrp{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;padding-top:6px}.b12mmrq,.b12mmrr{min-width:120px}.b12mmrs{border-radius:12px;padding:10px 12px;border:1px solid var(--qs-border);background:rgba(255,255,255,.8);font-weight:600;cursor:pointer}.b12mmrs[data-active=true]{border-color:var(--qs-quantum);box-shadow:0 0 0 3px var(--qs-quantum-soft);background:rgba(219,242,255,.9)}.b12mmrs[disabled]{cursor:not-allowed;opacity:.6}.b12mmrt{display:flex;flex-wrap:wrap;gap:8px}.b12mmru{padding:6px 10px;border-radius:999px;border:1px solid var(--qs-border);background:rgba(255,255,255,.8);font-size:12px;font-weight:600}.b12mmrv{background:rgba(255,255,255,.6);border-radius:20px;padding:16px;border:1px solid var(--qs-border);box-shadow:0 24px 50px rgba(44,32,18,.16);display:grid;gap:12px}.b12mmrw{padding:12px 16px;border-radius:14px;border:1px solid rgba(182,50,38,.3);background:linear-gradient(120deg,rgba(255,236,229,.96),rgba(255,248,232,.96));color:#9f1d12;font-size:16px;font-weight:800;letter-spacing:.12em;text-align:center;box-shadow:0 14px 28px rgba(176,54,44,.2);animation:b12mmr1 .4s ease both}.b12mmrx{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--qs-muted)}.b12mmry{display:grid;gap:12px}.b12mmrz{display:grid;gap:8px}.b12mmr10{padding:8px 10px;border-radius:12px;background:rgba(255,255,255,.75);border:1px solid rgba(148,163,184,.3);line-height:1.5}.b12mmr10,.b12mmr11{font-size:12px;color:var(--qs-muted)}.b12mmr12{display:grid;grid-template-columns:1fr 1fr;gap:12px}.b12mmr13{font-size:11px;color:var(--qs-muted);line-height:1.6}@media (min-width:960px){.b12mmr8{grid-template-columns:1fr 1.2fr}}@media (max-width:960px){.b12mmr12{grid-template-columns:1fr}}