@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:block;src:url(/fonts/ibm-plex-mono-400.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:block;src:url(/fonts/ibm-plex-mono-500.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Press Start 2P";font-style:normal;font-weight:400;font-display:block;src:url(/fonts/press-start-2p-400.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Syne;font-style:normal;font-weight:700 800;font-display:block;src:url(/fonts/syne.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg-0: #07080c;--bg-1: #10131a;--bg-2: #0c0f14;--bg-top: #0b0d12;--text: #f4f1ea;--muted: #9aa3b5;--line: #262c38;--chili: #ff3b3b;--chili-hot: #ff6b35;--chili-deep: #4c0710;--phosphor: #7dffb3;--amber: #ffb347;--screen: #000;--paper: #fff;--accent: var(--chili);--on-accent: #140407;--link: var(--phosphor);--focus: var(--phosphor);--success: var(--phosphor);--warning: var(--amber);--danger: var(--chili-hot);--surface: var(--bg-1);--surface-sunken: var(--bg-0);--cover: linear-gradient(135deg, #241016, var(--bg-1) 55%);--cover-ink: #241016;--scrim: rgb(4 5 8 / .72);--font-display: "Syne", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace;--font-pixel: "Press Start 2P", monospace;--text-3xs: .58rem;--text-2xs: .68rem;--text-xs: .75rem;--text-sm: .85rem;--text-md: 1rem;--text-lg: 1.2rem;--text-xl: 1.4rem;--text-2xl: clamp(1.6rem, 3vw, 2.2rem);--text-3xl: clamp(2rem, 4vw, 3.2rem);--leading-tight: 1.2;--leading: 1.5;--leading-loose: 1.65;--tracking-label: .08em;--tracking-wide: .12em;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--page-pad-x: 6vw;--page-pad-top: var(--space-10);--page-pad-bottom: var(--space-16);--radius: 0;--radius-pill: 999px;--border: 1px solid var(--line);--shadow-card: 6px 6px 0 rgb(255 59 59 / .12);--shadow-pop: 8px 8px 0 rgb(255 59 59 / .16);--shadow-button: 4px 4px 0 var(--chili-deep);--shadow-toast: 4px 4px 0 rgb(0 0 0 / .45);--ease: cubic-bezier(.2, .7, .2, 1);--duration-fast: .12s;--duration: .2s;--z-header: 40;--z-overlay: 80;--z-toast: 110}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%;background:radial-gradient(circle at top right,color-mix(in srgb,var(--chili) 12%,transparent),transparent 32%),linear-gradient(180deg,var(--bg-top),var(--bg-0) 28%);color:var(--text);font-family:var(--font-mono)}body{background-attachment:fixed}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--font-display);line-height:var(--leading-tight)}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-xl)}h3{font-size:var(--text-lg)}a{color:var(--link)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}::selection{background:color-mix(in srgb,var(--phosphor) 25%,transparent)}.kicker{font-family:var(--font-pixel);font-size:var(--text-3xs);letter-spacing:.16em;text-transform:uppercase;color:var(--chili-hot);margin-bottom:.7rem}.kicker a{color:inherit;text-decoration:none}.lede{max-width:52ch;margin-top:var(--space-2);color:var(--muted);line-height:var(--leading)}.meta{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--muted)}.muted{color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}img.media-fade{opacity:0;transition:opacity .25s ease}img.media-fade.is-loaded{opacity:1}@media(prefers-reduced-motion:reduce){img.media-fade{transition:none}}.ui-prose{line-height:var(--leading-loose);overflow-wrap:anywhere}.ui-prose>:first-child{margin-top:0}.ui-prose>:last-child{margin-bottom:0}.ui-prose h1,.ui-prose h2,.ui-prose h3,.ui-prose h4{font-family:var(--font-display);color:var(--text);margin:1.4rem 0 .5rem}.ui-prose h1{font-size:var(--text-2xl)}.ui-prose h2{font-size:var(--text-lg)}.ui-prose h3,.ui-prose h4{font-size:var(--text-md)}.ui-prose p{margin:0 0 .9rem}.ui-prose ul,.ui-prose ol{margin:0 0 .9rem;padding-left:1.2rem}.ui-prose li{margin:.25rem 0}.ui-prose a{color:var(--link)}.ui-prose strong{color:var(--text)}.ui-prose blockquote{margin:0 0 .9rem;padding-left:.9rem;border-left:2px solid var(--line)}.ui-prose img{max-width:100%;height:auto}.ui-prose table{border-collapse:collapse;margin:0 0 .9rem}.ui-prose th,.ui-prose td{border:var(--border);padding:.3rem .6rem;text-align:left}.ui-prose code{font-family:var(--font-mono);font-size:.85em;background:var(--surface-sunken);padding:.1em .35em}.ui-prose pre{background:var(--surface-sunken);border:var(--border);padding:.9rem;overflow:auto;margin:0 0 .9rem}.ui-prose pre code{padding:0;background:none}.ui-prose hr{border:0;border-top:var(--border);margin:1.4rem 0}.ui-prose mark{background:color-mix(in srgb,var(--amber) 28%,transparent);color:var(--text);padding:0 .2rem}.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:.72rem 1rem;font-family:var(--font-mono);font-size:var(--text-xs);line-height:1.2;letter-spacing:var(--tracking-wide);text-transform:uppercase;text-decoration:none;white-space:nowrap;color:var(--text);background:transparent;border:1px solid transparent;border-radius:var(--radius);cursor:pointer;transition:transform var(--duration-fast) var(--ease),border-color var(--duration-fast) var(--ease),color var(--duration-fast) var(--ease)}.ui-btn:not(:disabled,.is-disabled):hover{transform:translate(-1px,-1px)}.ui-btn:disabled,.ui-btn.is-disabled{opacity:.55;cursor:not-allowed}.ui-btn--primary{color:var(--on-accent);background:var(--accent);box-shadow:var(--shadow-button)}.ui-btn--ghost{color:var(--phosphor);border-color:color-mix(in srgb,var(--phosphor) 45%,transparent)}.ui-btn--ghost:not(:disabled):hover{border-color:var(--phosphor)}.ui-btn--subtle{border-color:var(--line)}.ui-btn--subtle:not(:disabled):hover,.ui-btn--subtle[aria-expanded=true]{border-color:var(--phosphor)}.ui-btn--danger{color:var(--chili);border-color:color-mix(in srgb,var(--chili) 55%,transparent)}.ui-btn--danger:not(:disabled):hover{border-color:var(--chili)}.ui-btn--text{padding:0;color:var(--link);letter-spacing:.1em}.ui-btn--text:not(:disabled):hover{transform:none;text-decoration:underline}.ui-btn--sm{padding:.45rem .65rem;font-size:var(--text-2xs)}.ui-btn--sm.ui-btn--text{padding:0}.ui-btn--icon{width:2.2rem;height:2.2rem;padding:0;letter-spacing:0}.ui-btn--icon svg{width:1.15rem;height:1.15rem}.ui-btn--block{display:flex;width:100%}.ui-btn input[type=file]{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}.ui-btn:has(input[type=file]:focus-visible){outline:2px solid var(--focus);outline-offset:2px}.ui-input{min-width:0;padding:.65rem .7rem;font:inherit;font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:0;text-transform:none;color:var(--text);background:var(--surface-sunken);border:var(--border);border-radius:var(--radius);transition:border-color var(--duration-fast) var(--ease)}.ui-input::placeholder{color:var(--muted);opacity:.75}.ui-input:hover:not(:disabled){border-color:color-mix(in srgb,var(--phosphor) 35%,var(--line))}.ui-input:focus,.ui-input:focus-visible{outline:none;border-color:var(--focus);box-shadow:0 0 0 1px var(--focus)}.ui-input:disabled{opacity:.6;cursor:not-allowed}.ui-input[aria-invalid=true],.ui-input.ng-touched.ng-invalid{border-color:var(--danger)}textarea.ui-input{resize:vertical;line-height:var(--leading)}select.ui-input{appearance:none;padding-right:2.2rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M0 0h10L5 6z' fill='%239aa3b5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .8rem center;cursor:pointer}select.ui-input option{color:var(--text);background:var(--bg-1)}.ui-input--sm{padding:.45rem .6rem}select.ui-input--sm{padding-right:2rem}.ui-check{appearance:none;flex:none;display:inline-grid;place-content:center;width:1rem;height:1rem;margin:.15rem 0 0;background:var(--surface-sunken);border:1px solid color-mix(in srgb,var(--muted) 60%,var(--line));cursor:pointer}.ui-check[type=radio]{border-radius:50%}.ui-check:hover:not(:disabled){border-color:var(--phosphor)}.ui-check:checked{background:var(--accent);border-color:var(--accent)}.ui-check[type=checkbox]:checked{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6.2l2.6 2.6L10 3.4' fill='none' stroke='%23140407' stroke-width='2'/%3E%3C/svg%3E");background-size:.75rem;background-repeat:no-repeat;background-position:center}.ui-check[type=radio]:checked{box-shadow:inset 0 0 0 3px var(--surface-sunken)}.ui-check:disabled{opacity:.5;cursor:not-allowed}.ui-choice{display:flex;align-items:flex-start;gap:.55rem;font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:0;text-transform:none;line-height:1.45;color:var(--text);cursor:pointer}.ui-field{display:grid;gap:.35rem;min-width:0;font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.ui-field__hint,.ui-field__error{font-size:var(--text-sm);letter-spacing:0;text-transform:none}.ui-field__error{color:var(--danger)}fieldset.ui-field{margin:0;padding:0;border:0}.ui-card{display:block;min-width:0;padding:1.1rem;color:var(--text);background:var(--surface);border:var(--border)}.ui-card--pad-none{padding:0;overflow:hidden}.ui-card--pad-sm{padding:.9rem 1rem}.ui-card--pad-lg{padding:1.4rem}.ui-card--elevated{box-shadow:var(--shadow-card)}.ui-card--interactive{text-decoration:none;transition:border-color var(--duration-fast) var(--ease)}a.ui-card--interactive,.ui-card--interactive a{color:inherit}.ui-card--interactive:hover,.ui-card--interactive:focus-within{border-color:var(--phosphor)}.ui-card--muted{opacity:.62}.ui-empty{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem;padding:1.2rem;color:var(--muted);font-size:var(--text-sm);line-height:var(--leading);background:var(--surface);border:var(--border);grid-column:1/-1}.ui-avatar{flex:none;display:inline-grid;place-items:center;overflow:hidden;width:42px;height:42px;font-family:var(--font-display);font-size:var(--text-md);text-transform:uppercase;color:var(--chili-hot);background:var(--cover-ink)}.ui-avatar img{width:100%;height:100%;object-fit:cover}.ui-avatar--lg{width:72px;height:72px;font-size:2rem}.ui-cover{position:relative;display:grid;place-items:center;overflow:hidden;min-height:var(--cover-height, 140px);font-family:var(--font-display);font-size:var(--cover-font, 2.4rem);color:var(--chili-hot);text-decoration:none;background:var(--cover),var(--bg-0)}.ui-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.ui-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.ui-table th,.ui-table td{padding:.55rem .4rem;text-align:left;vertical-align:top;border-bottom:var(--border)}.ui-table th{font-size:var(--text-2xs);font-weight:500;letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--muted)}.ui-stat{display:grid;gap:var(--space-1)}.ui-stat__label{color:var(--muted);font-size:var(--text-sm)}.ui-stat__value{font-family:var(--font-display);font-size:var(--text-xl)}.ui-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.15rem .4rem;font-family:var(--font-mono);font-size:var(--text-2xs);line-height:1.3;letter-spacing:var(--tracking-label);text-transform:uppercase;white-space:nowrap;color:var(--bg-0);background:var(--badge-tone, var(--muted))}.ui-badge--accent{--badge-tone: var(--accent)}.ui-badge--success{--badge-tone: var(--success)}.ui-badge--warning{--badge-tone: var(--warning)}.ui-badge--danger{--badge-tone: var(--chili)}.ui-badge--neutral{--badge-tone: var(--muted)}.ui-badge--outline{padding:.1rem .45rem;color:var(--badge-tone, var(--muted));background:transparent;border:1px solid var(--badge-tone, var(--line));border-radius:var(--radius-pill)}.ui-badge--outline.ui-badge--neutral{border-color:var(--line)}.ui-chips{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}.ui-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .65rem;font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-label);text-transform:uppercase;text-decoration:none;color:var(--text);background:transparent;border:var(--border);cursor:pointer;transition:border-color var(--duration-fast) var(--ease),background var(--duration-fast) var(--ease)}.ui-chip:hover{border-color:var(--phosphor)}.ui-chip.is-selected{color:var(--on-accent);background:var(--accent);border-color:var(--accent)}.ui-chip__count{color:var(--muted)}.ui-chip.is-selected .ui-chip__count{color:inherit;opacity:.7}.ui-notice{max-width:72ch;font-size:var(--text-sm);line-height:var(--leading);overflow-wrap:anywhere;color:var(--notice-tone, var(--muted))}.ui-notice--error{--notice-tone: var(--danger)}.ui-notice--success{--notice-tone: var(--success)}.ui-notice--warning{--notice-tone: var(--warning)}.ui-notice--boxed{padding:.85rem 1rem;border:1px solid var(--notice-tone, var(--line))}.ui-notice code{color:var(--phosphor);font-family:var(--font-mono)}.ui-page{display:block;padding:var(--page-pad-top) var(--page-pad-x) var(--page-pad-bottom)}.ui-page--prose{max-width:52rem}.ui-page--narrow{max-width:720px}.ui-page--medium{max-width:820px}.ui-page--wide{max-width:980px}.ui-page--panel{max-width:640px;margin:0 auto;padding-top:3.5rem}.ui-page--form{max-width:420px;margin:0 auto;padding-top:3.5rem}.ui-page-header{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-4)}.ui-page-header__actions{display:flex;flex-wrap:wrap;gap:.7rem}.ui-page-header__actions:empty{display:none}.ui-page-header--section h2{font-size:var(--text-2xl)}.ui-back-link{display:inline-block;margin-bottom:1.2rem;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;text-decoration:none;color:var(--link)}.ui-back-link:hover{text-decoration:underline}.ui-stack{display:grid;gap:.85rem}.ui-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem}.ui-input-group{display:flex;gap:var(--space-2)}.ui-input-group>.ui-input{flex:1}.game-grid{list-style:none;margin:1.4rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-4)}.game-grid>li{display:flex;flex-direction:column;gap:.55rem;min-width:0}@media(max-width:720px){.ui-page-header{display:grid;align-items:stretch}.ui-input-group{display:grid;grid-template-columns:1fr}}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;display:flex;max-width:100%;max-height:100%;z-index:1000}.cdk-overlay-backdrop{position:absolute;inset:0;pointer-events:auto;-webkit-tap-highlight-color:transparent;opacity:0;touch-action:manipulation;z-index:1000;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}@media(prefers-reduced-motion){.cdk-overlay-backdrop{transition-duration:1ms}}.cdk-overlay-backdrop-showing{opacity:1}@media(forced-colors:active){.cdk-overlay-backdrop-showing{opacity:.6}}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing,.cdk-high-contrast-active .cdk-overlay-transparent-backdrop{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;display:flex;flex-direction:column;min-width:1px;min-height:1px;z-index:1000}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0}.ui-dialog-backdrop{background:var(--scrim)}.ui-dialog-panel{max-width:calc(100vw - 2rem);max-height:calc(100dvh - 2rem)}.ui-dialog{display:grid;gap:1.1rem;max-height:inherit;overflow:auto;padding:1.2rem 1.3rem 1.3rem;color:var(--text);background:var(--surface);border:var(--border);box-shadow:var(--shadow-pop)}.ui-dialog__header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4)}.ui-dialog__header h2{font-size:var(--text-xl)}.ui-dialog__close{margin:-.35rem -.4rem 0 0;padding:0 .3rem;font-size:1.6rem;line-height:1;color:var(--muted);background:none;border:0;cursor:pointer}.ui-dialog__close:hover{color:var(--text)}.ui-dialog__footer{display:flex;justify-content:space-between;gap:.8rem;padding-top:.8rem;border-top:var(--border)}.ui-popover{width:min(22rem,100vw - 2rem);padding:1.1rem;color:var(--text);background:var(--surface);border:var(--border);box-shadow:var(--shadow-pop)}.ui-popover-backdrop{background:color-mix(in srgb,var(--bg-0) 45%,transparent)}.ui-quantity{display:inline-flex;align-items:center;gap:.4rem}.ui-quantity__step{width:1.6rem;height:1.6rem;padding:0;color:var(--text);background:var(--surface-sunken);border:var(--border);cursor:pointer}.ui-quantity__step:hover:not(:disabled){border-color:var(--phosphor)}.ui-quantity__step:disabled{opacity:.4;cursor:not-allowed}.ui-quantity__value{min-width:1.4rem;text-align:center}.ui-quantity__remove{padding:0 .45rem;font:inherit;font-size:var(--text-sm);color:var(--danger);background:none;border:0;cursor:pointer}.ui-quantity__remove:hover{text-decoration:underline}.ui-dialog-panel .cdk-dialog-container:focus{outline:none}
