:root{--gold:#d9b55d;--gold-light:#ffe5a0;--gold-soft:#d8c488;--ivory:#f7efd9;--muted:#b8ad98;--ink:#05070b;--panel:#0c1018;--line:#5d4a24}
body:has(.demo-bar:not([hidden])) .scorebar{margin-bottom:0!important}.demo-bar{margin-top:5px!important}.demo-bar small{display:none!important}
*{box-sizing:border-box}[hidden]{display:none!important}html{background:var(--ink);color-scheme:dark}body{min-height:100svh;margin:0;background:radial-gradient(circle at 50% 10%,#283149 0,#101623 24%,#07090f 61%,#030405 100%);color:var(--ivory);font-family:Arial,sans-serif;overflow-x:hidden}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}
.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,.spot:focus-visible,.primary-button:focus-visible,.secondary-button:focus-visible{outline:3px solid #fff1b8;outline-offset:2px}.info-icon{font:italic bold 17px Georgia,serif}
.scorebar{display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:8px;border-block:1px solid #6d5629;background:#080b11aa}.scorebar.timer-visible{grid-template-columns:repeat(4,1fr)}.scorebar>div{padding:7px 4px;text-align:center;border-right:1px solid #42351d}.scorebar>div:last-child{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;color:var(--gold-light);font:normal 19px Georgia,serif}.turn-stat{display:flex!important;min-height:22px;align-items:center;justify-content:center;gap:6px}.turn-stat b{font:800 10px Arial,sans-serif;letter-spacing:.08em}
.premium-stage{position:relative;display:flex;min-height:clamp(420px,67svh,680px);flex-direction:column;align-items:center;justify-content:center;overflow:hidden;background:radial-gradient(ellipse at 50% 42%,#1c2842b8 0,#0d1423aa 38%,#05080e05 74%)}.stage-glow{position:absolute;width:55%;aspect-ratio:1;border-radius:50%;filter:blur(56px);opacity:.2;pointer-events:none}.glow-left{left:-28%;top:12%;background:#1886bc}.board-wrap{position:relative;width:min(94vw,calc(100svh - 224px),620px);aspect-ratio:1;padding:0;border:0;background:transparent;box-shadow:none}.board-wrap:before{display:none}.board{position:relative;width:100%;height:100%;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.board-art{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.board-lines line{stroke:url(#lineGold);stroke-width:2.4;stroke-linecap:round;opacity:.58}.camp-shape{opacity:.065}.camp-human-shape{fill:#24aee8}.camp-rival-shape{fill:#ff416a}.spot{position:absolute;z-index:2;width:calc(100% / var(--board-size) * .9);aspect-ratio:1;transform:translate(-50%,-50%);border:0;border-radius:50%;padding:0;background:transparent;line-height:0;touch-action:none}.hole{position:absolute;z-index:1;left:32%;top:32%;width:36%;aspect-ratio:1;border:1px solid #8c99ab99;border-radius:50%;background:radial-gradient(circle at 45% 38%,#26334b,#05070b 72%);box-shadow:inset 0 2px 4px #000,0 0 0 1px #020307,0 1px #c9dcff22;pointer-events:none}.piece,.mini-piece,.result-piece{position:absolute;border:0;border-radius:50%;background:center/contain no-repeat url('assets/halma-blue.webp');box-shadow:none}.piece:before,.mini-piece:before,.result-piece:before{display:none}.piece{z-index:5;left:50%;top:50%;width:84%;aspect-ratio:1;opacity:0;transform:translate(-50%,-50%) scale(.38);transition:transform .28s cubic-bezier(.22,1.2,.36,1),opacity .16s,filter .2s;pointer-events:none}.has-piece .piece{opacity:1;transform:translate(-50%,-50%) scale(1)}.is-rival .piece,.rival-piece,.rival-result{background-image:url('assets/halma-red.webp')}.is-selected{z-index:8}.is-selected .piece{filter:brightness(1.16) drop-shadow(0 0 8px #96e9ff);transform:translate(-50%,-50%) scale(.9)}.is-selectable .piece{filter:drop-shadow(0 0 5px #78ddff55)}.is-target:after{content:"";position:absolute;z-index:3;inset:10%;border:2px solid #bcdcff;border-radius:50%;box-shadow:0 0 12px #89cfff99,inset 0 0 9px #89cfff33;animation:target-pulse 1.1s ease-in-out infinite;pointer-events:none}.is-jump-target:after{border-style:dashed}.is-last .hole{box-shadow:inset 0 2px 4px #000,0 0 0 2px #d8ecff,0 0 12px #85cfff}.moving-piece{position:absolute;z-index:12;inset:auto;opacity:1;pointer-events:none;transform:none!important;transition:none!important}
.mini-piece{position:relative;width:17px;height:17px;flex:0 0 auto}.thinking{display:flex;min-height:18px;align-items:center;gap:5px;color:#a89c86;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.thinking i{width:5px;height:5px;border-radius:50%;background:#88cfff;animation:thinking 1s infinite}.thinking i:nth-child(2){animation-delay:.14s}.thinking i:nth-child(3){animation-delay:.28s}.thinking b{margin-left:4px}.ad-placeholder{display:grid;min-height:86px;margin-top:9px;place-items:center;border:1px dashed #5e5032;border-radius:12px;background:#080b1170;color:#7e7566;font-size:9px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}dialog{width:min(calc(100% - 28px),440px);max-height:calc(100dvh - 28px);overflow:auto;border:1px solid #80662f;border-radius:19px;padding:21px;background:linear-gradient(145deg,#171d29,#080b11 70%);box-shadow:0 28px 100px #000e;color:var(--ivory)}dialog::backdrop{background:#000c;backdrop-filter:blur(8px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px}.dialog-top h2,dialog h2{margin:0;color:var(--gold-light);font:normal 29px/1.08 Georgia,serif}.dialog-top .icon-button{width:37px;height:37px}.select-field{display:grid;gap:7px;margin-bottom:14px;color:#eadcb9;font-size:13px;font-weight:800}.select-field select{width:100%;min-height:45px;border:1px solid #796439;border-radius:9px;padding:9px;background:#080b11;color:var(--ivory)}.switch-row{display:flex;min-height:50px;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #3b321f;font-size:13px}.switch-row input{appearance:none;position:relative;width:42px;height:25px;margin:0;border:1px solid #817357;border-radius:20px;background:#303541}.switch-row input:before{content:"";position:absolute;left:3px;top:3px;width:17px;height:17px;border-radius:50%;background:#eee4ce;transition:transform .2s}.switch-row input:checked{background:var(--gold)}.switch-row input:checked:before{background:#090a0d;transform:translateX(17px)}.primary-button,.secondary-button{display:flex;min-height:47px;align-items:center;justify-content:center;border-radius:10px;padding:8px 13px;font-weight:800;cursor:pointer}.primary-button{width:100%;border:1px solid #f1d27d;background:linear-gradient(110deg,#a97825,#f2d98d 48%,#a97825);color:#080704}.secondary-button{border:1px solid #80662f;background:#0c111b;color:var(--gold-light)}#settings-form>.primary-button{margin-top:16px}.volume-controls{display:grid;gap:12px;margin-top:15px}.volume-controls label{display:grid;grid-template-columns:1fr auto;gap:6px;color:#d9cfba;font-size:12px}.volume-controls input{grid-column:1}.volume-controls button{grid-column:2;grid-row:1/3;border:1px solid #6e592f;border-radius:8px;background:#101722;color:var(--gold-light);padding:5px 9px}.account-note{margin-bottom:18px;border:1px solid #705b30;border-radius:14px;padding:14px;background:#0a0e16}.account-note h3,dialog section h3{margin:0 0 8px;color:var(--gold-light);font:normal 20px Georgia,serif}.account-note p,dialog section p,dialog>p{color:#c7bca7;font-size:13px;line-height:1.55}.account-note .text-link{display:block;padding:10px;text-align:center;color:var(--gold-soft);font-size:12px;font-weight:800}.control-list>div{display:grid;grid-template-columns:36px 1fr;align-items:start;gap:10px;border-top:1px solid #3b321f}.control-list b{display:grid;width:32px;height:32px;margin-top:9px;place-items:center;border:1px solid #705b30;border-radius:50%;color:var(--gold-light)}.control-list p{margin:10px 0}.dialog-buttons{display:flex;gap:8px;margin-top:18px}.dialog-buttons>*{flex:1}.result-dialog{text-align:center}.eyebrow{color:var(--gold);font-size:10px;font-weight:900;letter-spacing:.15em}.result-piece{position:relative;width:80px;height:80px;margin:10px auto 18px}.result-dialog .primary-button{margin-top:16px}.result-close{width:100%;margin-top:9px}.final-score{color:var(--gold-light)!important;font-weight:800}
@keyframes target-pulse{50%{opacity:.48;transform:scale(.82)}}@keyframes thinking{0%,80%,100%{transform:translateY(0);opacity:.4}40%{transform:translateY(-4px);opacity:1}}
@media(max-width:380px){.game-shell{padding-inline:6px}.top-actions{gap:4px}.icon-button{width:36px;height:36px}.game-sitebrand{padding-right:29px}.board-wrap{width:min(96vw,calc(100svh - 232px));padding:12px}.premium-stage{min-height:400px}}
@media(min-width:700px) and (orientation:portrait){.game-shell{padding-inline:28px}.premium-stage{min-height:690px}.board-wrap{width:min(82vw,650px,calc(100svh - 280px))}.scorebar span{font-size:10px}.scorebar strong{font-size:23px}.mini-piece{width:21px;height:21px}}
@media(min-width:900px) and (orientation:landscape){.premium-stage{min-height:560px}.board-wrap{width:min(55vw,550px,calc(100svh - 218px))}.ad-placeholder{min-height:92px}}
@media(orientation:landscape) and (max-height:700px){.premium-stage{min-height:400px}.board-wrap{width:min(62vh,430px)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.preview-capture .game-sitebar,.preview-capture .ad-placeholder,.preview-capture .camp-shape{display:none}.preview-capture .game-shell{min-height:100svh;padding:8px 20px 12px}.preview-capture .premium-stage{min-height:0;padding-top:10px;background:transparent}.preview-capture .board-wrap{width:min(100%,620px)}

/* Orb Chaos information and demo pattern */
.demo-bar{min-height:54px;margin:0 0 8px;border-color:#8b6d32;border-radius:13px;background:linear-gradient(110deg,#221a0d,#0a0e16 72%);box-shadow:inset 0 1px #fff2}.demo-bar b{color:var(--gold-light);font-size:9px}.demo-bar small{color:#c8bda7;font-size:11px}.top-actions .icon-button:disabled{cursor:not-allowed;opacity:.38}.demo-finger{width:60px;height:66px;filter:brightness(1.38) saturate(1.18) drop-shadow(0 4px 4px #000c) drop-shadow(0 0 11px #fff0a8cc);font-size:50px;user-select:none}
#info-dialog{width:min(450px,calc(100% - 24px));max-height:calc(100dvh - 26px);margin: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}
#info-dialog::backdrop{background:#000d;backdrop-filter:blur(6px)}#info-dialog .dialog-top{margin-bottom:13px}#info-dialog .dialog-top h2{font:normal 27px Georgia,serif}#info-dialog .dialog-top>.icon-button{width:39px;height:39px;flex:0 0 39px}
.account-benefit-prompt{margin:0 0 18px;border:1px solid #8a6d32;border-radius:16px;padding:16px;background:linear-gradient(145deg,#201b10,#0b0e15 72%)}.account-benefit-eyebrow{display:block;margin-bottom:6px;color:var(--gold);font-size:9px;font-weight:900;letter-spacing:.16em}.account-benefit-prompt>strong{display:block;color:var(--gold-light);font:normal 21px Georgia,serif}.account-benefit-prompt p{margin:9px 0;color:#c4b9a3}.account-benefit-actions{display:grid;gap:8px}.account-benefit-actions .primary-button{margin-top:4px}.account-login-link{display:block;padding:7px;color:var(--gold-soft);font-size:12px;font-weight:800;text-align:center;text-decoration:none}
#info-dialog .demo-panel{margin:0 0 18px;border:1px solid #705b30;border-radius:15px;padding:15px;background:linear-gradient(145deg,#171b27,#090c12 72%)}#info-dialog .demo-panel h3{margin:0;color:var(--gold-light);font:normal 21px Georgia,serif}#info-dialog .demo-panel p{margin:8px 0 0;color:#c4b9a3}#info-dialog .demo-panel .primary-button{margin-top:12px}
.info-content-card{margin:0 0 14px;border:1px solid #705b30;border-radius:15px;padding:15px;background:linear-gradient(145deg,#171b27,#090c12 72%)}.info-content-card>h3{margin:0;color:var(--gold-light);font:normal 21px Georgia,serif}.info-content-card>p{margin:9px 0 0;color:#c4b9a3}.info-menu-card>.eyebrow{margin:0 0 6px}.info-menu-card>h3{margin:0}.game-menu-guide-list{display:grid;gap:12px;margin:17px 0 0;padding:0;list-style:none}.game-menu-guide-list li{display:grid;grid-template-columns:36px 1fr;align-items:start;gap:10px}.game-menu-guide-icon{display:grid;width:32px;height:32px;place-items:center;border:1px solid #80662f;border-radius:50%;color:var(--gold-light);font-size:17px}.game-menu-guide-list p{margin:1px 0;color:#c4b9a3}.game-menu-guide-list b{display:block;color:var(--ivory)}.info-symbol{font:italic bold 15px Georgia,serif}
