:root{--paper:#ded7c7;--paper-light:#eee8da;--ink:#302e2a;--muted:#777065;--red:#9f302d;--red-dark:#65201f}*{box-sizing:border-box}html{background:#bcb6a9}body{color:var(--ink);background:radial-gradient(circle at 18% -10%,#f0ebdf 0,#0000 34rem),repeating-linear-gradient(90deg,#0000 0 4px,#24211e09 4px 5px),#cbc5b7;margin:0;font-family:Arial,Microsoft YaHei,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}.site-shell{width:min(1220px,100% - 40px);margin:auto}.site-header{border-bottom:1px solid #777064;align-items:center;height:78px;display:flex}.site-brand{color:var(--red);letter-spacing:-.1em;font-size:23px;font-weight:900;transform:skew(-7deg)}.site-brand small{color:#504c45;letter-spacing:.17em;font:700 6px monospace;display:block}.site-nav{color:#6c665c;gap:36px;margin:auto;font-size:11px;font-weight:800;display:flex}.site-nav a.active{color:var(--red)}.site-action{background:#d7d0c1;border:1px solid #70695f;border-radius:4px;padding:11px 16px;font-size:10px;font-weight:900;box-shadow:0 3px #777064}.site-footer{color:#716a60;border-top:1px solid #777064;justify-content:space-between;align-items:center;min-height:100px;font-size:9px;display:flex}.eyebrow{color:var(--red);letter-spacing:.2em;font:800 8px monospace}.hero{grid-template-columns:1fr 1fr;align-items:center;gap:70px;min-height:600px;display:grid}.hero h1{letter-spacing:-.08em;margin:18px 0;font-size:clamp(52px,6vw,76px);line-height:.95}.hero h1 em{color:var(--red);font-style:normal}.hero p{max-width:470px;color:var(--muted);font-size:13px;line-height:1.8}.primary-link{color:#f2e9da;background:var(--red);box-shadow:5px 6px var(--red-dark);border:2px solid #54201e;border-radius:4px;margin-top:18px;padding:15px 20px;font-size:11px;font-weight:900;display:inline-flex}.hero-console{background:var(--paper);border:1px solid #8a8275;border-radius:27px 27px 58px 58px;padding:28px;box-shadow:0 20px #746e64,0 33px 40px #433e373b,inset 0 3px #f4eee1}.slot{background:#bab3a4;border:2px solid #938b7e;border-radius:7px;place-items:center;height:100px;display:grid;box-shadow:inset 0 8px 13px #756f6555}.slot i{background:#5e5a52;border:3px solid #403d38;width:65%;height:28px;box-shadow:inset 0 8px 9px #272521}.controller{background:#c6beaf;border:2px solid #a09889;border-radius:85px 85px 20px 20px;grid-template-columns:1fr 1fr;place-items:center;min-height:210px;margin-top:18px;display:grid}.cross{background:#302f2c;border-radius:5px;width:105px;height:35px;position:relative}.cross:after{content:"";background:inherit;border-radius:inherit;position:absolute;inset:0;transform:rotate(90deg)}.buttons{gap:15px;display:flex;transform:rotate(-7deg)}.buttons i{color:#ead9cb;background:var(--red);width:58px;height:58px;box-shadow:0 6px var(--red-dark);border:2px solid #762321;border-radius:50%;place-items:center;font-style:normal;font-weight:900;display:grid}.section{padding:85px 0}.section-head{border-bottom:2px solid #48443e;justify-content:space-between;align-items:end;padding-bottom:20px;display:flex}.section-head h1,.section-head h2{letter-spacing:-.06em;margin:8px 0 0;font-size:40px}.game-grid{grid-template-columns:repeat(4,1fr);gap:20px;padding-top:28px;display:grid}.game-card-cover{color:#f1e7d5;border:3px solid #504b44;border-radius:7px 7px 3px 3px;height:285px;padding:25px;position:relative;overflow:hidden;box-shadow:8px 9px #777065}.game-card-cover.red{background:linear-gradient(145deg,#c75342,#84282c)}.game-card-cover.blue{background:linear-gradient(145deg,#4b839a,#294c69)}.game-card-cover.green{background:linear-gradient(145deg,#66866c,#345343)}.game-card-cover.yellow{background:linear-gradient(145deg,#dcad3b,#bd6a32)}.game-card-cover.purple{background:linear-gradient(145deg,#756991,#403a68)}.game-card-cover b{font-size:28px;line-height:.85;position:absolute;bottom:50px;left:23px}.game-card-cover small{font:700 7px monospace;position:absolute;bottom:25px;left:23px}.game-card h3{margin:18px 2px 5px;font-size:14px}.game-card p{color:var(--muted);margin:0 2px;font-size:9px}.library-hero{border-bottom:2px solid #48443e;padding:75px 0 35px}.library-hero h1{letter-spacing:-.08em;margin:10px 0 0;font-size:65px}.detail-grid{grid-template-columns:.8fr 1.2fr;gap:8%;padding:80px 5%;display:grid}.detail-grid .game-card-cover{height:500px}.detail-copy h1{letter-spacing:-.08em;margin:12px 0;font-size:68px}.detail-copy p{color:var(--muted);line-height:1.9}.play-frame{background:var(--paper);border-radius:25px 25px 55px 55px;margin:40px 0 80px;padding:30px;box-shadow:0 24px #6d685f}.screen{aspect-ratio:256/240;color:#b5c694;text-align:center;background:radial-gradient(circle,#273024,#101611 70%);border:12px solid #22231f;border-radius:20px;place-items:center;max-height:620px;margin:auto;display:grid}.screen h1{font-size:16px}.screen p{font-size:9px}.admin-body{background:#f5f5f5}.admin-logo{color:#fff;align-items:center;height:64px;padding:0 20px;font-size:17px;font-weight:900;display:flex}.admin-logo i{background:#9f302d;border-radius:7px;place-items:center;width:31px;height:31px;margin-right:9px;font-style:normal;display:grid}.admin-page{padding:24px}.admin-page-title{margin:0 0 20px}.login-page{background:#d6d0c2;grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.login-brand{background:var(--paper);flex-direction:column;justify-content:center;padding:8vw;display:flex}.login-brand h1{letter-spacing:-.07em;font-size:58px;line-height:.95}.login-console{background:#c1baab;border:2px solid #9d9587;border-radius:70px 70px 16px 16px;height:180px;margin-top:35px;position:relative}.login-console:before{content:"";background:#32312e;width:90px;height:30px;position:absolute;top:50px;left:15%;transform:rotate(90deg);box-shadow:30px 0 #32312e}.login-console:after{content:"A    B";color:#fff;word-spacing:25px;background:#9f302d;border-radius:50px;padding:25px;font-weight:900;position:absolute;top:50px;right:15%}.login-panel{background:#fff;place-items:center;display:grid}.login-card{width:min(390px,100% - 40px)}.login-card h2{margin-bottom:5px;font-size:28px}.login-card>p{color:#888;margin-bottom:30px}@media (max-width:800px){.hero{grid-template-columns:1fr;padding:60px 0}.game-grid{grid-template-columns:repeat(2,1fr)}.detail-grid,.login-page{grid-template-columns:1fr}.login-brand,.site-nav{display:none}}@media (max-width:520px){.site-shell{width:calc(100% - 20px)}.hero h1{font-size:44px}.game-grid{gap:10px}.game-card-cover{height:220px;padding:15px;box-shadow:5px 6px #777065}.game-card-cover b{font-size:21px;left:15px}.site-action{font-size:8px}.library-hero h1{font-size:48px}}
.game-card-cover.with-image{background:#111}.play-frame{position:relative}.game-card-cover.with-image:after{content:"";border:1px solid #ffffff20;position:absolute;inset:0}.game-card-cover>em{z-index:3;color:#fff;background:#0008;border-radius:50%;place-items:center;width:30px;height:30px;font-size:8px;font-style:normal;display:grid;position:absolute;bottom:14px;right:14px}.detail-cover{position:relative}.disabled-play{color:#777065;border:1px solid #918a7d;margin-top:20px;padding:14px 18px;display:inline-block}.library-filters{gap:8px;display:flex}.library-filters input,.library-filters select{background:#d8d1c2;border:1px solid #8d8578;min-height:42px;padding:0 12px}.library-filters input{width:280px}.library-filters button{color:#fff;background:var(--red);border:0;padding:0 18px;font-weight:800}.empty-list{color:var(--muted);text-align:center;padding:50px 0}.play-statusbar{color:#6e685f;letter-spacing:.12em;justify-content:space-between;align-items:center;height:35px;font:700 7px monospace;display:flex}.play-statusbar i{background:#8b8275;border-radius:50%;width:6px;height:6px;margin-right:5px;display:inline-block}.play-statusbar i.on{background:#ad3732;box-shadow:0 0 6px #ad3732}.nes-screen{aspect-ratio:256/240;background:#101611;border:12px solid #22231f;border-radius:20px;max-width:780px;margin:auto;position:relative;overflow:hidden;box-shadow:inset 0 0 45px #000}.nes-screen canvas{width:100%;height:100%;image-rendering:pixelated;display:block}.nes-screen:fullscreen{aspect-ratio:auto;background:#050605;border:0;border-radius:0;width:100vw;max-width:none;height:100vh}.nes-screen:fullscreen canvas{object-fit:contain}.fullscreen-exit{z-index:5;color:#eee8da;cursor:pointer;opacity:.55;background:#302e2acc;border:1px solid #a29a8b;border-radius:4px;padding:9px 13px;font-size:10px;transition:opacity .2s;position:absolute;top:18px;right:18px}.fullscreen-exit:hover,.fullscreen-exit:focus-visible{opacity:1}.nes-empty{color:#b5c694;text-align:center;background:radial-gradient(circle,#273024,#101611 70%);place-content:center;justify-items:center;display:grid;position:absolute;inset:0}.nes-empty:after{content:"";pointer-events:none;background:repeating-linear-gradient(0deg,#0000 0 3px,#d7ffc50b 3px 4px);position:absolute;inset:0}.nes-empty.hidden{display:none}.empty-pak{border:2px solid #7d8d69;width:70px;height:82px;margin-bottom:15px;padding-top:27px;font:900 12px/.8 monospace;transform:rotate(-3deg)}.empty-pak small{font-size:6px}.nes-empty h1{z-index:1;font-size:15px}.nes-empty p{z-index:1;color:#718060;font-size:8px}.load-actions{z-index:2;align-items:center;gap:12px;display:flex}.load-actions .primary-link{box-shadow:none;color:#dce8c5;background:#71815e44;border:1px solid #8fa077;margin:12px 0 0}.secondary-load{cursor:pointer;border:1px solid #718060;margin-top:12px;padding:13px 15px;font-size:8px}.pause-badge{z-index:4;color:#fff;background:var(--red);padding:8px;font:800 8px monospace;position:absolute;top:18px;right:18px}.runtime-tools{align-items:center;gap:8px;min-height:55px;display:flex}.runtime-tools p{color:#706a60;margin-right:auto;font-size:9px}.runtime-tools button{background:#c8c1b2;border:1px solid #8e8679;padding:8px 12px;font-size:8px}.runtime-tools .control-help-trigger{color:var(--red);font-weight:800}.control-help-panel{z-index:20;background:#ded7c7;border:2px solid #81796d;border-radius:8px;width:270px;padding:14px 16px;position:absolute;top:105px;right:30px;box-shadow:8px 9px #6d685f}.control-help-head{border-bottom:1px solid #9a9284;justify-content:space-between;align-items:center;padding-bottom:9px;font-size:11px;display:flex}.control-help-head button{color:#625d55;cursor:pointer;background:0 0;border:0;padding:0 3px;font-size:18px;line-height:1}.control-help-panel dl{margin:7px 0 0}.control-help-panel dl>div{border-bottom:1px solid #b3ab9d;justify-content:space-between;align-items:center;min-height:34px;display:flex}.control-help-panel dl>div:last-child{border-bottom:0}.control-help-panel dt{color:#70695f;font-size:9px}.control-help-panel dd{gap:4px;margin:0;display:flex}.control-help-panel kbd{text-align:center;background:#c0b8a9;border:1px solid #6f6960;border-bottom-width:3px;border-radius:4px;min-width:25px;padding:4px 6px;font:700 8px monospace}.live-controller{grid-template-columns:1fr 1fr 1fr;margin-top:5px}.touch-dpad{grid-template:repeat(3,44px)/repeat(3,44px);width:132px;height:132px;display:grid}.touch-dpad button,.touch-dpad i{color:#111;background:#302f2c;border:0}.touch-dpad button:first-child{grid-area:1/2}.touch-dpad button:nth-child(2){grid-area:2/1}.touch-dpad i{grid-area:2/2}.touch-dpad button:nth-child(4){grid-area:2/3}.touch-dpad button:nth-child(5){grid-area:3/2}.system-buttons{justify-content:center;gap:14px;display:flex}.system-buttons label{color:var(--red);justify-items:center;gap:7px;font:700 6px monospace;display:grid}.system-buttons button{background:#48443f;border:0;border-radius:99px;width:48px;height:16px;box-shadow:0 4px #22211f}.live-controller .buttons button{color:#ead9cb;background:var(--red);width:58px;height:58px;box-shadow:0 6px var(--red-dark);border:2px solid #762321;border-radius:50%;font-weight:900}@media (max-width:650px){.library-filters{display:grid}.library-filters input{width:100%}.nes-screen{border-width:7px}.load-actions{flex-direction:column}.live-controller{grid-template-columns:1fr;min-height:390px}.runtime-tools{flex-wrap:wrap}.runtime-tools p{width:100%}.control-help-panel{width:100%;margin:8px 0 16px;position:static;box-shadow:5px 6px #6d685f}.detail-grid .detail-cover{height:360px}}
