@import url('./base.css');
/* Loading interlude lives in the opening chapter, underneath the actor canvas. */
.cat-loading-act{position:absolute;left:57%;top:38%;width:29%;height:43%;z-index:3;pointer-events:none;opacity:1;transition:opacity .4s}
.cat-loading-act[hidden]{display:none}.cat-loading-act.is-ready{opacity:0}
.loading-paw{position:absolute;left:var(--x);top:var(--y);width:clamp(16px,2vw,29px);fill:var(--accent);opacity:0;transform:rotate(var(--r));transition:opacity .25s}
.loading-paw.arrived{opacity:.48}
.loading-toy{position:absolute;right:4%;top:0;width:36px;height:90px;transform-origin:50% -65px;animation:loading-sway 2.6s ease-in-out infinite}
.loading-toy:before{content:'';position:absolute;left:50%;bottom:75%;height:95px;width:1px;background:#7d766980}
.loading-toy i{position:absolute;bottom:0;left:12px;width:16px;height:49px;border-radius:80% 10% 80% 20%;background:#c9705e;transform:rotate(18deg)}
.loading-toy i:nth-child(2){left:24px;bottom:5px;height:37px;width:12px;background:#e6c3a8;transform:rotate(-22deg)}
.loading-toy i:nth-child(3){left:4px;bottom:4px;height:32px;width:10px;background:#8f6a56;transform:rotate(38deg)}
.loading-peek{position:absolute;right:0;top:49%;width:52px;height:40px;border-radius:60% 60% 40% 40%;background:#7e648d;opacity:0;animation:loading-peek 9s 30s ease-in-out infinite}
.loading-peek i{position:absolute;left:13px;top:13px;width:9px;height:12px;border-radius:50%;background:#f4e1b2;box-shadow:inset 3px 0 #43334e}.loading-peek i+i{left:30px}
@keyframes loading-sway{0%,100%{transform:rotate(-9deg)}50%{transform:rotate(9deg)}}
@keyframes loading-peek{0%,65%,100%{opacity:0;transform:translateY(14px) rotate(-8deg)}74%,89%{opacity:.85;transform:translateY(0) rotate(8deg)}}
@media(max-width:1023px){.cat-loading-act{left:40%;top:auto;bottom:17%;width:46%;height:25%}.loading-toy{transform:scale(.8)}}
@media(prefers-reduced-motion:reduce){.cat-loading-act .loading-toy,.cat-loading-act .loading-peek{display:none}}
:root{--paper:#eeece4;--ink:#272b25;--accent:#6f755e;--line:color-mix(in srgb,var(--ink) 20%,transparent);--wash:#eeece4;--serif:Georgia,'Hiragino Mincho ProN','Yu Mincho',serif;--sans:-apple-system,BlinkMacSystemFont,'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;--mono:ui-monospace,'SF Mono',SFMono-Regular,Menlo,Monaco,Consolas,'Liberation Mono',monospace}
html{height:auto;scroll-behavior:smooth;scroll-padding-top:0}body{height:auto;display:block;overflow-x:clip;overflow-y:auto;background:var(--wash);color:var(--ink);font-family:var(--sans)}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a:focus-visible,button:focus-visible{outline:2px solid currentColor!important;outline-offset:6px!important}button{font-family:inherit}a{color:inherit}::selection{background:#b7c9a4;color:#222}.skip{position:fixed;top:-80px;left:16px;z-index:100;background:#fff;color:#222;padding:12px}.skip:focus{top:10px}
.world-color{position:fixed;inset:0;background:var(--wash);z-index:-2;pointer-events:none}.grain{position:fixed;inset:0;z-index:11;pointer-events:none;opacity:.1;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23808080' filter='url(%23n)' opacity='.4' d='M0 0h160v160H0z'/%3E%3C/svg%3E")}
nav{position:fixed;inset:0 0 auto;z-index:35;padding:23px 4vw;min-height:78px;border-bottom:1px solid var(--line);color:var(--ink);background:color-mix(in srgb,var(--wash) 92%,transparent);backdrop-filter:blur(12px);display:flex;align-items:center;gap:24px}nav .brand{font:700 13px var(--mono);letter-spacing:2px;display:flex;align-items:center;gap:12px;color:var(--ink);white-space:nowrap}.brand-mark{font-size:27px;line-height:1}.brand-sub{font:italic 14px var(--serif);letter-spacing:0;opacity:.65;margin-left:4px}nav .links{display:flex;gap:clamp(16px,2.4vw,38px);margin-left:auto}nav .theme-toggle{font:13px var(--mono);line-height:1;color:var(--ink);background:none;border:1px solid var(--line);border-radius:20px;padding:5px 9px;cursor:pointer;margin-left:2px}.theme-toggle:hover,.theme-toggle:focus-visible{border-color:var(--ink);outline:none}
.links a{font:12px var(--mono);position:relative;color:var(--ink);text-decoration:none;letter-spacing:.5px;padding:8px 0}nav .links a:after{content:'';position:absolute;height:2px;bottom:0;left:0;width:100%;background:currentColor;transform:scaleX(0);transition:transform .25s;transform-origin:left}nav .links a[aria-current=location]:after,nav .links a:hover:after{transform:scaleX(1)}
.stage{position:fixed;inset:0;width:100%;height:100svh;z-index:4;pointer-events:none}canvas#cat{width:100%;height:100%;pointer-events:none;touch-action:pan-y}canvas#cat2{pointer-events:none}.meow-bubble{position:fixed;z-index:25;font:15px var(--sans);color:var(--ink)}.style-switch{position:fixed;z-index:30;bottom:22px;right:4vw;display:flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:30px;background:color-mix(in srgb,var(--wash) 92%,transparent);backdrop-filter:blur(8px)}.chip{font:10px var(--sans);padding:7px 12px;background:transparent;border:0;border-radius:22px;letter-spacing:0;color:var(--ink)}.chip.active{background:var(--ink);color:var(--wash)}.chip:hover{background:color-mix(in srgb,var(--ink) 12%,transparent)}.chip.active:hover{background:var(--ink)}.journey-meter{position:fixed;z-index:30;bottom:32px;left:4vw;display:flex;align-items:center;gap:12px;font:10px var(--mono);letter-spacing:1px}.meter-track{width:75px;height:1px;background:var(--line)}.meter-track i{display:block;width:100%;height:2px;background:var(--ink);transform:scaleX(0);transform-origin:left}
.chapter{position:relative;min-height:140svh;scroll-margin-top:0}.chapter:last-child{min-height:100svh}.scene-inner{position:sticky;top:0;height:100svh;min-height:680px;display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:center;padding:100px 7vw 100px;overflow:clip;pointer-events:none}.scene-copy{position:relative;z-index:6;max-width:540px;pointer-events:none}.scene-copy a,.scene-copy button{pointer-events:auto}.scene-art{position:relative;grid-row:1;grid-column:2;height:min(58vw,630px);width:100%;transform:translate3d(var(--art-x,0px),var(--art-y,0px),0) rotate(var(--art-r,0deg));transform-style:preserve-3d;perspective:1200px;z-index:2}.games .scene-copy,.note .scene-copy,.line .scene-copy{grid-column:2;grid-row:1}.games .scene-art,.note .scene-art,.line .scene-art{grid-column:1;grid-row:1}.eyebrow{font:11px var(--mono);letter-spacing:2.5px;margin:0 0 26px;color:var(--accent);font-weight:600}.scene-copy h1,.scene-copy h2{font:500 clamp(32px,3.65vw,58px)/1.45 var(--serif);letter-spacing:-.045em;margin:0 0 28px}.scene-copy h1{font-size:clamp(76px,6.9vw,100px);line-height:1.25;letter-spacing:-.08em;margin-bottom:22px}.scene-copy em{font-style:normal;color:var(--accent)}.body-copy{font:14px/2.15 var(--sans);margin:0 0 30px;letter-spacing:.03em}.intro-en{font:italic 24px/1.35 var(--serif);margin-bottom:24px}.intro .body-copy{font-size:13px}.intro .scene-copy{align-self:center}.intro-orbit{position:absolute;width:49vw;height:49vw;border:1px solid var(--line);border-radius:50%;left:48%;top:15%;opacity:.6;transform:rotate(-15deg)}.intro-orbit span{position:absolute;left:18%;top:-6px;background:var(--wash);padding:0 20px;font:9px var(--mono);letter-spacing:2px}.floor-line{position:absolute;left:49%;right:4%;bottom:11%;height:1px;background:var(--line)}.cat-actions{display:flex;align-items:center;gap:25px;font:12px var(--sans)}.cat-actions button{padding:11px 20px;border:1px solid var(--ink);border-radius:25px;background:var(--ink);color:var(--wash);cursor:pointer}.cat-actions a{text-decoration:none;border-bottom:1px solid var(--line);padding:9px 0}.scroll-invite{position:absolute;left:7vw;bottom:100px;z-index:7;pointer-events:auto;text-decoration:none;font:12px var(--sans);letter-spacing:1px;display:flex;gap:15px;align-items:center}.scroll-invite span{font:36px var(--serif)}.edge-label{position:absolute;right:28px;top:48%;writing-mode:vertical-rl;font:9px var(--mono);letter-spacing:2px;opacity:.65}
.destination{display:inline-flex;align-items:center;justify-content:space-between;gap:60px;min-width:230px;padding:16px 0;border-bottom:1px solid var(--ink);text-decoration:none;font-size:14px;font-weight:600;transition:gap .3s}.destination span{font:26px var(--serif)}.destination:hover{gap:80px}.side-note{font:11px/1.8 var(--sans);margin-top:22px;opacity:.7}.topic-tags{display:flex;gap:10px;margin-top:27px}.topic-tags span{border:1px solid var(--line);border-radius:30px;padding:5px 12px;font-size:10px}.art-caption{position:absolute;bottom:0;left:0;right:0;text-align:center;font:11px var(--sans);letter-spacing:2px;opacity:.65}
.game-list{border-top:1px solid var(--line);margin-bottom:20px}.game-list button{display:flex;align-items:center;gap:20px;padding:17px 0;width:100%;border:0;border-bottom:1px solid var(--line);background:none;text-align:left;cursor:pointer;transition:padding .2s}.game-list button:hover{padding-left:10px}.game-list span{font:10px var(--mono);color:var(--accent)}.game-list b{font:500 17px var(--sans)}.game-list i{margin-left:auto;font:11px var(--sans)}.secondary-links{display:flex;gap:24px;align-items:center}.secondary-links button{border:0;border-radius:30px;padding:12px 18px;background:var(--ink);color:var(--wash);font:12px var(--sans);cursor:pointer}.secondary-links a{font:12px var(--sans);text-decoration:none;border-bottom:1px solid var(--line)}.yokai-world .moon{position:absolute;width:72%;aspect-ratio:1;border-radius:50%;background:#d9d1f1;left:10%;top:8%;box-shadow:inset -25px -12px 60px #bdacd0,0 0 80px #e6dcee}.yokai{position:absolute;width:32%;height:auto;filter:drop-shadow(0 16px 9px #7763842b)}.yokai-a{left:56%;top:5%;transform:rotate(18deg)}.yokai-b{left:0;top:35%;transform:rotate(-13deg)}.yokai-c{right:-3%;top:40%;transform:rotate(8deg)}.orbit{position:absolute;border:1px solid #9681b755;border-radius:50%;width:95%;height:65%;left:0;top:12%;transform:rotate(-30deg)}.orbit-b{transform:rotate(35deg);width:90%;height:76%}.stone{position:absolute;bottom:9%;left:13%;width:68%;height:18%;border-radius:50%;background:linear-gradient(170deg,#b3a6c3,#8b7a9f);box-shadow:0 15px 0 #7b6b8d,0 30px 38px #67537833;border-top:1px solid #ede6ff}.stone span{position:absolute;bottom:-12px;width:100%;text-align:center;font:9px var(--mono);letter-spacing:2px;color:#fff8}
.sun-disc{position:absolute;left:22%;top:3%;width:65%;aspect-ratio:1;border-radius:50%;background:#e9c29c;opacity:.65}.paper-house{position:absolute;left:12%;top:20%;width:72%;height:55%;transform:rotate(-4deg) rotateY(-14deg);transform-style:preserve-3d;filter:drop-shadow(15px 24px 12px #85664c25)}.house-wall{position:absolute;left:0;right:0;top:25%;bottom:0;background:linear-gradient(100deg,#f8ead2,#e1cba8);border:1px solid #ac91693d}.roof{position:absolute;left:-9%;right:-9%;height:37%;top:0;background:linear-gradient(135deg,#92735a,#5f5142);clip-path:polygon(20% 0,80% 0,100% 100%,0 100%);z-index:2;transform:translateZ(1px)}.roof span{position:absolute;top:52%;left:27%;font:9px var(--mono);letter-spacing:2px;color:#f9edda}.house-side{position:absolute;right:-12%;width:12%;top:25%;bottom:0;background:#bea883;transform:skewY(-25deg);transform-origin:left}.window{position:absolute;width:23%;height:27%;top:17%;display:grid;grid-template-columns:1fr 1fr;gap:4px;border:6px solid #a9906a;background:#a9906a;box-shadow:inset 0 0 15px #5553}.window-a{left:10%}.window-b{right:10%}.window i{background:#c2d4cb}.window-b i:nth-child(2),.window-a i:nth-child(3){background:#f4d78d;box-shadow:0 0 20px #f0d28d66}.door{position:absolute;left:41%;width:22%;height:59%;bottom:0;background:#64745a;border:5px solid #a9946e}.door:after{content:'';position:absolute;right:10%;top:54%;width:5px;height:5px;border-radius:50%;background:#e0c791}.door span{position:absolute;top:16%;left:12%;font:8px var(--mono);padding:5px;background:#e7d6b5;transform:rotate(8deg);color:#403c32}.house-sign{position:absolute;left:7%;bottom:17%;font:11px var(--serif);color:#5d513e}.house-step{position:absolute;left:34%;right:29%;height:8%;bottom:-7%;background:#b29b7b;box-shadow:0 8px 0 #927c63}.house-ground{position:absolute;left:0;bottom:15%;width:100%;height:8%;border-radius:50%;background:#997b5a30;z-index:-1}.paper-tree{position:absolute;bottom:23%;width:2%;height:32%;background:#847557;z-index:-1}.paper-tree:before{content:'';position:absolute;width:600%;aspect-ratio:.85;left:-250%;top:-40%;background:#87916a;clip-path:polygon(50% 0,100% 85%,60% 100%,0 85%);transform:rotate(-8deg)}.tree-a{left:2%}.tree-b{right:0;height:23%}.tree-b:before{background:#a3a57b}
.book-world{perspective:900px}.book{position:absolute;transform-style:preserve-3d}.book-main{left:12%;top:19%;width:61%;height:63%;transform:rotate(-10deg) rotateY(-19deg);filter:drop-shadow(16px 22px 15px #4e55422b)}.book-cover{position:absolute;inset:0;background:linear-gradient(110deg,#607d67,#3e5949);padding:12% 11%;color:#e5e8cc;border-radius:2px 7px 7px 2px;box-shadow:inset 6px 0 0 #ffffff0c,inset 9px 0 0 #0001,7px 5px 0 #e8e6d7,11px 9px 0 #45634f}.book-cover small{font:8px var(--mono);letter-spacing:2px}.book-cover b{display:block;font:26px/1.6 var(--serif);margin-top:25px;letter-spacing:.1em}.book-cover>span{position:absolute;bottom:13%;font:10px/2 var(--sans)}.book-spine{position:absolute;left:-17px;top:0;bottom:0;width:24px;background:#395641;transform:rotateY(-60deg);writing-mode:vertical-rl;font:9px var(--mono);letter-spacing:3px;color:#b9c4a1;padding:15px 5px}.book-seal{position:absolute;right:11%;bottom:12%;width:44px;height:44px;border:1px solid #d4dbb6;border-radius:50%;font:italic 32px/44px var(--serif);text-align:center}.book-back{left:30%;top:15%;width:55%;height:65%;transform:rotate(10deg);background:#cfb99b;padding:45px 20px;box-shadow:8px 7px 0 #e1d8bb;color:#795f48}.book-back span{font:18px/2 var(--mono)}.loose-page{position:absolute;right:0;bottom:13%;width:37%;height:37%;padding:25px 20px;background:repeating-linear-gradient(#f8f4e7 0 22px,#dadbc733 23px 24px);transform:rotate(13deg);box-shadow:5px 15px 20px #4e55421a;font:12px/2 var(--serif);color:#64735a}.bookmark{position:absolute;left:52%;top:67%;height:22%;width:22px;background:#c67e5e;transform:rotate(-10deg);clip-path:polygon(0 0,100% 0,100% 100%,50% 90%,0 100%)}
.coffee-world{perspective:900px}.desk{position:absolute;left:-10%;right:-12%;bottom:11%;height:42%;background:repeating-linear-gradient(5deg,#b5987470 0 2px,#b8a28560 3px 12px);transform:rotateX(64deg) rotateZ(-7deg);box-shadow:0 8px 0 #a0896b45}.coaster{position:absolute;left:24%;top:41%;width:55%;height:32%;background:#e6e0cc;border-radius:50%;transform:rotate(-7deg);box-shadow:0 6px 0 #c6bfa9,10px 25px 20px #584d3730}.cup{position:absolute;left:34%;top:27%;width:38%;height:37%;border-radius:10% 10% 46% 46%;background:linear-gradient(105deg,#f3f0df,#c7c9ad);box-shadow:inset 12px 0 20px #fff3}.coffee{position:absolute;left:0;right:0;top:-10%;height:31%;border:8px solid #eeeddb;border-radius:50%;background:radial-gradient(ellipse at 40% 50%,#654533,#342b22);box-shadow:inset 2px 7px 8px #241f1a}.coffee span{position:absolute;left:40%;top:10%;font:40px/.8 var(--serif);color:#d9b985;transform:scaleY(.55) rotate(22deg)}.cup-handle{position:absolute;left:62%;top:32%;width:25%;height:24%;border:18px solid #cccfb4;border-radius:50%;transform:rotate(-10deg)}.napkin{position:absolute;left:1%;bottom:17%;width:44%;height:28%;padding:20px;background:#eae5d3;transform:rotate(-14deg);box-shadow:5px 10px 20px #4e554215;color:#655f49}.napkin small{font:8px var(--mono);letter-spacing:2px}.napkin b{display:block;font:20px/1.6 var(--serif);margin-top:16px}.steam{position:absolute;left:49%;top:5%;height:22%;width:12%;border-left:2px solid #a1a88b;transform:rotate(15deg);border-radius:60%;opacity:.45}.steam-b{left:60%;top:1%;height:20%;transform:rotate(-10deg)}.coffee-bean{position:absolute;width:18px;height:27px;background:#736047;border-radius:50%;box-shadow:inset -8px 0 #594a37;transform:rotate(35deg);bottom:19%;right:18%}.bean-b{right:12%;bottom:23%;transform:rotate(-30deg)}
.letter-world{perspective:900px}.letter-orbit{position:absolute;inset:9% 0 7%;border:1px solid #bb826256;border-radius:50%;transform:rotate(-23deg)}.envelope{position:absolute;left:9%;top:46%;width:79%;height:37%;background:linear-gradient(30deg,#bf8061,#d29879);transform:rotate(-8deg);box-shadow:12px 25px 30px #86533222}.envelope:before{content:'';position:absolute;inset:0;background:#dca889;clip-path:polygon(0 0,50% 54%,100% 0,100% 100%,0 100%)}.envelope:after{content:'';position:absolute;inset:0;background:#e1b091;clip-path:polygon(50% 35%,100% 100%,0 100%)}.envelope-flap{position:absolute;left:0;right:0;top:-66%;height:68%;background:#c38f71;clip-path:polygon(50% 0,100% 100%,0 100%)}.envelope-front b{position:absolute;left:8%;bottom:15%;z-index:1;font:11px var(--mono);letter-spacing:3px;color:#6c4a39}.letter-paper{position:absolute;left:20%;top:18%;width:62%;height:48%;padding:25px;background:#f8f0dc;transform:rotate(-8deg);box-shadow:2px 10px 25px #83573c20}.letter-paper small{font:8px var(--mono);letter-spacing:2px;color:#a5785d}.letter-paper b{display:block;font:24px/1.65 var(--serif);color:#795742;margin-top:22px}.letter-paper>span{font:italic 14px var(--serif);position:absolute;bottom:22px;right:22px;color:#9a775c}.letter-lines{height:45px;margin-top:22px;background:repeating-linear-gradient(transparent 0 13px,#decfbb 14px 15px)}.seal{position:absolute;z-index:3;left:43%;top:39%;width:48px;height:48px;border-radius:50%;background:#8c5845;color:#e8c6a5;text-align:center;font:31px/48px var(--serif);box-shadow:2px 3px 0 #754b3b}
.night-world{height:min(57vw,600px)}.night-moon{position:absolute;left:30%;top:4%;width:23%;aspect-ratio:1;border-radius:50%;background:#e8dfba;box-shadow:0 0 80px #e8dfba18}.night-window{position:absolute;inset:0 5% 16%;border:1px solid #aab4a52c;border-radius:50% 50% 0 0;box-shadow:inset 0 0 90px #0e181533}.night-window:after{content:'';position:absolute;left:50%;top:0;height:100%;width:1px;background:#aab4a520}.night-sill{position:absolute;bottom:15%;left:0;right:0;height:9px;background:#75836c;box-shadow:0 9px 0 #3e5045}.night-message{position:absolute;left:7%;top:25%;font:64px/1 var(--serif);color:#cfdbc31a;transform:rotate(-10deg)}.night-message em{font-style:italic}.night-stars{position:absolute;inset:0;background-image:radial-gradient(circle,#d7dfbd 1px,transparent 1px),radial-gradient(circle,#d7dfbd66 1px,transparent 1px);background-size:151px 199px,231px 159px;background-position:20px 10px,80px 40px;opacity:.3}.x footer{position:absolute;bottom:90px;left:7vw;right:7vw;border-top:1px solid var(--line);padding-top:20px;font:10px var(--sans);display:flex;justify-content:space-between;opacity:.6}.back-top{display:block;width:max-content;text-decoration:none;font-size:12px;margin-top:35px;opacity:.7}
.preview,.gmenu{z-index:40;background:var(--wash);color:var(--ink);border-color:var(--line);border-radius:12px}.gm-view canvas{display:block;width:100%;height:180px;background:var(--wash)}.gm-btn,.gm-item,.gm-play{color:var(--ink);border-color:var(--line);background:var(--wash)}.gm-btn:hover,.gm-btn.on,.gm-play{background:var(--ink);color:var(--wash)}.gmenu{width:300px}.play{position:fixed;z-index:55;top:50%;left:50%;right:auto;transform:translate(-50%,150vh);width:calc(460px * var(--ps,1));height:calc(760px * var(--ps,1));transition:transform .5s cubic-bezier(.22,1,.36,1);background:#222;border-radius:15px;visibility:hidden;opacity:0;box-shadow:none}.play iframe{border-radius:15px}body.playing .play{visibility:visible;opacity:1;box-shadow:0 0 0 150vmax #151c16b3,0 25px 70px #0007;transform:translate(-50%,-50%);pointer-events:auto}.play-close{width:36px;height:36px;top:-14px;right:-14px;font-size:24px;line-height:32px;background:var(--wash);color:var(--ink);border:1px solid var(--line)}.rain{z-index:12}.rain-close{display:none;position:fixed;right:5vw;top:98px;z-index:30;background:var(--ink);color:var(--wash);border:0;border-radius:30px;padding:12px 19px;cursor:pointer;font:12px var(--sans)}body.collecting .rain-close{display:block}body.collecting .scene-copy{opacity:.16}body.collecting .scene-art{opacity:.2}.sweat{position:fixed}.no-script{position:fixed;bottom:0;z-index:70;background:#fff;color:#222;padding:12px;width:100%;font:13px var(--sans)}
@media(min-width:1024px) and (max-height:780px){.scene-copy h1{font-size:82px}.scene-copy h2{font-size:38px;margin-bottom:18px}.body-copy{font-size:13px;margin-bottom:20px}.intro-en{font-size:20px}.scene-inner{padding-top:90px;min-height:620px}.eyebrow{margin-bottom:17px}.scroll-invite{bottom:74px}.scene-art{height:520px}}
@media(max-width:1023px){nav{padding:15px 22px 13px;gap:10px;min-height:91px;flex-wrap:wrap}.brand-sub{font-size:12px}nav .links{width:100%;justify-content:space-between;gap:12px}nav .links a{font-size:10px;padding:4px 0}.chapter{min-height:135svh}.scene-inner{height:100svh;min-height:740px;display:block;padding:120px 6vw 90px;overflow:clip}.scene-copy{max-width:550px;z-index:6}.scene-copy h1{font-size:clamp(58px,9vw,82px);line-height:1.12;margin-bottom:15px}.scene-copy h2{font-size:clamp(29px,4.5vw,38px);line-height:1.5;margin-bottom:17px}.eyebrow{font-size:9px;letter-spacing:2px;margin-bottom:18px}.intro-en{position:absolute;left:55%;top:42px;font-size:19px;width:160px}.body-copy,.intro .body-copy{font-size:12px;line-height:1.9;margin-bottom:20px}.scene-art{position:absolute;right:6vw;left:auto;bottom:70px;width:min(57vw,410px);height:330px;z-index:2}.games .scene-art,.note .scene-art,.line .scene-art{left:auto;right:6vw}.art-caption{display:none}.intro-orbit{width:68vw;height:68vw;left:30%;top:auto;bottom:15%;opacity:.4}.intro-orbit span{display:none}.floor-line{left:28%;bottom:11%}.scroll-invite{left:6vw;bottom:78px;font-size:10px;gap:10px}.scroll-invite span{font-size:26px}.cat-actions{font-size:11px;gap:24px}.cat-actions button{padding:10px 17px}.stage{position:fixed;inset:0;height:100svh;min-height:0;width:100%;z-index:4}.style-switch{right:18px;bottom:15px;padding:3px}.chip{padding:6px 10px;font-size:9px}.journey-meter{left:6vw;bottom:26px;font-size:9px;gap:7px}.meter-track{width:35px}.edge-label{display:none}.destination{min-width:210px;padding:10px 0;font-size:12px;gap:50px}.destination span{font-size:23px}.side-note{font-size:10px;margin-top:14px}.game-list{max-width:430px;margin-bottom:15px}.game-list button{padding:12px 0;gap:14px}.game-list b{font-size:14px}.game-list i{font-size:10px}.secondary-links{gap:17px}.secondary-links button{display:none}.secondary-links a{font-size:11px}.topic-tags{margin-top:15px;gap:7px}.topic-tags span{font-size:9px;padding:3px 9px}.book-main{height:68%;top:12%}.book-cover b{font-size:20px;margin-top:18px}.book-cover small{font-size:6px}.book-cover>span{font-size:8px}.book-seal{width:30px;height:30px;font-size:22px;line-height:30px}.loose-page{font-size:9px;padding:15px;bottom:10%}.coffee span{font-size:26px}.cup-handle{border-width:12px}.napkin b{font-size:14px;margin-top:10px}.napkin small{font-size:6px}.napkin{padding:14px}.letter-paper b{font-size:18px;margin-top:12px}.letter-paper{padding:18px}.letter-lines{height:25px;margin-top:10px}.letter-paper>span{font-size:11px;bottom:12px}.envelope-front b{font-size:8px}.seal{width:33px;height:33px;font-size:24px;line-height:33px}.house-wall .window{border-width:4px;gap:3px}.roof span{font-size:6px}.house-sign{font-size:8px}.door span{font-size:5px;padding:3px}.x footer{bottom:78px;left:6vw;right:6vw;font-size:9px;padding-top:14px}.night-world{bottom:120px}.night-message{font-size:48px}.back-top{font-size:11px;margin-top:24px}.preview,.gmenu{max-width:calc(100vw - 32px)}.rain-close{top:110px}}
@media(max-width:540px){.scene-inner{padding-top:120px}.intro-en{font-size:15px;left:58%;top:40px;width:130px}.scene-copy h1{font-size:60px}.intro .body-copy{font-size:11px}.scene-art{width:64vw;height:280px;right:5vw;bottom:83px}.game-list{max-width:100%}.games .body-copy{margin-bottom:14px}.games .scene-art{width:58vw;bottom:75px;height:260px}.scene-copy h2{font-size:29px}.book-cover b{font-size:17px;margin-top:14px}.book-cover>span{font-size:7px}.letter-paper b{font-size:15px}.letter-paper small{font-size:6px}.letter-paper{padding:14px}.scene-copy .body-copy{letter-spacing:0}.night-world{bottom:112px}.night-message{font-size:42px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.scene-art{transform:none!important}.grain{display:none}}
@media(min-width:1024px) and (max-height:800px){.scene-inner{min-height:620px;padding-top:95px;padding-bottom:75px}.scene-copy h1{font-size:72px}.scene-copy h2{font-size:42px;margin-bottom:20px}.intro-en{font-size:20px;margin-bottom:15px}.eyebrow{margin-bottom:18px}.body-copy{font-size:13px;margin-bottom:20px}.scene-art{height:490px}.scroll-invite{bottom:65px}.game-list button{padding:12px 0}.intro .body-copy{font-size:12px}.x footer{bottom:65px}}
@media(min-width:1024px) and (max-height:680px){.intro .scene-copy{transform:translateY(-20px)}.scroll-invite{bottom:45px;font-size:10px}.scroll-invite span{font-size:24px}}
.gmenu:not(.show),.preview:not(.show){visibility:hidden}
.cat-load-status{position:fixed;z-index:45;bottom:65px;right:4vw;font:11px var(--sans);background:var(--wash);padding:8px 12px;border-radius:20px}.cat-load-status[hidden]{display:none}.cat-tricks{position:relative;margin-top:18px;max-width:390px;pointer-events:auto;font:11px var(--sans)}.cat-tricks summary{cursor:pointer;list-style:none;width:max-content;border-bottom:1px solid var(--line);padding:7px 0}.cat-tricks summary span{margin-left:18px}.trick-buttons{display:flex;flex-wrap:wrap;gap:7px;padding-top:10px}.trick-buttons button{background:color-mix(in srgb,var(--wash) 90%,white);border:1px solid var(--line);border-radius:22px;padding:8px 12px;font:11px var(--sans);cursor:pointer}.trick-buttons button[aria-pressed=true]{background:var(--ink);color:var(--wash)}.cat-demo-close{position:fixed;z-index:45;right:4vw;top:105px;border:1px solid var(--line);background:var(--wash);border-radius:30px;padding:12px 18px;font:12px var(--sans);cursor:pointer}.cat-demo-close[hidden]{display:none}.cat-closeup .scene-copy,.cat-closeup .scroll-invite{opacity:.12;transition:opacity .25s}.cat-closeup .cat-tricks{visibility:hidden}
@media(min-width:1024px){.cat-tricks[open] .trick-buttons{position:absolute;top:36px;left:0;width:370px;background:var(--wash);border:1px solid var(--line);border-radius:15px;padding:12px;z-index:10}.intro .scroll-invite{bottom:65px}}
@media(max-width:1023px){.cat-tricks{margin-top:12px}.cat-tricks[open] .trick-buttons{position:absolute;background:var(--wash);padding:12px;border:1px solid var(--line);border-radius:14px;width:310px;z-index:10}}
@media(min-width:1024px) and (max-height:800px){.intro .scene-copy{transform:translateY(-15px)}.intro .scene-copy h1{font-size:62px}.intro .scroll-invite{bottom:42px}}

.cat-tricks[open] .trick-buttons{top:auto;bottom:calc(100% + 8px)}

/* Stage-only rules; the earlier page does not load stage-acts.js. */
.stage-continue{position:absolute;bottom:-18px;left:50%;transform:translateX(-50%);white-space:nowrap;font:11px var(--sans);color:var(--accent);pointer-events:none;z-index:6}
.stage-continue[hidden]{display:none}
.showcase .stage-continue{bottom:auto;top:calc(var(--screen-h) + 100px)}
@media(prefers-reduced-motion:reduce){.scene-art{translate:none!important}.showcase .stage-continue{top:auto;bottom:-24px}}
body.stage-acts .chapter:not(.intro):not(.x){min-height:220svh}
/* The games illustration owns its night palette; page wash and actor stay unchanged. */
.yokai-world .moon{left:-2%;top:4%;width:104%;height:87%;aspect-ratio:auto;background:radial-gradient(ellipse at 35% 66%,#49364d 0,#242239 47%,#161d31 85%);box-shadow:inset -20px -15px 55px #10182980,0 18px 45px #28223b18}
.yokai-world .orbit{border-color:#afa0c91f;left:2%;width:92%}
.yokai-world .orbit-b{border-color:#e4c19217}
.yokai-world .stone{background:radial-gradient(ellipse at 22% 8%,#e3c391 0,#9a7d76 31%,#59516a 65%,#403b53 100%);border-top-color:#e6c596a0;box-shadow:0 15px 0 #353149,0 30px 38px #17172a66}
body.stage-acts .yokai-world .lantern{position:absolute;left:4%;top:50%;width:26%;aspect-ratio:1;z-index:3;transform-origin:50% 0;animation:lantern-sway 2.8s ease-in-out infinite;filter:drop-shadow(0 0 9px #ffd58a90)}
.yokai-world .lantern canvas{display:block;width:100%;height:100%}
.yokai-world .lantern:before{content:'';position:absolute;left:50%;bottom:91%;height:16%;width:1px;background:#cebfa06b}
.yokai-world .lantern-glow,.yokai-world .lantern-flash{position:absolute;left:-20%;top:23%;width:114%;height:76%;border-radius:50%;background:radial-gradient(ellipse at 39% 52%,#ffda9980 0,#edb46740 24%,#df995c15 47%,transparent 69%);pointer-events:none;z-index:1}
.yokai-world .lantern-glow{animation:lantern-breathe 2.8s ease-in-out infinite}
.yokai-world .lantern-flash{opacity:0;background:radial-gradient(ellipse at 39% 52%,#ffe5bba0 0,#ffcf7744 32%,transparent 67%);z-index:2}
.yokai-world .yokai{z-index:2;filter:drop-shadow(-5px 7px 9px #eebd7833)}
.yokai-world .yokai-a{left:57%;top:18%;width:29%}
.yokai-world .yokai-b{left:10%;top:11%;width:25%}
.yokai-world .yokai-c{right:-1%;top:45%;width:28%}
@keyframes lantern-sway{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}
@keyframes lantern-breathe{0%,100%{opacity:.81;transform:scale(.985)}50%{opacity:.99;transform:scale(1.015)}}
@media(prefers-reduced-motion:reduce){.yokai-world .lantern-flash{display:none}}
body.stage-acts .yokai-world .yokai{opacity:0}
body.stage-acts .door{transform-origin:left center}
body.stage-acts .resident{position:absolute;left:38%;top:50%;width:30%;height:50%;z-index:3;opacity:0;transform-origin:50% 92%;filter:drop-shadow(3px 6px 3px #66513b33)}.resident-img{position:absolute;left:0;bottom:0;width:100%;height:100%;object-fit:contain;object-position:50% 100%}
body.stage-acts .resident-head{position:absolute;left:22%;top:0;width:57%;height:37%;border-radius:50%;background:#eddbb7;border:1px solid #bca582}
body.stage-acts .resident-body{position:absolute;left:12%;top:34%;width:77%;height:58%;background:linear-gradient(110deg,#f3e6c8,#c5b58e);clip-path:polygon(30% 0,70% 0,100% 100%,0 100%)}
body.stage-acts .resident-hand{position:absolute;left:60%;top:48%;width:61%;height:13%;border-radius:20px;background:#eddbb7;border:1px solid #bca582;transform-origin:8% 50%}
body.stage-acts .book-world{transform-style:flat;perspective:none;isolation:isolate}
body.stage-acts .book{transform-style:flat}
body.stage-acts .book-back{z-index:0}
body.stage-acts .book-main{z-index:2;transform:rotate(-10deg)}
body.stage-acts .book-leaves{position:absolute;inset:2px -5px -5px 0;border-radius:2px 7px 7px 2px;background:repeating-linear-gradient(#f4efdf 0 3px,#d7d1b9 4px 5px)}
body.stage-acts .book-cover{transform-origin:left center;backface-visibility:visible}
body.stage-acts .book-spine{transform:none;z-index:3}
body.stage-acts .loose-page,body.stage-acts .bookmark{z-index:3}
body.stage-acts .r-pages{position:absolute;left:31%;top:44%;width:49%;height:29%;z-index:4}
body.stage-acts .r-note{position:absolute;inset:0;padding:15px 12px;background:#faf6e8;color:#526d59;border:1px solid #d6dcca;box-shadow:4px 9px 15px #243b2720;font:clamp(7px,1vw,12px)/1.8 var(--mono);opacity:0;margin:0}
body.stage-acts .blog-cards{position:absolute;left:3%;bottom:20%;width:52%;height:25%;z-index:3}
body.stage-acts .blog-card{position:absolute;inset:0;padding:14px;background:#f7f0dc;border:1px solid #d2c6a7;box-shadow:4px 7px 14px #64543c20;color:#655f49;opacity:0;transform-origin:50% 100%}
body.stage-acts .blog-card small{font:8px var(--mono);letter-spacing:1px}
body.stage-acts .blog-card p{font:clamp(10px,1.2vw,15px)/1.7 var(--serif);margin:9px 0 0}
body.stage-acts .envelope-flap{transform-origin:center bottom;transform:rotateX(180deg);z-index:2}
body.stage-acts .letter-paper{opacity:0}
@media(max-width:540px){
body.stage-acts .r-note{padding:9px;font-size:7px}
body.stage-acts .blog-card{padding:9px}
body.stage-acts .blog-card small{font-size:6px}
body.stage-acts .lantern{font-size:18px}}

/* Real screens: a measured track moves only with transform. */
body.stage-acts .chapter.showcase:not(.intro){min-height:180svh}
.showcase{--screen-h:min(62svh,55vw,590px);--screen-w:calc(var(--screen-h) * 1.6)}
.games.showcase{--screen-w:calc(var(--screen-h) * 9 / 14)}
.showcase .scene-inner{display:flex;flex-direction:column;align-items:stretch;gap:26px;padding:112px 0 72px;min-height:680px}
.showcase .scene-copy{display:flex;align-items:flex-start;justify-content:space-between;gap:32px;max-width:none;width:100%;padding:0 7vw;flex:none}
.showcase .eyebrow{margin-bottom:14px}
.showcase .scene-copy h2{font-size:clamp(28px,3vw,44px);margin-bottom:0;line-height:1.3}
.showcase .scene-copy h2 em{display:block}
.showcase .body-copy{font-size:12px;margin:0 0 8px;line-height:1.8}
.showcase .destination{padding:8px 0;font-size:12px;min-width:0}
.showcase .secondary-links button{padding:8px 12px;font-size:11px}
.showcase .scene-art{position:relative;left:auto;right:auto;bottom:auto;width:100%;height:auto;flex:1;min-height:0;transform:none;perspective:none;transform-style:flat}
.showcase-viewport{position:relative;width:100%;overflow:clip;padding:6px 0 35px;pointer-events:none}
.showcase-track{display:flex;gap:3vw;width:max-content;padding-left:calc((100vw - var(--screen-w)) / 2);will-change:transform}
.showcase-card{flex:0 0 var(--screen-w);width:var(--screen-w);margin:0;background:var(--wash);border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 4px 10px #10142512;pointer-events:auto}
.showcase-card>picture{display:block;width:100%;height:var(--screen-h);background:#191925}
.showcase-card>picture>img{display:block;width:100%;height:100%;object-fit:contain}
.showcase-caption{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 18px;min-height:64px}
.showcase-caption b{font:500 15px var(--sans)}
.showcase-caption p{font:11px/1.5 var(--sans);margin:5px 0 0;opacity:.75}
.showcase-caption a,.showcase-caption button{flex-shrink:0;background:none;border:0;border-bottom:1px solid var(--line);padding:8px 0;color:var(--ink);font:11px var(--sans);cursor:pointer;text-decoration:none}
.games .showcase-caption{flex-wrap:wrap;overflow-wrap:anywhere}
.showcase-night{position:absolute;left:27%;top:0;width:46%;height:100%;opacity:0;pointer-events:none}
.showcase-night .art-caption{bottom:2%}
@media(max-width:1023px){
 nav .links{gap:6px}nav .links a{letter-spacing:0;font-size:9px}
 .showcase .scene-inner{padding-top:122px;gap:22px;min-height:740px}
 .showcase .scene-copy{padding:0 6vw;gap:14px;display:block}
 .showcase .scene-copy h2{font-size:29px;line-height:1.25;margin-bottom:12px}
 .showcase .scene-copy h2 em{display:inline;margin-left:.3em}
 .showcase .eyebrow{margin-bottom:10px}
 .showcase .scene-copy .body-copy{font-size:11px;line-height:1.7;margin-bottom:5px}
 .showcase .scene-copy .destination{padding:6px 0;font-size:11px}
 .showcase-track{gap:4vw}
 .showcase-night{left:17%;width:66%}
}
@media(max-width:540px){
 .showcase .scene-copy h2{font-size:25px;letter-spacing:-.055em}
 .showcase .scene-copy h2 em{display:block;margin-left:0}
 .showcase .scene-inner{gap:16px}
 .showcase-track{gap:4vw}
 .showcase-caption{padding:11px 12px;gap:8px;min-height:72px;align-items:flex-start}
 .showcase-caption b{font-size:12px}.showcase-caption p{font-size:10px}
 .showcase-caption a,.showcase-caption button{font-size:10px;max-width:110px;line-height:1.6}
 .showcase-night{left:10%;width:80%}
}
@media(prefers-reduced-motion:reduce){
 body.stage-acts .chapter.showcase:not(.intro){min-height:0}
 .showcase .scene-inner{position:relative;height:auto;min-height:0;padding-bottom:90px}
 .showcase .scene-art{flex:none;min-height:0}
 .showcase-viewport{opacity:1!important}
 .showcase-track{transform:none!important;will-change:auto}
 .showcase-night{display:none}
}
/* PC で動きを減らす設定のときは、カードを縦に積む（狭い幅は末尾の決まりで横 1 列。2026-09-24 見直し） */
@media(min-width:1024px) and (prefers-reduced-motion:reduce){
 .showcase-viewport{overflow:visible}
 .showcase-track{display:flex;flex-direction:column;width:auto;padding:0 6vw;gap:24px}
 .showcase-card{width:var(--screen-w);max-width:100%;flex:auto;align-self:center}
}
/* HOUSE: paper greeting, then the same measured horizontal track. */
.house-stage{position:absolute;left:27%;top:0;width:46%;height:var(--screen-h);isolation:isolate;pointer-events:none}
.paper-world .sun-disc{z-index:0}.paper-world .paper-house{z-index:2;transform-style:flat}.paper-world .paper-tree,.paper-world .house-ground{z-index:1}
.house.showcase .showcase-viewport{opacity:0}
.staff-trio{height:var(--screen-h);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(8px,1.5vw,24px);padding:clamp(10px,2vw,30px);align-items:center;background:linear-gradient(145deg,#d3b38314,#9e835512)}
.staff-trio figure{margin:0;min-width:0;text-align:center}.staff-trio img{display:block;width:100%;height:auto;max-height:calc(var(--screen-h) * .53);object-fit:contain}
.staff-trio b{display:block;font:500 clamp(10px,1.2vw,17px)/1.6 var(--serif);margin:12px 0 6px}.staff-trio p{font:clamp(9px,1vw,13px)/1.6 var(--sans);margin:0}.staff-trio small{display:block;font:clamp(8px,.85vw,11px)/1.7 var(--serif);opacity:.7;margin-top:12px}
.house-greeting{position:absolute;left:22%;top:84%;z-index:3;font:13px var(--serif);padding:8px 14px;border:1px solid var(--line);border-radius:30px;background:var(--wash);opacity:0;pointer-events:none}
/* The envelope rear is the background; the pocket clips at its bottom edge. */
.envelope:before,.envelope:after{content:none}
.envelope{isolation:isolate;transform-style:flat}
body.stage-acts .envelope-flap{z-index:1}
.letter-pocket{position:absolute;left:0;right:0;top:-150%;bottom:0;overflow:hidden;z-index:2;pointer-events:none}
body.stage-acts .letter-pocket .letter-paper{left:12%;top:auto;bottom:0;width:78%;height:52%;transform-origin:50% 90%}
.envelope-front{position:absolute;inset:0;z-index:3;background:#dca889;clip-path:polygon(0 0,50% 54%,100% 0,100% 100%,0 100%)}
.envelope-front:after{content:'';position:absolute;inset:0;background:#e1b091;clip-path:polygon(50% 35%,100% 100%,0 100%)}
.envelope-front b{z-index:1}.envelope .seal{z-index:4}
/* TSUKUYOMI: a scroll-filled moon and five short, legible typed lines. */
.tsukuyomi-moon{position:absolute;right:7vw;top:-46px;width:68px;height:68px;z-index:2;pointer-events:none;filter:drop-shadow(0 2px 8px #dcc78726)}
.moon-shadow{transform:translateX(-12px)}
.tsukuyomi .showcase-card{position:relative}
.writing-demo{position:absolute;left:10%;top:calc(var(--screen-h) * .16);width:80%;padding:clamp(12px,2.6vw,36px);background:#f7f3e9;color:#3b3b50;border:1px solid #d8d1bf;border-radius:6px;box-shadow:0 4px 10px #10142512}
.writing-demo small{font:clamp(8px,1vw,12px) var(--sans);color:#716580}.typing-line{font:clamp(9px,1.55vw,22px)/1.8 var(--serif);white-space:nowrap;margin:0;clip-path:inset(0 100% 0 0)}.typing-ja{font-family:var(--sans)}.writing-divider{font-size:12px;color:#8f7897;margin:4px 0}
@media(max-width:1023px){.house-stage{left:17%;width:66%}.staff-trio small{margin-top:6px}.staff-trio b{margin-top:6px}.tsukuyomi-moon{right:6vw;top:-34px;width:48px;height:48px}}
@media(max-width:540px){.house-stage{left:10%;width:80%}.staff-trio{padding:10px;gap:8px}.staff-trio small{display:none}.staff-trio b{font-size:10px;line-height:1.35;margin:6px 0 4px}.staff-trio p{font-size:9px;line-height:1.45}.house-greeting{font-size:10px;padding:6px 10px}.writing-demo{top:calc(var(--screen-h) * .12);padding:12px}.typing-line{font-size:10px}.writing-divider{margin:1px 0}}
@media(prefers-reduced-motion:reduce){.house-stage,.house-greeting{display:none}.tsukuyomi-moon{transform:none!important}.moon-shadow{transform:translateX(-90px)!important}.typing-line{clip-path:none!important}body.stage-acts .letter-pocket{z-index:5!important}body.stage-acts .letter-pocket .letter-paper{transform:translateY(-55%)!important;opacity:1!important}body.stage-acts .envelope-flap{transform:rotateX(0deg)!important}}
/* 2026-09-24 見直し: PC でカードの下端と説明が画面外・下の固定表示に掛からない高さにする */
@media(min-width:1024px){.showcase{--screen-h:max(300px,min(62svh,55vw,590px,calc(100svh - 440px)))}}
body.stage-acts .book-cover.is-open>*{visibility:hidden}
@media(max-width:540px){.napkin{padding:10px 12px}.napkin b{font-size:11px;line-height:1.5;margin-top:6px;white-space:nowrap}}
/* 2026-09-24 見直し: PC のカード送りでは、吹き出しを猫の頭の真上に。置き場は world.js の seatHouse() が猫の置き場と同じ計算で決めて CSS 変数で渡す。行の高さは字の違いで吹き出しの高さ（置けるかの判定）が変わらないよう、Mac の normal と同じ 20px に決める */
@media(min-width:1024px) and (prefers-reduced-motion:no-preference){.house-greeting{left:var(--greet-x,22%);top:var(--greet-y,84%);line-height:20px}}
/* 2026-09-24 見直し: 狭い幅のカード場面では猫がカード列の上の縁に座る。猫の背丈（画面の高さに比例）のぶん列を下げる（--cat-room）。
   背の低い画面では下げ幅を減らし、「→ つづく」（stage-acts.js がカードの出方に合わせて同じだけ下げる）とカードの下端を下の固定表示へ押し込まない（GAMES は縦長カードなので少し上げる。猫は本文の右に座る）。
   上げるのは 12px まで（列の上の空き 22px より小さく、本文・リンクに掛けない）。カードの高さは実際の --screen-h で見る（横向きのスマホでは 55vw ではない） */
@media(max-width:1023px){
 .showcase{--cat-room:max(0px,min(9.4svh - 45px,100svh - var(--screen-h) - 461px))}
 .games.showcase{--cat-room:max(-12px,min(9.4svh - 45px,100svh - var(--screen-h) - 473px))}
 .showcase.cat-below{--cat-room:0px}
 .showcase-viewport{top:var(--cat-room)}
 .tsukuyomi-moon{top:calc(var(--cat-room) - 34px)}
 .showcase:not(.cat-below) .house-greeting{left:auto;right:calc(50% - var(--screen-w) * .25 + 3svh + 4px);top:calc(var(--cat-room) - 5svh)}
 /* 猫が座る棚: カード列の上の縁に引く細い線（1 画面目の .floor-line と同じ調子）。カードはこの下を流れる。
    カード列の中に置くので、夜の舞台・家のあいだは列と一緒に隠れ、カードが出るのに合わせて出る。
    猫が本文に掛かる画面（world.js が .cat-below を付ける）では猫はカードの下に戻るので、棚も列の下げ幅も出さない。
    動きを減らす設定の狭い幅でも同じ棚に座る（カードは下の決まりで横にめくる列になる） */
 .showcase:not(.cat-below) .showcase-viewport:after{content:'';position:absolute;left:6vw;right:6vw;top:5px;height:1px;background:var(--line);z-index:1;pointer-events:none}
}
/* 夜の表示だけ: GAMES 前半の舞台を提灯の縁明かりで闇から浮かせる（2026-09-24 見直し。明るい表示は変えない） */
html[data-theme=dark] .yokai-world .moon{box-shadow:inset -20px -15px 55px #10182980,0 18px 45px #28223b18,inset 0 0 0 1px #f1cd9a2e,inset 16px -12px 30px -14px #eab77266,0 0 36px -6px #e2ad6a26}
html[data-theme=dark] .yokai-world .orbit{border-color:#c8b7e033}
html[data-theme=dark] .yokai-world .orbit-b{border-color:#efcb9a2b}
html[data-theme=dark] .yokai-world .lantern-glow{background:radial-gradient(ellipse at 39% 52%,#ffdc9fb0 0,#f0b86a5c 24%,#e8a86330 36%,#e29c5e16 42%,#df995c08 46%,transparent 69%)}
html[data-theme=dark] body.stage-acts .yokai-world .lantern{filter:drop-shadow(0 0 9px #ffd58ad0)}
html[data-theme=dark] .yokai-world .stone{background:radial-gradient(ellipse at 22% 8%,#f3d6a4 0,#b39488 31%,#6a6180 65%,#48425d 100%);border-top-color:#f7dcaed0;box-shadow:0 15px 0 #353149,0 30px 38px #17172a66,0 -3px 22px -4px #efc27e33}
/* 2026-09-24 見直し（ロンギ「スマホでゲームの窓が細く、縦に連なっているのが変」）:
   狭い幅のゲームのカードは、縦長の窓を画面の高さに合わせて大きくする（390×844 で幅 138px → 約 209px）。
   上限は、棚の上の猫の場所（--cat-room の 9.4svh - 45px）と下の固定表示を残す高さ（90.6svh - 440px）。背の低い画面・横向きは今のまま。
   「つづく」は夜の舞台の間は元の窓の高さの位置（石の札に掛けない）に置き、カードが出るのに合わせて窓が大きくなった分（--cue-drop）も下げる（stage-acts.js） */
@media(max-width:1023px){.games.showcase{--screen-h:max(min(62svh,55vw,590px),min(62svh,calc(90.6svh - 440px),600px));--cue-drop:calc(var(--screen-h) - min(62svh,55vw,590px))}.games.showcase .stage-continue{top:calc(min(62svh,55vw,590px) + 100px)}}
/* ゲームの札: 幅に余裕があれば「遊ぶ ↗」を説明の横に置き、札を低く保つ（細い札では今までどおり下の段へ折り返す） */
.games .showcase-caption>div{flex:1 1 120px;min-width:0}
/* 狭い幅で動きを減らす設定のとき（ロンギの iPhone は「視差効果を減らす」ON）: カードは縦に積まずに横 1 列に並べて指でめくる
   （1 枚ずつ真ん中に止まり、次のカードが端から覗く）。場面は 1 画面に収めず中身の長さのまま流れるので、窓を大きくできる
   （ゲームは幅 62vw＝390 幅で 242px、HOUSE・TSUKUYOMI の横長カードは 80vw）。猫は動きのある版と同じ棚に座り、スクロールで場面と一緒に動く（world.js）。
   棚の上の場所は画面の高さで削らない（流れるので下の固定表示に押し込まれない）。
   「つづく」（足止めの間の不安を消す印）は出さない。この設定には足止めがなく、横にめくれることは端から覗く次のカードが伝える */
@media(max-width:1023px) and (prefers-reduced-motion:reduce){
 .showcase:not(.cat-below){--cat-room:max(0px,9.4svh - 45px)}
 .games.showcase{--screen-h:min(calc(62vw * 14 / 9),560px)}
 .house.showcase,.tsukuyomi.showcase{--screen-h:min(50vw,375px)}
 .showcase-track{width:auto;padding-right:calc((100vw - var(--screen-w)) / 2);padding-bottom:12px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;pointer-events:auto}
 .showcase-track::-webkit-scrollbar{display:none}
 .showcase-card{scroll-snap-align:center}
 .showcase .stage-continue{display:none!important}
}
