@import"https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@400;600;700;800&display=swap";:root{font-family:Shippori Mincho,Hiragino Mincho ProN,Yu Mincho,serif;color:#e9e1c9;background:#151b1d;font-synthesis:none;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body{margin:0;min-height:100%;overflow-x:hidden}button{font-family:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid #eeb967;outline-offset:4px}a{color:#bfc3b1}#app{min-height:100dvh;position:relative;background:radial-gradient(ellipse at 50% 30%,#29353b,#1a2025 43%,#12181b);overflow:hidden}.hidden{display:none!important}.topbar{height:72px;position:relative;z-index:4;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1100px)/2));border-bottom:1px solid #ffffff1b;background:linear-gradient(#101619d9,#10161955)}.brand{display:flex;align-items:center;gap:11px;font-size:15px;font-weight:800;letter-spacing:.12em}.crest{display:grid;place-items:center;border:1px solid #d2b474;color:#d2b474;height:35px;width:35px;font-size:20px;transform:rotate(8deg)}.brand small{display:block;color:#828d89;letter-spacing:.21em;font:8px/1.9 system-ui,sans-serif}.top-right{display:flex;align-items:center;gap:16px;font-size:10px;letter-spacing:.1em;color:#aab0a7}.top-right button{width:33px;height:33px;border:1px solid #ffffff30;border-radius:50%;background:#1b2324;color:#edc781}.town{height:400px;position:absolute;inset:72px 0 auto;overflow:hidden;pointer-events:none;opacity:.72}.moon{position:absolute;width:110px;height:110px;border-radius:50%;right:13%;top:35px;background:radial-gradient(circle at 42% 37%,#f8e6ac,#e0b67c 55%,#c5ad7e 76%);box-shadow:0 0 25px #ffd8a954,0 0 120px #ffb45b31}.mountain{position:absolute;inset:160px 0 0;background:linear-gradient(160deg,transparent 55%,#151e23 55%) left bottom/60% 100% no-repeat,linear-gradient(198deg,transparent 56%,#141c21 56%) right bottom/70% 100% no-repeat;opacity:.8}.roof{position:absolute;height:245px;width:38%;bottom:-74px;background:#111a1c;clip-path:polygon(0 36%,6% 33%,48% 12%,94% 31%,100% 36%,99% 43%,94% 42%,94% 100%,6% 100%,6% 43%,0 45%);border-bottom:4px solid #263034}.roof:after{content:"";position:absolute;inset:28% 12% 12%;background:repeating-linear-gradient(90deg,#18262a 0 14%,#354046 14% 15%);opacity:.5}.roof-a{left:-7%;transform:scale(1.02)}.roof-b{right:-6%;height:225px}.roof-c{width:30%;left:40%;height:130px;bottom:-28px;opacity:.7}.lamp{position:absolute;z-index:2;top:130px;width:36px;height:65px;border-radius:45% 45% 40% 40%;background:repeating-linear-gradient(90deg,#efb85f 0 2px,#b47b41 4px 5px,#f6c77b 6px 14px);box-shadow:0 0 45px #eea65088,0 0 120px #eea65044;animation:sway 5s ease-in-out infinite;transform-origin:top}.lamp:before{content:"";position:absolute;left:49%;bottom:100%;height:95px;border-left:2px solid #181a1a}.lamp:after{content:"将";position:absolute;inset:14px 0;color:#5c2820;font-size:23px;text-align:center;font-weight:900}.lamp-a{left:18%}.lamp-b{right:24%;top:115px;transform:scale(.75);animation-delay:-2s}.ground{position:absolute;inset:auto 0 0;height:85px;background:linear-gradient(transparent,#12191d)}.fog{position:absolute;inset:0;background:linear-gradient(90deg,#1b2426,transparent 60%,#1b2324 100%);opacity:.25}@keyframes sway{0%,to{rotate:-3deg}50%{rotate:3deg}}.screen{position:relative;z-index:2;min-height:calc(100dvh - 96px);width:min(650px,90vw);margin:0 auto;display:flex;align-items:center;flex-direction:column;justify-content:center;text-align:center;padding:44px 0 90px}.cover-art{display:flex;align-items:center;flex-direction:column;gap:18px;margin:0 0 33px;color:#dfcda1;letter-spacing:.36em;font-size:11px}.seal{display:grid;place-items:center;width:104px;height:104px;border:2px solid #c3a06a;border-radius:50%;font-size:66px;line-height:1;color:#d7ba86;box-shadow:inset 0 0 0 7px #1d2526,0 0 90px #cca46222;transform:rotate(-8deg);animation:pop .8s both}.cover-meta,.eyebrow{font:700 10px/1.6 system-ui,sans-serif;letter-spacing:.23em;color:#c6a16c}.screen h1{margin:12px 0 23px;font-size:clamp(40px,7.8vw,74px);line-height:1.35;letter-spacing:-.09em;font-weight:800;text-shadow:0 8px 35px #0007}.screen h1 em{font-style:normal;color:#e9b86a}.cover-copy{color:#c5c7bc;line-height:2.5;font-size:clamp(12px,2.6vw,16px);margin:0 0 34px}.cover-copy strong{color:#f0d2a6;font-weight:600}.main-btn{border:0;color:#22201b;background:linear-gradient(145deg,#f0cc84,#d4a25b);padding:15px 30px;min-width:235px;display:flex;justify-content:space-between;align-items:center;gap:24px;font-size:14px;font-weight:800;letter-spacing:.1em;box-shadow:0 8px 22px #0c0b095e,inset 0 1px #fff4;transition:transform .2s,filter .2s}.main-btn:hover{transform:translateY(-3px);filter:brightness(1.06)}.main-btn span{font:24px system-ui,sans-serif}.micro{font:10px system-ui,sans-serif;letter-spacing:.08em;color:#8e918b;margin-top:20px}.stage{position:relative;z-index:2;width:min(1120px,calc(100% - 30px));margin:0 auto;padding:15px 0 48px}.story-strip{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:6px 0 12px}.chapter{font-size:11px;color:#e0c28d;letter-spacing:.12em}.dots{display:flex;gap:7px}.dot{width:23px;height:3px;background:#66706c55}.dot.past{background:#cfa567}.dot.current{background:#f3cb80;box-shadow:0 0 14px #f4ce86aa}.dialogue{display:grid;grid-template-columns:1fr;gap:8px;border:1px solid #6f73604d;background:linear-gradient(98deg,#151e20e8,#26302fe8);padding:15px 21px;margin-bottom:20px;min-height:124px;box-shadow:0 12px 45px #0003}.narrator{font-size:11px;color:#a6b4a9;letter-spacing:.06em}.words{display:flex;align-items:center;gap:12px}.portrait,.op-avatar{display:grid;place-items:center;flex:none;color:#e7d8b7;border:1px solid #e0bc8271;background:radial-gradient(circle at 30% 20%,#5a4c36,#222a2a);box-shadow:inset 0 0 0 4px #161c1d}.portrait{width:43px;height:43px;border-radius:50%;font-size:23px}.speaker{font-size:10px;color:#eac88f;font-weight:700;letter-spacing:.12em}.words p{font-size:14px;line-height:1.75;margin:3px 0 0;color:#f0e7d1}.play-layout{display:grid;grid-template-columns:minmax(0,510px) minmax(260px,1fr);justify-content:center;gap:35px;align-items:start}.board-shell{width:100%;min-width:0;background:#1a2222dd;border:1px solid #88785b75;padding:14px 16px 13px;box-shadow:0 18px 55px #0007}.opponent{display:flex;align-items:center;gap:11px;margin:0 0 8px}.op-avatar{width:40px;height:40px;border-radius:50%;font-size:22px}.opponent b{display:block;font-size:12px}.opponent small{color:#87978f;font-size:9px}.turn-tag{font-size:9px;margin-left:auto;background:#34473d;color:#e2cd9b;padding:7px 9px;white-space:nowrap}.hand{display:flex;align-items:center;gap:9px;min-height:34px;margin-bottom:8px}.hand label{font-size:10px;white-space:nowrap;color:#a4a98d}.hand-pieces{display:flex;flex:1;align-items:center;flex-wrap:wrap;gap:5px;min-height:25px}.handchip{border:1px solid #c99d6f66;background:#3b3328;color:#e8d3a9;font:700 14px/1 Shippori Mincho,serif;min-width:32px;height:29px;border-radius:4px}.handchip span{font:700 9px system-ui,sans-serif;margin-left:3px;color:#d7b178}.handchip.selected{border-color:#f6df95;background:#745b32;box-shadow:0 0 0 2px #a8914e59}.handchip:disabled{opacity:.8}.myhand{margin-top:10px;margin-bottom:6px}.board-outer{position:relative;background:#6b4828;padding:12px;border:6px ridge #98704a;box-shadow:inset 0 0 8px #20140b,0 10px 27px #0b1014aa}.board-ornate{width:22px;height:22px;position:absolute;border:2px solid #dfb77a;opacity:.4}.top-left{top:2px;left:2px;border-bottom:0;border-right:0}.bottom-right{right:2px;bottom:2px;border-top:0;border-left:0}.board-container{width:100%;aspect-ratio:11/12;background:#d0ae71;box-shadow:0 0 0 2px #422a1a,inset 0 0 30px #6b432577}.sg-wrap{position:relative;width:100%;height:100%;touch-action:none;overflow:visible}sg-board{position:absolute;inset:0;display:block;width:100%;height:100%;background:linear-gradient(90deg,#432a215e 1px,transparent 1px) 0 0/calc(100% / 9) 100%,linear-gradient(#432a215e 1px,transparent 1px) 0 0/100% calc(100% / 9),linear-gradient(116deg,#d3af73,#e2c58d 36%,#c19a62);border:1px solid #604127}sg-squares,sg-pieces,sg-promotion{position:absolute;inset:0;display:block;width:100%;height:100%;line-height:0;-webkit-user-select:none;user-select:none;touch-action:none}sg-squares{display:grid;grid-template:repeat(9,1fr)/repeat(9,1fr);pointer-events:none}sg-pieces{cursor:pointer}sg-squares sq.dest{background:radial-gradient(#b76b38ad 0 22%,transparent 26%)}sg-squares sq.last-dest{background:#e8d59466}sg-squares sq.selected{background:#dfa34988}sg-squares sq.oc.dest{background:#bd7b3866}sg-pieces piece{position:absolute;display:block;top:0;left:0;width:calc(200% / 9);height:calc(200% / 9);margin:calc(-50% / 9 / 11 * 12) calc(-50% / 9);background:transparent;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:3}sg-pieces piece:before,sg-promotion piece:before{content:"";position:absolute;inset:8% 13%;background:linear-gradient(130deg,#ffecbb,#d5ab72 65%,#a97d4b);clip-path:polygon(50% 0%,94% 25%,83% 99%,17% 99%,6% 25%);filter:drop-shadow(3px 6px 4px #3320188c)}sg-pieces piece:after,sg-promotion piece:after{display:grid;place-items:center;position:absolute;inset:15% 8% 9%;font:bold clamp(26px,3.9vw,35px)/1 "Shippori Mincho","Yu Mincho",serif;color:#312115;text-shadow:0 1px #ffda9277}sg-pieces piece.gote:before,sg-pieces piece.gote:after{rotate:180deg}piece.pawn:after{content:"歩"}piece.lance:after{content:"香"}piece.knight:after{content:"桂"}piece.silver:after{content:"銀"}piece.gold:after{content:"金"}piece.bishop:after{content:"角"}piece.rook:after{content:"飛"}piece.king:after{content:"玉"}piece.tokin:after{content:"と";color:#9e3329}piece.promotedlance:after{content:"杏";color:#9e3329}piece.promotedknight:after{content:"圭";color:#9e3329}piece.promotedsilver:after{content:"全";color:#9e3329}piece.horse:after{content:"馬";color:#9e3329}piece.dragon:after{content:"龍";color:#9e3329}sg-promotion{display:none;background:#151a1966;z-index:10}sg-promotion.active{display:block}sg-promotion-square{position:absolute;width:calc(100% / 9);height:calc(100% / 9)}sg-promotion-choices{display:flex;flex-direction:column;height:200%;width:100%;background:#4d3826;border:2px solid #eed296;box-shadow:0 8px 18px #0008;border-radius:5px}sg-promotion-choices.reversed{margin-top:calc(-100% / 11 * 12);flex-direction:column-reverse}sg-promotion piece{position:relative;display:block;width:100%;height:50%;pointer-events:auto}sg-pieces piece.anim{z-index:7}sg-pieces piece.fading{opacity:.5}.board-foot{display:flex;justify-content:space-between;align-items:center;padding:10px 0 0;font:10px system-ui,sans-serif;color:#b4ac91}.foot-left{display:flex;align-items:center;gap:8px}.pulse-dot{width:6px;height:6px;border-radius:50%;background:#e0b26b;box-shadow:0 0 11px #e9ac63}.sidebar{padding:20px 8px}.chapter-info{padding:0 0 24px;border-bottom:1px solid #c7bc9b27}.chapter-info h2{font-size:clamp(26px,3vw,40px);line-height:1.4;margin:15px 0;color:#efe3c7}.chapter-info p{font-size:13px;color:#b8c0b7;line-height:2}.advice{margin:25px 0;padding:19px;border-left:2px solid #d5a365;background:#25302d88}.advice-label{font-size:11px;color:#debb83;letter-spacing:.15em}.advice p{font-size:12px;line-height:2;color:#c7c5b8}.actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ghost-btn{background:transparent;border:1px solid #ab9d746e;color:#eddbc0;font-size:11px;padding:12px 8px}.ghost-btn:hover{background:#b8a06b24}.source{margin-top:35px;padding:16px 0;border-top:1px solid #c2b08b2a;font-size:10px;color:#969f94}.source p{line-height:1.8}.source a{font-size:10px;color:#b9ad8d}.tiny-footer{position:relative;z-index:2;max-width:1120px;margin:25px auto 0;padding:0 15px 20px;text-align:center;color:#66716c;font:9px/1.7 system-ui,sans-serif}.modal{position:fixed;inset:0;z-index:30;display:grid;place-items:center;background:#101518d9;-webkit-backdrop-filter:blur(11px);backdrop-filter:blur(11px);padding:20px}.modal-card{width:min(420px,100%);padding:40px 28px 31px;background:linear-gradient(150deg,#31332d,#191f21);border:1px solid #c1a16b88;text-align:center;box-shadow:0 22px 70px #000b;animation:pop .35s ease both}.modal-symbol{font-size:57px;color:#dfbd7a;margin:14px}.modal-card h2{font-size:25px;margin:7px 0 14px}.modal-card p{font-size:13px;line-height:2.2;color:#bfc3b6;white-space:pre-line;margin:0 0 25px}.modal-card .main-btn{width:100%}.exit-btn{border:0;background:none;color:#a9b5a2;padding:16px;font-size:11px}@keyframes pop{0%{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:750px){.topbar{padding:0 15px;height:60px}.brand{font-size:13px}.top-right #chapter-top{display:none}.town{top:60px}.stage{width:calc(100% - 22px);padding-top:12px}.dialogue{padding:11px 13px;margin-bottom:11px;min-height:105px}.words p{font-size:12px}.play-layout{grid-template-columns:1fr;gap:0;justify-items:center}.board-shell{max-width:470px;padding:10px 9px}.board-outer{padding:8px;border-width:4px}.board-container{max-height:117vw}.sidebar{width:100%;max-width:470px;padding:19px 6px}.chapter-info h2{font-size:25px;margin:7px 0}.chapter-info p{font-size:11px;margin:5px 0}.advice{margin:16px 0;padding:12px 16px}.advice p{margin:5px 0}.source{margin-top:19px}.screen{min-height:calc(100dvh - 65px);padding:40px 0 70px}.screen h1{font-size:clamp(39px,10vw,55px)}sg-pieces piece:after{font-size:clamp(23px,6.5vw,35px)}}@media(max-width:380px){.hand label{font-size:9px}.handchip{min-width:27px;height:28px;font-size:12px}.cover-copy{font-size:11px}.stage{width:calc(100% - 14px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}html.is-playing,body.is-playing{height:100%;height:100dvh;overflow:hidden!important;overscroll-behavior:none;-webkit-overflow-scrolling:auto}body.is-playing{position:fixed;inset:0;width:100%;touch-action:none}body.is-playing #app{height:100dvh;min-height:0;max-height:100dvh;overflow:hidden;overscroll-behavior:none}body.is-playing .topbar{height:52px;min-height:52px;padding:0 max(15px,calc((100vw - 520px)/2));box-sizing:border-box}body.is-playing .brand{font-size:13px}body.is-playing .brand small,body.is-playing .top-right #chapter-top{display:none}body.is-playing .town{top:52px;opacity:.24;filter:blur(1.4px)}body.is-playing .tiny-footer{display:none}body.is-playing .stage{position:absolute;inset:52px 0 0;z-index:5;width:min(520px,100%);height:calc(100dvh - 52px);margin:0 auto;padding:0 max(7px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(7px,env(safe-area-inset-left));display:flex;flex-direction:column;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none}body.is-playing .story-strip{flex:0 0 30px;height:30px;min-height:0;margin:0;padding:1px 6px 0;gap:9px}body.is-playing .chapter{font-size:10px;letter-spacing:0;color:#e7c894;white-space:nowrap}.wizard-chapter-title{display:none}body.is-playing .wizard-chapter-title{display:block;flex:1;min-width:0;color:#fff2db;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;font-weight:700}body.is-playing .dots{gap:4px}body.is-playing .dot{width:13px;height:4px;border-radius:2px}body.is-playing .dialogue{flex:0 0 72px;min-height:0;max-height:72px;gap:1px;margin:0 0 3px;padding:5px 11px 4px;overflow:hidden;grid-template-rows:17px minmax(0,1fr);border-color:#8c76503b}body.is-playing .narrator{display:block;font-size:10px;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body.is-playing .words{align-items:center;gap:8px;min-height:0;overflow:hidden}body.is-playing .portrait{width:32px;height:32px;font-size:18px}body.is-playing .speaker{font-size:10px}body.is-playing .words p{font-size:12px;line-height:1.35;max-height:33px;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;margin:1px 0 0}body.is-playing .play-layout{display:flex;flex:1 1 0;min-height:0;flex-direction:column;gap:0;align-items:stretch;justify-content:flex-start;overflow:hidden}body.is-playing .board-shell{display:flex;flex:1 1 0;min-height:0;width:100%;max-width:none;flex-direction:column;align-items:stretch;padding:5px 9px 2px;margin:0;border-color:#a18c633b;background:#131d1ec9;box-shadow:none;overflow:hidden}body.is-playing .opponent{flex:0 0 30px;min-height:0;margin:0;gap:8px}body.is-playing .op-avatar{height:24px;width:24px;font-size:13px;box-shadow:none}body.is-playing .opponent b{font-size:11px}body.is-playing .opponent small{display:none}body.is-playing .turn-tag{font-size:10px;padding:4px 9px}body.is-playing .hand{flex:0 0 32px;min-height:0;margin:0;gap:8px;overflow:hidden}body.is-playing .hand label{font-size:10px;letter-spacing:0;flex:none}body.is-playing .hand-pieces{display:flex;gap:4px;align-items:center;overflow-x:auto;overflow-y:hidden;flex-wrap:nowrap;min-height:27px;scrollbar-width:none}body.is-playing .hand-pieces::-webkit-scrollbar{display:none}body.is-playing .handchip{flex:none;height:27px;min-width:29px;padding:3px 4px;font-size:14px;touch-action:manipulation}body.is-playing .empty-pieces{font-size:10px;color:#c0ae8d;white-space:nowrap}body.is-playing .board-outer{flex:1 1 0;min-height:0;width:100%;padding:5px;border:3px ridge #91704b;display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:none}body.is-playing .board-container{width:260px;height:auto;max-height:100%;max-width:100%;flex:none;aspect-ratio:11/12}body.is-playing .sg-wrap{touch-action:none;-webkit-touch-callout:none}body.is-playing .board-foot{flex:0 0 23px;min-height:0;padding:2px 0;font-size:10px}body.is-playing .sidebar{width:100%;max-width:none;min-height:58px;max-height:82px;flex:0 0 66px;display:flex;align-items:stretch;gap:6px;margin:0;padding:5px 0 3px}body.is-playing .chapter-info,body.is-playing .source{display:none}body.is-playing .advice{margin:0;padding:4px 8px;display:flex;flex:1 1 auto;min-width:0;flex-direction:column;justify-content:center;background:#1727259c;border-left:2px solid #be905c}body.is-playing .advice-label{display:none}body.is-playing .advice p{font-size:11px;line-height:1.4;margin:0;color:#e3d3b7;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;overflow-wrap:anywhere}body.is-playing .actions{flex:none;display:flex;flex-direction:column;gap:5px;width:93px}body.is-playing .ghost-btn{flex:1 1 0;min-height:0;padding:1px 4px;border-color:#826c4699;border-radius:4px;font-size:11px;color:#e9c98a}body.is-playing .modal{touch-action:none}body.is-playing .board-outer sg-pieces{touch-action:none}body.is-playing sg-pieces piece:after{font-size:clamp(21px,5.9vw,35px)}body.is-playing .handchip:active,body.is-playing .ghost-btn:active{filter:brightness(1.4)}@media(max-height:650px){body.is-playing .dialogue{flex-basis:58px;max-height:58px;grid-template-rows:14px minmax(0,1fr)}body.is-playing .story-strip{flex-basis:25px;height:25px}body.is-playing .sidebar{flex-basis:58px;min-height:50px}body.is-playing .opponent{flex-basis:26px}body.is-playing .hand{flex-basis:28px}body.is-playing .board-foot{flex-basis:18px}body.is-playing .brand{font-size:12px}}@media(max-height:520px){body.is-playing .dialogue{flex-basis:43px;max-height:43px;grid-template-rows:0 minmax(0,1fr)}body.is-playing .narrator{display:none}body.is-playing .story-strip{flex-basis:21px;height:21px}body.is-playing .sidebar{flex-basis:45px;min-height:40px}body.is-playing .advice p{-webkit-line-clamp:2}body.is-playing .topbar{height:42px;min-height:42px}body.is-playing .stage{inset:42px 0 0;height:calc(100dvh - 42px)}}body.is-playing .handchip{min-width:36px;height:31px;min-height:31px;padding:2px 6px;border-radius:5px;-webkit-tap-highlight-color:transparent;touch-action:manipulation}body.is-playing .handchip.selected{background:#92713e;color:#fff0c7;border-color:#ffe3a7;box-shadow:0 0 0 2px #e3b96a40}body.is-playing .hand{flex-basis:35px}body.is-playing .hand-pieces{min-height:31px}body.is-playing sg-pieces piece{-webkit-tap-highlight-color:transparent}body.is-playing sg-squares sq.dest{background:radial-gradient(circle at center,#75451db8 0 20%,#eac48c94 23% 29%,transparent 31%)}body.is-playing sg-squares sq.selected{background:radial-gradient(circle at center,#fce0a888 0 60%,#ae6d2980 62%)}body.is-playing sg-pieces piece:before{filter:none}body.is-playing .stage{padding-inline:max(3px,env(safe-area-inset-left));padding-right:max(3px,env(safe-area-inset-right))}body.is-playing .story-strip{flex-basis:24px;height:24px;gap:5px}body.is-playing .dialogue{flex:0 0 57px;max-height:57px;margin-bottom:2px;padding:3px 9px;grid-template-rows:13px minmax(0,1fr)}body.is-playing .narrator{font-size:9px;line-height:1.4}body.is-playing .portrait{width:28px;height:28px;font-size:16px}body.is-playing .words p{font-size:11px;line-height:1.35}body.is-playing .opponent{flex-basis:26px}body.is-playing .hand{flex-basis:33px}body.is-playing .board-foot{flex-basis:20px}body.is-playing .sidebar{flex:0 0 58px;min-height:52px;max-height:58px;padding-top:3px}body.is-playing .board-shell{padding:3px 3px 1px}body.is-playing .board-outer{padding:3px;border-width:2px;background:#754a2a;box-shadow:inset 0 0 5px #3c261b,0 3px 12px #0005}body.is-playing .board-container{aspect-ratio:1/1!important;max-height:100%;max-width:100%;box-shadow:0 0 0 1px #57381b,inset 0 0 14px #6b43254d}body.is-playing .sg-wrap{aspect-ratio:1/1;height:100%}body.is-playing sg-pieces piece{margin:calc(-50% / 9) calc(-50% / 9)}@media(max-height:650px){body.is-playing .story-strip{flex-basis:21px;height:21px}body.is-playing .dialogue{flex-basis:43px;max-height:43px;grid-template-rows:0 minmax(0,1fr)}body.is-playing .narrator{display:none}body.is-playing .sidebar{flex-basis:47px;min-height:44px;max-height:47px}body.is-playing .actions{width:84px}body.is-playing .advice p{-webkit-line-clamp:2}body.is-playing .opponent{flex-basis:24px}body.is-playing .hand{flex-basis:29px}body.is-playing .board-foot{flex-basis:18px}}body.is-playing piece.pawn,body.is-playing .handchip.pawn{--piece-art:url(/pieces/black_pawn.png)}body.is-playing piece.lance,body.is-playing .handchip.lance{--piece-art:url(/pieces/black_lance.png)}body.is-playing piece.knight,body.is-playing .handchip.knight{--piece-art:url(/pieces/black_knight.png)}body.is-playing piece.silver,body.is-playing .handchip.silver{--piece-art:url(/pieces/black_silver.png)}body.is-playing piece.gold,body.is-playing .handchip.gold{--piece-art:url(/pieces/black_gold.png)}body.is-playing piece.bishop,body.is-playing .handchip.bishop{--piece-art:url(/pieces/black_bishop.png)}body.is-playing piece.rook,body.is-playing .handchip.rook{--piece-art:url(/pieces/black_rook.png)}body.is-playing piece.king,body.is-playing .handchip.king{--piece-art:url(/pieces/black_king.png)}body.is-playing piece.tokin,body.is-playing .handchip.tokin{--piece-art:url(/pieces/black_prom_pawn.png)}body.is-playing piece.promotedlance,body.is-playing .handchip.promotedlance{--piece-art:url(/pieces/black_prom_lance.png)}body.is-playing piece.promotedknight,body.is-playing .handchip.promotedknight{--piece-art:url(/pieces/black_prom_knight.png)}body.is-playing piece.promotedsilver,body.is-playing .handchip.promotedsilver{--piece-art:url(/pieces/black_prom_silver.png)}body.is-playing piece.horse,body.is-playing .handchip.horse{--piece-art:url(/pieces/black_horse.png)}body.is-playing piece.dragon,body.is-playing .handchip.dragon{--piece-art:url(/pieces/black_dragon.png)}body.is-playing sg-board{background:linear-gradient(90deg,rgba(79,44,20,.44) 1px,transparent 1px) 0 0 / 11.111111% 100%,linear-gradient(0deg,rgba(79,44,20,.42) 1px,transparent 1px) 0 0 / 100% 11.111111%,repeating-linear-gradient(93deg,transparent 0 12px,#b57a3d11 13px 14px,transparent 15px 27px),repeating-linear-gradient(87deg,transparent 0 23px,#fff2cc1c 25px 26px,transparent 28px 53px),radial-gradient(ellipse at 22% 14%,#f3dca9 0,#dfb775 65%,#c89e5f);box-shadow:inset 0 0 30px #633e2455,inset 0 0 0 1px #55391d}body.is-playing .board-outer{background:repeating-linear-gradient(96deg,transparent 0 8px,#331c1026 9px 10px,transparent 12px 22px),linear-gradient(110deg,#825432,#b2824a 34%,#5c341f);border-color:#97734d;box-shadow:inset 0 0 4px #271409,0 3px 15px #0007}body.is-playing sg-pieces piece:before,body.is-playing sg-promotion piece:before{content:"";display:block;position:absolute;inset:1%;background-image:var(--piece-art);background-size:contain;background-position:center;background-repeat:no-repeat;clip-path:none;filter:drop-shadow(1px 2px 1px #3d231d61);border:0;pointer-events:none}body.is-playing sg-pieces piece:after,body.is-playing sg-promotion piece:after{content:none!important;display:none!important}body.is-playing sg-pieces piece.gote:before{rotate:180deg}body.is-playing sg-pieces piece.anim:before{filter:drop-shadow(1px 3px 2px #29151065)}body.is-playing .handchip{display:inline-flex;align-items:center;justify-content:center;gap:1px;min-width:43px;height:32px;padding:1px 3px 1px 1px;color:transparent;font-size:0;background:linear-gradient(120deg,#4b3728,#6c4e30);border-radius:5px;box-shadow:0 2px 3px #0004;-webkit-tap-highlight-color:transparent}body.is-playing .handchip:before{content:"";display:block;flex:none;width:24px;height:29px;background-image:var(--piece-art);background-position:center;background-repeat:no-repeat;background-size:contain}body.is-playing .handchip span{color:#f5d49c;font-size:9px;font-family:system-ui,sans-serif;align-self:center;margin-left:0}body.is-playing .handchip.selected{background:linear-gradient(120deg,#73522d,#936c39);border-color:#f6d793;box-shadow:0 0 0 2px #f0c47d55,0 2px 8px #0006}body.is-playing .board-container{position:relative}body.is-playing .impact-ring{position:absolute;z-index:8;width:11.1111%;height:11.1111%;border:2px solid #ffdc9b;border-radius:50%;pointer-events:none;box-shadow:0 0 10px #edbd7866;transform:translate(-50%,-50%) scale(.35);background:radial-gradient(circle,#ffe6b527,transparent 66%)}body.is-playing .impact-ring.opponent{border-color:#d7b38c}body.is-playing .board-foot .pulse-dot{animation:subtle-breathe 2.8s ease-in-out infinite}@keyframes subtle-breathe{0%,to{opacity:.55}50%{opacity:1}}@media(prefers-reduced-motion:reduce){body.is-playing .impact-ring{display:none}body.is-playing .board-foot .pulse-dot{animation:none}}.design-open{background:#36302685;color:#e9d09e;border:1px solid #c9a46a69;border-radius:6px;padding:7px 10px;font:600 11px/1.1 system-ui,sans-serif;white-space:nowrap;touch-action:manipulation}.cover-design{display:block;margin-top:15px;padding:10px 16px;background:#141f1d44;border:1px solid #b49a705b;color:#eace9a;font-size:12px;letter-spacing:.05em}.design-modal{position:fixed;z-index:80;inset:0;display:grid;place-items:center;padding:12px;touch-action:manipulation}.design-modal.hidden{display:none}.design-scrim{position:absolute;inset:0;background:#080d10e6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.design-panel{position:relative;z-index:1;width:min(470px,100%);max-height:92dvh;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;padding:20px 17px 14px;background:#202a2b;color:#f5e8d0;border:1px solid #bba376a3;border-radius:14px;box-shadow:0 24px 75px #000c}.design-heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.design-heading-row h2{margin:4px 0 0;font-size:20px;line-height:1.4}.design-overline{color:#d5b17b;font:700 9px system-ui,sans-serif;letter-spacing:.2em}.design-close{height:34px;width:34px;flex:none;border:1px solid #bba68160;border-radius:50%;background:none;color:#f1e3c7;font:24px/1 system-ui,sans-serif}.design-panel p{font-size:11px;line-height:1.7;color:#b9c3bc;margin:12px 0}.design-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.design-option{display:flex;align-items:stretch;flex-direction:column;min-width:0;padding:7px 7px 10px;overflow:hidden;text-align:left;border:2px solid #ffffff24;border-radius:10px;background:#353835;color:#f2e5cb;touch-action:manipulation}.design-option[aria-pressed=true]{border-color:#f0c680;background:#51432c;box-shadow:0 0 0 1px #f0c68044}.design-preview{position:relative;display:flex;justify-content:center;align-items:center;gap:9px;height:102px;margin-bottom:9px;border:3px solid var(--preview-frame,#805e3c);border-radius:5px;overflow:hidden;background:var(--preview-bg,#d9b272)}.preview-grid{position:absolute;inset:0;opacity:.75;background-image:linear-gradient(90deg,var(--preview-line,#786044) 1px,transparent 1px),linear-gradient(var(--preview-line,#786044) 1px,transparent 1px);background-size:20% 20%}.design-preview i{position:relative;z-index:1;display:grid;place-items:center;height:44px;width:35px;flex:none;clip-path:polygon(50% 0%,94% 25%,84% 99%,16% 99%,6% 25%);background:var(--preview-tile,linear-gradient(130deg,#fbe8be,#cfa374));color:var(--preview-ink,#302113);text-shadow:0 1px #fff5;font:700 21px/1 Shippori Mincho,Yu Mincho,serif;transform:rotate(-3deg)}.design-preview i:nth-of-type(2){transform:rotate(2deg);margin-top:9px}.design-preview i:nth-of-type(3){transform:rotate(4deg);margin-top:18px}.design-name{font-size:12px;font-weight:800;line-height:1.4;margin:1px 2px}.design-sub{font-size:10px;color:#bac1b8;margin:4px 2px 0;line-height:1.4}.design-option[data-theme-option=plain]{--preview-bg:linear-gradient(125deg,#eac588,#d4a972);--preview-frame:#895f35;--preview-line:#805f3e93;--preview-tile:linear-gradient(120deg,#f8e8c1,#d2a775)}.design-option[data-theme-option=wood]{--preview-bg:repeating-linear-gradient(93deg,#c99c62 0 10px,#e0bb83 12px 21px,#c69960 23px 29px);--preview-frame:#6e4827;--preview-line:#805735a0;--preview-tile:repeating-linear-gradient(83deg,#d6ab76 0 4px,#f2d69e 5px 13px,#cda068 15px 19px)}.design-option[data-theme-option=paper]{--preview-bg:#eeece5;--preview-frame:#a5a49d;--preview-line:#86908d7b;--preview-tile:#fdfbf6;--preview-ink:#293536}.design-option[data-theme-option=lacquer]{--preview-bg:radial-gradient(#384044,#182528);--preview-frame:#a48a61;--preview-line:#d5b679a6;--preview-tile:linear-gradient(120deg,#f1e3bf,#c8aa75);--preview-ink:#1c272b}.design-panel .design-footnote{text-align:center;margin:12px 0 0}.design-done{width:100%;padding:13px 18px;margin-top:12px;background:#e7c185;color:#292216;border:0;border-radius:7px;font-size:13px;font-weight:800}@media(max-height:610px){.design-panel{padding:12px;max-height:96dvh}.design-preview{height:72px}.design-preview i{width:27px;height:35px;font-size:16px}.design-option{padding:4px 4px 7px}.design-panel p{margin:7px 0}}@media(max-width:350px){.design-preview{height:81px}.design-options{gap:6px}.design-name{font-size:11px}.design-open{padding:6px}}body.is-playing .pawn{--piece-kanji:"歩"}body.is-playing .lance{--piece-kanji:"香"}body.is-playing .knight{--piece-kanji:"桂"}body.is-playing .silver{--piece-kanji:"銀"}body.is-playing .gold{--piece-kanji:"金"}body.is-playing .bishop{--piece-kanji:"角"}body.is-playing .rook{--piece-kanji:"飛"}body.is-playing .king{--piece-kanji:"王"}body.is-playing .tokin{--piece-kanji:"と"}body.is-playing .promotedlance{--piece-kanji:"杏"}body.is-playing .promotedknight{--piece-kanji:"圭"}body.is-playing .promotedsilver{--piece-kanji:"全"}body.is-playing .horse{--piece-kanji:"馬"}body.is-playing .dragon{--piece-kanji:"龍"}body.is-playing[data-skin=plain] sg-board{background:linear-gradient(90deg,#6d4e3483 1px,transparent 1px) 0 0/11.111111% 100%,linear-gradient(#6d4e3483 1px,transparent 1px) 0 0/100% 11.111111%,linear-gradient(125deg,#ecd098,#d8ad70 95%);box-shadow:inset 0 0 12px #51331d2e}body.is-playing[data-skin=plain] .board-outer{background:#8a623c;border-color:#a47b4d;box-shadow:inset 0 0 4px #28180c,0 3px 10px #0005}body.is-playing[data-skin=paper] sg-board{background:linear-gradient(90deg,#68777569 1px,transparent 1px) 0 0/11.111111% 100%,linear-gradient(#68777569 1px,transparent 1px) 0 0/100% 11.111111%,#eeeae1;box-shadow:inset 0 0 15px #a59c831b}body.is-playing[data-skin=paper] .board-outer{background:#b5b1a6;border:2px solid #a3a095;box-shadow:0 2px 7px #0003}body.is-playing[data-skin=lacquer] sg-board{background:linear-gradient(90deg,#cdb18481 1px,transparent 1px) 0 0/11.111111% 100%,linear-gradient(#cdb18481 1px,transparent 1px) 0 0/100% 11.111111%,radial-gradient(ellipse at 19% 12%,#364043,#16262a 85%);box-shadow:inset 0 0 12px #07101388}body.is-playing[data-skin=lacquer] .board-outer{background:linear-gradient(130deg,#6f5835,#1c2729 35%,#5d4b35);border-color:#c5a46a;box-shadow:inset 0 0 4px #000,0 4px 10px #0008}body.is-playing[data-skin=paper] sg-squares sq.dest{background:radial-gradient(#6a9589bc 0 22%,transparent 28%)}body.is-playing[data-skin=lacquer] sg-squares sq.dest{background:radial-gradient(#ffcf7ab3 0 22%,transparent 28%)}body.is-playing:is([data-skin=plain],[data-skin=paper],[data-skin=lacquer]) sg-pieces piece:before,body.is-playing:is([data-skin=plain],[data-skin=paper],[data-skin=lacquer]) sg-promotion piece:before{inset:8% 13%;clip-path:polygon(50% 0%,94% 25%,83% 99%,17% 99%,6% 25%);background:linear-gradient(125deg,#ffedc5,#d4a773 75%,#ae8153)!important;filter:drop-shadow(1px 2px 1px #21140665)}body.is-playing[data-skin=paper] sg-pieces piece:before,body.is-playing[data-skin=paper] sg-promotion piece:before{background:#fdfbf5!important;filter:drop-shadow(1px 2px 0 #b7b0a747)}body.is-playing[data-skin=lacquer] sg-pieces piece:before,body.is-playing[data-skin=lacquer] sg-promotion piece:before{background:linear-gradient(125deg,#f3e8cc,#c5a575)!important;filter:drop-shadow(1px 2px 1px #0008)}body.is-playing:is([data-skin=plain],[data-skin=paper],[data-skin=lacquer]) sg-pieces piece:after,body.is-playing:is([data-skin=plain],[data-skin=paper],[data-skin=lacquer]) sg-promotion piece:after{content:var(--piece-kanji)!important;display:grid!important;font-size:clamp(21px,5.7vw,35px);color:#322416;text-shadow:none}body.is-playing[data-skin=paper] sg-pieces piece:after,body.is-playing[data-skin=paper] sg-promotion piece:after{color:#202d2e;font-family:Yu Mincho,Shippori Mincho,serif}body.is-playing[data-skin=lacquer] sg-pieces piece:after,body.is-playing[data-skin=lacquer] sg-promotion piece:after{color:#172529}body.is-playing:is([data-skin=plain],[data-skin=paper],[data-skin=lacquer]) .handchip{min-width:38px;background:#4b3726;color:#f8dfb3;font-size:15px;padding:3px 6px}body.is-playing:is([data-skin=plain],[data-skin=paper],[data-skin=lacquer]) .handchip:before{content:none;display:none}body.is-playing[data-skin=paper] .handchip{background:#dedbd1;color:#293638;border-color:#8f9185}body.is-playing[data-skin=paper] .handchip span{color:#4f605c}body.is-playing[data-skin=lacquer] .handchip{background:#292b2b;color:#f4dfb9;border-color:#bda374}body.is-playing[data-skin=otb] sg-pieces piece.pawn,body.is-playing[data-skin=otb] .handchip.pawn{--oss0:url(/oss-pieces/otb/0FU.svg);--oss1:url(/oss-pieces/otb/1FU.svg)}body.is-playing[data-skin=otb] sg-pieces piece.lance,body.is-playing[data-skin=otb] .handchip.lance{--oss0:url(/oss-pieces/otb/0KY.svg);--oss1:url(/oss-pieces/otb/1KY.svg)}body.is-playing[data-skin=otb] sg-pieces piece.knight,body.is-playing[data-skin=otb] .handchip.knight{--oss0:url(/oss-pieces/otb/0KE.svg);--oss1:url(/oss-pieces/otb/1KE.svg)}body.is-playing[data-skin=otb] sg-pieces piece.silver,body.is-playing[data-skin=otb] .handchip.silver{--oss0:url(/oss-pieces/otb/0GI.svg);--oss1:url(/oss-pieces/otb/1GI.svg)}body.is-playing[data-skin=otb] sg-pieces piece.gold,body.is-playing[data-skin=otb] .handchip.gold{--oss0:url(/oss-pieces/otb/0KI.svg);--oss1:url(/oss-pieces/otb/1KI.svg)}body.is-playing[data-skin=otb] sg-pieces piece.bishop,body.is-playing[data-skin=otb] .handchip.bishop{--oss0:url(/oss-pieces/otb/0KA.svg);--oss1:url(/oss-pieces/otb/1KA.svg)}body.is-playing[data-skin=otb] sg-pieces piece.rook,body.is-playing[data-skin=otb] .handchip.rook{--oss0:url(/oss-pieces/otb/0HI.svg);--oss1:url(/oss-pieces/otb/1HI.svg)}body.is-playing[data-skin=otb] sg-pieces piece.king,body.is-playing[data-skin=otb] .handchip.king{--oss0:url(/oss-pieces/otb/0OU.svg);--oss1:url(/oss-pieces/otb/1OU.svg)}body.is-playing[data-skin=otb] sg-pieces piece.tokin,body.is-playing[data-skin=otb] .handchip.tokin{--oss0:url(/oss-pieces/otb/0TO.svg);--oss1:url(/oss-pieces/otb/1TO.svg)}body.is-playing[data-skin=otb] sg-pieces piece.promotedlance,body.is-playing[data-skin=otb] .handchip.promotedlance{--oss0:url(/oss-pieces/otb/0NY.svg);--oss1:url(/oss-pieces/otb/1NY.svg)}body.is-playing[data-skin=otb] sg-pieces piece.promotedknight,body.is-playing[data-skin=otb] .handchip.promotedknight{--oss0:url(/oss-pieces/otb/0NK.svg);--oss1:url(/oss-pieces/otb/1NK.svg)}body.is-playing[data-skin=otb] sg-pieces piece.promotedsilver,body.is-playing[data-skin=otb] .handchip.promotedsilver{--oss0:url(/oss-pieces/otb/0NG.svg);--oss1:url(/oss-pieces/otb/1NG.svg)}body.is-playing[data-skin=otb] sg-pieces piece.horse,body.is-playing[data-skin=otb] .handchip.horse{--oss0:url(/oss-pieces/otb/0UM.svg);--oss1:url(/oss-pieces/otb/1UM.svg)}body.is-playing[data-skin=otb] sg-pieces piece.dragon,body.is-playing[data-skin=otb] .handchip.dragon{--oss0:url(/oss-pieces/otb/0RY.svg);--oss1:url(/oss-pieces/otb/1RY.svg)}body.is-playing[data-skin=redwood] sg-pieces piece.pawn,body.is-playing[data-skin=redwood] .handchip.pawn{--oss0:url(/oss-pieces/redwood/0FU.svg);--oss1:url(/oss-pieces/redwood/1FU.svg)}body.is-playing[data-skin=redwood] sg-pieces piece.lance,body.is-playing[data-skin=redwood] .handchip.lance{--oss0:url(/oss-pieces/redwood/0KY.svg);--oss1:url(/oss-pieces/redwood/1KY.svg)}body.is-playing[data-skin=redwood] sg-pieces piece.knight,body.is-playing[data-skin=redwood] .handchip.knight{--oss0:url(/oss-pieces/redwood/0KE.svg);--oss1:url(/oss-pieces/redwood/1KE.svg)}body.is-playing[data-skin=redwood] sg-pieces piece.silver,body.is-playing[data-skin=redwood] .handchip.silver{--oss0:url(/oss-pieces/redwood/0GI.svg);--oss1:url(/oss-pieces/redwood/1GI.svg)}body.is-playing[data-skin=redwood] sg-pieces piece.gold,body.is-playing[data-skin=redwood] .handchip.gold{--oss0:url(/oss-pieces/redwood/0KI.svg);--oss1:url(/oss-pieces/redwood/1KI.svg)}body.is-playing[data-skin=redwood] sg-pieces piece.bishop,body.is-playing[data-skin=redwood] .handchip.bishop{--oss0:url(/oss-pieces/redwood/0KA.svg);--oss1:url(/oss-pieces/redwood/1KA.svg)}body.is-playing[data-skin=redwood] sg-pieces piece.rook,body.is-playing[data-skin=redwood] .handchip.rook{--oss0:url(/oss-pieces/redwood/0HI.svg);--oss1:url(/oss-pieces/redwood/1HI.svg)}body.is-playing[data-skin=redwood] sg-pieces piece.king,body.is-playing[data-skin=redwood] .handchip.king{--oss0:url(/oss-pieces/redwood/0OU.svg);--oss1:url(/oss-pieces/redwood/1OU.svg)}body.is-playing[data-skin=redwood] sg-pieces piece.tokin,body.is-playing[data-skin=redwood] .handchip.tokin{--oss0:url(/oss-pieces/redwood/0TO.svg);--oss1:url(/oss-pieces/redwood/1TO.svg)}body.is-playing[data-skin=redwood] sg-pieces piece.promotedlance,body.is-playing[data-skin=redwood] .handchip.promotedlance{--oss0:url(/oss-pieces/redwood/0NY.svg);--oss1:url(/oss-pieces/redwood/1NY.svg)}body.is-playing[data-skin=redwood] sg-pieces piece.promotedknight,body.is-playing[data-skin=redwood] .handchip.promotedknight{--oss0:url(/oss-pieces/redwood/0NK.svg);--oss1:url(/oss-pieces/redwood/1NK.svg)}body.is-playing[data-skin=redwood] sg-pieces piece.promotedsilver,body.is-playing[data-skin=redwood] .handchip.promotedsilver{--oss0:url(/oss-pieces/redwood/0NG.svg);--oss1:url(/oss-pieces/redwood/1NG.svg)}body.is-playing[data-skin=redwood] sg-pieces piece.horse,body.is-playing[data-skin=redwood] .handchip.horse{--oss0:url(/oss-pieces/redwood/0UM.svg);--oss1:url(/oss-pieces/redwood/1UM.svg)}body.is-playing[data-skin=redwood] sg-pieces piece.dragon,body.is-playing[data-skin=redwood] .handchip.dragon{--oss0:url(/oss-pieces/redwood/0RY.svg);--oss1:url(/oss-pieces/redwood/1RY.svg)}body.is-playing[data-skin=two-kanji] sg-pieces piece.pawn,body.is-playing[data-skin=two-kanji] .handchip.pawn{--oss0:url(/oss-pieces/two-kanji/0FU.svg);--oss1:url(/oss-pieces/two-kanji/1FU.svg)}body.is-playing[data-skin=two-kanji] sg-pieces piece.lance,body.is-playing[data-skin=two-kanji] .handchip.lance{--oss0:url(/oss-pieces/two-kanji/0KY.svg);--oss1:url(/oss-pieces/two-kanji/1KY.svg)}body.is-playing[data-skin=two-kanji] sg-pieces piece.knight,body.is-playing[data-skin=two-kanji] .handchip.knight{--oss0:url(/oss-pieces/two-kanji/0KE.svg);--oss1:url(/oss-pieces/two-kanji/1KE.svg)}body.is-playing[data-skin=two-kanji] sg-pieces piece.silver,body.is-playing[data-skin=two-kanji] .handchip.silver{--oss0:url(/oss-pieces/two-kanji/0GI.svg);--oss1:url(/oss-pieces/two-kanji/1GI.svg)}body.is-playing[data-skin=two-kanji] sg-pieces piece.gold,body.is-playing[data-skin=two-kanji] .handchip.gold{--oss0:url(/oss-pieces/two-kanji/0KI.svg);--oss1:url(/oss-pieces/two-kanji/1KI.svg)}body.is-playing[data-skin=two-kanji] sg-pieces piece.bishop,body.is-playing[data-skin=two-kanji] .handchip.bishop{--oss0:url(/oss-pieces/two-kanji/0KA.svg);--oss1:url(/oss-pieces/two-kanji/1KA.svg)}body.is-playing[data-skin=two-kanji] sg-pieces piece.rook,body.is-playing[data-skin=two-kanji] .handchip.rook{--oss0:url(/oss-pieces/two-kanji/0HI.svg);--oss1:url(/oss-pieces/two-kanji/1HI.svg)}body.is-playing[data-skin=two-kanji] sg-pieces piece.king,body.is-playing[data-skin=two-kanji] .handchip.king{--oss0:url(/oss-pieces/two-kanji/0OU.svg);--oss1:url(/oss-pieces/two-kanji/1OU.svg)}body.is-playing[data-skin=two-kanji] sg-pieces piece.tokin,body.is-playing[data-skin=two-kanji] .handchip.tokin{--oss0:url(/oss-pieces/two-kanji/0TO.svg);--oss1:url(/oss-pieces/two-kanji/1TO.svg)}body.is-playing[data-skin=two-kanji] sg-pieces piece.promotedlance,body.is-playing[data-skin=two-kanji] .handchip.promotedlance{--oss0:url(/oss-pieces/two-kanji/0NY.svg);--oss1:url(/oss-pieces/two-kanji/1NY.svg)}body.is-playing[data-skin=two-kanji] sg-pieces piece.promotedknight,body.is-playing[data-skin=two-kanji] .handchip.promotedknight{--oss0:url(/oss-pieces/two-kanji/0NK.svg);--oss1:url(/oss-pieces/two-kanji/1NK.svg)}body.is-playing[data-skin=two-kanji] sg-pieces piece.promotedsilver,body.is-playing[data-skin=two-kanji] .handchip.promotedsilver{--oss0:url(/oss-pieces/two-kanji/0NG.svg);--oss1:url(/oss-pieces/two-kanji/1NG.svg)}body.is-playing[data-skin=two-kanji] sg-pieces piece.horse,body.is-playing[data-skin=two-kanji] .handchip.horse{--oss0:url(/oss-pieces/two-kanji/0UM.svg);--oss1:url(/oss-pieces/two-kanji/1UM.svg)}body.is-playing[data-skin=two-kanji] sg-pieces piece.dragon,body.is-playing[data-skin=two-kanji] .handchip.dragon{--oss0:url(/oss-pieces/two-kanji/0RY.svg);--oss1:url(/oss-pieces/two-kanji/1RY.svg)}body.is-playing:is([data-skin=otb],[data-skin=redwood],[data-skin=two-kanji]) sg-pieces piece:before,body.is-playing:is([data-skin=otb],[data-skin=redwood],[data-skin=two-kanji]) sg-promotion piece:before{content:"";display:block!important;inset:0!important;clip-path:none!important;background:var(--oss0) center/contain no-repeat!important;filter:none!important;box-shadow:none!important;rotate:0deg!important;transform:none!important}body.is-playing:is([data-skin=otb],[data-skin=redwood],[data-skin=two-kanji]) sg-pieces piece.gote:before{background-image:var(--oss1)!important;rotate:0deg!important}body.is-playing:is([data-skin=otb],[data-skin=redwood],[data-skin=two-kanji]) sg-pieces piece:after,body.is-playing:is([data-skin=otb],[data-skin=redwood],[data-skin=two-kanji]) sg-promotion piece:after{content:none!important;display:none!important}body.is-playing[data-skin=otb] sg-board{background:linear-gradient(90deg,#52351f7a 1px,transparent 1px) 0 0/11.111111% 100%,linear-gradient(#52351f7a 1px,transparent 1px) 0 0/100% 11.111111%,url(/oss-pieces/boards/tile_wood2.png) center/auto repeat!important}body.is-playing[data-skin=redwood] sg-board{background:linear-gradient(90deg,#49311e99 1px,transparent 1px) 0 0/11.111111% 100%,linear-gradient(#49311e99 1px,transparent 1px) 0 0/100% 11.111111%,url(/oss-pieces/boards/tile_wood4.png) center/auto repeat!important}body.is-playing[data-skin=two-kanji] sg-board{background:linear-gradient(90deg,#53351a96 1px,transparent 1px) 0 0/11.111111% 100%,linear-gradient(#53351a96 1px,transparent 1px) 0 0/100% 11.111111%,url(/oss-pieces/boards/tile_wood5.png) center/auto repeat!important}body.is-playing:is([data-skin=otb],[data-skin=redwood],[data-skin=two-kanji]) .board-outer{border-color:#916940;background:#7e5933;box-shadow:0 2px 7px #0007}body.is-playing:is([data-skin=otb],[data-skin=redwood],[data-skin=two-kanji]) .handchip{display:inline-flex;align-items:center;justify-content:center;gap:1px;min-width:42px;height:33px;border:1px solid #956c3f;border-radius:4px;font-size:0!important;color:transparent!important;padding:0 3px 0 0;background:#5c4028!important;box-shadow:0 1px 2px #0005}body.is-playing:is([data-skin=otb],[data-skin=redwood],[data-skin=two-kanji]) .handchip:before{content:"";display:block!important;flex:none;width:28px;height:31px;background:var(--oss0) center/contain no-repeat!important}body.is-playing:is([data-skin=otb],[data-skin=redwood],[data-skin=two-kanji]) .handchip span{color:#f1d9b8!important;font:600 10px system-ui,sans-serif!important}body.is-playing:is([data-skin=otb],[data-skin=redwood],[data-skin=two-kanji]) .handchip.selected{outline:2px solid #e8c27d;outline-offset:1px;box-shadow:none}.design-options.oss-options{grid-template-columns:repeat(2,minmax(0,1fr))}.design-options.oss-options .design-option:last-child{grid-column:1/-1}.design-options.oss-options .design-preview{background:#cba16b;height:100px;gap:0;border:2px solid #7d603b;padding:4px;background-image:url(/oss-pieces/boards/tile_wood2.png)}.design-options.oss-options [data-theme-option=redwood] .design-preview{background-image:url(/oss-pieces/boards/tile_wood4.png)}.design-options.oss-options [data-theme-option=two-kanji] .design-preview{background-image:url(/oss-pieces/boards/tile_wood5.png)}.design-options.oss-options .design-preview img{width:33.3333%;min-width:0;height:100%;object-fit:contain}.design-options.oss-options .design-option:last-child .design-preview{height:84px}.design-options.oss-options .design-option:last-child .design-preview img{width:27%}.design-options.oss-options .design-preview:after{content:none}@media(max-height:590px){.design-options.oss-options .design-preview{height:62px}.design-options.oss-options .design-option:last-child .design-preview{height:54px}}@media(prefers-reduced-motion:reduce){body.is-playing sg-pieces piece{transition:none!important}}.top-right .feel-open{width:auto;height:33px;padding:0 10px;background:#3d3227;border:1px solid #a68a5b70;border-radius:6px;color:#ead3a3;font:700 11px system-ui,sans-serif;letter-spacing:0;white-space:nowrap;touch-action:manipulation}.feel-modal{z-index:92}.feel-panel{touch-action:pan-y;overscroll-behavior:contain}.feel-panel>p{margin:7px 0 12px;font:11px/1.65 system-ui,sans-serif}.feel-samples{display:grid;gap:7px}.feel-sample{width:100%;min-height:49px;display:flex;align-items:center;gap:9px;text-align:left;background:#293434;border:1px solid #6a69625b;border-radius:8px;padding:7px 10px;color:#f1e5cc;touch-action:manipulation}.feel-sample[aria-checked=true]{border-color:#efc07b;background:#403a2f;box-shadow:inset 0 0 0 1px #d5ac6b69}.feel-sample-symbol{display:grid;place-items:center;width:29px;height:29px;flex:none;border-radius:50%;background:#ceac74;color:#29261f;font:800 12px system-ui,sans-serif}.feel-sample-name{display:flex;flex:1;flex-direction:column;gap:3px;font:700 13px system-ui,sans-serif}.feel-sample-name small{font:10px system-ui,sans-serif;color:#b5bdb4}.feel-play{font:700 10px system-ui,sans-serif;color:#efc88c;white-space:nowrap}.feel-haptics{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #ffffff1e;margin-top:13px;padding-top:12px}.feel-haptics strong{font:700 12px system-ui,sans-serif}.feel-haptics p{margin:4px 0 0;font:10px/1.4 system-ui,sans-serif;color:#bac0b4}.haptics-toggle{flex:none;min-width:79px;height:37px;border-radius:20px;border:1px solid #9a956d;color:#f3dfb7;background:#554335;font:700 11px system-ui,sans-serif;touch-action:manipulation}.haptics-toggle[aria-pressed=true]{background:#eee0ad;color:#2a281f}.haptics-demo{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;min-height:43px;width:100%;margin-top:9px;background:#28393a;border:1px dashed #b8a57b;border-radius:7px;color:#e9d6af;font:700 12px system-ui,sans-serif;touch-action:manipulation}.haptics-demo span{color:#dab579}.feel-panel .haptics-status{margin:6px 0;font:10px/1.45 system-ui,sans-serif;color:#c4c8bb}.feel-bottom{display:flex;gap:10px;align-items:center}.feel-bottom .design-done{margin:5px 0;flex:1;min-height:44px;white-space:normal}#feel-skip{border:1px solid #978e7e;color:#e2d6bd;background:none;border-radius:6px;padding:11px 14px;font:700 11px system-ui,sans-serif}.feel-panel .feel-credit{font-size:9px;opacity:.7;margin-bottom:0}.feel-credit a{color:#f2d0a0}@media(max-width:430px){.topbar{padding-left:8px;padding-right:8px}.top-right{gap:5px}.top-right .feel-open{padding:0 7px;font-size:10px}.brand{gap:5px;font-size:12px}.crest{width:27px;height:27px;font-size:15px}.top-right #chapter-top{display:none}.topbar .brand small{font-size:7px;letter-spacing:.08em}.top-right #sound{width:30px;height:30px;flex:none}.top-right .design-open{font-size:9px;padding:6px}.feel-panel{max-height:95dvh;padding:11px 13px 9px}.feel-panel .design-heading-row h2{font-size:17px}.feel-sample{min-height:43px;padding:5px 8px}.feel-sample-name{font-size:12px}}@media(max-height:680px){.feel-panel{padding:8px 10px;max-height:97dvh}.feel-panel>p{margin:3px 0 6px}.feel-samples{gap:4px}.feel-sample{min-height:38px}.feel-haptics{margin-top:6px;padding-top:6px}.haptics-demo{min-height:34px;margin-top:5px}}
