@keyframes _1pwzvex0{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes _1pwzvex1{0%{transform:translateZ(0)}to{transform:translate3d(0,-22px,0)}}._1pwzvex2{--sp-ink:#1f2a33;--sp-muted:#5a6875;--sp-accent:#c56b3c;--sp-accent-soft:rgba(197,107,60,0.18);--sp-teal:#2f7a7b;--sp-card:rgba(255,255,255,0.88);--sp-border:rgba(31,42,51,0.12);--sp-shadow:0 24px 60px rgba(24,35,42,0.14);min-height:100vh;display:flex;flex-direction:column;position:relative;overflow-x:hidden;overflow-y:visible;color:var(--sp-ink);background:radial-gradient(900px 520px at 6% 10%,rgba(197,107,60,.18),transparent 65%),radial-gradient(900px 600px at 92% 20%,rgba(47,122,123,.16),transparent 60%),linear-gradient(160deg,#fbf3e6,#f0ece0 55%,#f7f4ee);font-family:Zen Kaku Gothic New,Hiragino Kaku Gothic ProN,Yu Gothic,sans-serif}._1pwzvex2:before{background-image:radial-gradient(rgba(31,42,51,.08) 1px,transparent 0),radial-gradient(rgba(31,42,51,.05) 1px,transparent 0);background-size:140px 140px,220px 220px;background-position:20px 30px,80px 120px;opacity:.45}._1pwzvex2:after,._1pwzvex2:before{content:"";position:absolute;inset:0;pointer-events:none}._1pwzvex2:after{background:conic-gradient(from 120deg at 40% 20%,transparent 0deg,rgba(47,122,123,.18) 80deg,transparent 160deg);filter:blur(2px);opacity:.6;animation:_1pwzvex1 9s ease-in-out infinite alternate}._1pwzvex3{width:100%;max-width:1280px;margin:0 auto;padding:24px 16px 40px;display:flex;flex-direction:column;gap:24px;flex:1;position:relative;z-index:1}._1pwzvex4{display:grid;gap:12px;animation:_1pwzvex0 .7s ease both}._1pwzvex5{align-self:flex-start;padding:6px 12px;border-radius:999px;border:1px solid var(--sp-border);background:rgba(255,255,255,.7);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}._1pwzvex6{font-size:clamp(20px,2.2vw,32px);font-weight:800;line-height:1.15;letter-spacing:.04em}._1pwzvex7{max-width:720px;color:var(--sp-muted);font-size:15px;line-height:1.7}._1pwzvex8{display:grid;gap:18px;grid-template-columns:1fr;align-items:start}._1pwzvex9{gap:10px}._1pwzvex9,._1pwzvexa{display:flex;flex-direction:column}._1pwzvexa{gap:16px}._1pwzvexb{background:var(--sp-card);border-radius:14px;padding:10px;border:1px solid rgba(31,42,51,.16);box-shadow:var(--sp-shadow);display:grid;gap:8px;animation:_1pwzvex0 .8s ease both}._1pwzvexc{font-size:12px;font-weight:700;letter-spacing:.06em}._1pwzvexd{display:grid;gap:3px}._1pwzvexe{font-size:10px;font-weight:700;color:var(--sp-muted);letter-spacing:.08em;text-transform:uppercase}._1pwzvexf{width:100%;border-radius:9px;border:1px solid var(--sp-border);background:rgba(255,255,255,.9);padding:6px 8px;font-size:12px;color:var(--sp-ink);outline:none;transition:border-color .2s ease,box-shadow .2s ease}._1pwzvexf:focus{border-color:var(--sp-accent);box-shadow:0 0 0 3px var(--sp-accent-soft)}._1pwzvexh{width:100%}._1pwzvexi{display:flex;flex-wrap:wrap;gap:8px}._1pwzvexj{border-radius:999px;padding:7px 12px;border:none;background:linear-gradient(120deg,var(--sp-accent),#e3a27a);color:white;box-shadow:0 14px 28px rgba(197,107,60,.3)}._1pwzvexj,._1pwzvexk{font-weight:700;font-size:11px;letter-spacing:.05em;cursor:pointer}._1pwzvexk{border-radius:999px;padding:6px 10px;border:1px solid var(--sp-border);background:rgba(255,255,255,.7);color:var(--sp-ink)}._1pwzvexl{border-radius:9px;padding:6px 8px;border:1px solid var(--sp-border);background:rgba(255,255,255,.8);font-weight:600;font-size:11px;cursor:pointer}._1pwzvexl[data-active=true]{border-color:var(--sp-teal);box-shadow:0 0 0 3px rgba(47,122,123,.18);background:rgba(215,245,244,.85)}._1pwzvexm{font-size:10px;color:var(--sp-muted);line-height:1.45}._1pwzvexn{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:6px}._1pwzvexo{padding:6px;border-radius:9px;border:1px solid var(--sp-border);background:rgba(255,255,255,.6);display:grid;gap:3px}._1pwzvexp{width:100%;height:26px;border-radius:7px;border:1px solid var(--sp-border);padding:0;background:white}._1pwzvexq{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}._1pwzvexr{border-radius:10px;border:1px dashed rgba(31,42,51,.2);padding:8px;background:rgba(255,255,255,.75);display:grid;gap:6px}._1pwzvexs{border-color:rgba(197,107,60,.7);background:rgba(255,248,235,.9);box-shadow:0 10px 22px rgba(197,107,60,.18)}._1pwzvext{font-size:10px;font-weight:700;letter-spacing:.06em;color:var(--sp-muted)}._1pwzvexu,._1pwzvexv{width:100%;font-size:10px}._1pwzvexv{aspect-ratio:16/9;border-radius:10px;background:linear-gradient(140deg,rgba(255,255,255,.9),rgba(229,222,210,.7));border:1px solid rgba(31,42,51,.12);display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--sp-muted)}._1pwzvexw{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}._1pwzvexx{border-radius:999px;padding:4px 8px;border:1px solid var(--sp-border);background:rgba(255,255,255,.85);font-size:10px;font-weight:600;cursor:pointer}._1pwzvexy{display:grid;gap:6px}._1pwzvexz{display:flex;justify-content:space-between;align-items:center;font-size:9px;color:var(--sp-muted);letter-spacing:.06em}._1pwzvex10{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;padding:6px;border-radius:10px;border:1px solid var(--sp-border);background:rgba(255,255,255,.7)}._1pwzvex11{width:100%;aspect-ratio:1/1;border-radius:6px;border:1px solid rgba(31,42,51,.18);background:rgba(255,255,255,.9);font-size:9px;font-weight:700;color:var(--sp-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease}._1pwzvex11[data-center=true]{background:rgba(47,122,123,.12);border-color:rgba(47,122,123,.45);color:var(--sp-ink);cursor:default}._1pwzvex11[data-active=true]{background:rgba(197,107,60,.22);border-color:var(--sp-accent);color:var(--sp-ink);box-shadow:0 6px 12px rgba(197,107,60,.18);transform:translateY(-1px)}._1pwzvex12{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px}._1pwzvex13{border-radius:8px;border:1px solid var(--sp-border);background:rgba(255,255,255,.75);padding:4px;font-size:10px;font-weight:700;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}._1pwzvex13[data-active=true]{border-color:var(--sp-accent);box-shadow:0 8px 18px rgba(197,107,60,.2);transform:translateY(-1px)}._1pwzvex14{background:rgba(255,255,255,.9);border-radius:18px;width:100%;padding:16px;border:1px solid var(--sp-border);box-shadow:var(--sp-shadow);display:grid;gap:10px;animation:_1pwzvex0 .9s ease both}._1pwzvex15{position:sticky;top:88px;align-self:stretch}._1pwzvex16{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}._1pwzvex17{font-size:20px;font-weight:800;letter-spacing:.04em}._1pwzvex18{font-size:12px;color:var(--sp-muted)}._1pwzvex19{display:flex;flex-wrap:wrap;gap:8px}._1pwzvex1a{padding:6px 10px;border-radius:999px;border:1px solid var(--sp-border);background:rgba(255,255,255,.85);font-size:12px;font-weight:600}._1pwzvex1b{border-radius:18px;border:1px solid rgba(31,42,51,.15);background:linear-gradient(140deg,rgba(255,255,255,.9),rgba(236,230,220,.7));padding:12px;display:flex;justify-content:center;align-items:center;max-width:100%;overflow:hidden}._1pwzvex1c{display:flex;flex-wrap:wrap;gap:8px}._1pwzvex1d{padding:6px 10px;border-radius:999px;border:1px solid var(--sp-border);background:rgba(255,255,255,.85);font-size:11px;font-weight:600}@supports (height:100dvh){._1pwzvex2{min-height:100dvh}}@media (min-width:900px){._1pwzvex3{padding:32px 28px 52px}}@media (min-width:1100px){._1pwzvex8{grid-template-columns:minmax(0,1.5fr) minmax(0,.7fr)}._1pwzvex9{max-width:420px;width:100%;justify-self:end;height:var(--right-panel-height,auto);max-height:var(--right-panel-height,calc(100dvh - 160px));overflow-y:auto;overflow-x:hidden;border-radius:18px;border:1px solid rgba(31,42,51,.16);background:rgba(255,255,255,.7);box-shadow:0 16px 36px rgba(31,42,51,.08);padding:10px 12px 8px 10px;scrollbar-width:thin;scrollbar-color:rgba(90,104,117,.45) transparent}._1pwzvex15,._1pwzvex9{align-self:start}}@media (max-width:959px){._1pwzvex14{padding:12px;gap:8px}._1pwzvex15{top:72px;align-self:stretch}._1pwzvex1b{padding:8px}}.custom-shogi{--board-wood:#e1bd86;--board-wood-dark:#c78953;--board-grid:#8b6236;--board-ink:#2c1b12;--board-accent:#c06a3a;--board-accent-soft:rgba(192,106,58,0.2);--board-ivory:#fbf4e7;--cell-size-base:clamp(30px,6vw,54px);--board-scale:1;--cell-size:calc(var(--cell-size-base) * var(--board-scale));--piece-surface:#fff4df;--piece-surface-deep:#e8cca0;--piece-border:rgba(82,53,32,0.6);--piece-text:#2b1b10;--piece-text-white:#2b1b10;--piece-font:"Shippori Mincho","Hiragino Mincho ProN","Yu Mincho",serif;--piece-clip:polygon(50% 6%,92% 20%,82% 95%,18% 95%,8% 20%);--piece-shadow:0 4px 10px rgba(50,32,20,0.2);--piece-image-black:none;--piece-image-white:none;--piece-font-scale:1;--piece-motion-duration:0.7s;--piece-motion-intensity:0.2;color:var(--board-ink)}.custom-shogi *,.custom-shogi :after,.custom-shogi :before{box-sizing:border-box}.custom-shogi .board-row{display:flex}.custom-shogi .game-info{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap}.custom-shogi .game-info.space{flex-wrap:nowrap;align-items:stretch;justify-content:center;width:100%}.custom-shogi .game{display:flex;flex-direction:column;gap:10px;font-size:clamp(15px,2.2vw,21px)}.custom-shogi .game .game{flex-direction:row;align-items:flex-start;gap:12px}.custom-shogi .game.white{transform:rotate(180deg);transform-origin:center}.custom-shogi .game-sub{display:flex;flex-direction:column;gap:10px}.custom-shogi .center{text-align:center;font-weight:600;letter-spacing:.08em}.custom-shogi .bold{font-weight:700}.custom-shogi .legend{width:-moz-fit-content;width:fit-content;padding:6px 14px;border-radius:999px;border:1px solid rgba(168,122,74,.28);background:rgba(255,255,255,.78);box-shadow:0 10px 22px rgba(71,44,25,.12);font-weight:700;font-family:var(--piece-font);line-height:1.35}.custom-shogi .legend,.custom-shogi .move-row{align-self:center;max-width:100%;letter-spacing:.04em}.custom-shogi .move-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;padding:6px 10px;border-radius:16px;border:1px solid rgba(31,42,51,.12);background:rgba(255,255,255,.9);box-shadow:0 6px 16px rgba(31,42,51,.08)}.custom-shogi .move-count{display:inline-flex;min-width:64px;padding:4px 10px;border-radius:999px;border:1px solid rgba(197,107,60,.18);background:rgba(197,107,60,.12);color:var(--board-ink);line-height:1.2}.custom-shogi .move-count,.custom-shogi .result-banner{align-items:center;justify-content:center;font-weight:700;letter-spacing:.04em}.custom-shogi .result-banner{align-self:center;max-width:100%;display:flex;flex-wrap:wrap;gap:8px;padding:8px 12px;border-radius:12px;border:1px solid rgba(168,122,74,.25);background:rgba(255,255,255,.9);box-shadow:0 10px 20px rgba(71,44,25,.12);text-align:center}.custom-shogi .result-banner-text{font-size:14px}.custom-shogi .result-banner-button{border-radius:999px;border:1px solid rgba(168,122,74,.35);background:rgba(255,255,255,.9);color:var(--board-ink);font-weight:700;font-size:12px;padding:6px 12px;cursor:pointer;box-shadow:0 8px 16px rgba(71,44,25,.12);transition:transform .2s ease,box-shadow .2s ease}.custom-shogi .result-banner-button:hover{transform:translateY(-1px);box-shadow:0 10px 18px rgba(71,44,25,.16)}.custom-shogi .turn-badge{display:grid;place-items:center;width:32px;height:32px;border-radius:999px;border:1px solid rgba(168,122,74,.3);background:rgba(255,255,255,.85);box-shadow:0 6px 14px rgba(71,44,25,.12);font-weight:700;color:var(--board-ink);font-family:var(--piece-font);font-size:15px;line-height:1;letter-spacing:0;flex:0 0 auto}.custom-shogi .game-info-black,.custom-shogi .game-info-white,.custom-shogi .mobile-game-info-black,.custom-shogi .mobile-game-info-white{display:flex;flex-direction:column;align-items:center;gap:6px;padding:6px;border-radius:10px;border:1px solid rgba(168,122,74,.25);background:rgba(255,255,255,.6);box-shadow:0 8px 16px rgba(71,44,25,.1)}.custom-shogi .game-info.space .game-info-black{align-self:stretch;align-items:flex-end;justify-content:flex-end}.custom-shogi .game-info.space .game-info-black .turn-badge{order:2;align-self:center}.custom-shogi .game-info.space .game-info-black .captured-list{order:1;display:flex;flex-direction:column-reverse;align-items:flex-end}.custom-shogi .game-board{width:-moz-fit-content;width:fit-content;padding:8px;border-radius:14px;background:linear-gradient(145deg,rgba(255,255,255,.78),rgba(255,255,255,.42));border:1px solid rgba(182,140,84,.35);box-shadow:0 22px 46px rgba(52,35,16,.16)}.custom-shogi .captured,.custom-shogi .mobile-captured,.custom-shogi .mobile-square,.custom-shogi .square{position:relative;padding:0;margin-right:-1px;margin-top:-1px;border:1px solid var(--board-grid);background:linear-gradient(180deg,var(--board-wood),var(--board-wood-dark));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;touch-action:manipulation}.custom-shogi .mobile-square,.custom-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}.custom-shogi .captured,.custom-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(247,238,220,.98),rgba(231,214,180,.95));background:linear-gradient(180deg,color-mix(in srgb,var(--board-wood) 72%,var(--board-ivory)),color-mix(in srgb,var(--board-wood-dark) 70%,var(--board-ivory)))}.custom-shogi .captured[data-count]:after,.custom-shogi .mobile-captured[data-count]:after{content:attr(data-count);position:absolute;right:4px;bottom:4px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;border:1px solid rgba(90,58,30,.3);background:rgba(255,255,255,.85);color:var(--board-ink);font-size:10px;font-weight:700;line-height:1;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 4px 10px rgba(71,44,25,.2);pointer-events:none}.custom-shogi .piece-wrap{pointer-events:none}.custom-shogi .piece-body,.custom-shogi .piece-wrap{position:relative;display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%}.custom-shogi .piece-wrap[data-has-piece=true] .piece-body:before{content:"";position:absolute;inset:6px 6px 8px;background-image:var(--piece-image-black),linear-gradient(180deg,var(--piece-surface),var(--piece-surface-deep));background-size:cover;background-position:50%;background-blend-mode:normal;box-shadow:inset 0 0 0 1px var(--piece-border),var(--piece-shadow);clip-path:var(--piece-clip)}.custom-shogi .captured.white .piece-wrap[data-has-piece=true] .piece-body:before,.custom-shogi .mobile-captured.white .piece-wrap[data-has-piece=true] .piece-body:before,.custom-shogi .mobile-square.white .piece-wrap[data-has-piece=true] .piece-body:before,.custom-shogi .square.white .piece-wrap[data-has-piece=true] .piece-body:before{background-image:var(--piece-image-white),linear-gradient(180deg,var(--piece-surface),var(--piece-surface-deep))}.custom-shogi .captured .piece-wrap[data-has-piece=true] .piece-body:before{inset:5px 5px 6px}.custom-shogi .piece-text{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%;font-family:var(--piece-font);transform:scale(var(--piece-font-scale));text-shadow:0 2px 3px rgba(44,28,14,.2)}.custom-shogi .captured.white .piece-text,.custom-shogi .mobile-captured.white .piece-text,.custom-shogi .mobile-square.white .piece-text,.custom-shogi .square.white .piece-text{color:var(--piece-text-white);text-shadow:0 2px 4px rgba(44,28,14,.25)}.custom-shogi .piece-text{color:var(--piece-text)}.custom-shogi .captured.white .piece-body,.custom-shogi .mobile-captured.white .piece-body,.custom-shogi .mobile-square.white .piece-body,.custom-shogi .square.white .piece-body{transform:rotate(180deg)}.custom-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(254,231,210,.95),rgba(238,198,159,.95))}.custom-shogi .final{box-shadow:inset 0 0 0 2px #b45309,0 6px 16px rgba(180,83,9,.28)}.custom-shogi .click{box-shadow:inset 0 0 0 2px #b45309,0 0 0 4px rgba(252,211,77,.35)}.custom-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)}.custom-shogi .button,.custom-shogi .mobile-button{display:flex;justify-content:center}.custom-shogi .MuiButton-root{border-radius:999px;text-transform:none;font-weight:700;letter-spacing:.06em;font-family:inherit;box-shadow:0 10px 22px rgba(71,44,25,.12);border:1px solid transparent;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}.custom-shogi .MuiButton-root:not(.Mui-disabled):hover{transform:translateY(-1px);filter:brightness(.98);box-shadow:0 12px 24px rgba(71,44,25,.16)}.custom-shogi .MuiButton-root:focus-visible{box-shadow:0 0 0 3px rgba(197,107,60,.25),0 10px 22px rgba(71,44,25,.12)}.custom-shogi .MuiButton-contained{background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(233,214,186,.9));color:var(--board-ink);border-color:rgba(168,122,74,.35)}.custom-shogi .MuiButton-containedPrimary{background:linear-gradient(160deg,#d88352,#b56332);color:#fff;border-color:rgba(131,63,22,.5);box-shadow:0 12px 24px rgba(197,107,60,.36)}.custom-shogi .MuiButton-containedSecondary{background:linear-gradient(160deg,#8b5e3c,#6a3f25);color:#fff;border-color:rgba(60,36,20,.55);box-shadow:0 12px 24px rgba(84,54,32,.35)}.custom-shogi .MuiButton-containedInherit{background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(231,214,187,.9));color:var(--board-ink);border-color:rgba(168,122,74,.35)}.custom-shogi .MuiButton-contained.Mui-disabled{background:rgba(239,229,214,.9);color:rgba(42,27,18,.45);border-color:rgba(168,122,74,.2);box-shadow:none}.custom-shogi .move-row .MuiButton-root,.custom-shogi .move-row .mantine-Button-root{width:34px;height:34px;min-width:34px;padding:0;border-radius:14px;letter-spacing:0;border:1px solid rgba(31,42,51,.12);background:rgba(255,255,255,.95);color:#3b2f24;box-shadow:none;transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease}.custom-shogi .move-row .MuiButton-root:not(.Mui-disabled):hover,.custom-shogi .move-row .mantine-Button-root:not(:disabled):hover{transform:none;border-color:rgba(31,42,51,.2);background:rgba(255,255,255,1);box-shadow:0 4px 10px rgba(31,42,51,.12)}.custom-shogi .move-row .MuiButton-root:focus-visible,.custom-shogi .move-row .mantine-Button-root:focus-visible{box-shadow:0 0 0 3px rgba(47,122,123,.2)}.custom-shogi .move-row .MuiButton-root.Mui-disabled,.custom-shogi .move-row .mantine-Button-root:disabled,.custom-shogi .move-row .mantine-Button-root[data-disabled]{background:rgba(255,255,255,.6);color:rgba(42,27,18,.3);border-color:rgba(31,42,51,.08);box-shadow:none}.custom-shogi .custom-shogi-modal-overlay{position:fixed;inset:0;background:rgba(26,16,10,.55);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:200;padding:20px}.custom-shogi .custom-shogi-modal{width:min(420px,92vw);border-radius:18px;border:1px solid rgba(168,122,74,.4);background:linear-gradient(155deg,rgba(255,248,236,.98),rgba(235,215,186,.96));box-shadow:0 28px 60px rgba(41,24,12,.28);padding:18px 20px 16px;display:grid;gap:12px}.custom-shogi .custom-shogi-modal-title{margin:0;font-size:17px;font-weight:700;letter-spacing:.06em;color:#2a1b12;font-family:inherit;text-align:center;line-height:1.5;overflow-wrap:anywhere}.custom-shogi .custom-shogi-modal-text{color:rgba(50,33,21,.9);font-size:14px;line-height:1.7;font-family:inherit;margin:0;text-align:center;white-space:pre-line;overflow-wrap:anywhere}.custom-shogi .custom-shogi-modal-text-strong{font-size:16px;font-weight:700;letter-spacing:.06em}.custom-shogi .custom-shogi-modal-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.custom-shogi .custom-shogi-modal-actions-center{justify-content:center}.custom-shogi .custom-shogi-modal-button{border-radius:999px;font-weight:700;letter-spacing:.06em;font-family:inherit;text-transform:none;border:1px solid rgba(168,122,74,.35);background:rgba(255,255,255,.9);color:#2a1b12;padding:8px 16px;box-shadow:0 10px 20px rgba(71,44,25,.12);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}.custom-shogi .custom-shogi-modal-button:hover{transform:translateY(-1px);filter:brightness(.98);box-shadow:0 12px 24px rgba(71,44,25,.16)}.custom-shogi .custom-shogi-modal-button:focus-visible{box-shadow:0 0 0 3px rgba(197,107,60,.25),0 10px 20px rgba(71,44,25,.12)}.custom-shogi .custom-shogi-modal-button-primary{background:linear-gradient(160deg,#d88352,#b56332);color:#fff;border-color:rgba(131,63,22,.5);box-shadow:0 12px 24px rgba(197,107,60,.32)}.custom-shogi .custom-shogi-modal-button-ghost{background:rgba(255,255,255,.75);color:rgba(50,33,21,.9)}.custom-shogi button:focus{outline:none}@keyframes piece-pop{0%{transform:scale(1)}40%{transform:scale(calc(1 + var(--piece-motion-intensity)))}to{transform:scale(1)}}@keyframes piece-glide{0%{transform:translateY(calc(var(--piece-motion-intensity) * -24px));opacity:.7}to{transform:translateY(0);opacity:1}}@keyframes piece-swing{0%{transform:rotate(0deg)}35%{transform:rotate(calc(var(--piece-motion-intensity) * 14deg))}70%{transform:rotate(calc(var(--piece-motion-intensity) * -10deg))}to{transform:rotate(0deg)}}@keyframes piece-flip{0%{transform:rotateY(0deg)}60%{transform:rotateY(calc(var(--piece-motion-intensity) * 160deg))}to{transform:rotateY(0deg)}}.custom-shogi[data-motion=pop] .click .piece-wrap[data-has-piece=true],.custom-shogi[data-motion=pop] .final .piece-wrap[data-has-piece=true]{animation:piece-pop var(--piece-motion-duration) ease}.custom-shogi[data-motion=glide] .click .piece-wrap[data-has-piece=true],.custom-shogi[data-motion=glide] .final .piece-wrap[data-has-piece=true]{animation:piece-glide var(--piece-motion-duration) ease}.custom-shogi[data-motion=swing] .click .piece-wrap[data-has-piece=true],.custom-shogi[data-motion=swing] .final .piece-wrap[data-has-piece=true]{animation:piece-swing var(--piece-motion-duration) ease-in-out;transform-origin:center 70%}.custom-shogi[data-motion=flip] .click .piece-wrap[data-has-piece=true],.custom-shogi[data-motion=flip] .final .piece-wrap[data-has-piece=true]{animation:piece-flip var(--piece-motion-duration) ease;transform-origin:center}@media (prefers-reduced-motion:reduce){.custom-shogi .piece-wrap{animation:none!important}}@media (max-width:959px){.custom-shogi .game-info{flex-direction:column;align-items:stretch}.custom-shogi .game-info.space{flex-direction:row;align-items:stretch;justify-content:center;flex-wrap:nowrap}}@media (max-width:640px){.custom-shogi{--cell-size-base:clamp(28px,7.2vw,46px)}.custom-shogi .game-info.space{flex-direction:column;align-items:center;flex-wrap:wrap}.custom-shogi .game-info.space .game-info-black{align-items:center;justify-content:center;align-self:auto}.custom-shogi .game-info.space .game-info-black .turn-badge{order:0}.custom-shogi .game-info.space .game-info-black .captured-list{order:0;display:block}.custom-shogi .game .game{flex-direction:column;align-items:center}.custom-shogi .game-info-black,.custom-shogi .game-info-white,.custom-shogi .mobile-game-info-black,.custom-shogi .mobile-game-info-white{flex-direction:row;justify-content:center;width:100%}.custom-shogi .game-board{padding:6px;border-radius:12px}.custom-shogi .legend{padding:5px 12px}.custom-shogi .move-row{padding:4px 8px;gap:4px;flex-wrap:nowrap}.custom-shogi .move-count{min-width:52px;padding:3px 6px;font-size:11px;letter-spacing:.03em;white-space:nowrap}.custom-shogi .result-banner{padding:6px 10px;gap:6px}.custom-shogi .result-banner-text{font-size:12px}.custom-shogi .result-banner-button{font-size:11px;padding:5px 10px}.custom-shogi .move-row .MuiButton-root,.custom-shogi .move-row .mantine-Button-root{width:30px;height:30px;min-width:30px;border-radius:8px}.custom-shogi .move-row .MuiButton-root svg,.custom-shogi .move-row .mantine-Button-root svg{width:16px;height:16px}.custom-shogi .turn-badge{width:28px;height:28px;font-size:13px}}