:root{--gold:#d9b55d;--gold-light:#ffe5a0;--gold-soft:#d8c488;--ivory:#f7efd9;--muted:#b8ad98;--ink:#05070b;--panel:#0c1018;--line:#5d4a24}
*{box-sizing:border-box}[hidden]{display:none!important}html{background:var(--ink);color-scheme:dark}body{min-width:320px;min-height:100svh;margin:0;overflow-x:hidden;background:radial-gradient(circle at 50% 10%,#283149 0,#101623 24%,#07090f 61%,#030405 100%);color:var(--ivory);font-family:Arial,sans-serif}button,a,select,input{font:inherit}button,a,[role=button]{-webkit-tap-highlight-color:transparent}button{touch-action:manipulation}button:focus,a:focus{outline:none}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
/* Identical premium-game shell used by Orb Chaos. */
.game-sitebar{position:sticky;top:0;z-index:50;display:flex;min-height:calc(52px + env(safe-area-inset-top));align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #4f4022;padding:env(safe-area-inset-top) max(12px,calc((100% - 980px)/2 + 12px)) 0;background:#07090fed;box-shadow:0 10px 32px #000b;backdrop-filter:blur(14px)}.game-sitebrand{display:inline-flex;min-height:36px;align-items:center;border:1px solid #efd58d;border-radius:999px;padding:8px 44px 8px 12px;background:linear-gradient(90deg,#ffe7a0 0,#d3ad50 48%,#6d4d1d 100%);box-shadow:inset 0 1px #fff9,0 5px 14px #0008;color:#090806;font:900 .845rem/1 Arial,sans-serif;letter-spacing:.06em;text-decoration:none;white-space:nowrap}.game-sitebrand span{color:inherit;font-size:inherit;letter-spacing:inherit}.game-home-button{display:inline-flex;min-height:36px;align-items:center;justify-content:center;border:1px solid #f5dda0;border-radius:999px;padding:7px 14px;background:linear-gradient(110deg,#aa7d2b,#f3dc91 48%,#ae812d);box-shadow:inset 0 1px #fff9,0 5px 14px #0008;color:#090806;font:900 .72rem/1 Arial,sans-serif;letter-spacing:.08em;text-decoration:none;text-transform:uppercase;white-space:nowrap}.game-home-button:hover{background:linear-gradient(110deg,#c79d48,#ffe9a8 48%,#c79d48)}.game-sitebrand:focus-visible,.game-home-button:focus-visible{outline:3px solid #fff1b8;outline-offset:2px}.game-shell{width:min(100%,980px);min-height:calc(100svh - 52px);margin:auto;padding:10px 10px calc(18px + env(safe-area-inset-bottom))}.topbar{display:flex;min-height:52px;align-items:center;justify-content:space-between;gap:10px;padding:2px 2px 6px}.game-identity{min-width:0}.game-identity h1{margin:0;color:var(--gold-light);font:normal clamp(20px,5.2vw,27px)/1 Georgia,serif;white-space:nowrap}.player-name{display:block;min-height:10px;margin-top:3px;color:#b7aa91;font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}.top-actions{display:flex;gap:7px}.icon-button{display:grid;width:39px;height:39px;place-items:center;border:1px solid #80662f;border-radius:50%;background:linear-gradient(145deg,#192131,#080b11);box-shadow:inset 0 1px #fff2,0 5px 14px #0008;color:var(--gold-light);font-size:18px;cursor:pointer}.icon-button:active{transform:translateY(1px)}.icon-button:focus-visible,.square:focus-visible,.primary-button:focus-visible,.secondary-button:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #fff1b8;outline-offset:2px}.info-icon{font:italic bold 17px Georgia,serif}.scorebar{display:grid;grid-template-columns:repeat(2,1fr);margin-bottom:8px;border-block:1px solid #6d5629;background:#080b11aa}.scorebar.timer-visible{grid-template-columns:repeat(3,1fr)}.scorebar>div{padding:7px 4px;text-align:center;border-right:1px solid #42351d}.scorebar>div:last-child,.scorebar>div[hidden]+div{border-right:0}.scorebar span{display:block;color:#a89c86;font-size:8px;font-weight:800;letter-spacing:.14em}.scorebar strong{display:block;margin-top:2px;overflow:hidden;color:var(--gold-light);font:normal 19px Georgia,serif;text-overflow:ellipsis;white-space:nowrap}
.play-area{position:relative;isolation:isolate;min-height:430px;overflow:hidden;border:1px solid #7b622f;border-radius:25px;padding:18px 8px 14px;background:linear-gradient(180deg,#111827dd,#06090fef),radial-gradient(circle at 50% 20%,#7891bd55,transparent 48%);box-shadow:inset 0 1px #fff3,inset 0 -40px 80px #0008,0 22px 60px #000b}.play-area:before{content:"";position:absolute;z-index:-1;inset:0;background:repeating-linear-gradient(105deg,transparent 0 84px,#ffffff05 86px 87px,transparent 89px 170px),linear-gradient(90deg,#0007,transparent 13% 87%,#0007)}.board-scene{display:grid;width:min(100%,600px);margin:0 auto;place-items:center;perspective:900px;padding:3px 5px 18px}.board-plinth{position:relative;width:min(91vw,550px);max-width:100%;aspect-ratio:1;border:1px solid #d2b05d;border-radius:9%;padding:clamp(12px,3vw,20px);background:linear-gradient(145deg,#76502d,#2e180d 54%,#120a07);box-shadow:0 23px 24px #000b,0 0 35px #d7ae4722,inset 0 0 0 4px #1a0d07,inset 0 0 0 6px #bd9140;transform:rotateX(7deg);transform-origin:center bottom}.board-plinth:before{content:"";position:absolute;inset:4%;border:1px solid #c9a45555;border-radius:7%;background:radial-gradient(circle at 50% 45%,#38251a,#100b09 72%);box-shadow:inset 0 0 40px #000c}.board-plinth:after{content:"";position:absolute;z-index:-1;right:3%;bottom:-12px;left:3%;height:16px;border-radius:0 0 20px 20px;background:linear-gradient(#2c160c,#0d0805);box-shadow:0 8px 14px #000}.board{position:relative;width:100%;height:100%;touch-action:manipulation}.board-network{position:absolute;z-index:1;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.board-network line{stroke:#d5ab51;stroke-width:.75;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 2px #ffc95c88)}.square{--step:25.333%;position:absolute;z-index:3;top:calc(12% + var(--board-row) * var(--step));left:calc(12% + var(--board-column) * var(--step));display:grid;width:clamp(38px,12vw,64px);aspect-ratio:1;place-items:center;border:2px solid #d4aa50;border-radius:50%;padding:0;background:radial-gradient(circle at 35% 25%,#77502b 0,#342015 48%,#110b08 78%);box-shadow:inset 0 1px #ffe4a8aa,inset 0 -5px 9px #0009,0 5px 9px #000b,0 0 0 2px #26150b;cursor:pointer;transform:translate(-50%,-50%);transition:filter .18s,transform .18s}.square:after{content:"";position:absolute;inset:11%;border:1px solid #f4d88744;border-radius:50%;transition:.18s}.square.is-target:after{inset:2%;border:2px solid #fff0a9;background:#f3bd3038;box-shadow:0 0 15px #ffd86c,inset 0 0 9px #ffe8a0}.square.is-selected{filter:drop-shadow(0 0 9px #ffe7a0);transform:translate(-50%,-50%) scale(1.08)}.piece{position:absolute;z-index:4;width:165%;height:205%;left:-32%;bottom:8%;object-fit:contain;filter:drop-shadow(0 8px 5px #000c);pointer-events:none;transform-origin:50% 84%;transition:filter .18s,transform .18s}.piece.hare{width:180%;height:220%;left:-40%;bottom:2%}.square.is-selected .piece{filter:drop-shadow(0 0 9px #ffe9a8) drop-shadow(0 8px 5px #000c);transform:translateY(-7%) scale(1.04)}.square.is-arriving .piece{animation:arrive .34s cubic-bezier(.2,.8,.3,1.25)}.side-key{display:flex;width:min(90%,480px);align-items:center;justify-content:center;gap:10px;margin:0 auto;color:var(--muted)}.side-key span{display:flex;align-items:center;gap:4px;font-size:9px;letter-spacing:.12em}.side-key img{width:24px;height:36px;object-fit:contain}.side-key i{width:28px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}.thinking{display:flex;min-height:26px;align-items:center;justify-content:center;gap:5px;margin-top:4px;color:var(--gold-soft);font-size:11px}.thinking span{width:5px;height:5px;border-radius:50%;background:var(--gold);animation:pulse 1s infinite}.thinking span:nth-child(2){animation-delay:.16s}.thinking span:nth-child(3){animation-delay:.32s}.thinking b{margin-left:5px}.ad-placeholder{display:grid;min-height:74px;place-items:center;margin-top:18px;border:1px solid #75613266;border-radius:13px;background:#15120d55;color:#897d68;font-size:10px;letter-spacing:.15em;text-transform:uppercase}
dialog{width:min(450px,calc(100% - 24px));max-height:calc(100dvh - 26px);margin:auto;overflow:auto;border:1px solid #8b6d32;border-radius:20px;padding:21px;background:radial-gradient(circle at 50% 0,#222c41,#0b0e15 55%);box-shadow:0 28px 100px #000e;color:var(--ivory)}dialog::backdrop{background:#000d;backdrop-filter:blur(6px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}.dialog-top h2,dialog>h2{margin:0;color:var(--gold-light);font:normal 27px Georgia,serif}dialog h3{margin:18px 0 5px;color:var(--gold-light);font-size:14px}dialog p{color:#d5cdbd;font-size:13px;line-height:1.55}.select-field,.switch-row{display:flex;min-height:58px;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid #3c321f}.select-field select{min-width:145px;border:1px solid #80662f;border-radius:9px;padding:9px;background:#07090e;color:var(--ivory)}.switch-row input{width:22px;height:22px;accent-color:var(--gold)}.primary-button,.secondary-button{display:flex;min-height:44px;align-items:center;justify-content:center;border:1px solid var(--gold);border-radius:11px;padding:10px 16px;font-weight:850;text-decoration:none;cursor:pointer}.primary-button{width:100%;margin-top:17px;background:linear-gradient(110deg,#b8892f,#f0d88c,#b8892f);box-shadow:inset 0 1px #fff8;color:#080706}.secondary-button{background:#0b0e15;color:var(--gold-light)}.dialog-buttons{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:20px}.dialog-buttons .primary-button{margin-top:0}.account-note{margin-bottom:18px;border:1px solid #8a6d32;border-radius:16px;padding:16px;background:linear-gradient(145deg,#201b10,#0b0e15 72%)}.account-note h3{margin-top:0}.account-note div{display:grid;grid-template-columns:1fr auto;align-items:center;gap:14px}.account-note .primary-button{margin:0}.text-link{color:var(--gold-soft)}.control-list{display:grid;gap:10px}.control-list>div{display:grid;grid-template-columns:34px 1fr;align-items:center;gap:10px}.control-list b{display:grid;width:34px;height:34px;place-items:center;border:1px solid #735f34;border-radius:50%;color:var(--gold-soft)}.control-list p{margin:0}.volume-controls{display:grid;gap:10px;margin-top:15px}.volume-controls label{display:grid;grid-template-columns:80px 1fr auto;align-items:center;gap:8px;color:var(--gold-soft);font-size:12px}.volume-controls input{width:100%;accent-color:var(--gold)}.volume-controls button{border:1px solid #715d31;border-radius:8px;padding:7px;background:#17130e;color:var(--gold-soft)}.result-dialog{text-align:center}.result-piece{width:90px;height:120px;object-fit:contain;margin:4px auto -2px;filter:drop-shadow(0 9px 7px #000)}.eyebrow{margin:0!important;color:var(--gold)!important;font-size:10px;font-weight:900;letter-spacing:.18em}.result-stats{display:grid;grid-template-columns:1fr 1fr;margin:16px 0}.result-stats div+div{border-left:1px solid #514329}.result-stats strong{display:block;color:var(--gold-soft);font:700 27px Georgia,serif}.result-stats span{color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.12em}.result-close{width:100%;margin-top:9px}@keyframes arrive{0%{opacity:.2;transform:scale(.55) translateY(-28%)}70%{transform:scale(1.08) translateY(-4%)}100%{opacity:1;transform:none}}@keyframes pulse{50%{opacity:.25;transform:translateY(-2px)}}
@media(max-width:370px){.game-shell{padding-inline:6px}.top-actions{gap:4px}.icon-button{width:36px;height:36px}.game-identity h1{font-size:20px}.play-area{min-height:390px;padding-inline:5px}.board-plinth{width:100%;padding:10px}.game-sitebrand{padding-right:28px}}@media(min-width:700px){.play-area{min-height:620px;padding-top:24px}.board-plinth{width:min(72vw,570px)}.scorebar strong{font-size:21px}}@media(orientation:landscape) and (max-height:700px){.game-shell{width:min(960px,100%)}.play-area{min-height:340px;padding-block:5px}.board-scene{width:min(66vh,520px);padding-bottom:8px}.side-key,.ad-placeholder{display:none}.board-plinth{width:min(62vh,480px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.preview-capture .game-sitebar{display:none}.preview-capture .game-shell{min-height:100svh;padding-top:8px}

/* The visible nodes represent only the dark squares of the hidden 8 × 8 chessboard. */
.square{--step:12.571%;top:calc(6% + var(--board-row) * var(--step));left:calc(6% + var(--board-column) * var(--step));width:clamp(27px,8vw,46px)}
.piece{width:145%;height:175%;left:-22%;bottom:7%;filter:drop-shadow(0 7px 4px #000c)}
.piece.hare{width:160%;height:190%;left:-30%;bottom:1%}
@media(max-width:370px){.square{width:27px}.piece{height:168%}.piece.hare{height:184%}}
@media(min-width:700px){.square{width:46px}}

/* Flat, symmetrical top view: no perspective or raised lower edge. */
.board-scene{perspective:none}
.board-plinth{border-radius:22px;background:linear-gradient(145deg,#38271d,#181311 52%,#38271d);box-shadow:0 16px 32px #000b,0 0 28px #d7ae4714,inset 0 0 0 4px #17100c,inset 0 0 0 6px #846735;transform:none;transform-origin:center}
.board-plinth:before{border-color:#806b4640;border-radius:15px;background:radial-gradient(circle at 50% 50%,#211c19,#0e0c0b 76%);box-shadow:inset 0 0 32px #0008}
.board-plinth:after{display:none}
.board-network line{stroke:#8e7954;stroke-width:.55;opacity:.58;filter:none}
.square{border-color:#91794f;background:radial-gradient(circle at 38% 30%,#4a3d32 0,#28211c 55%,#171310 100%);box-shadow:inset 0 1px #d3bc8a38,inset 0 -3px 7px #0008,0 3px 6px #0009,0 0 0 1px #18110d}
.square:after{border-color:#b9a27624}
.square.is-target{border-color:#d7b867;background:radial-gradient(circle at 38% 30%,#665134,#2b231c 70%)}
.square.is-selected{border-color:#e8cd83}

/* Selectable character and low-resource glass-orb pieces. */
.piece.orb-piece{left:7%;bottom:7%;width:86%;height:86%;border:1px solid #fff8;border-radius:50%;box-shadow:inset -5px -7px 10px #0008,inset 5px 5px 8px #fff7,0 5px 7px #000a;filter:none}
.piece.orb-piece:before{content:"";position:absolute;top:14%;left:18%;width:28%;height:20%;border-radius:50%;background:#fff9;filter:blur(1px);transform:rotate(-25deg)}
.orb-ruby{background:radial-gradient(circle at 34% 28%,#ffd2cf 0 5%,#e8434d 22%,#78091b 66%,#2b0209 100%)}
.orb-sapphire{background:radial-gradient(circle at 34% 28%,#d9f4ff 0 5%,#2a9bea 22%,#07367b 66%,#020d2d 100%)}
.orb-emerald{background:radial-gradient(circle at 34% 28%,#d9ffe2 0 5%,#29c96a 22%,#087238 66%,#022619 100%)}
.orb-amber{background:radial-gradient(circle at 34% 28%,#fff4c8 0 5%,#f6ad28 22%,#9d4c05 66%,#351501 100%)}
.orb-violet{background:radial-gradient(circle at 34% 28%,#f5dcff 0 5%,#b35ee7 22%,#5c198a 66%,#1c0730 100%)}
.orb-turquoise{background:radial-gradient(circle at 34% 28%,#dcffff 0 5%,#28d6d2 22%,#087b82 66%,#012b35 100%)}
.key-piece{display:grid;width:30px;height:38px;place-items:center}.key-token{display:block;width:28px;height:38px;object-fit:contain;filter:drop-shadow(0 4px 3px #000b)}.key-token.orb-piece{position:relative;width:24px;height:24px;border:1px solid #fff7;border-radius:50%;box-shadow:inset -4px -5px 7px #0008,inset 4px 4px 6px #fff7,0 4px 5px #0009}.key-token.orb-piece:before{content:"";position:absolute;top:15%;left:18%;width:28%;height:20%;border-radius:50%;background:#fff9}

/* Use all available play space and keep the quiet board behind the pieces. */
.play-area{padding:8px 5px 6px}
.board-scene{width:min(100%,760px);padding:0}
.board-plinth{width:min(96vw,720px)}
.board-network line{stroke:#746b5c;opacity:.34}
.square{border-color:#696052;background:radial-gradient(circle at 38% 30%,#37322e 0,#24211f 57%,#151311 100%);box-shadow:inset 0 1px #bcae9630,inset 0 -2px 5px #0007,0 2px 4px #0008,0 0 0 1px #171411}
.square:after{border-color:#b9aa9120}
img.piece.hunters{filter:saturate(1.42) brightness(1.16) contrast(1.08) drop-shadow(0 6px 4px #000d)}
@media(orientation:landscape) and (max-height:700px){.board-scene{width:min(72vh,650px)}.board-plinth{width:min(68vh,610px)}}

/* Safari-safe centring: size from the real content box instead of viewport width. */
.board-scene{width:min(100%,760px);margin-inline:auto}
.board-plinth{width:100%;max-width:700px;margin-inline:auto}
@media(orientation:landscape) and (max-height:700px){.board-scene{width:min(100%,72vh,650px)}.board-plinth{width:100%;max-width:610px}}
