:root{--paper: oklch(97.5% .012 92);--paper-sunk: oklch(94.5% .014 92);--card: #fff;--screen: oklch(19% .02 95);--screen-deep: oklch(13% .015 95);--ink: oklch(17% .015 95);--ink-muted: oklch(48% .014 95);--ink-faint: oklch(68% .012 92);--yellow: oklch(84% .19 97);--yellow-deep: oklch(74% .18 97);--yellow-wash: oklch(95% .07 97);--danger: oklch(53% .19 27);--font-display: "Space Grotesk", "Segoe UI", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Consolas, monospace;--r: 3px;--r-lg: 4px;--r-bezel: 14px;--bd: 2px solid var(--ink);--shadow-sm: 2px 2px 0 var(--ink);--shadow: 3px 3px 0 var(--ink);--shadow-lg: 5px 5px 0 var(--ink);--header-h: 64px;--col: 480px}*{box-sizing:border-box}html,body{margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-display);font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overscroll-behavior-y:none}#root{min-height:100dvh}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:700;letter-spacing:-.015em}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--ink);text-decoration-thickness:2px;text-underline-offset:3px}a:hover{color:var(--yellow-deep)}::selection{background:var(--yellow);color:var(--ink)}:focus-visible{outline:2px solid var(--ink);outline-offset:2px;box-shadow:0 0 0 4px var(--yellow)}.mono{font-family:var(--font-mono);font-variant-ligatures:none}.eyebrow{font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted)}.muted{color:var(--ink-muted)}.panel{background:var(--card);border:var(--bd);border-radius:var(--r);box-shadow:var(--shadow)}.panel--flat{box-shadow:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:var(--bd);border-radius:var(--r);background:var(--card);padding:11px 18px;font-family:var(--font-display);font-size:14px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;cursor:pointer;box-shadow:var(--shadow);transition:transform .1s ease,box-shadow .1s ease,background .14s ease,color .14s ease}.btn:hover:not(:disabled){background:var(--paper-sunk)}.btn:active:not(:disabled){transform:translate(3px,3px);box-shadow:0 0 0 var(--ink)}.btn:disabled{cursor:default;opacity:.55}.btn--primary{background:var(--yellow)}.btn--primary:hover:not(:disabled){background:var(--yellow-deep)}.btn--ink{background:var(--ink);color:var(--yellow)}.btn--ink:hover:not(:disabled){background:var(--ink)}.btn--sm{padding:7px 12px;font-size:11px;font-family:var(--font-mono);letter-spacing:.05em}.btn--ghost{border-color:transparent;box-shadow:none;background:transparent}.btn--ghost:hover:not(:disabled){background:var(--paper-sunk)}.btn--ghost:active:not(:disabled){transform:none;box-shadow:none}.emulator-frame{position:relative;display:flex;flex-direction:column;gap:4px;width:100%;min-height:0;padding:clamp(12px,3vw,16px);border-radius:var(--r-bezel);background:var(--screen)}.screen-stage{display:flex;justify-content:center;width:100%;min-height:0}.screen-fit{position:relative;width:100%;aspect-ratio:var(--screen-aspect);border-radius:4px;overflow:hidden;background:var(--screen-deep)}@media (min-width: 1024px){.emulator-frame{height:100%}.screen-stage{flex:1;container-type:size}.screen-fit{width:min(100cqw,calc(100cqh * var(--screen-aspect)))}}.screen-button{background:#00000080;border:1.5px solid rgba(255,255,255,.4);color:#fff;transition:background .15s ease}.screen-button:hover{background:#000000b8}.badge{display:inline-flex;align-items:center;gap:6px;border:1.5px solid var(--ink);border-radius:2px;padding:3px 8px;font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.badge--accent{background:var(--yellow)}.badge--ink{background:var(--ink);color:var(--yellow)}.field{display:flex;flex-direction:column;gap:6px}.input,.select{width:100%;border:var(--bd);border-radius:2px;background:var(--card);padding:11px 12px;font-size:14px}.input::placeholder{color:var(--ink-faint)}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);background-position:calc(100% - 18px) calc(50% + 2px),calc(100% - 13px) calc(50% + 2px);background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:34px;cursor:pointer}@keyframes cartPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.82)}}@keyframes toastIn{0%{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}@keyframes toastOut{to{opacity:0;transform:translateY(6px) scale(.98)}}@keyframes checkDraw{0%{stroke-dashoffset:26}to{stroke-dashoffset:0}}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.shell{width:100%;max-width:1320px;margin:0 auto;padding:0 24px}@media (max-width: 720px){.shell{padding:0 16px}.shell--phone-col{max-width:calc(var(--col) + 32px)}}.game-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(224px,1fr));gap:20px}@media (max-width: 720px){.game-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}.toast-stack{position:fixed;top:calc(var(--header-h) + 12px);left:50%;transform:translate(-50%);z-index:90;display:flex;flex-direction:column;gap:8px;width:min(360px,calc(100vw - 32px));pointer-events:none}@media (max-width: 1023px){.toast-stack{top:auto;bottom:calc(98px + env(safe-area-inset-bottom));flex-direction:column-reverse}}.emulator-fullscreen{position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:0!important;z-index:999!important;width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important;background:#000}.emulator-fullscreen-lock,.emulator-fullscreen-lock body{overflow:hidden;overscroll-behavior:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
