.site-footer{border-top:1px solid var(--line);width:min(1120px,100% - 32px);margin:32px auto 0;padding:16px 0 28px}.site-footer nav{flex-wrap:wrap;gap:8px 16px;font-size:.85rem;line-height:1.5;display:flex}.site-footer a,.info-page a{color:var(--forest);text-underline-offset:.2em}.site-footer [aria-current=page]{font-weight:750}.site-footer a:focus-visible,.info-page a:focus-visible{outline-offset:3px;outline:2px solid #9b481a}.info-page{line-height:1.7}.info-page .info-header,.info-page main,.info-page .site-footer{width:min(720px,100% - 40px);margin-inline:auto}.info-header{border-bottom:2px solid var(--ink);padding:12px 0}.info-brand{font-size:16px;font-weight:750;text-decoration:none}.info-page main{overflow-wrap:anywhere;padding:28px 0 40px}.info-page h1{margin:14px 0 18px;font-size:clamp(1.65rem,5vw,2.5rem);line-height:1.2}.info-page h2{margin:1.5em 0 .45em;font-size:1.2rem}.info-page p+p{margin-top:.8em}.info-page .site-footer{margin-top:0}@font-face{font-family:Noto Sans JP Marks;src:url(./noto-sans-jp-119-700-normal-BO0_haso.woff2)format("woff2");font-weight:700;font-display:swap;unicode-range:U+3078,U+30D8}:root{color:#202b21;font-synthesis:none;--ink:#202b21;--muted:#526052;--paper:#f6f3e9;--line:#cfcdbf;--forest:#183a2b;--accent:#f4c85f;--green:#267451;--mono:"Cascadia Mono", "SFMono-Regular", Consolas, monospace;background:#f6f3e9;font-family:Yu Gothic,Hiragino Kaku Gothic ProN,Meiryo,system-ui,sans-serif}*,:before,:after{box-sizing:border-box}body{min-width:280px;margin:0}button,input{font:inherit}button{color:inherit;cursor:pointer}button:focus-visible,input:focus-visible{outline-offset:3px;outline:2px solid #9b481a}label:has(input:focus-visible){outline-offset:3px;outline:2px solid #9b481a}button,a,label{-webkit-tap-highlight-color:transparent}input{accent-color:var(--forest)}p,h1,h2,dl,dd{margin:0}.mark{font-family:Noto Sans JP Marks,Yu Gothic,Hiragino Kaku Gothic ProN,sans-serif;font-weight:700;line-height:1}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.site-header{border-bottom:1px solid var(--line)}.header-inner{justify-content:space-between;align-items:center;gap:12px;width:min(1200px,100% - 80px);min-height:66px;margin:auto;display:flex}.site-brand{white-space:nowrap;font-size:16px;font-weight:750}nav{align-items:center;gap:clamp(10px,2.5vw,30px);display:flex}nav button{white-space:nowrap;background:0 0;border:0;padding:8px 0;font-size:13px;font-weight:700}nav button:hover{color:#286548}nav .sound-button{border:1px solid var(--line);border-radius:5px;padding:7px 9px;font-size:11px}.layout{grid-template-columns:minmax(290px,.87fr) minmax(0,1fr);align-items:center;gap:clamp(30px,6.6vw,96px);width:min(1120px,100% - 80px);margin:clamp(44px,7vh,95px) auto 48px;display:grid}.hero{border-top:3px solid var(--ink);padding-top:18px}.hero-heading{align-items:center;gap:clamp(10px,1.5vw,22px);margin-bottom:16px;display:flex}.hero-logo{flex:none;width:clamp(48px,7vw,108px);height:auto;display:block}.hero h1{flex-direction:column;align-items:flex-start;font-weight:900;display:flex}.wordmark{letter-spacing:-.105em;white-space:nowrap;font-size:clamp(48px,6.3vw,90px);line-height:1.16}.wordmark .mark{font-size:1.1em}.wordmark-hiragana{color:#13422e}.wordmark-katakana{color:#fff5db;-webkit-text-stroke:max(1px, .045em) var(--forest);paint-order:stroke fill}.game-name{letter-spacing:.06em;margin-top:3px;font-size:clamp(32px,4vw,57px);line-height:1.02}.hero p{color:var(--muted);font-size:clamp(12px,1.2vw,15px);font-weight:650;line-height:1.8}.setup-options{gap:17px;margin:25px 0 22px;display:grid}fieldset{border:0;min-width:0;margin:0;padding:0}legend{margin-bottom:8px;padding:0;font-size:13px;font-weight:750}.mode-options,.time-options{gap:6px;display:grid}.mode-options{grid-template-columns:repeat(3,minmax(0,1fr))}.time-options{grid-template-columns:repeat(4,minmax(0,1fr))}.mode-option,.time-option{border:1px solid var(--line);cursor:pointer;background:#fcfaf3;border-radius:6px;place-items:center;min-height:40px;display:grid}.mode-option{min-height:59px}:is(.mode-option:has(:checked),.time-option:has(:checked)){background:#e0eadb;border-color:#335a3d;box-shadow:inset 0 0 0 1px #335a3d}.mode-option input,.time-option input{opacity:0;width:1px;height:1px;position:absolute}.mode-copy{text-align:center;gap:3px;display:grid}.mode-copy strong,.time-option span{font-size:13px;font-weight:750}.mode-copy small{color:var(--muted);font-size:11px;font-weight:650}.display-options{gap:9px;display:grid}.display-option{cursor:pointer;align-items:center;gap:8px;font-size:13px;font-weight:650;display:flex}.display-option input,.audio-controls input[type=checkbox]{width:17px;height:17px;margin:0}.start-actions,.result-actions,.dialog-actions{gap:9px;display:grid}.primary,.secondary{border:1px solid var(--forest);background:#fcfaf3;border-radius:6px;width:100%;min-height:45px;padding:9px 14px;font-size:13px;font-weight:800}.primary{background:var(--accent);min-height:55px;box-shadow:0 3px 0 var(--forest);justify-content:space-between;align-items:center;padding-inline:17px;font-size:16px;display:flex}.primary:hover{background:#ffda77}.primary:active{box-shadow:none;transform:translateY(3px)}.primary span{font:23px/1 var(--mono)}.secondary:hover{background:#e8eddf}.board-panel{min-width:0;position:relative}.board-heading,.board-foot{color:var(--forest);font:750 12px/1.4 var(--mono);letter-spacing:.09em;justify-content:space-between;align-items:center;display:flex}.board-heading{margin-bottom:11px}.preview-board .board-heading{background:#ebe9dc;border:1px solid #dedaca;border-radius:6px;min-height:42px;padding:4px 15px}.preview-board .board-heading span{letter-spacing:0;align-items:center;gap:8px;display:flex}.preview-board .board-heading .mark{color:var(--forest);font-size:25px}.preview-board .board-heading b{color:var(--muted);font-size:10px}.board-foot{color:var(--muted);margin-top:14px}.board-frame{--rail:clamp(17px, 3vw, 35px);--rim:clamp(12px, 2vw, 23px);background:var(--forest);padding:var(--rail) var(--rim) var(--rim) var(--rail);border:1px solid #18382b;border-radius:12px;position:relative;box-shadow:0 6px #102a20,0 14px 26px #18392a1b;container-type:inline-size}.board-surface{position:relative}.board{aspect-ratio:1;background:#174632;border:1px solid #0d3022;border-radius:3px;grid-template-rows:repeat(8,minmax(0,1fr));grid-template-columns:repeat(8,minmax(0,1fr));gap:1px;width:100%;display:grid}.coordinates{color:#d3ddc9;font:650 clamp(9px, 1.05vw, 12px)/1 var(--mono);display:grid;position:absolute}.coordinates span{place-items:center;display:grid}.cols{height:var(--rail);top:0;left:var(--rail);right:var(--rim);grid-template-columns:repeat(8,1fr)}.rows{width:var(--rail);left:0;top:var(--rail);bottom:var(--rim);grid-template-rows:repeat(8,1fr)}.frame-corner{color:var(--accent);font-size:clamp(8px,1.15vw,13px);position:absolute;top:4px;left:5px}.cell{background:var(--green);color:#fff5db;-webkit-user-select:none;user-select:none;border:0;place-items:center;min-width:0;min-height:0;padding:0;font-size:8.5cqi;line-height:1;display:grid;position:relative}.cell>span{place-items:center;display:grid}.mark.first-side-color{color:#092217}.cell[aria-disabled=true]{cursor:default}@media (hover:hover) and (pointer:fine){.cell:not([aria-disabled=true]):is(button):hover{background:#328361}}.cell:focus-visible{z-index:2;outline:2px solid var(--accent);outline-offset:-3px}.legal-dot{aspect-ratio:1;opacity:.82;background:#c9d5a7;border-radius:50%;width:17%}.flip{animation:bounce .3s var(--delay) both ease-in-out;display:grid}.flip-before,.flip-after{grid-area:1/1}.flip-before{animation:old-mark .3s var(--delay) steps(1, end) both}.flip-after{animation:new-mark .3s var(--delay) steps(1, end) both}@keyframes bounce{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-17%)scale(1.2)}}@keyframes old-mark{0%{visibility:visible}50%,to{visibility:hidden}}@keyframes new-mark{0%{visibility:hidden}50%,to{visibility:visible}}.counted-mark{animation:count-in var(--duration) var(--delay) both ease-out}@keyframes count-in{0%{opacity:0;transform:scale(.45)}to{opacity:1;transform:scale(1)}}.match{width:min(1400px,100% - 56px);margin:clamp(24px,5vh,70px) auto 38px}.player-card{border:1px solid var(--line);background:#fcfaf3;border-radius:7px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:10px;display:grid}.player-card.current{background:#e0eadb;border-color:#335a3d;box-shadow:inset 0 0 0 1px #335a3d}.player-glyph{background:var(--green);color:#fff5db;border-radius:4px;place-items:center;width:47px;height:47px;font-size:35px;display:grid}.player-card strong{font-size:14px}.player-card small{color:var(--muted);white-space:nowrap;margin-top:3px;font-size:11px;display:block}.player-card .score{font:750 24px/1 var(--mono);padding-right:4px}.player-card-aside{align-items:center;gap:12px;display:flex}.cpu-thinking{color:var(--forest);white-space:nowrap;align-items:center;gap:6px;font-size:12px;font-weight:750;line-height:1.25;display:inline-flex}.cpu-spinner{border:2px solid #a5b8a6;border-top-color:currentColor;border-radius:50%;width:12px;height:12px;animation:1.8s linear infinite cpu-spin}@keyframes cpu-spin{to{transform:rotate(360deg)}}.timer{justify-content:space-between;align-items:center;gap:10px;font-size:13px;font-weight:700;display:flex}.timer strong{font:750 25px/1 var(--mono)}.timer small{font:700 12px/1 sans-serif}.urgent{color:#9a3327}.turn-notice{color:var(--muted);font-size:12px;font-weight:700}.turn-notice:empty{display:none}.match-board{grid-template-columns:minmax(0,1fr) min(650px,46vw,max(320px,100dvh - 200px)) minmax(0,1fr);grid-template-areas:"cpu board player"".actions.";gap:22px 14px;display:grid}.match-cpu{grid-area:cpu;align-self:start;container-type:inline-size}.match-player{grid-area:player;align-self:end}.match-actions{grid-area:actions;justify-self:center;gap:12px;width:min(100%,460px);display:grid}.match-tools{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.match-tools>button{padding-inline:4px}.match-review{text-align:center;gap:12px;display:grid}.match-review h1{font-size:clamp(22px,4vw,30px)}.magnifier-toggle{justify-content:center;align-items:center;gap:8px;display:flex}.match-tools [aria-pressed=true]{background:var(--forest);color:#fff5db;border-color:var(--forest)}.magnifier-icon{border:2px solid;border-radius:50%;width:15px;height:15px;position:relative}.magnifier-icon:after{content:"";transform-origin:0;background:currentColor;width:7px;height:2px;position:absolute;top:10px;left:10px;transform:rotate(45deg)}.magnifier-surface{z-index:3;position:absolute;inset:0}.magnifier-lens{--lens-size:clamp(96px, 28cqi, 150px);left:var(--sample-x);top:var(--sample-y);width:var(--lens-size);aspect-ratio:1;pointer-events:none;position:absolute;transform:translate(-50%,-50%)}.magnifier-window{background:var(--forest);border-radius:50%;outline:2px solid #f6f3e9;position:absolute;inset:0;overflow:hidden;box-shadow:0 3px 14px #102a2080}.magnifier-board{width:100cqi;transform:scale(2) translate(calc(0% - var(--sample-x)), calc(0% - var(--sample-y)));transform-origin:0 0;position:absolute;top:50%;left:50%}.magnifier-handle{background:var(--forest);pointer-events:auto;touch-action:none;cursor:grab;border:1px solid #f6f3e9;border-radius:4px;width:6px;height:21px;position:absolute;top:calc(100% - 2px);left:calc(50% - 3px)}.magnifier-handle:before{content:"";position:absolute;inset:-21px -29px}.magnifier-handle:active{cursor:grabbing}body:has(.magnifier-surface){overflow-x:clip}.match-board-stage{grid-area:board;min-width:0;position:relative}dialog{border:1px solid var(--forest);width:min(440px,100% - 28px);max-height:calc(100% - 32px);color:var(--ink);background:var(--paper);border-radius:10px;padding:0;box-shadow:0 20px 70px #102a2050}dialog::backdrop{background:#152a22a3}.match-board-stage:has(.result-dialog[open]):after{content:"";pointer-events:none;background:#102a2066;border-radius:12px;animation:.18s ease-out both result-fade-in;position:absolute;inset:0}.result-dialog{text-align:center;width:min(360px,100% - 24px);max-height:calc(100% - 24px);margin:0;padding:clamp(14px,4vmin,26px);position:fixed;inset:0 auto auto 0}.result-dialog[open]{animation:.18s ease-out both result-fade-in}.result-dialog::backdrop{background:0 0}.result-dialog h2{color:var(--forest);font-size:clamp(26px,7vw,38px);line-height:1.2}.result-dialog[data-outcome=lose] h2{color:#8a402d}.result-score{font-variant-numeric:tabular-nums;grid-template-columns:1fr auto 1fr;align-items:center;gap:4px;margin:10px 0 18px;font-size:clamp(13px,3.6vw,16px);font-weight:750;display:grid}.result-dialog-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.result-dialog-actions .primary{grid-column:1/-1;justify-content:center;min-height:45px}.result-dialog-actions .secondary{padding-inline:4px}.result-share{border-top:1px solid var(--line);margin-top:16px;padding-top:14px}.result-share-buttons{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;display:grid}.result-share-buttons .secondary{min-height:44px;color:var(--forest);white-space:nowrap;place-items:center;padding:5px 2px;font-size:11px;text-decoration:none;display:grid}.result-share-buttons :disabled{opacity:.65;cursor:wait}.result-share a:focus-visible,.share-link:focus-visible{outline-offset:3px;outline:2px solid #9b481a}.share-feedback{color:var(--muted);margin-top:8px;font-size:12px}.share-feedback:empty{margin-top:0}.share-link{border:1px solid var(--line);width:100%;color:var(--ink);border-radius:4px;margin-top:8px;padding:6px;font-size:12px}.share-image-actions{flex-wrap:wrap;justify-content:center;gap:8px 16px;margin-top:8px;display:flex}.share-image-actions a{color:var(--forest);font-size:12px;font-weight:700}.result-sparkles{pointer-events:none;color:#a77516;position:absolute;inset:0}.result-sparkles span{font-size:20px;line-height:1;animation:.76s ease-out .12s both result-sparkle;position:absolute;top:28px;left:7%}.result-sparkles span:nth-child(2){font-size:13px;top:13px;left:14%}.result-sparkles span:nth-child(3){left:auto;right:7%}.result-sparkles span:nth-child(4){font-size:13px;top:13px;left:auto;right:14%}@keyframes result-fade-in{0%{opacity:0}to{opacity:1}}@keyframes result-sparkle{0%{opacity:0;transform:scale(.45)}32%{opacity:1;transform:scale(1.12)}to{opacity:0;transform:translateY(-8px)scale(.85)}}.dialog-inner{padding:20px}.dialog-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;display:flex}.dialog-head h2{font-size:20px}.icon-button{border:1px solid var(--line);background:#fcfaf3;border-radius:5px;flex:0 0 36px;height:36px;font-size:21px}.rules,.confirm-copy{font-size:14px;line-height:1.8}.rules ol{padding-left:24px}.confirm-copy{margin-bottom:15px}.stats-tabs{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.stats-tabs button{border:1px solid var(--line);background:#fcfaf3;border-radius:5px;min-height:38px;padding:4px;font-size:12px;font-weight:700}.stats-tabs button[aria-pressed=true]{background:#e0eadb;border-color:#335a3d}.stats-grid{grid-template-columns:repeat(2,1fr);gap:6px;margin-top:14px;display:grid}.stats-grid div{border:1px solid var(--line);background:#fcfaf3;border-radius:5px;padding:12px}.stats-grid dt{color:var(--muted);font-size:12px}.stats-grid dd{font:750 21px/1.5 var(--mono)}.audio-controls{gap:15px;display:grid}.audio-controls label{align-items:center;gap:8px;font-size:14px;font-weight:700;display:flex}.audio-controls .volume-label{grid-template-columns:1fr auto;display:grid}.volume-label input{grid-column:span 2;width:100%}.system-notice{color:#8f3d24;width:min(1120px,100% - 32px);margin:0 auto 24px;font-size:13px}@media (width>=800px) and (height<=820px){.layout{margin-top:39px}.board-panel{justify-self:center;width:100%;max-width:min(100%,100vh - 160px)}.match{margin-top:24px}}@media (width>=800px){@container (width<=330px){.match-cpu .player-card{padding-bottom:29px;position:relative}.match-cpu .cpu-thinking{position:absolute;bottom:7px;right:10px}}}@media (width<=799px){.header-inner,.layout{width:min(540px,100% - 32px)}.header-inner{flex-wrap:wrap;gap:4px 12px;min-height:56px}.layout{grid-template-columns:minmax(0,1fr);gap:28px;margin:26px auto 35px}.wordmark{font-size:clamp(48px,12vw,75px)}.game-name{font-size:clamp(34px,8vw,53px)}.setup-options{gap:12px;margin:17px 0}.match{width:min(540px,100% - 32px);margin:16px auto 35px}.match-board{grid-template-columns:minmax(0,1fr);grid-template-areas:"cpu""board""player""actions";gap:12px}.match-actions{width:100%;margin-top:4px}.player-card{gap:9px;padding:9px}.player-glyph{width:42px;height:42px;font-size:31px}.player-card .score{font-size:20px}.timer strong{font-size:21px}}@media (width<=360px){.header-inner{gap:4px 8px;padding-block:7px}.site-brand{font-size:14px}nav{gap:8px}nav button{font-size:11px}nav .sound-button{padding-inline:5px}.player-card-aside{flex-direction:column;align-items:flex-end;gap:2px}.cpu-thinking{font-size:11px}.result-share-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}.match-tools>button{font-size:12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{animation-duration:.01ms!important;animation-delay:0s!important}.result-sparkles{display:none}.cpu-spinner{animation:none}}
