
:root{--paper:#f0f0e8;--ink:#34382d;--muted:#92958a;--olive:#777e57;--lcd:#b5c387;--dark:#34452b;--mid:#657746;--light:#91a369;--device-scale:1;font-family:"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--paper);min-width:320px}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.15;z-index:20;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23646a53' opacity='.25' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}
button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus,a:focus{outline:2px solid #69764b;outline-offset:5px}button:focus:not(:focus-visible),a:focus:not(:focus-visible){outline:none}button:focus-visible,a:focus-visible{outline:2px solid #69764b;outline-offset:5px}button{touch-action:manipulation}::selection{background:#d2d8b8}svg{display:block}button:disabled{cursor:default}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.masthead{height:64px;display:flex;align-items:center;justify-content:center;gap:9px;font-size:9px;letter-spacing:3px;color:#9a9d91}.masthead:before{content:"";width:3px;height:3px;background:#929782}.layout{width:calc(100% - 88px);width:min(1240px,calc(100% - 88px));min-height:calc(100vh - 112px);min-height:calc(100svh - 112px);margin:auto;display:grid;grid-template-columns:minmax(210px,1fr) calc(448px * var(--device-scale)) minmax(190px,.8fr);grid-gap:36px;gap:36px;grid-gap:clamp(24px,3.7vw,56px);gap:clamp(24px,3.7vw,56px);align-items:center}.intro{padding-bottom:22px}.edition{display:flex;align-items:center;gap:10px;font:9px "Courier New",monospace;letter-spacing:2px;color:#8d9283}.edition span{border:1px solid #c9ccbf;padding:5px 4px;letter-spacing:0}h1{font-family:"Songti SC","STSong","Noto Serif CJK SC",SimSun,serif;font-weight:400;font-size:40px;font-size:clamp(36px,3.8vw,53px);line-height:1.35;letter-spacing:-2px;margin:27px 0 23px;white-space:nowrap}h1 em{display:block;font-weight:400;color:#777e5b;font-style:italic;letter-spacing:-3px}.intro-description{font-size:12px;line-height:2;color:#878d7e;margin:0;white-space:nowrap}.author{margin-top:33px;position:relative;padding-top:23px;display:flex;gap:16px;align-items:center}.author:before{content:"";position:absolute;top:0;left:0;width:27px;height:1px;background:#cbd0c2}.author-cross{font-size:21px;font-weight:200;color:#9da38e}.author-name{font-family:"Songti SC",SimSun,serif;letter-spacing:3px;font-size:15px}.author-role{font-size:9px;letter-spacing:1px;color:#969b8c;margin-top:7px}.explore-note{margin:60px 0 0 12px;color:#828970;font-family:"Songti SC",SimSun,serif;font-style:italic;font-size:17px;position:relative;white-space:nowrap;transform:rotate(-7deg)}.explore-note svg{margin:4px 0 0 104px;width:96px;height:43px;transform:rotate(7deg)}
.stage{height:calc(726px * var(--device-scale));width:calc(448px * var(--device-scale));position:relative;isolation:isolate}.device{position:absolute;left:50%;top:50%;width:390px;height:690px;transform:translate(-50%,-50%) rotate(-5deg) scale(var(--device-scale));transform-origin:center;background:linear-gradient(111deg,#eeeee4 0%,#e3e3d9 57%,#ddddd3 100%);border-radius:19px 19px 83px 20px;border:1px solid #c4c6b9;box-shadow:inset 3px 3px 2px #fffff0,inset -4px -5px 3px #c1c4b6,inset -8px -9px 0 #d5d8cb,3px 7px 0 #c4c8ba,5px 11px 0 -1px #c8cbbf,10px 18px 19px -9px #858d7560,23px 40px 37px -21px #7e876151,42px 63px 70px -27px #717b5845;user-select:none;-webkit-user-select:none}.device:before{content:"";position:absolute;top:5px;right:5px;bottom:5px;left:5px;border:1px solid #f6f6ec;border-right-color:#cbcebf;border-bottom-color:#bfc3b3;border-radius:14px 14px 78px 15px;pointer-events:none}.device:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border-radius:inherit;opacity:.21;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23767c69' filter='url(%23n)' opacity='.27' d='M0 0h100v100H0z'/%3E%3C/svg%3E")}.top-seam{position:absolute;top:28px;left:1px;right:2px;height:2px;background:#b9c0b159;box-shadow:0 2px 1px #f9faed}.top-seam:before,.top-seam:after{content:"";position:absolute;width:2px;height:28px;background:#c1c5b653;top:-28px;box-shadow:1px 0 #f9faed}.top-seam:before{left:18px}.top-seam:after{right:18px}.power-label{position:absolute;left:24px;top:9px;color:#8e9683;font:bold 7px "Courier New",monospace;letter-spacing:1px}.power-switch{position:absolute;left:51px;top:-12px;width:53px;height:31px;border:none;background:none;padding:0;z-index:4}.power-track{display:block;position:absolute;left:1px;top:6px;width:49px;height:12px;background:#9ba18f;border-radius:3px;box-shadow:inset 1px 2px 2px #4b534255,0 1px #fff}.power-knob{position:absolute;width:29px;height:13px;left:18px;top:-3px;background:repeating-linear-gradient(90deg,#8c9283 0px,#8c9283 2px,#b1b6a8 2px,#b1b6a8 4px);border-radius:2px;box-shadow:1px -1px 1px #dfe2d5,1px 2px 2px #69705e;transition:left .12s}.power-switch[aria-pressed="false"] .power-knob{left:2px}.contrast{position:absolute;right:-5px;top:147px;width:14px;height:57px;border:0;border-radius:0 3px 3px 0;background:repeating-linear-gradient(0deg,#717b68 0 2px,#a0a792 2px 4px);box-shadow:2px 0 1px #616b5a;z-index:-1}.contrast:before{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px}
.bezel{position:absolute;top:49px;left:22px;width:346px;height:308px;border-radius:13px 13px 52px 13px;background:linear-gradient(125deg,#82877e,#777c74 72%,#80877c);box-shadow:inset 1px 2px 2px #565e5299,0 1px 1px #f9faed,1px 0 1px #fcfef388;border:1px solid #969d8e}.bezel-heading{position:absolute;left:12px;right:15px;top:14px;display:flex;align-items:center;gap:8px;color:#d3d8c9;font:6px "Courier New",monospace;letter-spacing:1px;white-space:nowrap}.bezel-heading:before,.bezel-heading:after{content:"";height:3px;flex:1;border-top:1px solid #714455;border-bottom:1px solid #525d78}.bezel-heading:before{flex:1.3}.battery{position:absolute;top:130px;left:8px;display:flex;align-items:center;flex-direction:column;gap:7px;font:5.5px "Courier New",monospace;color:#d2d7c8;letter-spacing:.2px}.battery-light{width:6px;height:6px;background:#e88870;border-radius:50%;box-shadow:0 0 5px #f88f6660,inset 1px 1px 1px #ffc29e}.device.off .battery-light{background:#674f43;box-shadow:inset 1px 1px 1px #414b3b}.lcd{position:absolute;left:55px;top:39px;width:260px;height:234px;background:var(--lcd);border:3px solid #4d5841;border-radius:3px;box-shadow:0 1px 1px #b7bda377,inset 3px 3px 5px #3b4b4660,inset -1px -1px 4px #74825150;overflow:hidden;color:var(--dark);text-shadow:.7px .8px #65774626;font-family:"SFMono-Regular",Consolas,"Microsoft YaHei",monospace;font-size:12px;line-height:1.5}.lcd:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 2px,#34452b0c 2px 3px),repeating-linear-gradient(90deg,transparent 0 2px,#34452b05 2px 3px);box-shadow:inset 2px 2px 5px #3545272b}.display{position:absolute;top:8px;right:9px;bottom:7px;left:9px;display:flex;flex-direction:column;gap:0;overflow:hidden}.screen-top{font-size:8px;letter-spacing:1px;border-bottom:1px solid #65774666;padding-bottom:4px;display:flex;justify-content:space-between;align-items:center;line-height:13px;flex-shrink:0;height:19px}.hearts{display:flex;gap:4px}.hearts svg{width:9px;height:8px;fill:var(--dark)}.screen-main{flex:1;min-height:0;position:relative}.screen-foot{height:18px;border-top:1px solid #65774666;flex-shrink:0;font-size:9px;letter-spacing:0;line-height:18px;display:flex;justify-content:space-between;white-space:nowrap}.home-profile{display:flex;align-items:center;height:60px;gap:12px;padding:4px 7px}.portrait{width:31px;height:44px;flex-shrink:0;image-rendering:pixelated}.home-profile>div{min-width:0}.profile-name{font-size:15px;line-height:25px;font-weight:bold;letter-spacing:.2px;word-break:break-all;overflow-wrap:anywhere}.profile-name small{font-size:8px;letter-spacing:0;vertical-align:middle}.profile-job{font-size:9px;letter-spacing:.5px}.lcd-button{border:0;background:none;color:var(--dark);font:inherit;padding:0;text-shadow:inherit}.menu{display:flex;flex-direction:column;gap:1px;padding:1px 0 3px}.menu-item{width:100%;height:25px;display:flex;align-items:center;text-align:left;padding:0 7px;font-size:11px;letter-spacing:1px}.menu-item .cursor{width:17px;font-size:9px;visibility:hidden}.menu-item .menu-number{font:8px "Courier New",monospace;margin-left:auto;letter-spacing:0}.menu-item.selected{background:var(--dark);color:var(--lcd)}.menu-item.selected .cursor{visibility:visible}.lcd-button:focus,.lcd-button:focus-visible{outline:1px dashed var(--dark);outline-offset:-2px}.menu-item.selected:focus,.menu-item.selected:focus-visible{outline-color:var(--lcd)}.brand{position:absolute;top:377px;left:28px;color:#4a5e76;display:flex;gap:9px;align-items:baseline}.brand strong{font:bold italic 22px Arial,sans-serif;letter-spacing:-1px}.brand span{font:6px "Courier New",monospace;letter-spacing:1px}.brand-chinese{position:absolute;left:30px;top:409px;font-size:7px;letter-spacing:5px;color:#7e8b92}
.dpad-well{position:absolute;top:454px;left:30px;width:119px;height:119px;border-radius:50%;background:linear-gradient(130deg,#b7bcb071,#eeeeea99);box-shadow:inset 2px 2px 5px #a2a9972e,1px 1px 1px #fff4}.dpad-body{position:absolute;left:5px;top:5px;width:109px;height:109px;filter:drop-shadow(2px 4px 1px #68705c);pointer-events:none}.dpad-cross{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#444941,#292e2a);clip-path:polygon(33% 0,67% 0,67% 33%,100% 33%,100% 67%,67% 67%,67% 100%,33% 100%,33% 67%,0 67%,0 33%,33% 33%)}.dpad-cross:after{content:"";position:absolute;top:2px;right:2px;bottom:2px;left:2px;background:linear-gradient(135deg,#3f453d,#303530);clip-path:polygon(33% 0,67% 0,67% 33%,100% 33%,100% 67%,67% 67%,67% 100%,33% 100%,33% 67%,0 67%,0 33%,33% 33%)}.dpad-center{position:absolute;left:46px;top:46px;width:27px;height:27px;border-radius:50%;background:linear-gradient(135deg,#252d25,#3e4739);box-shadow:inset 1px 2px 2px #1e291d88,1px 1px 0 #60685144;pointer-events:none;z-index:3}.direction{position:absolute;width:43px;height:43px;border:0;background:transparent;z-index:4;display:flex;align-items:center;justify-content:center;color:#1f281f;padding:0;touch-action:none}.direction svg{width:11px;height:11px;fill:#1e281e;filter:drop-shadow(0 1px .5px #687060)}.direction.up{top:0;left:38px;padding-bottom:10px}.direction.down{bottom:0;left:38px;padding-top:10px}.direction.left{left:0;top:38px;padding-right:10px}.direction.right{right:0;top:38px;padding-left:10px}.direction.pressed{background:#131d1324;transform:translateY(2px)}.dpad-well.has-pressed .dpad-body{transform:translateY(1px);filter:drop-shadow(1px 2px 1px #68705c)}
.ab-well{position:absolute;left:239px;top:449px;width:126px;height:64px;border-radius:36px;background:linear-gradient(#c5c8bd,#dcdfd1);transform:rotate(-26deg);box-shadow:inset 2px 3px 3px #b4baaa88,1px 1px #f6f7eb}.round-control{position:absolute;width:55px;height:55px;top:4px;border:1px solid #77364f;border-radius:50%;background:linear-gradient(130deg,#a65072,#943e62 65%,#893458);box-shadow:inset 1px 2px 1px #bc7890,inset -2px -3px 1px #813450,1px 4px 1px #71394d,2px 5px 3px #87897588;touch-action:none}.round-control:before{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;border:1px solid #b7627b55;border-radius:50%}.round-control.b{left:5px}.round-control.a{right:5px}.round-control.pressed{transform:translateY(3px);box-shadow:inset 1px 1px 2px #783449,0 1px 1px #71394d}.ab-label{position:absolute;top:74px;color:#4a5e76;font:bold 13px Arial,sans-serif;transform:rotate(26deg)}.ab-label.b{left:28px}.ab-label.a{right:25px}.utility{position:absolute;left:123px;top:591px;display:flex;gap:13px;transform:rotate(-26deg)}.utility-group{position:relative;text-align:center}.utility-button{display:block;position:relative;width:46px;height:16px;padding:0;border:1px solid #8a9583;border-radius:9px;background:linear-gradient(#a6b09b,#85927d);box-shadow:inset 1px 1px 1px #c3c9b7,0 3px 1px #6e7c66,1px 4px 1px #9da590;touch-action:none}.utility-button:before{content:"";position:absolute;top:-14px;right:-4px;bottom:-14px;left:-4px}.utility-button.pressed{transform:translateY(2px);box-shadow:inset 0 1px 2px #74836a,0 1px 1px #6e7c66}.utility-label{position:absolute;left:0;right:0;top:25px;font:bold 8px "Courier New",monospace;letter-spacing:.4px;color:#5d6e73;pointer-events:none}.speaker{position:absolute;right:26px;bottom:54px;width:93px;height:61px;display:flex;gap:7px;align-items:center;transform:rotate(-28deg)}.speaker i{display:block;height:57px;width:6px;background:linear-gradient(90deg,#777f6d,#adb59e 60%,#c7cdbb);border-radius:5px;box-shadow:inset 1px 2px 2px #616c57,1px 1px 1px #fbfcee}.speaker i:first-child,.speaker i:last-child{height:47px}.serial{position:absolute;left:25px;bottom:51px;font:5px "Courier New",monospace;color:#a0a797;letter-spacing:.8px}.bottom-seam{position:absolute;bottom:21px;left:7px;right:26px;height:1px;background:#b8c1aa30;box-shadow:0 1px #f6f8e844}.headphone{position:absolute;bottom:10px;left:164px;display:flex;align-items:center;gap:3px;font:5px "Courier New",monospace;color:#abb29f}.headphone svg{width:7px;height:7px}
.guide{padding-left:6px;max-width:237px;align-self:center}.guide details{border-top:1px solid #c8cebd;padding-top:18px}.guide summary{list-style:none;display:flex;justify-content:space-between;font-size:10px;letter-spacing:3px;color:#939b87;cursor:default}.guide summary::-webkit-details-marker{display:none}.guide summary span:last-child{font-size:14px;letter-spacing:0}.guide-rows{display:flex;flex-direction:column;gap:26px;margin:26px 0}.guide-row{display:flex;align-items:center;gap:18px}.key-icon{width:29px;min-width:29px;height:30px;display:flex;align-items:center;justify-content:center;color:#8e9981}.key-icon svg{width:29px;height:29px;stroke:#9ba78b;fill:none;stroke-width:1}.key-icon.circle{border:1px solid #bcc7ae;border-radius:50%;width:25px;min-width:25px;height:25px;margin:2px;font:11px Georgia,serif;box-shadow:1px 2px 2px #727e5610}.key-icon.pill:before{content:"";width:23px;height:8px;border:1px solid #b3bfa4;border-radius:5px;transform:rotate(-28deg);box-shadow:0 2px 2px #9ba68322}.guide-row strong{font-size:11px;font-weight:400;display:block;color:#626b58}.guide-row small{font-size:9px;line-height:1.8;color:#9aa28f;display:block;margin-top:4px}.sound-area{border-top:1px solid #c8cebd;padding-top:15px}.sound-toggle{display:flex;width:100%;align-items:center;gap:9px;background:none;border:0;padding:3px 0;font-size:9px;color:#879279;letter-spacing:1px}.sound-toggle svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.3}.switch-track{margin-left:auto;width:26px;height:14px;border:1px solid #b0bca1;border-radius:10px;padding:2px;display:flex;align-items:center}.switch-track:after{content:"";width:8px;height:8px;border-radius:50%;background:#aab69b;transition:transform .15s}.sound-toggle[aria-pressed="true"] .switch-track{background:#7d8b65;border-color:#7d8b65}.sound-toggle[aria-pressed="true"] .switch-track:after{background:#eff2df;transform:translateX(11px)}.quiet-note{font-size:8px;letter-spacing:1px;color:#a3ac97;margin:11px 0 0}.game-invite{display:flex;align-items:center;gap:14px;border:0;background:transparent;text-align:left;padding:0;margin-top:54px;width:100%;color:#858e72}.game-invite>svg{width:32px;height:39px;transform:rotate(-9deg);stroke:#98a486;fill:none;stroke-width:1.2}.game-invite strong{display:block;font-family:"Songti SC",SimSun,serif;font-style:italic;font-size:17px;font-weight:400;white-space:nowrap}.game-invite small{display:block;font:6px "Courier New",monospace;letter-spacing:1px;color:#a8af9e;margin-top:8px}.game-invite .invite-arrow{margin-left:auto;font-size:15px}.game-invite:hover{color:#4f603c}.footer{min-height:48px;padding:15px 44px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:8px;letter-spacing:1px;color:#a2a797}.footer .footer-center{color:#959d89}.footer .footer-right{font:7px "Courier New",monospace;letter-spacing:2px}
/* All artwork and content inside the four-tone display. */
.pixel{shape-rendering:crispEdges;image-rendering:pixelated}.page-heading{font-size:13px;font-weight:bold;letter-spacing:1px;margin:6px 0}.about-art{height:41px;display:flex;align-items:center;justify-content:center;margin-top:4px}.about-art svg{height:36px;width:70px}.page-copy{font-size:11px;line-height:1.9;margin:5px 0;letter-spacing:.1px}.page-copy strong{font-weight:bold}.page-tags{display:flex;gap:6px;font-size:9px;margin-top:7px}.page-tags span{border:1px solid var(--mid);padding:1px 4px}.work-list{padding-top:3px}.work-item{display:flex;width:100%;height:52px;text-align:left;align-items:center;gap:9px;padding:3px 5px;border-bottom:1px dashed #65774670}.work-item.selected{background:var(--dark);color:var(--lcd)}.work-item svg{width:43px;height:38px;flex-shrink:0}.work-item strong{display:block;font-size:12px;letter-spacing:1px}.work-item small{display:block;font-size:8px;margin-top:3px}.work-item>span:last-child{margin-left:auto;font-size:9px}.project-art{height:45px;margin-top:4px;border-bottom:1px dotted #65774666;position:relative;display:flex;align-items:center;justify-content:center;gap:7px;overflow:hidden}.project-art svg{width:79px;height:43px}.art-line{font:6px "Courier New",monospace;letter-spacing:1px;position:absolute;right:1px;bottom:5px;writing-mode:vertical-rl;opacity:.7}.project-title{font-size:14px;line-height:22px;display:flex;justify-content:space-between;font-weight:bold;margin-top:2px}.project-title small{font-size:9px;font-weight:normal}.project-role{font-size:8px;border-bottom:1px dotted #65774666;padding-bottom:3px;margin-bottom:3px}.project-copy{font-size:10px;line-height:1.8;margin:0}.project-copy b{background:var(--mid);color:var(--lcd);font-size:8px;padding:1px 3px;display:inline-block;line-height:1.3;margin-right:5px}.tool-list{padding-top:4px}.tool-row{display:flex;align-items:center;gap:7px;width:100%;height:29px;padding:0 5px;border-bottom:1px dotted #65774670;text-align:left;font-size:11px}.tool-row .tool-symbol{font-size:10px;display:flex;align-items:center;width:17px}.tool-row .tool-tag{font-size:7px;margin-left:auto;border:1px solid var(--mid);padding:0 3px}.tool-row.selected{background:var(--dark);color:var(--lcd)}.tool-row.selected .tool-tag{border-color:var(--light)}.tool-note{font-size:9px;line-height:1.7;margin:6px 2px 0}.contact-art{height:45px;display:flex;justify-content:center;align-items:center}.contact-art svg{height:34px;width:50px}.contact-title{text-align:center;font-size:13px;font-weight:bold;margin:1px 0 4px}.contact-sub{text-align:center;font-size:9px;margin:0 0 7px}.contact-text{display:block;font-size:11px;text-align:center;user-select:text;-webkit-user-select:text;letter-spacing:-.4px;margin:5px 0}.contact-option{display:block;width:max-content;max-width:100%;border:1px solid var(--dark);padding:3px 8px;margin:6px auto 0;background:none;color:var(--dark);font-size:10px;text-align:center;word-break:break-all;overflow-wrap:anywhere;text-decoration:none}.contact-option.selected{background:var(--dark);color:var(--lcd)}.contact-option:focus,.contact-option:focus-visible{outline:1px dashed var(--dark);outline-offset:2px}.boot-screen{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.boot-screen svg{width:43px;height:43px;margin-bottom:12px}.boot-screen h2{font-size:17px;letter-spacing:4px;margin:0}.boot-screen p{font:7px "Courier New",monospace;letter-spacing:2px;margin:6px 0 15px}.boot-progress{width:86px;height:6px;border:1px solid var(--dark);padding:1px}.boot-progress:after{content:"";display:block;height:2px;background:var(--dark);animation:load .9s steps(8) forwards;transform-origin:left}@keyframes load{from{transform:scaleX(.08)}to{transform:scaleX(1)}}.boot-caption{font-size:8px;margin-top:7px}.help-overlay{position:absolute;top:8px;right:8px;bottom:8px;left:8px;z-index:8;background:var(--lcd);border:2px solid var(--dark);padding:10px;box-shadow:3px 3px var(--mid);display:none;font-size:10px}.help-overlay.visible{display:block}.help-overlay h3{font-size:13px;border-bottom:1px solid var(--mid);padding-bottom:6px;margin:0 0 7px}.help-overlay p{line-height:1.75;margin:4px 0}.help-overlay button{border:1px solid var(--dark);font-size:9px;padding:2px 10px;margin-top:5px}.lcd-toast{position:absolute;left:7px;right:7px;bottom:24px;z-index:10;padding:8px 4px;background:var(--dark);color:var(--lcd);border:2px solid var(--lcd);box-shadow:0 0 0 1px var(--dark);font-size:10px;text-align:center;display:none}.lcd-toast.visible{display:block}.game-head{font-size:9px;letter-spacing:0}.game-board{position:relative;width:228px;height:144px;margin:6px auto 0;box-shadow:0 0 0 1px var(--mid)}.game-board canvas{display:block;width:228px;height:144px;image-rendering:pixelated}.game-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#b5c387bb;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.game-overlay h3{font-size:17px;letter-spacing:2px;margin:0 0 6px}.game-overlay p{font-size:9px;line-height:1.7;margin:0 0 8px}.game-overlay button{font-size:10px;background:var(--dark);color:var(--lcd);padding:4px 12px}.game-session{font-size:7px;text-align:center;margin-top:5px}.device.off .lcd{filter:saturate(.72);background:#a7b383}.device.off .display{display:none}
@media(min-width:981px) and (max-height:690px){.intro{padding-bottom:0}.edition{font-size:8px}h1{margin:20px 0 18px}.author{margin-top:23px;padding-top:18px}.explore-note{margin-top:32px}.guide-rows{gap:18px;margin:19px 0}.game-invite{margin-top:32px}
html:not(.supports-flex-gap) .guide-rows>*+*{margin-top:18px;margin-left:0}
html:not(.supports-flex-gap) .guide-rows>*+*{margin-top:18px;margin-left:0}}
@media(max-width:1100px) and (min-width:981px){.layout{width:calc(100% - 56px);grid-gap:22px;grid-gap:22px;gap:22px;grid-template-columns:minmax(195px,1fr) calc(448px * var(--device-scale)) minmax(175px,.85fr)}.intro-description{font-size:10px}.guide-row{gap:12px}.game-invite{gap:9px}.game-invite strong{font-size:15px}.guide{padding-left:0}h1{font-size:39px}
html:not(.supports-flex-gap) .guide-row>*+*{margin-top:0;margin-left:12px}
html:not(.supports-flex-gap) .game-invite>*+*{margin-top:0;margin-left:9px}
html:not(.supports-flex-gap) .guide-row>*+*{margin-top:0;margin-left:12px}
html:not(.supports-flex-gap) .game-invite>*+*{margin-top:0;margin-left:9px}}
@media(max-width:980px){.masthead{height:47px;font-size:8px;letter-spacing:2px}.layout{width:100%;display:flex;flex-direction:column;gap:0;min-height:0}.intro{text-align:center;padding:6px 16px 13px}.edition{justify-content:center;font-size:7px;letter-spacing:2px}.edition span{padding:3px}.intro h1{font-size:33px;line-height:1.35;margin:13px 0 10px;letter-spacing:-1px;display:flex;gap:10px;justify-content:center}.intro h1 em{letter-spacing:-1px}.intro-description{font-size:10px}.author,.explore-note{display:none}.stage{flex-shrink:0;margin:5px 0 12px}.guide{width:calc(100% - 52px);width:min(360px,calc(100% - 52px));max-width:360px;padding:12px 0 0;align-self:center}.guide details{padding-top:13px}.guide summary{cursor:pointer;font-size:9px}.guide summary span:last-child{transform:rotate(45deg)}.guide details[open] summary span:last-child{transform:rotate(-45deg)}.guide-rows{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px 12px;grid-gap:20px 12px;gap:20px 12px;margin:22px 0}.guide-row{gap:10px}.guide-row strong{font-size:10px}.guide-row small{font-size:8px}.sound-area{border-top:0;margin-top:12px;padding-top:0}.quiet-note{display:none}.game-invite{margin:23px 0 4px;justify-content:center;gap:13px}.game-invite>svg{width:25px;height:32px}.game-invite strong{font-size:16px}.game-invite small{font-size:6px;margin-top:5px}.game-invite .invite-arrow{margin-left:15px}.footer{flex-direction:column;gap:7px;padding:28px 15px 21px;font-size:7px}.footer-left,.footer-right{display:none}
html:not(.supports-flex-gap) .intro h1>*+*{margin-top:0;margin-left:10px}
html:not(.supports-flex-gap) .guide-row>*+*{margin-top:0;margin-left:10px}
html:not(.supports-flex-gap) .game-invite>*+*{margin-top:0;margin-left:13px}
html:not(.supports-flex-gap) .footer>*+*{margin-top:7px;margin-left:0}
html:not(.supports-flex-gap) .bezel-heading>*+*{margin-top:0;margin-left:4px}
html:not(.supports-flex-gap) .speaker>*+*{margin-top:0;margin-left:5px}
html:not(.supports-flex-gap) .home-profile>*+*{margin-top:0;margin-left:8px}
html:not(.supports-flex-gap) .tetris-play>*+*{margin-top:0;margin-left:10px}
html:not(.supports-flex-gap) .guide-rows>*+*{margin:0}
html:not(.supports-flex-gap) .intro h1>*+*{margin-top:0;margin-left:10px}
html:not(.supports-flex-gap) .guide-row>*+*{margin-top:0;margin-left:10px}
html:not(.supports-flex-gap) .game-invite>*+*{margin-top:0;margin-left:13px}
html:not(.supports-flex-gap) .footer>*+*{margin-top:7px;margin-left:0}
html:not(.supports-flex-gap) .bezel-heading>*+*{margin-top:0;margin-left:4px}
html:not(.supports-flex-gap) .speaker>*+*{margin-top:0;margin-left:5px}
html:not(.supports-flex-gap) .home-profile>*+*{margin-top:0;margin-left:8px}
html:not(.supports-flex-gap) .tetris-play>*+*{margin-top:0;margin-left:10px}
html:not(.supports-flex-gap) .guide-rows>*+*{margin:0}}
@media(max-width:380px){.intro h1{font-size:28px;gap:8px}.intro-description{font-size:9px}.guide{width:calc(100% - 48px)}}
.direction:before{content:"";position:absolute;top:-7px;right:-7px;bottom:-7px;left:-7px}.direction svg{pointer-events:none}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.boot-progress:after{transform:none}}
/* Targeted layout and control refinements; the original shell and palette stay intact. */
body{min-width:0;padding-top:0;padding-bottom:0}
@supports (padding:env(safe-area-inset-top,0px)){body{padding-top:var(--safe-area-inset-top,env(safe-area-inset-top,0px));padding-bottom:var(--safe-area-inset-bottom,env(safe-area-inset-bottom,0px))}}
.layout{min-height:calc(100vh - 48px);min-height:calc(100svh - 48px);padding-top:24px}.intro-description{white-space:normal;word-break:break-all;overflow-wrap:anywhere}.portrait{width:40px;height:40px;object-fit:cover;object-position:50% 44%;image-rendering:auto;filter:saturate(.5) sepia(.15);border:1px solid var(--mid);border-radius:2px}.about-art .portrait{width:40px;height:40px}.page-copy,.contact-text{word-break:break-all;overflow-wrap:anywhere}.screen-main{overflow:auto;scrollbar-width:thin}.screen-main.has-tetris{overflow:hidden}
[data-key],.power-switch{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.dpad-well{width:132px;height:132px}.dpad-body{width:122px;height:122px}.dpad-center{left:53px;top:53px}.direction{width:44px;height:44px}.direction:before{display:none}.direction.up{left:44px;padding:0}.direction.down{left:44px;padding:0}.direction.left{top:44px;padding:0}.direction.right{top:44px;padding:0}.utility{gap:10px;top:581px;left:118px}.utility-button{width:54px;height:44px;background:none;border:0;box-shadow:none}.utility-button:before{top:14px;right:3px;bottom:14px;left:3px;border:1px solid #8a9583;border-radius:9px;background:linear-gradient(#a6b09b,#85927d);box-shadow:inset 1px 1px 1px #c3c9b7,0 3px 1px #6e7c66}.utility-button.pressed{box-shadow:none}.utility-label{top:45px}.power-switch{height:44px;top:-16px}.power-track{top:10px}.sound-toggle{min-height:44px;font-size:11px}.guide-row small{font-size:10px}.guide summary{min-height:30px}.guide-rows{gap:20px}.guide-extra{font-size:11px;line-height:1.9;color:#626b58;margin:0 0 18px}.game-choice{height:54px;font-size:14px;margin:5px 0}.game-list-caption{font-size:10px;margin:8px 6px;color:var(--mid)}.game-card{height:100%;display:flex;flex-direction:column;justify-content:center;gap:5px}.game-card h3{font-size:15px;margin:0}.game-card p{font-size:10px;line-height:1.65;margin:0}.game-card .lcd-button{min-height:29px;border:1px solid var(--mid);font-size:11px}.game-card .selected{background:var(--dark);color:var(--lcd)}.tetris-play{height:100%;display:flex;align-items:center;justify-content:center;gap:12px}.tetris-board{width:80px;height:160px;box-shadow:0 0 0 1px var(--dark);image-rendering:pixelated}.tetris-stats{width:95px;font-size:10px;line-height:1.65}.tetris-stats strong{display:block;font-size:12px}.tetris-next{display:block;width:48px;height:40px;image-rendering:pixelated;margin:3px 0}.tetris-stats small{font-size:8px}.game-session{font-size:8px}.game-board{max-width:228px}.game-overlay p{font-size:10px}.game-overlay button{min-height:30px}.display.game-display{top:5px;right:7px;bottom:5px;left:7px}.game-display .screen-foot{font-size:9px}
@media(max-width:980px){
.layout{padding:22px 12px 0;padding:22px max(12px,var(--safe-area-inset-left,env(safe-area-inset-left,0px))) 0;min-height:0}.intro{width:100%;padding:0 0 18px}.intro-description{font-size:12px;max-width:350px;margin:auto}.stage{width:100%;width:min(390px,100%);height:744px;margin:16px 0 8px}.device{width:100%;height:710px;left:0;top:16px;transform:none}.bezel{left:14px;top:49px;width:calc(100% - 28px);height:334px}.lcd{left:20px;top:39px;width:calc(100% - 34px);height:260px}.battery{left:4px;font-size:4px}.battery-light{width:5px;height:5px}.bezel-heading{font-size:5px;gap:4px}.brand{top:404px;left:22px}.brand strong{font-size:21px}.brand span{font-size:5px}.brand-chinese{top:434px;left:24px}.dpad-well{left:12px;top:470px}.ab-well{left:auto;right:12px;top:480px;width:120px;transform:rotate(-18deg)}.round-control{width:52px;height:52px}.ab-label{transform:rotate(18deg);top:70px}.round-control.b{left:4px}.round-control.a{right:4px}.utility{left:calc(50% - 59px);top:620px;transform:rotate(-12deg)}.utility-label{font-size:9px}.speaker{right:19px;bottom:25px;width:64px;height:40px;gap:5px;opacity:.75}.speaker i{height:38px;width:5px}.speaker i:first-child,.speaker i:last-child{height:31px}.serial{bottom:37px;left:22px}.headphone{left:125px}.home-profile{padding:4px 2px;gap:8px}.profile-name{font-size:14px}.profile-name small{display:none}.menu-item{height:31px}.game-choice{height:54px}.guide{width:100%;width:min(390px,100%);max-width:390px;padding:8px 0 0}.guide-row strong{font-size:11px}.guide-row small{font-size:10px}.guide-rows{grid-gap:18px 10px;grid-gap:18px 10px;gap:18px 10px}.guide-extra{font-size:11px}.sound-area{margin-top:8px}.footer{padding:22px 16px}.game-board,.game-board canvas{width:100%;height:auto;aspect-ratio:19/12}.game-board{margin-top:5px}.tetris-board{width:100px;height:200px}.tetris-play{gap:10px}.tetris-stats{width:88px}.screen-foot{font-size:9px}.screen-top{letter-spacing:0}.screen-main.has-tetris{overflow:hidden}

html:not(.supports-flex-gap) .intro h1>*+*{margin-top:0;margin-left:10px}
html:not(.supports-flex-gap) .guide-row>*+*{margin-top:0;margin-left:10px}
html:not(.supports-flex-gap) .game-invite>*+*{margin-top:0;margin-left:13px}
html:not(.supports-flex-gap) .footer>*+*{margin-top:7px;margin-left:0}
html:not(.supports-flex-gap) .bezel-heading>*+*{margin-top:0;margin-left:4px}
html:not(.supports-flex-gap) .speaker>*+*{margin-top:0;margin-left:5px}
html:not(.supports-flex-gap) .home-profile>*+*{margin-top:0;margin-left:8px}
html:not(.supports-flex-gap) .tetris-play>*+*{margin-top:0;margin-left:10px}
html:not(.supports-flex-gap) .guide-rows>*+*{margin:0}
html:not(.supports-flex-gap) .intro h1>*+*{margin-top:0;margin-left:10px}
html:not(.supports-flex-gap) .guide-row>*+*{margin-top:0;margin-left:10px}
html:not(.supports-flex-gap) .game-invite>*+*{margin-top:0;margin-left:13px}
html:not(.supports-flex-gap) .footer>*+*{margin-top:7px;margin-left:0}
html:not(.supports-flex-gap) .bezel-heading>*+*{margin-top:0;margin-left:4px}
html:not(.supports-flex-gap) .speaker>*+*{margin-top:0;margin-left:5px}
html:not(.supports-flex-gap) .home-profile>*+*{margin-top:0;margin-left:8px}
html:not(.supports-flex-gap) .tetris-play>*+*{margin-top:0;margin-left:10px}
html:not(.supports-flex-gap) .guide-rows>*+*{margin:0}}
@media(max-width:350px){.intro h1{font-size:27px}.profile-name{font-size:13px}.home-profile{gap:7px}.portrait{width:36px;height:40px}.brand span{display:none}.page-heading{font-size:12px}.guide-rows{grid-template-columns:1fr}.guide-row{gap:16px}.screen-foot{font-size:8px}.tetris-play{gap:8px}.tetris-stats{width:86px}.game-choice{font-size:13px}
html:not(.supports-flex-gap) .home-profile>*+*{margin-top:0;margin-left:7px}
html:not(.supports-flex-gap) .guide-row>*+*{margin-top:0;margin-left:16px}
html:not(.supports-flex-gap) .tetris-play>*+*{margin-top:0;margin-left:8px}
html:not(.supports-flex-gap) .home-profile>*+*{margin-top:0;margin-left:7px}
html:not(.supports-flex-gap) .guide-row>*+*{margin-top:0;margin-left:16px}
html:not(.supports-flex-gap) .tetris-play>*+*{margin-top:0;margin-left:8px}}

html:not(.supports-flex-gap) .masthead>*+*{margin-top:0;margin-left:9px}
html:not(.supports-flex-gap) .edition>*+*{margin-top:0;margin-left:10px}
html:not(.supports-flex-gap) .author>*+*{margin-top:0;margin-left:16px}
html:not(.supports-flex-gap) .bezel-heading>*+*{margin-top:0;margin-left:8px}
html:not(.supports-flex-gap) .battery>*+*{margin-top:7px;margin-left:0}
html:not(.supports-flex-gap) .hearts>*+*{margin-top:0;margin-left:4px}
html:not(.supports-flex-gap) .home-profile>*+*{margin-top:0;margin-left:12px}
html:not(.supports-flex-gap) .menu>*+*{margin-top:1px;margin-left:0}
html:not(.supports-flex-gap) .brand>*+*{margin-top:0;margin-left:9px}
html:not(.supports-flex-gap) .utility>*+*{margin-top:0;margin-left:10px}
html:not(.supports-flex-gap) .speaker>*+*{margin-top:0;margin-left:7px}
html:not(.supports-flex-gap) .headphone>*+*{margin-top:0;margin-left:3px}
html:not(.supports-flex-gap) .guide-rows>*+*{margin-top:20px;margin-left:0}
html:not(.supports-flex-gap) .guide-row>*+*{margin-top:0;margin-left:18px}
html:not(.supports-flex-gap) .sound-toggle>*+*{margin-top:0;margin-left:9px}
html:not(.supports-flex-gap) .game-invite>*+*{margin-top:0;margin-left:14px}
html:not(.supports-flex-gap) .footer>*+*{margin-top:0;margin-left:20px}
html:not(.supports-flex-gap) .page-tags>*+*{margin-top:0;margin-left:6px}
html:not(.supports-flex-gap) .work-item>*+*{margin-top:0;margin-left:9px}
html:not(.supports-flex-gap) .project-art>*+*{margin-top:0;margin-left:7px}
html:not(.supports-flex-gap) .tool-row>*+*{margin-top:0;margin-left:7px}
html:not(.supports-flex-gap) .game-card>*+*{margin-top:5px;margin-left:0}
html:not(.supports-flex-gap) .tetris-play>*+*{margin-top:0;margin-left:12px}
/* ---- 小游戏统一布局：左侧画布铺满（.game-fit），右侧信息栏 ---- */
.sokoban-wrap{display:flex;align-items:stretch;justify-content:center;height:100%;min-height:0;padding:2px 4px}
.game-fit{flex:1;min-width:0;display:flex;align-items:center;justify-content:center}
.game-fit canvas{image-rendering:pixelated;max-width:100%;max-height:100%}
.sokoban-info{flex:0 0 auto;align-self:center;font-size:10px;line-height:1.7;text-align:left;padding-left:8px;min-width:64px}
.sokoban-info strong{display:block;font-size:11px;margin:2px 0}
.sokoban-info small{font-size:8px;color:var(--mid)}
/* 打飞机：全屏舞台 + 底部 HUD */
.shooter-stage{height:100%;display:flex;align-items:center;justify-content:center;padding:2px}
.shooter-stage canvas{image-rendering:pixelated;max-width:100%;max-height:100%}
.shooter-hud{font-size:9px;text-align:center;padding:2px 0}
/* 打砖块（画布+信息纵排） */
.game-stack{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:0}
.game-stack canvas{image-rendering:pixelated;max-width:100%;max-height:100%}
.stack-info{font-size:9px;text-align:center}
.game-board{position:relative}
.game-board canvas{display:block}
/* 游戏列表：更紧凑的行距 */
.menu-item.game-choice{height:22px}
/* LCD 内滚动条：与复古配色一致（深墨滑轨 + 中绿滑块） */
.screen-main::-webkit-scrollbar{width:6px}
.screen-main::-webkit-scrollbar-track{background:transparent}
.screen-main::-webkit-scrollbar-thumb{background:#657746;border-radius:3px}
.screen-main::-webkit-scrollbar-thumb:hover{background:#34452b}
.screen-main{scrollbar-width:thin;scrollbar-color:#657746 transparent}

html:not(.supports-flex-gap) .masthead>*+*{margin-top:0;margin-left:9px}
html:not(.supports-flex-gap) .edition>*+*{margin-top:0;margin-left:10px}
html:not(.supports-flex-gap) .author>*+*{margin-top:0;margin-left:16px}
html:not(.supports-flex-gap) .bezel-heading>*+*{margin-top:0;margin-left:8px}
html:not(.supports-flex-gap) .battery>*+*{margin-top:7px;margin-left:0}
html:not(.supports-flex-gap) .hearts>*+*{margin-top:0;margin-left:4px}
html:not(.supports-flex-gap) .home-profile>*+*{margin-top:0;margin-left:12px}
html:not(.supports-flex-gap) .menu>*+*{margin-top:1px;margin-left:0}
html:not(.supports-flex-gap) .brand>*+*{margin-top:0;margin-left:9px}
html:not(.supports-flex-gap) .utility>*+*{margin-top:0;margin-left:10px}
html:not(.supports-flex-gap) .speaker>*+*{margin-top:0;margin-left:7px}
html:not(.supports-flex-gap) .headphone>*+*{margin-top:0;margin-left:3px}
html:not(.supports-flex-gap) .guide-rows>*+*{margin-top:20px;margin-left:0}
html:not(.supports-flex-gap) .guide-row>*+*{margin-top:0;margin-left:18px}
html:not(.supports-flex-gap) .sound-toggle>*+*{margin-top:0;margin-left:9px}
html:not(.supports-flex-gap) .game-invite>*+*{margin-top:0;margin-left:14px}
html:not(.supports-flex-gap) .footer>*+*{margin-top:0;margin-left:20px}
html:not(.supports-flex-gap) .page-tags>*+*{margin-top:0;margin-left:6px}
html:not(.supports-flex-gap) .work-item>*+*{margin-top:0;margin-left:9px}
html:not(.supports-flex-gap) .project-art>*+*{margin-top:0;margin-left:7px}
html:not(.supports-flex-gap) .tool-row>*+*{margin-top:0;margin-left:7px}
html:not(.supports-flex-gap) .game-card>*+*{margin-top:5px;margin-left:0}
html:not(.supports-flex-gap) .tetris-play>*+*{margin-top:0;margin-left:12px}
html:not(.supports-flex-gap) /* 打砖块（画布+信息纵排） */
.game-stack>*+*{margin-top:3px;margin-left:0}