/* Dedicated Reversi surface. All rules are isolated from other GAMEX games. */
.gx-reversi{--rv-mint:#8cf5ce;--rv-gold:#f5d487;--rv-edge:#4b6c65;box-sizing:border-box;isolation:isolate;position:relative;max-width:720px;margin:28px auto 36px;padding:22px 26px 17px;border:1px solid #425b56;border-radius:18px;background:radial-gradient(ellipse at 15% 0%,#183d35 0%,transparent 52%),linear-gradient(145deg,#111e21,#0b1117 80%);box-shadow:0 18px 46px #0615142e,inset 0 1px #9bcbb529;color:#eef8f5;font-family:system-ui,-apple-system,"Noto Sans JP",sans-serif;line-height:1.5;letter-spacing:0;overflow:hidden;container-type:inline-size}
.gx-reversi *,.gx-reversi *:before,.gx-reversi *:after{box-sizing:border-box;letter-spacing:0}.gx-reversi [hidden]{display:none!important}.gx-reversi button,.gx-reversi select{font:inherit;letter-spacing:0;text-transform:none;margin:0;float:none;touch-action:manipulation}.gx-reversi button{cursor:pointer}.gx-reversi button:disabled{opacity:.38;cursor:default}.gx-reversi button:focus-visible,.gx-reversi select:focus-visible,.gx-reversi a:focus-visible{outline:3px solid #ffe4a3;outline-offset:3px}.gx-reversi button:hover:not(:disabled){filter:brightness(1.13)}
.gx-reversi .rv-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 17px;padding:0;border:0}.gx-reversi .rv-header .rv-title{font-size:27px!important;line-height:1.2!important;font-weight:800!important;letter-spacing:.08em!important;color:#f4fffc!important;margin:0!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important}.gx-reversi .rv-title:before,.gx-reversi .rv-title:after,.gx-reversi .rv-panel-title:before,.gx-reversi .rv-panel-title:after{display:none!important}.gx-reversi .rv-tag{color:#ace1ce;font-size:11px;letter-spacing:.1em;padding:5px 9px;border:1px solid #416759;border-radius:5px;background:#a2f5cd08}
.gx-reversi .rv-toolbar{display:flex;align-items:flex-end;gap:8px;padding:0 0 17px;border-bottom:1px solid #aac7b529}.gx-reversi .rv-level-label{font-size:10px;color:#adc4bc;display:flex;flex-direction:column;gap:4px;margin:0;flex:1;min-width:0}.gx-reversi .rv-level{color:#fff;background:#152c2b;border:1px solid #577e6d;border-radius:7px;padding:9px 26px 9px 12px;min-height:43px;min-width:0;width:100%;font-size:14px;font-weight:700;color-scheme:dark}.gx-reversi .rv-level:disabled{opacity:.78}.gx-reversi .rv-button{border:1px solid #5b706c;color:#e8f8f2;background:linear-gradient(#253d38,#192b2a);border-radius:7px;padding:10px 14px;min-height:43px;font-size:13px;line-height:1.4;font-weight:700;box-shadow:inset 0 1px #ffffff0b;display:inline-flex;align-items:center;justify-content:center;gap:6px;text-decoration:none}.gx-reversi .rv-primary{background:linear-gradient(155deg,#d6f7b9,#8cdbb0);color:#102c20;border-color:#c5f2b9;box-shadow:0 3px 14px #9fe9aa18,inset 0 1px #f8ffeb;min-width:98px}.gx-reversi .rv-icon{width:43px;flex:0 0 43px;padding:8px;font-size:21px;line-height:1}.gx-reversi .rv-icon[data-muted=true]{color:#a0b5ae}
.gx-reversi .rv-scoreboard{display:grid;grid-template-columns:1fr 36px 1fr;align-items:center;padding:16px 0 12px;gap:8px}.gx-reversi .rv-player{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;padding:8px 11px;border:1px solid transparent;border-radius:10px;transition:background .2s,border-color .2s}.gx-reversi .rv-player.rv-active{border-color:#9aebc374;background:linear-gradient(110deg,#96ebc315,#96ebc302);box-shadow:inset 0 0 20px #9feabb08}.gx-reversi .rv-player-name{font-size:13px;font-weight:700;color:#c4d9d1}.gx-reversi .rv-score{font-size:37px;line-height:1.05;font-weight:750;color:#f2fff8;font-variant-numeric:tabular-nums}.gx-reversi .rv-versus{text-align:center;color:#8ba69b;font-size:10px;letter-spacing:.14em}.gx-reversi .rv-chip{display:inline-block;position:relative;width:30px;height:30px;border-radius:50%;background:radial-gradient(circle at 34% 23%,#5f6b76 0,#29313c 30%,#0e141e 67%,#03050a 100%);border:1px solid #7b8a90;box-shadow:0 2px 3px #000a,inset 0 1px #c5d2db55;flex-shrink:0}.gx-reversi .rv-chip.white{background:radial-gradient(circle at 34% 23%,#fff 0,#f5f7f4 39%,#d3dfd9 76%,#9daea5 100%);border-color:#fff;box-shadow:0 2px 4px #0009,inset 0 -2px #718b8066}.gx-reversi .rv-balance{height:3px;display:flex;gap:3px;border-radius:4px;overflow:hidden;margin:0 8px}.gx-reversi .rv-balance-black{background:#6b8f81;transition:width .45s}.gx-reversi .rv-balance-white{background:#e1efe7}.gx-reversi .rv-info{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:13px auto 12px;max-width:548px;min-height:24px}.gx-reversi .rv-turn{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:650;color:#d9f3e6}.gx-reversi .rv-turn:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--rv-mint);box-shadow:0 0 9px #8cf5ce55}.gx-reversi[data-phase=cpu] .rv-turn:before{animation:rv-breathe 1s ease-in-out infinite;background:#f5d487}.gx-reversi .rv-time{font-size:12px;color:#b5cec4;font-variant-numeric:tabular-nums;letter-spacing:.1em}
.gx-reversi .rv-arena{position:relative;max-width:548px;margin:0 auto;aspect-ratio:1;user-select:none;-webkit-user-select:none}.gx-reversi .rv-frame{position:relative;width:100%;height:100%;padding:23px 13px 13px 23px;border-radius:12px;border:1px solid #9aae9266;background:linear-gradient(140deg,#667164 0,#313e34 6%,#18241e 32%,#3b4637 67%,#222e26 91%,#899079 100%);box-shadow:0 15px 23px #0007,inset 0 1px 1px #e2e9c960,inset 0 -1px 2px #0a120bf5}.gx-reversi .rv-columns{position:absolute;left:23px;right:13px;top:3px;display:grid;grid-template-columns:repeat(8,1fr)}.gx-reversi .rv-rows{position:absolute;top:23px;bottom:13px;left:3px;width:17px;display:grid;grid-template-rows:repeat(8,1fr);align-items:center}.gx-reversi .rv-columns span,.gx-reversi .rv-rows span{font-size:10px;line-height:16px;text-align:center;color:#d7dbbe;font-weight:600}
.gx-reversi .rv-board{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-template-rows:repeat(8,minmax(0,1fr));width:100%;height:100%;gap:1px;padding:1px;background:#0e302a;border:1px solid #93bc9766;box-shadow:0 0 0 3px #040f0bb0,inset 0 0 20px #0008;overflow:visible}.gx-reversi .rv-button.rv-cell{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:0;min-width:0;padding:0;border:0;border-radius:0;background:linear-gradient(150deg,#31695a,#275849);box-shadow:inset 0 1px #b9ecd208;font-size:0;isolation:isolate;transition:background .15s}.gx-reversi .rv-cell:nth-child(16n+2),.gx-reversi .rv-cell:nth-child(16n+4),.gx-reversi .rv-cell:nth-child(16n+6),.gx-reversi .rv-cell:nth-child(16n+8),.gx-reversi .rv-cell:nth-child(16n+9),.gx-reversi .rv-cell:nth-child(16n+11),.gx-reversi .rv-cell:nth-child(16n+13),.gx-reversi .rv-cell:nth-child(16n+15){background:linear-gradient(150deg,#2e6555,#235443)}
.gx-reversi .rv-cell[aria-disabled=true]{cursor:default}.gx-reversi .rv-cell:hover:not(.rv-legal){filter:none}.gx-reversi .rv-cell.rv-legal{cursor:pointer}.gx-reversi .rv-cell.rv-legal:before{content:"";width:17%;height:17%;border:1px solid #ceffe9;background:#9aeac6cc;border-radius:50%;box-shadow:0 0 9px #c2ffc728;transition:transform .15s}.gx-reversi .rv-cell.rv-legal:hover{background:#417e67;filter:none}.gx-reversi .rv-cell.rv-legal:hover:before{transform:scale(1.25)}.gx-reversi .rv-cell.rv-last:after{content:"";position:absolute;inset:4%;border:2px solid #f5d487d9;border-radius:3px;pointer-events:none;box-shadow:inset 0 0 7px #ffdf7526}.gx-reversi .rv-cell.rv-last .rv-disc:after{content:"";position:absolute;z-index:2;width:9%;height:9%;border-radius:50%;background:#d7a347;border:1px solid #ffe9a9;top:45%;left:45%}.gx-reversi .rv-cell.rv-hint{outline:3px solid var(--rv-gold);outline-offset:-3px;background:#4d7052}.gx-reversi .rv-cell.rv-preview .rv-disc{filter:drop-shadow(0 0 4px #f3d981);outline:2px solid #f4dfa7;outline-offset:1px}.gx-reversi .rv-cell:focus-visible{z-index:4;outline-offset:-3px;outline-width:3px}
.gx-reversi .rv-disc{position:relative;display:block;width:80%;height:80%;border-radius:50%;transform-style:preserve-3d;will-change:auto;pointer-events:none;filter:drop-shadow(0 3px 2px #03140c9c)}.gx-reversi .rv-face,.gx-reversi .rv-back{position:absolute;inset:0;display:block;border-radius:50%;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:radial-gradient(ellipse at 33% 20%,#6b7886 0%,#343f4c 18%,#141e2b 46%,#080e16 74%,#020508 100%);border:1px solid #74828a;box-shadow:inset 0 1px 1px #c2d2e572,inset 0 -2px 1px #000b}.gx-reversi .rv-face:before,.gx-reversi .rv-back:before{content:"";position:absolute;inset:9%;border-radius:50%;border:1px solid #bccada12;border-top-color:#c7daed42}.gx-reversi .rv-disc.white .rv-face,.gx-reversi .rv-back.white{background:radial-gradient(ellipse at 33% 20%,#fff 0%,#fff 24%,#edf5f0 50%,#c5d6cc 82%,#8baba0 100%);border-color:#f0fff5;box-shadow:inset 0 1px 2px #fff,inset 0 -2px 1px #7f9e9377}.gx-reversi .rv-disc.white .rv-face:before,.gx-reversi .rv-back.white:before{border-color:#6f918615;border-top-color:#ffffffce}.gx-reversi .rv-back{transform:rotateY(180deg)}.gx-reversi .rv-flip{animation:rv-flip .30s cubic-bezier(.22,.7,.22,1) both}.gx-reversi .rv-place{animation:rv-place .3s cubic-bezier(.2,.65,.25,1) both}
.gx-reversi .rv-status{font-size:12px;color:#c4ded2;min-height:40px;padding:12px 2px 8px!important;margin:0!important;line-height:1.6}.gx-reversi .rv-actions{display:flex;gap:8px;flex-wrap:wrap}.gx-reversi .rv-actions .rv-button{min-height:40px;padding:8px 15px;font-size:12px;background:#18302b}.gx-reversi .rv-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px solid #9eccc01c;font-size:10px;color:#a8c2b7}.gx-reversi .rv-note{color:#c3d8ce}.gx-reversi[data-phase=paused] .rv-board{filter:blur(8px);opacity:.35}
.gx-reversi .rv-overlay{position:absolute;z-index:10;inset:0;background:#06150fc2;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:20px;border-radius:12px;animation:rv-overlay .3s ease-out}.gx-reversi .rv-panel{width:100%;max-width:380px;max-height:100%;overflow:auto;overscroll-behavior:contain;position:relative;text-align:center;padding:25px 20px 17px;border:1px solid #9ccaab8f;border-radius:12px;background:radial-gradient(ellipse at 50% 0,#2e5942,#122b24 75%);box-shadow:0 12px 38px #0007,inset 0 1px #d7ffd94a;color:#fff}.gx-reversi .rv-panel[data-outcome=win]{border-color:#eacf91;background:radial-gradient(ellipse at 50% 0,#495138,#173028 80%);box-shadow:0 0 38px #ecc36e26,inset 0 1px #ffe7aa77}.gx-reversi .rv-panel .rv-panel-title{font-size:29px!important;font-weight:800!important;line-height:1.35!important;color:#f3ffe9!important;padding:0!important;margin:0 0 7px!important;background:none!important;border:0!important;box-shadow:none!important}.gx-reversi .rv-panel[data-outcome=win] .rv-panel-title{color:#ffe7a7!important;text-shadow:0 0 20px #f5d07b30}.gx-reversi .rv-panel .rv-result-level,.gx-reversi .rv-panel .rv-panel-copy{font-size:12px;color:#c9dfd1;margin:0 0 13px!important;padding:0!important}.gx-reversi .rv-panel .rv-panel-copy{font-size:14px;margin:14px 0 20px!important}.gx-reversi .rv-result-scores{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:12px 0}.gx-reversi .rv-result-player{display:grid;grid-template-columns:auto auto;gap:5px 10px;align-items:center;justify-content:center}.gx-reversi .rv-result-player>span:first-child{grid-column:1/-1;color:#cce0d5;font-size:12px}.gx-reversi .rv-result-player strong{font-size:48px;font-variant-numeric:tabular-nums;line-height:1.15;color:#fff}.gx-reversi .rv-result-player .rv-chip{width:26px;height:26px}.gx-reversi .rv-panel .rv-result-detail{font-size:13px;color:#deefdf;margin:5px 0 17px!important}.gx-reversi .rv-panel-actions{display:flex;justify-content:center;gap:8px}.gx-reversi .rv-panel-actions .rv-button{font-size:13px;min-width:0;flex:1;white-space:nowrap}.gx-reversi .rv-share{display:inline-block;color:#b9d4c5;font-size:11px;text-decoration:underline;margin-top:12px;line-height:1.5;padding:4px}.gx-reversi .rv-share:hover{color:#fff}
body:has(.gx-reversi:focus-within) #pagetop{visibility:hidden!important;pointer-events:none!important}
@keyframes rv-flip{0%{transform:perspective(400px) rotateY(180deg) scale(.95)}45%{transform:perspective(400px) rotateY(90deg) translateY(-3px) scale(1.1)}100%{transform:perspective(400px) rotateY(0) scale(1)}}
@keyframes rv-place{0%{transform:translateY(-8px) scale(1.16);opacity:.4}75%{transform:translateY(1px) scale(.98);opacity:1}100%{transform:translateY(0) scale(1);opacity:1}}
@keyframes rv-breathe{50%{opacity:.4;box-shadow:0 0 0 4px #f5d4870c}}
@keyframes rv-overlay{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.gx-reversi{padding:16px 12px 13px;margin:18px auto 26px;border-radius:12px}.gx-reversi .rv-header{margin-bottom:13px}.gx-reversi .rv-header .rv-title{font-size:23px!important}.gx-reversi .rv-toolbar{gap:6px;padding-bottom:12px}.gx-reversi .rv-level{font-size:12px;padding:9px 20px 9px 8px;min-height:40px}.gx-reversi .rv-toolbar>.rv-button{min-height:40px;padding:9px 10px;font-size:12px}.gx-reversi .rv-toolbar>.rv-primary{min-width:78px}.gx-reversi .rv-toolbar>.rv-icon{width:36px;flex-basis:36px;font-size:19px;padding:6px}.gx-reversi .rv-scoreboard{padding:12px 0 10px;grid-template-columns:1fr 20px 1fr;gap:4px}.gx-reversi .rv-player{grid-template-columns:24px 1fr auto;gap:6px;padding:7px 6px}.gx-reversi .rv-chip{width:23px;height:23px}.gx-reversi .rv-player-name{font-size:11px}.gx-reversi .rv-score{font-size:29px}.gx-reversi .rv-info{margin:10px 1px}.gx-reversi .rv-turn{font-size:12px}.gx-reversi .rv-frame{padding:19px 8px 8px 19px;border-radius:9px}.gx-reversi .rv-columns{left:19px;right:8px;top:1px}.gx-reversi .rv-rows{top:19px;bottom:8px;left:0;width:17px}.gx-reversi .rv-columns span,.gx-reversi .rv-rows span{font-size:9px}.gx-reversi .rv-status{font-size:11px;min-height:44px}.gx-reversi .rv-overlay{padding:12px}.gx-reversi .rv-panel{padding:16px 12px 11px;border-radius:9px}.gx-reversi .rv-panel .rv-panel-title{font-size:25px!important}.gx-reversi .rv-panel .rv-result-level{font-size:10px;margin-bottom:7px!important}.gx-reversi .rv-result-scores{margin:8px 0;gap:12px}.gx-reversi .rv-result-player strong{font-size:39px}.gx-reversi .rv-result-player .rv-chip{width:23px;height:23px}.gx-reversi .rv-panel .rv-result-detail{font-size:12px;margin:4px 0 10px!important}.gx-reversi .rv-panel-actions .rv-button{font-size:12px;min-height:39px;padding:8px}.gx-reversi .rv-share{margin-top:7px;font-size:10px}}
@container(max-width:300px){.gx-reversi .rv-player{grid-template-columns:20px 1fr auto;gap:4px;padding:7px 4px}.gx-reversi .rv-player .rv-chip{width:20px;height:20px}.gx-reversi .rv-score{font-size:26px}.gx-reversi .rv-overlay{padding:9px}.gx-reversi .rv-panel{padding:10px}.gx-reversi .rv-panel .rv-panel-title{font-size:22px!important}.gx-reversi .rv-result-player strong{font-size:32px}.gx-reversi .rv-result-scores{margin:5px 0}.gx-reversi .rv-panel .rv-result-detail{margin-bottom:8px!important}.gx-reversi .rv-share{margin-top:4px}}
@media(prefers-reduced-motion:reduce){.gx-reversi *,.gx-reversi *:before,.gx-reversi *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
