@import"https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600&family=Geist:wght@300;400;500;600;700;800&family=Outfit:wght@400;500;600;700;800;900&display=swap";:root{--as-font-heading: "Outfit", -apple-system, BlinkMacSystemFont, sans-serif;--as-font-body: "Geist", -apple-system, BlinkMacSystemFont, sans-serif;--as-font-mono: "Fira Code", monospace;--as-bg-base: #0a0a0c;--as-bg-surface: #121216;--as-bg-elevated: #18181f;--as-bg-overlay: #202029;--as-border-subtle: #22222a;--as-border-strong: #33333f;--as-border-focus: #84cc16;--as-accent-primary: #84cc16;--as-accent-hover: #65a30d;--as-accent-text: #1a2e05;--as-accent-muted: rgba(132, 204, 22, .12);--as-accent-glow: rgba(132, 204, 22, .25);--as-status-success: #10b981;--as-status-success-bg: rgba(16, 185, 129, .12);--as-status-warning: #f59e0b;--as-status-warning-bg: rgba(245, 158, 11, .12);--as-status-error: #f43f5e;--as-status-error-bg: rgba(244, 63, 94, .12);--as-status-info: #38bdf8;--as-status-info-bg: rgba(56, 189, 248, .12);--as-text-primary: #f4f4f5;--as-text-secondary: #a1a1aa;--as-text-muted: #71717a;--as-radius-sm: 4px;--as-radius-md: 6px;--as-radius-lg: 10px;--as-radius-pill: 9999px;--as-ease-snap: cubic-bezier(.16, 1, .3, 1);--as-duration-fast: .1s;--as-duration-normal: .15s}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;background-color:var(--as-bg-base);color:var(--as-text-primary);font-family:var(--as-font-body);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}#root{background-color:transparent}body{background-image:radial-gradient(circle at 50% 0%,rgba(132,204,22,.05) 0%,transparent 60%),radial-gradient(circle at 100% 100%,rgba(16,185,129,.03) 0%,transparent 40%);background-attachment:fixed}h1,h2,h3,h4,h5,h6{font-family:var(--as-font-heading);font-weight:700;letter-spacing:-.02em;color:var(--as-text-primary)}code,kbd,pre,.mono{font-family:var(--as-font-mono)}.status-badge{display:inline-flex;align-items:center;gap:8px;padding:4px 10px;border-radius:var(--as-radius-pill);background:var(--as-bg-surface);border:1px solid var(--as-border-subtle);font-family:var(--as-font-mono);font-size:12px;color:var(--as-text-secondary)}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--as-accent-primary);box-shadow:0 0 8px var(--as-accent-glow);animation:pulse-dot 2.5s infinite ease-in-out}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.85)}}.status-pill{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border-radius:var(--as-radius-sm);font-family:var(--as-font-mono);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.status-pill-success{background:var(--as-status-success-bg);color:var(--as-status-success);border:1px solid rgba(16,185,129,.25)}.status-pill-accent{background:var(--as-accent-muted);color:var(--as-accent-primary);border:1px solid rgba(132,204,22,.25)}.card{background:var(--as-bg-surface);border:1px solid var(--as-border-subtle);border-radius:var(--as-radius-lg);padding:20px;transition:border-color var(--as-duration-normal) var(--as-ease-snap),box-shadow var(--as-duration-normal) var(--as-ease-snap),transform var(--as-duration-normal) var(--as-ease-snap)}.card:hover{border-color:var(--as-border-strong);box-shadow:0 4px 20px #00000059}.card-elevated{background:var(--as-bg-elevated)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;border-radius:var(--as-radius-md);font-family:var(--as-font-body);font-size:13px;font-weight:600;cursor:pointer;border:1px solid transparent;outline:none;transition:all var(--as-duration-fast) var(--as-ease-snap)}.btn-primary{background:var(--as-accent-primary);color:var(--as-accent-text);border-color:var(--as-accent-primary)}.btn-primary:hover{background:var(--as-accent-hover);box-shadow:0 0 16px var(--as-accent-glow);transform:translateY(-1px)}.btn-secondary{background:var(--as-bg-elevated);color:var(--as-text-primary);border-color:var(--as-border-strong)}.btn-secondary:hover{background:var(--as-bg-overlay);border-color:var(--as-text-secondary)}.icon-dock{position:fixed;bottom:24px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:var(--as-radius-pill);background:#121216d9;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--as-border-strong);box-shadow:0 8px 32px #00000080,0 0 1px 1px #ffffff0d;z-index:1000}.tooltip-wrapper{position:relative;display:flex}.icon-action-btn{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;color:var(--as-text-secondary);cursor:pointer;transition:all var(--as-duration-fast) var(--as-ease-snap)}.icon-action-btn:hover{background:var(--as-bg-overlay);color:var(--as-accent-primary);border-color:var(--as-border-subtle);transform:translateY(-2px)}.icon-action-btn.active{background:var(--as-accent-muted);color:var(--as-accent-primary);border-color:#84cc164d}.tooltip-bubble{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%) translateY(4px);padding:5px 10px;background:var(--as-bg-overlay);border:1px solid var(--as-border-strong);border-radius:var(--as-radius-md);font-size:11px;font-family:var(--as-font-mono);color:var(--as-text-primary);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .12s ease,transform .12s ease;box-shadow:0 4px 12px #0006;display:flex;align-items:center;gap:6px}.tooltip-wrapper:hover .tooltip-bubble{opacity:1;transform:translate(-50%) translateY(0)}.tooltip-kbd{background:var(--as-bg-surface);border:1px solid var(--as-border-subtle);padding:1px 4px;border-radius:3px;font-size:9px;color:var(--as-text-muted)}.status-pill .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.status-pill-warning{background:var(--as-status-warning-bg);color:var(--as-status-warning);border:1px solid rgba(245,158,11,.25)}.status-pill-neutral{background:var(--as-bg-elevated);color:var(--as-text-muted);border:1px solid var(--as-border-subtle)}.btn{text-decoration:none}.btn-compact{padding:6px 12px;font-size:12px}.btn.is-selected{outline:2px solid var(--as-accent-primary);outline-offset:2px}.btn-primary.is-selected{background:var(--as-accent-hover);box-shadow:0 0 16px var(--as-accent-glow);transform:translateY(-1px)}.btn-secondary.is-selected{background:var(--as-bg-overlay);border-color:var(--as-text-secondary)}.kbd-inline{font-family:var(--as-font-mono);font-size:10px;font-weight:600;letter-spacing:.04em;padding:1px 5px;border-radius:3px;border:1px solid currentColor;opacity:.6}.icon-dock-divider{width:1px;height:20px;background:var(--as-border-strong);margin:0 4px}.icon-action-btn:active{transform:scale(.95);background:var(--as-accent-muted)}:focus-visible{outline:2px solid var(--as-accent-primary);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.page{min-height:100vh;display:flex;flex-direction:column;padding-bottom:96px}.site-header{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 24px;border-bottom:1px solid var(--as-border-subtle);background:#121216b3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.site-brand{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none}.site-brand-tile{width:32px;height:32px;border-radius:var(--as-radius-md);background:var(--as-accent-muted);border:1px solid rgba(132,204,22,.3);display:flex;align-items:center;justify-content:center;color:var(--as-accent-primary)}.site-brand-name{display:flex;align-items:center;gap:8px}.site-brand-name strong{font-family:var(--as-font-heading);font-weight:800;font-size:18px;letter-spacing:-.02em}.site-brand-sub{display:block;font-size:11px;color:var(--as-text-muted);font-family:var(--as-font-mono)}.site-header-right{display:flex;align-items:center;gap:12px}.page-main{flex:1;width:100%;max-width:1040px;margin:0 auto;padding:40px 24px 24px;display:flex;flex-direction:column;justify-content:center}.hero{text-align:center;margin-bottom:24px}.hero h1{font-size:36px;font-weight:800;letter-spacing:-.03em;line-height:1.15}.hero h1 em{font-style:normal;color:var(--as-accent-primary)}.hero p{color:var(--as-text-secondary);font-size:14px;margin-top:6px}.site-footer{border-top:1px solid var(--as-border-subtle);padding:16px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:12px;color:var(--as-text-muted);font-family:var(--as-font-mono)}@media(max-width:760px){.site-header{padding:12px 16px}.site-header-right .status-badge,.site-brand-sub{display:none}.page-main{padding:24px 16px 16px}.hero h1{font-size:28px}.site-footer{flex-direction:column;align-items:flex-start;gap:4px;padding:14px 16px}.icon-dock{bottom:12px;gap:2px;padding:4px 6px;max-width:calc(100vw - 16px)}.icon-action-btn{width:36px;height:36px}.icon-dock-divider{margin:0 2px}}.hint-touch{display:none}@media(hover:none){.tooltip-bubble,.hint-keys{display:none}.hint-touch{display:inline}}.terminal{background:var(--as-bg-surface);border:1px solid var(--as-border-strong);border-radius:var(--as-radius-lg);box-shadow:0 24px 64px #0009,0 0 0 1px #ffffff05,0 0 120px #84cc160d;overflow:hidden;display:flex;flex-direction:column;scroll-margin-top:68px}.terminal-bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:38px;padding:0 14px;background:var(--as-bg-elevated);border-bottom:1px solid var(--as-border-subtle);font-family:var(--as-font-mono);font-size:12px;color:var(--as-text-muted)}.terminal-lights{display:flex;gap:7px}.terminal-lights i{width:11px;height:11px;border-radius:50%;background:var(--as-bg-overlay);border:1px solid var(--as-border-strong)}.terminal-lights i:first-child{background:var(--as-accent-muted);border-color:#84cc1659}.terminal-title{display:flex;align-items:center;gap:8px;color:var(--as-text-secondary)}.terminal-title svg{color:var(--as-accent-primary)}.terminal-meta{justify-self:end}.terminal-body{position:relative;background:var(--as-bg-base);min-height:470px;padding:20px 24px;font-family:var(--as-font-mono);font-size:13px;line-height:1.65;color:var(--as-text-secondary)}.terminal-body .muted{color:var(--as-text-muted)}.terminal-body .ok,.prompt-user{color:var(--as-accent-primary)}.prompt-path{color:var(--as-status-info)}.prompt-cmd{color:var(--as-text-primary)}.cursor{display:inline-block;width:.6em;height:1.1em;background:var(--as-accent-primary);vertical-align:-.2em;animation:terminal-blink 1.05s steps(1) infinite}@keyframes terminal-blink{50%{opacity:0}}.boot-line{white-space:pre;min-height:1.65em}.motd{margin-bottom:14px}.motd-name{font-family:var(--as-font-heading);font-weight:800;font-size:22px;letter-spacing:-.03em;color:var(--as-text-primary)}.terminal-error{margin-top:10px;min-height:24px;color:var(--as-status-error)}.game-list+.prompt{margin-top:10px;min-height:24px}.game-list{margin:10px 0 6px;border:1px solid var(--as-border-subtle);border-radius:var(--as-radius-md);padding:4px}.game-list-head,.game-row{display:grid;grid-template-columns:22px 34px 1fr 76px 104px;gap:12px;align-items:center}.game-list-head{padding:4px 12px 6px;margin-bottom:4px;border-bottom:1px solid var(--as-border-subtle);font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--as-text-muted)}.game-list-group{padding:8px 12px 2px;font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--as-text-muted)}.game-row{padding:7px 12px;border-radius:var(--as-radius-sm);font-size:14px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--as-duration-fast) var(--as-ease-snap)}.game-row .caret{color:var(--as-accent-primary);opacity:0;font-weight:600}.game-row .col-no{color:var(--as-text-muted)}.game-row .col-title{color:var(--as-text-secondary);display:flex;align-items:center;gap:8px}.game-row .col-version{color:var(--as-text-muted);font-size:12px}.game-list-head .col-status,.game-row .col-status{justify-self:end}.game-row.locked .col-title{color:var(--as-border-strong);letter-spacing:-.05em}.game-row.locked .col-title svg{color:var(--as-text-muted)}.game-row:hover{background:var(--as-bg-surface)}.game-row.selected{background:var(--as-accent-muted);box-shadow:inset 2px 0 0 var(--as-accent-primary)}.game-row.selected .caret{opacity:1}.game-row.selected .col-title{color:var(--as-text-primary)}.game-row.selected .col-no{color:var(--as-accent-primary)}.cartridge{animation:cartridge-open var(--as-duration-normal) var(--as-ease-snap)}@keyframes cartridge-open{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.cart-grid{display:grid;grid-template-columns:minmax(240px,360px) 1fr;gap:28px;margin-top:14px;align-items:start}.cart-preview{position:relative;aspect-ratio:1 / 1;background:var(--as-bg-surface);border:1px solid var(--as-border-subtle);border-radius:var(--as-radius-md);overflow:hidden}.cart-preview:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.15;background-image:radial-gradient(var(--as-accent-primary) 1px,transparent 1px);background-size:24px 24px}.cart-preview img{position:absolute;top:7%;right:7%;bottom:7%;left:7%;width:86%;height:86%;object-fit:contain;animation:cart-scan-in .6s steps(16) both;transition:filter var(--as-duration-normal) ease}.cart-preview.phosphor img{filter:grayscale(1) sepia(1) hue-rotate(45deg) saturate(3) brightness(.95) contrast(1.1) drop-shadow(0 0 12px rgba(132,204,22,.3))}@keyframes cart-scan-in{0%{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}.cart-corner{position:absolute;z-index:1;font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--as-text-muted)}.cart-corner.top{top:8px;left:10px}.cart-corner.bottom{bottom:8px;right:10px}.cart-ascii{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-family:var(--as-font-mono);color:var(--as-accent-primary)}.cart-info h2{font-size:28px;letter-spacing:-.025em;line-height:1.2}.cart-info.about{margin-top:14px;max-width:620px}.cart-pills{display:flex;gap:8px;margin:10px 0 14px;flex-wrap:wrap}.cart-blurb{font-family:var(--as-font-body);font-size:14px;color:var(--as-text-secondary);max-width:46ch;min-height:3em;margin-bottom:16px}.cart-specs{display:grid;gap:4px;font-size:12px;margin-bottom:20px}.cart-specs div{display:grid;grid-template-columns:96px 1fr;gap:12px}.cart-specs dt{color:var(--as-text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px;line-height:1.65}.cart-specs dd{color:var(--as-text-primary)}.cart-specs a{color:var(--as-accent-primary);text-decoration:none}.cart-specs a:hover{text-decoration:underline}.cart-actions{display:flex;gap:10px;flex-wrap:wrap}.launch{white-space:pre;color:var(--as-text-secondary)}.launch-bar{color:var(--as-accent-primary)}.terminal-status{display:flex;justify-content:space-between;align-items:center;gap:12px;height:30px;padding-right:10px;background:var(--as-bg-elevated);border-top:1px solid var(--as-border-subtle);font-family:var(--as-font-mono);font-size:11px;color:var(--as-text-muted);white-space:nowrap}.terminal-status-left{display:flex;align-items:center;gap:12px;height:100%}.terminal-mode{height:100%;display:flex;align-items:center;padding:0 12px;background:var(--as-accent-primary);color:var(--as-accent-text);font-weight:600;letter-spacing:.04em}.terminal-mode.error{background:var(--as-status-error);color:#2a0610}@media(max-width:760px){.terminal-bar{grid-template-columns:auto 1fr;gap:12px}.terminal-title{justify-self:end}.terminal-meta,.terminal-hint{display:none}.terminal-body{padding:16px 14px;min-height:420px}.game-list-head,.game-row{grid-template-columns:14px 26px 1fr auto;gap:8px;padding-left:8px;padding-right:8px}.game-list-head .col-version,.game-row .col-version{display:none}.cart-grid{grid-template-columns:1fr;gap:16px;margin-top:10px}.cart-preview{aspect-ratio:16 / 9}.cart-preview img{top:4%;right:0;bottom:4%;left:0;width:100%;height:92%}.cart-preview:before{background-size:20px 20px}.cart-info h2{font-size:24px}.cart-pills{margin:8px 0 12px}.cart-blurb{min-height:0;margin-bottom:12px}.cart-info{display:flex;flex-direction:column}.cart-specs{order:1;margin:16px 0 0}.cart-specs div{grid-template-columns:80px 1fr}}
