@font-face{font-family:PixelLatin;src:url('assets/pixel-latin.ttf') format('truetype');font-display:swap}
@font-face{font-family:PixelCJK;src:url('assets/pixel-cjk.woff?v=letter-peachjamt-1') format('woff');font-display:swap}
:root{--desk:#eee9dc;--desk-ink:#77816e;--mint:#91c7bd;--coral:#e6a293;--shell:#292d32;--pixel-ink:#644025;--wood:#d6a05d;--wood-dark:#764428;--paper:#fff0c4;--game-font:PixelCJK,'Microsoft YaHei',sans-serif;--latin:PixelLatin,monospace}
*{box-sizing:border-box}body{margin:0;min-height:100svh;background:radial-gradient(ellipse at 50% 38%,#f9f5e9,var(--desk) 75%);color:var(--pixel-ink);font-family:var(--game-font);-webkit-font-smoothing:none}body:before{content:'';position:fixed;inset:0;z-index:-1;background-image:radial-gradient(#a2aa8b40 .7px,transparent .7px);background-size:18px 18px;opacity:.45}button,input{font:inherit}button{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default}button:focus-visible,a:focus-visible{outline:3px solid #eaba58;outline-offset:4px}input:focus-visible{outline:2px solid #9c7537;outline-offset:-5px}a{color:inherit;text-decoration:none}button{color:inherit}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400}svg{shape-rendering:crispEdges;display:block}[hidden]{display:none!important}.sprite-library{width:0;height:0;position:absolute;overflow:hidden}.desk{width:min(1320px,calc(100% - 88px));min-height:100svh;margin:auto;display:flex;flex-direction:column;justify-content:center;padding:42px 0 29px}.desk-header{display:flex;justify-content:space-between;align-items:center;max-width:1180px;width:100%;margin:0 auto 45px;padding:0 12px}.desk-brand{display:flex;align-items:center;gap:13px;color:#6b7d6d}.desk-brand svg{width:28px;height:28px;color:#8ca277}.desk-brand>span{font:8px/1.9 var(--latin);letter-spacing:1px}.desk-brand strong{font-weight:400;letter-spacing:1.8px;font-size:10px}.edition-label{font:8px var(--latin);color:#a39c83;letter-spacing:1px;display:flex;align-items:center;gap:12px}.edition-label i{width:6px;height:6px;display:block;background:#c2ad78;box-shadow:2px 0 #d6c690}.console-area{padding-top:14px;position:relative}.console-area:after{content:'';position:absolute;bottom:-28px;left:6%;right:6%;height:42px;border-radius:50%;background:#5c5e4c22;filter:blur(14px);z-index:-1}.console{width:100%;max-width:1220px;aspect-ratio:2.16;margin:auto;display:grid;grid-template-columns:10.4% 79.2% 10.4%;position:relative;isolation:isolate;filter:drop-shadow(0 13px 8px #6660441c)}.joycon{position:relative;z-index:2;border:1px solid #5266624a;box-shadow:inset 3px 3px 4px #ffffff48,inset -4px -3px 3px #3652532b,0 4px 0 #4a625e50}.joycon-left{background:linear-gradient(95deg,#a0d0c6,#89bfb6);border-radius:55px 5px 5px 55px}.joycon-right{background:linear-gradient(95deg,#e7aa9a,#e49e90);border-radius:5px 55px 55px 5px;box-shadow:inset 3px 3px 4px #ffffff48,inset -4px -3px 3px #9064583b,0 4px 0 #a4756955}.console-body{background:linear-gradient(110deg,#34383e,#292d33 45%,#252a30);position:relative;z-index:1;border-top:2px solid #4a4e51;border-bottom:4px solid #171c21;padding:4.3% 3.8% 4.5%;display:flex;min-width:0;box-shadow:inset 0 1px 2px #1118,0 4px 0 #1b2024}.game-screen{position:relative;width:100%;height:100%;overflow:hidden;background:#93bec3;border:2px solid #151c21;box-shadow:0 0 0 2px #40474a,0 0 0 5px #1e252a,0 0 0 6px #151b2080;container-type:size;isolation:isolate}.pixel-landscape{position:absolute;inset:0;background:#a6d1d8 url('assets/pixel-meadow.png') center/cover no-repeat;image-rendering:pixelated;z-index:-3}.screen-shade{position:absolute;inset:0;background:linear-gradient(#314d5e05 15%,#365d3b18 100%);z-index:-2}.screen-pages{position:absolute;inset:0;overflow:hidden}.screen-reflection{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 1px 5px #102a3440;z-index:12}.top-grille{position:absolute;top:1.4%;left:45%;width:10%;height:4px;display:flex;gap:4px;justify-content:center}.top-grille i{display:block;flex:1;background:#171e22;border-radius:2px}.lower-bezel{position:absolute;bottom:1.4%;left:4%;right:4%;display:flex;justify-content:space-between;align-items:center;color:#7f8585;font:clamp(4px,.55vw,7px) var(--latin);letter-spacing:.4px}.speaker-holes{color:#141b20;font-size:9px;letter-spacing:2px}.hardware{padding:0;border:0;position:absolute;display:grid;place-items:center;background:linear-gradient(140deg,#44494d,#282d32);color:#c7cdcc;box-shadow:1px 2px 2px #1b2b3155,inset 1px 1px 1px #e3ebeb40;user-select:none}.hardware:hover{color:#fff3bf;background:#414b4e}.hardware:active{background:#242c2e}.minus,.plus{top:8.8%;width:23%;aspect-ratio:1;background:transparent;box-shadow:none}.minus{right:12%}.plus{left:12%}.minus span{width:80%;height:4px;background:#334746;box-shadow:0 1px #aee3d1}.plus span{width:75%;height:4px;background:#6e504b;position:relative;box-shadow:0 1px #f4d5c1}.plus span:after{content:'';height:17px;width:4px;background:#6e504b;position:absolute;top:calc(50% - 8px);left:calc(50% - 2px)}.analog{position:absolute;width:57%;aspect-ratio:1;left:21.5%;border-radius:50%;background:#313c3e;box-shadow:inset 0 0 0 3px #3e5050,0 3px 2px #1c353445,inset 0 -3px 1px #18282c}.analog>span{display:block;position:absolute;inset:11%;border-radius:50%;background:linear-gradient(145deg,#57615e,#333f40);border:2px solid #6e79704d;box-shadow:inset 1px 2px 2px #7a868144,inset -1px -3px 2px #243332,0 2px 3px #172c3255}.analog-left{top:23%}.analog-right{top:53%}.dpad{position:absolute;width:68%;height:24%;left:16%;top:51%}.dpad button{width:37%;aspect-ratio:1;border-radius:50%;font-size:clamp(5px,.73vw,11px);color:#b1c5c0}.dpad-up{left:31.5%;top:0}.dpad-left{left:0;top:28%}.dpad-right{right:0;top:28%}.dpad-down{left:31.5%;top:56%}.capture{width:24%;aspect-ratio:1;bottom:10.2%;right:18%;border-radius:3px;color:#b6cec7;font-family:serif;font-size:clamp(9px,1.25vw,17px)}.capture[aria-pressed=true]{color:#f9dd8f}.action-buttons{position:absolute;top:20%;width:71%;height:25%;left:14.5%}.action-buttons button{width:36%;aspect-ratio:1;border-radius:50%;font-size:clamp(8px,1.12vw,15px);font-family:Arial,sans-serif}.button-x{left:32%;top:0}.button-y{left:0;top:29%}.button-a{right:0;top:29%}.button-b{left:32%;top:58%}.home-button{width:25%;aspect-ratio:1;border-radius:50%;bottom:10.2%;left:18%;outline:3px solid #bc8c7f66;outline-offset:2px}.home-button svg{width:57%;height:57%;color:#c7cecb;shape-rendering:auto}.joycon-lines{position:absolute;bottom:1.7%;left:47%;display:flex;gap:2px}.joycon-lines i{height:3px;width:2px;background:#2d5b4b55}.joycon-right .joycon-lines i{background:#905d5255}.game-page{position:absolute;inset:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#be8750 #ead19b;font-size:clamp(12px,2.2cqw,19px);color:var(--pixel-ink);padding:3.8cqh 4.5cqw 2.5cqh;text-rendering:geometricPrecision}.unlock-page{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;gap:1.6cqh;text-align:center}.chapter-label{font:clamp(5px,1.05cqw,8px)/1.6 var(--latin);letter-spacing:.5px;color:#fef1c2;text-shadow:1px 1px #506644}.birthday-title,#birthday-title{font:clamp(8px,2.3cqw,21px)/1.5 var(--latin);color:#ffe5a3;letter-spacing:-.5px;white-space:nowrap;text-shadow:2px 0 #784528,-2px 0 #784528,0 2px #784528,0 -2px #784528,3px 3px #784528,0 4px #784528;margin-top:1.5cqh}.pixel-divider{display:flex;align-items:center;justify-content:center;gap:9px;margin-top:1cqh}.pixel-divider span{width:32px;height:2px;background:#fff0b6;box-shadow:1px 1px #7a8556}.pixel-divider svg{width:12px;height:12px;color:#ffe4a4}.portrait-row{display:flex;align-items:center;justify-content:center;gap:3.5cqw;min-height:0;padding:1cqh 0}.portrait-frame{width:min(23cqw,33cqh);aspect-ratio:1;position:relative;flex-shrink:0;border:3px solid #754726;box-shadow:0 0 0 2px #e8ba79,0 0 0 4px #784527,3px 5px #3d503c66,inset 0 0 0 2px #ffe2a4;background:#f8e8bd;display:flex;flex-direction:column;padding:5px 5px 0}.portrait-frame img{display:block;width:100%;height:calc(100% - 20px);object-fit:contain;image-rendering:pixelated;min-height:0}.portrait-frame figcaption{font:clamp(5px,.83cqw,7px)/20px var(--latin);color:#79532e;white-space:nowrap}.duck-frame img{object-fit:cover}.between-heart{width:24px;height:24px;color:#e98973;filter:drop-shadow(2px 2px #4b5a4240)}.wood-panel{background:#f9e3ad;border:3px solid var(--wood-dark);box-shadow:inset 0 0 0 2px #e4ad65,inset 0 0 0 4px #fff1c4,0 0 0 2px #e4b06c,0 0 0 4px #86512e,3px 5px #43513d4d;position:relative}.unlock-form{width:min(94%,540px);margin:auto;padding:1.7cqh 2.6cqw 1cqh;text-align:left}.unlock-form label{display:block;font-size:clamp(14px,2.5cqw,22px);line-height:1.4;margin-bottom:1.2cqh;text-align:center;color:#76462b}.answer-row{display:flex;align-items:stretch;gap:10px}.answer-row input{min-width:0;flex:1;width:100%;border:2px solid #a56e40;box-shadow:inset 2px 2px #d3b47b,0 1px #ffefc0;background:#fff5d7;color:#705032;height:clamp(29px,7cqh,40px);padding:0 10px;font-size:clamp(13px,2.2cqw,18px);border-radius:0}.answer-row input::placeholder{color:#ad9169;opacity:1}.answer-status{min-height:1.6em;font-size:clamp(10px,1.5cqw,13px);line-height:1.6;color:#a08457;text-align:center;padding-top:1cqh}.answer-status.error{color:#a84d3d}.answer-status.success{color:#597440}.panel-nail{position:absolute;width:4px;height:4px;background:#8e5d36;box-shadow:1px 1px #fff0b5;top:6px}.nail-tl{left:6px}.nail-tr{right:6px}.pixel-button{background:#f6d490;border:2px solid #7d4d2c;box-shadow:inset 2px 2px #ffeab6,inset -2px -2px #c8904e,0 2px #72462b;color:#714628;border-radius:0;font-size:clamp(12px,2cqw,17px);line-height:1.2;padding:7px 13px;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;min-height:30px}.pixel-button:hover:not(:disabled){background:#ffe4a1;color:#573820}.pixel-button:active:not(:disabled){box-shadow:inset 2px 2px #c69254,0 1px #72462b;background:#eac17d}.pixel-button:disabled{color:#b49a70;background:#dfc796;border-color:#9c8055;box-shadow:inset 2px 2px #eddbb3,inset -2px -2px #c7ad7d,0 2px #9c8055}.primary-button{background:#9ac073;color:#354e2d;box-shadow:inset 2px 2px #cbe19a,inset -2px -2px #6c9454,0 2px #634f2a}.primary-button:hover:not(:disabled){background:#b3cf81;color:#294025}.screen-tip{font:clamp(5px,.9cqw,8px)/1.5 var(--latin);letter-spacing:.6px;color:#fff0c4;text-shadow:1px 1px #526d43;margin-top:.8cqh}.tiny-heart{color:#ffd78a;margin-left:6px}.game-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.game-header h2,.letter-header h2{font-size:clamp(18px,3.7cqw,30px);color:#fff0c0;text-shadow:2px 2px #75452d,-1px -1px #75452d,1px -1px #75452d,-1px 1px #75452d;line-height:1.5;margin-top:1cqh}.count-badge{display:flex;align-items:center;gap:8px;font:clamp(7px,1.35cqw,11px) var(--latin);color:#6b512c;background:#fff0c4;border:2px solid #805536;box-shadow:inset 1px 1px #fffbdc,2px 2px #405a444d;padding:8px 9px;white-space:nowrap}.count-badge svg{width:18px;height:18px;color:#a7c06d}.cards-page{display:grid;grid-template-rows:auto minmax(90px,1fr) auto auto;gap:2.8cqh;padding-top:3.5cqh}.draw-field{display:flex;justify-content:center;align-items:center;gap:5cqw}.chest-stage{position:relative;width:18cqw;max-width:140px;height:100%;max-height:112px;display:grid;place-items:center}.pixel-chest{width:100px;height:74px;position:relative;filter:drop-shadow(3px 3px #2f4b3e55);transform-origin:50% 80%;z-index:1}.chest-lid{position:absolute;top:3px;left:3px;width:94px;height:30px;background:repeating-linear-gradient(0deg,#b57b3b 0 6px,#bc8849 6px 9px);border:4px solid #633d26;box-shadow:inset 0 3px #e1b26b;clip-path:polygon(0 7px,6px 7px,6px 0,88px 0,88px 7px,94px 7px,94px 30px,0 30px);transform-origin:50% 0}.chest-base{position:absolute;inset:30px 3px 0;background:repeating-linear-gradient(0deg,#a56632 0 5px,#b77e3e 5px 10px);border:4px solid #633d26;box-shadow:inset 0 3px #db9f50,inset 0 -3px #7e4a28}.chest-base:before,.chest-base:after{content:'';position:absolute;top:-31px;bottom:0;width:10px;background:#e8b857;border-left:3px solid #81562d;border-right:2px solid #f9d480;z-index:1}.chest-base:before{left:8px}.chest-base:after{right:8px}.chest-lock{position:absolute;z-index:2;width:18px;height:20px;top:28px;left:41px;border:3px solid #754c26;background:#ffd775;box-shadow:inset 0 2px #ffefa5}.chest-lock:after{content:'';position:absolute;width:4px;height:7px;background:#7e522c;left:4px;top:4px}.chest-shadow{position:absolute;width:110px;height:12px;bottom:5%;background:#46624450;clip-path:polygon(8px 0,102px 0,102px 3px,110px 3px,110px 9px,102px 9px,102px 12px,8px 12px,8px 9px,0 9px,0 3px,8px 3px)}.chest-spark{display:block;position:absolute;z-index:3;width:6px;height:15px;background:#ffdf82;box-shadow:0 0 0 2px #876331;opacity:0;top:-18px}.chest-spark:after{content:'';position:absolute;left:-4px;top:5px;width:14px;height:5px;background:#ffe9aa}.spark-a{left:4px}.spark-b{right:0;top:-4px}.pixel-chest.drawing{animation:chest-shake .15s steps(2) infinite alternate}.pixel-chest.drawing .chest-spark{opacity:1;animation:spark-blink .3s steps(2) infinite alternate}.pixel-chest.drawing .chest-lid{animation:lid-rattle .2s steps(2) infinite alternate}.draw-prompt>p:first-child{font-size:clamp(13px,2.4cqw,20px);line-height:1.4;color:#fff0bf;text-shadow:1px 1px #547040;margin-bottom:2cqh}.draw-prompt .draw-small{font-size:clamp(10px,1.55cqw,13px);color:#fff0c4;text-shadow:1px 1px #536642;margin-top:1.7cqh}.draw-prompt .pixel-button{min-width:175px}.collection-panel{padding:1.7cqh 2cqw 2cqh}.shelf-label{display:flex;justify-content:space-between;font:clamp(5px,.9cqw,8px) var(--latin);color:#9c7648;margin-bottom:1.7cqh}.card-shelf{display:grid;grid-template-columns:repeat(5,1fr);gap:1.7cqw}.shelf-card{position:relative;border:2px solid #ab7b49;padding:0;width:100%;height:clamp(72px,23cqh,122px);background:#bbd0aa;box-shadow:inset 0 0 0 2px #e2dfa7,2px 2px #9b713e44;display:flex;flex-direction:column;align-items:center;justify-content:center}.shelf-card:not(.collected){background:repeating-linear-gradient(45deg,#c99d63 0 5px,#d1a86e 5px 10px)}.shelf-card:not(.collected):before{content:'';position:absolute;inset:5px;border:1px solid #f2d29b}.card-back-star{width:24px;height:24px;color:#f2cf80;filter:drop-shadow(1px 1px #7e542e)}.shelf-card-label{font:clamp(10px,1.75cqw,15px)/1 var(--game-font);position:absolute;bottom:5px;color:#806139;z-index:2;letter-spacing:1px}.shelf-card:not(.collected) .shelf-card-label{color:#ffe0a0}.shelf-card.collected{background:#fff1ce;border-color:#8f683f;padding:5px 5px 21px}.shelf-card.collected:hover{background:#ffefbe;outline:2px solid #bf9050;outline-offset:2px}.mini-illustration{display:block;width:100%;height:100%;background:#eddfba;border:1px solid #dac89c}.mini-illustration img{width:100%;height:100%;object-fit:contain;image-rendering:pixelated}.screen-navigation{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:.5cqh}.screen-navigation .pixel-button{font-size:clamp(11px,1.6cqw,14px);padding:6px 10px;min-height:29px}.page-dots{display:flex;align-items:center;gap:6px}.page-dots i{display:block;width:5px;height:5px;background:#e8d19b;box-shadow:1px 1px #6a744e}.page-dots .active{background:#ac6150;box-shadow:1px 1px #75432d}.letter-page{display:grid;grid-template-rows:auto 1fr auto;gap:2.5cqh}.letter-header{text-align:center}.letter-header h2{margin-top:.4cqh}.letter-paper{min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#c39154 #ffe5a7;padding:2.4cqh 4cqw;background:#fff0c9}.letter-paper-heading{display:flex;justify-content:space-between;align-items:center;font:clamp(6px,1.1cqw,10px) var(--latin);color:#b18e58;margin-bottom:1.8cqh}.letter-paper-heading svg{width:32px;height:24px}.letter-paper h3{font-size:clamp(17px,2.6cqw,22px);margin-bottom:12px}.letter-text{white-space:pre-line;font-size:clamp(14px,2.2cqw,19px);line-height:1.9;min-height:75%;overflow-wrap:anywhere}.letter-text:empty{background:repeating-linear-gradient(transparent 0 calc(6.5cqh - 1px),#d8c59c66 calc(6.5cqh - 1px) 6.5cqh)}.letter-signature{text-align:right;font-size:clamp(13px,2cqw,17px);padding-top:16px;white-space:pre-line}.letter-footer-star{font-size:22px;line-height:1;color:#f5dc92;padding-right:5px}.card-overlay{position:absolute;inset:0;z-index:15;background:#233b2ac7;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2cqh;padding:3cqh 3cqw;overflow:auto;container-type:size}.reveal-heading{font:clamp(5px,1.15cqw,9px)/1.6 var(--latin);letter-spacing:.6px;color:#ffdf9c;text-align:center}.reveal-card{width:min(230px,42cqw);height:min(335px,71cqh);min-height:140px;background:#fff0c6;border:3px solid #84502d;box-shadow:inset 0 0 0 2px #edc17e,0 0 0 2px #e7b777,0 0 0 4px #68442b,6px 7px #15291f66;position:relative;padding:22px 12px 12px;display:flex;flex-direction:column;animation:card-arrive .28s steps(6)}.reveal-number{font:clamp(7px,1.3cqw,10px)/1 var(--latin);color:#b08a54;position:absolute;top:8px;left:10px}.reveal-illustration{height:57%;flex-shrink:0;background:#eee0b9;border:2px solid #dac396;display:grid;place-items:center;min-height:0}.reveal-illustration img{width:100%;height:100%;object-fit:contain;image-rendering:pixelated;min-height:0}.reveal-copy{flex:1;min-height:0;margin-top:12px;overflow:auto;scrollbar-width:thin;font-size:clamp(12px,2.2cqw,17px);line-height:1.6}.reveal-copy h3{font-size:clamp(15px,2.7cqw,21px);color:#7a4b2c;text-align:center;margin-bottom:8px}.reveal-copy p{white-space:pre-line;overflow-wrap:anywhere}.reveal-copy:has(p:empty){background:repeating-linear-gradient(transparent 0 24px,#d8c49a66 24px 25px)}.card-seal{position:absolute;bottom:6px;right:7px;width:12px;height:12px;color:#d6b66e}.reveal-actions{display:flex;gap:12px;justify-content:center}.reveal-actions .pixel-button{font-size:clamp(11px,1.9cqw,15px);padding:7px 11px}.screen-toast{position:absolute;left:50%;bottom:5%;transform:translateX(-50%);padding:7px 12px;background:#fff0ca;border:2px solid #815331;box-shadow:2px 2px #324b3766;font-size:clamp(11px,1.9cqw,16px);z-index:30;max-width:90%;white-space:nowrap}.screen-particles{position:absolute;inset:0;z-index:25;overflow:hidden;pointer-events:none}.screen-particles i{width:5px;height:5px;position:absolute;background:#ffe3a0;animation:pixel-fall 1.2s steps(12) forwards}.page-leaving{pointer-events:none;animation:page-out .15s steps(5) forwards}.page-entering{animation:page-in .23s steps(7) both}.unlock-form.wrong-answer{animation:wrong-answer .22s steps(3)}.desk-footer{max-width:1180px;width:100%;margin:42px auto 0;display:flex;justify-content:space-between;align-items:center;gap:15px;padding:0 12px;color:#93947e}.desk-footer>span:first-child{font:6px/1.8 var(--latin);letter-spacing:.3px;display:flex;align-items:center;gap:8px}.power-dot{height:5px;width:5px;background:#9caf83;box-shadow:1px 1px #d7ddbd}.desk-footer p{font-size:12px;white-space:nowrap;color:#8d917c;display:flex;align-items:center;gap:7px}.desk-footer kbd{font:8px var(--latin);color:#8c927d;border:1px solid #c4c5af;background:#f7f3e8;padding:3px;box-shadow:0 1px #c4c5af}.footer-separator{color:#c4c4ac;margin:0 5px}.desk-footer .footer-caption{font:6px/1.8 var(--latin);letter-spacing:.2px;white-space:nowrap}.footer-caption span{font:17px serif;color:#c69d87;margin-left:7px}.orientation-note{display:none;text-align:center;font-size:11px;color:#a1a18a;margin-top:19px}.desk-decoration{position:fixed;pointer-events:none;color:#c2bea2;font-family:var(--latin);z-index:-1}.deco-one{right:5%;top:12%;font-size:23px}.deco-two{left:4%;bottom:17%;font-size:15px}.noscript-note{text-align:center;padding:20px;background:#f8dca0}
@keyframes page-out{to{opacity:0;transform:translateX(-12px)}}@keyframes page-in{from{opacity:0;transform:translateX(15px)}to{opacity:1;transform:none}}@keyframes wrong-answer{0%,100%{transform:none}25%,75%{transform:translateX(-4px)}50%{transform:translateX(4px)}}@keyframes chest-shake{from{transform:rotate(-4deg)}to{transform:rotate(4deg)}}@keyframes lid-rattle{to{transform:translateY(-3px)}}@keyframes spark-blink{to{opacity:.2;transform:translateY(-4px)}}@keyframes card-arrive{from{opacity:0;transform:translateY(12px) scale(.92)}to{opacity:1;transform:none}}@keyframes pixel-fall{to{transform:translate(var(--drift),160px);opacity:0}}
@media(min-width:1550px){.desk{padding-top:70px;padding-bottom:65px}.desk-header{margin-bottom:60px}.desk-footer{margin-top:52px}}
@media(max-width:1000px){.desk{width:calc(100% - 48px)}.desk-header{margin-bottom:35px;padding-inline:4px}.joycon-left{border-radius:37px 4px 4px 37px}.joycon-right{border-radius:4px 37px 37px 4px}.console-body{padding:4% 3.3% 4.5%}.game-page{padding-left:4cqw;padding-right:4cqw}.desk-footer{padding-inline:4px}.desk-footer .footer-caption{display:none}.chest-stage{width:18cqw}.pixel-chest{transform:scale(.8)}.pixel-chest.drawing{animation:chest-small-shake .15s steps(2) infinite alternate}.chest-shadow{transform:scale(.8)}.draw-prompt .pixel-button{min-width:155px}.draw-prompt>p:first-child{font-size:clamp(12px,2.3cqw,18px)}.shelf-card{height:clamp(65px,23cqh,122px)}}
@keyframes chest-small-shake{from{transform:scale(.8) rotate(-4deg)}to{transform:scale(.8) rotate(4deg)}}
@media(max-width:700px) and (orientation:portrait){.desk{width:calc(100% - 24px);padding:29px 0 23px;min-height:100svh}.desk-header{margin-bottom:38px;padding-inline:6px}.desk-brand{gap:9px}.desk-brand svg{width:23px;height:23px}.desk-brand>span{font-size:6px;letter-spacing:.2px}.desk-brand strong{font-size:7px;letter-spacing:.8px}.edition-label{font-size:5px;letter-spacing:0;gap:6px}.edition-label i{width:4px;height:4px}.console{aspect-ratio:auto;height:clamp(440px,70svh,570px);grid-template-columns:10% 80% 10%}.joycon-left{border-radius:29px 3px 3px 29px}.joycon-right{border-radius:3px 29px 29px 3px}.console-body{padding:17px 10px 24px}.lower-bezel{font-size:3px;bottom:8px;left:5%;right:5%;letter-spacing:0}.speaker-holes{font-size:5px;letter-spacing:0}.top-grille{top:6px;height:3px;width:25%;left:37.5%;gap:3px}.minus,.plus{width:34%;top:10%;left:33%;right:auto}.minus span{height:3px}.plus span{height:3px}.plus span:after{height:11px;width:3px;left:calc(50% - 1.5px);top:calc(50% - 5.5px)}.analog{width:75%;left:12.5%;box-shadow:inset 0 0 0 2px #3e5050,0 2px 1px #1c353445,inset 0 -2px 1px #18282c}.analog>span{inset:9%;border-width:1px}.analog-left{top:24%}.analog-right{top:58%}.dpad{left:6%;width:88%;top:46%;height:12%}.dpad button{font-size:4px}.dpad-left,.dpad-right{top:19%}.dpad-down{top:38%}.action-buttons{width:88%;left:6%;top:22%;height:12%}.action-buttons button{font-size:5px}.button-y,.button-a{top:20%}.button-b{top:40%}.capture{width:40%;right:30%;bottom:17%;font-size:10px}.home-button{width:40%;left:30%;bottom:17%;outline-width:2px;outline-offset:1px}.joycon-lines{left:25%;gap:2px}.joycon-lines i{width:2px;height:2px}.game-page{padding:20px 12px 13px;font-size:15px}.unlock-page{grid-template-rows:auto 1fr auto auto;gap:12px}.chapter-label{font-size:5px;letter-spacing:0}.birthday-title,#birthday-title{font-size:clamp(7px,2.65cqw,10px);letter-spacing:-.4px;margin-top:12px;text-shadow:1px 0 #784528,-1px 0 #784528,0 1px #784528,0 -1px #784528,2px 2px #784528}.pixel-divider{margin-top:10px;gap:7px}.pixel-divider svg{width:10px;height:10px}.pixel-divider span{width:23px}.portrait-row{gap:17px;padding:6px 0}.portrait-frame{width:min(35cqw,145px);border-width:2px;padding:4px 4px 0;box-shadow:0 0 0 2px #e8ba79,0 0 0 3px #784527,2px 4px #3d503c66}.portrait-frame img{height:calc(100% - 16px)}.portrait-frame figcaption{font-size:4px;line-height:16px}.between-heart{position:absolute;width:13px;height:13px}.unlock-form{width:calc(100% - 8px);padding:15px 10px 8px}.unlock-form label{font-size:19px;margin-bottom:12px;white-space:nowrap}.answer-row{flex-direction:column;gap:9px}.answer-row input{flex:auto;height:37px;min-height:37px;font-size:16px;padding:0 8px}.answer-row .pixel-button{height:35px;font-size:16px;gap:12px}.answer-status{font-size:11px;line-height:1.5;padding-top:10px;min-height:39px}.screen-tip{font-size:5px;letter-spacing:0;margin-top:0}.game-header{align-items:flex-start;gap:5px}.game-header h2,.letter-header h2{font-size:21px;line-height:1.4;margin-top:9px}.count-badge{font-size:6px;padding:6px;gap:5px;margin-top:10px}.count-badge svg{width:13px;height:13px}.cards-page{grid-template-rows:auto minmax(100px,1fr) auto auto;gap:18px}.draw-field{flex-direction:column;gap:4px}.chest-stage{height:83px;min-height:83px;width:110px}.pixel-chest{transform:scale(.8)}.chest-shadow{bottom:0}.draw-prompt{text-align:center;width:100%}.draw-prompt>p:first-child{font-size:15px;margin-bottom:12px;line-height:1.5}.draw-prompt .pixel-button{font-size:16px;min-width:180px;padding:9px 12px}.draw-prompt .draw-small{font-size:11px;margin-top:10px}.collection-panel{padding:10px 8px 12px}.shelf-label{font-size:4px;letter-spacing:-.2px;margin-bottom:12px}.card-shelf{gap:6px}.shelf-card{height:67px;border-width:1px}.shelf-card.collected{padding:3px 3px 15px}.shelf-card:not(.collected):before{inset:3px}.card-back-star{width:13px;height:13px}.shelf-card-label{font-size:11px;bottom:4px}.screen-navigation{gap:6px;margin-top:2px}.screen-navigation .pixel-button{font-size:11px;padding:7px 6px;gap:3px;min-height:29px}.page-dots{gap:4px}.page-dots i{width:4px;height:4px}.letter-page{gap:18px}.letter-paper{padding:17px 14px}.letter-paper-heading{font-size:6px;margin-bottom:15px}.letter-paper-heading svg{width:24px;height:18px}.letter-text{font-size:16px;line-height:1.9}.letter-text:empty{background:repeating-linear-gradient(transparent 0 29px,#d8c59c66 29px 30px)}.letter-paper h3{font-size:19px}.letter-signature{font-size:14px}.letter-footer-star{font-size:20px}.card-overlay{padding:20px 12px;gap:20px}.reveal-heading{font-size:5px;letter-spacing:-.2px}.reveal-card{width:72cqw;height:65cqh;min-height:200px;max-height:330px;padding:24px 10px 12px}.reveal-number{font-size:8px;top:9px}.reveal-illustration{height:56%}.reveal-copy{font-size:15px;margin-top:11px}.reveal-copy h3{font-size:19px}.reveal-actions{gap:8px;width:100%}.reveal-actions .pixel-button{font-size:13px;padding:9px 7px;gap:4px}.screen-toast{font-size:12px;padding:8px;white-space:normal;min-width:75%;text-align:center}.desk-footer{margin-top:32px;flex-direction:column;gap:16px}.desk-footer>span:first-child{font-size:5px;letter-spacing:0}.desk-footer p{font-size:11px;gap:6px}.desk-footer kbd{font-size:6px;padding:3px}.orientation-note{display:block;margin-top:17px}.deco-one{right:8%;top:16%;font-size:15px}.deco-two{display:none}}
@media(max-height:600px) and (orientation:landscape){.desk{width:min(1000px,calc(100% - 64px));padding:15px 0;min-height:100svh}.desk-header{display:none}.console-area{padding-top:10px}.console{max-height:calc(100svh - 72px);width:auto;max-width:100%;aspect-ratio:2.16}.desk-footer{margin-top:16px}.desk-footer>span:first-child{font-size:4px}.desk-footer p{font-size:10px}.desk-footer kbd{font-size:5px}.lower-bezel{font-size:4px}.game-page{padding-top:3cqh;padding-bottom:2cqh}.unlock-page{gap:1cqh}.unlock-form{padding-top:1cqh;padding-bottom:0}.unlock-form label{margin-bottom:1cqh}.answer-status{padding-top:.5cqh;font-size:10px}.answer-row .pixel-button{font-size:12px;padding:4px 9px}.portrait-frame{width:min(23cqw,31cqh);padding:3px 3px 0;border-width:2px}.portrait-frame img{height:calc(100% - 13px)}.portrait-frame figcaption{font-size:4px;line-height:13px}.cards-page{gap:1.5cqh;grid-template-rows:auto minmax(70px,1fr) auto auto}.game-header h2{font-size:20px;line-height:1.2;margin-top:1cqh}.draw-field{gap:4cqw}.draw-prompt>p:first-child{font-size:13px;margin-bottom:1.5cqh}.draw-prompt .draw-small{font-size:10px;margin-top:1cqh}.draw-prompt .pixel-button{font-size:12px;min-width:145px;padding:5px 9px}.pixel-chest{transform:scale(.65)}.chest-stage{max-height:80px}.shelf-card{height:19cqh;min-height:44px}.card-back-star{width:16px;height:16px}.shelf-card-label{font-size:11px;bottom:4px}.collection-panel{padding-block:1.3cqh}.shelf-label{margin-bottom:1.2cqh;font-size:5px}.screen-navigation .pixel-button{font-size:10px;padding:4px 8px;min-height:24px}.count-badge{padding:5px;font-size:7px}.count-badge svg{width:13px;height:13px}.reveal-card{height:69cqh;width:30cqw;padding:17px 9px 8px;min-height:110px}.reveal-number{font-size:6px;top:6px}.reveal-illustration{height:58%}.reveal-copy{margin-top:7px}.reveal-actions .pixel-button{font-size:11px;padding:5px 9px;min-height:25px}.reveal-heading{font-size:5px}.card-overlay{padding:2cqh;gap:2cqh}.letter-header h2{font-size:22px}}
.finale-page{padding:4cqh 5cqw 3cqh;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:2cqh;background:#191c38;image-rendering:pixelated;overflow:hidden;isolation:isolate}.finale-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;image-rendering:pixelated;z-index:-1;pointer-events:none}
.finale-chapter{font:clamp(5px,1cqw,8px)/1.6 var(--latin);letter-spacing:1px;text-align:center;color:#d7c7ed;text-shadow:1px 1px #1a1837;z-index:1}
.finale-title{height:100%;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:space-evenly;font-family:var(--latin);font-size:min(9.1cqw,16cqh);line-height:1.3;letter-spacing:-.065em;text-align:center;color:#ffd476;text-shadow:2px 0 #763f4b,-2px 0 #763f4b,0 -2px #763f4b,0 2px #763f4b,3px 3px #763f4b,4px 5px #272041;position:relative;z-index:1}
.finale-title span{display:block;white-space:nowrap}.finale-title span:first-child{color:#ffe5ab}.finale-title span:last-child{color:#ffdba1}
.finale-navigation{position:relative;z-index:1;margin-top:0}.finale-navigation .page-dots i{background:#746b9c;box-shadow:1px 1px #171b36}.finale-navigation .page-dots .active{background:#f1ca82;box-shadow:1px 1px #674759}.finale-navigation .pixel-button{background:#5f527e;color:#f6dca2;border-color:#29253f;box-shadow:inset 2px 2px #8d79a6,inset -2px -2px #403858,0 2px #17192f}.finale-navigation .pixel-button:hover{background:#74638f;color:#ffe8b6}.finale-heart{width:19px;height:19px;color:#dd97b1;margin-right:5px}
.finale-twinkles{position:absolute;inset:0;pointer-events:none;z-index:0}.finale-twinkles i{position:absolute;width:4px;height:12px;background:#fff0bf;box-shadow:0 0 0 1px #a79bc344;animation:finale-twinkle 3.5s steps(2) infinite}.finale-twinkles i:after{content:'';position:absolute;width:12px;height:4px;background:#fff0bf;top:4px;left:-4px}.finale-twinkles i:first-child{left:10%;top:24%}.finale-twinkles i:nth-child(2){right:10%;top:55%;animation-delay:1.3s}.finale-twinkles i:last-child{left:23%;bottom:14%;animation-delay:2.5s}
@keyframes finale-twinkle{0%,70%,100%{opacity:.25}35%{opacity:1}}
@media(max-width:700px) and (orientation:portrait){.finale-page{padding:24px 12px 15px;gap:14px}.finale-chapter{font-size:5px;letter-spacing:0}.finale-title{font-size:9.1cqw;text-shadow:1px 0 #763f4b,-1px 0 #763f4b,0 -1px #763f4b,0 1px #763f4b,2px 2px #763f4b,3px 4px #272041}.finale-heart{width:15px;height:15px}.finale-twinkles i{width:3px;height:9px}.finale-twinkles i:after{width:9px;height:3px;top:3px;left:-3px}}
@container (max-height:300px) and (min-width:360px){.cards-page{grid-template-rows:auto minmax(60px,1fr) auto auto;gap:1.4cqh}.cards-page .game-header h2{font-size:clamp(16px,3.4cqw,21px);line-height:1.25;margin-top:1cqh}.cards-page .chapter-label{font-size:5px}.cards-page .draw-prompt>p:first-child{font-size:13px;margin-bottom:1.5cqh}.cards-page .draw-prompt .pixel-button{font-size:12px;padding:5px 9px}.cards-page .draw-prompt .draw-small{font-size:10px;margin-top:1cqh}.cards-page .collection-panel{padding-block:1.2cqh}.cards-page .shelf-label{font-size:5px;margin-bottom:1cqh}.cards-page .shelf-card{height:24cqh;min-height:52px}.cards-page .shelf-card.collected{padding:3px 4px 13px}.cards-page .shelf-card-label{font-size:11px;bottom:4px}.cards-page .screen-navigation .pixel-button{font-size:10px;padding:4px 8px;min-height:24px}.cards-page .count-badge{font-size:7px;padding:5px}.cards-page .count-badge svg{width:13px;height:13px}}
.reveal-card.has-copy .reveal-illustration{height:38%}.reveal-card.has-copy .reveal-copy{scrollbar-color:#b18b51 #f6e4bb}.reveal-card.has-copy .reveal-copy h3{margin-bottom:5px}
.completion-overlay{position:absolute;inset:0;z-index:17;display:grid;place-items:center;overflow:auto;overscroll-behavior:contain;padding:3cqh 4cqw;background:#1f3e30d9;container-type:size}
.summon-panel{width:min(540px,91cqw);max-height:100%;overflow:auto;display:flex;flex-direction:column;align-items:center;gap:1.8cqh;padding:2cqh 3cqw;scrollbar-width:thin;text-align:center;animation:card-arrive .3s steps(6)}
.completion-kicker{font:clamp(5px,1.1cqw,9px)/1.6 var(--latin);letter-spacing:.6px;color:#a27941}
.summon-image{display:block;width:min(35cqw,44cqh);height:min(35cqw,44cqh);flex-shrink:0;object-fit:contain;image-rendering:pixelated;background:#fff8e5;border:2px solid #bd9153;box-shadow:2px 2px #ddbd82}
#completion-title{font-family:var(--game-font);font-size:clamp(16px,3.2cqw,23px);line-height:1.4;color:#714328;text-shadow:1px 1px #fff4c7}#completion-title span{display:block;white-space:nowrap}
.summon-panel .pixel-button{font-size:clamp(12px,2cqw,17px);padding:7px 16px;flex-shrink:0}
@media(max-width:700px) and (orientation:portrait){.completion-overlay{padding:20px 10px}.summon-panel{width:calc(100% - 10px);padding:19px 9px;gap:18px}.completion-kicker{font-size:5px;letter-spacing:.2px}.summon-image{width:min(66cqw,37cqh);height:min(66cqw,37cqh)}#completion-title{font-size:clamp(16px,6.4cqw,19px);line-height:1.5}.summon-panel .pixel-button{font-size:16px;padding:9px 17px}}
/* The map occupies the collection's central stage. The console never moves. */
.cards-page{grid-template-rows:auto minmax(0,1fr) auto;gap:1.8cqh;padding:3cqh 3.5cqw 2.5cqh;background:#466b5680}
.cards-page .game-header h2{font-size:clamp(17px,3.2cqw,26px);line-height:1.3;margin-top:1cqh}
.cards-page .chapter-label{font-size:clamp(4px,.8cqw,7px);letter-spacing:.25px}
.wish-atlas{display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-height:0;padding:1.4cqh 1.5cqw 1cqh;background:#f0d8a0;overflow:hidden}
.atlas-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;font:clamp(4px,.8cqw,7px)/1.5 var(--latin);color:#85603b;margin-bottom:1cqh}
.map-viewport{min-width:0;min-height:0;overflow:auto;display:grid;place-items:center;container-type:size;background:#83bfc3;border:2px solid #6c895c;box-shadow:inset 0 0 0 2px #d7d498;scrollbar-width:thin;scrollbar-color:#b8a06b #b5d4c5;overscroll-behavior:contain}
.map-viewport:focus-visible{outline:2px solid #f7dda0;outline-offset:-4px}
.map-canvas{width:min(100cqw,235.29cqh);aspect-ratio:800/340;position:relative;flex-shrink:0;isolation:isolate}
.china-map,.map-connectors{display:block;position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.china-map{image-rendering:pixelated}
.map-connectors{fill:none;stroke:#76563b;stroke-width:2;stroke-linecap:square;stroke-linejoin:miter}.map-connectors .city-pins{fill:#ffdd87;stroke:#76563b;stroke-width:2}
.map-land-label,.map-ocean-label{position:absolute;font:clamp(5px,1.3cqw,9px)/1.5 var(--latin);letter-spacing:1px;pointer-events:none}.map-land-label{left:9%;top:14%;color:#59744b}.map-ocean-label{left:68%;top:24%;color:#497f89;font-size:clamp(4px,1cqw,7px)}

.map-card-layer{position:absolute;inset:0;display:block;pointer-events:none}
.cards-page .map-card{position:absolute;transform:translateX(-50%);width:8.5%;height:21%;min-height:0;max-height:none;padding:3px 3px 16px;border:2px solid #79553a;background:#e0c992;box-shadow:2px 3px #31565166;pointer-events:auto;transition:filter .15s;container-type:inline-size}
.cards-page .map-card:not(.collected){background:repeating-linear-gradient(45deg,#b8b387 0 4px,#c0b98d 4px 8px)}
.cards-page .map-card:not(.collected):before{inset:3px;border:1px solid #e6d8a5}.cards-page .map-card:not(.collected) .card-back-star{width:38%;height:auto;color:#e6d39a;opacity:.85;margin-bottom:2px}
.cards-page .map-card.collected{border-top-color:var(--card-color);background:#fff0c4;box-shadow:2px 3px #31565166,inset 0 3px var(--card-color)}
.cards-page .map-card.collected:hover{outline:2px solid #f5df9e;outline-offset:2px;filter:brightness(1.08)}
.map-card .mini-illustration{border:0;background:#fff8e5;overflow:hidden}.map-card .mini-illustration img{object-fit:cover}
.cards-page .map-card .shelf-card-label{font-family:var(--game-font);font-size:clamp(8px,23cqw,16px);line-height:1;bottom:3px;letter-spacing:0;white-space:nowrap;color:#735538}.cards-page .map-card:not(.collected) .shelf-card-label{color:#6b6749}
.map-place-name{position:absolute;top:calc(100% + 5px);left:50%;transform:translateX(-50%);white-space:nowrap;padding:2px 4px;background:#f7e5b4;border:1px solid #9a8156;color:#694d32;box-shadow:1px 1px #55705666;font:clamp(11px,26cqw,15px)/1 var(--game-font);letter-spacing:0}
.map-hint{font-size:clamp(10px,1.8cqw,13px);line-height:1.2;text-align:center;color:#8f754c;padding-top:1cqh}.map-hint>span:last-child{color:#ba8b46}.map-pan-hint{display:none}
.cards-page .map-draw-bar{position:absolute;z-index:3;right:6cqw;bottom:16cqh;width:28cqw;display:block;min-height:0;padding:0}
.cards-page .map-draw-bar .chest-stage,.cards-page .map-draw-bar .draw-prompt{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.map-draw-bar .chest-stage{width:6cqw;height:6cqh;min-height:0;max-height:50px;flex-shrink:0}.map-draw-bar .pixel-chest{transform:scale(.42);transform-origin:50% 50%}.map-draw-bar .pixel-chest.drawing{animation:map-chest-shake .15s steps(2) infinite alternate}
.map-draw-bar .draw-prompt{flex:1;min-width:0}.cards-page .map-draw-bar .draw-prompt>p:first-child{font-size:clamp(11px,1.9cqw,16px);margin:0 0 3px;color:#fff0c4;text-shadow:1px 1px #46634b;line-height:1.3}.cards-page .map-draw-bar .draw-small{font-size:clamp(9px,1.5cqw,12px);color:#d6e1ae;margin:0;line-height:1.2}
.map-draw-bar>.pixel-button{font-size:clamp(10px,1.7cqw,15px);line-height:1.3;padding:7px 8px;white-space:normal;width:100%}
.letter-header #letter-heading{font-family:var(--latin);font-size:clamp(10px,2.7cqw,22px);line-height:1.5;letter-spacing:-.04em}
@keyframes map-chest-shake{from{transform:scale(.42) rotate(-5deg)}to{transform:scale(.42) rotate(5deg)}}
@media(max-width:700px) and (orientation:portrait){.cards-page{padding:17px 10px 12px;gap:11px;grid-template-rows:auto minmax(220px,1fr) auto auto}.cards-page .game-header h2{font-size:18px;line-height:1.35;margin-top:7px;max-width:170px}.cards-page .chapter-label{font-size:4px;line-height:1.8;max-width:170px}.cards-page .count-badge{font-size:7px;padding:5px;gap:4px;white-space:nowrap}.cards-page .count-badge svg{width:12px;height:12px}.wish-atlas{padding:9px 5px 7px;grid-template-rows:auto minmax(0,1fr) auto}.atlas-heading{font-size:4px;letter-spacing:-.3px;margin-bottom:8px;gap:4px}.map-viewport{display:block;container-type:normal}.map-canvas{width:540px;margin:auto;height:229.5px}.map-land-label{font-size:7px}.map-ocean-label{font-size:5px}.cards-page .map-card{padding:2px 2px 14px;border-width:1px;height:21%}.cards-page .map-card .shelf-card-label{font-size:12px}.map-place-name{font-size:12px;top:calc(100% + 4px);padding:2px 3px}.map-hint{font-size:10px;line-height:1.4;padding-top:7px}.map-pan-hint{display:inline}.cards-page .map-draw-bar{display:grid;grid-template-columns:1fr;gap:7px;padding:0}.map-draw-bar .chest-stage{display:none}.cards-page .map-draw-bar .draw-prompt>p:first-child{font-size:12px;text-align:center;margin:0}.cards-page .map-draw-bar .draw-small{display:none}.map-draw-bar>.pixel-button{font-size:14px;padding:7px 8px;width:100%}.letter-header #letter-heading{font-size:8.5px;letter-spacing:-.05em}.cards-page .screen-navigation .pixel-button{font-size:10px;padding:6px 5px;min-height:27px}.cards-page .page-dots{gap:4px}}
@container (max-height:300px) and (min-width:360px){.cards-page{grid-template-rows:auto minmax(0,1fr) auto auto;gap:1.4cqh}.cards-page .game-header h2{font-size:17px;margin-top:3px}.wish-atlas{padding:4px 8px}.atlas-heading{font-size:4px;margin-bottom:3px}.map-hint{display:none}.map-draw-bar .chest-stage{display:none}.map-draw-bar .draw-small{display:none}.cards-page .map-draw-bar .draw-prompt>p:first-child{font-size:11px}.map-draw-bar>.pixel-button{font-size:11px;padding:5px 9px}.cards-page .map-draw-bar{min-height:26px}.letter-header #letter-heading{font-size:14px}}
/* Give the atlas the available height at every landscape size. */
@container (max-height:300px) and (min-width:360px){.cards-page{grid-template-rows:auto minmax(0,1fr) auto}.cards-page .map-draw-bar{min-height:0}.map-draw-bar>.pixel-button{font-size:10px;padding:5px 7px}}
@media(max-width:700px) and (orientation:portrait){.cards-page{grid-template-rows:auto minmax(220px,1fr) auto auto}.cards-page .map-draw-bar{position:static;width:auto;display:block}.cards-page .map-draw-bar .draw-prompt,.cards-page .map-draw-bar .chest-stage{display:none}.map-draw-bar>.pixel-button{font-size:14px;padding:7px 8px}}
.map-us-label{position:absolute;left:88%;top:25%;font:clamp(5px,1.3cqw,9px)/1.5 var(--latin);letter-spacing:1px;color:#59744b;pointer-events:none}
.map-ocean-label{left:61%;top:33%;font-size:clamp(4px,1cqw,7px)}
.missing-card-mark{font:clamp(10px,34cqw,20px)/1 var(--latin);color:#eee1ad;text-shadow:1px 1px #7a7959;margin-top:-3px}
.cards-page .map-card:not(.collected){border-style:dashed;background:#637f6480;box-shadow:inset 0 0 0 2px #c9d19a77,1px 2px #31565144}
.cards-page .map-card:not(.collected):before{display:none}.cards-page .map-card:not(.collected) .shelf-card-label{color:#f3e3b1}
.draw-overlay{position:absolute;inset:0;z-index:14;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3cqh;background:#233b2ad9;text-align:center;padding:4cqh 4cqw;container-type:size}
.draw-animation-kicker{font:clamp(5px,1.2cqw,9px)/1.8 var(--latin);color:#f7dfa5;letter-spacing:.5px}
.drawing-chest-stage{position:relative;display:grid;place-items:center;width:160px;height:130px;flex-shrink:0}.draw-overlay .pixel-chest{transform:none;transform-origin:50% 80%}.draw-overlay .pixel-chest.drawing{animation:chest-shake .15s steps(2) infinite alternate}.drawing-chest-stage .chest-shadow{bottom:13px}
.draw-animation-label{font:clamp(14px,3cqw,22px)/1.5 var(--game-font);color:#fff0c4;text-shadow:2px 2px #473f2e}
.card-overlay .reveal-card{animation:card-unpack .42s steps(7) both}.cards-page .map-card.just-collected{animation:map-card-land .65s steps(8) both;z-index:4}
@keyframes card-unpack{from{opacity:0;transform:translateY(22px) scale(.78) rotate(-3deg)}65%{opacity:1;transform:translateY(-4px) scale(1.025) rotate(1deg)}to{opacity:1;transform:none}}
@keyframes map-card-land{from{opacity:.4;transform:translate(-50%,-18px) scale(1.18);outline:3px solid #ffdf88}65%{opacity:1;transform:translate(-50%,3px) scale(.97);outline:2px solid #ffdf88}to{opacity:1;transform:translate(-50%,0) scale(1);outline:0 solid #ffdf8800}}
@media(max-width:700px) and (orientation:portrait){.map-us-label{font-size:7px}.map-ocean-label{font-size:5px}.draw-animation-kicker{font-size:5px;letter-spacing:0}.drawing-chest-stage{width:140px;height:125px}.draw-animation-label{font-size:18px}.missing-card-mark{font-size:15px}}
.capture.music-playing{box-shadow:inset 0 0 0 1px #bfe1b0,0 0 0 2px #b8d9a344}.capture.music-playing .sound-icon{color:#e4f5c5;text-shadow:0 0 4px #e4f5c588}.capture.music-loading .sound-icon{animation:music-loading .6s steps(2) infinite alternate}@keyframes music-loading{to{opacity:.35}}
.map-canada-label{position:absolute;left:85%;top:14%;font:clamp(4px,1cqw,8px)/1.5 var(--latin);letter-spacing:.4px;color:#486c68;pointer-events:none}.map-us-label{top:43%}.cards-page .map-card:not(.collected){padding:0}
@media(max-width:700px) and (orientation:portrait){.map-canada-label{font-size:6px}}
.letter-text:not(:empty){min-height:0}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}
