:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#edf2ff;background:radial-gradient(circle at top,#6684bc2e,#0000 24%),radial-gradient(circle at 20% 20%,#29c6b41f,#0000 28%),linear-gradient(160deg,#061019 0%,#0d1526 38%,#050812 100%);font-family:Segoe UI,Helvetica Neue,Arial,sans-serif}*{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}body{min-width:320px}button,select{font:inherit}button,select,input,label{touch-action:manipulation}.app-shell{min-height:100vh;padding:32px 24px 48px;position:relative;overflow:hidden}.space-glow{filter:blur(80px);opacity:.45;pointer-events:none;border-radius:999px;position:absolute}.space-glow-left{background:#418abe4d;width:340px;height:340px;top:-120px;left:-160px}.space-glow-right{background:#4fc9b438;width:280px;height:280px;bottom:-40px;right:-80px}.toolbar,.board-frame,.settings-modal{z-index:1;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:linear-gradient(#121c2cd1,#080c16e6);border:1px solid #b3d2ff26;position:relative;box-shadow:0 28px 60px #0000006b,inset 0 1px #ffffff14}.eyebrow{color:#97d6df;text-transform:uppercase;letter-spacing:.16em;margin:0 0 10px;font-size:.75rem}h1,h2,p{margin:0}h1{letter-spacing:.03em;font-size:clamp(2.2rem,4vw,4rem)}.toolbar{border-radius:22px;justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px;padding:20px 24px;display:flex}.toolbar-brand{align-items:center;min-width:0;display:flex}.toolbar-title{color:#eef6ff;letter-spacing:.1em;text-transform:uppercase;font-size:1rem;font-weight:700}.button-row{flex-wrap:wrap;gap:12px;display:flex}.action-button{color:#eef6ff;cursor:pointer;background:linear-gradient(#5a7ba747,#263f604d);border:1px solid #9ad3ff3d;border-radius:14px;padding:12px 18px;transition:transform .18s,box-shadow .18s,opacity .18s;box-shadow:0 14px 30px #0000003d}.action-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 18px 36px #0000004d}.action-button:disabled{cursor:not-allowed;opacity:.45}.action-button-danger{background:linear-gradient(#9c38486b,#5c182680)}.action-button-ghost{background:#ffffff0a}.toolbar-toggle-button{min-width:78px}.toolbar-toggle-button-active{background:linear-gradient(#388482e6,#123c4bf5);border-color:#7ce1cab8;box-shadow:0 14px 30px #0000003d,0 0 0 1px #7ce1ca2e}.game-layout{min-width:0}.board-frame{border-radius:32px;justify-content:center;align-items:center;min-height:calc(100vh - 170px);padding:12px;display:flex;overflow:auto}.board-frame-main{width:100%}.board-camera-shell{width:100%;min-height:inherit;-webkit-user-select:none;user-select:none;touch-action:none;cursor:default;place-items:center;display:grid;overflow:hidden}.board-camera{transform-origin:50%;will-change:transform;transition:transform .12s ease-out}.board-camera-dragging{cursor:grabbing;transition:none}.board-perspective{transform-origin:50%;width:fit-content;min-width:fit-content;max-width:none;transform-style:preserve-3d;background:linear-gradient(#ffffff0a,#ffffff03),linear-gradient(160deg,#182334f0,#070b14fa);border-radius:22px;flex:none;padding:10px;display:inline-block;transform:none;box-shadow:0 34px 60px #0000008c,inset 0 1px #ffffff0d}.board-grid{width:fit-content;display:grid}.cell{--cell-accent:#7f91a3;transform-style:preserve-3d;background:linear-gradient(145deg, color-mix(in srgb, var(--cell-accent) 82%, white), color-mix(in srgb, var(--cell-accent) 68%, black)), #ffffff0a;border:0;border-radius:16px;transition:transform .18s,box-shadow .18s,filter .18s;position:relative;box-shadow:inset 0 1px #ffffff38,0 10px 18px #00000047}.cell-interactive{cursor:pointer}.cell-static{cursor:default}.cell-highlighted{filter:brightness(1.2)saturate(1.18);box-shadow:inset 0 1px 0 #ffffff6b, 0 0 0 1px color-mix(in srgb, var(--cell-accent) 65%, white), 0 0 18px color-mix(in srgb, var(--cell-accent) 72%, white), 0 0 34px color-mix(in srgb, var(--cell-accent) 48%, white), 0 14px 24px #00000057}.cell-pressed-source{filter:brightness(1.26)saturate(1.22);box-shadow:inset 0 1px 0 #ffffff7a, 0 0 0 1px color-mix(in srgb, var(--cell-accent) 78%, white), 0 0 22px color-mix(in srgb, var(--cell-accent) 84%, white), 0 0 42px color-mix(in srgb, var(--cell-accent) 58%, white), 0 16px 28px #0000005c}.cell-sheen{opacity:.6;background:linear-gradient(#ffffff42,#0000 40%);border-radius:15px;position:absolute;inset:1px}.cell-excluded{background:linear-gradient(145deg, color-mix(in srgb, var(--cell-accent) 34%, black), color-mix(in srgb, var(--cell-accent) 16%, black)), #00000038;transform:rotateY(180deg)translateZ(-2px)}.cell-confirmed,.cell-revealed{box-shadow:inset 0 1px 0 #ffffff57, 0 18px 28px #0000004d, 0 0 22px color-mix(in srgb, var(--cell-accent) 54%, white);transform:translateZ(16px)}.cell-confirmed{background:radial-gradient(circle at 50% 38%, #ffffff7a, transparent 22%), linear-gradient(145deg, color-mix(in srgb, var(--cell-accent) 92%, white), color-mix(in srgb, var(--cell-accent) 60%, white))}.cell-revealed{background:radial-gradient(circle at 50% 38%, #ffffff6b, transparent 22%), linear-gradient(145deg, color-mix(in srgb, var(--cell-accent) 82%, white), color-mix(in srgb, var(--cell-accent) 68%, white))}.cell-wrong{background:linear-gradient(145deg,#ff8080f5,#68121ee0);box-shadow:0 0 24px #ff70708c,0 18px 28px #00000052}.cell-cross,.cell-core,.cell-warning{position:absolute;inset:0}.cell-cross span{background:linear-gradient(90deg,#98caff1a,#a8e1ffd1,#98caff1a);border-radius:999px;width:64%;height:2px;position:absolute;top:50%;left:18%;box-shadow:0 0 12px #a9e0ff61}.cell-cross span:first-child{transform:rotate(45deg)}.cell-cross span:last-child{transform:rotate(-45deg)}.cell-core:before,.cell-core:after{content:"";border-radius:40%;position:absolute;inset:22%}.cell-core:before{background:radial-gradient(circle,#fffffff2,#d1ebff5c 48%,#0000 72%)}.cell-core:after{border:1px solid #ffffffad;inset:30%;transform:rotate(45deg);box-shadow:0 0 10px #ffffff6b}.cell-warning:before,.cell-warning:after{content:"";transform-origin:50%;background:#ffffffe6;border-radius:999px;width:3px;height:56%;position:absolute;top:22%;left:49%}.cell-warning:before{transform:rotate(45deg)}.cell-warning:after{transform:rotate(-45deg)}.cell-pulse:after{content:"";border:1px solid #ffffff3d;border-radius:20px;animation:.95s ease-out pulse-ring;position:absolute;inset:-6px}.complete-overlay{z-index:10;pointer-events:none;position:fixed;inset:0}.complete-banner{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#060e1c75;border:1px solid #c4e7ff33;border-radius:24px;justify-items:center;gap:8px;padding:18px 28px;animation:.42s ease-out complete-banner-in;display:grid;position:absolute;top:92px;left:50%;transform:translate(-50%);box-shadow:0 18px 44px #0000004d,0 0 42px #86d8ff2e}.complete-banner strong{letter-spacing:.18em;color:#f6fbff;text-shadow:0 0 18px #a0dfff8c,0 0 42px #a0dfff40;font-size:clamp(2.4rem,7vw,5rem);line-height:1}.complete-caption{color:#bfe4ffe6;letter-spacing:.2em;text-transform:uppercase;font-size:.82rem}.fireworks-layer{position:absolute;inset:0;overflow:hidden}.firework{--firework-color:#8ae1fff2;--firework-max-scale:1;aspect-ratio:1;background:radial-gradient(circle, #fffffffa 0 12%, transparent 13%), conic-gradient(from 0deg, transparent 0deg 10deg, var(--firework-color) 10deg 22deg, transparent 22deg 38deg, var(--firework-color) 38deg 48deg, transparent 48deg 64deg, var(--firework-color) 64deg 76deg, transparent 76deg 92deg, var(--firework-color) 92deg 104deg, transparent 104deg 120deg, var(--firework-color) 120deg 132deg, transparent 132deg 148deg, var(--firework-color) 148deg 160deg, transparent 160deg 176deg, var(--firework-color) 176deg 188deg, transparent 188deg 204deg, var(--firework-color) 204deg 216deg, transparent 216deg 232deg, var(--firework-color) 232deg 244deg, transparent 244deg 260deg, var(--firework-color) 260deg 272deg, transparent 272deg 288deg, var(--firework-color) 288deg 300deg, transparent 300deg 316deg, var(--firework-color) 316deg 328deg, transparent 328deg 344deg, var(--firework-color) 344deg 360deg);width:18px;filter:drop-shadow(0 0 10px var(--firework-color)) drop-shadow(0 0 18px color-mix(in srgb, var(--firework-color) 70%, white));opacity:0;border-radius:999px;animation:1.4s ease-out infinite firework-burst;position:absolute;transform:scale(.15);-webkit-mask:radial-gradient(circle,#0000 0 34%,#000 35% 54%,#0000 55% 66%,#000 67% 81%,#0000 82%);mask:radial-gradient(circle,#0000 0 34%,#000 35% 54%,#0000 55% 66%,#000 67% 81%,#0000 82%)}.modal-backdrop{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#02060c9e;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.settings-modal{border-radius:28px;width:min(520px,100%);padding:24px}.modal-header,.modal-footer{justify-content:space-between;align-items:center;display:flex}.modal-body{gap:18px;margin:22px 0;display:grid}.field{gap:10px;display:grid}.field span{color:#eff6ff}.choice-grid{flex-wrap:wrap;gap:10px;display:flex}.choice-chip{color:#eef6ff;cursor:pointer;background:#101c2ceb;border:1px solid #a8dcff33;border-radius:16px;padding:12px 14px;transition:border-color .18s,background .18s,transform .18s,box-shadow .18s}.choice-chip:hover{border-color:#a8dcff6b;transform:translateY(-1px)}.choice-chip-selected{background:linear-gradient(#388482e6,#123c4bf5);border-color:#7ce1cae6;box-shadow:0 0 0 1px #7ce1ca2e}.field-checkbox{justify-content:space-between;align-items:center;display:flex}.field-disabled{background:#ffffff08;border-radius:18px;padding:14px 16px}.field-disabled p{color:#edf2ff8a;line-height:1.5}.toggle{cursor:pointer;background:#ffffff1f;border:0;border-radius:999px;align-items:center;width:62px;padding:4px;display:inline-flex}.toggle:disabled{cursor:not-allowed;opacity:.55}.toggle-thumb{background:#f4fbff;border-radius:999px;width:24px;height:24px;transition:transform .18s}.toggle-on{background:#4cc4b56b}.toggle-on .toggle-thumb{transform:translate(30px)}.modal-footer{justify-content:flex-end;gap:12px}@keyframes pulse-ring{0%{opacity:.9;transform:scale(.85)}to{opacity:0;transform:scale(1.25)}}@keyframes complete-banner-in{0%{opacity:0;transform:translate(-50%)translateY(-12px)scale(.94)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}@keyframes firework-burst{0%{opacity:0;transform:scale(.08)rotate(0)}12%{opacity:1}54%{opacity:1;transform:scale(calc(1.8 * var(--firework-max-scale))) rotate(22deg)}to{opacity:0;transform:scale(calc(2.3 * var(--firework-max-scale))) rotate(38deg)}}@media (width<=860px){.app-shell{padding:12px 10px}.toolbar{flex-direction:row;align-items:center;gap:8px;margin-bottom:10px;padding:10px 12px;overflow:hidden}.toolbar-brand{flex:none;justify-content:flex-start}.toolbar-title{letter-spacing:.12em;font-size:.8rem}.button-row{flex-wrap:nowrap;flex:auto;gap:6px;min-width:0}.action-button{border-radius:12px;flex:1 1 0;min-width:0;padding:10px 8px;font-size:.9rem}.game-layout{min-height:calc(100svh - 86px)}.board-frame{min-height:calc(100svh - 86px);padding:8px;overflow:hidden}.board-camera-shell-mobile{touch-action:manipulation;height:100%;min-height:calc(100svh - 102px)}.board-camera-mobile{place-items:center;width:100%;display:grid}.board-perspective{border-radius:18px;padding:6px}.complete-banner{padding:14px 18px;top:78px}}
