:root,:root[data-theme=dark]{--bg: #0b1020;--panel: #0f152b;--panel-2: #131a34;--text: #e6e8ee;--muted: #9aa3b2;--border: #20294a;--ring: #2a3670;--violet-500: #7c3aed;--violet-400: #a78bfa;--green-500: #22c55e;--amber-500: #f59e0b;--card-radius: 16px;--theme-transition-duration: 2.45s;--theme-transition-x: 50%;--theme-transition-y: 50%}@property --theme-mask-size{syntax: "<length>"; inherits: false; initial-value: 0px;}:root[data-theme=light]{--bg: #f7f8fb;--panel: #ffffff;--panel-2: #fafbff;--text: #0f172a;--muted: #64748b;--border: #e5e7eb;--ring: #c7d2fe;--violet-500: #6d28d9;--violet-400: #8b5cf6;--green-500: #16a34a;--amber-500: #d97706}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:radial-gradient(1200px 600px at 10% -10%,color-mix(in oklab,var(--panel) 8%,transparent) 0%,var(--bg) 60%),var(--bg);color:var(--text)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace}.muted{color:var(--muted);font-size:13px}.app-shell{max-width:1100px;margin:0 auto;padding:clamp(12px,2.4vw,28px)}.app-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:10px;flex-wrap:wrap}.app-title{margin:0;font-size:28px;letter-spacing:.3px;display:inline-flex;align-items:center;gap:.55ch}.app-title__logo{font-size:.95em;filter:drop-shadow(0 1px 2px rgba(0,0,0,.35))}.actions{display:flex;gap:10px;flex-wrap:wrap}.home-shell{max-width:1100px;margin:0 auto;padding:clamp(24px,4vw,52px);display:grid;gap:clamp(32px,6vw,64px)}.home-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.home-brand{display:inline-flex;align-items:center;gap:12px;font-size:clamp(22px,4vw,28px);font-weight:700;letter-spacing:.4px}.home-brand__logo{font-size:1.1em;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}.home-actions{display:inline-flex;flex-wrap:wrap;gap:12px;align-items:center}.home-hero{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,6vw,52px);align-items:center}.home-hero__copy{display:grid;gap:clamp(12px,2vw,20px)}.home-hero__eyebrow{margin:0;font-size:15px;letter-spacing:.5px;text-transform:uppercase;color:var(--muted)}.home-hero__title{margin:0;font-size:clamp(36px,6vw,56px);letter-spacing:.6px;line-height:1.1}.home-hero__lead{margin:0;font-size:clamp(16px,2.3vw,19px);color:color-mix(in oklab,var(--text) 80%,var(--muted));line-height:1.6}.home-hero__cta{display:inline-flex;flex-wrap:wrap;gap:12px;align-items:center}.home-hero__preview{position:relative;display:grid;place-items:center;gap:18px}.home-preview-aura{position:absolute;inset:clamp(-72px,-8vw,-48px);border-radius:clamp(42px,8vw,62px);background:radial-gradient(circle at 50% 42%,color-mix(in oklab,var(--violet-400) 18%,transparent),transparent 70%);filter:blur(48px);opacity:.7;animation:auraPulse 6s ease-in-out infinite;z-index:0}.home-preview-card{position:relative;z-index:1;padding:clamp(22px,3vw,32px);border-radius:24px;background:linear-gradient(160deg,color-mix(in oklab,var(--panel) 92%,transparent),color-mix(in oklab,var(--panel-2) 86%,transparent));border:1px solid color-mix(in oklab,var(--ring) 60%,transparent);box-shadow:0 24px 60px #0a0e1e8c,0 0 0 1px #ffffff0a inset;display:grid;gap:18px;text-align:center}.home-preview-card__badge{display:inline-flex;align-items:center;justify-content:center;padding:6px 14px;border-radius:999px;background:color-mix(in oklab,var(--violet-500) 32%,transparent);color:var(--text);font-size:13px;letter-spacing:.3px;font-weight:600}.home-preview-card__grid{display:grid;grid-template-columns:repeat(3,clamp(44px,6vw,56px));justify-content:center;gap:clamp(10px,2.2vw,14px)}.home-preview-card__letter{display:grid;place-items:center;height:clamp(44px,6vw,52px);border-radius:14px;background:linear-gradient(180deg,color-mix(in oklab,var(--panel) 75%,transparent),color-mix(in oklab,var(--panel-2) 75%,transparent));border:1px solid color-mix(in oklab,var(--border) 70%,transparent);font-weight:800;letter-spacing:.4px;box-shadow:0 10px 24px #0b112047,0 0 0 1px #ffffff0d inset;transition:opacity .35s ease,transform .35s ease}.home-preview-card__letter--loading{color:transparent;background:linear-gradient(120deg,color-mix(in oklab,var(--panel) 68%,transparent),color-mix(in oklab,var(--panel-2) 92%,transparent) 55%,color-mix(in oklab,var(--panel) 68%,transparent));background-size:180% 180%;border-color:color-mix(in oklab,var(--ring) 40%,transparent);animation:tileShimmer 1.35s ease-in-out infinite;opacity:.82}@keyframes tileShimmer{0%{background-position:120% 0%;opacity:.65}50%{background-position:40% 0%;opacity:1}to{background-position:-40% 0%;opacity:.65}}.home-preview-card__caption{margin:0;font-size:14px;color:var(--muted)}.home-preview-ticket{position:absolute;bottom:clamp(-40px,-5vw,-24px);right:clamp(-18px,-2vw,-8px);z-index:2;display:grid;gap:4px;padding:12px 18px;border-radius:16px;border:1px solid color-mix(in oklab,var(--ring) 36%,transparent);background:linear-gradient(150deg,color-mix(in oklab,var(--panel-2) 88%,transparent),color-mix(in oklab,var(--panel) 80%,transparent));box-shadow:0 18px 40px #0c12227a,0 0 0 1px #ffffff0d inset;transform:rotate(3deg)}.home-preview-ticket__label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--muted)}.home-preview-ticket__value{font-size:14px;font-weight:600;letter-spacing:.3px}.home-preview-ticket__button{margin-top:6px;display:inline-flex;align-items:center;justify-content:center;padding:10px 18px;border-radius:14px;border:1px solid color-mix(in oklab,var(--violet-500) 45%,transparent);background:linear-gradient(150deg,color-mix(in oklab,var(--violet-500) 38%,transparent),color-mix(in oklab,var(--panel-2) 90%,transparent));color:var(--text);font-size:13px;font-weight:800;letter-spacing:.5px;text-decoration:none;text-transform:uppercase;box-shadow:0 10px 24px #0b111e61,0 0 0 1px #ffffff14 inset;transition:transform .16s ease,box-shadow .18s ease}.home-preview-ticket__button:hover{transform:translateY(-2px);box-shadow:0 16px 34px #0c122475,0 0 0 1px #ffffff1a inset}.home-preview-ticket__button:active{transform:translateY(0);box-shadow:0 8px 18px #0c12245c,0 0 0 1px #ffffff14 inset}.home-highlight{padding:clamp(18px,3vw,26px);border-radius:22px;border:1px solid color-mix(in oklab,var(--ring) 50%,transparent);background:linear-gradient(160deg,color-mix(in oklab,var(--panel-2) 90%,transparent),color-mix(in oklab,var(--panel) 80%,transparent));box-shadow:0 22px 55px #0a0e1e66,0 0 0 1px #ffffff0a inset}.home-highlight__stats{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,4vw,26px)}.home-highlight__stat{padding:clamp(18px,3vw,24px);border-radius:18px;border:1px solid color-mix(in oklab,var(--border) 60%,transparent);background:linear-gradient(150deg,color-mix(in oklab,var(--panel) 86%,transparent),color-mix(in oklab,var(--panel-2) 86%,transparent));display:grid;gap:6px;text-align:center}.home-highlight__value{font-size:clamp(28px,4vw,36px);font-weight:800;letter-spacing:.5px}.home-highlight__label{color:var(--muted);font-size:14px;letter-spacing:.3px}.home-games{position:relative;padding:clamp(26px,5vw,40px);border-radius:24px;border:1px solid color-mix(in oklab,var(--ring) 60%,transparent);background:linear-gradient(160deg,color-mix(in oklab,var(--panel-2) 90%,transparent),color-mix(in oklab,var(--panel) 82%,transparent));box-shadow:0 26px 60px #090e2073,0 0 0 1px #ffffff0d inset;display:grid;gap:clamp(24px,4vw,36px)}.home-games__header{display:flex;align-items:center;justify-content:space-between;gap:clamp(18px,4vw,28px);flex-wrap:wrap}.home-games__eyebrow{margin:0;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);font-size:13px}.home-games__title{margin:6px 0 0;font-size:clamp(26px,5vw,34px);letter-spacing:.4px}.home-games__lead{margin:8px 0 0;max-width:46ch;color:color-mix(in oklab,var(--text) 78%,var(--muted));line-height:1.6}.home-games__archive{color:var(--violet-400);font-weight:600;text-decoration:none;transition:color .2s ease}.home-games__archive:hover{color:var(--violet-500)}.home-games__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,4vw,28px)}.game-card{position:relative;display:grid;gap:clamp(14px,3vw,20px);padding:clamp(20px,3.6vw,28px);border-radius:20px;border:1px solid color-mix(in oklab,var(--border) 60%,transparent);background:linear-gradient(155deg,color-mix(in oklab,var(--panel) 86%,transparent),color-mix(in oklab,var(--panel-2) 90%,transparent));box-shadow:0 18px 44px #0a102059,0 0 0 1px #ffffff0a inset;overflow:hidden;--game-accent: var(--violet-500);transition:transform .2s ease,box-shadow .2s ease}.game-card:before{content:"";position:absolute;inset:-30% -40% auto;height:clamp(110px,22vw,160px);background:radial-gradient(circle at top left,color-mix(in oklab,var(--game-accent) 40%,transparent),transparent 68%);opacity:.75;pointer-events:none;transform:translateZ(0);transition:opacity .2s ease}.game-card:hover{transform:translateY(-4px);box-shadow:0 24px 52px #0a10206b,0 0 0 1px #ffffff0d inset}.game-card:hover:before{opacity:1}.game-card[data-available=false]{opacity:.78}.game-card[data-available=false] .btn{opacity:.85}.game-card__header{display:grid;gap:8px}.game-card__badge{width:fit-content;padding:6px 12px;border-radius:999px;border:1px solid color-mix(in oklab,var(--game-accent) 32%,transparent);background:color-mix(in oklab,var(--game-accent) 18%,transparent);font-size:12px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;color:var(--text)}.game-card__badge[data-live=true]{border-color:color-mix(in oklab,var(--green-500) 36%,transparent);background:color-mix(in oklab,var(--green-500) 22%,transparent)}.game-card__title{margin:0;font-size:clamp(22px,3.4vw,26px);letter-spacing:.3px}.game-card__tagline{margin:0;color:var(--muted);font-weight:600;letter-spacing:.2px}.game-card__body{margin:0;color:color-mix(in oklab,var(--text) 72%,var(--muted));line-height:1.6}.game-card__footer{display:flex;justify-content:flex-start}.game-card--accent-violet{--game-accent: var(--violet-500)}.game-card--accent-cyan{--game-accent: #22d3ee}.game-card--accent-amber{--game-accent: #fbbf24}.game-card--accent-rose{--game-accent: #fb7185}.home-features{display:grid;gap:clamp(18px,4vw,28px)}.home-features__header{display:grid;gap:8px}.home-features__eyebrow{margin:0;text-transform:uppercase;letter-spacing:.4px;font-size:13px;color:var(--muted)}.home-features__title{margin:0;font-size:clamp(24px,4.5vw,32px);letter-spacing:.4px}.home-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,4vw,28px)}.home-feature-card{padding:clamp(18px,3vw,28px);border-radius:18px;border:1px solid color-mix(in oklab,var(--border) 70%,transparent);background:linear-gradient(150deg,color-mix(in oklab,var(--panel) 82%,transparent),color-mix(in oklab,var(--panel-2) 80%,transparent));box-shadow:0 18px 42px #090e1e59,0 0 0 1px #ffffff0a inset;display:grid;gap:10px}.home-feature-card h3{margin:0;font-size:clamp(18px,3vw,22px)}.home-feature-card p{margin:0;color:var(--muted);line-height:1.5}.home-meta{padding:clamp(12px,3vw,18px) 0 clamp(6px,2vw,12px);display:flex;justify-content:center}.home-meta__note{color:color-mix(in oklab,var(--muted) 70%,transparent);font-size:12px;letter-spacing:.3px}@keyframes auraPulse{0%,to{opacity:.6;transform:scale(.9)}45%{opacity:.9;transform:scale(1.05)}70%{opacity:.75;transform:scale(1)}}@media (max-width: 1024px){.home-feature-grid,.home-games__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 900px){.home-hero{grid-template-columns:1fr}.home-hero__preview{order:1}.home-highlight__stats{grid-template-columns:repeat(3,minmax(0,1fr))}.home-preview-card__grid{grid-template-columns:repeat(3,clamp(40px,8vw,48px))}}@media (max-width: 720px){.home-games__header{flex-direction:column;align-items:flex-start}.home-highlight__stats{grid-template-columns:repeat(2,minmax(0,1fr))}.home-games__grid{grid-template-columns:repeat(1,minmax(0,1fr))}}@media (max-width: 640px){.home-feature-grid,.home-highlight__stats{grid-template-columns:1fr}.home-preview-card__grid{grid-template-columns:repeat(3,clamp(32px,10vw,40px))}.home-preview-ticket{position:static;transform:none;width:100%}}@media (max-width: 480px){.home-hero__title{font-size:clamp(32px,9vw,40px)}.home-preview-card{padding:clamp(18px,7vw,24px)}}.theme-transition-mask{position:fixed;inset:0;pointer-events:none;z-index:999;background:var(--bg);-webkit-mask-image:radial-gradient(circle at var(--theme-transition-x) var(--theme-transition-y),rgba(0,0,0,0) 0,rgba(0,0,0,0) calc(var(--theme-mask-size)),#fff calc(var(--theme-mask-size) + 1px));mask-image:radial-gradient(circle at var(--theme-transition-x) var(--theme-transition-y),rgba(0,0,0,0) 0,rgba(0,0,0,0) calc(var(--theme-mask-size)),#fff calc(var(--theme-mask-size) + 1px));-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-mode:luminance;mask-mode:luminance;animation:themeReveal var(--theme-transition-duration) cubic-bezier(.22,.61,.36,1) forwards;will-change:opacity}@keyframes themeReveal{0%{--theme-mask-size: 0px;opacity:.9}65%{--theme-mask-size: 120vmax;opacity:.45}to{--theme-mask-size: 200vmax;opacity:0}}.confirm-popover{position:absolute;top:calc(100% + 8px);right:0;min-width:220px;padding:14px;border-radius:14px;border:1px solid var(--border);background:linear-gradient(180deg,var(--panel),var(--panel-2));box-shadow:0 18px 40px #00000047,0 0 0 1px #ffffff08 inset;display:grid;gap:10px;text-align:left;z-index:20}.confirm-popover__body{font-weight:600;font-size:14px;color:var(--text)}.confirm-popover__actions{display:flex;justify-content:flex-end;gap:8px}.input{height:36px;padding:6px 10px;border-radius:10px;border:1px solid var(--border);background:color-mix(in oklab,var(--panel) 85%,transparent);color:var(--text);outline:none;min-width:160px;box-shadow:0 1px #ffffff0a inset}.input::placeholder{color:var(--muted)}.input:focus{border-color:color-mix(in oklab,var(--violet-500) 40%,var(--border));box-shadow:0 0 0 3px color-mix(in oklab,var(--violet-500) 20%,transparent)}.btn{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 14px;border-radius:10px;border:1px solid var(--border);background:linear-gradient(180deg,color-mix(in oklab,var(--panel) 70%,transparent),color-mix(in oklab,var(--panel-2) 70%,transparent));color:var(--text);font-family:inherit;font-size:14px;font-weight:700;letter-spacing:.3px;line-height:1;text-decoration:none;cursor:pointer;box-shadow:0 1px #ffffff0a inset,0 8px 24px #0000001f;transition:transform .06s ease,box-shadow .2s ease,border-color .2s ease,color .2s ease}.btn:hover,.btn:focus{transform:translateY(-1px);box-shadow:0 1px #ffffff0a inset,0 12px 28px #00000052;border-color:#2a376f;text-decoration:none}.btn:focus{outline:none}.btn:active{transform:translateY(0)}.btn--secondary{background:linear-gradient(180deg,color-mix(in oklab,var(--panel-2) 70%,transparent),color-mix(in oklab,var(--panel) 70%,transparent))}.app-grid{display:grid;grid-template-columns:1fr 340px;gap:24px;align-items:start}@media (max-width: 900px){.app-grid{grid-template-columns:1fr}}.board{position:relative;border-radius:20px;border:1px solid var(--border);background:radial-gradient(600px 300px at 20% 0%,color-mix(in oklab,var(--panel) 10%,transparent) 0%,var(--panel-2) 60%),linear-gradient(180deg,var(--panel),var(--panel-2));box-shadow:0 10px 40px #00000026,0 0 0 1px #ffffff08 inset;touch-action:none;-webkit-user-select:none;user-select:none;width:100%;max-width:100%}.letter{position:absolute;isolation:isolate;overflow:visible;width:50px;height:50px;border-radius:14px;border:1px solid var(--border);background:linear-gradient(180deg,color-mix(in oklab,var(--panel) 85%,transparent),color-mix(in oklab,var(--panel-2) 85%,transparent));color:var(--text);font-weight:800;font-size:18px;cursor:pointer;display:grid;place-items:center;letter-spacing:.4px;box-shadow:0 8px 22px #0000001f,0 0 0 1px #ffffff0a inset;transition:transform .06s ease,opacity .2s ease}.letter:disabled{opacity:1;cursor:default}.letter:after{content:"";position:absolute;inset:-12%;border-radius:inherit;pointer-events:none;background:radial-gradient(circle at 50% 50%,#a78bfa7a,#7c3aed1a 40%,#7c3aed00);opacity:0;transform:scale(.92);filter:blur(8px)}@media (hover: hover) and (pointer: fine){.letter:hover{transform:translate(-50%,-50%) scale(1.04)}}.letter[data-used]{box-shadow:0 0 0 2px color-mix(in oklab,var(--green-500) 40%,transparent),0 8px 22px #00000059,0 0 0 1px #ffffff0a inset}.letter[data-dim]{opacity:.45;cursor:not-allowed}.letter[data-start]{border-color:color-mix(in oklab,var(--green-500) 60%,var(--border));background:linear-gradient(180deg,color-mix(in oklab,var(--green-500) 18%,var(--panel)),color-mix(in oklab,var(--green-500) 10%,var(--panel-2)));box-shadow:0 0 0 5px color-mix(in oklab,var(--green-500) 28%,transparent),0 8px 24px #0003}@keyframes pulseStart{0%{outline:0 solid rgba(34,197,94,0)}70%{outline:10px solid rgba(34,197,94,.1)}to{outline:0 solid rgba(34,197,94,0)}}.letter[data-start]{animation:pulseStart 1.6s ease-out infinite}.letter[data-active]{z-index:2;border-color:color-mix(in oklab,var(--violet-400) 70%,var(--border));background:linear-gradient(180deg,color-mix(in oklab,var(--violet-500) 26%,var(--panel)),color-mix(in oklab,var(--violet-500) 16%,var(--panel-2)));box-shadow:0 0 0 2px color-mix(in oklab,var(--violet-400) 84%,transparent),0 0 0 12px #7c3aed29,0 18px 30px #7c3aed40;transition:transform .06s ease;animation:letterHaloPulse 1.9s ease-in-out infinite}.letter[data-active]:after{transition:none;opacity:1;transform:scale(1.06);filter:blur(12px);animation:haloDrift 2.6s ease-in-out infinite}.letter[data-active][data-used]{box-shadow:0 0 0 2px color-mix(in oklab,var(--violet-400) 84%,transparent),0 0 0 12px #7c3aed38,0 18px 32px #7c3aed52}@keyframes letterHaloPulse{0%,to{box-shadow:0 0 0 2px color-mix(in oklab,var(--violet-400) 78%,transparent),0 0 0 11px #7c3aed24,0 16px 26px #7c3aed38}50%{box-shadow:0 0 0 3px color-mix(in oklab,var(--violet-400) 92%,transparent),0 0 0 18px #7c3aed42,0 22px 36px #7c3aed52}}@keyframes haloDrift{0%,to{opacity:.55;transform:scale(1.02);filter:blur(11px)}45%{opacity:.9;transform:scale(1.12);filter:blur(15px)}65%{opacity:.7;transform:scale(1.08);filter:blur(13px)}}@media (prefers-reduced-motion: reduce){.letter[data-active]{animation:none}.letter[data-active]:after{animation:none}}.sidebar{display:grid;gap:12px}.card{position:relative;padding:14px;border:1px solid var(--border);border-radius:var(--card-radius);background:linear-gradient(180deg,var(--panel),var(--panel-2));box-shadow:0 8px 28px #00000047,0 0 0 1px #ffffff05 inset}.score-card .card__body{flex-direction:column;align-items:flex-start;gap:18px;padding-bottom:6px;height:auto}.score-main{display:flex;width:100%;align-items:center;justify-content:space-between;gap:14px}.score-label{font-size:15px;font-weight:600;letter-spacing:.3px}.score-total{font-size:clamp(26px,4vw,34px);font-weight:800;letter-spacing:.4px;transition:transform .28s ease,text-shadow .28s ease}.score-total.score-pulse{animation:scoreFlash .65s ease forwards}.score-total.score-pulse-pop{animation:scorePop .65s cubic-bezier(.22,1.22,.33,1) forwards}.score-meta{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px}.score-breakdown{width:100%;display:grid;gap:10px}.score-part{display:flex;align-items:center;justify-content:space-between;gap:10px;background:color-mix(in oklab,var(--panel-2) 70%,transparent);border-radius:12px;padding:10px 12px;border:1px solid color-mix(in oklab,var(--border) 70%,transparent);font-size:14px}.score-part__label{display:flex;align-items:center;gap:8px;color:var(--muted)}.score-part__value{font-weight:700;color:var(--text)}.score-part__value[data-positive=true]{color:var(--green-500)}.score-part__value[data-negative=true]{color:#ef4444}.score-part[data-muted=true]{opacity:.65}.score-tokens{display:inline-flex;align-items:center;gap:4px}@keyframes scoreFlash{0%{text-shadow:0 0 0 rgba(124,58,237,0);transform:scale(1)}38%{text-shadow:0 10px 30px rgba(124,58,237,.4);transform:scale(1.05)}to{text-shadow:0 4px 18px rgba(124,58,237,.28);transform:scale(1)}}@keyframes scorePop{0%{text-shadow:0 0 0 rgba(34,197,94,0);transform:scale(1)}44%{text-shadow:0 16px 46px rgba(34,197,94,.45);transform:scale(1.12)}to{text-shadow:0 6px 26px rgba(34,197,94,.28);transform:scale(1)}}.card[data-flash=valid]{background:linear-gradient(180deg,color-mix(in oklab,var(--green-500) 20%,var(--panel)),color-mix(in oklab,var(--green-500) 14%,var(--panel-2)));box-shadow:0 8px 28px #22c55e38,0 0 0 1px #ffffff05 inset;transition:background .25s ease,box-shadow .25s ease}.card[data-flash=invalid]{background:linear-gradient(180deg,color-mix(in oklab,#ef4444 22%,var(--panel)),color-mix(in oklab,#ef4444 14%,var(--panel-2)));box-shadow:0 8px 28px #ef444440,0 0 0 1px #ffffff05 inset;transition:background .25s ease,box-shadow .25s ease}.card__row{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.progress{height:10px;background:#0e1430;border-radius:999px;border:1px solid var(--border);box-shadow:0 1px #ffffff08 inset;overflow:hidden}.progress__fill{height:100%;border-radius:999px;box-shadow:0 6px 20px #7c3aed59 inset;transition:width .25s ease}.status{display:flex;align-items:center;gap:10px}.status__dot{width:10px;height:10px;border-radius:50%;background:var(--green-500);opacity:.7}.status__text{font-size:14px;color:var(--text)}.card__body{height:clamp(40px,5vw,56px);display:flex;align-items:center;justify-content:space-between;gap:8px}.card[data-flash] .card__body{justify-content:center}.status[data-hidden=true]{visibility:hidden}.current-word{margin-top:0;font-size:18px;color:var(--violet-400)}.flash-banner{margin-top:0}.flash-overlay{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;z-index:2;padding:12px}.flash-banner{position:relative;display:inline-flex;align-items:center;gap:14px;padding:16px 22px;border-radius:18px;font-weight:800;letter-spacing:.15px;text-align:center;color:var(--text);background:linear-gradient(135deg,color-mix(in oklab,var(--panel-2) 86%,transparent),color-mix(in oklab,var(--panel) 78%,transparent));border:1px solid color-mix(in oklab,var(--border) 80%,transparent);box-shadow:0 24px 60px #0f172a8c,0 12px 24px #0f172a52;transform:translateY(18px) scale(.9);opacity:0;overflow:hidden;animation:flashEnter .45s cubic-bezier(.22,.9,.33,1) forwards,flashGlow 2.6s ease-out .45s}.flash-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:999px;font-size:18px;font-weight:900;color:#fefeff;text-shadow:0 1px 6px rgba(15,23,42,.3);box-shadow:0 10px 22px #0f172a59,0 0 0 1px #ffffff1a inset;transform:scale(.4);opacity:0;animation:flashBadge .38s cubic-bezier(.26,.94,.22,1.3) .08s forwards}.flash-text{font-size:17px}.flash-banner[data-kind=valid]{background:linear-gradient(135deg,color-mix(in oklab,var(--green-500) 28%,transparent),color-mix(in oklab,var(--panel) 82%,transparent));box-shadow:0 26px 60px #22c55e8c,0 0 0 1px #ffffff14 inset}.flash-banner[data-kind=valid] .flash-icon{background:linear-gradient(135deg,color-mix(in oklab,var(--green-500) 82%,transparent),color-mix(in oklab,var(--green-500) 42%,transparent))}.flash-banner[data-kind=invalid]{background:linear-gradient(135deg,color-mix(in oklab,#ef4444 34%,transparent),color-mix(in oklab,var(--panel) 80%,transparent));box-shadow:0 26px 60px #ef44447a,0 0 0 1px #ffffff14 inset}.flash-banner[data-kind=invalid] .flash-icon{background:linear-gradient(135deg,color-mix(in oklab,#ef4444 84%,transparent),color-mix(in oklab,#f87171 36%,transparent))}.flash-banner:before{content:"";position:absolute;inset:-40% -30%;background:radial-gradient(circle at 50% 0%,#ffffff3d,#fff0);opacity:0;animation:flashHighlight .6s ease-out .2s forwards}.flash-banner:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 25%,rgba(255,255,255,.16) 40%,transparent 65%);mix-blend-mode:screen;transform:translate(-120%);animation:flashSheen 1.2s ease-out .35s forwards}@keyframes flashEnter{0%{opacity:0;transform:translateY(24px) scale(.82);filter:blur(10px)}60%{opacity:1;transform:translateY(-6px) scale(1.03);filter:blur(0)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes flashGlow{0%{box-shadow:0 40px 80px #3b82f659,0 0 0 1px #ffffff0f inset}60%{box-shadow:0 24px 52px #0f172a66,0 0 0 1px #ffffff17 inset}to{box-shadow:0 18px 38px #0f172a52,0 0 0 1px #ffffff14 inset}}@keyframes flashHighlight{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}@keyframes flashSheen{0%{transform:translate(-130%)}to{transform:translate(130%)}}@keyframes flashBadge{0%{opacity:0;transform:scale(0) rotate(-12deg)}70%{opacity:1;transform:scale(1.15) rotate(4deg)}to{opacity:1;transform:scale(1) rotate(0)}}.word-list{margin-top:12px;padding:0;list-style:none;display:grid;gap:10px;counter-reset:stitched}.word-list__item{position:relative;counter-increment:stitched;padding:11px 16px 11px 52px;border-radius:16px;border:1px solid color-mix(in oklab,var(--border) 70%,transparent);background:linear-gradient(150deg,color-mix(in oklab,var(--panel-2) 85%,transparent),color-mix(in oklab,var(--panel) 75%,transparent));box-shadow:0 10px 24px #0b112047,0 0 0 1px #ffffff08 inset;letter-spacing:.4px;text-transform:uppercase;font-weight:700;display:flex;align-items:center;justify-content:center;text-align:center;gap:10px;transition:transform .18s ease,box-shadow .24s ease,border-color .24s ease}.word-list__item:before{content:counter(stitched,decimal-leading-zero);position:absolute;left:16px;top:50%;transform:translateY(-50%);width:34px;height:34px;border-radius:12px;display:grid;place-items:center;font-weight:800;font-size:13px;letter-spacing:.3px;background:linear-gradient(135deg,color-mix(in oklab,var(--panel-2) 78%,transparent),color-mix(in oklab,var(--panel) 68%,transparent));color:var(--text);box-shadow:0 8px 18px #0f172a59,0 0 0 1px #ffffff0f inset}.word-list__item:hover{transform:translateY(-2px);box-shadow:0 16px 34px #0b112061,0 0 0 1px #ffffff0d inset;border-color:#2a376f}.word-list__empty{margin:0;padding:18px;border-radius:16px;border:1px dashed #2a376f;background:color-mix(in oklab,var(--panel) 75%,transparent);color:color-mix(in oklab,var(--muted) 70%,#f5f7ff 30%);font-size:14px;letter-spacing:.2px;text-align:center;box-shadow:0 12px 28px #0b112047}.rules{margin-top:12px;color:var(--muted);font-size:13px}.rules ul{margin-top:6px;padding-left:18px}.board svg polyline{filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.board svg rect{stroke:#2b355e}.win-overlay{position:fixed;inset:0;z-index:300;display:grid;place-items:center;padding:clamp(18px,4vw,48px);background:color-mix(in oklab,var(--bg) 60%,rgba(9,12,28,.82));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);animation:winOverlayFade .45s ease forwards}.win-overlay__confetti{position:absolute;inset:0;overflow:hidden;pointer-events:none}.win-confetti{position:absolute;top:-48px;width:16px;height:34px;border-radius:8px;opacity:0;filter:drop-shadow(0 6px 12px rgba(0,0,0,.25));will-change:transform,opacity;pointer-events:none;animation-name:confettiFall;animation-timing-function:linear;animation-iteration-count:infinite;animation-fill-mode:forwards;--confetti-scale: 1;--confetti-drift: 0px;--confetti-spin: 540deg;--confetti-lift: 0px}.win-overlay__content{position:relative;z-index:1;max-width:min(460px,92vw);padding:clamp(28px,6vw,44px);border-radius:24px;text-align:center;background:linear-gradient(160deg,color-mix(in oklab,var(--panel) 86%,transparent),color-mix(in oklab,var(--panel-2) 90%,transparent));border:1px solid color-mix(in oklab,var(--ring) 75%,transparent);box-shadow:0 28px 80px #0e122899,0 0 0 1px #ffffff0d inset;animation:winCardPop .5s cubic-bezier(.16,1,.3,1) forwards}.score-summary-card{margin-top:clamp(18px,4vw,26px);padding:clamp(18px,4vw,26px);border-radius:20px;background:linear-gradient(150deg,color-mix(in oklab,var(--panel-2) 92%,transparent),color-mix(in oklab,var(--panel) 82%,transparent));border:1px solid color-mix(in oklab,var(--ring) 60%,transparent);box-shadow:0 16px 42px #0f172a59,0 0 0 1px #ffffff14 inset;display:grid;gap:16px;position:relative;overflow:hidden}.score-summary-card:after{content:"";position:absolute;inset:-40% 20% 60% -40%;background:radial-gradient(circle at 20% 20%,#7c3aed29,#7c3aed00);opacity:.8;filter:blur(22px);pointer-events:none}.score-summary__heading{margin:0;font-size:15px;letter-spacing:.2px;color:var(--muted);text-transform:uppercase}.score-summary__total{font-size:clamp(34px,6vw,44px);font-weight:800;letter-spacing:.5px;position:relative;display:inline-flex;align-items:center;gap:12px;animation:scorePop .8s cubic-bezier(.22,1.22,.33,1) forwards}.score-summary__total:before{content:"";position:absolute;inset:-30% -20% -25%;background:radial-gradient(circle at 50% 50%,#7c3aed73,#7c3aed00);opacity:.6;filter:blur(20px);pointer-events:none}.score-summary__total span{font-size:16px;font-weight:600;color:var(--muted);letter-spacing:.4px;text-transform:uppercase}.score-summary__parts{display:grid;gap:10px}.score-summary__row{display:flex;align-items:center;justify-content:space-between;font-size:15px;gap:12px}.score-summary__row-label{color:var(--muted);display:inline-flex;align-items:center;gap:8px}.score-summary__row-value{font-weight:700;color:var(--text)}.score-summary__row-value[data-positive=true]{color:var(--green-500)}.score-summary__row-value[data-negative=true]{color:#ef4444}.score-sparkle{position:absolute;top:12px;right:18px;width:46px;height:46px;display:grid;place-items:center;pointer-events:none;animation:sparkleFloat 4s ease-in-out infinite}.score-sparkle__orb{width:16px;height:16px;border-radius:50%;background:linear-gradient(135deg,#7c3aedcc,#7c3aed4d);box-shadow:0 0 18px #7c3aed99;animation:sparklePulse 2.6s ease-in-out infinite}@keyframes sparkleFloat{0%,to{transform:translateZ(0) scale(1);opacity:.8}40%{transform:translate3d(4px,-8px,0) scale(1.08);opacity:1}70%{transform:translate3d(-6px,-3px,0) scale(.94);opacity:.7}}@keyframes sparklePulse{0%,to{transform:scale(.8);filter:blur(0)}40%{transform:scale(1.05);filter:blur(1px)}65%{transform:scale(.9);filter:blur(.5px)}}.win-overlay__badge{width:68px;height:68px;margin:0 auto clamp(14px,3vw,22px);border-radius:20px;display:grid;place-items:center;font-size:32px;background:linear-gradient(135deg,color-mix(in oklab,var(--violet-500) 36%,transparent),color-mix(in oklab,var(--panel-2) 70%,transparent));box-shadow:0 14px 32px #7c3aed59,0 0 0 1px #ffffff2e inset;animation:badgeTwinkle 2.6s ease-in-out infinite}.win-overlay__title{margin:0 0 12px;font-size:clamp(26px,4vw,34px);letter-spacing:.4px}.win-overlay__subtitle{margin:0 auto clamp(20px,5vw,30px);max-width:34ch;color:var(--muted);font-size:15px}.win-overlay__actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}@keyframes winOverlayFade{0%{opacity:0}to{opacity:1}}@keyframes winCardPop{0%{opacity:0;transform:translateY(24px) scale(.88)}60%{opacity:1;transform:translateY(-6px) scale(1.03)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes badgeTwinkle{0%,to{transform:scale(1) rotate(0);filter:drop-shadow(0 8px 24px rgba(124,58,237,.32))}45%{transform:scale(1.08) rotate(4deg);filter:drop-shadow(0 10px 28px rgba(124,58,237,.42))}70%{transform:scale(.96) rotate(-3deg);filter:drop-shadow(0 6px 20px rgba(124,58,237,.25))}}@keyframes confettiFall{0%{opacity:0;transform:translate3d(calc(var(--confetti-drift) * -.4),calc(-110px - var(--confetti-lift)),0) rotate(0) scale(var(--confetti-scale))}6%{opacity:1}to{opacity:0;transform:translate3d(var(--confetti-drift),calc(120vh + var(--confetti-lift)),0) rotate(var(--confetti-spin)) scale(var(--confetti-scale))}}@media (max-width: 420px){.app-title{font-size:22px}}
