@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&display=swap');
:root{font-family:'Noto Sans JP',sans-serif;color:#173d32;background:#f3f5f1;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,label:has(input:focus-visible){outline:3px solid #d99d36;outline-offset:4px}button{transition:background .15s,transform .15s}button:active{transform:translateY(1px)}[hidden]{display:none!important}header,main,footer{max-width:1160px;margin:auto}header{height:100px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d6ded7}.brand{font-size:17px;font-weight:700;letter-spacing:.16em;text-decoration:none;color:inherit;display:flex;align-items:center;gap:12px}.brand-mark{font-size:36px;line-height:1}.text-button{border:0;background:transparent;color:#315a4c;padding:10px;font-size:14px}.text-button span{border:1px solid #7d978a;border-radius:50%;padding:0 6px;margin-left:8px}.heading{display:flex;justify-content:space-between;align-items:center;padding:42px 0 30px}.eyebrow{font-size:12px;letter-spacing:.18em;font-weight:700;color:#638072;margin:0 0 12px}h1{font-size:38px;letter-spacing:.08em;margin:0;font-weight:600}h1 span{display:inline-block;font-size:14px;font-weight:400;letter-spacing:.04em;margin-left:26px;color:#638072}.edition{text-align:right;font-size:12px;line-height:1.8;letter-spacing:.12em;color:#638072}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:48px;align-items:start}.play-area{min-width:0}.board-top{display:flex;justify-content:space-between;font-size:13px;letter-spacing:.08em;margin:0 0 14px;padding:0 4px}.board-top span:last-child{color:#6a8478;font-size:12px}.board-frame{background:#104b3b;border-radius:12px;padding:12px 22px 24px 8px;box-shadow:0 14px 30px #123a3220,inset 0 1px 0 #ffffff22}.coordinates{display:grid;grid-template-columns:repeat(8,1fr);margin-left:24px;height:24px}.coordinates span,.row-labels span{display:flex;align-items:center;justify-content:center;font-size:12px;color:#a3c0b0}.board-row{display:flex}.row-labels{width:24px;flex-shrink:0;display:grid;grid-template-rows:repeat(8,1fr)}#board{display:grid;grid-template-columns:repeat(8,1fr);width:100%;aspect-ratio:1;border:1px solid #0b3b30;background:#0b3b30;gap:1px}.cell{position:relative;display:flex;justify-content:center;align-items:center;border:0;padding:0;background:#207654;min-width:0;aspect-ratio:1}.cell:nth-child(16n+2),.cell:nth-child(16n+4),.cell:nth-child(16n+6),.cell:nth-child(16n+8),.cell:nth-child(16n+9),.cell:nth-child(16n+11),.cell:nth-child(16n+13),.cell:nth-child(16n+15){background:#227b58}.cell.legal:hover{background:#32956a}.cell:focus-visible{outline:3px solid #ffd784;outline-offset:-4px;z-index:1}.disc{display:block;border-radius:50%;width:76%;height:76%;box-shadow:0 3px 4px #0005,inset 0 1px 2px #ffffff35}.black{background:radial-gradient(circle at 35% 25%,#424845,#151b19 65%,#101613)}.white{background:radial-gradient(circle at 35% 25%,#fff,#e5e9e2 75%,#c6d0c6)}.cell.changed .disc{animation:place .24s ease-out}.cell.last:after{content:'';width:8px;height:8px;border-radius:50%;background:#d7a34f;position:absolute}.cell.legal:before,.hint-dot{content:'';display:inline-block;width:9px;height:9px;background:#a3c4a0;border-radius:50%}.board-caption{display:flex;justify-content:space-between;gap:10px;color:#6a8276;font-size:12px;margin:18px 3px}.hint-dot{width:7px;height:7px;margin-right:8px;background:#65a680}.panel{background:#fff;border:1px solid #dbe3dc;border-radius:14px;padding:28px;box-shadow:0 8px 24px #24493405}h2{font-size:25px;margin:0 0 26px;font-weight:600}fieldset{border:0;padding:0;margin:0 0 24px;min-width:0}legend{font-size:14px;margin-bottom:12px}.choices{display:grid;grid-template-columns:1fr 1fr;gap:10px}.choices label{position:relative;cursor:pointer}.choices input{position:absolute;opacity:0;width:1px;height:1px}.choices label>span{display:block;padding:14px 10px;border:1px solid #dde3dc;border-radius:8px;font-size:14px;text-align:center}.choices input:checked+span{border-color:#1b644a;background:#edf5ef;box-shadow:inset 0 0 0 1px #1b644a}.choices small{display:block;font-size:12px;margin-top:6px;color:#718377}.colors small{display:inline;margin-left:5px}.primary,.secondary{width:100%;border-radius:7px;padding:14px 16px;font-size:14px;font-weight:600}.primary{background:#175f45;color:white;border:1px solid #175f45;display:flex;justify-content:space-between;align-items:center;gap:12px}.primary:hover{background:#0e4934}.secondary{color:#315747;background:white;border:1px solid #d4dfd6;margin-top:12px}.quiet{font-size:12px;color:#748478;line-height:1.9;margin-bottom:0}.note{padding:26px 5px;color:#6c8274}.note>span{font-size:12px;font-weight:600;letter-spacing:.1em}.note p{font-size:14px;line-height:1.9;margin-bottom:0}.scores{display:grid;gap:10px}.scores>div{display:flex;align-items:center;gap:12px;padding:13px;border-radius:8px;background:#f4f6f2;border:1px solid transparent}.scores>div.active{border-color:#81a18c;background:#eff5ee}.scores .disc{width:34px;height:34px;flex-shrink:0}.scores span{font-size:14px}.scores small{display:block;color:#708176;font-size:12px}.scores strong{margin-left:auto;font-size:28px;font-weight:500;font-variant-numeric:tabular-nums}#status{min-height:48px;line-height:1.8;font-size:14px}#result-detail{font-size:14px}.back{display:block;margin:10px auto 0}footer{display:flex;justify-content:space-between;border-top:1px solid #d6ded7;margin-top:42px;padding:22px 0 30px;font-size:12px;color:#788a7c;letter-spacing:.06em}dialog{border:1px solid #dbe3dc;border-radius:14px;color:#173d32;padding:28px;max-width:540px;width:calc(100% - 32px);max-height:85vh;overflow:auto}dialog::backdrop{background:#071e17a6;backdrop-filter:blur(3px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.dialog-top p{margin:0}dialog p,dialog li{font-size:16px;line-height:1.9}dialog li{padding-left:3px;margin-bottom:12px}dialog ol{padding-left:24px}.dialog-actions{display:flex;gap:12px}.dialog-actions button{margin:0}@keyframes place{from{transform:scale(.75)}to{transform:scale(1)}}@media(max-width:1230px){header,main,footer{margin-left:32px;margin-right:32px}}@media(max-width:800px){header{height:76px}.game-layout{grid-template-columns:minmax(0,1fr);gap:22px;max-width:580px;margin:auto}.heading{padding:28px 0 24px}h1{font-size:30px}h1 span{display:block;margin:7px 0 0;font-size:13px}.edition{display:none}aside{display:grid;grid-template-columns:1fr}.panel{padding:24px}.note{padding:18px 4px}.note p br{display:none}footer{margin-top:20px}.board-frame{padding-right:15px;padding-bottom:17px}}@media(max-width:440px){header,main,footer{margin-left:18px;margin-right:18px}.brand{font-size:14px}.board-frame{padding:7px 10px 12px 3px}.board-top{font-size:12px}.panel{padding:20px}footer{gap:16px;font-size:11px}.board-caption{font-size:12px}.cell.last:after{width:6px;height:6px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.online-choice{grid-column:1/-1}.online-choice small{display:inline;margin-left:8px}.online-panel{margin-bottom:18px}.online-panel h2{font-size:23px;margin-bottom:18px}.online-panel p:not(.quiet){font-size:14px;line-height:1.9}.invite-row{display:flex;gap:7px;margin:8px 0}.invite-row input{width:0;min-width:0;flex:1;padding:10px;border:1px solid #d4dfd6;border-radius:6px;font-size:14px;color:#315747;background:#f4f7f3}.invite-row button{width:auto;margin:0;padding:10px}#invite-box label{font-size:14px}.participants{margin:18px 0}.participants>div{display:flex;justify-content:space-between;gap:8px;border-top:1px solid #e2e9e2;padding:13px 0;font-size:14px}.participants strong{font-size:12px;color:#64816f;white-space:nowrap}.online-error{color:#a53424;font-size:14px;line-height:1.8}.online-error:empty{display:none}button:disabled{opacity:.55;cursor:wait}#online-main{justify-content:center}#online-panel:has(+ #setup[hidden]){scroll-margin-top:16px}@media(max-width:800px){.game-layout:has(#setup:not([hidden])) aside{grid-row:1}.game-layout:has(#online-panel:not([hidden])) aside{grid-row:1}.game-layout:has(#playing:not([hidden])) aside{grid-row:auto}.game-layout:has(#playing:not([hidden])) .online-panel{padding:18px}.game-layout:has(#playing:not([hidden])) #resume-help{display:none}}
.chat-panel{margin-top:18px}.chat-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:16px}.chat-heading h2{font-size:20px;margin:0}.chat-heading>span,.chat-meta{font-size:12px;color:#708176}.chat-log{max-height:260px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.chat-log:empty{display:none}.chat-entry{margin-bottom:14px;max-width:92%}.chat-entry.mine{margin-left:auto;text-align:right}.chat-entry p{font-size:14px;line-height:1.8;padding:10px 12px;margin:4px 0 0;background:#f0f3ef;border-radius:10px;text-align:left;white-space:pre-wrap;overflow-wrap:anywhere}.chat-entry.mine p{background:#e4f1e8}.chat-panel label{font-size:14px;display:block;margin:16px 0 8px}.chat-panel textarea{font:inherit;font-size:16px;width:100%;resize:vertical;min-height:72px;max-height:160px;padding:10px;border:1px solid #b7ccbd;border-radius:7px;color:#173d32;background:#fff}.chat-panel textarea:focus-visible{outline:2px solid #175f45}.chat-compose-footer{display:flex;align-items:center;justify-content:space-between;margin-top:8px}.chat-compose-footer span{font-size:12px;color:#708176}.chat-compose-footer button{width:auto;padding:10px 22px}.chat-log:focus-visible{outline:2px solid #175f45;outline-offset:3px}
