:root{color-scheme:light;--font-sans: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "SFMono-Regular", Consolas, monospace;--bg-primary: #f7f5f0;--bg-secondary: #efece3;--text-main: #1a1e21;--text-muted: #5c6165;--border-grid: #d5d1c5;--night-bg-primary: #0f121a;--night-bg-secondary: #171b26;--night-text-main: #e2e8f0;--night-text-muted: #94a3b8;--night-border-grid: #354154;--accent-glowing: #00f5d4;--accent-error: #b8003c;--accent-marker: #7b2cbf;--accent-constraint: #006b61;--shadow-subtle: rgba(0, 0, 0, .05);--puzzle-fill: #28343c;--puzzle-lit-surface: #d8f2ec;--puzzle-lamp: #147a70;--puzzle-wall-surface: #62696c;--puzzle-wall-text: #fffdf8;--puzzle-wall-done-text: #d6dddb;--puzzle-clue-surface: var(--surface-raised);--puzzle-line-glow: 7;--radius-minimal: 4px;--radius-control: 6px;--border-thickness: 1px;--gameplay-line-width: 3px;--surface-page: var(--bg-primary);--surface-panel: var(--bg-secondary);--surface-raised: #fffdf8;--surface-control: #faf8f2;--text-primary: var(--text-main);--text-secondary: var(--text-muted);--border-subtle: #dedacf;--grid-line: var(--border-grid);--focus-ring: #00766c;--header-height: 48px;--community-strip-height: 50px;--bottom-bar-height: 56px;--community-rail-width: 160px;--right-shelf-width: 280px;--game-max: min(72vh, 680px);--page-gutter: clamp(10px, 2vw, 24px);--gap-page: clamp(12px, 1.6vw, 22px);--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px}@supports (height: 1svh){:root{--game-max: min(72svh, 680px)}}html.is-theme-switching,html.is-theme-switching *{transition:none!important}:root[data-theme=night]{color-scheme:dark;--surface-page: var(--night-bg-primary);--surface-panel: var(--night-bg-secondary);--surface-raised: #1d2330;--surface-control: #121722;--text-primary: var(--night-text-main);--text-secondary: var(--night-text-muted);--border-subtle: #273142;--grid-line: var(--night-border-grid);--accent-glowing: #3dd6c0;--accent-error: #ff4f7b;--accent-marker: #c084fc;--accent-constraint: #5eead4;--shadow-subtle: rgba(0, 0, 0, .28);--focus-ring: #5eead4;--puzzle-fill: #536176;--puzzle-lit-surface: #173b3a;--puzzle-lamp: var(--accent-glowing);--puzzle-wall-surface: #3d4a5d;--puzzle-wall-text: var(--night-text-main);--puzzle-wall-done-text: #b5c1cf;--puzzle-clue-surface: #222b3a;--puzzle-line-glow: 3}*{box-sizing:border-box}[inert]{pointer-events:none}[hidden]{display:none!important}html{min-width:320px;background:var(--surface-page);scrollbar-color:var(--border-subtle) var(--surface-page);touch-action:manipulation}body{min-height:100vh;min-height:100svh;margin:0;overflow-x:hidden;touch-action:manipulation;background:var(--surface-page);color:var(--text-primary);font-family:var(--font-sans);font-size:15px;line-height:1.45;letter-spacing:0;transition:background .2s ease,color .2s ease}::selection{background:color-mix(in srgb,var(--accent-glowing) 28%,transparent);color:var(--text-primary)}button,select{font:inherit}button{min-height:36px;touch-action:manipulation}a{color:inherit;text-decoration:none;touch-action:manipulation}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:var(--space-3);top:var(--space-3);z-index:80;padding:var(--space-2) var(--space-3);border:var(--border-thickness) solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface-raised);color:var(--text-primary);font-weight:600;text-decoration:none;transform:translateY(-160%);transition:transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease}.skip-link:focus,.skip-link:focus-visible{transform:translateY(0)}.tabular,.timer{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"zero" 1}.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;height:calc(var(--header-height) + var(--safe-top));padding-top:var(--safe-top);padding-inline:var(--page-gutter);border-bottom:var(--border-thickness) solid var(--border-subtle);background:var(--surface-page);background:color-mix(in srgb,var(--surface-page) 92%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}html.is-standalone a[href="/install/"]{display:none}@media(display-mode:standalone){a[href="/install/"]{display:none}}.brand,.header-actions,.language-picker,.theme-toggle{display:inline-flex;align-items:center}.brand{gap:var(--space-2);min-width:0;font-weight:700}.brand-mark{display:block;width:38px;height:24px;flex:0 0 38px;transform:translateY(.5px);background:url(assets/brand-mark-light.svg) center / contain no-repeat}.brand-wordmark{line-height:1;letter-spacing:-.01em}:root[data-theme=night] .brand-mark{background-image:url(assets/brand-mark-dark.svg)}.header-actions{gap:var(--space-2)}.language-picker select{height:32px;min-width:124px;border:var(--border-thickness) solid var(--border-subtle);border-radius:var(--radius-minimal);background:var(--surface-control);color:var(--text-primary);cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}.theme-toggle{width:54px;height:32px;justify-content:center;padding:0;border:var(--border-thickness) solid var(--border-subtle);border-radius:999px;background:var(--surface-control);color:var(--text-primary);cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}.theme-toggle__track{position:relative;width:42px;height:22px}.theme-toggle__track:before,.theme-toggle__track:after{position:absolute;top:7px;width:8px;height:8px;border-radius:50%;content:""}.theme-toggle__track:before{left:4px;background:#f2b705}.theme-toggle__track:after{right:5px;background:var(--night-text-main);box-shadow:-3px 0 0 var(--surface-control)}.theme-toggle__thumb{position:absolute;top:2px;left:1px;width:18px;height:18px;border-radius:50%;background:var(--text-primary);box-shadow:0 1px 4px var(--shadow-subtle);transition:transform .2s ease,background .2s ease}:root[data-theme=night] .theme-toggle__thumb{transform:translate(21px)}.community-strip{display:none}.portal-layout{display:grid;gap:var(--space-4);width:100%;max-width:100%;min-height:calc(100vh - var(--header-height) - var(--safe-top));min-height:calc(100svh - var(--header-height) - var(--safe-top));padding:var(--space-4) var(--page-gutter) var(--space-6)}.portal-play{display:flex;flex-wrap:nowrap;gap:var(--gap-page);align-items:start;justify-content:center;width:100%;max-width:100%}.portal-layout .site-overview{margin-inline:calc(-1 * var(--page-gutter));width:calc(100% + 2 * var(--page-gutter))}.community-rail{position:sticky;top:calc(var(--header-height) + var(--space-4));flex:0 0 var(--community-rail-width);display:grid;place-items:center;width:var(--community-rail-width);height:min(600px,calc(100vh - var(--header-height) - var(--space-6)));height:min(600px,calc(100svh - var(--header-height) - var(--space-6)));border:var(--border-thickness) solid var(--border-subtle);border-radius:var(--radius-minimal);background:var(--surface-panel);color:var(--text-secondary);font-size:12px}.community-rail--growth{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:var(--space-3);overflow:auto}.growth-rail{display:grid;gap:var(--space-3);width:100%}.growth-block{display:grid;gap:var(--space-2);padding-bottom:var(--space-3);border-bottom:var(--border-thickness) solid var(--border-subtle)}.growth-block:last-child{border-bottom:0;padding-bottom:0}.growth-heading{margin:0;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary)}.growth-today{margin:0;font-family:var(--font-mono);font-size:13px;color:var(--text-primary);line-height:1.35}button.growth-today--action{display:block;width:100%;min-height:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--text-primary);font:inherit;font-family:var(--font-mono);font-size:13px;font-variant-numeric:tabular-nums;line-height:1.35;text-align:left;text-decoration:none;cursor:pointer;transition:color .2s ease}button.growth-today--action:hover{color:color-mix(in srgb,var(--accent-glowing) 55%,var(--text-primary))}.growth-today-detail,.growth-streak{margin:0;font-size:12px}.growth-streak{font-family:var(--font-mono);color:var(--text-primary)}.growth-action,.growth-link{display:block;width:100%;padding:var(--space-2);border:var(--border-thickness) solid var(--border-subtle);border-radius:var(--radius-minimal);background:var(--surface-control);color:var(--text-primary);font-size:12px;line-height:1.35;text-align:left;text-decoration:none;cursor:pointer;transition:background .2s,color .2s,border-color .2s}.growth-action:hover,.growth-link:hover{border-color:color-mix(in srgb,var(--accent-glowing) 50%,var(--border-subtle))}.growth-link--muted{background:transparent;border-color:transparent;color:var(--text-secondary);padding-inline:0}.growth-link--muted:hover{border-color:transparent;color:var(--text-primary)}.growth-strip{display:block;margin:0;padding:0 var(--space-3);width:100%;max-width:100%;border:0;background:transparent;color:var(--text-secondary);font-size:12px;line-height:1.2;text-align:center;text-decoration:none;cursor:default;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.growth-strip--action{cursor:pointer;color:var(--text-primary)}.community-strip--growth{padding-inline:var(--space-2)}.shelf-feedback{margin:var(--space-2) 0 0;font-size:12px;color:var(--text-secondary)}.shelf-feedback a{color:var(--text-primary)}.puzzle-survey{gap:var(--space-2);min-height:38px;padding:var(--space-2);border-style:solid;border-color:var(--border-subtle)}.puzzle-survey__prompt{margin:0;font-size:12px;color:var(--text-secondary);text-align:center}.puzzle-survey__actions{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:center}.puzzle-survey__chip{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:4px 10px;border:var(--border-thickness) solid var(--border-subtle);border-radius:var(--radius-minimal);background:var(--surface-control);color:var(--text-primary);font:inherit;font-size:11px;line-height:1.2;cursor:pointer;text-decoration:none;transition:background .2s,border-color .2s,color .2s}button.puzzle-survey__chip{min-height:28px}.puzzle-survey__chip:hover{border-color:color-mix(in srgb,var(--accent-glowing) 50%,var(--border-subtle))}.puzzle-survey.is-complete{min-height:24px;border-style:dashed}.puzzle-survey__thanks{margin:0;font-size:12px;color:var(--text-secondary);text-align:center}.game-column{display:grid;flex:0 1 var(--game-max);gap:var(--space-3);width:min(100%,var(--game-max));max-width:var(--game-max);min-width:0}.game-status-strip{display:flex;align-items:center;justify-content:space-between;min-height:36px;padding-inline:var(--space-1);color:var(--text-secondary)}.puzzle-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timer{color:var(--text-primary);font-weight:700}.board-status{min-height:28px;margin:0 0 var(--space-2);padding:6px var(--space-2);border:var(--border-thickness) solid transparent;border-radius:var(--radius-minimal);color:var(--text-secondary);font-size:13px;line-height:1.3;transition:background .2s ease,border-color .2s ease,color .2s ease}.rotate-prompt{display:flex;align-items:center;gap:var(--space-2);width:100%;margin:0 0 var(--space-2);padding:6px var(--space-2) 6px var(--space-3);border:var(--border-thickness) solid var(--border-subtle);border-radius:var(--radius-minimal);background:var(--surface-panel);color:var(--text-primary)}.rotate-prompt__text{flex:1 1 auto;min-width:0;margin:0;font-size:13px;line-height:1.3}.rotate-prompt__close{flex:0 0 32px;width:32px;min-width:32px;min-height:32px;padding:0;font-size:20px;line-height:1}body.has-rotate-prompt .board-status{display:none}.board-status.is-active{border-color:color-mix(in srgb,var(--accent-glowing) 70%,var(--border-subtle));background:color-mix(in srgb,var(--accent-glowing) 10%,var(--surface-panel));color:var(--text-primary)}.board-status.is-error{border-color:var(--accent-error);background:color-mix(in srgb,var(--accent-error) 10%,var(--surface-panel));color:var(--accent-error)}.board-status.is-flash{animation:board-status-flash .45s ease}@keyframes board-status-flash{0%{transform:translateY(0)}35%{transform:translateY(-2px)}to{transform:translateY(0)}}.game-square{position:relative;width:min(100%,var(--game-max));aspect-ratio:1;justify-self:center;contain:layout paint}.game-frame{position:absolute;inset:0;display:grid;padding:clamp(8px,1.8vw,16px);border:var(--border-thickness) solid var(--border-subtle);border-radius:var(--radius-minimal);background:var(--surface-raised);box-shadow:0 10px 28px var(--shadow-subtle);transition:background .2s ease,border-color .2s ease}.game-board{position:relative;display:grid;width:100%;aspect-ratio:1;overflow:hidden;background:var(--surface-control);cursor:crosshair;touch-action:none;transition:background .2s ease,border-color .2s ease;user-select:none}.game-board:focus-visible{outline:3px solid var(--accent-marker);outline-offset:3px}.game-canvas{display:block;width:100%;height:100%;cursor:crosshair;touch-action:none}.tool-shelf{position:sticky;top:calc(var(--header-height) + var(--space-4));display:grid;flex:0 1 var(--right-shelf-width);gap:0;width:var(--right-shelf-width);min-width:min(236px,100%);max-height:calc(100vh - var(--header-height) - var(--space-6));max-height:calc(100svh - var(--header-height) - var(--space-6));overflow:auto;border:var(--border-thickness) solid var(--border-subtle);border-radius:var(--radius-minimal);background:var(--surface-panel);scrollbar-width:thin;transition:background .2s ease,border-color .2s ease}.shelf-section{display:grid;gap:var(--space-2);padding:var(--space-3);border-bottom:var(--border-thickness) solid var(--border-subtle)}.shelf-section:last-child{border-bottom:0}.shelf-section h3{margin:0;color:var(--text-secondary);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.shelf-section--mode,.shelf-section--play{gap:var(--space-3)}.shelf-section--help h3{font-weight:600}.mode-row{display:flex;align-items:center;gap:var(--space-2);min-height:32px}.mode-label{flex:1 1 auto;min-width:0;overflow:hidden;color:var(--text-primary);font-size:14px;font-weight:600;letter-spacing:-.01em;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.mode-row .button{flex:0 0 auto;min-height:30px;padding-inline:11px;font-size:12px;font-weight:600;letter-spacing:.01em}.games-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.game-tile{display:grid;gap:var(--space-2);justify-items:center;min-height:88px;padding:var(--space-3) var(--space-2);border:var(--border-thickness) solid var(--border-subtle);border-radius:var(--radius-minimal);background:var(--surface-control);color:var(--text-primary);cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}.game-tile:hover{border-color:color-mix(in srgb,var(--accent-glowing) 45%,var(--border-subtle));background:color-mix(in srgb,var(--accent-glowing) 6%,var(--surface-control))}.game-tile.is-active{border-color:color-mix(in srgb,var(--accent-glowing) 55%,var(--border-subtle));background:color-mix(in srgb,var(--accent-glowing) 12%,var(--surface-control))}.game-tile.is-last{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent-glowing) 35%,transparent)}.game-tile__mark{position:relative;width:32px;height:32px;border:none;border-radius:0;background:transparent}.game-tile__mark:before,.game-tile__mark:after{content:"";position:absolute;box-sizing:border-box}.game-tile[data-puzzle=daily] .game-tile__mark:before{inset:4px 5px 3px;border:2px solid var(--text-primary);border-radius:3px;background:color-mix(in srgb,var(--accent-glowing) 18%,transparent)}.game-tile[data-puzzle=daily] .game-tile__mark:after{top:2px;left:9px;right:9px;height:4px;border-radius:2px;background:var(--accent-glowing)}.game-tile[data-puzzle=fences] .game-tile__mark:before{inset:6px;border:2.5px solid var(--accent-glowing);border-radius:7px}.game-tile[data-puzzle=bridges] .game-tile__mark:before{top:12px;left:4px;width:8px;height:8px;border-radius:50%;background:var(--text-primary);box-shadow:16px 0 0 var(--text-primary)}.game-tile[data-puzzle=bridges] .game-tile__mark:after{top:15px;left:12px;width:8px;height:2px;background:var(--accent-glowing);box-shadow:0 3px 0 var(--accent-glowing)}.game-tile[data-puzzle=pearls] .game-tile__mark:before{top:7px;left:4px;width:11px;height:11px;border:2px solid var(--text-primary);border-radius:50%;background:var(--surface-raised)}.game-tile[data-puzzle=pearls] .game-tile__mark:after{top:14px;right:4px;width:11px;height:11px;border-radius:50%;background:var(--text-primary)}.game-tile[data-puzzle=alone] .game-tile__mark:before{inset:5px;border:2px solid var(--border-subtle);background:linear-gradient(var(--border-subtle),var(--border-subtle)) center / 100% 2px no-repeat,linear-gradient(var(--border-subtle),var(--border-subtle)) center / 2px 100% no-repeat}.game-tile[data-puzzle=alone] .game-tile__mark:after{top:7px;left:7px;width:8px;height:8px;background:var(--text-primary)}.game-tile[data-puzzle=boxes] .game-tile__mark:before{inset:5px;border:2px solid var(--text-primary)}.game-tile[data-puzzle=boxes] .game-tile__mark:after{top:5px;bottom:5px;left:15px;width:2px;background:var(--accent-glowing);box-shadow:-6px 8px 0 0 var(--text-primary),6px -6px 0 0 var(--text-primary)}.game-tile[data-puzzle=lights] .game-tile__mark:before{top:10px;left:10px;width:12px;height:12px;border-radius:50%;background:var(--accent-glowing);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent-glowing) 35%,transparent)}.game-tile[data-puzzle=lights] .game-tile__mark:after{top:4px;left:15px;width:2px;height:5px;background:var(--text-primary);box-shadow:0 19px 0 var(--text-primary),9px 9px 0 var(--text-primary),-9px 9px 0 var(--text-primary)}.game-tile[data-puzzle=islands] .game-tile__mark:before{inset:4px;border:2px solid color-mix(in srgb,var(--accent-glowing) 70%,var(--text-primary));border-radius:50%;background:color-mix(in srgb,var(--accent-glowing) 16%,transparent)}.game-tile[data-puzzle=islands] .game-tile__mark:after{top:11px;left:11px;width:10px;height:10px;border-radius:40% 60% 55% 45%;background:var(--text-primary)}.game-tile[data-puzzle=arrows] .game-tile__mark:before{top:8px;left:14px;width:4px;height:14px;background:var(--text-primary)}.game-tile[data-puzzle=arrows] .game-tile__mark:after{top:7px;left:9px;width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:9px solid var(--accent-glowing)}.game-tile__label{max-width:100%;overflow:hidden;font-size:12px;font-weight:600;line-height:1.2;text-align:center;text-overflow:ellipsis;white-space:nowrap}.games-overlay{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:var(--page-gutter)}.games-overlay[hidden]{display:none}.games-overlay__backdrop{position:absolute;inset:0;background:var(--surface-page);background:color-mix(in srgb,var(--surface-page) 72%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:pointer}.games-overlay__panel{position:relative;z-index:1;display:grid;gap:var(--space-4);width:min(100%,520px);max-height:min(88vh,640px);max-height:min(88svh,640px);overflow:auto;padding:var(--space-4);border:var(--border-thickness) solid var(--border-subtle);border-radius:var(--radius-minimal);background:var(--surface-panel);box-shadow:0 18px 48px var(--shadow-subtle);scrollbar-width:thin;animation:overlay-fade .2s ease both}.games-overlay__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.games-overlay__header h2{margin:0;color:var(--text-primary);font-size:18px;font-weight:700}.games-overlay__header .button{min-height:32px;padding-inline:var(--space-3);font-size:13px}.daily-set-list{display:grid;gap:var(--space-1)}.tool-shelf .daily-set{gap:var(--space-1);padding-block:var(--space-2)}.tool-shelf .daily-preferences{padding-block:var(--space-2)}.tool-shelf .daily-set-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;min-height:148px}.daily-set-list button{display:flex;align-items:center;min-height:34px;padding-inline:var(--space-3);border:var(--border-thickness) solid var(--border-subtle);border-radius:var(--radius-minimal);background:var(--surface-control);color:var(--text-primary);text-align:left;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}.tool-shelf .daily-set-list button{min-height:28px;min-width:0;padding-inline:var(--space-2);font-size:12px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.daily-set-list button:hover{border-color:color-mix(in srgb,var(--accent-glowing) 42%,var(--border-subtle));background:color-mix(in srgb,var(--accent-glowing) 7%,var(--surface-control))}.daily-set-list .is-active{border-color:color-mix(in srgb,var(--accent-glowing) 48%,var(--border-subtle));background:color-mix(in srgb,var(--accent-glowing) 12%,var(--surface-control))}.daily-set-list .is-complete{color:var(--text-secondary)}.daily-set-list .daily-set-edit{border-color:color-mix(in srgb,var(--accent-glowing) 36%,var(--border-subtle));background:color-mix(in srgb,var(--accent-glowing) 8%,var(--surface-control))}.daily-picks-summary{margin:0;color:var(--text-secondary);font-size:12px;line-height:1.4}.daily-preferences .button{width:100%}.picks-overlay{position:fixed;inset:0;z-index:70;display:grid;place-items:center;padding:var(--page-gutter)}.picks-overlay[hidden]{display:none}.picks-overlay__backdrop{position:absolute;inset:0;background:var(--surface-page);background:color-mix(in srgb,var(--surface-page) 72%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:pointer}.picks-overlay__panel{position:relative;z-index:1;display:grid;gap:var(--space-3);width:min(100%,520px);max-height:min(88vh,720px);max-height:min(88svh,720px);overflow:auto;padding:var(--space-4);border:var(--border-thickness) solid var(--border-subtle);border-radius:var(--radius-minimal);background:var(--surface-panel);box-shadow:0 18px 48px var(--shadow-subtle);scrollbar-width:thin;animation:overlay-fade .2s ease both}.picks-overlay__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.picks-overlay__header h2{margin:0;color:var(--text-primary);font-size:18px;font-weight:700}.picks-overlay__header .button{min-height:32px;padding-inline:var(--space-3);font-size:13px}.picks-overlay__hint,.picks-start__hint,.picks-games-label{margin:0;color:var(--text-secondary);font-size:13px;line-height:1.4}.picks-games-label{font-size:12px;font-weight:600}.picks-start{display:grid;gap:var(--space-2)}.picks-start .segmented-control button{min-height:40px}.picks-start__label{color:var(--text-secondary);font-size:12px;font-weight:600}.picks-grid .game-tile{position:relative;min-height:84px}.picks-grid .game-tile:not(.is-active){color:var(--text-secondary);background:color-mix(in srgb,var(--surface-page) 55%,var(--surface-control))}.picks-grid .game-tile.is-active:after{content:"";position:absolute;top:8px;right:8px;width:8px;height:8px;border-radius:50%;background:var(--accent-glowing)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 var(--space-3);border:var(--border-thickness) solid var(--border-subtle);border-radius:var(--radius-minimal);background:var(--surface-control);color:var(--text-primary);font-size:13px;font-weight:500;letter-spacing:.01em;line-height:1.2;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}.button:hover{border-color:color-mix(in srgb,var(--accent-glowing) 42%,var(--border-subtle));background:color-mix(in srgb,var(--accent-glowing) 7%,var(--surface-control))}.button:disabled{cursor:not-allowed;opacity:.52}.button:disabled:hover{border-color:var(--border-subtle);background:var(--surface-control)}.button-primary{border-color:color-mix(in srgb,var(--accent-glowing) 55%,var(--border-subtle));background:color-mix(in srgb,var(--accent-glowing) 14%,var(--surface-control));font-weight:600}.button-primary:hover{border-color:color-mix(in srgb,var(--accent-glowing) 72%,var(--border-subtle));background:color-mix(in srgb,var(--accent-glowing) 18%,var(--surface-control))}.button-assist{border-color:color-mix(in srgb,var(--accent-glowing) 36%,var(--border-subtle));background:color-mix(in srgb,var(--accent-glowing) 8%,var(--surface-control))}.button-assist:hover{border-color:color-mix(in srgb,var(--accent-glowing) 55%,var(--border-subtle));background:color-mix(in srgb,var(--accent-glowing) 12%,var(--surface-control))}.segmented-control{display:flex;gap:2px;padding:3px;border:var(--border-thickness) solid var(--border-subtle);border-radius:var(--radius-control);background:color-mix(in srgb,var(--surface-page) 62%,var(--surface-control))}.segmented-control button{flex:1 1 0;min-width:0;min-height:30px;padding-inline:var(--space-2);border:0;border-radius:calc(var(--radius-control) - 2px);background:transparent;color:var(--text-secondary);font-size:12px;font-weight:600;letter-spacing:.02em;line-height:1.2;cursor:pointer;transition:background .2s ease,color .2s ease,box-shadow .2s ease}.segmented-control button:hover{color:var(--text-primary);background:color-mix(in srgb,var(--surface-raised) 72%,transparent)}.segmented-control button:disabled{cursor:not-allowed;opacity:.52}.segmented-control button:disabled:hover{color:var(--text-secondary);background:transparent}.segmented-control .is-selected{background:var(--surface-raised);color:var(--text-primary);box-shadow:0 1px 2px var(--shadow-subtle),inset 0 0 0 1px color-mix(in srgb,var(--accent-glowing) 32%,transparent)}.segmented-control .is-selected:hover{color:var(--text-primary);background:var(--surface-raised)}.stats-grid div{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.stats-grid span,.instructions p{color:var(--text-secondary)}.stats-grid strong,.instructions p{margin:0}.help-links{display:flex;flex-wrap:wrap;gap:var(--space-3);margin:0;font-size:13px}.help-links a,.guide-section p a,.guide-section li a,.guide-hero p a{color:var(--text-primary);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--accent-glowing) 62%,transparent);text-underline-offset:3px;transition:color .2s ease,text-decoration-color .2s ease}.help-links a:hover,.guide-section p a:hover,.guide-section li a:hover,.guide-hero p a:hover{text-decoration-color:var(--accent-glowing)}.footer-links a,.footer-links .footer-consent-link{color:var(--text-primary);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--accent-glowing) 62%,transparent);text-underline-offset:3px;transition:color .2s ease,text-decoration-color .2s ease}.footer-links a:hover,.footer-links .footer-consent-link:hover{color:var(--text-primary);text-decoration-color:var(--accent-glowing)}.completion-actions{display:flex;gap:var(--space-2)}.tool-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.tool-actions .button{width:100%;min-height:32px;padding-inline:var(--space-2);font-size:12px;font-weight:500}.completion-actions .button{flex:1 1 0;min-height:40px;padding-inline:var(--space-3);font-size:14px;font-weight:600}.load-blocker{position:absolute;inset:0;z-index:11;display:grid;place-items:center;padding:var(--space-3);overflow:auto;border-radius:var(--radius-minimal);background:var(--surface-panel)}.load-blocker[hidden]{display:none}.load-blocker__panel{display:grid;gap:var(--space-3);width:min(92%,400px);padding:var(--space-5);border:var(--border-thickness) solid var(--border-subtle);border-radius:var(--radius-minimal);background:var(--surface-raised);box-shadow:0 12px 36px var(--shadow-subtle)}.load-blocker__panel h2{margin:0;font-size:clamp(20px,4.5vw,28px);line-height:1.15}.load-blocker__lead,.load-blocker__help{margin:0;font-size:14px;line-height:1.45}.load-blocker__lead{color:var(--text-primary)}.load-blocker__help{color:var(--text-secondary)}.completion-overlay{position:absolute;inset:0;z-index:10;display:grid;place-items:center;overflow:hidden;border-radius:var(--radius-minimal);background:var(--surface-page);background:color-mix(in srgb,var(--surface-page) 74%,transparent);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:overlay-fade .28s ease both}.completion-overlay[hidden]{display:none}.completion-dialog{position:relative;z-index:2;display:grid;gap:var(--space-3);width:min(88%,360px);padding:var(--space-5);border:var(--border-thickness) solid var(--border-subtle);border-radius:var(--radius-minimal);background:var(--surface-raised);box-shadow:0 18px 52px var(--shadow-subtle);text-align:center;max-height:calc(100% - var(--space-4));overflow:auto;animation:dialog-pop .24s ease both}.completion-meta{margin:0;color:var(--text-secondary)}.completion-dialog h1,.completion-dialog h2{margin:0;font-size:clamp(26px,6vw,38px);line-height:1.05}.share-status{min-height:18px;margin:0;color:var(--text-secondary);font-size:13px;line-height:1.35;overflow-wrap:anywhere}.share-status.is-active{color:var(--text-primary)}.share-status.is-error{color:var(--accent-error)}.share-preview{width:100%;max-width:100%;min-height:84px;max-height:132px;padding:var(--space-2);overflow:auto;border:var(--border-thickness) solid var(--border-subtle);border-radius:var(--radius-minimal);background:var(--surface-control);color:var(--text-primary);font-family:var(--font-mono);font-size:12px;line-height:1.35;resize:none}.share-preview:focus{border-color:color-mix(in srgb,var(--accent-glowing) 70%,var(--border-subtle))}.h5-interstitial-slot{min-height:38px;display:grid;place-items:center;border:var(--border-thickness) dashed var(--border-subtle);border-radius:var(--radius-minimal);color:var(--text-secondary);font-size:12px}.confetti{position:absolute;inset:0;pointer-events:none}.particle{position:absolute;top:42%;left:50%;width:7px;height:12px;background:var(--accent-glowing);opacity:0;animation:confetti-pop .9s ease-out forwards}.particle-b,.particle-e{background:var(--accent-marker)}.particle-c,.particle-f{background:var(--accent-error)}.particle-a{--x: -130px;--y: -118px;--r: 18deg}.particle-b{--x: 118px;--y: -112px;--r: 54deg;animation-delay:50ms}.particle-c{--x: -86px;--y: 124px;--r: 92deg;animation-delay:80ms}.particle-d{--x: 94px;--y: 118px;--r: 132deg;animation-delay:.11s}.particle-e{--x: -12px;--y: -148px;--r: 210deg;animation-delay:.13s}.particle-f{--x: 18px;--y: 146px;--r: 280deg;animation-delay:.16s}.mobile-tools{display:none}.mobile-tools__menu-icon{position:relative;flex:0 0 16px;width:16px;height:12px}.mobile-tools__menu-icon:before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:2px;border-radius:1px;background:currentColor;box-shadow:0 5px 0 currentColor,0 10px 0 currentColor}.mobile-tools__menu-chevron{flex:0 0 8px;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .2s ease,border-color .2s ease}.mobile-tools__menu-toggle[aria-expanded=true] .mobile-tools__menu-chevron{transform:rotate(-135deg) translateY(2px)}body.mobile-menu-open,body.games-overlay-open,body.picks-overlay-open{overflow:hidden}.site-overview,.site-footer,.guide-page{background:var(--surface-page);color:var(--text-primary)}.site-overview{padding:var(--space-6) var(--page-gutter) calc(var(--space-6) * 1.5)}.site-overview__inner,.guide-layout,.footer-inner{width:min(100%,920px);margin-inline:auto}.site-overview__inner,.guide-layout{--guide-measure: 36rem}.site-overview__inner{display:grid;gap:var(--space-4)}.guide-kicker{margin:0;color:var(--text-secondary);font-size:12px;font-weight:700;letter-spacing:0;text-transform:uppercase}.site-overview h1,.site-overview__title,.guide-hero h1{margin:0;color:var(--text-primary);font-size:clamp(26px,4vw,38px);line-height:1.18;text-wrap:balance}.site-overview p,.guide-hero p,.guide-section p,.guide-section li,.site-footer{color:var(--text-secondary)}.site-overview h1,.site-overview__title,.site-overview p,.guide-hero h1,.guide-hero p,.guide-section h2,.guide-section h3,.guide-section p,.guide-section ul,.guide-section ol{max-width:min(100%,var(--guide-measure))}.site-overview p,.guide-hero p,.guide-section p,.guide-section li{line-height:1.55;text-wrap:pretty}.guide-link-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}.guide-link-grid a,.guide-panel{display:grid;gap:var(--space-2);min-width:0;padding:var(--space-4);border:var(--border-thickness) solid var(--border-subtle);border-radius:var(--radius-minimal);background:var(--surface-panel);transition:background .2s ease,border-color .2s ease,color .2s ease}.guide-link-grid a:hover,.guide-panel:hover{border-color:color-mix(in srgb,var(--accent-glowing) 64%,var(--border-subtle))}.guide-link-grid strong,.guide-panel strong{color:var(--text-primary)}.guide-link-grid span,.guide-panel span{color:var(--text-secondary);font-size:13px}.site-footer{padding:var(--space-5) var(--page-gutter);border-top:var(--border-thickness) solid var(--border-subtle);font-size:13px}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.footer-links{display:flex;flex-wrap:wrap;gap:var(--space-3)}.guide-page{min-height:100vh;min-height:100svh}.guide-layout{display:grid;gap:var(--space-6);padding:var(--space-6) var(--page-gutter) calc(var(--space-6) * 1.5)}.guide-hero{display:grid;gap:var(--space-3);padding-block:var(--space-4)}.guide-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.guide-actions .button{display:inline-flex;align-items:center;justify-content:center;flex:0 1 auto;padding-inline:var(--space-4)}.guide-section{display:grid;gap:var(--space-3);padding-top:var(--space-5);border-top:var(--border-thickness) solid var(--border-subtle)}.guide-section h2,.guide-section h3{margin:0;color:var(--text-primary);line-height:1.18;text-wrap:balance}.guide-section h2{font-size:22px}.guide-section h3{font-size:16px}.guide-section p{margin:0}.guide-section ol,.guide-section ul{display:grid;gap:var(--space-2);margin:0;padding-left:var(--space-5)}.guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.guide-grid--compact{gap:var(--space-2)}.guide-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.board-example{display:grid;gap:var(--space-3);justify-items:start;width:min(100%,320px)}.board-example--static{width:min(100%,100%);grid-template-columns:repeat(auto-fit,minmax(160px,280px));gap:var(--space-4);align-items:start}.board-example__frame{width:min(100%,280px);aspect-ratio:1;border:var(--border-thickness) solid var(--grid-line);background:var(--surface-control);overflow:hidden}.board-example--static .board-example__frame{width:min(100%,240px)}.board-example__canvas{display:block;width:100%;height:100%;cursor:default}.guide-section .board-example__caption{margin:0;max-width:280px;color:var(--text-primary);font-size:14px;line-height:1.55;min-height:2.9em}.board-example__controls{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.board-example__controls .button{min-width:5.5rem}.board-example__progress{color:var(--text-secondary);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:13px;min-width:3.5rem;text-align:center}.board-example__panel{display:grid;gap:var(--space-2);justify-items:start}.board-example__panel figcaption{margin:0;max-width:240px;color:var(--text-secondary);font-size:13px;line-height:1.5}.board-example:focus-visible{outline:2px solid var(--focus-ring);outline-offset:4px}.guide-panel--focus{border-color:color-mix(in srgb,var(--accent-glowing) 36%,var(--border-subtle));background:color-mix(in srgb,var(--accent-glowing) 7%,var(--surface-panel))}@keyframes overlay-fade{0%{opacity:0}to{opacity:1}}@keyframes dialog-pop{0%{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes confetti-pop{0%{opacity:0;transform:translate(-50%,-50%) scale(.5) rotate(0)}18%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--x)),calc(-50% + var(--y))) scale(1) rotate(var(--r))}}@media(max-width:1099px),(max-height:639px){:root{--game-max: min(94vw, calc(100vh - var(--header-height) - var(--community-strip-height) - var(--bottom-bar-height) - 40px - var(--safe-top) - var(--safe-bottom)))}@supports (height: 1svh){:root{--game-max: min(94vw, calc(100svh - var(--header-height) - var(--community-strip-height) - var(--bottom-bar-height) - 40px - var(--safe-top) - var(--safe-bottom)))}}body{padding-bottom:calc(var(--bottom-bar-height) + var(--safe-bottom))}.community-strip{position:sticky;top:0;z-index:30;display:grid;place-items:center;height:calc(var(--community-strip-height) + var(--safe-top));padding-top:var(--safe-top);border-bottom:var(--border-thickness) solid var(--border-subtle);background:var(--surface-panel);color:var(--text-secondary);font-size:12px;transition:background .2s ease,color .2s ease,border-color .2s ease}body.community-strip-collapsed{--community-strip-height: 0px}body.community-strip-collapsed .community-strip{display:none}.site-header{top:calc(var(--community-strip-height) + var(--safe-top));height:var(--header-height);padding-top:0}.guide-page .site-header,body.community-strip-collapsed .site-header,body.is-landscape-play .site-header{top:0;height:calc(var(--header-height) + var(--safe-top));padding-top:var(--safe-top)}.guide-page{padding-bottom:var(--safe-bottom)}.portal-layout{display:block;min-height:auto;padding:var(--space-3) var(--page-gutter) var(--space-4)}.portal-play{display:block}.community-rail,.tool-shelf{display:none}.game-column{width:100%;max-width:100%}.game-status-strip{min-height:32px;padding-inline:0}.game-square{width:min(100%,var(--game-max));max-width:100%;margin-inline:auto}.mobile-tools{position:fixed;right:var(--page-gutter);bottom:calc(var(--space-2) + env(safe-area-inset-bottom));left:var(--page-gutter);z-index:40;display:block}.mobile-tools__backdrop{position:fixed;inset:0;z-index:-1;border:0;background:var(--surface-page);background:color-mix(in srgb,var(--surface-page) 42%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);cursor:pointer;transition:background .2s ease}.mobile-tools__backdrop[hidden]{display:none}.mobile-tools__sheet{position:absolute;right:0;bottom:calc(100% + var(--space-2));left:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;max-width:100%;overflow:visible;padding:var(--space-2);border:var(--border-thickness) solid var(--border-subtle);border-radius:var(--radius-minimal);background:var(--surface-panel);box-shadow:0 12px 32px var(--shadow-subtle);transition:background .2s ease,border-color .2s ease}.mobile-tools__sheet[hidden]{display:none}.mobile-tools__head,.mobile-daily-set,.mobile-tools__scroll-wrap{grid-column:1 / -1}.mobile-tools__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.mobile-tools__head>.button:first-child{flex:0 1 auto;width:auto;min-height:30px;padding-inline:var(--space-3);font-size:12px}.mobile-tools__close{flex:0 0 32px;width:32px;min-width:32px;min-height:30px;padding:0;font-size:20px;line-height:1}.mobile-tools__difficulty{grid-column:1 / -1;display:flex;gap:2px;padding:3px;border:var(--border-thickness) solid var(--border-subtle);border-radius:var(--radius-control);background:color-mix(in srgb,var(--surface-page) 62%,var(--surface-control))}.mobile-tools__difficulty-btn{flex:1 1 0;display:block;width:auto;min-width:0;min-height:30px;padding:6px 2px;border:0;border-radius:calc(var(--radius-control) - 2px);background:transparent;color:var(--text-secondary);font-size:12px;font-weight:600;letter-spacing:.02em;line-height:1.2;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;transition:background .2s ease,color .2s ease,box-shadow .2s ease}.mobile-tools__difficulty-btn:hover{color:var(--text-primary);background:color-mix(in srgb,var(--surface-raised) 72%,transparent)}.mobile-tools__difficulty-btn:disabled{cursor:not-allowed;opacity:.52}.mobile-tools__difficulty-btn:disabled:hover{color:var(--text-secondary);background:transparent}.mobile-tools__difficulty-btn.is-selected{background:var(--surface-raised);color:var(--text-primary);box-shadow:0 1px 2px var(--shadow-subtle),inset 0 0 0 1px color-mix(in srgb,var(--accent-glowing) 32%,transparent)}.mobile-tools__difficulty-btn.is-selected:hover{color:var(--text-primary);background:var(--surface-raised)}.mobile-tools__scroll-wrap{position:relative;min-width:0;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.mobile-tools__scroll-wrap::-webkit-scrollbar{display:none}.mobile-tools__scroll-wrap:after{content:"";position:absolute;top:0;right:0;bottom:0;width:20px;pointer-events:none;border-radius:0 var(--radius-minimal) var(--radius-minimal) 0;background:linear-gradient(to right,transparent,var(--surface-panel))}.mobile-tools .daily-set-list,.mobile-tools__extras{display:flex;flex-wrap:nowrap;gap:var(--space-1);width:max-content;min-width:100%;padding-bottom:1px}.mobile-tools .daily-set-list::-webkit-scrollbar,.mobile-tools__extras::-webkit-scrollbar{display:none}.mobile-tools .daily-set-list button,.mobile-tools__extras .button{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:3px 10px;border-radius:999px;font-size:12px;line-height:1.2;text-align:center;white-space:nowrap}.mobile-tools__bar{display:flex;gap:var(--space-2);align-items:stretch;min-height:44px;padding:var(--space-2);border:var(--border-thickness) solid var(--border-subtle);border-radius:var(--radius-minimal);background:var(--surface-panel);box-shadow:0 12px 32px var(--shadow-subtle);transition:background .2s ease,border-color .2s ease}.mobile-tools__menu-toggle{display:inline-flex;align-items:center;gap:var(--space-2);flex:0 0 auto;min-height:40px;padding-inline:var(--space-3);font-size:13px;font-weight:600}.mobile-tools__menu-label{white-space:nowrap}.mobile-tools__quick{display:flex;flex:1 1 auto;gap:var(--space-2);min-width:0;align-items:stretch}.mobile-tools__quick .button{flex:1 1 0;min-width:0;min-height:40px;padding-inline:var(--space-2);font-size:13px;font-weight:500}.games-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1099px)and (min-height:521px){:root{--game-max: min(94vw, calc(100vh - var(--header-height) - var(--community-strip-height) - var(--bottom-bar-height) - 136px - var(--safe-top) - var(--safe-bottom)))}@supports (height: 1svh){:root{--game-max: min(94vw, calc(100svh - var(--header-height) - var(--community-strip-height) - var(--bottom-bar-height) - 136px - var(--safe-top) - var(--safe-bottom)))}}}body.is-landscape-play{--community-strip-height: 0px;padding-bottom:calc(var(--landscape-shelf-height, 52px) + env(safe-area-inset-bottom));overflow-x:hidden}body.is-landscape-play .community-strip,body.is-landscape-play .site-overview,body.is-landscape-play .site-footer{display:none}body.is-landscape-play .picks-overlay{z-index:80}body.is-landscape-play .picks-overlay__panel{width:min(100%,560px);max-height:min(92vh,520px);max-height:min(92svh,520px);padding:var(--space-3);gap:var(--space-2)}body.is-landscape-play .picks-grid .game-tile{min-height:56px;gap:var(--space-1);padding:var(--space-2)}body.is-landscape-play .picks-grid .game-tile__mark{width:22px;height:22px}body.is-landscape-play .site-header{top:0}body.is-landscape-play .portal-layout{display:block;min-height:auto;padding:var(--space-2) var(--page-gutter)}body.is-landscape-play .portal-play{display:block}body.is-landscape-play .game-column{display:flex;flex-direction:column;align-items:center;width:100%;max-width:100%}body.is-landscape-play .game-status-strip{display:none}body.is-landscape-play .board-status{width:100%;max-width:var(--landscape-play-size, 280px);min-height:22px;margin:0 0 var(--space-1);padding:4px var(--space-2);overflow:hidden;font-size:11px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}body.is-landscape-play .rotate-prompt{width:100%;max-width:var(--landscape-play-size, 280px);margin:0 0 var(--space-1);padding:4px var(--space-2) 4px var(--space-3)}body.is-landscape-play .rotate-prompt__text{font-size:12px;line-height:1.25}body.is-landscape-play .game-square{width:var(--landscape-play-size, 280px);height:var(--landscape-play-size, 280px);max-width:96vw;contain:none;margin-inline:auto;aspect-ratio:1}body.is-landscape-play .game-frame{padding:6px}body.is-landscape-play .mobile-tools{position:fixed;z-index:40;left:max(var(--page-gutter),env(safe-area-inset-left));right:max(var(--page-gutter),env(safe-area-inset-right));bottom:max(var(--space-2),env(safe-area-inset-bottom));width:auto}body.is-landscape-play .mobile-tools__bar{min-height:40px;padding-block:var(--space-1)}body.is-landscape-play .mobile-tools__menu-toggle,body.is-landscape-play .mobile-tools__quick .button{min-height:36px}@media(max-width:1099px),(max-height:639px){.guide-link-grid,.guide-grid,.guide-grid--three{grid-template-columns:1fr}.footer-inner{align-items:flex-start;flex-direction:column}}@media(max-width:440px){.brand-mark{width:32px;height:20px;flex-basis:32px}.brand-wordmark{max-width:158px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.language-picker select{min-width:104px}.theme-toggle{width:48px}.game-frame{padding:8px}.completion-dialog{gap:var(--space-2);width:min(94%,360px);padding:var(--space-4)}.share-preview{min-height:64px;max-height:84px;font-size:11px}.h5-interstitial-slot{min-height:32px}.mobile-tools__menu-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}}@keyframes cookie-banner-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:90;padding:var(--space-3) var(--page-gutter);padding-bottom:max(var(--space-3),env(safe-area-inset-bottom,0px));pointer-events:none}.cookie-banner__scrim{display:none}.cookie-banner.cookie-banner--prefs{inset:0;display:flex;align-items:flex-end;pointer-events:auto}body:has(.cookie-banner--prefs){overflow:hidden}body:has(.mobile-tools) .cookie-banner.cookie-banner--prefs{bottom:0}.cookie-banner--prefs .cookie-banner__scrim{display:block;position:absolute;inset:0;pointer-events:auto;background:var(--surface-page);background:color-mix(in srgb,var(--surface-page) 74%,transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.cookie-banner--prefs .cookie-banner__inner{z-index:1}@media(max-width:860px){body:has(.mobile-tools) .cookie-banner{bottom:var(--bottom-bar-height)}.cookie-banner__title{display:none}.cookie-banner__text{color:var(--text-primary)}.cookie-banner__copy{flex:1 1 160px}.cookie-banner__actions{margin-left:auto}.cookie-banner__btn:not(.button-primary){border-color:color-mix(in srgb,var(--text-primary) 18%,var(--border-subtle))}.cookie-banner--prefs .cookie-banner__inner{flex-direction:column;align-items:stretch;gap:var(--space-3)}.cookie-banner--prefs .cookie-banner__actions{margin-left:0;width:100%;display:grid;grid-template-columns:1fr 1fr}.cookie-banner--prefs .cookie-banner__btn{width:100%;min-width:0}}.cookie-banner__inner{position:relative;pointer-events:auto;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);max-width:920px;margin:0 auto;padding:var(--space-3) var(--space-4);background:var(--surface-raised);border:var(--border-thickness) solid var(--border-subtle);border-radius:var(--radius-control);box-shadow:0 -2px 16px var(--shadow-subtle);animation:cookie-banner-rise .28s ease-out}.cookie-banner__copy{flex:1 1 220px;min-width:0;display:flex;flex-direction:column;gap:2px}.cookie-banner__title{margin:0;font-family:var(--font-sans);font-size:13px;font-weight:600;line-height:1.3;color:var(--text-primary)}.cookie-banner__text{margin:0;font-family:var(--font-sans);font-size:13px;line-height:1.45;color:var(--text-secondary)}.cookie-banner__text a{color:var(--text-primary);text-decoration:underline;text-underline-offset:2px}.cookie-banner__actions{display:flex;flex-wrap:wrap;gap:var(--space-2);flex:0 0 auto;align-items:center}.cookie-banner__btn{min-height:36px;min-width:5.5rem;padding:0 var(--space-3);font-size:13px;cursor:pointer}.cookie-banner__btn--accept{min-width:6.25rem}.cookie-banner__toggle{display:flex;align-items:center;gap:var(--space-2);font-family:var(--font-sans);font-size:13px;color:var(--text-primary);cursor:pointer}.cookie-banner__toggle input{width:16px;height:16px;accent-color:var(--accent-glowing);cursor:pointer}@media(min-width:861px){.cookie-banner{top:0;display:flex;align-items:flex-end;justify-content:center;padding:var(--space-6) var(--page-gutter);padding-bottom:max(clamp(40px,9vh,88px),env(safe-area-inset-bottom,0px))}.cookie-banner__scrim{display:block;position:absolute;inset:0;pointer-events:none;background:linear-gradient(to top,color-mix(in srgb,var(--text-primary) 12%,transparent) 0%,color-mix(in srgb,var(--text-primary) 5%,transparent) 28%,transparent 58%)}.cookie-banner__inner{flex-direction:column;align-items:stretch;flex-wrap:nowrap;gap:var(--space-4);width:min(100%,440px);max-width:440px;margin:0;padding:var(--space-5) var(--space-5) var(--space-4);border-radius:var(--radius-control);border-color:color-mix(in srgb,var(--accent-glowing) 34%,var(--border-subtle));background:var(--surface-raised);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent-glowing) 12%,transparent),0 18px 48px color-mix(in srgb,var(--text-primary) 18%,transparent),0 4px 12px var(--shadow-subtle)}.cookie-banner__inner:before{content:"";position:absolute;top:0;left:var(--space-5);right:var(--space-5);height:3px;border-radius:2px;background:color-mix(in srgb,var(--accent-glowing) 78%,var(--border-subtle))}.cookie-banner__copy{flex:0 1 auto;gap:var(--space-2)}.cookie-banner__title{font-size:16px;letter-spacing:-.015em}.cookie-banner__text{font-size:13px}.cookie-banner__actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.cookie-banner__btn{width:100%;min-height:42px;min-width:0;font-size:14px}.cookie-banner__btn:not(.button-primary){border-color:color-mix(in srgb,var(--text-primary) 22%,var(--border-subtle));background:var(--surface-control)}.cookie-banner__btn--accept{min-width:0;border-color:color-mix(in srgb,var(--accent-glowing) 72%,var(--border-subtle));background:color-mix(in srgb,var(--accent-glowing) 28%,var(--surface-control));font-weight:600}.cookie-banner__btn--accept:hover{border-color:color-mix(in srgb,var(--accent-glowing) 85%,var(--border-subtle));background:color-mix(in srgb,var(--accent-glowing) 36%,var(--surface-control))}.cookie-banner--prefs .cookie-banner__toggle{padding:var(--space-2) var(--space-3);border:var(--border-thickness) solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface-control)}.cookie-banner--prefs .cookie-banner__actions{grid-template-columns:1fr 1fr}}.footer-links .footer-consent-link{display:inline;min-height:0;padding:0;margin:0;border:0;background:none;font:inherit;font-size:inherit;line-height:inherit;cursor:pointer;color:var(--text-primary)}.classroom-game-grid .guide-panel{display:flex;flex-direction:column;gap:.35rem;text-decoration:none;color:inherit}.classroom-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3);margin:var(--space-4) 0 var(--space-2)}.classroom-controls label{display:flex;flex-direction:column;gap:.35rem;font-family:var(--font-sans);font-size:.9rem;color:var(--text-secondary)}.classroom-controls select,.classroom-controls input[type=text]{min-height:40px;padding:.45rem .65rem;border:1px solid var(--border-subtle);border-radius:8px;background:var(--surface-control);color:var(--text-primary);font-family:var(--font-mono);letter-spacing:.04em}.classroom-controls select{font-family:var(--font-sans);letter-spacing:normal}.classroom-pack-help{margin:0 0 var(--space-2);font-family:var(--font-sans);font-size:.9rem;color:var(--text-secondary)}.classroom-pack-code-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-3)}.classroom-actions{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-3)}.classroom-actions--preview{margin-bottom:var(--space-3)}.classroom-actions--files{margin-top:var(--space-4)}.classroom-actions__row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.classroom-status{margin:0 0 var(--space-2);font-family:var(--font-sans);font-size:.95rem;color:var(--text-secondary)}.classroom-status.is-error{color:var(--accent-error)}.classroom-status.is-warning{color:var(--accent-marker)}.classroom-teacher-note{margin:0 0 var(--space-4);max-width:min(100%,var(--guide-measure));font-family:var(--font-sans);font-size:.95rem;color:var(--text-secondary)}.classroom-faq-grid .guide-panel{display:flex;flex-direction:column;gap:.35rem}.classroom-preview-panel{margin-top:var(--space-5);border:1px solid color-mix(in srgb,var(--border-subtle) 70%,var(--text-secondary));border-radius:8px;background:var(--surface-raised);box-shadow:0 0 0 1px color-mix(in srgb,var(--text-primary) 5%,transparent),0 10px 28px color-mix(in srgb,var(--text-primary) 10%,transparent);overflow:hidden}.classroom-preview-panel[data-preview-kind=answers]{border-color:color-mix(in srgb,var(--accent-error) 42%,var(--border-subtle));box-shadow:0 0 0 1px color-mix(in srgb,var(--accent-error) 16%,transparent),0 10px 28px color-mix(in srgb,var(--text-primary) 10%,transparent)}.classroom-preview-panel__header{display:grid;gap:.3rem;padding:var(--space-4);border-bottom:1px solid var(--border-subtle);background:var(--surface-panel)}.classroom-preview-panel__kicker{margin:0;font-family:var(--font-sans);font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary)}.classroom-preview-panel__header h3{margin:0;font-family:var(--font-sans);font-size:1.12rem;font-weight:650;color:var(--text-primary)}.classroom-preview-panel__hint{margin:0;max-width:62ch;font-family:var(--font-sans);font-size:.9rem;color:var(--text-secondary)}.classroom-preview-stage{padding:var(--space-4);background-color:color-mix(in srgb,var(--surface-page) 88%,var(--text-secondary));background-image:repeating-linear-gradient(-12deg,transparent,transparent 10px,color-mix(in srgb,var(--border-subtle) 80%,var(--text-secondary)) 10px,color-mix(in srgb,var(--border-subtle) 80%,var(--text-secondary)) 11px)}:root[data-theme=night] .classroom-preview-stage{background-color:#0b0e14;background-image:repeating-linear-gradient(-12deg,transparent,transparent 10px,rgba(148,163,184,.12) 10px,rgba(148,163,184,.12) 11px)}.classroom-preview{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-3)}.classroom-preview:empty{min-height:160px;border:1px dashed var(--border-subtle);border-radius:6px;background:color-mix(in srgb,var(--surface-raised) 70%,transparent)}.classroom-sheet{display:flex;flex-direction:column;gap:.45rem;min-width:0;padding:var(--space-3);background:#fff;border:1px solid color-mix(in srgb,var(--border-subtle) 55%,#9f9a8d);border-radius:4px;box-shadow:0 1px color-mix(in srgb,var(--text-primary) 8%,transparent),0 8px 18px color-mix(in srgb,var(--text-primary) 10%,transparent);overflow:hidden}:root[data-theme=night] .classroom-sheet{background:var(--surface-raised);border-color:color-mix(in srgb,var(--border-subtle) 60%,#94a3b8);box-shadow:0 1px #ffffff0a,0 10px 20px #00000059}.classroom-sheet h3{margin:0;font-family:var(--font-sans);font-size:.88rem;font-weight:600;color:var(--text-secondary)}.classroom-sheet__canvas{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:1;background:#fff;border:1px solid color-mix(in srgb,var(--border-subtle) 80%,transparent);border-radius:2px}:root[data-theme=night] .classroom-sheet__canvas{background:var(--surface-control)}.classroom-print-root{display:none}@media(max-width:720px){.classroom-controls{grid-template-columns:1fr}}@media print{html,body,.classroom-print-root{background:#fff!important;color:#111!important}body.classroom-printing .site-header,body.classroom-printing .site-footer,body.classroom-printing .guide-layout,body.classroom-printing .cookie-banner{display:none!important}body.classroom-printing .classroom-print-root{display:block!important;position:static;width:auto;height:auto;overflow:visible}.classroom-print-banner{display:flex;justify-content:space-between;gap:1rem;margin-bottom:.75rem;padding:.5rem .75rem;border:1px solid #222;font-family:Helvetica,Arial,sans-serif;font-size:12pt}body.classroom-printing[data-print-kind=answers] .classroom-print-banner{background:#f3e4e4;color:#7a1f1f}.classroom-print-grid{display:grid;gap:12pt}.classroom-print-grid--1{grid-template-columns:1fr}.classroom-print-grid--2,.classroom-print-grid--3,.classroom-print-grid--4{grid-template-columns:1fr 1fr}.classroom-print-sheet{break-inside:avoid;page-break-inside:avoid;border:1px solid #bbb;padding:8pt}.classroom-print-sheet__head{display:flex;justify-content:space-between;font-family:Helvetica,Arial,sans-serif;font-size:9pt;margin-bottom:4pt}.classroom-print-sheet__brand{font-weight:700}.classroom-print-sheet__name,.classroom-print-sheet__foot{margin:4pt 0;font-family:Helvetica,Arial,sans-serif;font-size:9pt}.classroom-print-sheet__canvas{width:100%;height:auto}}
