*{box-sizing:border-box}html{color-scheme:light}body{margin:0;background:#f4e7df;color:#332a27;font-family:"PingFang SC","Microsoft YaHei",system-ui,sans-serif;--shell:#f8ead6;--highlight:#fff9ed;--trim:#e5758c;--trim-dark:#b83f50;--edge:#e9bba5;--ink:#382925;--accent:#ba3f46;--panel:#ffe6e2;--shade:#bf9077}body[data-theme=kuromi]{background:#25212c;--shell:#ede3e6;--highlight:#fff6f8;--trim:#7a4064;--trim-dark:#352d3c;--edge:#b98ca2;--ink:#302b38;--accent:#a82f67;--panel:#f2e4ec;--shade:#9c7b8b}button,input,select,a{font:inherit;-webkit-tap-highlight-color:transparent}button,a,select{touch-action:manipulation}button,a{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #71483c;outline-offset:3px}[hidden]{display:none!important}.console{position:relative;max-width:1180px;min-height:100dvh;margin:auto;padding:55px 14px 54px;border:7px solid var(--trim);border-radius:42px;background:radial-gradient(ellipse at 15% 12%,#ffffff85,transparent 65%),linear-gradient(100deg,var(--shell),var(--highlight) 45%,var(--shell));box-shadow:inset 0 0 0 2px #ffffffb0,inset 0 0 0 5px var(--edge),0 6px 25px #0004}.console:before,.console:after{content:"✦";position:absolute;top:22px;color:var(--accent);font-size:22px;line-height:1}.console:before{left:18px}.console:after{right:18px}.console-head{position:relative;display:flex;align-items:center;gap:12px;min-height:115px;padding:20px 12px 18px;border:1px solid var(--edge);border-radius:30px;background:linear-gradient(#fff8,var(--shell));box-shadow:inset 0 3px 4px #fff,0 4px 0 var(--shade);margin-bottom:15px}.mascot{position:absolute;z-index:2;width:138px;height:138px;object-fit:contain;top:-98px;left:50%;transform:translateX(-50%);pointer-events:none}.speaker{position:absolute;top:10px;width:38px;height:6px;border-radius:5px;background:repeating-linear-gradient(120deg,transparent 0 5px,var(--shade) 5px 8px)}.speaker.left{left:18px}.speaker.right{right:18px}.cross-key{width:48px;height:48px;flex:0 0 48px;background:linear-gradient(145deg,#db6870,#a42431);clip-path:polygon(32% 0,68% 0,68% 32%,100% 32%,100% 68%,68% 68%,68% 100%,32% 100%,32% 68%,0 68%,0 32%,32% 32%);filter:drop-shadow(0 3px 2px #0009)}[data-theme=kuromi] .cross-key{background:linear-gradient(145deg,#595460,#211d27)}.lcd{position:relative;display:flex;align-items:center;gap:9px;min-width:0;flex:1;min-height:74px;padding:13px 11px;border:6px solid #45424b;border-radius:17px;background:linear-gradient(110deg,#9bb264,#d0e3a5 55%,#a9c378);box-shadow:inset 2px 3px 8px #26361780,0 2px 1px white;color:#293c26}.lcd img{width:40px;height:40px;object-fit:cover;border-radius:9px}.lcd>div{min-width:0;flex:1}.lcd h1{margin:0;font-size:clamp(13px,3.7vw,25px);line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:800}.lcd p{margin:1px 0 0;font-size:12px;line-height:1.3}.battery{position:absolute;right:9px;top:6px;width:19px;height:8px;border:1px solid #405233;background:repeating-linear-gradient(90deg,transparent 0 3px,#405233 3px 5px)}.paw-keys{width:39px;flex:0 0 39px;display:grid;gap:6px;transform:rotate(-22deg)}.paw-keys i{width:31px;height:31px;border:2px solid var(--highlight);border-radius:50%;background:linear-gradient(120deg,#ff97ad,#cc335b);box-shadow:0 2px 1px #802841,inset 0 2px 2px #fffc;color:#ffe9eb;font-size:22px;text-align:center;line-height:23px;font-style:normal}.paw-keys i:last-child{margin-left:9px}.home-buttons{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:12px 0}.home-buttons a{padding:7px 15px;border-radius:12px;border:1px solid var(--edge);background:var(--highlight);font-size:13px;box-shadow:0 2px var(--shade)}.announcement{display:flex;gap:9px;align-items:center;height:32px;padding:0 12px;border:2px solid var(--edge);border-radius:20px;background:linear-gradient(90deg,#6d2838,#8d4652,#5c2e42);color:#fff4e6;box-shadow:inset 0 1px 3px #0005;margin:16px 0 23px}.announcement svg{width:23px;height:23px;flex-shrink:0;fill:currentColor;stroke:currentColor;stroke-width:1.5}.announcement>div{overflow:hidden;min-width:0;flex:1}.announcement span{display:block;width:max-content;white-space:nowrap;padding-left:100%;font-size:12px;animation:marquee 18s linear infinite}@keyframes marquee{to{transform:translateX(-100%)}}.partners{position:relative;margin:0 0 20px;padding:27px 12px 14px;border:3px solid var(--trim);border-radius:24px;background:linear-gradient(120deg,#fff5df,var(--panel));box-shadow:inset 0 0 0 2px #fffb,0 4px 0 var(--shade);outline:1px solid #fff7;outline-offset:2px}.partners h2{position:absolute;left:50%;top:-19px;transform:translateX(-50%);white-space:nowrap;padding:7px 24px;margin:0;border:2px solid var(--trim-dark);border-radius:24px;background:linear-gradient(var(--highlight),var(--panel));font-size:19px;color:var(--ink);box-shadow:inset 0 2px #fff,0 2px 2px #0003}.bow{position:absolute;left:50%;top:-12px;width:27px;height:14px;transform:translateX(-50%);background:var(--accent);clip-path:polygon(0 0,45% 27%,55% 27%,100% 0,100% 100%,55% 73%,45% 73%,0 100%)}.partner-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px 8px}.partner{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:0}.partner img,.partner-fallback{display:grid;place-items:center;width:100%;aspect-ratio:1;max-width:78px;object-fit:cover;border-radius:12px;border:1px solid var(--trim-dark);background:var(--shell);box-shadow:0 2px 2px #0002}.partner span:last-child{font-size:12px;font-weight:700;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-row{display:flex;gap:8px;margin:0 0 15px}.search{display:flex;align-items:center;flex:1;gap:7px;min-width:0;padding:0 11px;border:2px solid var(--edge);border-radius:20px;background:var(--highlight);box-shadow:inset 0 2px 2px #fff,0 2px 0 var(--shade)}.search svg{width:20px;height:20px;stroke:var(--ink);stroke-width:2;fill:none;flex-shrink:0}.search input{border:0;outline:0;background:none;width:100%;height:39px;font-size:14px;color:var(--ink)}.search-row select{max-width:36%;padding:0 9px;border:2px solid var(--edge);border-radius:20px;background:var(--highlight);font-size:13px;font-weight:700;color:var(--ink);box-shadow:0 2px 0 var(--shade)}.games-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px 10px}.game-card{min-width:0;cursor:pointer}.game-thumbnail{position:relative;aspect-ratio:1!important;padding:5px;border:1px solid var(--edge);border-radius:14px;background:linear-gradient(125deg,var(--highlight),var(--shell));box-shadow:inset 0 2px #fff,0 3px 0 var(--shade),0 4px 5px #0002;overflow:hidden}.game-thumbnail:before{content:"";position:absolute;top:0;left:35%;width:30%;height:4px;background:var(--accent);border-radius:0 0 4px 4px;z-index:1}.game-thumbnail img{width:100%;height:100%;object-fit:cover;display:block;border-radius:9px;background:var(--panel)}.game-thumbnail img.error{opacity:.3}.game-title{text-align:center;padding:7px 0 0;font-weight:700;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.play-badge,.ad-badge{position:absolute;z-index:1;font-size:9px;font-weight:700;color:white;background:var(--accent);padding:3px 5px;border-radius:0 0 7px 0;top:5px;left:5px}.play-badge{top:auto;bottom:5px;right:5px;left:auto;border-radius:7px 0 7px 0;background:#4e3434ce}.bottom-pager{display:flex;align-items:center;justify-content:center;gap:20px;margin:24px 0 10px}.bottom-pager button,.status-message button{border:1px solid var(--trim-dark);border-radius:12px;padding:8px 14px;background:var(--highlight);color:var(--ink)}button:disabled{opacity:.4;cursor:default}.lcd-footer{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,1180px);z-index:10;display:flex;justify-content:space-between;gap:10px;padding:5px 15px calc(5px + env(safe-area-inset-bottom));font-size:11px;color:#2b3b26;border:3px solid var(--edge);border-bottom:0;border-radius:14px 14px 0 0;background:linear-gradient(90deg,#a0ba75,#c4d99a,#9bb56f);box-shadow:inset 0 1px 5px #33492666}.status-message,.empty-state{grid-column:1/-1;text-align:center;padding:35px 10px;font-size:14px}.skeleton-img{aspect-ratio:1;background:linear-gradient(100deg,var(--shell),var(--highlight),var(--shell));border-radius:14px;animation:pulse 1s infinite alternate}.skeleton-title{height:16px;margin:8px;background:var(--shell)}@keyframes pulse{to{opacity:.3}}.game-page-overlay{position:fixed;inset:0;z-index:1000;background:#101014}.game-page-frame{border:0;width:100%;height:100%;display:block}.game-overlay-open{overflow:hidden}.game-overlay-close{position:absolute;right:12px;top:calc(12px + env(safe-area-inset-top));z-index:4;width:38px;height:38px;border:1px solid #fff7;border-radius:50%;background:#000a;color:white;font-size:27px}.embedded-game-fullscreen .game-overlay-close{display:none}.game-frame-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#111;color:#fff;pointer-events:none}.game-frame-loading.loaded{opacity:0}.game-frame-loading-note{font-size:12px;color:#aaa}.notice-overlay{position:fixed;inset:0;z-index:1100;display:grid;place-items:center;background:#24121bbd;padding:20px}.notice-dialog{position:relative;max-width:430px;width:100%;max-height:85dvh;overflow:auto;background:var(--highlight);border:3px solid var(--trim);border-radius:22px;box-shadow:0 18px 70px #0008}.notice-close{position:sticky;display:block;margin:6px 6px -40px auto;top:6px;width:34px;height:34px;border:0;border-radius:50%;background:#fff9;color:var(--ink);font-size:25px;z-index:2}.notice-dialog img{display:block;width:100%;max-height:42vh;object-fit:contain}.notice-copy{padding:20px}.notice-copy h2{font-size:20px;margin:0 0 10px}.notice-copy p{font-size:14px;white-space:pre-wrap;line-height:1.8;max-height:25vh;overflow:auto}.notice-copy label{display:block;font-size:12px}.notice-action{display:block;text-align:center;margin-top:15px;padding:12px;border-radius:12px;background:var(--accent);color:#fff}.notice-copy a:not([href]){cursor:pointer}@media(min-width:768px){.console{padding:75px 30px 65px;margin:25px auto}.console-head{max-width:740px;margin:0 auto 20px}.mascot{width:175px;height:175px;top:-120px}.lcd{min-height:90px}.lcd h1{font-size:27px}.lcd p{font-size:16px}.partner-grid{grid-template-columns:repeat(10,minmax(0,1fr));gap:16px}.partners{padding:35px 22px 20px}.announcement{height:38px}.announcement span{font-size:15px}.games-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:20px 17px}.game-title{font-size:15px}.search-row{max-width:700px;margin:0 auto 22px}.search input{height:43px}.lcd-footer{font-size:12px}.partner span:last-child{font-size:13px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important}.announcement span{padding-left:0}}
/* 专属机身素材：屏幕文字始终由 HTML 渲染，不把整页做成图片。 */
body .console{padding-top:0;overflow:hidden}
body .console-head{display:block;aspect-ratio:3;min-height:0;padding:0;border:0;border-radius:0;background:transparent url('../kitty/assets/header.png') center/100% 100% no-repeat;box-shadow:none;margin:0 -10px 10px;width:calc(100% + 20px)}
body[data-theme=kuromi] .console-head{background-image:url('../kuromi/assets/header.png')}
body .console-head .mascot,body .console-head .speaker,body .cross-key,body .paw-keys,body .battery{display:none}
body .console-head .lcd{position:absolute;left:21.5%;top:30%;width:57%;height:56%;min-height:0;padding:3px 5px;border:0;border-radius:0;background:none;box-shadow:none;gap:7px}
body .lcd img{width:30px;height:30px;border-radius:7px}
body .lcd h1{font-size:clamp(14px,3.7vw,23px);line-height:1.3}
body .lcd p{font-size:11px;line-height:1.3}
body .console:before,body .console:after{display:none}
@media(min-width:768px){body .console{padding-top:0}body .console-head{max-width:760px;margin:0 auto 15px;width:100%}body .lcd img{width:46px;height:46px}body .lcd h1{font-size:28px}body .lcd p{font-size:17px}}
/* 透明机壳、缝线及搪瓷标牌，与两套掌机概念保持同一材质。 */
body .console{border-color:var(--trim);box-shadow:inset 0 0 0 2px #fff,inset 0 0 0 5px var(--edge),inset 0 0 0 7px #fff8,0 0 0 2px var(--trim-dark),0 8px 30px #0004}
body .partners{background:repeating-linear-gradient(45deg,transparent 0 16px,#fff3 16px 17px),repeating-linear-gradient(-45deg,transparent 0 16px,#fff3 16px 17px),linear-gradient(110deg,#fff3e9,var(--panel));border-width:5px;box-shadow:inset 0 0 0 2px #fff,inset 0 0 0 4px var(--edge),0 3px 0 var(--trim-dark),0 6px 8px #83525d44}
body .partners:before{content:"";position:absolute;inset:7px;border:1px dashed var(--trim);border-radius:14px;pointer-events:none}
body .partners h2{top:-23px;border:3px double var(--edge);background:linear-gradient(#fff7f0,#f6d3c5 48%,#e3ae9c);box-shadow:inset 0 2px 1px white,0 2px 0 var(--trim-dark),0 3px 5px #0004;text-shadow:0 1px #fff}
body[data-theme=kuromi] .partners h2{background:linear-gradient(#66505e,#302733);color:#fff3ed;text-shadow:0 1px #000}
body .partner-grid{position:relative;z-index:1}
body .game-thumbnail{box-shadow:inset 0 0 0 1px #fff,inset 0 2px 3px #fff,0 3px 0 var(--shade),0 5px 6px #0003}
