:root{--kraft:#d9a273;--kraft-d:#c48655;--kraft-dd:#a86e40;--paper:#fbf4e6;--paper-2:#f4e8d2;--paper-3:#ead9ba;--ink:#2a2622;--ink-2:#5c4a3a;--ink-3:#8a735c;--felt:#2f6f71;--felt-d:#235557;--coral:#e7836a;--coral-d:#c4644c;--orange:#e9a24c;--orange-d:#b97624;--gold:#d6b06a;--butter:#f3cf7a;--butter-d:#c9a042;--leather:#8b5a2b;--leather-d:#5e3a19;--mint:#7fb7a2;--sky:#8db3d6;--line:#4a301a24;--line-2:#4a301a3d;--grain:url(/brand/kraft/grain.webp);--radius:16px;--radius-lg:24px;--header-h:68px;--lift:0 2px 0 #5a37191f, 0 14px 26px -14px #5a371980;--shadow:0 2px 0 #5a371924, 0 22px 40px -18px #5a371999;--ease:cubic-bezier(.22, 1, .36, 1);--spring:cubic-bezier(.34, 1.56, .64, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;background:var(--kraft)}body{--font-body:var(--font-fredoka), "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", system-ui, sans-serif;--font-display:var(--font-kuaile), "PingFang SC", "Microsoft YaHei", sans-serif;--pixel:var(--font-pixel), "Courier New", monospace;background:var(--kraft) var(--grain);background-blend-mode:soft-light;min-height:100vh;color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0;font-size:15px;line-height:1.6}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:not-allowed}input{font:inherit;color:inherit}h1,h2,h3,p{margin:0}:focus-visible{outline:2px solid var(--felt);outline-offset:2px}.container{width:min(1240px,100% - 48px);margin-inline:auto}.page{flex-direction:column;min-height:100vh;display:flex}.page>main{flex:1}.paper,.site-header,.game-card,.recent,.collection,.feature-strip,.platform,.library-search,.empty-state,.game-about,.game-step,.guide-card,.player-info-card{background-color:var(--paper);background-image:var(--grain);background-blend-mode:soft-light}.section{margin-top:60px}.section-head{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:22px;display:flex}.section-head h2{font-family:var(--font-display);letter-spacing:.03em;font-size:clamp(26px,3vw,34px);font-weight:400;line-height:1.2}.section-kicker{font:600 12px/1 var(--font-body);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-2);margin-bottom:8px}.section-link{color:var(--ink-2);white-space:nowrap;background:0 0;border:0;padding:0;font-weight:700;transition:color .2s}.section-link:hover{color:var(--felt)}.section-cta{justify-content:center;margin-top:28px;display:flex}.btn{white-space:nowrap;height:44px;transition:transform .25s var(--spring), box-shadow .25s var(--spring), background-color .2s;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 22px;font-size:15px;font-weight:700;display:inline-flex}.btn:active{transform:translateY(3px)}.btn-primary{color:var(--paper);background:var(--felt) var(--grain);background-blend-mode:soft-light;box-shadow:0 4px 0 var(--felt-d), 0 10px 18px -8px #235557b3}.btn-primary:hover{box-shadow:0 6px 0 var(--felt-d), 0 14px 22px -8px #235557b3;transform:translateY(-2px)}.btn-primary:active{box-shadow:0 1px 0 var(--felt-d)}.btn-ghost{color:var(--ink);background:var(--paper) var(--grain);background-blend-mode:soft-light;box-shadow:0 4px 0 var(--paper-3), var(--lift)}.btn-ghost:hover{transform:translateY(-2px)}.btn-lg{height:52px;padding:0 30px;font-size:16px}.icon{fill:none;stroke:currentColor;stroke-width:2.1px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:20px;height:20px}.icon-btn{width:40px;height:40px;color:var(--ink-2);background:var(--paper-2) var(--grain);background-blend-mode:soft-light;box-shadow:0 3px 0 var(--paper-3);transition:transform .2s var(--spring), box-shadow .15s, background-color .2s;border:0;border-radius:13px;flex:none;place-items:center;display:inline-grid}.icon-btn:hover:not(:disabled){background-color:var(--paper)}.icon-btn:active:not(:disabled){box-shadow:0 1px 0 var(--paper-3);transform:translateY(2px)scale(.95)}.icon-btn:disabled{opacity:.45}kbd{min-width:28px;height:28px;font:700 12px/1 var(--font-body);color:var(--ink);background:var(--paper) var(--grain);background-blend-mode:soft-light;box-shadow:0 2px 0 var(--paper-3), 0 0 0 1.5px #4a301a29;border-radius:8px;place-items:center;padding:0 7px;display:inline-grid}kbd.wide{min-width:52px}.tag{height:22px;font:700 11px/1 var(--pixel);letter-spacing:.08em;border-radius:6px;align-items:center;padding:0 8px;display:inline-flex}.tag-system{color:var(--paper);background:var(--coral)}.site-header{z-index:40;background-color:#d9a273e6;background-image:var(--grain);-webkit-backdrop-filter:saturate(1.2)blur(8px);border-bottom:1px solid var(--line);position:sticky;top:0}.site-header-inner{width:min(1240px,100% - 48px);height:var(--header-h);align-items:center;gap:24px;margin-inline:auto;display:flex}.brand{flex:none;align-items:center;gap:10px;display:flex}.brand img{width:44px;height:44px;transition:transform .5s var(--spring);border-radius:50%;box-shadow:0 3px #4a301a33}.brand:hover img{transform:rotate(-10deg)scale(1.06)}.brand-word{font-family:var(--font-display);letter-spacing:.04em;flex-direction:column;font-size:22px;line-height:1;display:flex}.brand-word small{font:600 10px/1 var(--font-body);letter-spacing:.2em;color:var(--ink-3);margin-top:5px}.site-nav{background:#4a301a1a;border-radius:999px;gap:4px;padding:5px;display:flex}.site-nav a{color:var(--ink-2);transition:background-color .3s var(--ease), color .3s;border-radius:999px;padding:7px 16px;font-weight:700}.site-nav a:hover{color:var(--ink)}.site-nav a.active{color:var(--paper);background:var(--felt) var(--grain);background-blend-mode:soft-light;box-shadow:0 3px 0 var(--felt-d)}.header-search{width:min(300px,32vw);margin-left:auto;position:relative}.header-search svg,.library-search svg{fill:none;width:18px;height:18px;stroke:var(--ink-3);stroke-width:2.2px;stroke-linecap:round;pointer-events:none;position:absolute;top:50%;left:16px;transform:translateY(-50%)}.header-search input{background:var(--paper) var(--grain);background-blend-mode:soft-light;width:100%;height:42px;box-shadow:inset 0 2px 0 #4a301a14, 0 0 0 1.5px var(--line);border:0;border-radius:999px;outline:none;padding:0 16px 0 42px;transition:box-shadow .2s}.header-search input:focus{box-shadow:inset 0 2px 0 #4a301a14, 0 0 0 2px var(--felt)}.site-footer{background:var(--kraft-d) var(--grain);background-blend-mode:soft-light;border-top:1px solid var(--line);margin-top:90px;padding:34px 0 38px;position:relative}.site-footer-cat{pointer-events:none;transform-origin:50% 100%;width:140px;height:auto;animation:4s ease-in-out infinite breathe;position:absolute;top:-78px;right:max(24px,50% - 620px)}@keyframes breathe{50%{transform:scale(1.03,.97)}}.site-footer-inner{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px 30px;width:min(1240px,100% - 48px);margin-inline:auto;display:grid}.site-footer-brand{align-items:center;gap:12px;display:flex}.site-footer-brand img{border-radius:50%;width:40px;height:40px}.site-footer-brand strong{font-family:var(--font-display);font-size:19px;font-weight:400}.site-footer-brand p,.site-footer-note{color:var(--ink-2);font-size:13.5px}.site-footer nav{color:var(--ink-2);gap:18px;font-weight:700;display:flex}.site-footer nav a:hover{color:var(--ink)}.site-footer-note{color:var(--ink-3);grid-column:1/-1;font-size:12.5px}.card-grid{grid-template-columns:repeat(auto-fill,minmax(176px,1fr));gap:26px 20px;display:grid}.game-card{box-shadow:var(--lift);transition:transform .45s var(--spring), box-shadow .4s var(--ease);border-radius:16px;padding:8px 8px 12px;display:block;position:relative}.game-card:hover{transform:translateY(-6px);box-shadow:0 2px #5a371924,0 26px 40px -14px #5a37198c}.game-card-art{aspect-ratio:16/15;background:#1d1915;border-radius:10px;position:relative;overflow:hidden}.game-card-art img{object-fit:cover;width:100%;height:100%;image-rendering:pixelated;transition:transform .6s var(--ease)}.game-card:hover .game-card-art img{transform:scale(1.04)}.game-card-play{background:var(--coral) var(--grain);background-blend-mode:soft-light;width:40px;height:40px;box-shadow:0 3px 0 var(--coral-d);transition:transform .45s var(--spring);border-radius:50%;place-items:center;display:grid;position:absolute;bottom:8px;right:8px;transform:scale(0)rotate(-90deg)}.game-card:hover .game-card-play{transform:scale(1)rotate(0)}.game-card-play svg{width:17px;height:17px;fill:var(--paper)}.game-card-body{flex-direction:column;gap:2px;min-width:0;padding:10px 4px 0;display:flex}.game-card-body strong{white-space:nowrap;text-overflow:ellipsis;font-size:15px;overflow:hidden}.game-card-body span{font:600 12px/1.3 var(--font-body);color:var(--ink-3)}.hero{padding:56px 0 30px}.hero-inner{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:48px;width:min(1240px,100% - 48px);margin-inline:auto;display:grid}.kicker{font:600 12px/1 var(--font-body);letter-spacing:.18em;color:var(--ink-2);align-items:center;gap:10px;display:inline-flex}.kicker-dot{background:var(--coral);border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 4px #e7836a40}.hero h1{font-family:var(--font-display);letter-spacing:.02em;margin-top:18px;font-size:clamp(36px,4.6vw,60px);font-weight:400;line-height:1.16}.nowrap{white-space:nowrap}.hero h1 em{color:var(--paper);background:var(--coral) var(--grain);background-blend-mode:soft-light;box-shadow:0 5px 0 var(--coral-d);border-radius:12px;margin:0 .06em;padding:0 .16em;font-style:normal;display:inline-block}.hero-lede{max-width:520px;color:var(--ink-2);margin-top:18px;font-size:17px}.hero-search{background:var(--paper) var(--grain);background-blend-mode:soft-light;max-width:520px;box-shadow:var(--lift);border-radius:999px;gap:8px;margin-top:28px;padding:7px 7px 7px 22px;display:flex}.hero-search input{background:0 0;border:0;outline:none;flex:1;min-width:0;font-size:16px}.hero-quick{color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;font-size:13px;display:flex}.hero-quick a{color:var(--ink-2);background:var(--paper-2) var(--grain);background-blend-mode:soft-light;box-shadow:0 2px 0 var(--paper-3);transition:transform .25s var(--spring);border-radius:8px;padding:4px 12px;font-weight:700}.hero-quick a:hover{transform:translateY(-2px)}.hero-console{padding-top:70px;position:relative}.hero-cat{z-index:0;width:180px;height:auto;animation:peek 9s var(--ease) infinite;position:absolute;top:0;right:12%}@keyframes peek{0%,6%{transform:translateY(80px)}14%,70%{transform:translateY(0)}74%{transform:translateY(6px)}80%,to{transform:translateY(80px)}}.hero-girl{z-index:3;transform-origin:50% 100%;pointer-events:none;width:130px;height:auto;animation:5s ease-in-out infinite sway;position:absolute;bottom:-24px;left:-78px}@keyframes sway{50%{transform:rotate(1.5deg)translateY(-4px)}}.hero-bubble{z-index:4;background:var(--paper) var(--grain);background-blend-mode:soft-light;box-shadow:var(--lift);transform-origin:0 100%;animation:bubble 8s var(--spring) infinite;pointer-events:none;border-radius:16px 16px 16px 4px;padding:8px 14px;font-size:14px;font-weight:700;position:absolute;bottom:196px;left:-64px}@keyframes bubble{0%,10%{opacity:0;transform:scale(.4)}16%,62%{opacity:1;transform:scale(1)}68%,to{opacity:0;transform:scale(.6)}}.hero-screen{z-index:1;background:var(--felt) var(--grain);background-blend-mode:soft-light;box-shadow:var(--shadow), inset 0 -6px 0 #0000001f;transition:transform .6s var(--spring);border-radius:34px;padding:18px 18px 58px;display:block;position:relative}.hero-screen:hover{transform:translateY(-4px)}.hero-screen img{aspect-ratio:4/3;object-fit:cover;width:100%;image-rendering:pixelated;background:#000;border-radius:18px}.hero-screen-scan{pointer-events:none;background:linear-gradient(140deg,#ffffff24,#0000 40%),repeating-linear-gradient(0deg,#0000001a 0 1px,#0000 1px 3px);border-radius:18px;position:absolute;inset:18px 18px 58px;box-shadow:inset 0 0 40px #00000059}.hero-screen-label{text-align:right;max-width:60%;color:var(--paper);background:#2a2622b8;border-radius:14px;flex-direction:column;align-items:flex-end;gap:2px;padding:10px 14px;display:flex;position:absolute;bottom:74px;right:30px}.hero-screen-label small{font:600 11px/1.2 var(--font-body);letter-spacing:.16em;color:var(--butter)}.hero-screen-label strong{font-family:var(--font-display);font-size:22px;font-weight:400;line-height:1.2}.hero-screen-label span{opacity:.85;font-size:13px}.hero-screen-cta{height:36px;color:var(--paper);background:var(--coral) var(--grain);background-blend-mode:soft-light;box-shadow:0 3px 0 var(--coral-d);border-radius:999px;align-items:center;gap:8px;padding:0 18px;font-weight:700;display:inline-flex;position:absolute;bottom:12px;right:22px}.hero-screen-cta svg{fill:currentColor;width:14px;height:14px}.hero-picks{z-index:2;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0 0 80px;display:grid;position:relative}.hero-pick{background:var(--paper) var(--grain);background-blend-mode:soft-light;box-shadow:var(--lift);min-width:0;transition:transform .35s var(--spring);border-radius:14px;align-items:center;gap:10px;padding:6px;display:flex}.hero-pick:hover{transform:translateY(-3px)}.hero-pick img{object-fit:cover;width:44px;height:44px;image-rendering:pixelated;border-radius:9px;flex:none}.hero-pick span{flex-direction:column;min-width:0;display:flex}.hero-pick strong,.hero-pick small{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.hero-pick strong{font-size:13.5px}.hero-pick small{color:var(--ink-3);font-size:11.5px}.recent{border-radius:var(--radius-lg);box-shadow:var(--lift);padding:20px 24px 24px}.recent .section-head{margin-bottom:14px}.recent-row{scroll-snap-type:x mandatory;scrollbar-width:none;gap:16px;padding:4px 2px 6px;display:flex;overflow-x:auto}.recent-row::-webkit-scrollbar{display:none}.recent-item{scroll-snap-align:start;width:132px;transition:transform .4s var(--spring);flex:none}.recent-item:hover{transform:translateY(-6px)}.recent-art{background:var(--paper-3) var(--grain);background-blend-mode:soft-light;border-radius:10px 10px 4px 4px;padding:7px 7px 14px;display:block;box-shadow:inset 0 -5px #00000014,0 2px #00000014}.recent-art img{aspect-ratio:16/15;object-fit:cover;width:100%;image-rendering:pixelated;border-radius:6px}.recent-item strong{white-space:nowrap;text-overflow:ellipsis;margin-top:8px;font-size:13px;display:block;overflow:hidden}.collection-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;display:grid}.collection{color:var(--paper);box-shadow:var(--shadow);transition:transform .45s var(--spring);border-radius:22px;padding:18px 16px 16px}.collection:hover{transform:translateY(-4px)}.collection-0{background-color:var(--felt)}.collection-1{background-color:var(--coral)}.collection-2{background-color:var(--orange)}.collection-3{background-color:var(--leather)}.collection header{justify-content:space-between;align-items:baseline;margin-bottom:12px;display:flex}.collection h3{font-family:var(--font-display);font-size:22px;font-weight:400}.collection header span{opacity:.85;font-size:12px}.collection ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.collection li a{transition:background-color .2s, transform .3s var(--spring);background:#faf0d724;border-radius:12px;align-items:center;gap:10px;padding:6px;display:flex}.collection li a:hover{background:#faf0d742;transform:translate(3px)}.collection li img{object-fit:cover;width:40px;height:40px;image-rendering:pixelated;border-radius:8px;flex:none}.collection li span{flex-direction:column;min-width:0;display:flex}.collection li strong,.collection li small{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.collection li strong{font-size:14px}.collection li small{opacity:.8;font-size:11.5px}.feature-strip{box-shadow:var(--shadow);border-radius:30px;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;padding:34px 34px 34px 230px;display:grid;position:relative}.feature-girl{pointer-events:none;width:190px;height:auto;position:absolute;bottom:0;left:18px}.feature-strip article{align-content:start;gap:8px;display:grid}.feature-icon{width:46px;height:46px;color:var(--paper);background:var(--felt) var(--grain);background-blend-mode:soft-light;box-shadow:0 3px 0 var(--felt-d);border-radius:50%;place-items:center;display:grid}.feature-strip article:nth-of-type(2) .feature-icon{background-color:var(--coral);box-shadow:0 3px 0 var(--coral-d)}.feature-strip article:nth-of-type(3) .feature-icon{background-color:var(--orange);box-shadow:0 3px 0 var(--orange-d)}.feature-icon .icon{width:22px;height:22px}.feature-strip h3{font-family:var(--font-display);font-size:21px;font-weight:400}.feature-strip p{color:var(--ink-2);font-size:14px}.platform-grid{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:14px;display:grid}.platform{box-shadow:var(--lift);opacity:.72;border-radius:18px;flex-direction:column;align-items:center;gap:6px;padding:16px 10px 14px;display:flex}.platform.open{opacity:1}.platform img{object-fit:contain;width:58px;height:58px}.platform strong{font-size:14px}.platform span{color:var(--ink-3);font-size:12px}.platform.open span{color:var(--felt);font-weight:700}.library{padding-top:40px}.library-head h1{font-family:var(--font-display);font-size:clamp(32px,4vw,46px);font-weight:400;line-height:1.2}.library-head p{color:var(--ink-2);margin-top:6px}.library-filters{top:var(--header-h);z-index:20;background:#d9a273eb var(--grain);background-blend-mode:soft-light;-webkit-backdrop-filter:blur(8px);border-radius:0 0 22px 22px;margin:18px -12px 26px;padding:12px;position:sticky}.library-search{box-shadow:var(--lift);border-radius:999px;display:block;position:relative}.library-search input{background:0 0;border:0;border-radius:999px;outline:none;width:100%;height:54px;padding:0 50px 0 46px;font-size:16px}.library-search:focus-within{box-shadow:var(--lift), 0 0 0 2px var(--felt)}.library-search-clear{background:var(--paper-3);width:34px;height:34px;color:var(--ink-2);border:0;border-radius:50%;font-size:20px;line-height:1;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.chip-row{scrollbar-width:none;gap:8px;margin-top:12px;padding:2px 2px 6px;display:flex;overflow-x:auto}.chip-row::-webkit-scrollbar{display:none}.chip{height:36px;color:var(--ink-2);background:var(--paper-2) var(--grain);background-blend-mode:soft-light;box-shadow:0 3px 0 var(--paper-3);transition:transform .25s var(--spring), background-color .2s, color .2s;border:0;border-radius:999px;flex:none;padding:0 15px;font-size:14px;font-weight:700}.chip:hover{transform:translateY(-2px)}.chip.active{color:var(--paper);background-color:var(--felt);box-shadow:0 3px 0 var(--felt-d)}.chip-divider{background:var(--line-2);flex:none;width:1.5px;margin:6px 4px}.empty-state{text-align:center;max-width:520px;box-shadow:var(--lift);background-image:url(/brand/kraft/cat-sit.webp), var(--grain);background-position:50% 14px,0 0;background-repeat:no-repeat,repeat;background-size:100px,auto;border-radius:26px;margin:20px auto 0;padding:120px 28px 30px}.empty-state strong{font-family:var(--font-display);font-size:24px;font-weight:400}.empty-state p{color:var(--ink-2);margin-top:6px}.empty-actions{justify-content:center;gap:10px;margin-top:18px;display:flex}.pager{justify-content:center;align-items:center;gap:10px;margin-top:36px;display:flex}.pager button{min-width:40px;height:40px;color:var(--ink-2);background:var(--paper-2) var(--grain);background-blend-mode:soft-light;box-shadow:0 3px 0 var(--paper-3);border:0;border-radius:12px;padding:0 14px;font-weight:700}.pager button:disabled{opacity:.45}.pager button.active{color:var(--paper);background-color:var(--felt);box-shadow:0 3px 0 var(--felt-d)}.pager-numbers{align-items:center;gap:6px;display:flex}.pager-numbers span{color:var(--ink-3)}.game-stage{padding:18px 0 10px}.crumbs{color:var(--ink-2);align-items:center;gap:8px;margin-bottom:14px;font-size:13.5px;display:flex}.crumbs a:hover{color:var(--ink)}.crumbs span{color:var(--ink-3)}.game-about{box-shadow:var(--shadow);border-radius:28px;grid-template-columns:280px minmax(0,1fr);align-items:center;gap:30px;padding:26px;display:grid}.game-about-art img{width:100%;image-rendering:pixelated;box-shadow:0 0 0 8px var(--paper-2);border-radius:14px}.game-about-copy h2{font-family:var(--font-display);font-size:clamp(26px,3vw,34px);font-weight:400}.game-alt-names{color:var(--ink-3);margin-top:2px;font-size:13px}.game-about-copy>p:not(.section-kicker):not(.game-alt-names){color:var(--ink-2);margin-top:10px}.game-facts{flex-wrap:wrap;gap:10px;margin:18px 0 0;display:flex}.game-facts div{background:var(--paper-2);border-radius:12px;padding:8px 14px}.game-facts dt{color:var(--ink-3);font-size:11.5px}.game-facts dd{margin:0;font-weight:700}.game-steps{grid-template-columns:1fr 1fr;gap:14px;margin-top:22px;display:grid}.game-step{box-shadow:var(--lift);transition:transform .35s var(--spring);border-radius:18px;flex-direction:column;padding:14px 18px;display:flex}.game-step:hover{transform:translateY(-3px)}.game-step.next{text-align:right}.game-step small{color:var(--ink-3)}.game-step strong{font-size:16px}.player{position:relative}.player-stage{min-width:0;position:relative}.handheld-screen{justify-content:center;display:flex}.console-shell{isolation:isolate;flex-direction:column;width:max-content;max-width:100%;display:flex;position:relative}.shell-body{background:var(--paper) var(--grain);background-blend-mode:soft-light;box-shadow:inset 0 -6px 0 var(--paper-3), inset 0 2px 0 #fff9, 0 26px 50px -18px #140a00bf;border-radius:30px;padding:16px 16px 0;position:relative}.shell-bezel{background:#2b2420;border-radius:18px;padding:12px;box-shadow:inset 0 3px 8px #0009,0 1px #ffffff80}.shell-chin{align-items:center;gap:14px;height:46px;padding:0 6px 6px;display:flex}.shell-mark{font:700 13px/1 var(--pixel);letter-spacing:.14em;color:var(--ink-2);align-items:baseline;gap:6px;display:flex}.shell-mark small{background:var(--coral);color:var(--paper);letter-spacing:.1em;border-radius:5px;padding:3px 6px;font-size:9px}.shell-power{font:700 9px/1 var(--pixel);letter-spacing:.14em;color:var(--ink-3);align-items:center;gap:7px;margin-left:auto;display:flex}.shell-power i{background:#79d38a;border-radius:50%;width:9px;height:9px;animation:2.4s ease-in-out infinite led;box-shadow:0 0 0 2px #00000014,0 0 10px #79d38a}@keyframes led{50%{box-shadow:0 0 0 2px #00000014,0 0 3px #79d38a}}.console-shell.off .shell-power i,.console-shell.loading .shell-power i{background:var(--orange);box-shadow:0 0 0 2px #00000014, 0 0 10px var(--orange);animation-duration:1s}.shell-grille{gap:4px;display:flex}.shell-grille i{background:#4a301a38;border-radius:2px;width:4px;height:18px}.shell-cart{z-index:-1;background:var(--paper-3) var(--grain);background-blend-mode:soft-light;width:min(44%,240px);height:52px;animation:cart-in .9s var(--spring) both;border-radius:8px 8px 0 0;padding:6px 10px 0;position:absolute;top:-30px;left:50%;transform:translate(-50%);box-shadow:inset 0 2px #ffffff59}.shell-cart span{background:var(--coral) var(--grain);background-blend-mode:soft-light;height:20px;color:var(--paper);text-align:center;white-space:nowrap;text-overflow:ellipsis;font:400 14px/20px var(--font-display);letter-spacing:.08em;border-radius:4px;display:block;overflow:hidden}@keyframes cart-in{0%{opacity:0;transform:translate(-50%,-60px)}}.shell-cat{z-index:-1;pointer-events:none;width:112px;height:auto;transition:transform .5s var(--spring);position:absolute;top:-66px;left:8%}.console-shell.off .shell-cat{transform:translateY(44px)}.screen-frame{width:var(--screen-w,640px);background:#000;border-radius:8px;max-width:100%;position:relative;overflow:hidden}.emulator-mount{aspect-ratio:4/3;background:#000;width:100%;position:relative}.emulator-mount #game,.emulator-mount>iframe,.emulator-mount>canvas{width:100%!important;height:100%!important}.emulator-mount canvas{image-rendering:pixelated}#detail-screen-frame .ejs_menu_bar,#detail-screen-frame .ejs_virtualGamepad_parent,#detail-screen-frame .ejs_virtualGamepad_open{display:none!important}.screen-glass{z-index:1;pointer-events:none;background:linear-gradient(140deg,#ffffff1f,#fff0 36%),repeating-linear-gradient(0deg,#00000012 0 1px,#0000 1px 3px);position:absolute;inset:0;box-shadow:inset 0 0 50px #00000052}.screen-crt{z-index:3;pointer-events:none;animation:crt .9s var(--ease) forwards;background:#fff;position:absolute;inset:0}@keyframes crt{0%{clip-path:inset(49.4% 0);opacity:1}35%{clip-path:inset(49.4% 0);opacity:1}to{clip-path:inset(0);opacity:0}}.screen-overlay{z-index:2;color:var(--paper);background:#1b1714;place-items:center;display:grid;position:absolute;inset:0;overflow:hidden}.screen-overlay-art{object-fit:cover;opacity:.28;filter:blur(2px)saturate(.8);width:100%;height:100%;position:absolute;inset:0;transform:scale(1.04)}.screen-overlay-copy{z-index:1;text-align:center;flex-direction:column;align-items:center;gap:10px;padding:20px;display:flex;position:relative}.screen-overlay-copy strong{font-family:var(--font-display);text-shadow:0 2px #000;font-size:clamp(20px,3vw,30px);font-weight:400}.screen-overlay-copy p{color:#fbf4e6cc;align-items:center;gap:10px;font-size:14px;display:flex}.screen-overlay[data-phase=error] .screen-overlay-copy p,.screen-overlay[data-phase=unavailable] .screen-overlay-copy p{color:#ffc2b2}.loading-cart{background:var(--paper-3) var(--grain);background-blend-mode:soft-light;border-radius:9px 9px 4px 4px;width:96px;height:78px;padding:7px;animation:1.6s ease-in-out infinite cart-bob;display:block;box-shadow:0 6px 14px #0006}.loading-cart span{background:var(--coral) var(--grain);background-blend-mode:soft-light;height:46px;color:var(--paper);font-family:var(--font-display);border-radius:5px;place-items:center;padding:0 4px;font-size:13px;line-height:1.2;display:grid;overflow:hidden}@keyframes cart-bob{50%{transform:translateY(8px)}}.loading-dots{gap:4px;display:inline-flex}.loading-dots i{background:var(--butter);width:6px;height:6px;animation:.9s step-end infinite dot}.loading-dots i:nth-child(2){animation-delay:.15s}.loading-dots i:nth-child(3){animation-delay:.3s}@keyframes dot{0%,to{opacity:.2}40%{opacity:1}}.screen-paused{z-index:3;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fade-in .3s var(--ease);background:#2a262299;border:0;flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex;position:absolute;inset:0}.screen-paused img{width:min(40%,220px);height:auto;animation:settle .6s var(--spring)}@keyframes settle{0%{transform:translateY(30px)scale(.85)}}@keyframes fade-in{0%{opacity:0}}.screen-paused span{font:700 18px/1 var(--pixel);letter-spacing:.22em;color:var(--butter)}.screen-paused small{color:#fbf4e6bf}.screen-toast{z-index:4;color:var(--ink);background:var(--paper) var(--grain);background-blend-mode:soft-light;box-shadow:var(--lift);white-space:nowrap;animation:toast-in .4s var(--spring);pointer-events:none;border-radius:999px;padding:6px 16px;font-size:14px;font-weight:700;position:absolute;top:14px;left:50%;transform:translate(-50%)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-14px)}}.save-cheer{z-index:30;pointer-events:none;width:min(300px,60%);animation:cheer-in .6s var(--spring) both;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.save-cheer img{width:100%;height:auto}.save-cheer-say{white-space:nowrap;font-family:var(--font-display);background:var(--paper) var(--grain);background-blend-mode:soft-light;box-shadow:var(--lift);animation:say-in .5s var(--spring) .25s both;border-radius:16px;padding:8px 16px;font-size:20px;position:absolute;top:6%;left:50%;transform:translate(-50%)}@keyframes cheer-in{0%{transform:translate(-50%,100%)}}@keyframes say-in{0%{transform:translate(-50%)scale(0)}}.player-desktop{--screen-w:min(1080px, 100vw - 170px, calc((100vh - var(--header-h) - 330px) * 4 / 3))}.desk-stage{background:#2a211b var(--grain);background-blend-mode:soft-light;box-shadow:var(--shadow);border-radius:28px;flex-direction:column;align-items:center;gap:0;padding:0 24px 6px;display:flex;position:relative;overflow:hidden}.desk-bar{z-index:5;color:var(--paper);transition:opacity .5s var(--ease), transform .5s var(--ease);align-self:stretch;align-items:center;gap:12px;padding:14px 0 36px;display:flex;position:relative}.desk-title{align-items:center;gap:10px;min-width:0;margin-right:auto;display:flex}.desk-title h1{font-family:var(--font-display);white-space:nowrap;text-overflow:ellipsis;font-size:22px;font-weight:400;line-height:1.2;overflow:hidden}.desk-pad{color:#fbf4e6cc;background:#fbf4e614;border-radius:999px;align-items:center;gap:6px;height:34px;padding:0 12px;font-size:13px;display:inline-flex}.desk-pad.connected{color:var(--paper);background:#7fb7a24d}.desk-pad .icon{width:18px;height:18px}.desk-actions{gap:6px;display:flex}.desk-actions .icon-btn{color:var(--paper);box-shadow:none;background:#fbf4e61a}.desk-actions .icon-btn:hover:not(:disabled){background:#fbf4e633}.desk-screen{z-index:1;justify-content:center;max-width:100%;display:flex;position:relative}.desk-keys{z-index:5;color:#fbf4e6b8;transition:opacity .5s var(--ease), transform .5s var(--ease);flex-wrap:wrap;justify-content:center;gap:6px 16px;padding:16px 0 10px;font-size:13px;display:flex;position:relative}.desk-keys span{align-items:center;gap:5px;display:inline-flex}.desk-keys kbd{min-width:24px;height:24px;font-size:11px}.desk-keys kbd.wide{min-width:44px}.desk-stage.is-idle{cursor:none}.desk-stage.is-idle .desk-bar{opacity:0;transform:translateY(-10px)}.desk-stage.is-idle .desk-keys{opacity:0;transform:translateY(10px)}.desk-stage .save-cheer{width:min(260px,26%)}:-webkit-any(.desk-stage:fullscreen,.desk-stage:-webkit-full-screen){--screen-w:min(100vw - 120px, calc((100vh - 230px) * 4 / 3));border-radius:0;justify-content:center;width:100vw;height:100vh}:is(.desk-stage:fullscreen,.desk-stage:fullscreen){--screen-w:min(100vw - 120px, calc((100vh - 230px) * 4 / 3));border-radius:0;justify-content:center;width:100vw;height:100vh}:-webkit-any(.desk-stage:fullscreen .desk-bar,.desk-stage:-webkit-full-screen .desk-bar){padding-bottom:0;position:absolute;top:0;left:24px;right:24px}:is(.desk-stage:fullscreen .desk-bar,.desk-stage:fullscreen .desk-bar){padding-bottom:0;position:absolute;top:0;left:24px;right:24px}:-webkit-any(.desk-stage:fullscreen .desk-keys,.desk-stage:-webkit-full-screen .desk-keys){position:absolute;bottom:6px;left:0;right:0}:is(.desk-stage:fullscreen .desk-keys,.desk-stage:fullscreen .desk-keys){position:absolute;bottom:6px;left:0;right:0}.desk-stage:fullscreen .desk-screen{margin-top:30px}.player-info{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.1fr);align-items:start;gap:18px;margin-top:22px;display:grid}.player-info-card{box-shadow:var(--lift);border-radius:22px;padding:20px}.player-info-head h2{font-family:var(--font-display);font-size:26px;font-weight:400;line-height:1.2}.player-info-head p:not(.section-kicker){color:var(--ink-2);margin-top:6px}.player-save-note{font-size:13px;color:var(--ink-3)!important}.keymap-head{justify-content:space-between;align-items:baseline;margin-bottom:12px;display:flex}.keymap-head span{font-family:var(--font-display);font-size:19px}.keymap-head small{color:var(--felt);font-size:12.5px;font-weight:700}.keymap-head small kbd{min-width:22px;height:22px;font-size:11px}.keymap dl{gap:9px;margin:0;display:grid}.keymap dl div{grid-template-columns:46px minmax(0,1fr);align-items:center;gap:8px;display:grid}.keymap dt{color:var(--ink-3);font-size:13px;font-weight:700}.keymap dd{flex-wrap:wrap;align-items:center;gap:4px;margin:0;display:flex}.keymap em{color:var(--ink-3);margin:0 3px;font-size:12px;font-style:normal}.combo-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.combo-options button,.macro-picker button{text-align:left;background:var(--paper-2) var(--grain);background-blend-mode:soft-light;box-shadow:0 3px 0 var(--paper-3);transition:transform .25s var(--spring), background-color .2s, color .2s;border:0;border-radius:14px;flex-direction:column;align-items:flex-start;gap:2px;padding:9px 12px;display:flex}.combo-options button:hover,.macro-picker button:hover{transform:translateY(-2px)}.combo-options button strong,.macro-picker button strong{font-family:var(--font-display);font-size:16px;font-weight:400}.combo-options button span,.macro-picker button span{color:var(--ink-3);font-size:12px;line-height:1.4}.combo-options button[aria-pressed=true],.macro-picker button[aria-pressed=true]{color:var(--paper);background-color:var(--felt);box-shadow:0 3px 0 var(--felt-d)}.combo-options button[aria-pressed=true] span,.macro-picker button[aria-pressed=true] span{color:#fbf4e6cc}.pad-status{color:var(--ink-2);background:#4a301a0f;border-radius:14px;align-items:flex-start;gap:12px;margin-top:14px;padding:12px 14px;display:flex}.pad-status .icon{width:24px;height:24px;margin-top:2px}.pad-status div{flex-direction:column;min-width:0;display:flex}.pad-status strong{color:var(--ink);font-size:14px}.pad-status span{overflow-wrap:anywhere;font-size:12.5px}.pad-status.connected{background:#2f6f711f}.pad-status.connected .icon,.pad-status.connected strong{color:var(--felt)}body.handheld-mode .site-header,body.handheld-mode .crumbs,body.handheld-mode .site-footer{display:none}body.handheld-mode .game-stage{padding:0}body.handheld-mode .game-stage>.container{width:100%}body.handheld-mode{overscroll-behavior-y:none}body.handheld-landscape{overflow:hidden}.player-portrait,.player-landscape{background:var(--kraft) var(--grain);background-blend-mode:soft-light;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;flex-direction:column;display:flex;overflow:hidden}.player-portrait{height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.player-landscape{z-index:100;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);position:fixed;inset:0}.player-portrait .player-stage,.player-landscape .player-stage{flex-direction:column;flex:1;min-height:0;display:flex}.handheld-bar{flex:none;align-items:center;gap:8px;height:56px;padding:0 12px;display:flex}.handheld-title{min-width:0;font-family:var(--font-display);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:19px;font-weight:400;overflow:hidden}.handheld-bar-actions{gap:6px;display:flex}.handheld-bar .icon-btn{width:38px;height:38px}.player-portrait{--screen-w:min(100vw - 48px, calc(48dvh * 4 / 3))}.player-portrait:not(.player-touch){--screen-w:min(100vw - 48px, calc((100dvh - 170px) * 4 / 3))}.player-portrait .handheld-screen{flex:none;padding:2px 10px 0}.player-portrait:not(.player-touch) .handheld-screen{flex:1;align-items:center}.player-portrait .shell-body,.player-landscape .shell-body{box-shadow:inset 0 -4px 0 var(--paper-3), 0 14px 26px -14px #140a0099;border-radius:18px;padding:8px 8px 0}.player-portrait .shell-bezel{border-radius:12px;padding:6px}.player-portrait .screen-frame,.player-landscape .screen-frame{border-radius:4px}.player-portrait .shell-chin{gap:10px;height:28px;padding:0 4px 4px}.player-portrait .shell-mark{font-size:9px}.player-portrait .shell-mark small{padding:2px 4px;font-size:7px}.player-portrait .shell-grille i{width:3px;height:12px}.handheld-deck{flex:1;grid-template:"dpad actions"minmax(0,1fr)"meta meta"/minmax(0,1fr) auto;align-items:center;min-height:0;padding:4px max(16px,4vw) 12px;display:grid}.handheld-deck .touch-pad-zone{grid-area:dpad}.handheld-deck .touch-actions{grid-area:actions}.handheld-deck .touch-meta{grid-area:meta;justify-self:center}.player-landscape{--screen-w:min(100vw - 300px, calc((100dvh - 34px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) * 4 / 3))}.player-landscape .player-stage{flex-direction:row;align-items:stretch}.player-landscape .handheld-bar{top:env(safe-area-inset-top);left:env(safe-area-inset-left);right:env(safe-area-inset-right);z-index:5;pointer-events:none;height:46px;padding:0 10px;position:absolute}.player-landscape .handheld-bar>*{pointer-events:auto}.player-landscape .handheld-title{visibility:hidden}.player-landscape .handheld-bar .icon-btn{border-radius:10px;width:32px;height:32px}.player-landscape .handheld-bar-actions{gap:5px}.player-landscape .handheld-screen{flex:none;align-items:center;padding:6px 0}.player-landscape .shell-body{border-radius:14px;padding:5px}.player-landscape .shell-bezel{border-radius:10px;padding:4px}.handheld-side{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;min-width:0;padding-top:44px;display:flex}.handheld-left{padding-left:6px}.handheld-left .touch-pad-zone{flex:1;align-self:stretch}.handheld-right{padding-bottom:6px;padding-right:6px}.handheld-right .input-strip{align-self:stretch;padding:0 6px}.touch-toggle{z-index:6;background:var(--paper) var(--grain);background-blend-mode:soft-light;height:34px;box-shadow:var(--lift);white-space:nowrap;border:0;border-radius:999px;padding:0 14px;font-size:13px;font-weight:700;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.player-touch .touch-toggle{align-self:center;margin-bottom:8px;position:static;transform:none}.player-fullscreen.player-portrait{height:100%}.touch-pad-zone,.touch-actions,.touch-meta{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.touch-pad-zone{--dpad:clamp(132px, 38vw, 168px);min-height:var(--dpad);align-self:stretch;align-items:center;display:flex;position:relative}.player-landscape .touch-pad-zone{--dpad:clamp(118px, 17vw, 158px);justify-content:center}.touch-dpad-ghost{width:var(--dpad);height:var(--dpad);margin-top:calc(var(--dpad) / -2);opacity:0;transition:opacity .25s, transform .35s var(--spring);pointer-events:none;border:2px dashed #4a301a40;border-radius:50%;position:absolute;top:50%;left:0;transform:scale(.8)}.player-landscape .touch-dpad-ghost{margin-left:calc(var(--dpad) / -2);left:50%}.touch-pad-zone.floating .touch-dpad-ghost{opacity:1;transform:none}.touch-dpad{width:var(--dpad);height:var(--dpad);pointer-events:none;transition:translate .32s var(--spring);flex:none;position:relative}.touch-pad-zone.floating .touch-dpad{transition:translate .1s var(--ease)}.touch-dpad-cross{position:absolute;inset:6%}.touch-dpad .arm,.touch-dpad .hub{background:var(--leather) var(--grain);background-blend-mode:soft-light;transition:transform 60ms,box-shadow 60ms,filter 60ms;position:absolute}.touch-dpad .arm{box-shadow:0 4px 0 var(--leather-d), inset 0 1px 0 #ffffff1f}.touch-dpad .arm.up,.touch-dpad .arm.down{width:32%;height:37%;left:34%}.touch-dpad .arm.left,.touch-dpad .arm.right{width:37%;height:32%;top:34%}.touch-dpad .arm.up{border-radius:10px 10px 0 0;top:0}.touch-dpad .arm.down{border-radius:0 0 10px 10px;bottom:0}.touch-dpad .arm.left{border-radius:10px 0 0 10px;left:0}.touch-dpad .arm.right{border-radius:0 10px 10px 0;right:0}.touch-dpad .hub{inset:33.5%}.touch-dpad .hub:after{content:"";background:#0000002e;border-radius:50%;position:absolute;inset:24%}.touch-dpad[data-dir~=up] .arm.up,.touch-dpad[data-dir~=down] .arm.down,.touch-dpad[data-dir~=left] .arm.left,.touch-dpad[data-dir~=right] .arm.right{box-shadow:0 1px 0 var(--leather-d);filter:brightness(1.18);transform:translateY(3px)}.touch-actions{--face:clamp(62px, 18vw, 74px);--turbo:calc(var(--face) * .58);width:calc(var(--face) * 2 + 20px);height:calc(var(--face) + 26px + var(--turbo) + 12px);position:relative}.player-landscape .touch-actions{--face:clamp(54px, 8.8vw, 70px)}.touch-btn{font:700 calc(var(--face) * .34) / 1 var(--font-body);color:var(--paper);background-color:var(--c);background-image:var(--grain);background-blend-mode:soft-light;pointer-events:none;border-radius:50%;place-items:center;transition:transform 80ms,box-shadow 80ms,filter 80ms;display:grid;position:absolute}.touch-btn.face{width:var(--face);height:var(--face);box-shadow:0 5px 0 var(--d), 0 10px 14px -4px #3c1e0a80}.touch-btn.face-b{--c:var(--orange);--d:var(--orange-d);bottom:4px;left:0}.touch-btn.face-a{--c:var(--coral);--d:var(--coral-d);bottom:26px;right:0}.touch-btn.turbo,.touch-btn.macro{width:var(--turbo);height:var(--turbo);box-shadow:0 3px 0 var(--d)}.touch-btn.turbo{--c:var(--butter);--d:var(--butter-d);font-size:calc(var(--turbo) * .3);color:var(--ink-2);flex-direction:column}.touch-btn.turbo small{font:700 9px/1 var(--font-body);opacity:.75}.touch-btn.turbo-b{left:calc((var(--face) - var(--turbo)) / 2);bottom:calc(var(--face) + 12px)}.touch-btn.turbo-a{right:calc((var(--face) - var(--turbo)) / 2);bottom:calc(var(--face) + 34px)}.touch-btn.macro{--c:var(--felt);--d:var(--felt-d);margin-left:calc(var(--turbo) / -2);font:400 calc(var(--turbo) * .44) / 1 var(--font-display);top:0;left:50%}.touch-btn[data-active=true]{filter:brightness(1.1);transform:translateY(4px)scale(.95)}.touch-btn.face[data-active=true]{box-shadow:0 1px 0 var(--d), 0 4px 8px -4px #3c1e0a80}.touch-btn.turbo[data-active=true],.touch-btn.macro[data-active=true]{box-shadow:0 0 0 var(--d)}.touch-btn.turbo[data-lock=true]{--c:var(--coral);--d:var(--coral-d);color:var(--paper)}.touch-btn.turbo[data-lock=true]:after{content:"";border:2px dashed var(--coral);border-radius:50%;animation:2.4s linear infinite spin;position:absolute;inset:-6px}@keyframes spin{to{transform:rotate(360deg)}}.touch-bridge{left:50%;bottom:calc(var(--face) / 2 - 2px);width:calc(var(--face) * .55);height:20px;margin-left:calc(var(--face) * -.275);font:700 9px/1 var(--font-body);color:var(--ink-3);pointer-events:none;background:#4a301a1f;border-radius:10px;place-items:center;transition:background-color .1s,color .1s;display:grid;position:absolute;transform:rotate(-17deg)}.touch-actions[data-chord=true] .touch-bridge{background:var(--butter);color:var(--ink)}.touch-meta{gap:16px;padding:6px;display:flex}.touch-pill{width:76px;height:28px;font:700 10px/1 var(--pixel);letter-spacing:.1em;color:var(--ink-2);background:var(--paper-2) var(--grain);background-blend-mode:soft-light;box-shadow:0 3px 0 var(--paper-3);border-radius:999px;place-items:center;transition:transform 80ms,box-shadow 80ms;display:grid;position:relative}.touch-pill[data-active=true]{box-shadow:0 0 0 var(--paper-3);transform:translateY(3px)}.player-landscape .touch-meta{gap:8px;padding:0 0 6px}.player-landscape .touch-pill{width:60px;height:24px;font-size:8px}.input-strip{flex:none;align-items:center;gap:8px;height:34px;margin-top:10px;padding:0 14px;display:flex;position:relative}.macro-chip{height:26px;font:400 13px/1 var(--font-display);color:var(--paper);background:var(--felt) var(--grain);background-blend-mode:soft-light;box-shadow:0 2px 0 var(--felt-d);border:0;border-radius:999px;flex:none;align-items:center;gap:2px;padding:0 6px 0 10px;display:inline-flex}.macro-chip svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.strip-chips{flex:1;justify-content:flex-end;gap:5px;min-width:0;display:flex;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 36px);mask-image:linear-gradient(90deg,#0000,#000 36px)}.strip-chip{min-width:24px;height:22px;font:700 12px/1 var(--font-body);color:var(--ink-2);background:var(--paper-2) var(--grain);background-blend-mode:soft-light;box-shadow:0 2px 0 var(--paper-3);animation:chip-in .3s var(--spring) both;border-radius:7px;flex:none;place-items:center;padding:0 6px;display:grid}.strip-chip.chord{background-color:var(--butter);color:var(--ink)}.strip-chip.combo{color:var(--paper);background-color:var(--coral);box-shadow:0 2px 0 var(--coral-d);font:400 13px/1 var(--font-display);padding:0 8px}@keyframes chip-in{0%{opacity:0;transform:translateY(8px)scale(.6)}}.macro-picker{z-index:20;background:var(--paper) var(--grain);background-blend-mode:soft-light;box-shadow:var(--shadow);animation:picker-in .35s var(--spring);border-radius:20px;gap:8px;padding:14px;display:grid;position:absolute;bottom:calc(100% + 8px);left:10px;right:10px}.macro-picker>p{color:var(--ink-2);font-size:13px}@keyframes picker-in{0%{opacity:0;transform:translateY(10px)scale(.96)}}.player-landscape .input-strip{margin-top:4px;padding:0}.player-landscape .strip-chips{display:none}.player-landscape .macro-picker{width:min(300px,70vw);left:auto;right:0}.guide{max-width:880px;padding-top:44px}.guide-head h1{font-family:var(--font-display);font-size:clamp(32px,4.4vw,48px);font-weight:400;line-height:1.2}.guide-head>p:not(.section-kicker){color:var(--ink-2);margin-top:10px;font-size:16px}.guide-jump{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.guide-jump a{color:var(--ink-2);background:var(--paper-2) var(--grain);background-blend-mode:soft-light;box-shadow:0 3px 0 var(--paper-3);border-radius:999px;padding:6px 14px;font-weight:700}.guide-card{box-shadow:var(--lift);scroll-margin-top:calc(var(--header-h) + 16px);border-radius:24px;margin-top:26px;padding:26px}.guide-card h2{font-family:var(--font-display);font-size:26px;font-weight:400}.guide-note{color:var(--ink-2);margin-top:6px}.guide-table{border-collapse:collapse;width:100%;margin-top:14px}.guide-table th,.guide-table td{border-top:1px solid var(--line);text-align:left;vertical-align:middle;padding:10px 0}.guide-table th{width:150px;color:var(--ink-3);font-weight:700}.guide-table td{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.guide-table td span{align-items:center;gap:4px;display:inline-flex}.guide-table em{color:var(--ink-3);margin:0 4px;font-style:normal}.guide-touch{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px;display:grid}.guide-touch article{background:var(--paper-2);border-radius:16px;padding:16px}.guide-touch h3{font-family:var(--font-display);font-size:18px;font-weight:400}.guide-touch p{color:var(--ink-2);margin-top:4px;font-size:14px}.faq{gap:8px;margin-top:12px;display:grid}.faq details{background:var(--paper-2);border-radius:14px;padding:12px 16px}.faq summary{cursor:pointer;font-weight:700}.faq details p{color:var(--ink-2);margin-top:6px}@media (max-width:1080px){.collection-grid,.player-info{grid-template-columns:repeat(2,minmax(0,1fr))}.player-info-head{grid-column:1/-1}}@media (max-width:900px){.hero-inner{grid-template-columns:1fr;gap:30px}.hero-console{width:100%;max-width:560px;margin-inline:auto}.game-about{grid-template-columns:220px minmax(0,1fr)}.feature-strip{grid-template-columns:1fr;padding:28px 28px 28px 200px}.desk-pad{display:none}}@media (max-width:720px){:root{--header-h:58px}body{font-size:14.5px}.container,.site-header-inner,.site-footer-inner,.hero-inner{width:calc(100% - 32px)}.site-header-inner{gap:12px}.brand img{width:38px;height:38px}.brand-word{font-size:19px}.brand-word small{display:none}.site-nav{margin-left:auto}.site-nav a{padding:6px 11px;font-size:14px}.site-nav a:first-child,.header-search{display:none}.hero{padding:30px 0 20px}.hero-lede{font-size:15px}.hero-search .btn{padding:0 16px}.hero-console{padding-top:60px}.hero-cat{width:130px}.hero-girl,.hero-bubble{display:none}.hero-screen{border-radius:26px;padding:12px 12px 48px}.hero-screen-scan{inset:12px 12px 48px}.hero-screen-label{bottom:60px;right:22px}.hero-screen-cta{bottom:7px}.hero-picks{grid-template-columns:1fr;gap:8px;margin-left:0}.section{margin-top:44px}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}.game-card-play{display:none}.collection-grid{grid-template-columns:1fr}.feature-strip{padding:22px 22px 180px}.feature-girl{width:150px;left:auto;right:16px}.recent{padding:16px}.library{padding-top:22px}.library-filters{border-radius:0;margin:14px -16px 18px;padding:10px 16px}.library-search input{height:48px}.pager{gap:6px}.pager>button{padding:0 10px}.pager-numbers button{min-width:34px;padding:0 6px}.game-about{grid-template-columns:1fr;gap:18px;padding:18px}.game-about-art{max-width:320px}.player-info,.site-footer-inner{grid-template-columns:1fr}.site-footer-cat{width:100px;top:-56px}.guide-card{padding:18px}.guide-table th{width:96px}.guide-touch{grid-template-columns:1fr}}@media (orientation:landscape) and (max-height:380px){.player-landscape .touch-pad-zone{--dpad:clamp(108px, 15vw, 140px)}.player-landscape .touch-actions{--face:clamp(50px, 8vw, 62px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.touch-pill:before{content:"";border-radius:999px;position:absolute;inset:-9px -8px}.touch-btn[data-active=true],.touch-pill[data-active=true],.touch-dpad[data-dir~=up] .arm.up,.touch-dpad[data-dir~=down] .arm.down,.touch-dpad[data-dir~=left] .arm.left,.touch-dpad[data-dir~=right] .arm.right{transition-duration:0s}.touch-btn:before{content:"";box-shadow:0 0 0 3px var(--c);opacity:0;border-radius:50%;transition:opacity .18s,transform .18s;position:absolute;inset:-5px;transform:scale(.9)}.touch-btn[data-active=true]:before{opacity:.45;transition-duration:0s;transform:scale(1)}.latency-hud{z-index:60;top:calc(8px + env(safe-area-inset-top));color:#f7ecd9;pointer-events:none;white-space:nowrap;background:#1e140cd1;border-radius:8px;gap:2px;padding:6px 10px;font:600 11px/1.35 ui-monospace,SFMono-Regular,Menlo,monospace;display:grid;position:fixed;left:50%;transform:translate(-50%)}.latency-hud strong{letter-spacing:.08em;opacity:.7;font-size:10px}

