*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.hidden{display:none}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{color-scheme:light;--ink:#151515;--muted:#5f6368;--line:#d8dadd;--paper:#f7f7f4;--surface:#fff;--teal:#0f766e;--red:#dc2626;--amber:#f59e0b;--blue:#2563eb}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;margin:0}a{color:inherit;text-decoration:none}button{font:inherit}.site-header{align-items:center;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f7f7f4eb;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;min-height:68px;padding:0 clamp(18px,5vw,64px);position:sticky;top:0;z-index:10}.brand,.hero-actions,.player-controls,.top-nav,.touch-pad{align-items:center;display:flex;gap:12px}.brand{font-weight:800}.brand-mark{align-items:center;background:var(--ink);border-radius:6px;color:#fff;display:inline-flex;height:34px;justify-content:center;width:34px}.top-nav a{color:var(--muted);font-size:14px;font-weight:700}.hero-section{display:grid;gap:clamp(24px,4vw,56px);grid-template-columns:minmax(0,1fr) minmax(320px,520px);min-height:calc(100vh - 132px);padding:clamp(34px,7vw,86px) clamp(18px,5vw,64px) 36px}.hero-copy{align-self:center;max-width:760px}.eyebrow{color:var(--teal);font-size:12px;font-weight:800;letter-spacing:0;margin:0 0 10px;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(48px,8vw,96px);line-height:.95;margin-bottom:22px}h2{font-size:clamp(30px,4vw,52px);line-height:1.02;margin-bottom:12px}.hero-copy p{color:#3f3f46;font-size:clamp(17px,2vw,21px);line-height:1.65;max-width:680px}.ghost-button,.primary-button,.touch-pad button{border-radius:7px;cursor:pointer;display:inline-flex;font-weight:800;justify-content:center;min-height:44px;padding:11px 16px}.primary-button{background:var(--ink);border:1px solid var(--ink);color:#fff}.ghost-button{background:transparent;border:1px solid var(--line);color:var(--ink)}.ghost-button:disabled,.primary-button:disabled{cursor:not-allowed;opacity:.48}.hero-game{align-self:stretch;border-radius:8px;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;min-height:420px;overflow:hidden;padding:28px;position:relative}.game-cover:before,.hero-game:before{background:linear-gradient(180deg,#00000005,#00000075);content:"";inset:0;position:absolute}.game-cover span,.hero-game small,.hero-game span,.hero-game strong{position:relative}.hero-game span{font-size:13px;font-weight:800;margin-bottom:8px}.hero-game strong{font-size:clamp(34px,5vw,58px);line-height:1}.hero-game small{display:block;font-size:15px;line-height:1.5;margin-top:14px;max-width:340px}.category-strip{border-bottom:1px solid var(--line);border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:10px;padding:18px clamp(18px,5vw,64px)}.category-strip span,.status-pill{background:var(--surface);border:1px solid var(--line);border-radius:999px;color:#333;font-size:13px;font-weight:800;padding:8px 12px}.content-section{padding:clamp(34px,6vw,72px) clamp(18px,5vw,64px)}.section-heading{margin-bottom:24px}.game-grid{display:grid;gap:18px;grid-template-columns:repeat(4,minmax(0,1fr))}.game-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;overflow:hidden}.game-cover{aspect-ratio:4/3;position:relative}.game-cover span{background:#ffffffe6;border-radius:999px;color:#111;font-size:12px;font-weight:900;left:14px;padding:7px 10px;position:absolute;top:14px}.game-card-body{display:flex;flex-direction:column;gap:14px;min-height:146px;padding:16px}.game-card-body p{color:var(--muted);font-size:12px;font-weight:800;margin-bottom:8px;text-transform:uppercase}.game-card-body h3{font-size:22px;line-height:1.1;margin-bottom:0}.game-card-body small{color:var(--muted);font-weight:700;margin-top:auto}.game-page{gap:28px;grid-template-columns:minmax(0,1fr) 360px}.emulator-shell,.game-page{display:grid;padding:clamp(22px,5vw,54px) clamp(18px,5vw,64px)}.emulator-shell{gap:24px;grid-template-columns:380px minmax(0,1fr);min-height:calc(100vh - 68px)}.emulator-frame,.emulator-panel,.game-info,.player-shell,.source-card{background:var(--surface);border:1px solid var(--line);border-radius:8px}.player-shell{padding:clamp(16px,3vw,24px)}.player-topline{align-items:flex-start;display:flex;gap:18px;justify-content:space-between}.player-topline h1{font-size:clamp(34px,5vw,64px);margin-bottom:18px}.player-stats{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.player-stats span{background:#f1f5f9;border-radius:6px;font-size:13px;font-weight:900;padding:9px 10px}.canvas-wrap{background:#111827;border-radius:8px;margin-bottom:16px;overflow:hidden}canvas{aspect-ratio:1/1;display:block;height:auto;width:100%}.touch-pad{display:none;margin-top:12px}.touch-pad button{background:#e2e8f0;border:1px solid #cbd5e1;flex:1}.emulator-panel,.game-info{align-self:start;padding:22px}.emulator-panel h1{font-size:clamp(36px,5vw,58px)}.emulator-panel p{color:#4b5563;line-height:1.6}.launcher-grid{display:grid;gap:12px;grid-template-columns:1fr}.preset-list{display:grid;gap:10px;margin:18px 0 4px}.rom-toolbar{align-items:center;display:flex;gap:10px;justify-content:space-between;margin-top:18px}.rom-toolbar span{color:var(--muted);font-size:13px;font-weight:900}.rom-toolbar button{background:var(--ink);border:1px solid var(--ink);border-radius:7px;color:#fff;cursor:pointer;font-size:13px;font-weight:900;min-height:38px;padding:8px 12px}.rom-toolbar button:disabled{cursor:not-allowed;opacity:.56}.rom-search{margin-top:12px}.rom-search input{background:#fff}.preset-list button{background:#f8fafc;border:1px solid var(--line);border-radius:8px;cursor:pointer;display:grid;gap:5px;padding:13px;text-align:left}.preset-list strong{font-size:16px}.preset-list small,.preset-list span{color:#64748b;font-weight:800;line-height:1.35}.preset-list .rom-file{color:#334155;font-size:12px;word-break:break-all}.preset-list small{color:var(--teal)}.empty-rom-list,.inline-error{background:#fff7ed;border:1px solid #fed7aa;border-radius:7px;color:#9a3412;font-size:13px;font-weight:800;line-height:1.45;margin:10px 0 0;padding:10px 12px}.emulator-panel label{display:grid;gap:7px;margin-top:14px}.emulator-panel label span{color:var(--muted);font-size:13px;font-weight:900}.emulator-panel input,.emulator-panel select{background:#f8fafc;border:1px solid var(--line);border-radius:7px;color:var(--ink);min-height:44px;padding:10px 12px;width:100%}.file-drop{background:#f8fafc;border:1px dashed #94a3b8;border-radius:8px;padding:14px}.launcher-button{margin-top:16px;width:100%}.emulator-stage{display:grid;gap:14px;grid-template-rows:minmax(0,1fr) auto;min-height:calc(100vh - 108px)}.emulator-frame{min-height:0;overflow:hidden;overscroll-behavior:contain;touch-action:none}.emulator-frame iframe,.frame-placeholder{border:0;height:100%;min-height:0;width:100%}.frame-placeholder{align-items:center;background:linear-gradient(135deg,#0f766eeb,#dc2626b8),#111827;color:#fff;display:flex;flex-direction:column;justify-content:center;padding:24px;text-align:center}.frame-placeholder strong{font-size:clamp(32px,5vw,62px);line-height:1}.frame-placeholder span{font-weight:800;margin-top:12px}.control-guide{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:14px}.control-guide h2{font-size:clamp(20px,2vw,28px);margin-bottom:0}.control-guide dl{display:grid;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr));margin:10px 0}.control-guide dl div{background:#f8fafc;border:1px solid var(--line);border-radius:7px;display:grid;gap:5px;padding:9px}.control-guide dt{color:var(--muted);font-size:12px;text-transform:uppercase}.control-guide dd{font-size:14px;text-align:left}.control-guide p:last-child{color:#4b5563;font-size:13px;line-height:1.6;margin-bottom:0}.source-grid{display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}.source-card{padding:18px}.source-card span{color:var(--teal);font-size:12px;font-weight:900;text-transform:uppercase}.source-card h3{font-size:22px;margin:9px 0}.source-card p{color:#4b5563;line-height:1.55;margin-bottom:0}.back-link{color:var(--blue);display:inline-block;font-weight:800;margin-bottom:22px}.game-info p{color:#4b5563;line-height:1.65}dl{border-top:1px solid var(--line);margin:22px 0}dl div{border-bottom:1px solid var(--line);display:flex;gap:18px;justify-content:space-between;padding:13px 0}dt{color:var(--muted);font-weight:800}dd{font-weight:900;margin:0;text-align:right}.note{background:#fff7ed;border-left:4px solid var(--amber);padding:12px}@media(max-width:980px){.emulator-shell,.game-page,.hero-section{grid-template-columns:1fr}.emulator-stage{min-height:auto}.control-guide dl{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-section{min-height:auto}.game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.source-grid{grid-template-columns:1fr}}@media(max-width:640px){.player-controls,.player-topline,.site-header{align-items:stretch;flex-direction:column}.hero-actions,.player-controls{align-items:stretch}.hero-game{min-height:320px}.control-guide dl,.game-grid{grid-template-columns:1fr}.touch-pad{display:flex}}
