:root{--bg-canvas:35 25% 98%;--bg-surface:0 0% 100%;--bg-surface-1:35 20% 96%;--bg-surface-2:35 18% 92%;--bg-card:0 0% 100%;--bg-elevated:0 0% 100%;--bg-tile:38 35% 96%;--bg-tile-active:38 45% 92%;--text-primary:220 30% 11%;--text-secondary:220 18% 34%;--text-muted:220 18% 35%;--text-inverse:0 0% 100%;--text-tile:220 35% 12%;--accent-primary:215 90% 34%;--accent-primary-hover:215 90% 28%;--accent-amber:32 90% 48%;--accent-amber-subtle:35 40% 94%;--accent-success:142 72% 38%;--accent-dl:202 85% 46%;--accent-tl:216 90% 42%;--accent-dw:348 80% 56%;--accent-tw:8 85% 52%;--border-subtle:220 14% 88%;--border-card:220 14% 84%;--border-tile:35 22% 80%;--border-focus:211 100% 48%;--shadow-elevation-1:0 1px 2px 0 #1317200d;--shadow-elevation-2:0 4px 6px -1px #13172012, 0 2px 4px -1px #1317200a;--shadow-elevation-3:0 10px 15px -3px #13172014, 0 4px 6px -2px #1317200a;--shadow-elevation-4:0 20px 25px -5px #13172017, 0 10px 10px -5px #13172008;--shadow-tile:inset 0 1px 0 0 #ffffffe6, 0 2px 3px 0 #13172014, 0 1px 1px 0 #1317200a;--shadow-tile-active:inset 0 2px 3px 0 #1317201f, 0 1px 1px 0 #1317200a;--shadow-rack:inset 0 2px 4px 0 #1317200f, 0 1px 0 0 #fffc;--tile-surface:linear-gradient(180deg, #faf8f5 0%, #efe9e1 100%);--tile-border:#d5c9b9;--tile-specular:inset 0 1.5px .5px #ffffffe6;--tile-shadow:0 1px 2px #23190f14, 0 3px 6px #23190f1f, 0 6px 12px -2px #23190f14;--rack-wood:linear-gradient(180deg, #533f28 0%, #392918 100%);--rack-groove:inset 0 4px 8px #00000040, 0 1px 0 #fff9;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display:"Inter Display", "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"JetBrains Mono", monospace;--tracking-tight:-.035em;--tracking-normal:-.011em;--tracking-wide:.04em;--tracking-eyebrow:.12em;--text-hero:clamp(2.35rem, 5.2vw, 4rem);--text-h1:clamp(2rem, 4.5vw, 3.25rem);--text-h2:clamp(1.6rem, 3.2vw, 2.5rem);--text-h3:clamp(1.25rem, 2.2vw, 1.75rem);--text-body:1.0625rem;--text-small:.875rem;--text-micro:.75rem;--ease-spring:cubic-bezier(.16, 1, .3, 1);--ease-snappy:cubic-bezier(.2, 0, 0, 1);--duration-fast:.12s;--duration-base:.22s}[data-theme=dark]{--bg-canvas:224 28% 8%;--bg-surface:224 24% 12%;--bg-surface-1:224 20% 16%;--bg-surface-2:224 18% 20%;--bg-card:224 24% 13%;--bg-elevated:224 24% 16%;--bg-tile:30 20% 20%;--bg-tile-active:30 24% 25%;--text-primary:38 30% 92%;--text-secondary:220 18% 70%;--text-muted:220 15% 60%;--text-tile:38 30% 92%;--accent-primary:172 85% 44%;--accent-primary-hover:172 85% 38%;--accent-amber:42 100% 55%;--accent-amber-subtle:42 30% 20%;--accent-dl:202 85% 55%;--accent-tl:142 72% 48%;--accent-dw:348 90% 62%;--accent-tw:8 95% 58%;--border-subtle:224 15% 22%;--border-card:224 15% 26%;--border-tile:30 15% 30%;--tile-surface:linear-gradient(180deg, #42382e 0%, #312921 100%);--tile-border:#584d41;--tile-specular:inset 0 1px .5px #ffffff2e;--tile-shadow:0 2px 4px #0006, 0 6px 16px #00000059;--rack-wood:linear-gradient(180deg, #1d212b 0%, #11151d 100%);--rack-groove:inset 0 4px 8px #00000080, 0 1px 0 #ffffff14}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-sans);background-color:hsl(var(--bg-canvas));color:hsl(var(--text-primary));text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.65}body{background-color:hsl(var(--bg-canvas));flex-direction:column;min-height:100vh;display:flex;overflow-x:hidden}.hero-lead,.editorial-lead{color:hsl(var(--text-secondary));max-width:52rem;margin-top:1rem;margin-bottom:2rem;font-size:clamp(1.15rem,2vw,1.35rem);font-weight:400;line-height:1.6}.category-eyebrow{font-size:var(--text-micro);text-transform:uppercase;letter-spacing:var(--tracking-eyebrow);color:hsl(var(--accent-primary));align-items:center;gap:.5rem;margin-bottom:.75rem;font-weight:700;display:inline-flex}.table-wrapper{-webkit-overflow-scrolling:touch;box-sizing:border-box;width:100%;max-width:100%;margin:1.5rem 0;overflow-x:auto}table.swiss-table{border-collapse:collapse;width:100%;min-width:520px;font-size:var(--text-small);border:none;margin:0}table.swiss-table th{text-align:left;color:hsl(var(--text-primary));border-bottom:1px solid hsl(var(--border-subtle));text-transform:uppercase;letter-spacing:var(--tracking-wide);font-weight:600;font-size:var(--text-micro);padding:.75rem 1rem}table.swiss-table td{color:hsl(var(--text-secondary));border-bottom:1px solid hsl(var(--border-subtle));padding:.75rem 1rem}table.swiss-table tr:hover td{background-color:hsl(var(--bg-surface-1) / .5)}.letter-tile{background-color:hsl(var(--bg-tile));border-bottom:1px solid hsl(var(--border-subtle,0 0% 85%) / .4);width:2.75rem;height:3rem;box-shadow:var(--shadow-tile);font-family:var(--font-mono);color:hsl(var(--text-tile));user-select:none;transition:transform var(--duration-fast) var(--ease-spring), box-shadow var(--duration-fast) ease;border-radius:.375rem;justify-content:center;align-items:center;font-size:1.35rem;font-weight:700;display:inline-flex;position:relative}.letter-tile .tile-score{font-variant-numeric:tabular-nums;color:hsl(var(--text-muted));font-size:.65rem;font-weight:600;position:absolute;bottom:.2rem;right:.25rem}.letter-tile:active{box-shadow:var(--shadow-tile-active);transform:translateY(1.5px)scale(.98)}button,input,select,textarea{font:inherit}:focus-visible{outline:2px solid hsl(var(--border-focus));outline-offset:2px}.chip-container{white-space:nowrap;flex-wrap:wrap;gap:.5rem;width:auto;display:flex}.skip-link{z-index:1000;background-color:hsl(var(--text-primary));color:#fff;border:2px solid hsl(var(--accent-primary));border-radius:.375rem;padding:.75rem 1.25rem;font-weight:700;text-decoration:none;position:absolute;top:-9999px;left:1rem}.skip-link:focus{top:1rem}.physical-tile,.letter-tile{background:var(--tile-surface);border:1px solid var(--tile-border);box-shadow:var(--tile-specular), var(--tile-shadow);font-family:var(--font-display);text-transform:uppercase;color:hsl(var(--text-tile));user-select:none;border-radius:8px;font-weight:800;transition:transform .18s cubic-bezier(.34,1.56,.64,1),box-shadow .18s;position:relative}.physical-tile:hover,.letter-tile:hover{box-shadow:var(--tile-specular), 0 8px 16px #23190f29, 0 2px 4px #23190f1a;transform:translateY(-3px)scale(1.04)}.physical-tile:active,.letter-tile:active{transform:translateY(1px)scale(.98);box-shadow:inset 0 2px 4px #00000026,0 1px 2px #0000001a}.tile-point-badge{font-family:var(--font-mono);color:hsl(var(--text-muted));font-size:.625rem;font-weight:700;line-height:1;position:absolute;bottom:2px;right:4px}.visual-tile-rack{background:var(--rack-wood);min-height:3.5rem;box-shadow:var(--rack-groove);border-bottom:4px solid #00000059;border-radius:.65rem;flex-wrap:wrap;align-items:center;gap:.45rem;padding:.65rem .85rem;display:flex;position:relative}@keyframes tileDropIn{0%{opacity:0;transform:translateY(-18px)scale(.85)rotate(-3deg)}60%{transform:translateY(2px)scale(1.03)rotate(.5deg)}to{opacity:1;transform:translateY(0)scale(1)rotate(0)}}.rack-tile-entering{animation:.22s cubic-bezier(.34,1.56,.64,1) forwards tileDropIn}@keyframes solutionCascade{0%{opacity:0;transform:translateY(14px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.word-card,.solution-row{animation:.24s cubic-bezier(.16,1,.3,1) both solutionCascade}@keyframes goldenSweep{0%{background-position:-200% 0}to{background-position:200% 0}}.card-score.bingo,.solution-score.bingo{color:#111!important;background:linear-gradient(90deg,#e09006 0%,#ffd966 50%,#e09006 100%) 0 0/200% 100%!important;font-weight:800!important;animation:2.5s linear infinite goldenSweep!important}.cw-toast-notification{background:hsl(var(--text-primary));color:hsl(var(--bg-canvas));z-index:10000;opacity:0;pointer-events:none;border-radius:9999px;padding:.65rem 1.25rem;font-size:.875rem;font-weight:600;transition:transform .22s cubic-bezier(.16,1,.3,1),opacity .22s;position:fixed;bottom:2rem;left:50%;transform:translate(-50%)translateY(100px);box-shadow:0 10px 25px #00000040}.cw-toast-notification.visible{opacity:1;transform:translate(-50%)translateY(0)}.challenge-alert-pill{background:hsl(var(--accent-amber) / .15);border:1px solid hsl(var(--accent-amber));color:hsl(var(--text-primary));border-radius:.5rem;align-items:center;gap:.75rem;margin-bottom:1rem;padding:.6rem 1rem;font-size:.875rem;display:flex}.challenge-alert-pill .alert-icon{font-size:1.1rem}.challenge-alert-pill .close-alert-btn{cursor:pointer;color:hsl(var(--text-secondary));background:0 0;border:none;margin-left:auto;font-size:1rem}
