:root{color-scheme:light;--font-body: "Avenir Next", "Segoe UI", sans-serif;--font-display: "Iowan Old Style", "Palatino Linotype", serif;--bg: #f4ecdf;--bg-accent: #fbf6ee;--surface: rgb(255 250 243 / 88%);--surface-strong: #fffaf1;--surface-muted: rgb(255 255 255 / 44%);--border: rgb(68 55 42 / 14%);--text: #1d252d;--muted: #655d55;--primary: #2c766f;--primary-strong: #1f5852;--secondary: #bf6944;--shadow: 0 24px 60px rgb(48 35 23 / 12%);--shadow-soft: 0 18px 38px rgb(48 35 23 / 8%);--completion-panel-bg: linear-gradient( 145deg, rgb(255 255 255 / 94%), rgb(249 244 238 / 96%) );--completion-panel-inline-bg: radial-gradient( circle at top right, rgb(44 118 111 / 14%), transparent 38% ), linear-gradient(160deg, rgb(255 255 255 / 94%), rgb(247 242 235 / 96%));--completion-panel-border: color-mix(in srgb, var(--border) 72%, white);--completion-glow-top: rgb(255 202 58 / 18%);--completion-glow-bottom: rgb(44 118 111 / 14%);--completion-chip-bg: rgb(255 255 255 / 60%);--completion-chip-border: color-mix( in srgb, var(--primary) 18%, var(--border) );--completion-link-bg: rgb(255 255 255 / 74%);--completion-link-hover-bg: rgb(255 255 255 / 92%);--completion-link-border: color-mix( in srgb, var(--secondary) 18%, var(--border) );--completion-pending-bg: linear-gradient( 150deg, rgb(255 253 248 / 94%), rgb(245 236 225 / 94%) );--completion-pending-border: color-mix( in srgb, var(--secondary) 22%, var(--border) );--completion-pending-ring: rgb(44 118 111 / 24%);--completion-pending-core: color-mix(in srgb, var(--secondary) 58%, white);--play-board-overlay-bg: rgb(244 236 223 / 52%);--play-board-ready-bg: linear-gradient(180deg, rgb(255 255 255 / 72%), rgb(250 244 236 / 94%)), var(--surface);--play-board-ready-border: color-mix(in srgb, var(--border) 82%, white);--play-board-ready-shadow: 0 18px 44px rgb(15 23 42 / 18%), inset 0 1px 0 rgb(255 255 255 / 60%);--play-board-chip-bg: color-mix(in srgb, var(--primary) 12%, white);--play-board-chip-color: var(--primary-strong);--play-board-button-shadow: 0 14px 30px rgb(44 118 111 / 24%);--play-board-button-hover-shadow: 0 18px 34px rgb(44 118 111 / 28%);--library-panel-bg: linear-gradient(180deg, rgb(255 251 245 / 94%), rgb(248 241 233 / 96%)), var(--surface);--library-panel-border: var(--border);--library-panel-shadow: var(--shadow);--library-card-bg: radial-gradient( circle at top right, rgb(255 255 255 / 6%), transparent 30% ), linear-gradient( 180deg, color-mix(in srgb, var(--surface-strong) 92%, white), color-mix(in srgb, var(--surface) 96%, black) );--library-card-border: var(--border);--library-card-blind-bg: radial-gradient( circle at top right, rgb(44 118 111 / 16%), transparent 34% ), radial-gradient( circle at bottom left, rgb(44 118 111 / 12%), transparent 36% ), linear-gradient( 180deg, color-mix(in srgb, var(--surface-strong) 90%, white), color-mix(in srgb, var(--surface) 96%, black) );--library-feature-bg: radial-gradient( circle at top right, rgb(44 118 111 / 10%), transparent 34% ), linear-gradient( 160deg, color-mix(in srgb, var(--surface-strong) 94%, white), color-mix(in srgb, var(--surface) 96%, black) );--library-feature-border: color-mix( in srgb, var(--primary) 18%, var(--border) );--library-feature-shadow: var(--shadow-soft);--library-row-bg: radial-gradient( circle at top right, rgb(255 255 255 / 6%), transparent 32% ), linear-gradient( 180deg, color-mix(in srgb, var(--surface-strong) 92%, white), color-mix(in srgb, var(--surface) 96%, black) );--library-mode-group-bg: color-mix(in srgb, var(--surface-strong) 88%, white);--library-size-chip-bg: var(--surface-muted);--library-peek-backdrop: rgb(10 14 18 / 32%);--library-peek-bg: radial-gradient(circle at top, rgb(44 118 111 / 12%), transparent 36%), var(--surface)}:root.dark,html[data-theme=dark]{color-scheme:dark;--bg: #181512;--bg-accent: #211d19;--surface: rgb(39 34 29 / 88%);--surface-strong: #312a24;--surface-muted: rgb(255 255 255 / 5%);--border: rgb(255 255 255 / 10%);--text: #f7f0e7;--muted: #c4b7aa;--primary: #7fd5ca;--primary-strong: #5ebdb1;--secondary: #f09b73;--shadow: 0 26px 70px rgb(0 0 0 / 28%);--shadow-soft: 0 18px 38px rgb(0 0 0 / 20%);--completion-panel-bg: linear-gradient( 145deg, rgb(50 43 36 / 96%), rgb(31 27 23 / 98%) );--completion-panel-inline-bg: radial-gradient( circle at top right, rgb(127 213 202 / 12%), transparent 40% ), linear-gradient(160deg, rgb(44 38 33 / 96%), rgb(27 23 20 / 98%));--completion-panel-border: color-mix( in srgb, var(--border) 78%, rgb(255 255 255 / 16%) );--completion-glow-top: rgb(240 155 115 / 14%);--completion-glow-bottom: rgb(127 213 202 / 10%);--completion-chip-bg: rgb(255 255 255 / 6%);--completion-chip-border: color-mix( in srgb, var(--primary) 30%, var(--border) );--completion-link-bg: rgb(255 255 255 / 7%);--completion-link-hover-bg: rgb(255 255 255 / 12%);--completion-link-border: color-mix( in srgb, var(--secondary) 28%, var(--border) );--completion-pending-bg: linear-gradient( 150deg, rgb(48 41 34 / 96%), rgb(29 25 21 / 98%) );--completion-pending-border: color-mix( in srgb, var(--secondary) 30%, var(--border) );--completion-pending-ring: rgb(127 213 202 / 28%);--completion-pending-core: color-mix(in srgb, var(--secondary) 72%, white);--play-board-overlay-bg: rgb(15 12 10 / 48%);--play-board-ready-bg: radial-gradient( circle at top left, rgb(127 213 202 / 12%), transparent 34% ), radial-gradient( circle at top right, rgb(240 155 115 / 10%), transparent 28% ), linear-gradient(160deg, rgb(47 40 34 / 96%), rgb(25 21 18 / 98%));--play-board-ready-border: color-mix( in srgb, var(--primary) 28%, rgb(255 255 255 / 10%) );--play-board-ready-shadow: 0 24px 56px rgb(0 0 0 / 34%), inset 0 1px 0 rgb(255 255 255 / 8%), inset 0 0 0 1px rgb(255 255 255 / 3%);--play-board-chip-bg: rgb(127 213 202 / 10%);--play-board-chip-color: #a9efe6;--play-board-button-shadow: 0 16px 34px rgb(18 54 50 / 36%), 0 0 0 1px rgb(127 213 202 / 12%);--play-board-button-hover-shadow: 0 20px 40px rgb(18 54 50 / 42%), 0 0 0 1px rgb(127 213 202 / 2%);--library-panel-bg: radial-gradient( circle at top right, rgb(127 213 202 / 10%), transparent 38% ), radial-gradient( circle at bottom left, rgb(240 155 115 / 8%), transparent 32% ), linear-gradient(160deg, rgb(44 38 33 / 96%), rgb(24 21 18 / 98%));--library-panel-border: rgb(255 255 255 / 10%);--library-panel-shadow: 0 28px 72px rgb(0 0 0 / 34%), inset 0 1px 0 rgb(255 255 255 / 4%);--library-card-bg: radial-gradient( circle at top right, rgb(127 213 202 / 10%), transparent 32% ), linear-gradient(180deg, rgb(45 39 34 / 96%), rgb(26 23 20 / 98%));--library-card-border: rgb(255 255 255 / 9%);--library-card-blind-bg: radial-gradient( circle at top right, rgb(127 213 202 / 18%), transparent 34% ), radial-gradient( circle at bottom left, rgb(240 155 115 / 10%), transparent 30% ), linear-gradient(180deg, rgb(46 40 34 / 96%), rgb(23 20 18 / 98%));--library-feature-bg: radial-gradient( circle at top right, rgb(127 213 202 / 18%), transparent 30% ), radial-gradient( circle at bottom left, rgb(240 155 115 / 14%), transparent 26% ), linear-gradient(155deg, rgb(49 42 36 / 98%), rgb(24 21 18 / 99%));--library-feature-border: color-mix( in srgb, var(--primary) 34%, rgb(255 255 255 / 12%) );--library-feature-shadow: 0 30px 72px rgb(0 0 0 / 40%), inset 0 1px 0 rgb(255 255 255 / 6%), 0 0 0 1px rgb(127 213 202 / 4%);--library-row-bg: radial-gradient( circle at top right, rgb(127 213 202 / 12%), transparent 34% ), linear-gradient(180deg, rgb(43 37 32 / 96%), rgb(24 21 18 / 98%));--library-mode-group-bg: linear-gradient( 180deg, rgb(255 255 255 / 6%), rgb(255 255 255 / 3%) );--library-size-chip-bg: rgb(255 255 255 / 6%);--library-peek-backdrop: rgb(4 7 10 / 58%);--library-peek-bg: radial-gradient(circle at top, rgb(127 213 202 / 16%), transparent 34%), radial-gradient( circle at top right, rgb(240 155 115 / 10%), transparent 28% ), linear-gradient(160deg, rgb(45 39 34 / 98%), rgb(21 18 16 / 99%))}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:var(--font-body);color:var(--text);background:radial-gradient(circle at top left,rgb(44 118 111 / 10%),transparent 28%),radial-gradient(circle at 88% 10%,rgb(191 105 68 / 11%),transparent 24%),linear-gradient(180deg,var(--bg-accent),var(--bg))}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.site-shell{min-height:100vh;display:flex;flex-direction:column}.site-header,.site-footer,.site-main,.puzzle-route-header{width:min(1120px,calc(100vw - 28px));margin:0 auto}.site-header,.puzzle-route-header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 0 16px}.brand-mark{display:inline-flex;flex-direction:column;gap:2px}.brand-mark strong{font-family:var(--font-display);font-size:clamp(1.9rem,4vw,2.7rem);line-height:.92;letter-spacing:-.05em}.brand-kicker,.page-eyebrow,.card-eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;font-weight:800;color:var(--primary)}.site-nav{display:flex;align-items:center;flex-wrap:wrap;gap:14px;color:var(--muted)}.site-nav a.active,.site-nav a:hover,.footer-links a:hover,.inline-link:hover{color:var(--text)}.theme-toggle{border:1px solid var(--border);border-radius:999px;padding:8px 10px;background:var(--surface);color:var(--text);display:inline-flex;align-items:center;gap:10px;cursor:pointer;box-shadow:var(--shadow-soft)}.theme-toggle-track{width:38px;height:22px;border-radius:999px;background:linear-gradient(90deg,var(--primary),var(--secondary));padding:2px;display:inline-flex}.theme-toggle-thumb{width:18px;height:18px;border-radius:50%;background:#fff;transform:translate(0)}.dark .theme-toggle-thumb,html[data-theme=dark] .theme-toggle-thumb{transform:translate(16px)}.site-main{flex:1;padding-bottom:40px}.puzzle-main{width:min(1260px,calc(100vw - 20px));padding-bottom:18px}.site-footer{padding:0 0 28px;color:var(--muted)}.footer-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}.site-footer--centered{text-align:center}.site-footer--centered .footer-links{justify-content:center}.home-launcher,.hub-shell,.static-page,.puzzle-shell{display:grid;gap:18px}.home-launcher{place-items:center;justify-content:center;min-height:calc(100dvh - 180px);grid-template-columns:minmax(0,760px);align-items:center}.home-launcher-card,.hub-section,.hub-side-panel,.puzzle-topbar,.puzzle-stage-panel,.puzzle-actions-panel,.puzzle-guide-rail,.guide-card,.mobile-guide-sheet,.how-to-play,.static-section,.loading-panel{background:var(--surface);border:1px solid var(--border);border-radius:28px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.home-launcher-card{width:min(780px,100%);padding:clamp(22px,3.5vw,36px);text-align:left;display:grid;grid-template-columns:1fr auto;grid-template-areas:"main board";column-gap:32px;align-items:center}.home-card-main{grid-area:main;display:grid;gap:10px}.home-card-main>*{margin:0}.home-card-main .home-launcher-actions{justify-content:flex-start;margin-top:6px}.home-launcher-card h1,.hub-intro h1,.static-page h1,.puzzle-topbar h1{margin:0;font-family:var(--font-display);font-size:clamp(2.4rem,6vw,4.6rem);line-height:.95;letter-spacing:-.06em}.home-launcher-card h1{font-size:clamp(2rem,3.8vw,3.4rem)}.page-summary{max-width:58ch;color:var(--muted);line-height:1.65}.home-launcher-actions,.completion-actions,.practice-ladder{display:flex;flex-wrap:wrap;gap:12px}.home-launcher-actions{justify-content:center;margin-top:24px}.primary-button,.secondary-button,.ghost-button,.tier-button,.action-bar button,.completion-actions button,.completion-action-grid button,.mobile-guide-header button{border:1px solid transparent;border-radius:999px;padding:12px 18px;font-weight:800;cursor:pointer}.ghost-button{background:transparent;border-color:transparent;color:var(--muted);text-decoration:underline;text-underline-offset:3px}.primary-button{background:linear-gradient(135deg,var(--primary),var(--primary-strong));color:#fff;box-shadow:0 18px 30px #2c766f33}.secondary-button,.tier-button,.action-bar button,.completion-actions button,.completion-action-grid button:not(.primary-button),.mobile-guide-header button{background:var(--surface-strong);border-color:var(--border);color:var(--text)}.primary-button:disabled,.secondary-button:disabled,.tier-button:disabled,.action-bar button:disabled,.completion-actions button:disabled,.completion-action-grid button:disabled{opacity:.56;cursor:not-allowed}.home-board-preview{grid-area:board;width:200px;margin:0;box-shadow:var(--shadow-soft);border-radius:18px}.home-solved-clue{background:#0000002e;box-shadow:none}.welcome-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:24px;background:#090c0f8a;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:welcome-fade-in .22s ease both}@keyframes welcome-fade-in{0%{opacity:0}to{opacity:1}}.welcome-modal{width:min(480px,100%);padding:clamp(24px,4vw,36px);display:grid;gap:14px;border-radius:28px;border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);animation:welcome-slide-up .26s cubic-bezier(.22,1,.36,1) both}@keyframes welcome-slide-up{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.welcome-modal h2{margin:0;font-size:clamp(1.5rem,3.5vw,2rem);letter-spacing:-.04em;line-height:1.15}.welcome-rules{margin:0;padding:0;list-style:none;display:grid;gap:10px}.welcome-rules li{display:flex;align-items:flex-start;gap:10px;font-size:.95rem;line-height:1.5}.welcome-rules li:before{content:"";flex-shrink:0;margin-top:6px;width:6px;height:6px;border-radius:50%;background:var(--primary)}.welcome-hint{margin:0;font-size:.875rem;color:var(--muted);line-height:1.55}.welcome-actions{display:flex;align-items:center;gap:8px;margin-top:4px;flex-wrap:wrap}.home-inline-meta,.section-empty,.page-error,.completion-share-status,.completion-subtitle{color:var(--muted)}.hub-intro{display:grid;gap:10px}.hub-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,360px);gap:18px;align-items:start}.hub-sections{display:grid;gap:18px}.hub-sections--library{grid-template-columns:1fr}.hub-sections--library .hub-section{background:var(--library-panel-bg);border-color:var(--library-panel-border);box-shadow:var(--library-panel-shadow)}.hub-rail{display:grid;gap:18px;align-content:start;position:sticky;top:18px}.stats-page{padding-bottom:80px}.hub-section{padding:24px;display:grid;gap:18px}.hub-side-panel{padding:18px;display:grid;gap:14px}.section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.section-heading--stacked{align-items:start}.hub-section-copy{display:grid;gap:6px}.hub-section-kicker{margin:0;color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.section-count{color:var(--muted);font-size:.82rem;font-weight:800;white-space:nowrap}.section-summary{margin:0;max-width:54ch;color:var(--muted);line-height:1.55}.section-heading h2,.section-heading h3,.hub-preview-panel h2,.guide-card h2,.static-section h2{margin:0;font-size:1.2rem}.catalog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(188px,1fr));gap:14px;align-items:stretch}.catalog-grid>*{min-width:0;height:100%}.catalog-grid--continue{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.catalog-grid--daily,.catalog-grid--archive{grid-template-columns:repeat(auto-fit,minmax(184px,1fr))}.hub-daily-feature,.hub-daily-shelf{display:grid;gap:16px}.hub-daily-feature{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:22px;padding:20px 22px;border-radius:24px;border:1px solid var(--library-feature-border);background:var(--library-feature-bg);box-shadow:var(--library-feature-shadow)}.hub-daily-feature-copy{display:grid;gap:10px;align-content:start}.hub-daily-feature-copy h3{margin:0;font-family:var(--font-display);font-size:clamp(1.5rem,3vw,2.3rem);line-height:.98;letter-spacing:-.04em}.hub-show-more{justify-self:start}.practice-launch-grid,.stats-summary-grid,.tier-stats-grid,.match-history-list{display:grid;gap:14px}.practice-launch-grid,.stats-summary-grid,.tier-stats-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.practice-launch-card,.practice-launch-button,.stats-card,.tier-stat-card,.match-history-item{border:1px solid var(--border);border-radius:22px;background:var(--surface-strong);box-shadow:var(--shadow-soft);min-width:0}.practice-launch-card{position:relative;overflow:hidden;padding:18px;display:grid;gap:14px;background:radial-gradient(circle at top right,rgb(255 255 255 / 7%),transparent 34%),linear-gradient(180deg,color-mix(in srgb,var(--surface-strong) 92%,white),color-mix(in srgb,var(--surface) 94%,black))}.practice-launch-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgb(44 118 111 / 10%),transparent 42%),linear-gradient(315deg,rgb(191 105 68 / 10%),transparent 36%);pointer-events:none}.practice-launch-topline{position:relative;z-index:1;display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.practice-launch-kicker{margin:0 0 8px;color:var(--muted);font-size:.7rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.practice-launch-card h3{margin:0;font-size:1.28rem;line-height:1}.practice-launch-size{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 12px;border-radius:999px;border:1px solid color-mix(in srgb,var(--border) 82%,white);background:color-mix(in srgb,var(--surface-muted) 88%,white);color:var(--text);font-size:.76rem;font-weight:800;letter-spacing:.08em}.practice-launch-button{position:relative;z-index:1;padding:14px 16px;display:grid;gap:6px;text-align:left;color:var(--text);min-height:88px;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease}.practice-launch-button:hover{transform:translateY(-1px)}.practice-launch-button--standard{background:linear-gradient(180deg,rgb(255 255 255 / 5%),transparent),color-mix(in srgb,var(--surface-strong) 94%,white)}.practice-launch-button--blindfolded{border-color:color-mix(in srgb,var(--primary) 26%,var(--border));background:linear-gradient(135deg,rgb(44 118 111 / 18%),transparent 48%),linear-gradient(180deg,rgb(255 255 255 / 6%),transparent),color-mix(in srgb,var(--surface-strong) 92%,white);box-shadow:0 12px 28px #0f172a1f,inset 0 1px #ffffff1f}.practice-launch-button-title{font-size:.98rem;font-weight:800}.practice-launch-button-copy{color:var(--muted);font-size:.86rem;line-height:1.45}.practice-launch-actions{position:relative;z-index:1;display:grid;gap:10px}.practice-launch-heading,.hub-preview-metrics,.tier-stat-heading,.match-history-metrics{display:flex;justify-content:space-between;gap:12px;align-items:center}.practice-launch-heading strong,.stats-card strong,.tier-stat-heading h3,.match-history-item strong{margin:0;font-size:1rem;min-width:0}.practice-launch-heading span,.hub-preview-metrics span,.stats-label,.tier-stat-heading span,.match-history-metrics span{color:var(--muted);font-size:.78rem;font-weight:800}.practice-launch-copy,.tier-stat-card p,.match-history-item p{margin:0;color:var(--muted);line-height:1.55}.stats-card,.tier-stat-card{padding:16px;display:grid;gap:10px}.stats-card strong{font-size:clamp(1rem,2vw,1.28rem);line-height:1.05;overflow-wrap:anywhere}.tier-stat-metrics{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tier-stat-metrics div{padding:10px 12px;border-radius:16px;background:var(--surface-muted);min-width:0}.tier-stat-metrics dt{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.tier-stat-metrics dd{margin:4px 0 0;font-size:.96rem;font-weight:800;overflow-wrap:anywhere}.match-history-list{grid-template-columns:1fr}.match-history-item{padding:14px 16px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center}.match-history-copy{min-width:0;display:grid;gap:2px}.match-history-copy strong,.match-history-copy p,.match-history-metrics span,.hub-preview-metrics span{overflow-wrap:anywhere}.match-history-metrics{justify-content:flex-end;flex-wrap:wrap}.catalog-card{border-radius:22px;height:100%;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.catalog-card.is-active,.catalog-card:hover{transform:translateY(-1px)}.catalog-card-link{position:relative;overflow:hidden;display:grid;grid-template-rows:auto auto auto;gap:12px;height:100%;padding:14px;border-radius:22px;border:1px solid var(--library-card-border);background:var(--library-card-bg);box-shadow:var(--shadow-soft);transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.catalog-card--daily .catalog-card-link{touch-action:manipulation;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.catalog-card-link:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(160deg,rgb(255 255 255 / 4%),transparent 42%);pointer-events:none}.catalog-card--blindfolded .catalog-card-link{border-color:color-mix(in srgb,var(--primary) 28%,var(--library-card-border));background:var(--library-card-blind-bg)}.catalog-card.is-active .catalog-card-link,.catalog-card:hover .catalog-card-link,.catalog-card-link:focus-visible{border-color:var(--library-feature-border);box-shadow:var(--library-feature-shadow)}.catalog-card-meta{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;flex-wrap:wrap}.catalog-card-mode,.catalog-card-status{border-radius:999px;padding:4px 9px;font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;line-height:1.2}.catalog-card-mode{padding-left:0;border-radius:0;background:none;color:var(--muted)}.catalog-card--blindfolded .catalog-card-mode{color:var(--primary-strong)}.catalog-card-status.status-new{background:#2c766f17;color:var(--primary-strong)}.catalog-card-status.status-started{background:#bf69441a;color:var(--secondary)}.catalog-card-status.status-completed{background:#2c766f1f;color:var(--primary-strong)}.catalog-card-copy{display:grid;align-content:start;gap:4px}.catalog-card-copy h3{margin:0;font-size:1rem;line-height:1.2}.catalog-card-size{color:var(--muted);font-size:.8rem;font-weight:700}.catalog-card-copy p,.hub-preview-panel p,.guide-card p,.how-to-play p,.static-section p,.tutorial-note-card p,.faq-tutorial-cta p,.tutorial-demo-copy p,.onboarding-copy p,.challenge-banner span{margin:0;color:var(--muted);line-height:1.6}.hub-preview-panel{padding:22px;display:grid;gap:14px;background:var(--surface-strong);border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow-soft)}.preview-board{display:grid;gap:1px;aspect-ratio:1 / 1;border-radius:18px;overflow:hidden;background:#1d252d1f}.preview-board-card{width:min(100%,142px);margin-inline:0 auto}.catalog-card--blindfolded .preview-board-card{width:min(100%,150px)}.preview-board-feature{width:min(100%,320px)}.preview-board-feature--inline{width:min(100%,240px)}.preview-board-feature--sheet{width:min(100%,260px);margin-inline:auto}.random-chooser{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:18px;align-items:start}.random-chooser-main,.random-launch-spotlight{border:1px solid var(--library-card-border);border-radius:24px;background:var(--library-row-bg);box-shadow:var(--shadow-soft)}.random-chooser-main{display:grid;gap:18px;padding:18px}.random-launch-inline{display:none}.random-selector-block{display:grid;gap:12px}.random-selector-heading{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.random-tier-group{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.random-tier-toggle{display:grid;gap:6px;justify-items:start;min-height:84px;padding:14px;border:1px solid var(--library-card-border);border-radius:18px;background:var(--library-card-bg);color:var(--text);cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease}.random-tier-toggle:hover,.random-tier-toggle:focus-visible{transform:translateY(-1px);border-color:var(--library-feature-border);box-shadow:var(--library-feature-shadow)}.random-tier-toggle.is-active{border-color:color-mix(in srgb,var(--primary) 42%,var(--library-card-border));background:var(--library-feature-bg);box-shadow:var(--library-feature-shadow)}.random-tier-name{font-size:1rem;font-weight:800}.random-tier-size{display:inline-flex;align-items:center;min-height:26px;padding:4px 9px;border-radius:999px;background:var(--library-size-chip-bg);color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.08em}.random-launch-heading{display:flex;align-items:center;gap:10px;justify-content:space-between}.random-launch-heading h3{margin:0;font-size:1.12rem}.random-launch-size{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:4px 10px;border-radius:999px;background:var(--library-size-chip-bg);color:var(--muted);font-size:.74rem;font-weight:800;letter-spacing:.08em}.random-launch-summary{margin:0;color:var(--muted);line-height:1.5}.random-launch-meta{display:flex;flex-wrap:wrap;gap:8px}.random-launch-pill{display:inline-flex;align-items:center;min-height:28px;padding:5px 10px;border-radius:999px;background:color-mix(in srgb,var(--primary) 14%,var(--library-size-chip-bg));color:var(--primary-strong);font-size:.74rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.random-mode-label,.random-selected-mode{margin:0;font-size:.74rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.random-mode-label{color:var(--muted)}.random-selected-mode{color:var(--text)}.random-mode-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:6px;border-radius:22px;background:var(--library-mode-group-bg);border:1px solid var(--library-card-border)}.random-mode-toggle{position:relative;display:grid;gap:2px;justify-items:start;border:1px solid transparent;border-radius:18px;min-height:60px;padding:11px 14px 11px 16px;background:transparent;color:var(--muted);font-weight:800;cursor:pointer;transition:background .16s ease,color .16s ease,transform .16s ease,border-color .16s ease,box-shadow .16s ease}.random-mode-toggle:before{content:"";position:absolute;top:14px;right:14px;width:10px;height:10px;border-radius:999px;background:#ffffff24;box-shadow:inset 0 0 0 1px #ffffff0f}.random-mode-toggle.is-active{border-color:color-mix(in srgb,var(--secondary) 32%,var(--library-card-border));background:linear-gradient(180deg,#fff8f3fa,#ece0d5f5);color:#241d19;box-shadow:0 12px 24px #0000001f,inset 0 1px #ffffffe0}.random-mode-toggle--blindfolded.is-active{border-color:color-mix(in srgb,var(--primary) 42%,var(--library-card-border));background:radial-gradient(circle at top left,rgb(127 213 202 / 24%),transparent 44%),linear-gradient(180deg,#264542f5,#1c3431fa);color:#e7fbf8;box-shadow:0 16px 28px #1236323d,inset 0 1px #ffffff1f}.random-mode-toggle.is-active:before{background:var(--secondary);box-shadow:0 0 0 4px #f09b7329}.random-mode-toggle--blindfolded.is-active:before{background:#8ff0e4;box-shadow:0 0 0 4px #7fd5ca2e}.random-mode-name{font-size:.94rem;line-height:1.1}.random-mode-hint{font-size:.72rem;font-weight:700;color:inherit;opacity:.78}.random-launch-spotlight{display:grid;gap:14px;padding:20px;align-content:start}.random-launch-mode-copy{margin:0;color:var(--muted);line-height:1.55}.random-launch-mode-copy strong{color:var(--text)}.random-launch-go{width:100%;justify-content:center}.daily-peek-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;align-items:end;padding:16px;background:var(--library-peek-backdrop);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.daily-peek-sheet{position:relative;width:min(100%,520px);margin:0 auto;padding:28px 20px 20px;display:grid;gap:12px;border-radius:28px 28px 20px 20px;border:1px solid var(--library-feature-border);background:var(--library-peek-bg);box-shadow:var(--library-feature-shadow);overscroll-behavior:contain;touch-action:pan-y}.daily-peek-close{justify-self:end;border:0;background:none;color:var(--muted);font-weight:800;cursor:pointer}.daily-peek-handle{position:absolute;top:10px;left:50%;width:58px;height:5px;border-radius:999px;transform:translate(-50%);background:#1d252d2e}.hub-side-panel .stats-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hub-side-panel .tier-stats-grid{grid-template-columns:1fr}.preview-board-cell{position:relative;background:color-mix(in srgb,var(--surface-strong) 82%,white)}.preview-board-clue{position:absolute;inset:var(--preview-clue-inset, 12%);border-radius:8px;display:grid;place-items:center;color:#f8fafc;box-shadow:0 8px 18px #0f172a33}.preview-board-clue-size{position:absolute;top:2px;left:5px;font-size:var(--preview-clue-number-size, .62rem);font-weight:800}.preview-board-shape{width:var(--preview-icon-size, 14px);height:var(--preview-icon-size, 14px)}.preview-board--size-7 .preview-board-clue-size,.preview-board--size-9 .preview-board-clue-size,.puzzle-route-shell .site-footer{display:none}.puzzle-shell{min-height:calc(100dvh - 110px);grid-template-rows:auto 1fr}.puzzle-topbar{padding:18px 20px;display:grid;grid-template-columns:minmax(0,1.15fr) auto;gap:18px;align-items:end}.puzzle-mobile-summary{display:none}.puzzle-topbar-copy{display:grid;gap:6px}.puzzle-pill-grid{display:grid;grid-template-columns:repeat(2,minmax(112px,1fr));gap:10px;margin:0}.puzzle-pill-grid div{padding:12px 14px;border-radius:18px;border:1px solid var(--border);background:var(--surface-muted)}.puzzle-pill-grid dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.puzzle-pill-grid dd{margin:4px 0 0;font-size:1.05rem;font-weight:800}.puzzle-pill-grid--mobile{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.puzzle-quicknav{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:12px;padding:8px 0 0}.quicknav-group{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.quicknav-group--blindfolded{position:relative;padding-left:12px}.quicknav-group--blindfolded:before{content:"";position:absolute;left:0;top:5px;bottom:5px;width:1px;background:linear-gradient(180deg,#2c766f00,#2c766f57,#2c766f00)}.quicknav-label{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-right:2px}.quicknav-btn{padding:6px 12px;border-radius:999px;font-size:.78rem;font-weight:700;border:1px solid var(--border);background:var(--surface-strong);color:var(--text);cursor:pointer;transition:background .14s ease,border-color .14s ease,transform .12s ease}.quicknav-btn:hover{background:var(--surface-muted);border-color:color-mix(in srgb,var(--primary) 36%,var(--border));transform:translateY(-1px)}.quicknav-btn--blindfolded{border-color:color-mix(in srgb,var(--primary) 24%,var(--border));background:linear-gradient(135deg,rgb(44 118 111 / 16%),transparent 60%),var(--surface-strong);color:color-mix(in srgb,var(--primary-strong) 88%,white)}.quicknav-btn--blindfolded:hover{background:linear-gradient(135deg,rgb(44 118 111 / 22%),transparent 62%),var(--surface-muted);border-color:color-mix(in srgb,var(--primary) 48%,var(--border));box-shadow:0 10px 22px #2c766f1f}.quicknav-btn.is-active{background:color-mix(in srgb,var(--primary) 14%,var(--surface-strong));border-color:color-mix(in srgb,var(--primary) 48%,var(--border));color:var(--primary-strong)}.quicknav-btn--blindfolded.is-active{background:linear-gradient(135deg,rgb(44 118 111 / 26%),transparent 58%),color-mix(in srgb,var(--primary) 16%,var(--surface-strong));border-color:color-mix(in srgb,var(--primary) 60%,var(--border));box-shadow:inset 0 1px #ffffff14,0 12px 24px #2c766f24}.puzzle-stage-layout{display:grid;grid-template-columns:minmax(0,auto) minmax(280px,360px);gap:16px;align-items:start}.puzzle-stage-stack{display:grid;gap:12px}.puzzle-stage-panel,.puzzle-actions-panel,.puzzle-guide-rail,.mobile-guide-sheet{padding:16px}.puzzle-stage-panel{display:grid;gap:12px}.puzzle-mobile-summary{padding:14px 16px 16px;border-radius:24px;border:1px solid color-mix(in srgb,var(--primary) 20%,var(--border));background:radial-gradient(circle at top right,rgb(44 118 111 / 10%),transparent 34%),linear-gradient(180deg,color-mix(in srgb,var(--surface-strong) 96%,white),color-mix(in srgb,var(--surface) 98%,black));box-shadow:var(--shadow-soft)}.puzzle-mobile-summary-copy{display:grid;gap:4px}.puzzle-mobile-summary-copy h1{margin:0;font-family:var(--font-display);font-size:clamp(1.5rem,6vw,2.2rem);line-height:.98;letter-spacing:-.04em}.puzzle-mobile-switcher{display:grid;gap:14px;padding:16px;border-radius:20px;border:1px solid color-mix(in srgb,var(--primary) 22%,var(--border));background:radial-gradient(circle at top right,rgb(44 118 111 / 14%),transparent 36%),linear-gradient(160deg,color-mix(in srgb,var(--surface-strong) 95%,white),color-mix(in srgb,var(--surface) 96%,black));box-shadow:var(--shadow-soft)}.puzzle-mobile-session-panel{display:grid;gap:14px;padding:16px;border-radius:20px;border:1px solid var(--border);background:color-mix(in srgb,var(--surface-strong) 92%,white);box-shadow:var(--shadow-soft)}.puzzle-mobile-switcher-copy{display:grid;gap:4px}.puzzle-mobile-switcher-copy p:last-child{margin:0;color:var(--muted);line-height:1.45}.puzzle-mobile-random-launch{display:grid;gap:12px}.puzzle-mobile-daily-strip{display:grid;gap:14px;padding:16px;border-radius:20px;border:1px solid var(--border);background:color-mix(in srgb,var(--surface-strong) 92%,white);box-shadow:var(--shadow-soft)}.puzzle-mobile-daily-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.puzzle-mobile-daily-row .quicknav-btn{justify-content:center}.puzzle-mobile-summary-links{display:flex;flex-wrap:wrap;gap:10px}.challenge-banner{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:12px 14px;border-radius:18px;background:linear-gradient(135deg,#2c766f1f,#bf69441a),var(--surface-strong);border:1px solid var(--border);box-shadow:var(--shadow-soft)}.challenge-pill,.puzzle-stage-board{width:min(100%,min(calc(100vw - 36px),calc(100dvh - 255px),640px));margin:0 auto}.puzzle-stage-board-shell{display:grid;grid-template-columns:minmax(0,1fr) min(44px,11vw);gap:min(10px,2vw);align-items:center}.puzzle-stage-board-main{position:relative;min-width:0}.puzzle-history-rail{display:grid;gap:min(10px,2vw);align-self:stretch;align-content:center}.play-board-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:14px;background:var(--play-board-overlay-bg);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);border-radius:20px;pointer-events:auto;z-index:2}.play-board-overlay--pending{padding:18px;background:radial-gradient(circle at top,rgb(44 118 111 / 18%),transparent 42%),linear-gradient(180deg,#0a0e129e,#0a0e12bd);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.play-board-ready{width:min(100%,540px);margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:16px 18px;border-radius:24px;border:1px solid var(--play-board-ready-border);background:var(--play-board-ready-bg);box-shadow:var(--play-board-ready-shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:auto}.play-board-copy{display:grid;gap:6px}.play-board-copy strong{font-family:var(--font-display);font-size:1.08rem;letter-spacing:.01em;color:var(--text)}.play-board-copy p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.5;max-width:34ch}.play-board-btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border-radius:999px;border:1px solid transparent;background:linear-gradient(135deg,var(--primary),var(--primary-strong));color:#fff;font-weight:800;font-size:.95rem;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:background .15s ease,transform .15s ease,box-shadow .15s ease,filter .15s ease;box-shadow:var(--play-board-button-shadow);pointer-events:auto}.play-board-btn:hover{transform:translateY(-1px);filter:saturate(1.05);box-shadow:var(--play-board-button-hover-shadow)}.play-board-btn:active{transform:translateY(0)}@media (max-width: 680px){.play-board-ready{grid-template-columns:1fr}.play-board-copy p{max-width:none}.play-board-btn{width:100%}}@media (max-width: 720px){.puzzle-stage-board-shell{grid-template-columns:1fr;gap:12px}.puzzle-history-rail{grid-auto-flow:column;justify-content:center;justify-self:center;align-self:auto;align-content:initial}}.onboarding-card{padding:18px;border-radius:24px;border:1px solid var(--border);box-shadow:var(--shadow-soft);display:grid;gap:16px;background:radial-gradient(circle at top right,rgb(44 118 111 / 13%),transparent 35%),linear-gradient(160deg,var(--surface-strong),var(--surface))}.onboarding-copy{display:grid;gap:8px}.onboarding-copy h2{margin:0;font-size:1.35rem}.onboarding-actions,.tutorial-hero-actions,.tutorial-controls-stack{display:grid;gap:20px;margin-top:8px;padding:20px;background:color-mix(in srgb,var(--surface-strong) 40%,transparent);border:1px solid var(--border);border-radius:24px}.tutorial-progress-section{display:grid;gap:8px}.tutorial-progress-meta{display:flex;justify-content:space-between;font-size:.76rem;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.tutorial-progress-track{height:6px;background:var(--surface-muted);border-radius:999px;overflow:hidden}.tutorial-progress-fill{height:100%;background:var(--primary);border-radius:999px;transition:width .2s ease}.tutorial-chapters-container{position:relative;margin:0}.tutorial-chapters-scroll{display:flex;flex-wrap:wrap;gap:8px;overflow:visible;padding:0}.tutorial-chapter-chip{flex:0 0 auto;padding:7px 14px;border-radius:999px;border:1px solid var(--border);background:var(--surface-strong);color:var(--muted);font-size:.82rem;font-weight:700;cursor:pointer;transition:all .16s ease}.tutorial-chapter-chip:hover{background:var(--surface-muted);color:var(--text)}.tutorial-chapter-chip.is-active{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 4px 12px #2c766f33}.tutorial-actions-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:center}.tutorial-playback-group{display:flex;gap:8px;flex-wrap:wrap}.playback-btn{display:inline-grid;place-items:center;width:44px;height:44px;padding:0;line-height:0;border-radius:50%;background:var(--surface-strong);border:1px solid var(--border);color:var(--text);box-shadow:var(--shadow-soft);transition:all .16s ease}.playback-btn svg{display:block;width:22px;height:22px;flex:none}.playback-btn:hover{transform:scale(1.05);background:var(--surface);border-color:var(--primary)}.tutorial-nav-group{display:flex;flex-wrap:wrap;gap:10px;min-width:0}.nav-btn{flex:1 1 220px;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;min-width:0;padding:0 14px;border-radius:999px;font-weight:800;font-size:.94rem;cursor:pointer;transition:all .16s ease}.prev-btn{background:var(--surface-strong);border:1px solid var(--border);color:var(--text)}.next-btn{background:var(--primary);border:1px solid transparent;color:#fff;box-shadow:0 8px 20px #2c766f3d}.nav-btn:hover:not(:disabled){transform:translateY(-1px)}.next-btn:hover:not(:disabled){background:var(--primary-strong)}.nav-btn:disabled{opacity:.4;cursor:not-allowed}.nav-btn svg{width:20px;height:20px}.board-grid{position:relative;display:grid;gap:2px;width:100%;background:#1d252d29;border-radius:20px;padding:2px;aspect-ratio:1 / 1;touch-action:none;-webkit-user-select:none;user-select:none}.board-cell{position:relative;background:color-mix(in srgb,var(--surface-strong) 88%,white);border-radius:10px;border:1px solid rgb(255 255 255 / 18%);touch-action:none;user-select:none;-webkit-user-select:none}.cell-clues{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;justify-content:center;align-items:center;z-index:1}.clue-badge{width:min(var(--clue-badge-size, 40px),calc(100% - 8px));height:min(var(--clue-badge-size, 40px),calc(100% - 8px));border-radius:12px;border:1px solid rgb(255 255 255 / 68%);display:grid;place-items:center;color:#f8fafc;box-shadow:0 10px 24px #0f172a3d;position:relative;overflow:hidden;padding:4px}.clue-badge--detail{width:58px;height:58px;border-radius:18px;padding:7px;flex:0 0 auto}.clue-badge:before{content:"";position:absolute;top:2px;right:2px;bottom:2px;left:2px;border-radius:9px;border:1px solid rgb(255 255 255 / 18%);pointer-events:none}.clue-badge--detail:before{top:3px;right:3px;bottom:3px;left:3px;border-radius:14px}.clue-number-pill{position:absolute;top:2px;left:2px;z-index:2;min-width:var(--clue-pill-size, 22px);height:var(--clue-pill-size, 22px);border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:var(--clue-number-size, .74rem);font-weight:900;line-height:1;letter-spacing:-.03em;color:#f8fafc;background:#0f172a85;border:1px solid rgb(255 255 255 / 42%);padding:0 6px;box-shadow:inset 0 1px #ffffff29}.clue-badge--detail .clue-number-pill{top:5px;left:5px;min-width:20px;height:20px;font-size:.68rem;padding:0 5px}.shape-icon{width:var(--clue-icon-size, 18px);height:var(--clue-icon-size, 18px);overflow:visible;fill:currentColor;stroke:none;filter:drop-shadow(0 1px 0 rgb(15 23 42 / 20%))}.clue-shape-icon{position:relative;top:4px}.clue-badge--detail .clue-shape-icon{top:10px;transform:scale(1.16)}.shape-icon .shape-outline-secondary{opacity:.78}.shape-icon .shape-outline-accent{opacity:.9}.drag-overlay{position:absolute;top:2px;right:2px;bottom:2px;left:2px;pointer-events:none;z-index:4}.drag-overlay-outline,.drag-overlay-cell{position:absolute;transition:border-color .18s ease,background-color .18s ease,opacity .18s ease,box-shadow .18s ease}.drag-overlay-outline{border:2px solid;border-radius:14px;box-shadow:0 0 0 1px #ffffff38}.drag-overlay-cell{border:2px solid;border-radius:8px;box-shadow:inset 0 0 0 1px #ffffff47,0 0 0 1px #0f172a2e}.drag-overlay-cell.is-valid{box-shadow:inset 0 0 0 1px #ffffff52,0 0 0 1px #2c766f2e,0 0 16px #2c766f38}.drag-overlay-outline.is-valid{box-shadow:inset 0 0 0 1px #ffffff47,0 0 0 1px #2c766f38,0 0 20px #2c766f2e}.dark .drag-overlay-cell.is-valid,html[data-theme=dark] .drag-overlay-cell.is-valid{box-shadow:inset 0 0 0 1px #ffffff6b,0 0 0 1px #7fd5ca47,0 0 22px #7fd5ca57}.dark .drag-overlay-outline.is-valid,html[data-theme=dark] .drag-overlay-outline.is-valid{box-shadow:inset 0 0 0 1px #ffffff5c,0 0 0 1px #7fd5ca4d,0 0 24px #7fd5ca3d}.drag-overlay-cell.is-invalid{box-shadow:inset 0 0 0 1px #ffffff47,0 0 0 1px #bf69442e,0 0 16px #bf69442e}.drag-overlay-outline.is-invalid{box-shadow:inset 0 0 0 1px #ffffff38,0 0 0 1px #bf694438,0 0 20px #bf69442e}.dark .drag-overlay-cell.is-invalid,html[data-theme=dark] .drag-overlay-cell.is-invalid{box-shadow:inset 0 0 0 1px #ffffff61,0 0 0 1px #f09b7347,0 0 22px #f09b734d}.dark .drag-overlay-outline.is-invalid,html[data-theme=dark] .drag-overlay-outline.is-invalid{box-shadow:inset 0 0 0 1px #ffffff52,0 0 0 1px #f09b7347,0 0 24px #f09b7338}.puzzle-status-strip{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;padding:12px 2px 0}.puzzle-status-strip strong,.inline-feedback,.puzzle-status-hint{font-weight:800}.puzzle-status-hint{color:var(--muted);transition:color .14s ease}.puzzle-status-hint.is-valid{color:var(--primary-strong)}.puzzle-status-hint.is-invalid{color:var(--secondary)}.puzzle-status-hint.is-pending{color:var(--primary-strong)}.action-bar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.mobile-guide-trigger{display:none}.puzzle-guide-rail{display:grid;gap:14px}.guide-card{padding:18px;display:grid;gap:14px}.guide-clue-row{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start;padding-top:6px}.guide-clue-row .clue-badge{margin-top:4px}.how-to-play{display:grid;gap:14px;padding:16px;border:1px solid var(--border);background:var(--surface-muted)}.how-to-play h2{margin:0 0 8px}.how-to-play ul{margin:12px 0;padding-left:0;display:grid;gap:6px;list-style:none}.how-to-play li{display:flex;align-items:center;gap:8px}.legend-shape-icon{color:var(--muted);width:18px;height:18px}.guide-link-button{display:inline-flex;align-items:center;justify-content:center;width:fit-content;border-radius:999px;border:1px solid var(--border);padding:10px 14px;font-weight:800;background:var(--surface-strong);box-shadow:var(--shadow-soft)}.mobile-guide-sheet{display:none;gap:14px}.mobile-guide-sheet.is-open{display:grid}.mobile-guide-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.completion-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;background:radial-gradient(circle at 20% 12%,rgb(44 118 111 / 26%),transparent 38%),radial-gradient(circle at 80% 8%,rgb(191 105 68 / 20%),transparent 34%),linear-gradient(180deg,#090c0f57,#090c0f9e),#12141694}.completion-confetti{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;contain:layout paint}.completion-confetti-piece{position:absolute;top:-12vh;opacity:0;will-change:transform,opacity;backface-visibility:hidden;transform:translate3d(0,-12vh,0);animation-name:confetti-fall;animation-timing-function:cubic-bezier(.12,.8,.22,1);animation-iteration-count:infinite;animation-fill-mode:none}.completion-panel{position:relative;z-index:1;overflow:hidden;display:grid;gap:18px;padding:clamp(20px,3vw,28px);border-radius:30px;border:1px solid var(--completion-panel-border);box-shadow:0 24px 60px #090c0f3d,inset 0 1px #ffffff2e;background:var(--completion-panel-bg),var(--surface)}.completion-panel--overlay{width:min(640px,calc(100vw - 24px));text-align:center}.completion-panel--inline{text-align:left;background:var(--completion-panel-inline-bg),var(--surface)}.completion-panel-glow{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at top,var(--completion-glow-top),transparent 34%),radial-gradient(circle at bottom right,var(--completion-glow-bottom),transparent 36%);pointer-events:none}.completion-pending-notice{position:relative;overflow:hidden;display:grid;gap:14px;padding:18px 20px;border-radius:24px;border:1px solid var(--completion-pending-border);background:var(--completion-pending-bg);box-shadow:0 18px 42px #090c0f29,inset 0 1px #ffffff24}.completion-pending-notice:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at top,rgb(255 255 255 / 26%),transparent 38%),linear-gradient(135deg,transparent,rgb(255 255 255 / 6%),transparent);pointer-events:none}.completion-pending-notice--board{width:min(100%,360px);justify-items:center;text-align:center}.completion-pending-notice--banner{grid-template-columns:auto minmax(0,1fr);align-items:center;text-align:left}.completion-pending-sigil{position:relative;width:72px;aspect-ratio:1;display:grid;place-items:center}.completion-pending-notice--banner .completion-pending-sigil{width:54px}.completion-pending-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:1px solid var(--completion-pending-ring);animation:completion-ring 1.8s ease-in-out infinite}.completion-pending-ring--inner{top:12px;right:12px;bottom:12px;left:12px;animation-duration:1.35s;animation-direction:reverse}.completion-pending-core{width:16px;height:16px;border-radius:5px;background:linear-gradient(135deg,var(--completion-pending-core),var(--primary));box-shadow:0 0 0 10px #2c766f1f,0 0 20px #2c766f3d;transform:rotate(45deg);animation:completion-core 1.2s ease-in-out infinite}.completion-pending-copy{position:relative;z-index:1;display:grid;gap:6px}.completion-pending-copy strong{font-family:var(--font-display);font-size:clamp(1.18rem,2.8vw,1.5rem);line-height:1.05;letter-spacing:-.03em}.completion-pending-copy p{margin:0;color:var(--muted)}.completion-pending-eyebrow{margin:0;font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--primary)}.completion-pending-meta{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:8px}.completion-pending-notice--board .completion-pending-meta{justify-content:center}.completion-pending-notice--banner .completion-pending-meta{grid-column:1 / -1}.completion-pending-meta span{display:inline-flex;align-items:center;min-height:30px;padding:6px 12px;border-radius:999px;background:#ffffff47;border:1px solid color-mix(in srgb,var(--completion-pending-border) 82%,white);color:var(--primary-strong);font-size:.74rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.challenge-result-banner{display:grid;gap:4px;padding:12px 14px;border-radius:18px;border:1px solid var(--border)}.challenge-result-banner.result-beaten{background:#2c766f1f}.challenge-result-banner.result-missed{background:#bf69441a}.completion-title{margin:0;font-size:.82rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--primary)}.completion-time{margin:14px 0 8px;font-family:var(--font-display);font-size:clamp(2.4rem,8vw,3.4rem);line-height:1}.completion-subtitle{margin:0}.completion-stat-row{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.completion-panel--inline .completion-stat-row{justify-content:flex-start}.completion-stat-row span{display:inline-flex;align-items:center;min-height:32px;padding:6px 12px;border-radius:999px;border:1px solid var(--completion-chip-border);background:var(--completion-chip-bg);color:var(--primary-strong);font-size:.76rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.completion-link-row{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.completion-panel--inline .completion-link-row{justify-content:flex-start}.completion-link-chip{display:inline-flex;align-items:center;min-height:38px;padding:8px 14px;border-radius:999px;border:1px solid var(--completion-link-border);background:var(--completion-link-bg);color:var(--text);text-decoration:none;font-weight:700;transition:transform .14s ease,border-color .14s ease,background .14s ease}.completion-link-chip:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--primary) 40%,var(--border));background:var(--completion-link-hover-bg)}.completion-actions,.completion-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.completion-actions button,.completion-action-grid button{min-height:48px}.completion-action-grid{gap:16px;text-align:left}.completion-share-col,.completion-play-col{display:grid;gap:8px}.completion-share-col button,.completion-play-col button{display:inline-flex;align-items:center;justify-content:center;gap:8px}.completion-col-label{margin:0;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.completion-celebration{position:relative;z-index:1;text-align:center;display:grid;gap:12px}.completion-panel--inline .completion-celebration{text-align:left}.completion-share-status{margin:8px 0 0;font-size:.82rem;color:var(--primary);font-weight:700;text-align:center}.completion-close-btn{margin-top:12px;width:100%;padding:12px;border-radius:999px;font-weight:700;border:1px solid var(--border);background:var(--surface-muted);color:var(--muted);cursor:pointer;transition:background .14s ease,color .14s ease}.completion-close-btn:hover{background:var(--surface-strong);color:var(--text)}.completion-next-challenge{position:relative;z-index:1;display:grid;gap:8px;padding:14px 16px;background:color-mix(in srgb,var(--primary) 8%,var(--surface));border:1px solid color-mix(in srgb,var(--primary) 28%,var(--border));border-radius:12px}.completion-next-challenge-eyebrow{margin:0;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--primary)}.completion-next-challenge-teaser{margin:0;font-size:.88rem;color:var(--muted)}.completion-next-challenge-btn{width:100%;margin-top:2px}.static-page{padding:24px 0 12px}.static-section-list{display:grid;gap:18px}.static-section{padding:20px 22px}.loading-panel{text-align:center;padding:28px}.page-error{font-weight:700}.tutorial-shell{display:grid;gap:20px}.tutorial-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,300px);gap:18px;align-items:end;padding:clamp(24px,4vw,40px);border-radius:34px;border:1px solid var(--border);background:radial-gradient(circle at top left,rgb(44 118 111 / 16%),transparent 34%),radial-gradient(circle at bottom right,rgb(191 105 68 / 18%),transparent 30%),var(--surface);box-shadow:var(--shadow)}.tutorial-hero-copy{display:grid;gap:10px}.tutorial-manifesto{display:grid;gap:10px;align-self:stretch}.tutorial-manifesto span{display:grid;place-items:center;min-height:92px;padding:16px;border-radius:24px;border:1px solid rgb(68 55 42 / 22%);background:#ffffff8c;font-weight:800;text-align:center}.dark .tutorial-manifesto span,html[data-theme=dark] .tutorial-manifesto span{background:#ffffff14;border-color:#ffffff24}.tutorial-layout{display:grid;grid-template-columns:minmax(0,1.42fr) minmax(300px,.78fr);gap:18px;align-items:start}.tutorial-demo-card,.tutorial-note-card,.faq-tutorial-cta{border-radius:28px;border:1px solid var(--border);box-shadow:var(--shadow-soft)}.tutorial-demo-card{padding:clamp(18px,3vw,26px);display:grid;gap:18px;background:linear-gradient(160deg,rgb(44 118 111 / 10%),transparent 36%),linear-gradient(0deg,var(--surface),var(--surface));overflow:hidden}.tutorial-demo-stage{display:grid;grid-template-columns:minmax(0,1.38fr) minmax(280px,.92fr);gap:20px;align-items:start}.tutorial-demo-board-panel{display:grid;gap:10px;align-content:start}.tutorial-demo-board-frame{position:relative;width:min(100%,720px);margin:0 auto;padding:clamp(18px,2.4vw,24px) clamp(14px,2.8vw,20px);border-radius:30px;background:radial-gradient(circle at top,rgb(40 168 224 / 12%),transparent 34%),linear-gradient(180deg,#ffffff5c,#ffffff14),color-mix(in srgb,var(--surface) 92%,white);border:1px solid color-mix(in srgb,var(--border) 82%,white);box-shadow:inset 0 1px #ffffff7a,0 16px 44px #0f172a1a}.tutorial-demo-board{width:min(100%,680px);margin:0 auto}.tutorial-stage-callout{display:grid;gap:6px;padding:13px 16px;border-radius:18px;font-size:.94rem;line-height:1.4;font-weight:700;border:1px solid transparent;box-shadow:0 10px 26px #0f172a14}.tutorial-stage-callout p{margin:0}.tutorial-stage-callout-kicker{display:inline-flex;width:fit-content;align-items:center;gap:6px;padding:4px 9px;border-radius:999px;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;background:#0f172a14}.tutorial-stage-callout.is-info{color:#173040;background:#fcfaf4e0;border-color:#d0a53042}.tutorial-stage-callout.is-valid{color:#113528;background:#eafbf3e5;border-color:#34b77947}.tutorial-stage-callout.is-invalid{color:#5a2418;background:#ffefe9eb;border-color:#bf694442}.tutorial-demo-copy{display:grid;min-width:0;align-content:start;gap:12px}.tutorial-step-header{display:grid;gap:6px}.tutorial-step-header strong,.tutorial-note-card h2,.faq-tutorial-cta h2{margin:0;font-family:var(--font-display);font-size:clamp(1.5rem,3vw,2.2rem);line-height:1}.tutorial-focus-clue{display:flex;gap:12px;align-items:center;padding:12px 0 0;border-top:1px solid var(--border)}.tutorial-focus-clue-copy{display:grid;gap:4px}.tutorial-focus-clue-copy p{margin:0}.tutorial-focus-label{font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.tutorial-step-description{font-size:1.02rem;margin:0}.tutorial-controls-stack{margin-top:0;gap:16px;padding:18px}.tutorial-progress-meta{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.84rem;font-weight:700;color:var(--muted)}.tutorial-progress-track{position:relative;height:10px;border-radius:999px;overflow:hidden;background:color-mix(in srgb,var(--surface-strong) 86%,white);border:1px solid color-mix(in srgb,var(--border) 86%,white)}.tutorial-progress-fill{position:absolute;inset:0 auto 0 0;border-radius:inherit;background:linear-gradient(90deg,var(--primary),#6bc6ef);box-shadow:0 0 18px #28a8e047}.tutorial-stepper{display:flex;flex-wrap:wrap;gap:10px}.tutorial-step-pill{border:1px solid var(--border);border-radius:999px;padding:10px 14px;background:color-mix(in srgb,var(--surface-strong) 88%,white);color:var(--muted);font-weight:700;cursor:pointer;transition:background-color .16s ease,color .16s ease,transform .16s ease,border-color .16s ease}.tutorial-step-pill:hover{transform:translateY(-1px)}.tutorial-step-pill.is-active{background:linear-gradient(135deg,var(--primary),var(--primary-strong));color:#fff;border-color:transparent}.tutorial-status-strip{padding-top:0}.tutorial-pointer{position:absolute;z-index:8;width:30px;height:38px;color:#13202a;filter:drop-shadow(0 6px 10px rgb(15 23 42 / 22%));transform:translate(-18%,-16%) scale(1) rotate(-3deg);transition:left .62s cubic-bezier(.16,1,.3,1),top .62s cubic-bezier(.16,1,.3,1),transform .24s ease;pointer-events:none;will-change:left,top,transform}.tutorial-pointer svg{display:block;width:100%;height:100%}.tutorial-pointer.is-pressed{transform:translate(-12%,-12%) scale(.94) rotate(2deg)}.tutorial-notes{display:grid;gap:18px;width:100%;max-width:420px}.tutorial-note-card,.faq-tutorial-cta{padding:20px;display:grid;gap:12px;background:var(--surface)}.tutorial-checklist{display:grid;gap:10px;margin:0;padding-left:18px;color:var(--muted)}@keyframes confetti-fall{0%{opacity:0;transform:translate3d(var(--drift-start, 0px),-12vh,0) rotate(var(--rot-start, 0deg)) scale(.9)}14%{opacity:1}to{opacity:0;transform:translate3d(var(--drift-end, 0px),108vh,0) rotate(var(--rot-end, 360deg)) scale(1.04)}}@keyframes completion-ring{0%,to{opacity:.28;transform:scale(.88)}50%{opacity:.9;transform:scale(1.04)}}@keyframes completion-core{0%,to{transform:rotate(45deg) scale(.92)}50%{transform:rotate(45deg) scale(1.08)}}@media (prefers-reduced-motion: reduce){.completion-confetti{display:none}.completion-confetti-piece,.completion-pending-ring,.completion-pending-core{animation:none}}@media (max-width: 1080px){.hub-layout,.home-launcher,.tutorial-layout,.tutorial-demo-stage,.tutorial-hero,.hub-daily-feature,.random-chooser{grid-template-columns:1fr}.tutorial-notes{max-width:none}.hub-rail,.hub-preview-panel{position:static}}@media (max-width: 960px){.puzzle-stage-layout{grid-template-columns:1fr}.hub-daily-feature,.puzzle-topbar{display:none}.puzzle-mobile-summary{display:grid;gap:12px}.puzzle-guide-rail{display:none}.mobile-guide-trigger{display:inline-flex;justify-content:center}.puzzle-stage-board{width:min(100%,min(calc(100vw - 28px),calc(100dvh - 188px),560px))}}@media (max-width: 620px){.home-launcher{align-items:start;min-height:0;padding-block:12px 24px}.home-launcher-card{grid-template-columns:1fr;grid-template-areas:"main" "board";text-align:center}.home-launcher-card h1{font-size:clamp(1.9rem,7vw,2.6rem)}.home-board-preview{width:160px;margin:4px auto 0}.home-card-main .home-launcher-actions{justify-content:center}.home-card-main .page-summary{margin-inline:auto}.home-board-preview .preview-board-clue-size{display:none}}@media (max-width: 720px){.site-header,.puzzle-route-header{flex-direction:column;align-items:flex-start}.site-nav{width:100%}.hub-section{padding:18px}.catalog-grid,.catalog-grid--continue,.catalog-grid--daily,.catalog-grid--archive{grid-template-columns:1fr 1fr}.random-mode-group{width:100%}.random-tier-group{grid-template-columns:1fr 1fr}.random-chooser-main,.random-launch-spotlight{padding:16px}.random-launch-spotlight{order:2;position:static;padding:16px}.random-mode-toggle,.random-launch-go{width:100%;justify-content:center}.random-mode-toggle{justify-items:start}.puzzle-pill-grid,.action-bar,.completion-actions,.completion-action-grid{grid-template-columns:1fr}.completion-link-row,.completion-stat-row{justify-content:flex-start}.completion-pending-notice--banner{grid-template-columns:1fr;justify-items:flex-start}.completion-pending-notice--banner .completion-pending-meta{justify-content:flex-start}.puzzle-topbar{padding:16px}.puzzle-stage-panel,.puzzle-actions-panel,.mobile-guide-sheet,.puzzle-mobile-summary{padding:14px}}@media (max-width: 560px){.random-selector-heading{display:grid;gap:4px}.random-tier-group,.random-mode-group{grid-template-columns:1fr 1fr}.random-chooser-main{gap:14px;padding:14px}.random-chooser-main,.random-launch-spotlight{border:0;background:none;box-shadow:none;padding:0}.random-mode-hint{display:none}.random-tier-toggle{grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;min-height:52px;padding:10px 12px}.random-mode-toggle{min-height:48px;padding:10px 14px;align-items:center}.random-mode-toggle:before{top:50%;right:12px;transform:translateY(-50%)}.random-launch-spotlight{gap:10px;display:none}.random-launch-spotlight .card-eyebrow,.random-launch-summary,.random-launch-mode-copy{display:none}.random-launch-inline{display:grid;gap:10px;padding-top:2px}.random-launch-heading h3{font-size:1rem}.random-launch-size,.random-launch-pill,.random-tier-size{min-height:26px;font-size:.68rem;letter-spacing:.06em}.tutorial-actions-row{grid-template-columns:1fr}.tutorial-playback-group,.tutorial-nav-group{width:100%}.nav-btn{flex-basis:100%}.tutorial-stage-callout{font-size:.88rem}.tutorial-progress-meta{font-size:.8rem}.puzzle-mobile-daily-row{grid-template-columns:1fr 1fr}}@media (max-width: 480px){.site-header,.site-footer,.site-main,.puzzle-route-header{width:min(1120px,calc(100vw - 18px))}.home-launcher{min-height:calc(100dvh - 132px)}.home-launcher-card,.hub-section,.hub-side-panel,.completion-card-modal,.completion-pending-notice{border-radius:22px}.hub-side-panel .stats-summary-grid,.match-history-item,.catalog-grid,.catalog-grid--continue,.catalog-grid--daily,.catalog-grid--archive{grid-template-columns:1fr}.daily-peek-backdrop{padding:8px}.daily-peek-sheet{width:100%;padding-inline:16px}.puzzle-stage-board{width:min(100%,min(calc(100vw - 18px),calc(100dvh - 176px),420px))}.puzzle-mobile-switcher,.puzzle-mobile-session-panel,.puzzle-mobile-daily-strip{padding:14px}.preview-board-card{max-width:none}}.board-cell.is-misplaced{background-color:color-mix(in srgb,var(--secondary) 15%,transparent)!important;border:2px solid var(--secondary)!important;animation:shake-patch .5s cubic-bezier(.36,.07,.19,.97) both;z-index:3}@keyframes shake-patch{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(2px,0,0)}30%,50%,70%{transform:translate3d(-3px,0,0)}40%,60%{transform:translate3d(3px,0,0)}}
