:root{color-scheme:light dark;font-family:system-ui,-apple-system,Segoe UI,sans-serif;--slp-bg: #0b1020;--slp-text: #f4f4f8;--slp-accent: #00e5ff;--slp-accent-soft: rgba(0, 229, 255, .45);--slp-accent-ink: #04121c;--slp-success: #1dff7a;--slp-success-soft: rgba(29, 255, 122, .4);--slp-info: #50aaff;--slp-panel-bg: rgba(10, 16, 40, .55);--slp-panel-bg-strong: rgba(20, 84, 140, .75);--slp-panel-border: rgba(200, 215, 255, .35)}body{margin:0;min-height:100vh;background:var(--slp-bg);color:var(--slp-text)}main{box-sizing:border-box;padding:16px;padding-block:max(16px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-bottom,0px));max-width:640px;margin:0 auto}main:not(.menu-screen){position:relative}main:not(.menu-screen)>.starleap-starfield{opacity:.6}main:not(.menu-screen) h1{position:relative;letter-spacing:.02em;padding-bottom:10px;border-bottom:1px solid var(--slp-panel-border)}main:not(.menu-screen) h2{position:relative;color:var(--slp-accent);font-size:1.05rem;margin-top:28px}button,select,input[type=radio],input[type=checkbox]{min-height:44px;min-width:44px}button{padding:10px 16px;font-size:1rem;border-radius:8px}input[type=radio],input[type=checkbox]{accent-color:var(--slp-accent)}label{display:inline-flex;align-items:center;gap:6px;min-height:44px}fieldset,main:not(.menu-screen) section{position:relative;background:var(--slp-panel-bg);border:1px solid var(--slp-panel-border);border-radius:10px;padding:14px 16px;margin-block:12px;backdrop-filter:blur(4px)}legend{padding-inline:6px;color:var(--slp-accent);font-weight:600;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em}.btn{border:1px solid transparent;cursor:pointer;font-weight:700}.btn-primary{background:var(--slp-accent);color:var(--slp-accent-ink);box-shadow:0 0 18px var(--slp-accent-soft)}.btn-secondary{background:var(--slp-panel-bg);border-color:var(--slp-panel-border);color:var(--slp-text)}.btn:focus-visible{outline:3px solid #fff;outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}body[data-theme=nakshatra]{background:#0d0b20}body[data-theme=chhalaang]{background:#1a0d20}body[data-theme=nakshatra] .starleap-peg[data-owner="0"]{fill:#ffd166;stroke:#402a00}body[data-theme=nakshatra] .starleap-peg[data-owner="1"]{fill:#6a5acd;stroke:#1f1440}body[data-theme=nakshatra] .starleap-peg[data-owner="2"]{fill:#ff8fa3;stroke:#4a1020}body[data-theme=nakshatra] .starleap-peg[data-owner="3"]{fill:#7fffd4;stroke:#0d4a3a}body[data-theme=nakshatra] .starleap-peg[data-owner="4"]{fill:#c77dff;stroke:#341052}body[data-theme=nakshatra] .starleap-peg[data-owner="5"]{fill:#ffb703;stroke:#4a2e00}body[data-theme=nakshatra] .starleap-cell:not(.starleap-cell--highlighted){fill:url(#cell-texture-nakshatra)}body[data-theme=chhalaang] .starleap-peg[data-owner="0"]{fill:#ff6b6b;stroke:#4a0e0e}body[data-theme=chhalaang] .starleap-peg[data-owner="1"]{fill:#4ecdc4;stroke:#0d3330}body[data-theme=chhalaang] .starleap-peg[data-owner="2"]{fill:#ffe66d;stroke:#4a3f00}body[data-theme=chhalaang] .starleap-peg[data-owner="3"]{fill:#95e06c;stroke:#234a0d}body[data-theme=chhalaang] .starleap-peg[data-owner="4"]{fill:#a78bfa;stroke:#2c1a52}body[data-theme=chhalaang] .starleap-peg[data-owner="5"]{fill:#ff9f4f;stroke:#4a2600}body[data-theme=chhalaang] .starleap-cell:not(.starleap-cell--highlighted){fill:url(#cell-texture-chhalaang)}@keyframes starleap-shake{0%,to{transform:translate(0)}20%{transform:translate(-3px,2px)}40%{transform:translate(3px,-2px)}60%{transform:translate(-2px,-3px)}80%{transform:translate(2px,3px)}}@media (prefers-reduced-motion: reduce){*{animation-duration:.001ms!important}}.menu-screen{position:relative;isolation:isolate;max-width:none;min-height:100vh;margin:0;padding-inline:max(16px,4vw);background-color:#0b1020;background-size:cover;background-position:center;display:flex;flex-direction:column;align-items:center}.menu-logo{margin:8px 0 0;line-height:0;filter:drop-shadow(0 0 18px rgba(0,229,255,.45))}.menu-logo img{width:min(375px,70vw);height:auto}.menu-stage{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:24px 5vw;width:100%;max-width:1100px;margin-block:12px}.menu-actions{flex:0 1 280px;min-width:240px}.menu-board{flex:1 1 340px;min-width:0;max-width:min(575px,100%);height:auto;filter:drop-shadow(0 12px 40px rgba(0,0,0,.6))}.menu-primary-actions{display:flex;flex-direction:column;gap:12px;margin-block:8px 20px}.menu-cta{font-size:1.1rem;font-weight:700;padding:14px 20px;border:1px solid transparent;border-radius:8px;color:#04121c;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.menu-cta:hover{transform:translateY(-1px)}.menu-cta:focus-visible,.menu-secondary-actions button:focus-visible{outline:3px solid #fff;outline-offset:2px}.menu-cta--primary{background:#00e5ff;box-shadow:0 0 22px #00e5ff73}.menu-cta--resume{background:#1dff7a;box-shadow:0 0 22px #1dff7a66}.menu-cta--quickstart{font-size:1rem;font-weight:600;background:#14548cbf;border-color:#50aaff8c;color:#f4f8ff;backdrop-filter:blur(4px)}.menu-cta--quickstart-alt{background:#0e284ebf;border-color:#5082dc73}.menu-secondary-actions{display:flex;flex-wrap:wrap;gap:8px}.menu-secondary-actions button{flex:1 1 0;font-size:.9rem;font-weight:400;padding:8px 14px;background:#0a10288c;border:1px solid rgba(200,215,255,.35);color:#f4f4f8e6;border-radius:6px;cursor:pointer}.starleap-starfield{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}.starleap-star{fill:#f4f4f8;animation:starleap-twinkle 3s ease-in-out infinite}@keyframes starleap-twinkle{0%,to{opacity:.15}50%{opacity:1}}.menu-character-showcase{display:flex;flex-wrap:wrap;justify-content:center;gap:16px 32px;margin-block:16px}.menu-character-showcase__item{display:flex;flex-direction:column;align-items:center;text-align:center;width:190px}.menu-character-showcase__portrait{width:96px;height:96px;border-radius:50%}.menu-character-showcase__portrait--nova{box-shadow:0 0 20px #00e5ff8c}.menu-character-showcase__portrait--vega{box-shadow:0 0 20px #b07cff8c}.menu-character-showcase__portrait--rigel{box-shadow:0 0 20px #50aaff8c}.menu-character-showcase__portrait--sirius{box-shadow:0 0 20px #ffc8508c}.menu-character-showcase__name{margin:8px 0 0;font-weight:700;font-size:1.1rem}.menu-character-showcase__blurb{margin:4px 0 0;font-size:.85rem;color:#f4f4f8d9}.menu-onboarding button{background:#0a1028b3;border:1px solid rgba(200,215,255,.4);color:#f4f4f8;border-radius:6px;cursor:pointer}@media (max-width: 720px){.menu-actions{flex-basis:100%}}.turn-indicator{font-size:1.25rem;font-weight:700;color:var(--mover-color, inherit)}.seat-badge{position:absolute;z-index:2;display:flex;flex-direction:column;align-items:center;gap:4px;transform:translate(-50%,-50%);pointer-events:none}.seat-badge__ring{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--slp-panel-bg);border:2px solid var(--seat-color, var(--slp-panel-border));box-shadow:0 0 0 2px #060a18d9,0 2px 8px #00000080;transition:box-shadow .2s ease,transform .2s ease}.seat-badge--active .seat-badge__ring{box-shadow:0 0 0 2px #060a18d9,0 0 14px var(--seat-color);transform:scale(1.12)}.seat-badge__label{font-size:.65rem;font-weight:700;padding:1px 6px;border-radius:999px;color:var(--slp-text);background:var(--slp-panel-bg);border:1px solid var(--seat-color, var(--slp-panel-border));white-space:nowrap}.starleap-avatar{transform-origin:50% 50%}.starleap-avatar--portrait{position:relative;display:inline-block;width:64px;height:64px}.starleap-avatar--portrait .starleap-avatar__face{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover}.starleap-avatar--portrait .starleap-avatar__thinking-dots{position:absolute;inset:0}.starleap-avatar--idle .starleap-avatar__face{animation:starleap-breathe calc(4s / var(--frequency, 1)) ease-in-out infinite;transform-origin:50% 50%}@keyframes starleap-breathe{0%,to{transform:scale(1)}50%{transform:scale(calc(1 + .04 * var(--amplitude, 1)))}}.starleap-avatar--thinking{transform:scale(1.15)}.starleap-avatar--thinking .starleap-avatar__thinking-dots{animation:starleap-orbit calc(1.2s / var(--frequency, 1)) linear infinite;transform-origin:50px 50px}@keyframes starleap-orbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.starleap-avatar--found-it{animation:starleap-pop .25s ease-out 1}@keyframes starleap-pop{0%{transform:scale(1)}40%{transform:scale(calc(1 + .15 * var(--amplitude, 1)))}to{transform:scale(1)}}.starleap-avatar--move{animation:starleap-lean calc(.4s / var(--frequency, 1)) ease-in-out 1}@keyframes starleap-lean{0%,to{transform:translateY(0)}50%{transform:translateY(calc(-3px * var(--amplitude, 1)))}}.starleap-avatar--celebrate{animation:starleap-celebrate calc(.6s / var(--frequency, 1)) ease-in-out infinite}@keyframes starleap-celebrate{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(calc(-6px * var(--amplitude, 1))) rotate(-4deg)}75%{transform:translateY(calc(-6px * var(--amplitude, 1))) rotate(4deg)}}.starleap-avatar--worried{animation:starleap-shake-avatar calc(.3s / var(--frequency, 1)) ease-in-out 2}@keyframes starleap-shake-avatar{0%,to{transform:translate(0)}25%{transform:translate(calc(-2px * var(--amplitude, 1)))}75%{transform:translate(calc(2px * var(--amplitude, 1)))}}.rival-collection{display:flex;flex-wrap:wrap;gap:1.5rem;padding:0;list-style:none}.rival-collection li{display:flex;flex-direction:column;align-items:center;gap:.5rem}.match-progress{max-width:640px;margin:.5rem 0;font-size:.875rem}.match-progress ul{display:flex;flex-wrap:wrap;gap:.4rem 1rem;list-style:none;padding:0;margin:0}.match-progress p{margin:.5rem 0}.corner-guidance{color:var(--text, #eee)}.puzzle-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}textarea{display:block;width:100%;min-height:8rem;box-sizing:border-box}.puzzle-share-label{display:flex;flex-direction:column;align-items:stretch;gap:.5rem}.puzzle-share-label textarea{font:inherit;color:inherit;background:#10182b;border:1px solid #76839f;border-radius:.5rem;padding:.75rem}.puzzle-list{list-style:none;padding:0;display:grid;gap:.75rem}.puzzle-list li{border:1px solid #596580;border-radius:.75rem;padding:1rem;background:#10182b}.puzzle-list p{margin-bottom:0;line-height:1.5}
