@property --ring-fill{syntax:"<number>";inherits:true;initial-value:.5}:root{--bg-primary:#06040a;--bg-secondary:#0c0a14;--bg-tertiary:#141020;--bg-elevated:#1c162c;--text-primary:#ece4f4;--text-secondary:#9890b0;--text-muted:#7a7194;--accent:#00e5ff;--accent-alt:#ff3a8c;--accent-hover:#33ebff;--accent-orange:#ff6a2b;--accent-gold:#fbbf24;--brand-gradient:linear-gradient(135deg, #ff3a8c, #ff6a2b);--brand-gradient-wide:linear-gradient(135deg, #ff3a8c, #ff6a2b, #fbbf24);--board-light:#1e2448;--board-dark:#0e1430;--piece-white:#f0f4ff;--piece-black:#000;--quantum-ring:#ff3a8c;--selection:#00e5ff;--legal-target:#22c55e;--split-first:#3b82f6;--split-second:#f59e0b;--merge-source-a:#8b5cf6;--merge-source-b:#ec4899;--merge-target:#eab308;--danger:#ef4444;--success:#22c55e;--warning:#f59e0b;--border:#ffffff0f;--border-light:#ffffff1a;--font-heading:"Chakra Petch", "Syne", sans-serif;--font-body:"Oxanium", "Outfit", sans-serif;--font-mono:"JetBrains Mono", monospace;--space-1:2px;--space-2:4px;--space-3:8px;--space-4:12px;--space-5:16px;--space-6:24px;--space-7:32px;--space-8:48px;--radius-sm:2px;--radius-md:4px;--radius-lg:8px;--radius-xl:12px;--radius-pill:999px;--duration-fast:.15s;--duration-normal:.2s;--duration-slow:.3s;--z-board:1;--z-piece:2;--z-topbar:10;--z-menu:50;--z-overlay:100;--z-toast:200;--z-modal:300;--z-drag-ghost:500;--board-chrome-h:180px;--board-chrome-w:340px;--board-square-radius:3px;--board-gap:var(--space-1);--clip-corner:polygon(12px 0%, 100% 0%, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0% 100%, 0% 12px);--clip-corner-sm:polygon(8px 0%, 100% 0%, 100% calc(100% - 8px), calc(100% - 8px) 100%, 0% 100%, 0% 8px)}@keyframes fade-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes glow-breathe{0%,to{opacity:.4}50%{opacity:.7}}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}@keyframes ring-pulse{0%,to{opacity:var(--ring-opacity,.75)}50%{opacity:calc(var(--ring-opacity,.75) * .5)}}@keyframes toast-in{0%{opacity:0;transform:translate(30px)scale(.95)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes overlay-slide-up{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes hero-glow{0%,to{filter:blur(60px);background-position:0%}50%{filter:blur(80px);background-position:100%}}@keyframes stat-count{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}@keyframes border-glow-pulse{0%,to{border-color:#00e5ff26}50%{border-color:#00e5ff4d}}@keyframes title-reveal{0%{opacity:0;letter-spacing:.5em;filter:blur(8px)}to{opacity:1;letter-spacing:.12em;filter:blur()}}@keyframes brand-gradient-flow{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes star-twinkle{0%,to{opacity:.15}50%{opacity:.6}}@keyframes corner-accent-pulse{0%,to{opacity:.3}50%{opacity:.6}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden}body{font-family:var(--font-body);background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:300;line-height:1.5}body:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(1.5px 1.5px at 12% 18%,#00e5ff59,#0000) 0 0/380px 320px,radial-gradient(1.2px 1.2px at 28% 65%,#ff3a8c4d,#0000) 0 0/320px 280px,radial-gradient(1.8px 1.8px at 45% 8%,#ff6a2b40,#0000) 0 0/420px 360px,radial-gradient(1px 1px at 62% 42%,#fff3,#0000) 0 0/280px 240px,radial-gradient(1.4px 1.4px at 78% 72%,#00e5ff33,#0000) 0 0/360px 300px,radial-gradient(1.2px 1.2px at 88% 25%,#ff3a8c33,#0000) 0 0/300px 260px,radial-gradient(1.6px 1.6px at 35% 88%,#ff6a2b2e,#0000) 0 0/260px 320px,radial-gradient(.9px .9px at 55% 52%,#c8b4ff26,#0000) 0 0/340px 300px,radial-gradient(1.3px 1.3px at 5% 78%,#ffffff26,#0000) 0 0/400px 340px,radial-gradient(1.7px 1.7px at 92% 88%,#ff3a8c26,#0000) 0 0/380px 320px,radial-gradient(.8px .8px at 18% 42%,#00e5ff2e,#0000) 0 0/300px 260px,radial-gradient(1.1px 1.1px at 72% 15%,#ff6a2b1f,#0000) 0 0/350px 290px;position:fixed;inset:0}body:after{content:"";pointer-events:none;z-index:0;background:radial-gradient(at 30% 0,#ff3a8c0f 0%,#0000 45%),radial-gradient(at 70% 0,#ff6a2b0a 0%,#0000 40%),radial-gradient(at 50% 40%,#0000 35%,#0000008c 100%);position:fixed;inset:0}#app{z-index:1;flex-direction:column;height:100vh;display:flex;position:relative;overflow:hidden}#screen-container{flex:1;overflow:hidden auto}h1,h2,h3{font-family:var(--font-heading);letter-spacing:.04em;text-transform:uppercase;font-weight:700;line-height:1.15}h1{font-size:2.2rem}h2{font-size:1.4rem}h3{font-size:1rem}strong{font-weight:600}.btn{border:1px solid var(--border-light);background:var(--bg-tertiary);color:var(--text-primary);font-family:var(--font-heading);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:4px;justify-content:center;align-items:center;gap:6px;padding:10px 20px;font-size:13px;font-weight:500;transition:all .2s;display:inline-flex;position:relative;overflow:hidden}.btn:hover{background:var(--bg-elevated);border-color:#ffffff26;box-shadow:0 0 20px #00e5ff0f}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.btn-sm{border-radius:3px;padding:6px 14px;font-size:11px}.btn-primary{background:var(--brand-gradient);color:#fff;text-shadow:0 1px 2px #0000004d;clip-path:var(--clip-corner-sm);background-size:200% 200%;border:1px solid #ff3a8c66;font-weight:600}.btn-primary:hover{background-size:200% 200%;border-color:#ff3a8c99;animation:3s infinite brand-gradient-flow;box-shadow:0 0 30px #ff3a8c33,0 0 60px #ff6a2b1a}.btn-secondary{border-color:var(--border-light);background:0 0}.btn-secondary:hover{color:var(--accent-alt);border-color:#ff3a8c80;box-shadow:0 0 20px #ff3a8c14}.btn-accent{background:linear-gradient(135deg, var(--accent), #00b8d4);color:#000;clip-path:var(--clip-corner-sm);border-color:#00e5ff4d;font-weight:600}.btn-accent:hover{box-shadow:0 0 25px #00e5ff33}.btn-danger{color:var(--danger);background:#ef444414;border-color:#ef444466}.btn-danger:hover{background:var(--danger);color:#fff;border-color:var(--danger);box-shadow:0 0 20px #ef444433}.btn-topbar{color:var(--text-secondary);background:0 0;border-color:#ffffff14;padding:6px 14px;font-size:11px}.btn-topbar:hover{color:var(--text-primary);box-shadow:none;background:#ff3a8c0f;border-color:#ff3a8c66}.btn-back{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;background:0 0;border:none;gap:4px;padding:6px 0;font-size:13px}.btn-back:hover{color:var(--accent-alt);box-shadow:none;background:0 0;border:none}.screen-back-btn{color:var(--text-secondary);cursor:pointer;height:30px;font-size:11px;font-family:var(--font-heading);letter-spacing:.08em;text-transform:uppercase;-webkit-app-region:no-drag;app-region:no-drag;background:#ffffff08;border:1px solid #ffffff14;border-radius:6px;flex-shrink:0;align-items:center;gap:7px;padding:0 12px 0 8px;font-weight:500;transition:border-color .15s,color .15s,background .15s;display:inline-flex}.screen-back-btn .back-arrow{background:linear-gradient(135deg,#ff2d78,#b44dff);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:11px;transition:transform .15s}.screen-back-btn:hover{color:var(--text-primary);background:#ff3a8c0f;border-color:#ff3a8c66}.screen-back-btn:hover .back-arrow{background:linear-gradient(135deg,#ff5c9a,#c97aff);-webkit-background-clip:text;background-clip:text;transform:translate(-2px)}@keyframes home-fade-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes home-glow-drift{0%,to{opacity:.6;transform:translate(-50%,-40%)scale(1)}33%{opacity:.8;transform:translate(-45%,-35%)scale(1.1)}66%{opacity:.5;transform:translate(-55%,-45%)scale(.95)}}@keyframes home-border-flow{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes home-hero-shimmer{0%{background-position:-200%}to{background-position:200%}}.home-screen{flex-direction:column;height:100vh;display:flex;overflow:hidden}.screen-entering .home-screen{animation:.3s fade-in}.home-topbar{padding:14px 28px;padding-left:max(28px, env(titlebar-area-x,28px));padding-right:max(28px, calc(100% - env(titlebar-area-x,100%) - env(titlebar-area-width,0px) + 12px));padding-top:max(14px, env(titlebar-area-y,14px));-webkit-app-region:drag;app-region:drag;border-bottom:1px solid #ffffff0a;flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.home-topbar button,.home-topbar a,.home-topbar nav{-webkit-app-region:no-drag;app-region:no-drag}.home-brand{color:var(--text-secondary);align-items:center;gap:10px;display:flex}.home-brand-icon{color:var(--accent);opacity:.8;display:flex}.home-brand-text{font-family:var(--font-heading);letter-spacing:.14em;text-transform:uppercase;background:var(--brand-gradient);-webkit-text-fill-color:transparent;background-size:200% 200%;-webkit-background-clip:text;background-clip:text;font-size:12px;font-weight:600;animation:6s infinite brand-gradient-flow}.home-brand-badge{font-family:var(--font-heading);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-left:4px;font-size:9px;font-weight:500}.home-topbar-right{align-items:center;gap:16px;display:flex}.topbar-short{display:none}.home-user{align-items:center;gap:10px;display:flex}.user-name{color:var(--text-muted);font-size:12px;font-family:var(--font-mono)}.home-auth-btn{color:var(--accent-alt);font-family:var(--font-body);cursor:pointer;letter-spacing:.02em;background:#ff2d7814;border:1px solid #ff2d7866;border-radius:6px;padding:6px 16px;font-size:12px;font-weight:600;transition:all .2s}.home-auth-btn:hover{background:#ff2d7826;border-color:#ff2d7899;box-shadow:0 0 16px #ff2d781f}.home-auth-btn--profile{border-color:var(--border-light);color:var(--text-secondary);background:0 0}.home-auth-btn--profile:hover{border-color:var(--accent);color:var(--accent);background:#00e5ff0a;box-shadow:0 0 12px #00e5ff14}.home-body{flex:1;justify-content:center;align-items:center;display:flex;overflow:hidden auto}.home-hero{flex-direction:column;align-items:center;gap:40px;width:100%;max-width:780px;padding:32px 36px 40px;display:flex;position:relative;overflow:visible}.home-hero-glow{pointer-events:none;filter:blur(40px);background:radial-gradient(at 30%,#ff3a8c1f 0%,#0000 55%),radial-gradient(at 70% 40%,#ff6a2b14 0%,#0000 50%),radial-gradient(at 50% 60%,#00e5ff0d 0%,#0000 60%);width:1000px;height:700px;animation:12s ease-in-out infinite home-glow-drift;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.home-hero-text{z-index:1;text-align:center;position:relative}.home-title{font-family:var(--font-heading);letter-spacing:.1em;text-transform:uppercase;color:#fff;z-index:1;text-shadow:0 0 40px #ff3a8c33,0 0 80px #ff6a2b1f;font-size:clamp(2.4rem,5vw,3.4rem);font-weight:700;line-height:.9;position:relative}.home-title-accent{background:var(--brand-gradient);-webkit-text-fill-color:transparent;background-size:200% 200%;-webkit-background-clip:text;background-clip:text;animation:4s infinite brand-gradient-flow}.home-footer{bottom:max(12px, env(safe-area-inset-bottom,0px));justify-content:center;align-items:center;gap:var(--space-5);z-index:1;display:flex;position:fixed;left:0;right:0}.home-version{letter-spacing:.05em;color:var(--text-muted,#fff3);-webkit-user-select:none;user-select:none;cursor:pointer;font-size:10px;font-family:var(--font-mono);transition:color var(--duration-fast) ease;background:0 0;border:none;padding:4px 8px}.home-version:hover{color:var(--accent,#00e5ff)}.home-footer-legal{gap:var(--space-4);display:flex}.home-footer-legal a{font-family:var(--font-body);color:var(--text-muted,#fff3);transition:color var(--duration-fast) ease;font-size:10px;text-decoration:none}.home-footer-legal a:hover{color:var(--accent,#00e5ff)}.home-subtitle{color:var(--text-secondary);letter-spacing:.12em;text-transform:uppercase;font-size:13px;font-weight:400;font-family:var(--font-heading);z-index:1;margin-top:12px;position:relative}.home-early-access{color:var(--text-tertiary,#6a5a62);letter-spacing:.04em;z-index:1;opacity:.8;margin-top:10px;font-size:11px;font-weight:400;position:relative}.home-hero-actions{z-index:1;grid-template-columns:repeat(2,1fr);gap:12px;width:100%;display:grid;position:relative}.mode-hero-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);cursor:pointer;text-align:left;font-family:var(--font-body);color:var(--text-primary);clip-path:var(--clip-corner);background:#0c0a14cc;border:1px solid #ffffff14;border-radius:2px;padding:18px 22px 16px;transition:transform .25s,box-shadow .25s,border-color .25s;position:relative;overflow:hidden}.mode-hero-card:after{content:"";pointer-events:none;border-top:2px solid #0000;border-left:2px solid #0000;width:24px;height:24px;transition:border-color .3s;position:absolute;top:0;left:0}.mode-hero-card-bg{opacity:0;transition:opacity .35s;position:absolute;inset:0}.mode-hero-card--orange .mode-hero-card-bg{background:linear-gradient(135deg,#ff6a2b1a 0%,#ff3a8c0a 50%,#0000 80%)}.mode-hero-card--magenta .mode-hero-card-bg{background:linear-gradient(135deg,#ff3a8c1f 0%,#ff6a2b0d 50%,#0000 80%)}.mode-hero-card:hover .mode-hero-card-bg{opacity:1}.mode-hero-card--orange{border-color:#ff6a2b40 #ff6a2b40 #ff6a2b40 #ff6a2bb3;border-left-style:solid;border-left-width:3px}.mode-hero-card--orange:after{border-top-color:#ff6a2b80;border-left-color:#ff6a2b80}.mode-hero-card--magenta{border-color:#ff3a8c40 #ff3a8c40 #ff3a8c40 #ff3a8cb3;border-left-style:solid;border-left-width:3px}.mode-hero-card--magenta:after{border-top-color:#ff3a8c80;border-left-color:#ff3a8c80}.mode-hero-card:hover{transform:translateY(-3px)}.mode-hero-card--orange:hover{border-color:#ff6a2b80;box-shadow:0 8px 32px #00000080,0 0 40px #ff6a2b1f}.mode-hero-card--orange:hover:after{border-top-color:#ff6a2bcc;border-left-color:#ff6a2bcc}.mode-hero-card--magenta:hover{border-color:#ff3a8c80;box-shadow:0 8px 32px #00000080,0 0 40px #ff3a8c1f}.mode-hero-card--magenta:hover:after{border-top-color:#ff3a8ccc;border-left-color:#ff3a8ccc}.mode-hero-card:active{transform:translateY(-1px)scale(.99)}.mode-hero-card-content{z-index:1;align-items:center;gap:10px;margin-bottom:6px;display:flex;position:relative}.mode-hero-card-icon{filter:saturate(1.3);font-size:22px;line-height:1}.mode-hero-card-label{font-family:var(--font-heading);letter-spacing:.08em;text-transform:uppercase;flex:1;font-size:15px;font-weight:600}.mode-hero-card-arrow{color:var(--text-muted);font-size:18px;transition:transform .2s,color .2s}.mode-hero-badge{min-width:18px;height:18px;font-size:11px;font-weight:700;font-family:var(--font-body);color:var(--accent);vertical-align:middle;background:#00e5ff33;border-radius:9px;justify-content:center;align-items:center;margin-left:6px;padding:0 5px;line-height:1;animation:2s ease-in-out infinite corr-pulse;display:inline-flex}.mode-hero-card--orange:hover .mode-hero-card-arrow{color:var(--accent-orange);transform:translate(4px)}.mode-hero-card--magenta:hover .mode-hero-card-arrow{color:var(--accent-alt);transform:translate(4px)}.mode-hero-card-desc{color:var(--text-secondary);z-index:1;font-size:12px;font-weight:300;line-height:1.5;position:relative}.home-modes{flex-direction:column;gap:28px;padding:8px 36px 48px;display:flex}.screen-entering .home-topbar{animation:.4s .1s both home-fade-in}.screen-entering .home-hero{animation:.5s .15s both home-fade-in}.screen-entering .mode-section{animation:.5s both home-fade-in}.screen-entering .mode-section:first-child{animation-delay:.3s}.screen-entering .mode-section:nth-child(2){animation-delay:.4s}.screen-entering .mode-section:nth-child(3){animation-delay:.5s}.mode-section-title{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:12px;margin-bottom:10px;padding-left:2px;font-size:10px;font-weight:500;display:flex}.mode-section-title:after{content:"";background:linear-gradient(to right, var(--border), transparent 80%);flex:1;height:1px}.mode-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;display:grid}.mode-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--text-primary);cursor:pointer;text-align:left;font-family:var(--font-body);background:#0c0a1499;border:1px solid #ffffff0f;border-radius:2px;align-items:flex-start;gap:14px;width:100%;padding:16px 18px;transition:all .25s;display:flex;position:relative;overflow:hidden}.mode-card-glow{opacity:0;pointer-events:none;background:radial-gradient(at 20% 30%,#00e5ff0a,#0000 70%);transition:opacity .3s;position:absolute;inset:0}.mode-card:before{content:"";border-radius:inherit;-webkit-mask-composite:xor;opacity:0;pointer-events:none;background:linear-gradient(135deg,#00e5ff26,#0000 40% 60%,#ff2d781a);padding:1px;transition:opacity .3s;position:absolute;inset:-1px;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.mode-card:hover:not(.disabled):before,.mode-card:hover:not(.disabled) .mode-card-glow{opacity:1}.mode-card:hover:not(.disabled){border-color:#ffffff14;transform:translateY(-2px);box-shadow:0 6px 24px #00000059}.mode-card:active:not(.disabled){transform:translateY(0)scale(.99)}.mode-card.disabled{opacity:.4;cursor:not-allowed}.mode-card.disabled .mode-card-glow{display:none}.mode-card-icon{filter:saturate(1.1);flex-shrink:0;margin-top:1px;font-size:24px;line-height:1}.mode-card-content{z-index:1;flex:1;min-width:0;position:relative}.mode-card-title{font-family:var(--font-heading);letter-spacing:.08em;text-transform:uppercase;margin-bottom:3px;font-size:13px;font-weight:600}.mode-card-desc{color:var(--text-muted);font-size:12px;line-height:1.45}.mode-card-badge{color:var(--accent-alt);font-size:8px;font-weight:600;font-family:var(--font-heading);letter-spacing:.1em;text-transform:uppercase;z-index:1;background:#ff2d781a;border:1px solid #ff2d7826;border-radius:2px;padding:2px 8px;position:absolute;top:10px;right:10px}@media (width<=640px){.home-hero{padding:24px 20px 28px}.home-body{align-items:flex-start}.home-hero-actions{grid-template-columns:1fr}.home-modes{padding:8px 20px 40px}.mode-grid{grid-template-columns:1fr}.home-topbar{padding:12px 16px}.home-title{font-size:2.2rem}.home-brand-badge{display:none}.home-topbar-right{gap:6px}.btn-topbar{padding:4px 8px;font-size:.72rem}.topbar-full{display:none}.topbar-short{display:inline}}.setup-screen{flex-direction:column;min-height:100dvh;display:flex;overflow-y:auto}.screen-entering .setup-screen{animation:.5s fade-up}.setup-screen-body{flex-direction:column;flex:1;justify-content:center;gap:24px;width:100%;max-width:520px;margin:0 auto;padding:2.5rem 1.5rem 3rem;display:flex}.setup-row{gap:24px;display:flex}.setup-section{flex-direction:column;gap:10px;display:flex}.setup-section--flex{flex:1;min-width:0}.setup-label{font-family:var(--font-heading);color:var(--text-muted);text-transform:uppercase;letter-spacing:.18em;font-size:10px;font-weight:600}.setup-options{gap:6px;display:flex}.option-btn{border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-secondary);font-size:12px;font-family:var(--font-heading);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;border-radius:4px;padding:9px 16px;font-weight:500;transition:all .2s}.option-btn.active{border-color:var(--accent);color:var(--accent);background:#00e5ff14;box-shadow:0 0 16px #00e5ff14,inset 0 0 8px #00e5ff0a}.option-btn:hover:not(.active){border-color:var(--border-light);background:var(--bg-elevated)}.setup-time-presets{flex-wrap:wrap;gap:6px;display:flex}.setup-time-custom{align-items:flex-end;gap:8px;margin-top:4px;display:flex}.setup-time-custom label{color:var(--text-muted);font-size:10px;font-family:var(--font-heading);letter-spacing:.08em;text-transform:uppercase;flex-direction:column;gap:4px;display:flex}.setup-time-custom input{border:1px solid var(--border);background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-mono);border-radius:4px;width:80px;padding:8px 10px;font-size:13px;transition:border-color .2s}.setup-time-custom input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 12px #00e5ff1a}.setup-side-visual{gap:8px;display:flex}.setup-side-btn{border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;text-align:center;font-family:var(--font-heading);letter-spacing:.06em;border-radius:4px;flex-direction:row;flex:1;justify-content:center;align-items:center;gap:8px;padding:12px 8px;transition:all .2s;display:flex}.setup-side-btn.active{border-color:var(--accent);background:#00e5ff0f;box-shadow:0 0 20px #00e5ff1a}.setup-side-btn:hover:not(.active){border-color:var(--border-light);background:var(--bg-elevated)}.setup-side-icon{justify-content:center;align-items:center;font-size:22px;display:flex}.setup-side-icon .piece-svg{width:1em;height:1em}.setup-side-label{font-size:13px;font-weight:600}.setup-hint{color:var(--text-muted);margin:2px 0 0;font-size:11px}.setup-custom-ai-file,.setup-custom-ai-url,.setup-custom-ai-options{margin-top:6px}.setup-custom-ai-url input,.setup-custom-ai-options input{border:1px solid var(--border);background:var(--bg-primary);width:100%;color:var(--text-primary);font-family:var(--font-mono);box-sizing:border-box;border-radius:4px;padding:9px 12px;font-size:12px;transition:border-color .2s}.setup-custom-ai-url input:focus,.setup-custom-ai-options input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 12px #00e5ff1a}.setup-custom-ai-url input::placeholder,.setup-custom-ai-options input::placeholder{color:var(--text-muted);opacity:.6}.setup-file-label{cursor:pointer;display:block}.setup-file-label input[type=file]{display:none}.setup-file-btn{border:1px dashed var(--border);background:var(--bg-primary);width:100%;color:var(--text-muted);font-family:var(--font-mono);text-align:center;box-sizing:border-box;border-radius:4px;padding:9px 12px;font-size:12px;transition:border-color .2s,color .2s;display:block}.setup-file-label:hover .setup-file-btn{border-color:var(--accent);color:var(--text-primary)}.btn-start{letter-spacing:.1em;border-radius:4px;width:100%;margin-top:8px;padding:16px 32px;font-size:15px;font-weight:600}.gameplay-screen{grid-template-rows:auto 1fr auto;grid-template-areas:"topbar""center""status";height:100dvh;display:grid;overflow:hidden}[data-mode=sandbox]{--board-chrome-h:150px;--board-chrome-w:560px}.gameplay-topbar{z-index:var(--z-topbar);grid-area:topbar}.gameplay-topbar-center{align-items:center;display:flex}.gameplay-mode-label{font-family:var(--font-heading);letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary);font-size:14px;font-weight:600}.gameplay-topbar-actions{align-items:center;gap:4px;display:flex}.sound-toggle-btn{opacity:.7;transition:opacity .15s}.sound-toggle-btn:hover{opacity:1}.gameplay-center-group,.gameplay-center{grid-area:center;justify-content:center;align-items:center;gap:24px;padding:16px 24px;display:flex;overflow:hidden}.gameplay-board-col{flex-direction:column;flex-shrink:0;align-items:center;display:flex}.gameplay-top-slot,.gameplay-bottom-slot{width:min(calc(100vh - var(--board-chrome-h)), calc(100vw - var(--board-chrome-w)));align-self:flex-end;max-width:640px}.gameplay-top-banner,.gameplay-bottom-banner{padding:6px 0}.player-banner{max-width:none}.gameplay-board-area{justify-content:center;align-items:center;min-height:0;display:flex}.gameplay-captured-panel{display:none}@media (width>=769px){.gameplay-captured-panel{pointer-events:none;flex-direction:column;justify-content:center;width:max-content;display:flex;position:absolute;top:0;bottom:0;right:calc(100% + 48px)}.gameplay-eval-bar:empty~.gameplay-captured-panel{right:calc(100% + 8px)}.gameplay-captured-panel .captured-pieces{pointer-events:auto;justify-content:center;gap:0;height:100%}.gameplay-captured-panel .captured-row{flex-direction:column;gap:0;min-height:0;font-size:18px}.gameplay-captured-panel .captured-group{letter-spacing:normal;flex-direction:column;display:flex}.gameplay-captured-panel .material-advantage{text-align:center;margin-top:2px;margin-left:0}}.gameplay-right-panel{border:1px solid var(--border);background:#14102099;border-radius:3px;flex-direction:column;flex-shrink:0;align-self:center;width:260px;height:60vh;margin:0 8px;padding:0 12px;display:flex;overflow:hidden;transform:translateY(22px)}.gameplay-info-tabs,.gameplay-right-panel .gameplay-captured-tab{display:none}.gameplay-status,.gameplay-footer{grid-area:status}.board-container{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.board-coords{grid-template-rows:1fr auto;grid-template-columns:auto 1fr;gap:0;display:grid;position:relative}.board-rank-labels,.board-file-labels{display:none}.board-coords.show-coords{gap:4px}.board-coords.show-coords .board-rank-labels{flex-direction:column;grid-area:1/1;justify-content:space-around;align-items:center;padding:0 3px;display:flex}.board-coords.show-coords .board-file-labels{grid-area:2/2;justify-content:space-around;align-items:center;padding:3px 0;display:flex}.board-coords.show-coords .board{grid-area:1/2}.board-coord-label{font-family:var(--font-mono);color:var(--text-muted);-webkit-user-select:none;user-select:none;opacity:.7;font-size:10px;font-weight:500;line-height:1}.board{gap:var(--board-gap);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;width:min(calc(100vh - var(--board-chrome-h)), calc(100vw - var(--board-chrome-w)));height:min(calc(100vh - var(--board-chrome-h)), calc(100vw - var(--board-chrome-w)));border-radius:4px;grid-template-rows:repeat(8,1fr);grid-template-columns:repeat(8,1fr);max-width:640px;max-height:640px;display:grid;position:relative;overflow:visible;box-shadow:0 16px 48px #0009,0 0 0 1px #00e5ff0f,0 0 80px #00e5ff08}.square{border-radius:var(--board-square-radius);cursor:pointer;-webkit-user-select:none;user-select:none;border:2px solid #0000;flex-direction:column;justify-content:center;align-items:center;transition:border-color .15s,box-shadow .15s;display:flex;position:relative;overflow:visible}.square *{-webkit-user-select:none;user-select:none}.light{background:var(--board-light)}.dark{background:var(--board-dark)}.selected{border-color:var(--selection);box-shadow:inset 0 0 16px #00e5ff33,0 0 8px #00e5ff26}.last-move{background-color:#ffaa0026}.last-move.light{background-color:#fa03}.premove{background-color:#0096ff33}.premove.light{background-color:#0096ff40}.legal-target{border-color:var(--legal-target)}.legal-target:before{content:"";background:var(--legal-target);opacity:.45;border-radius:50%;width:28%;height:28%;position:absolute;box-shadow:0 0 8px #22c55e4d}.split-first-target{border-color:var(--split-first);box-shadow:inset 0 0 12px #3b82f640}.split-second-target{border-color:var(--split-second);box-shadow:inset 0 0 12px #f59e0b40}.merge-source-a{border-color:var(--merge-source-a);box-shadow:inset 0 0 12px #8b5cf640}.merge-source-b{border-color:var(--merge-source-b);box-shadow:inset 0 0 12px #ec489940}.merge-target{border-color:var(--merge-target);box-shadow:inset 0 0 10px #eab30833}.overlay-phase{background-image:linear-gradient(135deg,#00e5ff26,#0000 55%)}.entanglement-ring{pointer-events:none;z-index:3;width:calc(100% + 20px);height:calc(100% + 20px);position:absolute;inset:-10px;overflow:visible}.entanglement-web-overlay{pointer-events:none;z-index:4;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.exact-probability-badge{font-family:var(--font-mono);pointer-events:none;z-index:5;white-space:nowrap;color:#fffffff2;opacity:0;background:#000000a6;border-radius:3px;padding:1px 4px;font-size:9px;font-weight:700;line-height:1;transition:opacity .15s;position:absolute;bottom:1px;left:50%;transform:translate(-50%)}.square:hover .exact-probability-badge{opacity:1}.phase-indicator{pointer-events:none;z-index:3;transform:rotate(var(--phase-deg,0deg));position:absolute;inset:0}.phase-tick{filter:drop-shadow(0 0 3px #78b4ff99);background:#dcff64e6;width:7px;height:7px;position:absolute;top:2px;left:50%;transform:translate(-50%)rotate(45deg);box-shadow:0 0 4px #dcff6499,0 0 8px #dcff644d}.sandbox-menu-divider{background:#ffffff14;height:1px;margin:4px 8px}.sandbox-menu-section-label{text-transform:uppercase;letter-spacing:.05em;color:#ffffff59;-webkit-user-select:none;user-select:none;padding:4px 12px 2px;font-size:10px;font-weight:600}.sandbox-menu-item.active,.sandbox-menu-item.active i{color:#60a5fa}.sq-label{font-family:var(--font-mono);-webkit-user-select:none;user-select:none;pointer-events:none;z-index:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:10px;font-weight:600;line-height:1;position:absolute}.sq-label-rank{top:-1px;left:0}.sq-label-file{bottom:-1px;right:0}.light .sq-label{color:#3a4478;text-shadow:none}.dark .sq-label{color:#283060;text-shadow:none}.piece-token{z-index:2;background:#ffffff0f;border-radius:999px;justify-content:center;align-items:center;width:78%;height:78%;display:inline-flex;position:relative;box-shadow:inset 0 0 0 1px #ffffff1a,0 2px 6px #00000080}.piece-ring-wrap{z-index:2;justify-content:center;align-items:center;width:78%;height:78%;display:inline-flex;position:relative}.ring-gauge{pointer-events:none;z-index:2;width:calc(100% + 4px);height:calc(100% + 4px);transition:opacity .35s;position:absolute;inset:-2px;overflow:visible}.piece-ring-wrap,.piece-token{transition:--ring-fill .35s,opacity .35s}.ring-gauge circle.ring-glow{fill:none;stroke:var(--ring-color,var(--quantum-ring));stroke-width:12px;stroke-linecap:round;transform-origin:50%;opacity:calc(var(--ring-opacity,.75) * .4);filter:blur(3px);transition:stroke-dasharray .35s,stroke-dashoffset .35s;animation:2.5s ease-in-out infinite ring-pulse;transform:rotate(-90deg)}.ring-gauge circle.ring-main{fill:none;stroke:var(--ring-color,var(--quantum-ring));stroke-width:7px;stroke-linecap:round;transform-origin:50%;opacity:var(--ring-opacity,.75);transition:stroke-dasharray .35s,stroke-dashoffset .35s;animation:2.5s ease-in-out infinite ring-pulse;transform:rotate(-90deg)}.ring-gauge circle.ring-core{fill:none;stroke:#fff;stroke-width:2px;stroke-linecap:round;transform-origin:50%;opacity:calc(var(--ring-opacity,.75) * .6);transition:stroke-dasharray .35s,stroke-dashoffset .35s;animation:2.5s ease-in-out infinite ring-pulse;transform:rotate(-90deg)}.measurement-anim-overlay{pointer-events:none;z-index:20;position:absolute;inset:0}.measurement-anim-eye,.measurement-anim-result{pointer-events:none;background:#000000b3;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;transform:translate(-50%,-50%)}.measurement-anim-eye svg{filter:drop-shadow(0 0 8px #38e9e9cc)drop-shadow(0 0 16px #38e9e966);width:85%;height:85%}.measurement-anim-eye{animation:.6s ease-in-out meas-eye-pulse}@keyframes meas-eye-pulse{0%{opacity:0;transform:translate(-50%,-50%)scale(.6)}30%{opacity:1;transform:translate(-50%,-50%)scale(1.05)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.measurement-anim-result{animation:.3s meas-result-pop}.measurement-anim-result svg{filter:drop-shadow(0 0 4px);width:55%;height:55%}@keyframes meas-result-pop{0%{opacity:0;transform:translate(-50%,-50%)scale(.4)}60%{transform:translate(-50%,-50%)scale(1.15)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.move-arrow-overlay{pointer-events:none;z-index:18;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.move-arrow-group{opacity:0;animation:arrowFadeIn var(--arrow-dur,.4s) ease-out var(--arrow-delay,0s) forwards}.move-arrow-fade-out .move-arrow-group{animation:.4s ease-out forwards arrowFadeOut}@keyframes arrowFadeIn{0%{opacity:0}30%{opacity:1}to{opacity:1}}@keyframes arrowFadeOut{0%{opacity:1}to{opacity:0}}.move-ghost-overlay{pointer-events:none;z-index:18;position:absolute;inset:0}.move-ghost-piece{pointer-events:none;filter:drop-shadow(0 0 8px #22d3ee99);justify-content:center;align-items:center;width:12.5%;height:12.5%;display:flex;position:absolute;transform:translate(-50%,-50%)}.move-ghost-piece .piece-svg{width:60%;height:60%}.move-ghost-piece.piece-white .piece-svg{fill:#ffffffd9}.move-ghost-piece.piece-black .piece-svg{fill:#ff8c00d9}.move-ghost-fade-out .move-ghost-piece{animation:.3s ease-out forwards ghostFadeOut!important}@keyframes ghostSlide{0%{left:var(--ghost-from-x);top:var(--ghost-from-y);opacity:0}15%{opacity:var(--ghost-opacity,.5)}85%{opacity:var(--ghost-opacity,.5)}to{left:var(--ghost-to-x);top:var(--ghost-to-y);opacity:var(--ghost-opacity,.5)}}@keyframes ghostFadeOut{0%{opacity:var(--ghost-opacity,.5)}to{opacity:0}}.board.overlays-active .ring-gauge circle.ring-glow{opacity:.15;animation:none}.board.overlays-active .ring-gauge circle.ring-main{opacity:.35;animation:none}.board.overlays-active .ring-gauge circle.ring-core{opacity:.2;animation:none}.board.move-info-flash .entanglement-ring,.board.move-info-flash .phase-indicator,.board.move-info-flash .probability-badge,.board.move-info-flash .entanglement-web-overlay{opacity:1;transition:none}.board.move-info-flash-out .entanglement-ring,.board.move-info-flash-out .phase-indicator,.board.move-info-flash-out .probability-badge,.board.move-info-flash-out .entanglement-web-overlay{animation:.5s ease-out forwards moveInfoFadeOut}@keyframes moveInfoFadeOut{0%{opacity:1}to{opacity:0}}.piece-symbol{justify-content:center;align-items:center;font-size:min(4.2vw,42px);line-height:1;display:flex}.piece-svg{fill:currentColor;width:1em;height:1em;display:block}.piece-symbol.piece-white{color:var(--piece-white);filter:drop-shadow(0 1px #0000004d)drop-shadow(0 2px 4px #000000b3)}.piece-symbol.piece-black{color:var(--piece-black);filter:drop-shadow(0 -1px #ffffff80)drop-shadow(0 1px #000000b3)drop-shadow(0 0 4px #fff3)}.piece-token:has(.piece-white){background:radial-gradient(circle at 40% 32%,#ffffff2e,#a0b4d20f);box-shadow:inset 0 0 0 1.5px #ffffff26,0 2px 6px #00000080}.piece-token:has(.piece-black){background:radial-gradient(circle at 40% 32%,#aa9bbe99,#7864918c);box-shadow:inset 0 0 0 1.5px #ffffff2e,0 2px 6px #0009}.piece-token .piece-symbol.piece-white{color:#fff;filter:drop-shadow(0 1px 2px #0009)}.piece-token .piece-symbol.piece-black{color:var(--piece-black);filter:drop-shadow(0 -1px #ffffff80)drop-shadow(0 1px #000000b3)drop-shadow(0 0 4px #fff3)}.player-banner{border:1px solid var(--border);background:#0c0a1480;border-radius:3px;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:8px 16px;transition:all .25s;display:flex}.player-banner.active{background:#00e5ff14;border-color:#00e5ff80;box-shadow:0 0 24px #00e5ff26}.player-info{align-items:center;gap:8px;display:flex}.player-color-dot{border-radius:50%;width:10px;height:10px}.player-color-dot.white{background:var(--piece-white);box-shadow:0 0 6px #e8ecf44d}.player-color-dot.black{background:var(--piece-black);border:1px solid var(--text-muted)}.player-name{font-family:var(--font-heading);font-size:14px;font-weight:600}.player-elo{color:var(--text-muted);font-size:12px;font-family:var(--font-mono)}.player-timer{font-family:var(--font-heading);color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--border);text-align:center;letter-spacing:.08em;border-radius:3px;min-width:74px;padding:4px 12px;font-size:17px;font-weight:600}.status-bar{width:100%;max-width:640px;padding:4px 0}.status-main{color:var(--text-primary);font-size:14px;font-weight:500}.status-measurement{color:var(--warning);font-size:13px;font-family:var(--font-mono);margin-top:3px;margin-left:16px;margin-right:16px}.status-info{color:var(--text-muted);font-size:12px;font-family:var(--font-mono);gap:20px;margin-top:4px;display:flex}.move-history{border:1px solid var(--border);background:#14102099;border-radius:3px;overflow:hidden}.move-history-header{font-family:var(--font-heading);color:var(--text-muted);text-transform:uppercase;letter-spacing:.18em;border-bottom:1px solid var(--border);padding:10px 14px;font-size:10px;font-weight:600}.move-history-list{max-height:200px;padding:4px 0;overflow-y:auto}.move-history-empty{text-align:center;color:var(--text-muted);font-size:12px;font-family:var(--font-mono);padding:18px}.move-row{font-family:var(--font-mono);grid-template-columns:32px 1fr 1fr;gap:4px;padding:3px 14px;font-size:12px;transition:background .15s;display:grid}.move-row:hover{background:#ffffff08}.move-num{color:var(--text-muted);opacity:.6}.move-white,.move-black{color:var(--text-secondary)}.move-cell{cursor:pointer;border-radius:3px;padding:1px 4px;transition:background .12s}.move-cell:hover{background:#ffffff14}.move-cell.active{color:var(--accent-magenta,#ff2d78);background:#ff2d782e;font-weight:600}.move-white.blocked,.move-black.blocked{color:var(--warning);opacity:.7}.history-nav-controls{border-top:1px solid var(--border);flex-shrink:0;justify-content:center;gap:4px;padding:6px 8px;display:flex}.history-nav-btn{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;font-size:16px;line-height:1;font-family:var(--font-mono);background:#14102099;border-radius:4px;flex:1;padding:6px 14px;transition:background .12s,color .12s}.history-nav-btn:hover:not(:disabled){color:var(--text-primary);background:#ffffff14}.history-nav-btn:disabled{opacity:.3;cursor:default}.history-viewing-banner{font-family:var(--font-mono);color:var(--accent-magenta,#ff2d78);background:#ff2d781f;border:1px solid #ff2d7840;border-radius:4px;justify-content:center;align-items:center;gap:8px;padding:4px 10px;font-size:11px;display:none}.history-viewing-label{opacity:.9}.history-live-link{color:var(--accent-magenta,#ff2d78);cursor:pointer;font-family:var(--font-mono);background:0 0;border:none;padding:0;font-size:12px;text-decoration:underline}.history-live-link:hover{opacity:.8}.gameplay-board-area.viewing-history .gameplay-board{opacity:.75;pointer-events:none}.captured-pieces{flex-direction:column;gap:4px;padding:8px 0;display:flex}.captured-row{flex-wrap:wrap;align-items:center;gap:2px;min-height:20px;font-size:16px;display:flex}.captured-group{letter-spacing:-2px;display:inline}.captured-icon{align-items:center;font-style:normal;display:inline-flex}.captured-icon .piece-svg{width:1em;height:1em}.captured-white{color:var(--piece-white)}.captured-black{color:#8a8fa8}.captured-partial{filter:saturate(.5)}.material-advantage{font-size:11px;font-weight:600;font-family:var(--font-mono);color:var(--accent);margin-left:4px}.quantum-inspector{border:1px solid var(--border);background:#14102099;border-radius:3px;padding:12px 14px}.inspector-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.inspector-header h3{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.15em;color:var(--text-muted);font-size:11px;font-weight:700}.inspector-toggle{color:var(--text-muted);cursor:pointer;font-size:11px;font-family:var(--font-mono);align-items:center;gap:5px;display:inline-flex}.inspector-toggle input{accent-color:var(--accent);margin:0}.inspector-capabilities{font-size:10px;font-family:var(--font-mono);color:var(--text-muted);opacity:.7;margin-bottom:8px}.inspector-empty{color:var(--text-muted);font-size:12px}.inspector-detail{font-size:12px}.inspector-square{font-family:var(--font-mono);color:var(--accent);letter-spacing:.05em;margin-bottom:4px;font-size:20px;font-weight:700}.inspector-prob{color:var(--text-secondary);font-family:var(--font-mono);margin-bottom:10px;font-size:12px}.inspector-section{margin-bottom:8px}.inspector-label{font-family:var(--font-heading);color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:3px;font-size:10px;font-weight:700}.inspector-section ul{padding-left:0;list-style:none}.inspector-section li{font-family:var(--font-mono);color:var(--text-secondary);padding:1px 0;font-size:11px}.inspector-none{color:var(--text-muted);font-style:italic}.inspector-value{color:var(--text-muted)}.sandbox-editor{border:1px solid var(--border);background:#14102099;border-radius:3px;padding:16px 20px}.sandbox-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.sandbox-header h3{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.15em;color:var(--text-muted);font-size:11px;font-weight:700}.sandbox-controls{gap:6px;display:flex}.sandbox-controls-play,.sandbox-controls-edit{display:none}.sandbox-palette-play-btn{margin-bottom:8px}.sandbox-palette-play-btn .btn{width:100%}@keyframes gentle-pulse{0%,to{box-shadow:0 0 #ff3a8c00}50%{box-shadow:0 0 12px 2px #ff3a8c40}}.sandbox-play-toggle:not(.btn-danger){animation:2.5s ease-in-out infinite gentle-pulse}.sandbox-palette-with-actions{flex-direction:column;align-items:center;gap:8px;display:flex}.sandbox-palette-actions{flex-direction:column;gap:6px;width:100%;display:flex}.sandbox-palette-actions .btn{width:100%}.sandbox-palette{gap:4px;display:flex}.sandbox-palette-row{flex-direction:column;gap:4px;display:flex}.sandbox-piece{border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);cursor:grab;touch-action:none;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:60px;height:60px;padding:0;transition:all .2s;display:flex;position:relative}.sandbox-piece:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 12px #0000004d,0 0 12px #00e5ff14}.sandbox-piece:active{cursor:grabbing;transform:scale(.93)}.sandbox-piece.selected{border-color:var(--accent);background:#00e5ff14;box-shadow:0 0 12px #00e5ff40,inset 0 0 8px #00e5ff1a}.sandbox-piece-token{width:42px;height:42px}.sandbox-piece .piece-symbol{font-size:34px}.sandbox-piece .piece-bare{font-size:38px}.sandbox-piece-eraser{color:var(--text-muted);font-size:16px;font-weight:600}.sandbox-hint{color:var(--text-muted);margin-top:6px;font-size:11px}.sandbox-fen-row{align-items:center;gap:6px;margin-top:10px;display:flex}.sandbox-fen-row .sandbox-fen-input{flex:1;min-width:0}.sandbox-fen-input{border:1px solid var(--border);background:var(--bg-primary);width:100%;color:var(--text-muted);font-family:var(--font-mono);border-radius:6px;outline:none;padding:8px 10px;font-size:12px;transition:border-color .2s}.sandbox-fen-input:focus{border-color:var(--accent)}.gameover-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:40px;display:flex}.screen-entering .gameover-screen{animation:.5s fade-in}.gameover-result{margin-bottom:48px}.screen-entering .gameover-result{animation:.6s .1s both fade-up}.screen-entering .gameover-stats{animation:.6s .3s both fade-up}.screen-entering .gameover-actions{animation:.6s .5s both fade-up}.screen-entering .gameover-export{animation:.6s .7s both fade-up}.gameover-eyebrow{font-family:var(--font-heading);letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);margin-bottom:12px;font-size:10px;font-weight:500}.gameover-title{font-family:var(--font-heading);letter-spacing:.12em;text-transform:uppercase;background:linear-gradient(135deg, var(--accent) 0%, #fff 40%, var(--accent-alt) 70%, var(--accent-gold) 100%);-webkit-text-fill-color:transparent;text-shadow:none;background-size:300% 300%;-webkit-background-clip:text;background-clip:text;font-size:clamp(2.4rem,6vw,4rem);font-weight:700;animation:4s infinite brand-gradient-flow}.gameover-reason{color:var(--text-muted);font-size:13px;font-family:var(--font-heading);letter-spacing:.12em;text-transform:uppercase;margin-top:10px;font-weight:400}.gameover-stats{flex-wrap:wrap;justify-content:center;gap:16px;margin-bottom:48px;display:flex}.stat{border:1px solid var(--border);min-width:110px;clip-path:var(--clip-corner-sm);background:#0c0a1499;border-radius:2px;flex-direction:column;align-items:center;gap:6px;padding:20px 28px;transition:border-color .3s;display:flex;position:relative}.stat:before{content:"";pointer-events:none;border-top:1px solid #00e5ff33;border-left:1px solid #00e5ff33;width:12px;height:12px;position:absolute;top:0;left:0}.stat:hover{border-color:#00e5ff33}.stat-value{font-family:var(--font-heading);color:var(--accent);letter-spacing:.02em;font-size:28px;font-weight:700;animation:.5s .5s both stat-count}.stat-label{font-family:var(--font-heading);color:var(--text-muted);text-transform:uppercase;letter-spacing:.16em;font-size:9px;font-weight:500}.gameover-actions{gap:14px;display:flex}.gameover-export{opacity:.7;gap:12px;margin-top:12px;display:flex}.gameover-export:hover{opacity:1}.auth-screen{max-width:420px;margin:0 auto;padding:48px 28px}.screen-entering .auth-screen{animation:.5s fade-up}.auth-form,.auth-profile{margin-top:28px}.auth-form{width:100%;max-width:420px;margin-left:auto;margin-right:auto;padding:0 1rem}.auth-form h2,.auth-profile h2{letter-spacing:.04em;margin-bottom:24px;font-weight:800}.auth-form label{font-size:11px;font-family:var(--font-heading);color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;flex-direction:column;gap:6px;margin-bottom:16px;font-weight:600;display:flex}.auth-form input{border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);font-family:var(--font-body);border-radius:3px;padding:12px 16px;font-size:15px;transition:all .2s}.auth-form input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 16px #00e5ff14}.auth-form .btn-primary{width:100%;margin-top:8px;padding:14px;font-size:15px}.auth-error{color:var(--danger);font-size:13px;font-family:var(--font-mono);background:#ef444414;border:1px solid #ef444426;border-radius:3px;margin-bottom:14px;padding:10px 14px;font-size:12px}.profile-info{flex-direction:column;gap:10px;margin-bottom:24px;display:flex}.profile-field{background:var(--bg-secondary);border:1px solid var(--border);border-radius:3px;justify-content:space-between;align-items:center;padding:14px 16px;font-size:14px;display:flex}.profile-field span{color:var(--text-muted);font-size:12px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em}.modal-backdrop{z-index:var(--z-modal);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#050810bf;justify-content:center;align-items:center;animation:.2s fade-in;display:flex;position:fixed;inset:0}.modal-dialog{background:var(--bg-secondary);width:90%;max-width:440px;clip-path:var(--clip-corner);border:1px solid #ff3a8c1a;border-radius:2px;padding:28px;animation:.3s fade-up;box-shadow:0 24px 64px #0009,0 0 40px #ff3a8c0a}.modal-header{font-family:var(--font-heading);margin-bottom:12px;font-size:18px;font-weight:700}.modal-body{color:var(--text-secondary);margin-bottom:24px;font-size:14px;line-height:1.6}.modal-actions{justify-content:flex-end;gap:10px;display:flex}#modal-container:not(.modal-open){display:none}.toast-container{z-index:var(--z-toast);pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;top:16px;right:16px}.toast{border:1px solid var(--border);font-size:13px;font-family:var(--font-body);pointer-events:all;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);clip-path:var(--clip-corner-sm);background:#0c0a14e6;border-radius:3px;align-items:center;gap:10px;padding:12px 16px;animation:.35s ease-out toast-in;display:flex;box-shadow:0 8px 32px #00000080}.toast-info{border-color:#00e5ff4d}.toast-success{border-color:#22c55e4d}.toast-warning{border-color:#f59e0b4d}.toast-error{border-color:#ef44444d}.toast-message{flex:1}.toast-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:18px;line-height:1;transition:color .15s}.toast-close:hover{color:var(--text-primary)}.timer-display{gap:8px;display:flex}.timer-side{background:var(--bg-primary);border:1px solid var(--border);font-family:var(--font-mono);border-radius:8px;align-items:center;gap:6px;padding:4px 12px;font-size:14px;transition:border-color .2s;display:flex}.timer-side.active{border-color:#00e5ff4d}.timer-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:10px;font-weight:600}.timer-value{font-weight:600}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#ffffff1f}.sandbox-layout,[data-mode=sandbox]{grid-template:"topbar""center"minmax(0,1fr)"controls"/1fr;height:100dvh;display:grid;overflow:hidden}[data-mode=sandbox] .gameplay-topbar{grid-area:topbar}.sandbox-center-group,[data-mode=sandbox] .gameplay-center{grid-area:center;justify-content:center;align-items:center;gap:24px;padding:16px 24px;display:flex;overflow:hidden}.sandbox-board-col,[data-mode=sandbox] .gameplay-board-col{flex-direction:column;align-items:stretch;display:flex}.sandbox-fen-bar{padding:0 0 16px}.sandbox-layout .gameplay-board-area,[data-mode=sandbox] .gameplay-board-area{justify-content:center;align-items:flex-start;padding:0;display:flex;overflow:hidden}.sandbox-palette-area{align-self:stretch;align-items:flex-start;padding-top:0;display:flex}.sandbox-palette-area .sandbox-editor{margin-top:auto;margin-bottom:auto;transform:translateY(22px)}.sandbox-statusbar{grid-area:status;display:none}.sandbox-controls{grid-area:controls}.sandbox-topbar{box-sizing:border-box;min-height:52px;z-index:var(--z-topbar);flex-wrap:wrap}.sandbox-topbar-brand:hover{opacity:.8}.sandbox-menu-wrap{position:relative}.sandbox-menu-toggle{font-size:18px}.sandbox-menu-dropdown{background:var(--bg-elevated);border:1px solid var(--border-light);min-width:180px;z-index:var(--z-menu);border-radius:6px;margin-top:6px;padding:4px 0;display:none;position:absolute;top:100%;right:0;box-shadow:0 8px 24px #00000080}.sandbox-menu-dropdown.open{flex-direction:column;display:flex}.sandbox-menu-item{color:var(--text-secondary);font-family:var(--font-body);cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:none;align-items:center;gap:8px;padding:10px 16px;font-size:13px;display:flex}.sandbox-menu-item:hover{color:var(--text-primary);background:#ffffff0f}.sandbox-topbar-center{align-items:center;gap:10px;display:flex}.sandbox-mode-label{font-family:var(--font-heading);letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary);font-size:14px;font-weight:600}.sandbox-topbar-actions{align-items:center;gap:2px;display:flex}.btn-icon{justify-content:center;align-items:center;min-width:32px;min-height:28px;padding:4px 8px;font-size:14px;line-height:1;display:flex}.sandbox-drag-ghost{pointer-events:none;z-index:var(--z-drag-ghost);filter:drop-shadow(0 4px 12px #0009);opacity:.9;font-size:36px;line-height:1;transition:opacity .1s;position:fixed;transform:translate(-50%,-50%)}.sandbox-drag-ghost .piece-token{border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.sandbox-drag-ghost .piece-symbol{font-size:32px}.sandbox-phase-controls{align-items:center;gap:8px;display:flex}.sandbox-phase-pill{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;border-radius:20px;padding:4px 14px;font-size:10px;font-weight:600}.sandbox-phase-pill.editing{background:var(--bg-tertiary);color:var(--accent);border:1px solid var(--border)}.sandbox-phase-pill.playing{background:var(--accent);color:var(--bg-primary)}.sandbox-play-toggle{text-transform:uppercase;letter-spacing:.08em;font-weight:600}.sandbox-toggles{align-items:center;gap:16px;display:flex}.sandbox-toggle{cursor:pointer;font-family:var(--font-body);color:var(--text-muted);white-space:nowrap;align-items:center;gap:6px;font-size:11px;display:flex}.sandbox-toggle input[type=checkbox]{appearance:none;border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:3px;flex-shrink:0;width:14px;height:14px;position:relative}.sandbox-toggle input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}.sandbox-toggle input[type=checkbox]:checked:after{content:"✓";color:var(--bg-primary);font-size:11px;font-weight:700;position:absolute;top:-1px;left:1px}.sandbox-toggle span{-webkit-user-select:none;user-select:none}.sandbox-measurement-toggle{align-items:center;gap:6px;display:flex}.sandbox-toggle-label{font-family:var(--font-body);color:var(--text-muted);white-space:nowrap;font-size:11px}.sandbox-measurement-btns{gap:2px;display:flex}.sandbox-measurement-btn{border:1px solid var(--border);color:var(--text-muted);font-family:var(--font-mono);cursor:pointer;white-space:nowrap;background:0 0;border-radius:4px;padding:3px 10px;font-size:10px;font-weight:500;transition:all .15s}.sandbox-measurement-btn:hover{border-color:var(--border-light);color:var(--text-secondary)}.sandbox-measurement-btn.active{border-color:var(--accent);color:var(--accent);background:#00e5ff0f}.gameplay-moves-header{font-family:var(--font-heading);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 0;font-size:11px;font-weight:600;display:flex}.gameplay-moves-header-left{align-items:center;gap:4px;display:flex}.gameplay-moves-header-right{align-items:center;gap:6px;display:flex}.sandbox-undo-btn:disabled{opacity:.2;cursor:default}.sandbox-rule-icon{color:var(--text-muted);opacity:.35;cursor:pointer;background:0 0;border:none;margin:-4px 0;padding:6px 8px;font-size:14px;transition:opacity .15s,color .15s;position:relative}.sandbox-rule-icon:hover{opacity:.6}.sandbox-rule-icon.active{color:var(--accent);opacity:.8}.sandbox-editing-instructions{text-align:center;flex-direction:column;align-items:center;gap:16px;padding:24px 16px;display:flex}.sandbox-instructions-text{font-family:var(--font-body);color:var(--text-muted);margin:0;font-size:13px;line-height:1.6}.sandbox-play-link{color:var(--accent);cursor:pointer;font-weight:700;text-decoration:none}.sandbox-play-link:hover{text-decoration:underline}.sandbox-instructions-play{text-transform:uppercase;letter-spacing:.08em;padding:8px 32px;font-size:14px;font-weight:600}.gameplay-moves-panel{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.gameplay-info-tab{font-family:var(--font-heading);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);cursor:pointer;opacity:.5;background:0 0;border:none;padding:2px 0;font-size:11px;font-weight:600;transition:opacity .15s,color .15s}.gameplay-info-tab.active{color:var(--text-secondary);opacity:1;border-bottom:2px solid var(--accent)}.gameplay-info-tab:hover{opacity:.8}.gameplay-tab-content{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.gameplay-tab-pane{display:block}.gameplay-info-tab[data-tab=captured],.gameplay-right-panel .move-history-header{display:none}[data-mode=sandbox] .gameplay-right-panel{border:1px solid var(--border);background:#14102099;border-radius:3px;flex-direction:column;flex:none;align-self:center;width:280px;height:60vh;margin:0 8px;padding:0 12px;display:flex;overflow:hidden;transform:translateY(22px)}.sandbox-palette-area{padding:8px}.sandbox-layout[data-phase=playing] .sandbox-palette-area .sandbox-palette,.sandbox-layout[data-phase=playing] .sandbox-palette-area .sandbox-palette-actions,[data-mode=sandbox][data-phase=playing] .sandbox-palette-area .sandbox-palette,[data-mode=sandbox][data-phase=playing] .sandbox-palette-area .sandbox-palette-actions{pointer-events:none;opacity:.3}.sandbox-statusbar{border-top:1px solid var(--border);padding:6px 16px}.sandbox-controls{border-top:1px solid var(--border);background:var(--bg-secondary);align-items:center;gap:6px;padding:6px 12px;display:flex}.sandbox-fen-bar{align-items:center;gap:6px;display:flex}.sandbox-fen-bar-input{border:1px solid var(--border);background:var(--bg-primary);min-width:0;color:var(--text-muted);font-family:var(--font-mono);border-radius:4px;outline:none;flex:1;padding:6px 10px;font-size:12px}.sandbox-fen-bar-input:focus{border-color:var(--accent)}.sandbox-toggles-mobile{display:none}.sandbox-phase-bar{justify-content:center;align-items:center;gap:10px;padding:12px 16px;display:none}.sandbox-phase-hint{font-family:var(--font-body);color:var(--text-muted);font-size:14px}.sandbox-layout[data-phase=playing] .sandbox-editing-only,[data-mode=sandbox][data-phase=playing] .sandbox-editing-only,.sandbox-layout[data-phase=editing] .sandbox-playing-only,[data-mode=sandbox][data-phase=editing] .sandbox-playing-only,.sandbox-topbar .sandbox-topbar-center{display:none}[data-mode=sandbox]>.gameplay-topbar>.gameplay-topbar-center{gap:10px;display:flex}.sandbox-layout[data-phase=playing] .sandbox-phase-bar,[data-mode=sandbox][data-phase=playing] .sandbox-phase-bar,.sandbox-layout[data-phase=editing] .sandbox-measurement-toggle,[data-mode=sandbox][data-phase=editing] .sandbox-measurement-toggle{display:none}.sandbox-layout[data-phase=playing] .sandbox-toggle,[data-mode=sandbox][data-phase=playing] .sandbox-toggle{pointer-events:none;opacity:.4}.piece-bare{-webkit-user-select:none;user-select:none;font-size:min(5.5vw,48px);line-height:1}.piece-bare.piece-white{color:#fff;filter:drop-shadow(0 1px #00000040)drop-shadow(0 2px 4px #0009)}.piece-bare.piece-black{color:var(--piece-black);filter:drop-shadow(0 -1px #ffffff80)drop-shadow(0 1px #000000b3)drop-shadow(0 0 4px #fff3)}.piece-glow.piece-white{color:#fff;filter:drop-shadow(0 0 1px #fffc)drop-shadow(0 1px #00000040)drop-shadow(0 2px 3px #00000080)}.piece-glow.piece-black{color:var(--piece-black);filter:drop-shadow(0 -1px #ffffff80)drop-shadow(0 1px #000000b3)drop-shadow(0 0 4px #fff3)}.piece-outlined.piece-white{color:#fff;filter:drop-shadow(0 2px 4px #000000b3)}.piece-outlined.piece-white .piece-svg{stroke:var(--accent);stroke-width:1.5px;paint-order:stroke fill}.piece-outlined.piece-black{color:#0a0a0a;filter:drop-shadow(0 2px 4px #000c)}.piece-outlined.piece-black .piece-svg{stroke:var(--accent);stroke-width:2px;paint-order:stroke fill}.piece-token-translucent{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff0f;border-radius:999px;justify-content:center;align-items:center;width:70%;height:70%;display:inline-flex;position:relative;box-shadow:inset 0 0 0 1px #ffffff1a,0 2px 8px #0000004d}.piece-token-translucent:has(.piece-white){background:#ffffff1a;box-shadow:inset 0 0 0 1px #ffffff2e,0 2px 8px #0000004d}.piece-token-translucent:has(.piece-black){background:#a08cb440;box-shadow:inset 0 0 0 1px #ffffff1a,0 2px 8px #0006}.piece-token-translucent .piece-symbol.piece-white{color:#fff;filter:drop-shadow(0 1px 2px #00000080)}.piece-token-translucent .piece-symbol.piece-black{color:var(--piece-black);filter:drop-shadow(0 -1px #ffffff80)drop-shadow(0 1px #000000b3)drop-shadow(0 0 4px #fff3)}[data-sandbox-theme=void] .board{background:var(--border)}[data-sandbox-theme=void] .sandbox-topbar{border-bottom:1px solid var(--border)}[data-sandbox-theme=amber] .board{box-shadow:0 8px 40px #00000080, inset 0 0 0 1px var(--border);border-radius:6px;overflow:visible}[data-sandbox-theme=amber] .gameplay-right-panel{font-family:var(--font-body)}[data-sandbox-theme=quantum-lab] .gameplay-board-area{position:relative}[data-sandbox-theme=quantum-lab] .gameplay-board-area:before{content:"";pointer-events:none;background:radial-gradient(circle,#ff2d780d,#0000 70%);width:500px;height:500px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}[data-sandbox-theme=quantum-lab] .board{border:1px solid var(--border);border-radius:12px;overflow:visible;box-shadow:0 0 60px #ff2d780d,0 12px 40px #0006}[data-sandbox-theme=emerald] .sandbox-layout:after,[data-sandbox-theme=emerald][data-mode=sandbox]:after{content:"";pointer-events:none;z-index:100;background:repeating-linear-gradient(#0000,#0000 2px,#00000008 2px 4px);position:absolute;inset:0}[data-sandbox-theme=emerald] .board{border:1px solid var(--accent);background:var(--border)}[data-sandbox-theme=rose-glass] .sandbox-layout,[data-sandbox-theme=rose-glass][data-mode=sandbox]{background-image:radial-gradient(at 30% 20%,#fb71850d,#0000 50%),radial-gradient(at 70% 80%,#be507808,#0000 50%)}[data-sandbox-theme=rose-glass] .gameplay-right-panel{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#3c1e2d66;border:1px solid #fb71851f;border-radius:16px;margin:12px 0 12px 12px}[data-sandbox-theme=rose-glass] .sandbox-topbar,[data-sandbox-theme=rose-glass] .gameplay-topbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#28141e99}[data-sandbox-theme=rose-glass] .board{border:1px solid #fb71851f;border-radius:16px;overflow:visible;box-shadow:0 0 80px #fb71850a,0 16px 48px #0006}[data-sandbox-theme=rose-glass] .sandbox-palette-area{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#3c1e2d66;border-top:1px solid #fb71851f}.sandbox-layout .board-container,[data-mode=sandbox] .board-container,.sandbox-layout .board-coords,[data-mode=sandbox] .board-coords{max-width:100%;max-height:100%}@media (width<=768px){.gameplay-center-group,[data-mode=vs_ai] .gameplay-center,[data-mode=online] .gameplay-center,[data-mode=correspondence] .gameplay-center{flex-direction:column;gap:0;padding:8px}.gameplay-board-col{flex:none;width:100%}.gameplay-top-slot,.gameplay-bottom-slot{align-self:stretch;width:100%;max-width:none}.gameplay-captured-panel{display:none}[data-mode=vs_ai] .gameplay-right-panel,[data-mode=online] .gameplay-right-panel,[data-mode=correspondence] .gameplay-right-panel{border:none;border-top:1px solid var(--border);background:var(--bg-secondary);border-radius:0;flex:1;width:100%;height:auto;min-height:0;margin:8px 0 0;padding:8px 12px;transform:none}.gameplay-info-tabs{flex-shrink:0;gap:12px;padding:8px 0 4px;display:flex}.gameplay-right-panel .gameplay-tab-content{flex:1;min-height:0}.gameplay-right-panel .gameplay-tab-pane{display:none}.gameplay-right-panel .gameplay-tab-pane.active{flex:1;min-height:0;display:block;overflow-y:auto}.gameplay-right-panel .gameplay-captured-tab{display:none}.gameplay-right-panel .gameplay-captured-tab.active{display:block}.gameplay-right-panel .move-history-list{max-height:none}.board{--board-chrome-h:220px;--board-chrome-w:16px;max-width:none;max-height:none}.gameplay-eval-bar{flex-direction:row;gap:6px;width:100%;display:flex;position:static}.gameplay-eval-bar .eval-bar{flex-direction:column;gap:2px}.gameplay-eval-bar .eval-bar-track{width:100%;height:8px;min-height:8px}.gameplay-eval-bar .eval-bar-track--classical{border-radius:4px 4px 0 0}.gameplay-eval-bar .eval-bar-track--quantum{border-radius:0 0 4px 4px}.gameplay-eval-bar .eval-bar-fill{border-radius:4px 0 0 4px;transition:width .6s;inset:0 auto 0 0;height:100%!important}.gameplay-eval-bar .eval-bar-fill--quantum{border-top:none;border-right:2px solid #fff9}.gameplay-eval-bar .eval-bar-labels{flex-direction:column;gap:2px;min-width:28px}.piece-token,.piece-ring-wrap{width:92%;height:92%}.ring-gauge{width:calc(100% + 8px);height:calc(100% + 8px);inset:-4px}.gameplay-eval-bar .eval-bar-label{text-align:right;font-size:9px}.gameplay-controls{padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}.home-hero{padding:40px 20px 32px}.home-title{font-size:2.4rem}.mode-grid,.mode-grid--featured{grid-template-columns:1fr}.gameover-screen{padding:24px 16px}.gameover-title{font-size:2rem}.gameover-actions{flex-direction:column;width:100%;max-width:280px}.gameover-actions .btn{width:100%;min-height:48px}.gameover-stats{gap:10px}.stat{min-width:90px;padding:14px 18px}.setup-screen-body{padding:1.5rem 1.25rem 2rem;padding-bottom:calc(2rem + env(safe-area-inset-bottom,0px));justify-content:flex-start;gap:1.75rem}.setup-section{gap:10px}.setup-row{flex-direction:column;gap:1.5rem}.setup-side-visual{gap:8px}.setup-side-btn{gap:6px;padding:12px 8px}.setup-side-icon{font-size:22px}.setup-side-label{font-size:12px}.btn-start{margin-top:.5rem;padding:14px 24px}.modal-dialog{width:94%;padding:20px}.modal-actions{flex-direction:column;gap:8px}.modal-actions .btn{justify-content:center;width:100%;min-height:48px}.play-overlay-root{justify-content:stretch;align-items:stretch}.play-overlay{-webkit-overflow-scrolling:touch;border-radius:0;width:100%;max-height:none;animation:.2s fade-in;overflow-y:auto;clip-path:none!important}.play-overlay-body{padding:12px 16px 24px;padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}.play-overlay-header{padding:16px 16px 0}.play-overlay-close{justify-content:center;align-items:center;min-width:44px;min-height:44px;display:flex}.play-overlay-body .setup-side-visual{flex-direction:row}.play-overlay-body .setup-side-btn{padding:12px 8px}.play-overlay-body .setup-side-icon{font-size:28px}.play-overlay-body .btn-start{min-height:52px;font-size:16px}.option-btn{min-height:44px;padding:10px 14px}.btn-back{min-height:44px;padding:10px 0}.screen-back-btn{min-height:44px;padding:0 14px 0 12px}.toast-container{top:12px;left:12px;right:12px}.toast{width:100%}.sandbox-layout,.sandbox-layout[data-sandbox-theme],[data-mode=sandbox]{flex-direction:column!important;height:100dvh!important;display:flex!important;overflow:hidden!important}.sandbox-center-group,[data-mode=sandbox] .gameplay-center{flex-direction:column;flex:1;align-items:stretch;gap:0;min-height:0;padding:0}.sandbox-center-group .sandbox-palette-area,[data-mode=sandbox] .gameplay-center .sandbox-palette-area{flex:none;order:2;align-self:center;width:auto;padding:clamp(4px,1vh,12px) 4px}.sandbox-center-group .sandbox-palette-area .sandbox-editor,[data-mode=sandbox] .gameplay-center .sandbox-palette-area .sandbox-editor{margin-top:0;margin-bottom:0;transform:none}.sandbox-center-group .sandbox-board-col,[data-mode=sandbox] .gameplay-center .gameplay-board-col{flex:none;order:1}.sandbox-center-group .sandbox-fen-bar,[data-mode=sandbox] .gameplay-center .sandbox-fen-bar{padding:clamp(4px,2vh,48px) 12px clamp(4px,1vh,12px)}.sandbox-center-group .gameplay-board-area,[data-mode=sandbox] .gameplay-center .gameplay-board-area{justify-content:center;align-items:center;padding:4px 0 16px;display:flex}.sandbox-fen-bar{padding:12px 16px 4px}.sandbox-fen-bar-input{font-size:14px}.sandbox-fen-copy,.sandbox-fen-paste{flex-shrink:0}.sandbox-phase-bar{grid-area:phasebar;padding:clamp(4px,1vh,12px) 16px;font-size:clamp(11px,1.8vh,14px);display:flex}@media (height<=700px){.sandbox-phase-bar{display:none}}.sandbox-toggles-mobile{grid-area:toggles;justify-content:center;align-items:center;gap:14px;padding:6px 12px;display:flex}.sandbox-toggles-mobile .sandbox-toggle{gap:8px;min-height:36px;font-size:14px}.sandbox-toggles-mobile .sandbox-toggle input[type=checkbox]{width:22px;height:22px}.sandbox-toggles-mobile .sandbox-toggle input[type=checkbox]:checked:after{font-size:16px;top:0;left:3px}.sandbox-toggles-mobile .sandbox-toggle-label{font-size:14px}.sandbox-toggles-mobile .sandbox-measurement-btn{min-height:32px;padding:5px 12px;font-size:13px}.sandbox-topbar .sandbox-toggles,.sandbox-topbar .sandbox-phase-pill{display:none}.sandbox-layout .gameplay-board-area,[data-mode=sandbox] .gameplay-board-area{justify-content:center;align-items:flex-end;padding:4px 4px 2px;display:flex;overflow:hidden}[data-mode=sandbox] .board{--board-chrome-h:260px}[data-mode=sandbox][data-phase=playing] .board{--board-chrome-h:280px}.sandbox-layout .sandbox-info-panel,[data-mode=sandbox] .gameplay-right-panel{border:none;border-top:1px solid var(--border);background:var(--bg-secondary);border-radius:0;flex-direction:column;flex:1;order:3;width:100%;height:auto;min-height:0;margin-top:14px;padding:8px 12px;overflow:hidden;transform:none}[data-mode=sandbox] .gameplay-right-panel .gameplay-moves-header{flex-shrink:0}[data-mode=sandbox] .gameplay-right-panel .gameplay-moves-panel{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}[data-mode=sandbox] .gameplay-right-panel .gameplay-move-history{flex:1;min-height:0;overflow-y:auto}[data-mode=sandbox] .gameplay-right-panel .gameplay-captured-tab{flex-shrink:0}.gameplay-info-tab[data-tab=captured]{display:inline}.gameplay-tab-pane{display:none}.gameplay-tab-pane.active{flex:1;min-height:0;display:block;overflow-y:auto}.gameplay-tab-content{flex:1;min-height:0}[data-mode=sandbox] .gameplay-right-panel .move-history{overflow:visible}[data-mode=sandbox] .gameplay-right-panel .move-history-list{max-height:none}[data-mode=sandbox][data-phase=editing] .gameplay-right-panel{display:none!important}[data-mode=sandbox][data-phase=playing] .gameplay-right-panel{display:flex!important}.sandbox-layout .sandbox-statusbar,[data-mode=sandbox] .sandbox-statusbar,.sandbox-layout[data-phase=playing] .sandbox-palette-area,[data-mode=sandbox][data-phase=playing] .sandbox-palette-area{display:none!important}.sandbox-layout[data-phase=playing] .sandbox-toggles-mobile .sandbox-toggle,[data-mode=sandbox][data-phase=playing] .sandbox-toggles-mobile .sandbox-toggle{display:none}.sandbox-topbar{flex-wrap:wrap;gap:8px;padding:12px 16px}.sandbox-phase-controls{gap:6px}.sandbox-phase-pill{align-items:center;min-height:28px;padding:5px 12px;font-size:11px;display:flex}.sandbox-play-toggle{min-height:32px;padding:5px 14px;font-size:12px}.sandbox-toggles{flex-wrap:wrap;gap:10px}.sandbox-toggle{gap:6px;min-height:32px;font-size:12px}.sandbox-toggle input[type=checkbox]{width:18px;height:18px}.sandbox-toggle input[type=checkbox]:checked:after{font-size:13px;top:0;left:2px}.sandbox-toggle-label{font-size:12px}.sandbox-measurement-btn{min-height:28px;padding:4px 10px;font-size:11px}.sandbox-topbar-actions{gap:2px}.btn-icon{min-width:36px;min-height:32px;padding:4px 8px;font-size:16px}.sandbox-palette-area{padding:2px 4px}.sandbox-editor{background:0 0;border:none;padding:2px 4px}.sandbox-palette-with-actions{flex-direction:column;justify-content:center}.sandbox-palette{flex-direction:column;gap:3px}.sandbox-palette-row{flex-direction:row;justify-content:center;gap:3px}.sandbox-palette-area .sandbox-piece{width:clamp(40px,7vh,60px);height:clamp(40px,7vh,60px)}.sandbox-piece .piece-symbol{font-size:34px}.sandbox-piece .piece-bare{font-size:38px}.sandbox-piece-token{width:42px;height:42px}.sandbox-fen-row{display:none}.sandbox-controls-play,.sandbox-controls-edit{display:inline-flex}.sandbox-layout[data-phase=playing] .sandbox-controls-edit,[data-mode=sandbox][data-phase=playing] .sandbox-controls-edit{pointer-events:none;opacity:.3}.sandbox-palette-play-btn{display:none}.sandbox-palette-actions{display:none!important}.sandbox-controls{padding:clamp(4px,1.5vh,12px) 16px;padding-bottom:max(clamp(8px, 2vh, 20px), calc(env(safe-area-inset-bottom,8px) + 4px));justify-content:center;gap:8px}.sandbox-controls .btn,.sandbox-controls .btn-sm{min-height:clamp(32px,5vh,44px);padding:clamp(4px,1vh,8px) 20px;font-size:14px}.piece-bare,.piece-glow{font-size:min(9vw,42px)}.piece-symbol{font-size:min(8vw,36px)}}@media (width<=480px){.home-title{letter-spacing:.06em;font-size:1.8rem}.home-hero{padding:24px 16px 20px}.home-subtitle{font-size:11px}.home-toolbar{flex-direction:column;align-items:flex-start}.mode-hero-card{padding:18px 16px 14px}.mode-hero-card-icon{font-size:22px}.mode-hero-card-label{font-size:15px}[data-mode=sandbox] .board{--board-chrome-h:270px;--board-chrome-w:12px}[data-mode=sandbox][data-phase=playing] .board{--board-chrome-h:290px}.sandbox-palette-area .sandbox-piece{width:clamp(36px,6.5vh,52px);height:clamp(36px,6.5vh,52px)}.sandbox-piece .piece-symbol{font-size:28px}.sandbox-piece .piece-bare{font-size:32px}.sandbox-piece-token{width:36px;height:36px}.sandbox-topbar{gap:6px;padding:10px 16px}.sandbox-phase-pill{min-height:26px;padding:4px 10px;font-size:10px}.sandbox-play-toggle{min-height:28px;padding:4px 12px;font-size:11px}.sandbox-toggle{min-height:28px;font-size:10px}.sandbox-toggle input[type=checkbox]{width:16px;height:16px}.sandbox-measurement-btn{min-height:26px;padding:3px 8px;font-size:10px}.btn-icon{min-width:32px;min-height:28px;font-size:14px}.play-overlay-body{padding-bottom:calc(28px + env(safe-area-inset-bottom,0px))}.setup-screen-body{padding:1.25rem 1rem 1.5rem;padding-bottom:calc(1.5rem + env(safe-area-inset-bottom,0px));justify-content:flex-start;gap:1.5rem}.setup-row{flex-direction:column;gap:1.25rem}.setup-side-btn{gap:4px;padding:10px 6px}.setup-side-icon{font-size:22px}}.play-overlay-root{z-index:var(--z-modal);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.play-overlay-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;position:absolute;inset:0}.play-overlay{z-index:1;background:var(--bg-secondary,#0c0a14);width:min(440px,90vw);max-height:85vh;clip-path:var(--clip-corner);border:1px solid #ff3a8c1f;border-radius:2px;animation:.3s fade-up;position:relative;overflow-y:auto;box-shadow:0 24px 80px #000000b3,0 0 40px #ff3a8c0a}.play-overlay-header{justify-content:space-between;align-items:center;padding:20px 24px 0;display:flex}.play-overlay-header h2{margin:0;font-size:20px;font-weight:600}.play-overlay-close{color:var(--text-muted,#888);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:20px;transition:color .15s,background .15s}.play-overlay-close:hover{color:var(--text-primary,#fff);background:var(--bg-hover,#ffffff14)}.play-overlay-body{flex-direction:column;gap:16px;padding:16px 24px 24px;display:flex}.play-overlay-body .btn-start{width:100%;margin-top:8px;padding:12px;font-size:16px}@keyframes ai-thinking-pulse{0%,to{opacity:.5}50%{opacity:1}}.player-banner.ai-thinking{animation:2s ease-in-out infinite ai-thinking-pulse}@media (width>=769px){.gameplay-board-col{position:relative}.gameplay-eval-bar{flex-direction:column;gap:3px;width:32px;margin-right:8px;display:flex;position:absolute;top:0;bottom:0;right:100%}.gameplay-eval-bar .eval-bar-fill{width:100%!important}}.eval-bar{flex-direction:row;flex:1;gap:2px;display:flex}.eval-bar-track{flex:1;position:relative;overflow:hidden}.eval-bar-track--classical{background:#ffffff14;border-radius:5px 0 0 5px}.eval-bar-track--quantum{background:#000;border-radius:0 5px 5px 0}.eval-bar-fill{border-radius:0;transition:height .6s;position:absolute;bottom:0;left:0;right:0}.eval-bar-fill--classical{background:#ffffffb3}.eval-bar-fill--quantum{background:#e6267a;border-top:2px solid #fff9}.eval-bar-labels{flex-direction:row;flex-shrink:0;justify-content:space-around;gap:2px;display:flex}.eval-bar-label{font-variant-numeric:tabular-nums;font-size:8px;line-height:1;font-family:var(--font-mono);white-space:nowrap;text-align:center;flex:1}.eval-bar-label--classical{color:#ffffffb3}.eval-bar-label--quantum{color:#e6267a}.promotion-overlay{z-index:var(--z-modal,100);background:#0000004d;border-radius:4px;position:absolute;inset:0}.promotion-picker{z-index:calc(var(--z-modal,100) + 1);border-radius:var(--radius-md,6px);display:flex;position:absolute;overflow:hidden;box-shadow:0 8px 32px #0009,0 0 0 1px #00e5ff26,0 0 24px #00e5ff0f}.promotion-option{aspect-ratio:1;cursor:pointer;background:var(--bg-secondary,#0c0a14);border:none;justify-content:center;align-items:center;width:100%;padding:0;transition:background .12s,transform .1s;display:flex}.promotion-option:first-child{border-radius:var(--radius-md,6px) var(--radius-md,6px) 0 0}.promotion-option:last-child{border-radius:0 0 var(--radius-md,6px) var(--radius-md,6px)}.promotion-option:hover{background:var(--bg-tertiary,#141020);z-index:1;transform:scale(1.08)}.promotion-option:active{transform:scale(.96)}.promotion-option .piece-token{aspect-ratio:1;border-radius:50%;justify-content:center;align-items:center;width:80%;display:flex}.promotion-option .piece-symbol{font-size:clamp(20px,4vw,36px);line-height:1}.online-lobby-screen{flex-direction:column;min-height:100dvh;display:flex;overflow-y:auto}.online-lobby-body{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1.25rem;width:100%;max-width:640px;margin:0 auto;padding:2rem 1.5rem;display:flex}.online-lobby-card{background:var(--surface-2,#ffffff0a);border:1px solid var(--border-1,#ffffff14);text-align:center;border-radius:.75rem;width:100%;padding:1.5rem}.online-lobby-card--matchmaking{max-width:480px}.online-lobby-heading{font-family:var(--font-heading);color:var(--text-1,#fff);letter-spacing:.06em;text-transform:uppercase;margin:0 0 .35rem;font-size:1rem;font-weight:600}.online-lobby-desc{color:var(--text-2,#fff9);margin:0 0 1rem;font-size:.8rem}.online-lobby-btn{min-width:120px}.online-lobby-divider{color:var(--text-3,#fff6);text-transform:uppercase;letter-spacing:.1em;font-size:.75rem}.online-lobby-friend-row{grid-template-columns:1fr 1fr;gap:1rem;width:100%;display:grid}.matchmaking-options{flex-direction:column;gap:1rem;display:flex}.time-preset-group{flex-direction:column;gap:.35rem;display:flex}.time-preset-label{font-family:var(--font-heading);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);font-size:.65rem;font-weight:500}.time-preset-row{justify-content:center;gap:.5rem;display:flex}.option-btn--sm{padding:6px 14px;font-size:.8rem}.matchmaking-queue-btns{justify-content:center;gap:.75rem;margin-top:.25rem;display:flex}.matchmaking-status{color:var(--text-secondary);justify-content:center;align-items:center;gap:.6rem;padding:1rem 0;font-size:.9rem;display:flex}.matchmaking-spinner{border:2px solid #ffffff26;border-top-color:var(--accent);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite matchmaking-spin}@keyframes matchmaking-spin{to{transform:rotate(360deg)}}.lobby-stats-bar{border:1px solid var(--border);background:#ffffff08;border-radius:.5rem;flex-wrap:wrap;align-items:center;gap:1rem;width:100%;padding:.6rem 1rem;display:flex}.lobby-stat-item{white-space:nowrap;align-items:center;gap:.4rem;display:flex}.lobby-stat-icon{font-size:.85rem}.lobby-stat-label{color:var(--text-muted);font-family:var(--font-heading);letter-spacing:.08em;text-transform:uppercase;font-size:.7rem}.lobby-stat-value{font-family:var(--font-mono);color:var(--accent);font-size:.85rem;font-weight:600}.lobby-stat-divider{background:var(--border-light);width:1px;height:1.2rem}.lobby-stat-breakdown{flex-wrap:wrap;gap:.4rem;margin-left:auto;display:flex}.lobby-stat-tc{font-family:var(--font-mono);color:var(--text-secondary);background:#ffffff0a;border-radius:.25rem;padding:.15rem .5rem;font-size:.7rem}.lobby-stat-count{color:var(--accent);font-weight:600}.lobby-stat-empty{color:var(--text-muted);font-size:.7rem;font-style:italic}.waiting-host-settings{flex-direction:column;gap:1rem;width:100%;max-width:420px;display:flex}.waiting-setting-group{flex-direction:column;gap:.5rem;display:flex}.waiting-time-presets{flex-wrap:wrap;justify-content:center;gap:.4rem;display:flex}@media (width<=640px){.online-lobby-body{padding:1.25rem 1rem 1.5rem;padding-bottom:calc(1.5rem + env(safe-area-inset-bottom,0px));justify-content:center;gap:1rem}.online-lobby-card{padding:1rem .875rem}.online-lobby-card--matchmaking{padding:1rem}.online-lobby-card--matchmaking .online-lobby-desc,.online-lobby-friend-row .online-lobby-desc{display:none}.online-lobby-heading{margin-bottom:.75rem;font-size:.8rem}.online-lobby-friend-row{grid-template-columns:1fr 1fr;gap:.75rem}.online-lobby-btn{width:100%;min-width:0;min-height:44px}.online-lobby-input{width:100%;min-height:44px;font-size:.95rem}.online-lobby-join-row{flex-direction:column;gap:.5rem}.matchmaking-options{gap:.75rem}.option-btn--sm{min-height:40px;padding:8px 12px;font-size:.75rem}.time-preset-group{flex-direction:row;align-items:center;gap:.5rem}.time-preset-label{text-align:right;min-width:2.75rem;font-size:.6rem}.time-preset-row{flex:1;gap:.4rem}.matchmaking-queue-btns{margin-top:.25rem}.lobby-stats-bar{gap:.6rem;padding:.5rem .75rem}.online-lobby-divider{padding:.125rem 0;font-size:.65rem}}.online-lobby-join-row{justify-content:center;gap:.75rem;display:flex}.online-lobby-input{background:var(--surface-1,#ffffff0f);border:1px solid var(--border-1,#ffffff1f);color:var(--text-1,#fff);text-transform:uppercase;letter-spacing:.15em;text-align:center;border-radius:.5rem;width:160px;padding:.5rem .75rem;font-family:monospace;font-size:1.1rem}.online-lobby-input::placeholder{color:var(--text-3,#ffffff4d);text-transform:none;letter-spacing:normal}.waiting-room-screen{flex-direction:column;min-height:100dvh;display:flex}.waiting-room-body{flex-direction:column;flex:1;align-items:center;gap:1.5rem;width:100%;max-width:480px;margin:0 auto;padding:2rem 1rem;display:flex}.waiting-room-code-section{text-align:center}.waiting-room-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-2,#fff9);margin:0 0 .5rem;font-size:.8rem}.waiting-room-code{letter-spacing:.25em;color:var(--accent,#ff2d78);cursor:pointer;border:2px dashed var(--border-1,#ffffff26);border-radius:.75rem;padding:.5rem 1rem;font-family:monospace;font-size:2.5rem;font-weight:700;transition:border-color .2s}.waiting-room-code:hover{border-color:var(--accent,#ff2d78)}.waiting-room-hint{color:var(--text-3,#fff6);margin:.5rem 0 0;font-size:.8rem}.waiting-room-players{width:100%}.waiting-room-players-heading{color:var(--text-2,#ffffffb3);margin:0 0 .75rem;font-size:.9rem;font-weight:600}.waiting-room-member-list{flex-direction:column;gap:.5rem;display:flex}.waiting-member{background:var(--surface-2,#ffffff0a);border:1px solid var(--border-1,#ffffff14);border-radius:.5rem;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.waiting-member--self{border-color:var(--accent,#ff2d78)}.waiting-member--empty{color:var(--text-3,#ffffff4d);border-style:dashed;justify-content:center;font-style:italic}.waiting-member-name{color:var(--text-1,#fff);font-weight:500}.waiting-member-role{text-transform:uppercase;letter-spacing:.05em;color:var(--text-3,#fff6);font-size:.75rem}.waiting-side-select{text-align:center;width:100%}.waiting-room-actions{align-items:center;gap:1rem;display:flex}.waiting-ready-btn{min-width:160px;padding:.75rem 1.5rem;font-size:1rem}.waiting-opponent-ready{color:#4ade80;font-size:.85rem;font-weight:500}.waiting-leave-btn{color:var(--text-3,#fff6)}.waiting-room-status{color:var(--text-3,#fff6);align-items:center;gap:.5rem;font-size:.75rem;display:flex}.waiting-connection-dot{background:#ef4444;border-radius:50%;width:8px;height:8px}.waiting-connection-dot.connected{background:#4ade80}.mode-hero-card--cyan{--hero-card-accent:#22d3ee;border-color:#22d3ee40 #22d3ee40 #22d3ee40 #22d3eeb3;border-left-style:solid;border-left-width:3px}.mode-hero-card--cyan .mode-hero-card-bg{background:linear-gradient(135deg,#22d3ee1f 0%,#22d3ee08 100%)}.mode-hero-card--cyan .mode-hero-card-icon{color:#22d3ee}.mode-hero-card--cyan:after{border-top-color:#22d3ee80;border-left-color:#22d3ee80}.mode-hero-card--cyan:hover{border-color:#22d3ee80;box-shadow:0 8px 32px #00000080,0 0 40px #22d3ee1f}.mode-hero-card--cyan:hover:after{border-top-color:#22d3eecc;border-left-color:#22d3eecc}.mode-hero-card--cyan:hover .mode-hero-card-arrow{color:#22d3ee;transform:translate(4px)}.mode-hero-card--cyan:hover .mode-hero-card-bg{opacity:1}.changelog-overlay{z-index:var(--z-modal);justify-content:center;align-items:center;animation:.2s fade-in;display:flex;position:fixed;inset:0}.changelog-overlay.hidden{display:none}.changelog-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#050810bf;position:absolute;inset:0}.changelog-panel{background:var(--bg-secondary);width:90%;max-width:520px;max-height:80vh;clip-path:var(--clip-corner);border:1px solid #00e5ff1a;border-radius:2px;flex-direction:column;animation:.3s fade-up;display:flex;position:relative;box-shadow:0 24px 64px #0009,0 0 40px #00e5ff0a}.changelog-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:flex-start;padding:24px 28px 16px;display:flex}.changelog-title{font-family:var(--font-heading);margin:0;font-size:18px;font-weight:700}.changelog-subtitle{color:var(--text-muted);margin:4px 0 0;font-size:12px}.changelog-close{color:var(--text-muted);cursor:pointer;transition:color var(--duration-fast) ease;background:0 0;border:none;padding:4px 8px;font-size:18px;line-height:1}.changelog-close:hover{color:var(--text-primary)}.changelog-content{flex-direction:column;flex:1;gap:16px;padding:20px 28px 28px;display:flex;overflow-y:auto}.changelog-intro{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.5}.changelog-empty{color:var(--text-muted);margin:0;font-size:13px}.changelog-entry{border:1px solid var(--border);background:#ffffff05;border-radius:2px;padding:16px 20px}.changelog-entry-header{justify-content:space-between;align-items:flex-start;margin-bottom:12px;display:flex}.changelog-entry-title{font-family:var(--font-heading);margin:0;font-size:14px;font-weight:700}.changelog-entry-date{color:var(--text-muted);margin:2px 0 0;font-size:11px}.changelog-badge{font-size:10px;font-family:var(--font-mono);color:var(--accent,#00e5ff);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;background:#00e5ff14;border:1px solid #00e5ff26;border-radius:2px;padding:2px 8px;font-weight:600}.changelog-entry-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.changelog-item h5{font-family:var(--font-heading);color:var(--text-primary);margin:0;font-size:12px;font-weight:600}.changelog-item p{color:var(--text-secondary);margin:2px 0 0;font-size:12px;line-height:1.5}.changelog-item--heading{margin-top:6px}.changelog-item--heading h5{color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;font-size:10px}.changelog-item--bullet{padding-left:14px;position:relative}.changelog-item--bullet:before{content:"•";color:var(--text-muted);font-size:12px;position:absolute;left:2px}.changelog-notes{color:var(--text-muted);border-left:2px solid var(--border);margin:12px 0 0;padding-left:12px;font-size:12px;font-style:italic;line-height:1.5}.auth-screen{background:var(--bg-primary);max-width:none;height:100dvh;color:var(--text-primary);font-family:var(--font-body);flex-direction:column;margin:0;padding:0;display:flex;overflow:hidden}.auth-profile{flex-direction:column;gap:1.5rem;display:flex}.auth-profile-body{box-sizing:border-box;flex-direction:column;flex:1;gap:1rem;width:100%;max-width:640px;min-height:0;margin:0 auto;padding:1rem 1rem 0;display:flex;overflow:hidden}.btn-topbar--danger{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:.8rem}.btn-topbar--danger:hover{color:#ef4444}.profile-header{align-items:center;gap:1rem;display:flex}.profile-header h2{margin:0;font-size:1.4rem}.profile-email{color:var(--text-muted);margin:0;font-size:.85rem}.profile-avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:56px;height:56px}.profile-stats{grid-template-columns:repeat(5,1fr);gap:.5rem;display:grid}.profile-stats .stat{background:var(--surface,#1a1a2e);border:1px solid var(--border,#333);border-radius:6px;flex-direction:column;align-items:center;padding:.5rem;display:flex}.profile-stats .stat-value{font-size:1.1rem;font-weight:700}.profile-stats .stat-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-top:.2rem;font-size:.7rem}.profile-games h3{margin:0 0 .75rem;font-size:1rem}.game-list{flex-direction:column;gap:.5rem;display:flex}.game-row{background:var(--surface,#1a1a2e);border:1px solid var(--border,#333);border-left:2px solid #0000;border-radius:4px;align-items:center;gap:.75rem;padding:.6rem .75rem;font-size:.85rem;transition:background .12s,border-color .12s;display:flex}.game-mode{min-width:60px;font-weight:600}.game-time-control{min-width:48px;color:var(--text-secondary);font-size:.8rem;font-weight:600}.game-result{min-width:80px;font-weight:600}.game-result--decisive{color:var(--text)}.game-result--draw{color:var(--text-muted)}.game-moves,.game-quantum{color:var(--text-muted);font-size:.8rem}.game-date{color:var(--text-muted);margin-left:auto;font-size:.8rem}.auth-form{text-align:center;max-width:320px;margin:4rem auto 0}.auth-subtitle{color:var(--text-muted);margin:.5rem 0 1.5rem;font-size:.9rem}.auth-form .btn{width:100%;margin-bottom:.5rem;display:block}.auth-error{color:#fca5a5;text-align:center;background:#dc262626;border:1px solid #dc262666;border-radius:8px;margin-bottom:1rem;padding:.6rem .8rem;font-size:.85rem}.auth-form .btn:disabled{opacity:.6;cursor:not-allowed}.profile-subscription-card{border:1px solid var(--border,#333);background:var(--surface,#1a1a2e);border-radius:8px;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.profile-subscription-card--active{background:#a882ff14;border-color:#a882ff66}.subscription-badge{text-transform:uppercase;letter-spacing:.08em;color:#c4a8ff;background:#a882ff40;border-radius:4px;flex-shrink:0;padding:.25rem .6rem;font-size:.75rem;font-weight:700}.subscription-badge--free{color:var(--text-muted);background:#ffffff14}.subscription-details{flex-direction:column;gap:.15rem;font-size:.85rem;display:flex}.subscription-source{color:var(--text-secondary,#ccc)}.subscription-expiry{color:var(--text-muted);font-size:.78rem}.profile-linked-accounts{flex-direction:column;gap:.5rem;display:flex}.profile-linked-accounts h3{margin:0;font-size:.95rem}.linked-accounts-list{flex-direction:column;gap:.4rem;display:flex}.linked-account-row{background:var(--surface,#1a1a2e);border:1px solid var(--border,#333);border-radius:6px;justify-content:space-between;align-items:center;padding:.6rem .75rem;font-size:.85rem;display:flex}.linked-account-platform{font-weight:600}.linked-account-status--linked{color:#4ade80;font-size:.8rem}.btn-sm{padding:.3rem .6rem;font-size:.78rem}.link-confirm-account{border:1px solid var(--border,#333);background:var(--surface,#1a1a2e);text-align:center;border-radius:8px;margin:1rem 0;padding:.75rem 1rem}.link-confirm-account strong{margin-bottom:.25rem;font-size:1.1rem;display:block}.link-confirm-email{color:var(--text-muted,#888);align-items:center;gap:.25rem;font-size:.85rem;display:inline-flex}.btn-reveal-email{cursor:pointer;color:var(--text-primary,#eee);opacity:.7;vertical-align:middle;background:0 0;border:none;padding:.15rem .3rem;font-size:.85rem;line-height:1}.btn-reveal-email:hover{opacity:1}.btn-reveal-email i{pointer-events:none}.leaderboard-screen{background:var(--bg-primary);min-height:100dvh;color:var(--text-primary);font-family:var(--font-body);flex-direction:column;display:flex}.leaderboard-header{align-items:center;gap:var(--space-5);padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border);display:flex}.leaderboard-title{font-family:var(--font-heading);background:var(--brand-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:1.4rem;font-weight:600}.leaderboard-body{padding:var(--space-6);flex:1;width:100%;max-width:720px;margin:0 auto}.leaderboard-loading,.leaderboard-empty{text-align:center;color:var(--text-muted);padding:var(--space-8) 0;font-size:.95rem}.leaderboard-table{flex-direction:column;gap:2px;display:flex}.lb-header-row{padding:var(--space-3) var(--space-4);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-light);grid-template-columns:48px 1fr 80px 64px 90px;align-items:center;font-size:.75rem;display:grid}.lb-row{padding:var(--space-4);border-radius:var(--radius-md);transition:background var(--duration-fast);grid-template-columns:48px 1fr 80px 64px 90px;align-items:center;display:grid}.lb-row:hover{background:var(--bg-tertiary)}.lb-row--me{background:#00e5ff0f;border:1px solid #00e5ff26}.lb-row--me:hover{background:#00e5ff1a}.lb-rank{font-family:var(--font-mono);color:var(--text-secondary);text-align:center;font-size:.9rem}.lb-rank--1{color:var(--accent-gold);font-size:1.05rem;font-weight:700}.lb-rank--2{color:silver;font-weight:700}.lb-rank--3{color:#cd7f32;font-weight:700}.lb-player{align-items:center;gap:var(--space-3);min-width:0;display:flex}.lb-avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:28px;height:28px}.lb-avatar--placeholder{background:var(--bg-elevated);color:var(--text-secondary);justify-content:center;align-items:center;font-size:.8rem;font-weight:600;display:flex}.lb-username{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.lb-you{color:var(--accent);font-size:.75rem}.lb-rating{font-family:var(--font-mono);color:var(--accent);text-align:right;font-size:.95rem;font-weight:700}.lb-games,.lb-wld{font-family:var(--font-mono);color:var(--text-secondary);text-align:right;font-size:.85rem}@media (width<=540px){.lb-header-row,.lb-row{grid-template-columns:36px 1fr 60px 80px}.lb-games{display:none}.leaderboard-body{padding:var(--space-4)}}.public-profile-screen{background:var(--bg-primary);height:100dvh;color:var(--text-primary);font-family:var(--font-body);flex-direction:column;display:flex;overflow:hidden}.public-profile-body{box-sizing:border-box;flex-direction:column;flex:1;gap:1rem;width:100%;max-width:640px;min-height:0;margin:0 auto;padding:1rem 1rem 0;display:flex;overflow:hidden}.public-profile-loading,.public-profile-not-found,.public-profile-no-games{text-align:center;color:var(--text-muted);padding:3rem 1rem;font-size:.95rem}.public-profile-not-found h2{color:var(--text-primary);margin:0 0 .5rem}.public-profile-badge{text-transform:uppercase;letter-spacing:.1em;vertical-align:middle;border-radius:3px;margin-left:.4rem;padding:.15em .5em;font-size:.65rem;font-weight:700;display:inline-block}.badge-free{background:var(--bg-elevated);color:var(--text-secondary);border:1px solid var(--text-muted)}.badge-premium{color:#000;background:linear-gradient(135deg,#fbbf24,#ff6a2b)}.public-profile-meta{color:var(--text-muted);margin:.2rem 0 0;font-size:.8rem}.public-profile-rating{background:var(--bg-elevated);border:1px solid var(--border,#333);border-radius:8px;flex-direction:column;align-items:center;gap:.2rem;padding:1rem;display:flex}.public-profile-rating-value{font-size:1.8rem;font-weight:800;font-family:var(--font-display,"Chakra Petch", sans-serif);background:var(--brand-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.public-profile-rating-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);font-size:.7rem}.public-profile-rd{color:var(--text-secondary);margin-top:.25rem;font-size:.75rem}.public-profile-rd-tag{background:var(--bg-tertiary);color:var(--text-muted);border-radius:3px;margin-left:.3rem;padding:.1em .4em;font-size:.65rem}.public-profile-ratings{grid-template-columns:repeat(4,1fr);gap:.5rem;padding:0 .5rem;display:grid}.public-profile-rating-card{background:var(--bg-elevated);border:1px solid var(--border,#333);border-radius:8px;flex-direction:column;align-items:center;gap:.1rem;padding:.5rem .4rem;display:flex}.rating-card-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:.7rem}.rating-card-games{color:var(--text-secondary);font-size:.65rem}.rating-card-casual{color:var(--text-muted);font-size:.6rem}.profile-games-section{border-top:1px solid var(--border,#333);flex-direction:column;flex:1;min-height:0;padding-top:.75rem;display:flex;position:relative}.profile-games-section h3{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);flex-shrink:0;margin:0 0 .5rem;font-size:.85rem}.profile-game-tabs{flex-shrink:0;gap:.25rem;margin-bottom:.5rem;display:flex}.profile-game-tab{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;flex:1;padding:.5rem .4rem .4rem;font-size:.8rem;transition:color .15s,border-color .15s}.profile-game-tab:hover{color:var(--text-primary)}.profile-game-tab--active{color:var(--text-primary);border-bottom-color:var(--brand-accent,#7c6aef)}.profile-game-tab-count{opacity:.6;font-size:.7rem}.profile-games-section .game-list{scrollbar-width:thin;scrollbar-color:#ffffff26 transparent;flex:1;min-height:0;padding-bottom:1.5rem;overflow-y:auto}.profile-games-section .game-list::-webkit-scrollbar{width:4px}.profile-games-section .game-list::-webkit-scrollbar-track{background:0 0}.profile-games-section .game-list::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:2px}.profile-games-section:after{content:"";background:linear-gradient(transparent, var(--bg-primary));pointer-events:none;z-index:1;height:24px;position:absolute;bottom:0;left:0;right:0}.profile-games-empty{height:100%;color:var(--text-muted);justify-content:center;align-items:center;font-size:.85rem;display:flex}@media (width<=600px){.public-profile-ratings{grid-template-columns:repeat(2,1fr);gap:.4rem;padding:0}.public-profile-rd{display:none}.public-profile-rating-value{font-size:1.4rem}.profile-stats{grid-template-columns:repeat(3,1fr);gap:.35rem}.profile-stats .stat{padding:.4rem .25rem}.profile-stats .stat-value{font-size:.95rem}.profile-stats .stat-label{font-size:.6rem}.profile-game-tabs{gap:.2rem}.profile-game-tab{padding:.4rem .3rem .35rem;font-size:.75rem}.game-row{gap:.5rem;padding:.5rem .6rem;font-size:.8rem}.profile-header h2{font-size:1.1rem}.profile-avatar{width:44px;height:44px}}.leaderboard-category-tabs{border-bottom:1px solid var(--border,#333);gap:.25rem;padding:.5rem 1rem;display:flex}.leaderboard-tab{border:1px solid var(--border,#333);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:6px;flex:1;padding:.5rem;font-size:.8rem;transition:background .15s,color .15s}.leaderboard-tab:hover{background:var(--bg-elevated);color:var(--text-primary)}.leaderboard-tab--active{background:var(--bg-elevated);color:var(--text-primary);border-color:var(--brand-accent,#7c6aef)}.profile-avatar-placeholder{background:var(--bg-elevated);border:2px solid var(--text-muted);border-radius:50%;flex-shrink:0;width:56px;height:56px}.game-result--win{color:#22c55e}.game-result--loss{color:#ef4444}.game-opponent-cell{color:var(--text-secondary);min-width:80px;font-size:.85rem}.game-opponent-link{color:var(--accent);cursor:pointer;text-decoration:none}.game-opponent-link:hover{text-decoration:underline}.game-opponent{color:var(--text-muted)}.game-row[data-action=replay-game]{cursor:pointer;transition:background .12s}.game-row[data-action=replay-game]:hover{border-left-color:var(--brand-accent,#7c6aef);background:#ffffff08}.game-replay-icon{color:var(--text-secondary);opacity:.5;align-items:center;font-size:.85rem;transition:opacity .15s,color .15s;display:flex}.game-row[data-action=replay-game]:hover .game-replay-icon{opacity:1;color:var(--accent-magenta)}.lb-username--link{color:inherit;cursor:pointer;text-decoration:none}.lb-username--link:hover{color:var(--accent);text-decoration:underline}@media (width<=540px){.auth-profile-body,.public-profile-body{gap:.75rem;padding:.75rem .75rem 0}.game-row{flex-wrap:wrap;gap:.4rem}.game-opponent-cell{min-width:unset}}.mode-hero-card--purple{--card-accent:#8b5cf6;border-color:#8b5cf640 #8b5cf640 #8b5cf640 #8b5cf6b3;border-left-style:solid;border-left-width:3px}.mode-hero-card--purple .mode-hero-card-bg{background:radial-gradient(at 30% 20%,#8b5cf640,#0000 70%)}.mode-hero-card--purple .mode-hero-card-icon{color:#8b5cf6}.mode-hero-card--purple:after{border-top-color:#8b5cf680;border-left-color:#8b5cf680}.mode-hero-card--purple:hover{border-color:#8b5cf680;box-shadow:0 8px 32px #00000080,0 0 40px #8b5cf61f}.mode-hero-card--purple:hover:after{border-top-color:#8b5cf6cc;border-left-color:#8b5cf6cc}.mode-hero-card--purple:hover .mode-hero-card-arrow{color:#8b5cf6;transform:translate(4px)}.mode-hero-card--purple:hover .mode-hero-card-bg{opacity:1}.mode-hero-card--green{border-color:#22c55e40 #22c55e40 #22c55e40 #22c55eb3;border-left-style:solid;border-left-width:3px}.mode-hero-card--green .mode-hero-card-bg{background:linear-gradient(135deg,#22c55e1a 0%,#10b9810a 50%,#0000 80%)}.mode-hero-card--green .mode-hero-card-icon{color:#22c55e}.mode-hero-card--green:after{border-top-color:#22c55e80;border-left-color:#22c55e80}.mode-hero-card--green:hover{border-color:#22c55e80;box-shadow:0 8px 32px #00000080,0 0 40px #22c55e1f}.mode-hero-card--green:hover:after{border-top-color:#22c55ecc;border-left-color:#22c55ecc}.mode-hero-card--green:hover .mode-hero-card-arrow{color:#22c55e;transform:translate(4px)}.mode-hero-card--green:hover .mode-hero-card-bg{opacity:1}.mode-hero-card--amber{border-color:#f59e0b40 #f59e0b40 #f59e0b40 #f59e0bb3;border-left-style:solid;border-left-width:3px}.mode-hero-card--amber .mode-hero-card-bg{background:linear-gradient(135deg,#f59e0b1a 0%,#ea580c0a 50%,#0000 80%)}.mode-hero-card--amber .mode-hero-card-icon{color:#f59e0b}.mode-hero-card--amber:after{border-top-color:#f59e0b80;border-left-color:#f59e0b80}.mode-hero-card--amber:hover{border-color:#f59e0b80;box-shadow:0 8px 32px #00000080,0 0 40px #f59e0b1f}.mode-hero-card--amber:hover:after{border-top-color:#f59e0bcc;border-left-color:#f59e0bcc}.mode-hero-card--amber:hover .mode-hero-card-arrow{color:#f59e0b;transform:translate(4px)}.mode-hero-card--amber:hover .mode-hero-card-bg{opacity:1}.tournament-screen{background:var(--bg-primary);flex-direction:column;max-width:600px;min-height:100dvh;margin:0 auto;padding:20px;display:flex}.tournament-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.tournament-header h1{font-size:22px;font-weight:600}.tournament-round{color:var(--text-secondary);font-size:14px}.tournament-body{flex-direction:column;gap:16px;display:flex}.tournament-match-result{background:#ffffff08;border-radius:6px;justify-content:space-between;align-items:center;margin-bottom:4px;padding:6px 12px;font-size:13px;display:flex}.tournament-match-vs{color:var(--text-secondary);font-weight:600}.tournament-standings td,.tournament-standings th{padding:6px 8px;font-size:13px}.tournament-standings tbody tr{border-bottom:1px solid #ffffff0d}.correspondence-screen{background:var(--bg-primary);flex-direction:column;min-height:100dvh;display:flex}.corr-body{width:100%;max-width:640px;padding:var(--space-6) var(--space-4);flex:1;margin:0 auto}.corr-header{margin-bottom:var(--space-6);justify-content:space-between;align-items:center;display:flex}.corr-title{font-family:var(--font-display);color:var(--text-primary);margin:0;font-size:1.5rem;font-weight:600}.corr-new-btn{padding:var(--space-2) var(--space-4);font-size:.85rem}.corr-empty,.corr-loading{padding:var(--space-12) var(--space-4);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.corr-empty-text,.corr-loading-text{font-family:var(--font-body);color:var(--text-secondary);margin:0 0 var(--space-2) 0;font-size:1.1rem}.corr-empty-sub{font-family:var(--font-body);color:var(--text-muted);margin:0;font-size:.9rem}.corr-section{margin-bottom:var(--space-6)}.corr-section-title{font-family:var(--font-display);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 var(--space-3) 0;font-size:.85rem;font-weight:600}.corr-game-list{gap:var(--space-2);flex-direction:column;display:flex}.corr-game-card{width:100%;padding:var(--space-3) var(--space-4);background:var(--bg-elevated);cursor:pointer;text-align:left;font-family:var(--font-body);border:1px solid #ffffff0f;border-radius:10px;justify-content:space-between;align-items:center;transition:background .15s,border-color .15s;display:flex}.corr-game-card:hover{background:var(--bg-tertiary);border-color:#ffffff1f}.corr-game-card--active{border-left:3px solid var(--accent)}.corr-game-card--completed{opacity:.7}.corr-game-card-left{align-items:center;gap:var(--space-3);min-width:0;display:flex}.corr-game-side{flex-shrink:0;font-size:1.4rem;line-height:1}.corr-game-info{flex-direction:column;min-width:0;display:flex}.corr-game-opponent{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:500;overflow:hidden}.corr-game-meta{color:var(--text-muted);font-size:.8rem}.corr-game-card-right{align-items:center;gap:var(--space-3);flex-shrink:0;display:flex}.corr-game-time{color:var(--text-muted);font-size:.78rem;font-family:var(--font-mono);white-space:nowrap}.corr-badge{text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;border-radius:6px;padding:2px 8px;font-size:.72rem;font-weight:600;display:inline-block}.corr-badge--your-turn{color:var(--accent);background:#00e5ff26;animation:2s ease-in-out infinite corr-pulse}.corr-badge--waiting{color:var(--text-muted);background:#ffffff0f}.corr-badge--won{color:#22c55e;background:#22c55e26}.corr-badge--lost{color:#ef4444;background:#ef444426}.corr-badge--draw{color:var(--accent-gold);background:#fbbf2426}@keyframes corr-pulse{0%,to{opacity:1}50%{opacity:.6}}.corr-badge--code{color:#a5b4fc;letter-spacing:2px;-webkit-user-select:all;user-select:all;background:#6366f126;padding:4px 10px;font-family:monospace;font-size:13px}.corr-join-row{align-items:center;gap:8px;display:flex}.corr-input{letter-spacing:2px;text-transform:uppercase;color:#fff;background:#ffffff0d;border:1px solid #ffffff1f;border-radius:8px;outline:none;flex:1;min-height:44px;padding:10px 12px;font-family:monospace;font-size:15px}.corr-input:focus{border-color:var(--accent-pink);box-shadow:0 0 0 2px #ff2d7826}.corr-input::placeholder{color:#ffffff40;letter-spacing:1px}.corr-challenge-card{border-style:dashed}.btn-small{padding:4px 12px;font-size:12px}@media (width<=540px){.corr-body{padding:var(--space-4) var(--space-3)}.corr-game-card{padding:var(--space-3) var(--space-3);min-height:56px}.corr-game-time{display:none}.corr-new-btn{min-height:44px;padding:var(--space-2) var(--space-4)}.corr-join-row .btn{min-height:44px}}.spectate-list-screen{background:var(--bg-primary);flex-direction:column;min-height:100dvh;display:flex}.spectate-list-body{padding:var(--space-6) var(--space-5);flex-direction:column;flex:1;align-items:center;width:100%;max-width:700px;margin:0 auto;display:flex}.spectate-loading{color:var(--text-secondary);font-family:var(--font-body);padding:var(--space-8) 0;text-align:center;font-size:1rem}.spectate-empty{align-items:center;gap:var(--space-4);padding:var(--space-8) var(--space-5);text-align:center;flex-direction:column;display:flex}.spectate-empty-icon{opacity:.5;font-size:3rem}.spectate-empty-title{font-family:var(--font-heading);color:var(--text-primary);margin:0;font-size:1.4rem}.spectate-empty-desc{font-family:var(--font-body);color:var(--text-secondary);max-width:320px;margin:0;font-size:.9rem}.spectate-game-list{gap:var(--space-3);flex-direction:column;width:100%;display:flex}.spectate-game-card{gap:var(--space-3);padding:var(--space-5) var(--space-5);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;transition:border-color var(--duration-fast), background var(--duration-fast);text-align:left;width:100%;font-family:var(--font-body);color:var(--text-primary);flex-direction:column;display:flex}.spectate-game-card:hover{border-color:var(--accent);background:var(--bg-tertiary)}.spectate-game-players{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.spectate-player{align-items:center;gap:var(--space-2);display:flex}.spectate-player-piece{align-items:center;font-size:1.2rem;display:inline-flex}.spectate-player-piece .piece-svg{width:1em;height:1em}.spectate-player--white .spectate-player-piece{color:var(--piece-white)}.spectate-player--black .spectate-player-piece{color:var(--accent-orange)}.spectate-player-name{color:var(--text-primary);font-size:.95rem;font-weight:600}.spectate-vs{color:var(--text-muted);font-size:.8rem;font-style:italic}.spectate-game-meta{gap:var(--space-4);flex-wrap:wrap;display:flex}.spectate-meta-item{color:var(--text-secondary);white-space:nowrap;font-size:.8rem}.spectate-view-screen{background:var(--bg-primary);flex-direction:column;min-height:100dvh;display:flex}.spectate-view-body{padding:var(--space-4) var(--space-5);align-items:center;gap:var(--space-4);flex-direction:column;flex:1;display:flex}.spectate-view-info{text-align:center}.spectate-view-players{align-items:center;gap:var(--space-4);flex-wrap:wrap;justify-content:center;display:flex}.spectate-view-player{align-items:center;gap:var(--space-2);display:flex}.spectate-view-player-piece{align-items:center;font-size:1.4rem;display:inline-flex}.spectate-view-player-piece .piece-svg{width:1em;height:1em}.spectate-view-player-piece.piece-white{color:var(--piece-white)}.spectate-view-player-piece.piece-black{color:var(--accent-orange)}.spectate-view-player-name{font-family:var(--font-heading);color:var(--text-primary);font-size:1.05rem;font-weight:600}.spectate-view-vs{color:var(--text-muted);font-size:.85rem;font-style:italic}.spectate-view-board-wrap{aspect-ratio:1;width:100%;max-width:min(80vw,80vh,560px)}.spectate-board{border-radius:var(--radius-lg);border:2px solid var(--border-light);grid-template-rows:repeat(8,1fr);grid-template-columns:repeat(8,1fr);width:100%;height:100%;display:grid;overflow:hidden}.spectate-square{-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;display:flex;position:relative}.spectate-square.light{background:var(--board-light)}.spectate-square.dark{background:var(--board-dark)}.spectate-square.quantum{box-shadow:inset 0 0 8px #ff3a8c40}.spectate-piece{pointer-events:none;justify-content:center;align-items:center;font-size:clamp(1.2rem,5vw,2.8rem);line-height:1;display:flex}.spectate-piece .piece-svg{width:1em;height:1em}.spectate-square.piece-white .spectate-piece{color:var(--piece-white);filter:drop-shadow(0 1px 4px #00000080)}.spectate-square.piece-black .spectate-piece{color:var(--accent-orange);filter:drop-shadow(0 1px 4px #00000080)}.spectate-view-status{text-align:center}.spectate-view-meta{gap:var(--space-5);padding:var(--space-2) 0;flex-wrap:wrap;justify-content:center;display:flex}.spectate-status-badge{text-transform:uppercase;letter-spacing:.04em;font-weight:600}.spectate-status-badge--live{color:var(--success)}.spectate-status-badge--completed{color:var(--text-muted)}@media (width<=600px){.spectate-list-body{padding:var(--space-4) var(--space-3)}.spectate-game-card{padding:var(--space-4)}.spectate-view-board-wrap{max-width:95vw}.spectate-view-players{gap:var(--space-2)}.spectate-view-player-name{font-size:.9rem}}.consent-banner{z-index:10000;padding:var(--space-5);background:var(--bg-elevated);border-top:1px solid var(--border-light);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);animation:.3s ease-out consent-slide-up;position:fixed;bottom:0;left:0;right:0}@keyframes consent-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.consent-banner-inner{align-items:center;gap:var(--space-6);max-width:960px;margin:0 auto;display:flex}.consent-banner-text{flex:1}.consent-banner-text p{font-family:var(--font-body);color:var(--text-secondary);margin:0;font-size:.85rem;line-height:1.5}.consent-banner-text a{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.consent-banner-actions{gap:var(--space-3);flex-shrink:0;display:flex}.consent-btn{font-family:var(--font-heading);padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);cursor:pointer;border:none;font-size:.85rem;transition:opacity .15s}.consent-btn:hover{opacity:.85}.consent-btn--accept{background:var(--brand-gradient);color:#fff}.consent-btn--decline{color:var(--text-secondary);border:1px solid var(--border-light);background:0 0}@media (width<=600px){.consent-banner-inner{text-align:center;gap:var(--space-4);flex-direction:column}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-to-content{z-index:10000;background:var(--accent);color:var(--bg-primary);letter-spacing:.04em;padding:8px 16px;font-family:Chakra Petch,sans-serif;font-weight:600;text-decoration:none;transition:top .15s;position:absolute;top:-100%;left:0}.skip-to-content:focus{outline:none;top:12px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;box-shadow:0 0 0 4px #00e5ff26}.btn-primary:focus-visible{outline-color:#fff;box-shadow:0 0 0 4px #ff3a8c40}.square:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;z-index:3}.option-btn:focus-visible,.setup-side-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mode-hero-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px;box-shadow:0 0 0 4px #00e5ff26}.toast-close:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.promotion-option:focus-visible,.sandbox-menu-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.consent-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.home-hero-glow,.mode-hero-card-bg{opacity:.3;animation:none!important}.toast,.modal-backdrop,.modal-dialog,.ring-gauge circle,.entanglement-ring circle,.consent-banner{animation:none!important}}@media (prefers-contrast:more){:root{--bg-primary:#000;--bg-secondary:#0a0a0a;--bg-tertiary:#141414;--bg-elevated:#1e1e1e;--text-primary:#fff;--text-secondary:#ccc;--text-muted:#888;--border:#ffffff40;--border-light:#fff6;--board-light:#2a2a5a;--board-dark:#0a0a2a}.btn{border-width:2px}.btn-primary{border-color:#ff3a8ccc}.btn-secondary{border-color:#ffffff80}.square{border:1px solid #ffffff1f}.square.selected{border-color:var(--selection);border-width:2px}.square.legal-target{border-color:var(--legal-target);border-width:2px}.toast{border-width:2px}.toast-info{border-color:#00e5ff99}.toast-success{border-color:#22c55e99}.toast-warning{border-color:#f59e0b99}.toast-error{border-color:#ef444499}.modal-dialog{border-width:2px;border-color:#ff3a8c66}.exact-probability-badge{border:1px solid #ffffff4d;font-weight:700}.piece-symbol{filter:contrast(1.2)}:focus-visible{outline-width:3px}}.pwa-install-banner{z-index:9000;background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-secondary);border-radius:10px;align-items:center;gap:12px;max-width:calc(100vw - 32px);padding:10px 16px;font-family:Oxanium,sans-serif;font-size:.85rem;display:flex;position:fixed;bottom:16px;left:50%;transform:translate(-50%);box-shadow:0 4px 24px #00000080}.pwa-install-btn{background:var(--accent);color:var(--bg-primary);cursor:pointer;white-space:nowrap;border:none;border-radius:6px;padding:6px 14px;font-family:Chakra Petch,sans-serif;font-size:.8rem;font-weight:600;transition:opacity .15s}.pwa-install-btn:hover{opacity:.85}.pwa-install-dismiss{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:1.1rem;line-height:1}.pwa-install-dismiss:hover{color:var(--text-primary)}.guide-screen{background:var(--bg-primary);height:100dvh;color:var(--text-primary);flex-direction:column;display:flex}.guide-topbar{padding:8px 16px;padding-top:max(8px, env(titlebar-area-y,8px));padding-right:max(16px, calc(100% - env(titlebar-area-x,100%) - env(titlebar-area-width,0px) + 12px));background:var(--bg-secondary,#ffffff08);-webkit-app-region:drag;app-region:drag;border-bottom:1px solid var(--border,#ffffff0f);flex-shrink:0;align-items:center;gap:12px;display:flex}.guide-back-btn{opacity:.7;font-size:.85rem}.guide-back-btn:hover{opacity:1}.guide-topbar button,.guide-topbar a,.guide-topbar nav{-webkit-app-region:no-drag;app-region:no-drag}.guide-topbar-nav{gap:4px;margin-left:auto;display:flex}.guide-tab{color:var(--text-muted,#ffffff80);border-radius:6px;padding:6px 14px;font-size:.85rem;text-decoration:none;transition:background .15s,color .15s}.guide-tab:hover{color:var(--text-primary);background:#ffffff0d}.guide-tab.active{color:var(--accent,#00e5ff);background:#00e5ff14}.guide-layout{flex:1;min-height:0;display:flex;overflow:hidden}.guide-sidebar{border-right:1px solid var(--border,#ffffff0f);flex-direction:column;flex-shrink:0;gap:2px;width:200px;padding:20px 12px;display:flex;overflow-y:auto}.guide-sidebar-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted,#fff6);margin-bottom:8px;padding:0 8px;font-size:.7rem}.guide-sidebar-link{color:var(--text-muted);border-radius:4px;padding:5px 8px;font-size:.8rem;text-decoration:none;transition:background .15s,color .15s;display:block}.guide-sidebar-link:hover{color:var(--text-primary);background:#ffffff0d}.guide-content{flex:1;max-width:800px;padding:32px 48px 80px;overflow-y:auto}.guide-screen--index .guide-content{max-width:960px;margin:0 auto}.guide-article h1{font-family:var(--font-display,"Chakra Petch", sans-serif);background:linear-gradient(135deg,#ff3a8c,#ff6a2b,#fbbf24);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 8px;font-size:2rem;font-weight:700}.guide-lead{color:var(--text-muted,#fff9);margin:0 0 32px;font-size:1.05rem;line-height:1.6}.guide-section{margin-bottom:48px;scroll-margin-top:24px}.guide-section h2{font-family:var(--font-display,"Chakra Petch", sans-serif);color:var(--text-primary);margin:0 0 12px;font-size:1.35rem;font-weight:600}.guide-section h3{color:var(--text-primary);opacity:.85;margin:24px 0 8px;font-size:1rem;font-weight:600}.guide-section p{color:var(--text-secondary,#ffffffbf);margin:0 0 12px;font-size:.92rem;line-height:1.7}.guide-section ul,.guide-section ol{margin:0 0 16px;padding-left:20px}.guide-section li{color:var(--text-secondary,#ffffffbf);margin-bottom:4px;font-size:.92rem;line-height:1.7}.guide-section strong{color:var(--text-primary)}.guide-section em{color:var(--accent,#00e5ff);font-style:italic}.guide-section a{color:var(--accent,#00e5ff);text-underline-offset:2px;text-decoration:underline}.guide-section a:hover{color:#fff}.guide-section code{font-family:var(--font-mono,"JetBrains Mono", monospace);background:#ffffff0f;border-radius:3px;padding:2px 6px;font-size:.85em}.guide-section--muted{color:var(--text-secondary)}.diagram-row{flex-wrap:nowrap;align-items:center;gap:16px;margin:16px 0;display:flex}.diagram-row--wrap{flex-wrap:wrap}.diagram-arrow{color:var(--text-muted,#fff6);font-size:1.4rem}.diagram-callout{background:#ffffff05;border:1px solid #ffffff0f;border-radius:8px;margin:20px 0;padding:16px}.demo-piece-wrap{flex-direction:column;align-items:center;gap:6px;display:inline-flex}.demo-piece-square{background:#ffffff0a;border-radius:8px;justify-content:center;align-items:center;width:56px;height:56px;display:flex;position:relative}.demo-piece-square--dark{background:#00000080;border-radius:50%}.guide-measure-icon{justify-content:center;align-items:center;width:80%;height:80%;display:flex}.guide-measure-icon svg{filter:drop-shadow(0 0 6px #38e9e980);width:100%;height:100%}.demo-piece-square .ring-gauge{width:calc(100% + 8px);height:calc(100% + 8px);position:absolute;inset:-4px}.demo-piece-square .entanglement-ring{width:calc(100% + 20px);height:calc(100% + 20px);position:absolute;inset:-10px}.demo-piece-square .phase-indicator{width:100%;height:100%;position:absolute;inset:0}.demo-piece-square .piece-token,.demo-piece-square .piece-symbol{border-radius:999px;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.demo-piece-square .piece-svg{width:28px;height:28px}.demo-piece-label{color:var(--text-muted);text-align:center;max-width:80px;font-size:.7rem;line-height:1.3}.inline-piece{vertical-align:-.15em;justify-content:center;align-items:center;width:1.2em;height:1.2em;display:inline-flex}.inline-piece .piece-svg{width:100%;height:100%}.mini-board-figure{margin:16px 0;display:inline-block}.mini-board{border:1px solid #ffffff14;border-radius:6px;gap:0;display:grid;position:relative;overflow:hidden}.mini-board-figure.mini-board-sm .mini-board{width:min(280px,70vw)}.mini-board-figure.mini-board-md .mini-board{width:min(360px,80vw)}.mini-board-figure.mini-board-lg .mini-board{width:min(440px,85vw)}.mini-sq{aspect-ratio:1}.mini-sq.square{border-color:#0000!important}.mini-sq.square.selected{box-shadow:inset 0 0 0 2px var(--accent,#00e5ff)}.mini-sq.square.legal-target{box-shadow:inset 0 0 0 2px var(--legal-target,#22c55e)}.mini-sq.square.last-move{box-shadow:none}.sq-light{background:#ffffff14}.sq-dark{background:#ffffff08}.sq-light.last-move{background:#fa03}.sq-dark.last-move{background:#ffaa0026}.mini-sq .piece-symbol{font-size:24px}.mini-sq .ring-gauge{z-index:2;width:calc(100% + 4px);height:calc(100% + 4px);position:absolute;inset:-2px}.mini-board-label{color:var(--text-muted,#ffffff80);white-space:nowrap;pointer-events:none;font-size:.55rem;position:absolute;bottom:1px;left:50%;transform:translate(-50%)}.mini-board-caption{color:var(--text-muted,#ffffff80);text-align:center;margin-top:8px;font-size:.8rem;font-style:italic}.mini-coord-rank{color:var(--text-muted,#ffffff4d);pointer-events:none;font-size:.5rem;position:absolute;top:2px;left:3px}.mini-coord-file{color:var(--text-muted,#ffffff4d);pointer-events:none;font-size:.5rem;position:absolute;bottom:2px;right:3px}.mini-web-overlay{pointer-events:none;z-index:4;width:100%;height:100%;position:absolute;inset:0}.step-sequence{align-items:flex-start;gap:8px;margin:16px 0;padding-bottom:8px;display:flex;overflow-x:auto}.step-item{flex-direction:column;flex-shrink:0;align-items:center;gap:6px;display:flex}.step-number{background:var(--accent,#00e5ff);color:#000;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:.7rem;font-weight:700;display:flex}.step-label{color:var(--text-muted,#ffffff8c);text-align:center;max-width:180px;font-size:.75rem;line-height:1.3}.step-arrow{color:var(--text-muted,#ffffff4d);align-self:center;margin-top:24px;font-size:1.4rem}.mode-header{align-items:center;gap:10px;margin-bottom:12px;display:flex}.mode-icon{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.2rem;display:flex}.mode-icon--orange{background:#ff6a2b26}.mode-icon--magenta{background:#ff3a8c26}.mode-icon--cyan{background:#00e5ff26}.mode-icon--purple{background:#8b5cf626}.mode-header h2{margin:0}.notation-table{border-collapse:collapse;width:100%;margin:12px 0;font-size:.85rem}.notation-table th{text-align:left;color:var(--text-muted,#ffffff80);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #ffffff1a;padding:8px 12px;font-size:.75rem;font-weight:600}.notation-table td{color:var(--text-secondary,#ffffffbf);border-bottom:1px solid #ffffff0a;padding:6px 12px}.notation-table code{font-family:var(--font-mono,"JetBrains Mono", monospace);background:#ffffff0f;border-radius:3px;padding:2px 6px;font-size:.85em}.coming-soon-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-top:12px;display:grid}.coming-soon-item{background:#ffffff05;border:1px dashed #ffffff14;border-radius:8px;padding:16px}.coming-soon-icon{margin-bottom:8px;font-size:1.5rem;display:block}.coming-soon-item h3{margin:0 0 4px;font-size:.95rem}.coming-soon-item p{margin:0;font-size:.82rem}.guide-index{padding:32px 0}.guide-index-header{text-align:center;margin-bottom:40px}.guide-index-header h1{font-family:var(--font-display,"Chakra Petch", sans-serif);background:linear-gradient(135deg,#ff3a8c,#ff6a2b,#fbbf24);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 8px;font-size:2.2rem;font-weight:700}.guide-index-subtitle{color:var(--text-muted,#ffffff8c);margin:0;font-size:1rem}.guide-cards{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.guide-card{color:var(--text-primary);background:#ffffff08;border:1px solid #ffffff0f;border-radius:12px;flex-direction:column;padding:24px;text-decoration:none;transition:background .2s,border-color .2s,transform .2s;display:flex;position:relative;overflow:hidden}.guide-card:hover{background:#ffffff0d;border-color:#ffffff1a;transform:translateY(-2px)}.guide-card--magenta:hover{border-color:#ff3a8c4d}.guide-card--cyan:hover{border-color:#00e5ff4d}.guide-card--orange:hover{border-color:#ff6a2b4d}.guide-card--green:hover{border-color:#34d3994d}.guide-card-icon{margin-bottom:12px;font-size:2rem}.guide-card-title{font-family:var(--font-display,"Chakra Petch", sans-serif);margin:0 0 6px;font-size:1.2rem;font-weight:600}.guide-card-desc{color:var(--text-muted,#ffffff8c);flex:1;margin:0;font-size:.85rem;line-height:1.5}.guide-card-arrow{color:var(--text-muted,#ffffff4d);margin-top:12px;font-size:1.2rem;transition:color .15s,transform .15s}.guide-card:hover .guide-card-arrow{color:var(--text-primary);transform:translate(4px)}.idemo{flex-direction:column;align-items:center;gap:12px;display:flex}.idemo-hint{color:var(--text-secondary,#ffffffbf);text-align:center;min-height:1.4em;font-size:.88rem;transition:color .2s}.idemo-hint--done{color:var(--accent,#00e5ff);font-weight:600}.idemo-board-wrap{touch-action:none;-webkit-user-select:none;user-select:none}.idemo-board{cursor:pointer;border:1px solid #ffffff14;border-radius:6px;gap:0;width:280px;display:grid;position:relative;overflow:hidden}.idemo-sq{aspect-ratio:1}.idemo-sq.square{border-color:#0000!important}.idemo-sq.square.selected{box-shadow:inset 0 0 0 2px var(--accent,#00e5ff)}.idemo-sq.square.legal-target{box-shadow:inset 0 0 0 2px var(--legal-target,#22c55e)}.idemo-sq.square.last-move{box-shadow:none}.idemo-board .piece-symbol{pointer-events:none;font-size:28px}.idemo-board .piece-token{pointer-events:none}.idemo-coord-rank{color:#ffffff4d;pointer-events:none;z-index:5;font-size:.5rem;line-height:1;position:absolute;top:1px;left:2px}.idemo-coord-file{color:#ffffff4d;pointer-events:none;z-index:5;font-size:.5rem;line-height:1;position:absolute;bottom:1px;right:2px}.idemo-sq .ring-gauge{z-index:2;pointer-events:none;width:calc(100% + 4px);height:calc(100% + 4px);position:absolute;inset:-2px}.idemo-piece-picker{flex-wrap:wrap;justify-content:center;gap:4px;display:flex}.idemo-piece-btn{color:var(--text-muted,#ffffff80);cursor:pointer;background:#ffffff05;border:1px solid #ffffff0f;border-radius:6px;flex-direction:column;align-items:center;gap:2px;padding:6px 10px;transition:background .15s,border-color .15s,color .15s;display:flex}.idemo-piece-btn:hover{color:var(--text-primary);background:#ffffff0f}.idemo-piece-btn.active{color:var(--text-primary);background:#00e5ff1a;border-color:#00e5ff4d}.idemo-piece-icon{justify-content:center;align-items:center;width:24px;height:24px;display:flex}.idemo-piece-icon .piece-svg{width:20px;height:20px}.idemo-piece-label{font-size:.65rem;line-height:1}.idemo-scenario-bar{justify-content:center;gap:4px;display:flex}.idemo-scenario-btn{color:var(--text-muted,#ffffff80);cursor:pointer;background:#ffffff05;border:1px solid #ffffff0f;border-radius:4px;padding:3px 10px;font-size:.75rem;transition:background .15s,border-color .15s,color .15s}.idemo-scenario-btn:hover{color:var(--text-primary);background:#ffffff0f}.idemo-scenario-btn.active{color:var(--accent,#00e5ff);background:#00e5ff14;border-color:#00e5ff40}.idemo-scenario-wrap{min-height:28px}.idemo-success-overlay{border-radius:inherit;pointer-events:none;z-index:10;background:#00000040;justify-content:center;align-items:center;animation:.3s idemo-success-fade;display:flex;position:absolute;inset:0}@keyframes idemo-success-fade{0%{opacity:0}to{opacity:1}}.idemo-success-check{filter:drop-shadow(0 0 10px #34d39980);width:48px;height:48px}.idemo-check-circle{stroke-dasharray:151;stroke-dashoffset:151px;animation:.4s .1s forwards idemo-circle-draw}@keyframes idemo-circle-draw{to{stroke-dashoffset:0}}.idemo-check-path{stroke-dasharray:40;stroke-dashoffset:40px;animation:.3s .35s forwards idemo-check-draw}@keyframes idemo-check-draw{to{stroke-dashoffset:0}}.idemo-shake{animation:.4s idemo-shake}@keyframes idemo-shake{0%,to{transform:translate(0)}15%{transform:translate(-6px)}30%{transform:translate(5px)}45%{transform:translate(-4px)}60%{transform:translate(3px)}75%{transform:translate(-2px)}}.idemo-disabled-overlay{border-radius:inherit;pointer-events:none;z-index:10;background:#0000004d;justify-content:center;align-items:center;animation:.2s idemo-success-fade;display:flex;position:absolute;inset:0}.idemo-disabled-x{filter:drop-shadow(0 0 8px #ef444466);width:44px;height:44px}.idemo-x-circle{stroke-dasharray:151;stroke-dashoffset:151px;animation:.3s forwards idemo-circle-draw}.idemo-x-line1{stroke-dasharray:23;stroke-dashoffset:23px;animation:.2s .15s forwards idemo-check-draw}.idemo-x-line2{stroke-dasharray:23;stroke-dashoffset:23px;animation:.2s .25s forwards idemo-check-draw}.idemo-hint--disabled{color:var(--text-muted,#ffffff73);font-style:italic}.idemo-hint--error{color:#ef4444e6;font-weight:600}.idemo-measurement-pair{max-width:100%}.idemo-measurement-boards{justify-content:center;align-items:flex-start;gap:16px;display:flex}.idemo-measurement-col{flex-direction:column;align-items:center;gap:6px;display:flex}.idemo-measurement-label{font-family:var(--font-mono,"JetBrains Mono", monospace);border-radius:4px;padding:2px 10px;font-size:.85rem;font-weight:700}.idemo-measurement-label--m0{color:#ef4444d9;background:#ef44441a}.idemo-measurement-label--m1{color:#34d399e6;background:#34d3991a}.idemo-measurement-label--detail{font-size:.72rem;font-weight:500;font-family:var(--font-body,"Oxanium", sans-serif);text-align:center;max-width:280px;padding:4px 8px;line-height:1.4}.idemo-measurement-col .idemo-board{width:min(42vw,280px)}.idemo-measure-eye,.idemo-measure-result{pointer-events:none;z-index:10;background:#000000b3;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;transform:translate(-50%,-50%)}.idemo-measure-eye svg{width:85%;height:85%}.idemo-measure-result svg{width:55%;height:55%}.idemo-measure-eye svg{filter:drop-shadow(0 0 8px #38e9e9cc)drop-shadow(0 0 16px #38e9e966)}.idemo-measure-eye{animation:.8s ease-in-out infinite idemo-eye-pulse;transform:translate(-50%,-65%)}@keyframes idemo-eye-pulse{0%,to{opacity:.7;transform:translate(-50%,-65%)scale(.9)}50%{opacity:1;transform:translate(-50%,-65%)scale(1.1)}}.idemo-measure-result{animation:.3s idemo-result-pop}.idemo-measure-result svg{filter:drop-shadow(0 0 4px)}@keyframes idemo-result-pop{0%{opacity:0;transform:translate(-50%,-50%)scale(.4)}60%{transform:translate(-50%,-50%)scale(1.15)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.idemo-hint-overlay{pointer-events:none;z-index:10;position:absolute;inset:0}.idemo-hint-tap{border:2px solid #00e5ff99;border-radius:50%;animation:1.5s ease-in-out infinite idemo-pulse;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 12px #00e5ff4d}@keyframes idemo-pulse{0%,to{opacity:.4;transform:translate(-50%,-50%)scale(.8)}50%{opacity:1;transform:translate(-50%,-50%)scale(1.1)}}.idemo-hint-drag{width:100%;height:100%;position:absolute;inset:0}.idemo-reset{color:var(--text-muted,#ffffff80);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:4px;padding:4px 14px;font-size:.75rem;transition:background .15s,color .15s}.idemo-reset:hover{color:var(--text-primary);background:#ffffff14}.touch-only{display:none}.desktop-only{display:revert}@media (pointer:coarse){.desktop-only{display:none}.touch-only{display:revert}}@media (width<=768px){.guide-sidebar{display:none}.guide-content{padding:20px 16px 60px}.guide-topbar-nav{gap:2px}.guide-tab{padding:4px 10px;font-size:.8rem}.step-sequence{gap:4px}.guide-cards{grid-template-columns:1fr}.idemo-board{width:min(85vw,320px)}.idemo-measurement-col .idemo-board{width:min(42vw,240px)}.idemo-measurement-boards{gap:8px}}.ai-test-body{flex:1;gap:1.5rem;min-height:0;padding:1.5rem;display:flex;overflow-y:auto}.ai-test-left{flex-direction:column;flex:none;align-items:center;display:flex}.ai-test-board-wrap{flex-direction:column;gap:.5rem;display:flex}.ai-test-board-header{color:var(--text-muted,#888);justify-content:space-between;align-items:baseline;font-size:.8rem;display:flex}.ai-test-board-label{color:var(--text-primary,#e0e0e0);font-weight:500}.ai-test-board-container{aspect-ratio:1;width:min(45vh,400px)}.ai-test-board-container .board{border:1px solid #ffffff14;border-radius:6px;grid-template-columns:repeat(8,1fr);gap:0;width:100%;height:100%;overflow:hidden}.ai-test-board-container .square{aspect-ratio:1;cursor:default;border:none}.ai-test-board-empty{width:100%;height:100%;color:var(--text-muted,#888);background:var(--bg-secondary,#1a1a2e);border:1px solid var(--border,#333);border-radius:6px;justify-content:center;align-items:center;font-size:.85rem;display:flex}.ai-test-last-move{color:var(--text-muted,#888);font-family:monospace;font-size:.75rem}.ai-test-right{flex-direction:column;flex:1;gap:.75rem;min-width:0;display:flex}.ai-test-controls{flex-wrap:wrap;gap:.75rem;display:flex}.ai-test-status-bar{color:var(--text-muted,#888);gap:.75rem;font-size:.8rem;display:flex}.ai-test-results{flex-direction:column;gap:.4rem;display:flex}.ai-test-result{background:var(--bg-secondary,#1a1a2e);border:1px solid var(--border,#333);border-radius:6px;padding:.5rem .75rem}.ai-test-result-header{align-items:center;gap:.5rem;font-size:.85rem;display:flex}.ai-test-result-icon{flex-shrink:0;font-size:1rem}.ai-test-result-label{font-weight:500}.ai-test-result-error{color:#f44336;margin-left:auto;font-size:.75rem}.ai-test-result-detail{color:var(--text-muted,#888);margin-top:.25rem;padding-left:1.5rem;font-size:.7rem}.ai-test-result--pending .ai-test-result-icon{color:var(--text-muted,#888)}.ai-test-result--running .ai-test-result-icon{color:var(--accent,#4fc3f7)}.ai-test-result--pass .ai-test-result-icon{color:#4caf50}.ai-test-result--fail .ai-test-result-icon{color:#f44336}.ai-test-run-btn{border:1px solid var(--border,#444);color:var(--accent,#4fc3f7);cursor:pointer;background:0 0;border-radius:4px;margin-left:auto;padding:2px 10px;font-size:.7rem}.ai-test-run-btn:hover{background:#4fc3f71a}.ai-test-game-detail{color:var(--text-muted,#888);margin-top:.25rem;padding-left:1.5rem;font-size:.7rem}.ai-test-game-errors{color:#f44336;margin-top:.15rem;font-size:.7rem}.ai-test-game-detail details{margin-top:.2rem}.ai-test-game-detail summary{cursor:pointer;color:var(--accent,#4fc3f7);-webkit-user-select:none;user-select:none;font-size:.7rem}.ai-test-pgn{background:var(--bg-primary,#0d0d1a);border:1px solid var(--border,#333);white-space:pre-wrap;word-break:break-all;color:var(--text-secondary,#ccc);-webkit-user-select:text;user-select:text;cursor:text;border-radius:4px;max-height:120px;margin-top:.25rem;padding:.5rem;font-family:monospace;font-size:.65rem;overflow-y:auto}.ai-test-log{background:var(--bg-secondary,#1a1a2e);border:1px solid var(--border,#333);min-height:80px;max-height:250px;color:var(--text-muted,#888);white-space:pre-wrap;-webkit-user-select:text;user-select:text;cursor:text;border-radius:8px;flex-shrink:0;padding:.75rem;font-family:monospace;font-size:.7rem;overflow-y:auto}@media (width<=768px){.ai-test-body{flex-direction:column;padding:1rem}.ai-test-board-container{width:min(80vw,350px)}.ai-test-left{align-self:center}}.puzzle-overlay-backdrop{z-index:1000;background:#0009;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.puzzle-overlay{background:var(--bg-primary,#0a0a12);border:1px solid #ffffff1f;border-radius:12px;flex-direction:column;gap:12px;width:100%;max-width:480px;max-height:85vh;padding:20px 24px;display:flex;overflow-y:auto;box-shadow:0 12px 48px #00000080}.puzzle-overlay-header{justify-content:space-between;align-items:center;display:flex}.puzzle-overlay-header h3{margin:0;font-size:1rem;font-weight:600}.puzzle-overlay-issues{color:#f59e0b;background:#f59e0b1a;border:1px solid #f59e0b4d;border-radius:6px;padding:8px 12px;font-size:.8rem;line-height:1.5}.puzzle-overlay-form{flex-direction:column;gap:4px;display:flex}.puzzle-overlay-form label{color:#ffffff80;margin-top:6px;font-size:.75rem}.puzzle-overlay-field{color:inherit;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:6px;padding:6px 10px;font-family:inherit;font-size:.85rem}.puzzle-overlay-field:focus{border-color:var(--accent,#ff2d78);outline:none}.puzzle-overlay-row{align-items:flex-start;gap:16px;display:flex}.puzzle-overlay-row>div,.puzzle-overlay-pgn-section{flex-direction:column;gap:4px;display:flex}.puzzle-overlay-pgn-section label{color:#ffffff80;font-size:.75rem}.puzzle-overlay-pgn{color:#ffffffb3;resize:vertical;background:#ffffff0a;border:1px solid #ffffff14;border-radius:6px;min-height:60px;padding:8px 10px;font-family:monospace;font-size:.75rem}.puzzle-overlay-actions{justify-content:flex-end;gap:8px;padding-top:4px;display:flex}[data-puzzle=true] .sandbox-palette-area,[data-puzzle=true] .sandbox-measurement-btns,[data-puzzle=true] .sandbox-rule-icon,[data-puzzle=true] .sandbox-undo-btn,[data-puzzle=true] .sandbox-controls,[data-puzzle=true] .sandbox-fen-paste{display:none!important}[data-puzzle=true] .sandbox-fen-bar-input{pointer-events:none;opacity:.5}[data-analysis=true] .sandbox-palette-area,[data-analysis=true] .sandbox-fen-bar,[data-analysis=true] .sandbox-controls,[data-analysis=true] .sandbox-measurement-btns,[data-analysis=true] .sandbox-rule-icon,[data-analysis=true] .sandbox-undo-btn{display:none!important}.puzzle-instruction-bar{background:#ffffff08;border:1px solid #ffffff0f;border-radius:8px;align-items:center;gap:10px;min-height:38px;margin-bottom:6px;padding:8px 14px;transition:background .3s;display:flex}.puzzle-instruction-bar.celebrating{background:#22c55e0f;border-color:#22c55e26}.puzzle-instruction-side{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:.8rem;line-height:1;display:flex}.puzzle-instruction-side.side-white{color:#fff;background:#ffffff1f;box-shadow:inset 0 0 0 1.5px #fff3}.puzzle-instruction-side.side-black{color:#fff9;background:#ffffff0a;box-shadow:inset 0 0 0 1.5px #ffffff14}.puzzle-instruction-text{color:#ffffffbf;flex:1;min-width:0;font-size:.82rem;line-height:1.3}.puzzle-instruction-text strong{color:#fffffff2;font-weight:600}.move-history-status{color:#ffffff8c;text-align:center;border-top:1px solid #ffffff0f;padding:8px 12px;font-size:.78rem;line-height:1.4}.puzzle-hint-btn{color:#ffffff80;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;padding:0;font-size:.8rem;transition:all .2s;display:flex}.puzzle-hint-btn:hover{color:#f59e0b;background:#f59e0b1f;border-color:#f59e0b4d}.puzzle-hint-btn.hint-glow-1{color:#f59e0b99;border-color:#f59e0b40;box-shadow:0 0 6px 1px #f59e0b40}.puzzle-hint-btn.hint-glow-2{color:#f59e0bcc;border-color:#f59e0b66;box-shadow:0 0 10px 2px #f59e0b66}.puzzle-hint-btn.hint-glow-3{color:#f59e0b;border-color:#f59e0b8c;animation:1.5s ease-in-out infinite hint-glow-pulse;box-shadow:0 0 14px 3px #f59e0b8c}@keyframes hint-glow-pulse{0%,to{box-shadow:0 0 14px 3px #f59e0b8c}50%{box-shadow:0 0 20px 5px #f59e0bbf}}.puzzle-branch-dots{flex-shrink:0;align-items:center;gap:5px;display:flex}.puzzle-branch-dot{background:#ffffff14;border:1.5px solid #ffffff26;border-radius:50%;width:10px;height:10px;transition:all .4s cubic-bezier(.34,1.56,.64,1);position:relative}.puzzle-branch-dot.active{border-color:var(--accent,#ff2d78);background:#ff2d7826;box-shadow:0 0 6px #ff2d784d}.puzzle-branch-dot.solved{background:#22c55e;border-color:#22c55e;transform:scale(1.15);box-shadow:0 0 8px #22c55e66}@keyframes puzzle-dot-solve{0%{transform:scale(1)}40%{transform:scale(1.5);box-shadow:0 0 16px #22c55e99}to{transform:scale(1.15);box-shadow:0 0 8px #22c55e66}}.puzzle-branch-dot.just-solved{animation:.5s cubic-bezier(.34,1.56,.64,1) forwards puzzle-dot-solve}.puzzle-branch-label{color:#ffffff59;text-align:center;white-space:nowrap;margin-top:1px;font-size:.65rem}@keyframes puzzle-slide-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.puzzle-instruction-text.transitioning{color:#22c55e;animation:.3s forwards puzzle-slide-in}@keyframes puzzle-wrong-shake{0%,to{transform:translate(0)}12%{transform:translate(-5px)}25%{transform:translate(4px)}37%{transform:translate(-3px)}50%{transform:translate(2px)}62%{transform:translate(-1px)}}.puzzle-wrong-shake{animation:.35s puzzle-wrong-shake}@keyframes puzzle-wrong-square-flash{0%{box-shadow:inset 0 0 #ef444400}25%{box-shadow:inset 0 0 20px 4px #ef444473}to{box-shadow:inset 0 0 #ef444400}}.square.puzzle-wrong-flash{animation:.5s ease-out puzzle-wrong-square-flash}@keyframes puzzle-wrong-status-flash{0%{color:#ffffff8c}20%{color:#ef4444}to{color:#ffffff8c}}.move-history-status.puzzle-wrong-status{animation:1s ease-out puzzle-wrong-status-flash}.puzzle-branch-solved-backdrop{z-index:1050;pointer-events:none;background:0 0;justify-content:center;align-items:center;padding:16px;animation:.3s forwards puzzle-backdrop-in;display:flex;position:fixed;inset:0}.puzzle-branch-solved-card{background:var(--bg-primary,#0a0a12);text-align:center;opacity:0;border:1px solid #22c55e40;border-radius:14px;width:100%;max-width:320px;padding:24px 32px;animation:.4s cubic-bezier(.34,1.56,.64,1) .1s forwards puzzle-card-in;transform:scale(.9)translateY(6px);box-shadow:0 0 32px #22c55e1a,0 12px 40px #00000080}.puzzle-branch-solved-icon{opacity:0;margin-bottom:8px;font-size:2rem;animation:.35s cubic-bezier(.34,1.56,.64,1) .3s forwards puzzle-check-in}.puzzle-branch-solved-title{color:#22c55e;margin:0 0 4px;font-size:1.05rem;font-weight:600}.puzzle-branch-solved-subtitle{color:#ffffff73;margin:0;font-size:.8rem}.puzzle-branch-solved-dots{justify-content:center;gap:6px;margin-top:12px;display:flex}.puzzle-branch-solved-backdrop.dismissing{animation:.4s forwards puzzle-branch-dismiss}.puzzle-branch-solved-backdrop.dismissing .puzzle-branch-solved-card{animation:.3s forwards puzzle-branch-card-dismiss}@keyframes puzzle-branch-dismiss{to{background:0 0}}@keyframes puzzle-branch-card-dismiss{to{opacity:0;transform:scale(.95)translateY(-8px)}}.puzzle-success-backdrop{z-index:1100;background:0 0;justify-content:center;align-items:center;padding:16px;animation:.4s forwards puzzle-backdrop-in;display:flex;position:fixed;inset:0}@keyframes puzzle-backdrop-in{to{background:#000000a6}}.puzzle-success-card{background:var(--bg-primary,#0a0a12);text-align:center;opacity:0;border:1px solid #22c55e33;border-radius:16px;width:100%;max-width:360px;padding:32px 36px;animation:.5s cubic-bezier(.34,1.56,.64,1) .15s forwards puzzle-card-in;transform:scale(.92)translateY(8px);box-shadow:0 0 40px #22c55e14,0 16px 48px #00000080}@keyframes puzzle-card-in{to{opacity:1;transform:scale(1)translateY(0)}}.puzzle-success-check{color:#22c55e;opacity:0;background:#22c55e1f;border:2px solid #22c55e;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 16px;font-size:1.6rem;animation:.4s cubic-bezier(.34,1.56,.64,1) .4s forwards puzzle-check-in;display:flex;transform:scale(.5);box-shadow:0 0 24px #22c55e33}@keyframes puzzle-check-in{to{opacity:1;transform:scale(1)}}.puzzle-success-check svg{width:28px;height:28px}.puzzle-success-check .check-path{stroke:#22c55e;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;fill:none;stroke-dasharray:24;stroke-dashoffset:24px;animation:.4s .6s forwards puzzle-checkmark-draw}@keyframes puzzle-checkmark-draw{to{stroke-dashoffset:0}}.puzzle-success-title{color:#fff;letter-spacing:.01em;margin:0 0 4px;font-size:1.25rem;font-weight:700}.puzzle-success-subtitle{color:#ffffff80;margin:0 0 6px;font-size:.85rem}.puzzle-success-branches{justify-content:center;gap:6px;margin:8px 0 20px;display:inline-flex}.puzzle-success-branches .puzzle-branch-dot{width:8px;height:8px}.puzzle-success-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.puzzle-success-actions .btn{min-width:90px;padding:6px 14px;font-size:.8rem}.puzzle-branch-indicator{color:#22c55e;background:#22c55e26;border-radius:10px;margin-left:8px;padding:2px 8px;font-size:.75rem;font-weight:600;display:inline-block}.puzzle-recording-slot,.puzzle-palette-slot{display:contents}@media (width>=901px){[data-phase=playing] .sandbox-palette-edit-btn,.puzzle-recording-slot{display:none}[data-mode=sandbox][data-phase=playing] .sandbox-palette-area .sandbox-palette-actions{pointer-events:auto;opacity:1}[data-mode=sandbox][data-phase=playing] .sandbox-palette-area .sandbox-palette{pointer-events:none;opacity:.3}}@media (width<=900px){.puzzle-palette-slot{display:none}}.move-cell.move-puzzle-start{border-left:2px solid #22c55e;padding-left:4px}.move-cell.move-branch-point{color:#f59e0b}.move-cell.move-branch-point:after{content:"";opacity:.7;margin-left:3px;font-family:"Font Awesome 6 Free";font-size:.6em;font-weight:900}.puzzle-editor-solution-line{background:#ffffff0a;border-radius:6px;flex-wrap:wrap;gap:4px;max-height:80px;padding:6px 8px;font-family:monospace;font-size:.8rem;display:flex;overflow-y:auto}.sol-move{border-radius:3px;padding:2px 5px}.sol-move.opponent{color:#fff9;background:#ffffff14}.sol-move.player{color:var(--accent,#ff2d78);background:#ff2d7833}.puzzle-editor-panel h3{margin:0;font-size:.9rem;font-weight:600}.puzzle-editor-form{flex-direction:column;gap:4px;display:flex}.puzzle-editor-form label{color:#ffffff80;margin-top:4px;font-size:.75rem}.puzzle-editor-field{color:inherit;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:4px;padding:4px 8px;font-family:inherit;font-size:.8rem}.puzzle-editor-field:focus{border-color:var(--accent,#ff2d78);outline:none}.puzzle-editor-side-btns{gap:4px;display:flex}.puzzles-screen{background:var(--bg-primary,#0a0a12);height:100dvh;color:var(--text-primary,#e8e8f0);flex-direction:column;display:flex}.puzzles-topbar-center{text-align:center;flex:1}.puzzles-title{font-size:1rem;font-weight:600}.puzzles-content{flex:1;width:100%;max-width:720px;margin:0 auto;padding:16px 24px;overflow-y:auto}.puzzles-section{margin-bottom:32px}.puzzles-section-header{align-items:baseline;gap:10px;margin-bottom:12px;display:flex}.puzzles-section-header h2{margin:0;font-size:1.1rem;font-weight:600}.puzzles-count{color:#fff6;font-size:.8rem}.puzzles-empty{text-align:center;color:#fff6;background:#ffffff08;border:1px dashed #ffffff1a;border-radius:8px;padding:24px}.puzzles-empty p{margin:0 0 12px}.puzzles-list{flex-direction:column;gap:8px;display:flex}.puzzle-card{background:#ffffff0a;border:1px solid #ffffff14;border-radius:8px;align-items:center;gap:12px;padding:12px 16px;transition:border-color .15s;display:flex}.puzzle-card:hover{border-color:#ffffff26}.puzzle-card-main{flex:1;min-width:0}.puzzle-card-title{white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:600;overflow:hidden}.puzzle-card-meta{color:#ffffff80;gap:12px;margin-top:4px;font-size:.8rem;display:flex}.puzzle-card-difficulty{color:#f59e0b;letter-spacing:1px}.puzzle-card-tags{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.puzzle-tag{color:#ffffff80;background:#ffffff0f;border-radius:10px;padding:2px 8px;font-size:.7rem}.puzzle-card-completed{border-color:#4ade8033}.puzzle-card-check{color:#4ade80;margin-right:2px}.puzzle-card-actions{flex-shrink:0;gap:6px;display:flex}@media (width<=540px){.puzzles-content{padding:12px 16px}.puzzle-card:not(.community-card){flex-direction:column;align-items:stretch}.puzzle-card-actions{justify-content:flex-end}.community-card{flex-direction:row;align-items:center}.community-card .vote-controls{flex-direction:column}}.admin-pack-form{flex-direction:column;gap:20px;max-width:540px;display:flex}.admin-pack-form label{font-size:11px;font-family:var(--font-heading);color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;flex-direction:column;gap:6px;font-weight:600;display:flex}.admin-pack-form input,.admin-pack-form textarea,.admin-pack-form select{border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);font-family:var(--font-body);border-radius:3px;padding:12px 16px;font-size:15px;transition:border-color .2s,box-shadow .2s}.admin-pack-form input::placeholder,.admin-pack-form textarea::placeholder{color:var(--text-muted);opacity:.5}.admin-pack-form input:focus,.admin-pack-form textarea:focus,.admin-pack-form select:focus{border-color:var(--accent);outline:none;box-shadow:0 0 16px #00e5ff14}.admin-pack-form textarea{resize:vertical;min-height:60px}.admin-pack-form select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%237a7194' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding-right:40px}.admin-pack-form select option{background:var(--bg-secondary);color:var(--text-primary)}.admin-pack-form .form-row{gap:16px;display:flex}.admin-pack-form .form-row>label{flex:1}.admin-pack-form .btn-primary{width:100%;margin-top:4px;padding:14px;font-size:14px}.pack-picker-dropdown{z-index:20;background:var(--bg-elevated,#1c162c);border:1px solid var(--border-light,#ffffff1a);border-radius:4px;min-width:200px;margin-top:4px;padding:4px 0;animation:.12s pack-picker-in;position:absolute;top:100%;right:12px;box-shadow:0 8px 24px #00000080}@keyframes pack-picker-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.pack-picker-option{width:100%;color:var(--text-primary,#ece4f4);font-family:var(--font-body,sans-serif);text-align:left;cursor:pointer;background:0 0;border:none;padding:8px 14px;font-size:.85rem;transition:background .1s;display:block}.pack-picker-option:hover{background:#ffffff0f}.puzzle-card-expanded{flex-direction:column;align-items:stretch}.puzzle-card-expanded .puzzle-edit-form{gap:12px}.puzzle-card-expanded .puzzle-edit-form .btn-primary{align-self:flex-start;width:auto}.vote-controls{flex-direction:column;flex-shrink:0;align-items:center;gap:0;min-width:36px;display:flex}.vote-btn{width:28px;height:22px;color:var(--text-muted,#7a7194);cursor:pointer;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;font-size:1.1rem;transition:color .15s,background .15s;display:flex}.vote-btn:hover{background:#ffffff0f}.vote-btn.vote-active.vote-up{color:#4ade80}.vote-btn.vote-active.vote-down{color:#ef4444}.puzzle-overflow-menu{z-index:20;background:var(--bg-elevated,#1c162c);border:1px solid var(--border-light,#ffffff1a);border-radius:4px;min-width:180px;margin-top:4px;padding:4px 0;animation:.12s pack-picker-in;position:absolute;top:100%;right:12px;box-shadow:0 8px 24px #00000080}.puzzle-overflow-item{width:100%;color:var(--text-primary,#ece4f4);font-family:var(--font-body,sans-serif);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;padding:8px 14px;font-size:.8rem;transition:background .1s;display:flex}.puzzle-overflow-item i{text-align:center;opacity:.6;width:14px;font-size:.75rem}.puzzle-overflow-item:hover{background:#ffffff0f}.puzzle-overflow-item.danger{color:var(--danger,#ef4444)}.vote-score{font-size:.8rem;font-weight:600;font-family:var(--font-body,sans-serif);color:var(--text-primary,#ece4f4);line-height:1}.lab-guide-backdrop{z-index:1000;background:#000000a6;justify-content:center;align-items:center;padding:16px;animation:.2s lab-guide-fade-in;display:flex;position:fixed;inset:0}@keyframes lab-guide-fade-in{0%{opacity:0}to{opacity:1}}.lab-guide{background:var(--bg-primary,#0a0a12);border:1px solid #ffffff1f;border-radius:14px;flex-direction:column;gap:16px;width:100%;max-width:540px;max-height:85vh;padding:24px 28px;animation:.25s lab-guide-slide-up;display:flex;overflow-y:auto;box-shadow:0 16px 64px #0009}@keyframes lab-guide-slide-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.lab-guide-header{justify-content:space-between;align-items:center;display:flex}.lab-guide-header h2{align-items:center;gap:8px;margin:0;font-size:1.1rem;font-weight:600;display:flex}.lab-guide-header h2 i{color:var(--accent,#ff2d78)}.lab-guide h3{color:var(--accent,#ff2d78);text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:.85rem;font-weight:600}.lab-guide-step{align-items:flex-start;gap:12px;display:flex}.lab-guide-step-num{background:var(--accent,#ff2d78);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:.75rem;font-weight:700;display:flex}.lab-guide-step p{color:#ffffffd9;margin:0;font-size:.85rem;line-height:1.5}.lab-guide-step p strong{color:#fff}.lab-guide-steps{flex-direction:column;gap:10px;display:flex}.lab-guide-section{flex-direction:column;gap:8px;display:flex}.lab-guide-tip{color:#fffc;background:#ff2d7814;border:1px solid #ff2d7833;border-radius:8px;padding:10px 14px;font-size:.8rem;line-height:1.5}.lab-guide-tip i{color:var(--accent,#ff2d78);margin-right:4px}.lab-guide-controls{color:#ffffffb3;font-size:.8rem;line-height:1.6}.lab-guide-controls li{margin-bottom:2px}.lab-guide-controls strong{color:#fffffff2}.lab-guide-controls code{background:#ffffff14;border-radius:3px;padding:1px 5px;font-size:.78rem}.lab-guide-footer{justify-content:flex-end;padding-top:4px;display:flex}.lab-guide-help-btn{color:#fff9;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff26;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:.8rem;font-weight:600;transition:border-color .15s,color .15s,background .15s;display:flex}.lab-guide-help-btn:hover{border-color:var(--accent,#ff2d78);color:var(--accent,#ff2d78);background:#ff2d781a}@media (width<=600px){.lab-guide{border-radius:12px;max-width:100%;max-height:90vh;padding:18px 20px}}
