@charset "UTF-8";
:root{--paper:#f5f2eb;--ink:#3f463a;--muted:#929487;--sage:#727f62;--sage-dark:#5e6d51;--line:#dedfd4;--peach:#bf896c;--serif:"Songti SC","STSong","Noto Serif CJK SC","Source Han Serif SC",serif;--sans:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;-webkit-font-smoothing:antialiased}button,a,label{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{cursor:pointer;color:inherit}button{border:0}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,label:focus-visible{outline:2px solid var(--peach);outline-offset:5px}button:disabled{opacity:.5;cursor:default}[hidden]{display:none!important}.site-wrap{max-width:1680px;margin:auto;padding:0 4.4vw}.site-header{height:113px;display:flex;align-items:center;gap:25px;border-bottom:1px solid var(--line)}.brand{display:flex;gap:10px;align-items:center;font-family:Georgia,serif;font-size:43px;letter-spacing:-2.2px;line-height:1}.brand img{opacity:.86}.brand-period{color:var(--peach)}.header-note{font-size:9px;letter-spacing:1.8px;color:#8c9082;padding-left:25px;border-left:1px solid #d8dacc;line-height:24px}.main-nav{display:flex;margin-left:auto;gap:35px;height:100%;align-items:center}.nav-link{height:100%;padding:2px 0 0;background:transparent;font-size:12px;letter-spacing:.6px;color:#8c9082;position:relative;white-space:nowrap}.nav-link.active{color:#46523e}.nav-link.active:after{content:"";height:2px;background:var(--sage);position:absolute;bottom:-1px;left:0;right:0}.nav-count{font-size:9px;margin-left:5px;color:var(--peach);vertical-align:super;font-family:Georgia,serif}.nav-arrow{color:#969b8c;margin-left:4px;font-size:13px}.world-layout{display:grid;grid-template-columns:minmax(235px,26%) minmax(0,1fr);gap:3.4%;padding-top:39px;min-height:calc(100vh - 180px);align-items:start}.intro{padding:32px 0 0;display:flex;align-items:flex-start;flex-direction:column;min-height:620px}.chapter-label{color:var(--peach);font-size:8px;letter-spacing:1.5px;font-weight:500;display:flex;align-items:center;gap:8px;line-height:1.7;white-space:nowrap}.little-sun{font-size:20px;line-height:12px;display:inline-block}.intro h1{font-family:var(--serif);font-weight:400;font-size:clamp(39px,3.65vw,58px);line-height:1.47;letter-spacing:3px;margin:24px 0 21px;position:relative}.intro h1 em{font-style:normal;color:var(--sage)}.intro-copy{font-size:12px;color:#939486;line-height:2.15;letter-spacing:.5px;margin:0 0 28px}.primary-button{background:var(--sage);border:1px solid var(--sage);color:#fffdf4;display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:15px 19px;min-width:191px;border-radius:5px;font-size:12px;letter-spacing:.6px;transition:background .2s,transform .2s;box-shadow:0 3px 4px #4e5f3d08}.primary-button:hover{background:var(--sage-dark);transform:translateY(-1px)}.primary-button span{font-size:17px;font-family:var(--sans)}.text-button{background:none;font-size:11px;color:#8d9182;margin-top:14px;padding:5px 0;letter-spacing:.7px}.text-button span{margin-left:21px;color:var(--sage)}.intro-bottom{display:flex;align-items:center;margin-top:auto;padding-top:40px;gap:17px}.chapter-index{font-family:Georgia,serif;font-size:32px;letter-spacing:-1px;color:#b0b59e}.chapter-index>span{font-size:20px;font-style:italic;margin-left:10px;color:#d6d8ca}.eyebrow{font-size:9px;letter-spacing:2px;color:#a0a28f}.intro-bottom p{font-family:var(--serif);margin:5px 0 0;font-size:14px;letter-spacing:2px}.world-column{min-width:0}.game-shell{position:relative;overflow:hidden;isolation:isolate;height:min(68.5vh,750px);min-height:545px;background:#e9e4d5;border-radius:13px;box-shadow:0 13px 34px #6c70570b;border:1px solid #dddfcf;touch-action:none}.game-shell canvas{display:block;width:100%;height:100%;outline:none;position:absolute;inset:0;touch-action:none}.scene-topbar{position:absolute;top:20px;left:22px;right:20px;display:flex;align-items:center;justify-content:space-between;pointer-events:none;z-index:2}.live-pill{display:inline-flex;align-items:center;gap:7px;padding:9px 11px;border:1px solid #ffffff60;border-radius:5px;background:#fffcf2b0;backdrop-filter:blur(12px);font-size:10px;letter-spacing:1px;color:#71765c;box-shadow:0 1px 8px #5b624308}.live-pill i{width:5px;height:5px;border-radius:50%;background:#9aa478;box-shadow:0 0 0 3px #b0b78d18}.scene-icon{width:33px;height:33px;display:grid;place-items:center;background:#fffcf2ba;border:1px solid #ffffff60;border-radius:50%;backdrop-filter:blur(12px);color:#858c72;pointer-events:auto;transition:background .2s}.scene-icon:hover{background:#fffdf6}.scene-hint{position:absolute;left:50%;transform:translateX(-50%);bottom:29px;color:#fffdf2dd;font-size:10px;white-space:nowrap;letter-spacing:1.5px;text-shadow:0 1px 5px #4a493e77;pointer-events:none;transition:opacity .5s}.scene-bottom{position:absolute;left:23px;right:21px;bottom:22px;display:flex;justify-content:space-between;align-items:flex-end;z-index:2;pointer-events:none}.memory-status{padding:10px 12px 8px;background:#fffcf2b3;backdrop-filter:blur(12px);border:1px solid #ffffff60;border-radius:5px;color:#7f856f}.memory-status>span{font-size:9px;letter-spacing:1px}.memory-row{display:flex;align-items:center;gap:16px;margin-top:8px}.memory-dots{display:flex;gap:5px}.memory-dots i{width:7px;height:7px;background:#d5d8c5;border-radius:50%;border:1px solid #c6cbb6;transition:background .3s,transform .3s}.memory-dots i.active,.memory-dots i.found,.memory-dots i.collected{background:#86966d;border-color:#86966d;transform:scale(1.08)}#progress-count{font-size:9px;font-family:Georgia,serif;letter-spacing:1px}.interaction{position:absolute;bottom:89px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:16px;padding:9px 10px 9px 15px;background:#fffdf0ec;border:1px solid #fffdf0;border-radius:7px;z-index:4;backdrop-filter:blur(14px);box-shadow:0 7px 25px #5b64431a;white-space:nowrap}.interaction>span{font-size:11px;color:#80856f}.interaction button{display:flex;align-items:center;gap:9px;padding:6px 8px;border-radius:4px;background:#7f8d6a;color:#fffdf3;font-size:11px}.interaction kbd{background:#ffffff1f;border:1px solid #fff8;font-size:10px;color:#fff;border-radius:3px;padding:1px 4px}.loading{position:absolute;inset:0;display:flex;flex-direction:column;gap:17px;align-items:center;justify-content:center;background:#e8e6d8;z-index:7;font-size:12px;letter-spacing:2px;color:#8f967e;transition:opacity .6s}.loading img{opacity:.6;animation:breathe 2s ease-in-out infinite}.loading.fade-out{opacity:0;pointer-events:none}.toast{position:absolute;top:72px;left:50%;transform:translate(-50%,-8px);padding:12px 19px;max-width:88%;border-radius:6px;background:#fffdf0ed;box-shadow:0 8px 20px #47563b13;backdrop-filter:blur(12px);font-size:12px;color:#69785b;z-index:8;opacity:0;pointer-events:none;text-align:center;transition:opacity .25s,transform .25s;line-height:1.7}.toast.show,.toast.visible{opacity:1;transform:translate(-50%,0)}.pause-overlay{position:absolute;inset:0;background:#edeadcce;backdrop-filter:blur(10px);z-index:6;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.pause-overlay h2{font-family:var(--serif);font-weight:400;font-size:33px;letter-spacing:3px;margin:17px 0 0}.pause-overlay p{font-size:12px;letter-spacing:1px;color:#91947f;margin:15px 0 27px}.world-caption{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#8f937f;letter-spacing:.5px;padding-top:15px}.world-location>span{font-size:17px;margin-right:7px;vertical-align:-1px;color:#8a9676}.prototype-mark{display:flex;align-items:center;gap:5px;color:#a1a591;font-size:8px;letter-spacing:.5px}.prototype-mark i{width:4px;height:4px;background:#acb395;border-radius:50%}.controls{display:flex;gap:16px;flex-wrap:wrap;align-items:center;margin-top:19px;padding-top:14px;border-top:1px solid #e3e4d9;font-size:8px;line-height:1.7;color:#a0a28f}.controls>span{white-space:nowrap}.controls kbd{font-family:var(--sans);font-size:8px;color:#878d78;border:1px solid #dedfd2;border-radius:3px;padding:3px 4px;background:#f8f7ef;margin-right:3px;box-shadow:0 1px 1px #8c927b09}.mouse-help{margin-left:auto;letter-spacing:.5px}.touch-help{display:none}.site-footer{margin-top:32px;min-height:77px;display:flex;gap:20px;align-items:center;border-top:1px solid var(--line);color:#a1a592;font-size:10px;letter-spacing:1px}.footer-signature{margin-left:auto;font-family:Georgia,serif;font-style:italic;font-size:11px;letter-spacing:.3px;color:#a1a48f}.footer-signature>span{color:var(--peach);padding-left:8px;font-style:normal;font-size:15px}.footer-domain{font-size:9px;padding-left:22px;margin-left:5px;border-left:1px solid #d8dccb;letter-spacing:1px}.gallery-view{padding:52px 0 15px;min-height:calc(100vh - 230px)}.gallery-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:34px;gap:20px}.gallery-heading h1{font-family:var(--serif);font-size:38px;font-weight:400;letter-spacing:3px;margin:18px 0 13px}.gallery-heading h1 span{color:var(--peach)}.gallery-heading p{font-size:12px;color:#939783;letter-spacing:1px;margin:0}.upload-button{cursor:pointer;display:inline-flex;align-items:center;gap:12px;padding:12px 16px;background:#efeee3;border:1px solid #d9ddcb;border-radius:5px;color:#7c886b;font-size:11px;letter-spacing:1px;transition:background .2s;white-space:nowrap}.upload-button:hover{background:#e4e8d9}.upload-button>span{font-size:17px}.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:27px 23px}.photo-card{margin:0;background:none;border:0;padding:0;text-align:left;display:block;position:relative;cursor:pointer;min-width:0}.photo-wrap{aspect-ratio:4/4.4;overflow:hidden;background:#e8e8da;border-radius:7px;position:relative}.photo-wrap img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .65s cubic-bezier(.16,.84,.44,1),filter .4s}.photo-card:hover .photo-wrap img{transform:scale(1.04)}.photo-wrap:after{content:"↗";position:absolute;bottom:11px;right:11px;background:#fff9e9c9;color:#757d67;border:1px solid #fff9;border-radius:50%;width:28px;height:28px;display:grid;place-items:center;font-size:15px;opacity:0;transform:translateY(3px);transition:opacity .2s,transform .2s}.photo-card:hover .photo-wrap:after{opacity:1;transform:translateY(0)}.photo-caption{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:13px 1px 0;color:#858c76;font-size:11px;letter-spacing:.6px;line-height:1.7}.photo-caption small,.photo-caption time{font-size:9px;color:#afb19e;white-space:nowrap;font-family:Georgia,serif;letter-spacing:.3px}.photo-caption p{margin:0}.gallery-footnote{margin:40px 0 10px;text-align:center;font-size:10px;color:#a0a58e;letter-spacing:1px}.empty-gallery{min-height:400px;border:1px dashed #d0d6c1;border-radius:9px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#939d81}.empty-gallery>img{opacity:.6}.empty-gallery h2{font-family:var(--serif);font-size:26px;font-weight:400;letter-spacing:2px;margin:20px 0 0}.empty-gallery p{font-size:12px;color:#a2a88f;letter-spacing:1px;margin-bottom:25px}dialog{color:var(--ink);border:1px solid #dedfce;box-shadow:0 20px 100px #2e3a2933}dialog::backdrop{background:#35402e72;backdrop-filter:blur(7px)}.dialog-close{position:absolute;top:15px;right:17px;border-radius:50%;width:30px;height:30px;background:#eeefe4;display:grid;place-items:center;color:#899278;font-size:23px;line-height:1;font-weight:300;z-index:3}.dialog-close:hover{background:#e0e5d5}.about-dialog{width:min(520px,calc(100% - 36px));border-radius:12px;background:var(--paper);padding:45px 43px 40px}.about-dialog>img{opacity:.8;margin-bottom:23px}.about-dialog h2{font-family:var(--serif);font-size:30px;font-weight:400;letter-spacing:2px;margin:15px 0 24px}.about-dialog p{font-size:12px;line-height:2.2;letter-spacing:.5px;color:#8b927b}.about-dialog .about-note{padding-top:10px;color:#717f60;margin-bottom:26px}.about-dialog .primary-button{font-size:11px;min-width:200px}.lightbox{width:100vw;max-width:none;height:100vh;max-height:none;padding:40px 80px;background:#eeeee3f2;border:0;overflow:hidden}.lightbox[open]{display:flex;align-items:center;justify-content:center}.lightbox figure{margin:0;display:flex;flex-direction:column;align-items:center;max-width:100%;max-height:100%;min-height:0}.lightbox figure img{display:block;max-height:calc(100vh - 140px);max-width:calc(100vw - 170px);object-fit:contain;border-radius:4px;box-shadow:0 7px 40px #4b53351a}.lightbox-caption,.lightbox figcaption{font-size:12px;text-align:center;color:#7e876d;letter-spacing:1px;line-height:1.8}.lightbox .dialog-close{top:25px;right:27px;width:35px;height:35px;background:#fffdf2}.lightbox-prev,.lightbox-next{position:absolute;top:50%;width:40px;height:40px;background:#fffdf2;border-radius:50%;color:#889279;font-size:19px;z-index:2}.lightbox-prev{left:20px}.lightbox-next{right:20px}.joystick{width:102px;height:102px;border:1px solid #ffffff9c;border-radius:50%;background:#fffdf341;position:relative;touch-action:none;backdrop-filter:blur(4px)}.joystick:before,.joystick:after{content:"";position:absolute;background:#fff8;left:50%;top:50%;transform:translate(-50%,-50%)}.joystick:before{width:36px;height:1px}.joystick:after{width:1px;height:36px}.joystick-knob{position:absolute;width:43px;height:43px;left:29px;top:29px;border:1px solid #fff9;border-radius:50%;background:#f7f6eccc;box-shadow:0 2px 10px #6e75562b;z-index:1}.touch-actions{display:flex;align-items:center;gap:12px}.touch-actions button{width:46px;height:46px;background:#f7f6eccc;border:1px solid #fff9;border-radius:50%;font-size:18px;color:#879275;backdrop-filter:blur(5px)}#touch-jump{font-size:28px;width:58px;height:58px}@keyframes breathe{50%{opacity:.85;transform:translateY(-3px)}}
.movement-controls {
  position:absolute;left:20px;right:20px;bottom:89px;z-index:3;
  display:flex;justify-content:space-between;align-items:flex-end;pointer-events:none;
}
.movement-controls > * { pointer-events:auto; }
.joystick { cursor:grab;user-select:none; }
.joystick:active { cursor:grabbing; }
@media (min-width:521px) and (pointer:fine) {
  .movement-controls .touch-actions { display:none; }
}
@media(min-width:1450px){.intro{min-height:min(68.5vh,750px)}.intro h1{margin-top:33px;margin-bottom:28px}.intro-copy{margin-bottom:34px;font-size:13px}.primary-button{padding-top:17px;padding-bottom:17px}.world-layout{gap:3.7%}.header-note{font-size:10px}}
@media(max-width:1150px){.site-wrap{padding:0 3.3vw}.main-nav{gap:26px}.header-note{display:none}.world-layout{grid-template-columns:220px minmax(0,1fr);gap:3%}.intro{min-height:545px;padding-top:22px}.intro h1{font-size:40px;letter-spacing:2px;margin-top:23px;line-height:1.45}.chapter-label{font-size:7px;letter-spacing:1px}.intro-copy{font-size:11px;margin-bottom:25px}.intro-bottom{padding-top:30px}.game-shell{height:64vh;min-height:520px}.controls{gap:10px;margin-top:16px}.mouse-help{width:100%;margin-left:0}.scene-hint{display:none}.world-caption{font-size:9px}.prototype-mark{font-size:7px}.gallery-grid{gap:23px 18px}.gallery-heading h1{font-size:33px}}
@media(max-width:780px){.site-wrap{padding:0 23px}.site-header{height:85px}.brand{font-size:36px;gap:7px}.brand img{width:26px;height:26px}.main-nav{gap:22px}.nav-link{font-size:10px;letter-spacing:.2px}.nav-count{font-size:8px;margin-left:2px}.nav-arrow{display:none}.world-layout{grid-template-columns:1fr;gap:26px;padding-top:27px}.intro{display:grid;grid-template-columns:1fr auto;min-height:0;padding-top:0;align-items:start}.intro .chapter-label{grid-column:1/3;font-size:8px;letter-spacing:1.4px}.intro h1{grid-column:1;grid-row:2;font-size:39px;line-height:1.45;margin:16px 0 0;letter-spacing:2px}.intro h1 br:first-of-type{display:none}.intro h1 br:last-of-type{display:none}.intro h1 em{display:block}.intro-copy{grid-column:1/3;grid-row:3;font-size:11px;line-height:1.9;margin:13px 0 0}.intro-copy br:nth-child(2){display:none}.intro .primary-button{grid-column:2;grid-row:2;align-self:end;font-size:10px;min-width:157px;gap:20px;padding:12px 13px;margin-bottom:8px}.intro .text-button{grid-column:2;grid-row:3;justify-self:end;font-size:10px;margin-top:18px}.intro-bottom{display:none}.game-shell{height:60vh;min-height:490px;border-radius:10px}.world-caption{padding-top:12px}.controls{padding-top:11px;margin-top:12px}.prototype-mark{font-size:7px}.site-footer{min-height:75px;margin-top:28px;font-size:9px;letter-spacing:.5px;gap:12px}.footer-signature{font-size:9px}.footer-domain{display:none}.gallery-view{padding-top:35px}.gallery-heading{margin-bottom:27px}.gallery-heading h1{font-size:28px;letter-spacing:2px;margin-top:15px}.gallery-heading p{font-size:10px}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 16px}.upload-button{padding:10px 12px;font-size:10px;gap:8px}.photo-caption{padding-top:10px;font-size:10px}.photo-caption small,.photo-caption time{font-size:8px}.photo-wrap{border-radius:5px}.gallery-footnote{margin-top:30px;font-size:9px}.lightbox{padding:40px 20px}.lightbox figure img{max-width:calc(100vw - 40px);max-height:calc(100vh - 170px)}.lightbox-prev,.lightbox-next{top:auto;bottom:25px}.lightbox-prev{left:calc(50% - 55px)}.lightbox-next{right:calc(50% - 55px)}}
@media(max-width:520px){.site-wrap{padding:0 18px}.site-header{height:77px;gap:12px}.brand{font-size:34px;letter-spacing:-1.9px}.brand img{width:24px;height:24px}.main-nav{gap:17px}.nav-link{font-size:9px}.nav-count{font-size:7px}.world-layout{padding-top:24px;gap:22px}.intro h1{font-size:32px;margin-top:14px;letter-spacing:1.8px}.intro .chapter-label{font-size:7px;letter-spacing:1px}.intro .little-sun{font-size:17px}.intro-copy{font-size:10px;letter-spacing:.2px}.intro .primary-button{font-size:9px;padding:11px 10px;min-width:135px;gap:12px;margin-bottom:3px}.intro .primary-button span{font-size:14px}.intro .text-button{font-size:9px;margin-top:13px}.text-button span{margin-left:10px}.game-shell{height:60vh;min-height:460px;max-height:650px;border-radius:9px}.scene-topbar{left:13px;right:13px;top:13px}.live-pill{padding:8px 9px;font-size:9px;letter-spacing:.5px}.scene-icon{width:30px;height:30px}.scene-bottom{left:13px;right:13px;bottom:14px}.memory-status{padding:8px 9px 7px}.memory-status>span{font-size:8px;letter-spacing:.5px}.memory-row{gap:15px;margin-top:7px}.memory-dots{gap:4px}.memory-dots i{width:6px;height:6px}#progress-count{font-size:8px}.world-caption{font-size:8px;letter-spacing:.2px}.world-location>span{font-size:15px;margin-right:3px}.prototype-mark{font-size:6px;gap:4px;letter-spacing:.1px}.controls{border:0;padding-top:0;margin-top:9px;color:#a0a58e;font-size:7px}.controls>span{display:none}.controls .touch-help{display:block;white-space:normal;letter-spacing:.3px}.movement-controls{left:15px;right:15px;bottom:93px}.joystick{width:91px;height:91px}.joystick-knob{left:24px;top:24px}.touch-actions{gap:8px}.touch-actions button{width:40px;height:40px;font-size:15px}#touch-jump{width:50px;height:50px;font-size:25px}.interaction{bottom:205px;padding:7px 8px 7px 11px;gap:10px}.interaction>span{font-size:9px}.interaction button{font-size:9px;padding:5px 6px;gap:6px}.interaction kbd{display:none}.toast{top:62px;font-size:10px;letter-spacing:.3px;padding:10px 13px;width:max-content;max-width:90%}.scene-hint{display:block;bottom:auto;top:62px;font-size:8px;letter-spacing:.7px;color:#777d65;text-shadow:0 1px 4px #fff7}.site-footer{min-height:68px;margin-top:22px;font-size:8px;gap:6px}.footer-signature{font-size:8px}.footer-signature>span{font-size:12px;padding-left:4px}.gallery-view{padding-top:28px}.gallery-heading{gap:12px;align-items:center;margin-bottom:25px}.gallery-heading h1{font-size:25px;letter-spacing:1px;margin:12px 0 11px}.gallery-heading .chapter-label{font-size:6px;letter-spacing:1px}.gallery-heading p{font-size:9px;letter-spacing:.4px}.upload-button{font-size:8px;padding:9px 9px;gap:4px;letter-spacing:.3px}.upload-button>span{font-size:13px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 14px}.photo-caption{font-size:9px;letter-spacing:.3px;gap:5px}.photo-wrap{aspect-ratio:4/4.7}.photo-card:hover .photo-wrap:after{display:none}.gallery-footnote{font-size:8px;letter-spacing:.5px;line-height:1.7}.about-dialog{padding:37px 27px 30px}.about-dialog h2{font-size:26px}.about-dialog p{font-size:11px}.about-dialog .chapter-label{font-size:7px}.empty-gallery{min-height:350px}.empty-gallery p{font-size:10px;letter-spacing:.4px}.pause-overlay h2{font-size:28px}.pause-overlay p{font-size:11px}}
@media(pointer:coarse) and (min-width:521px){.movement-controls{bottom:105px}.controls>span{display:none}.controls .touch-help{display:block;font-size:9px;letter-spacing:.5px}.interaction{bottom:220px}}
/* Keep every short Chinese phrase intact, with the actions in their own column. */
@media(max-width:520px){
  .intro{grid-template-columns:minmax(0,1fr) auto;column-gap:12px}
  .intro h1{grid-column:1;grid-row:2;font-size:clamp(25px,8vw,32px);letter-spacing:1.3px;white-space:nowrap;line-height:1.45}
  .intro h1 br:first-of-type,.intro h1 br:last-of-type{display:initial}
  .intro h1 em{display:inline}
  .intro .primary-button{grid-column:2;grid-row:2;align-self:center;margin-top:10px;margin-bottom:0}
  .intro .text-button{grid-column:2;grid-row:2;align-self:end;justify-self:end;margin:0 0 10px;padding:5px 0}
  .intro-copy{grid-column:1/-1;grid-row:3;margin-top:16px}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.gallery-heading .local-photo-note{font-size:9px;color:#9da38e;margin-top:10px;letter-spacing:.3px}.game-shell.night .scene-hint{color:#ebeddf}.photo-caption>span:last-child{font-family:Georgia,serif;font-size:10px;color:#a4ac96}

.cat-toggle{pointer-events:auto;margin-left:auto;margin-right:10px;background:#fffaf0ba;border:1px solid #ffffff80;border-radius:20px;padding:8px 11px;color:#7d886b;backdrop-filter:blur(8px);font-size:9px;letter-spacing:.3px;white-space:nowrap}.night .cat-toggle{background:#f4efdfba}.cat-toggle:hover{background:#fffaf0}@media(max-width:520px){.cat-toggle{font-size:8px;padding:7px 8px;margin-right:7px}.live-pill{font-size:8px;letter-spacing:0;padding:8px}.scene-hint{max-width:90%;white-space:normal;text-align:center;line-height:1.7;width:max-content}}

.loading .loading-reference{width:min(76%,360px);height:auto;max-height:65%;object-fit:contain;animation:none;opacity:1;border-radius:12px;box-shadow:0 10px 35px #646a5220}.loading small{font-size:9px;letter-spacing:1px;color:#a0a78f}.loading span{max-width:85%;text-align:center;line-height:1.8}

.cat-day-controls{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:14px;color:#8b947b;font-size:10px;letter-spacing:.5px}.cat-day-controls select{font:inherit;color:#6f7e60;background:#eeefe4;border:1px solid #d6dccb;border-radius:5px;padding:9px 27px 9px 11px;max-width:65%}.motion-credit a{color:#778765}.scene-hint{padding:6px 10px;background:#fffdf4a0;border-radius:6px;text-shadow:none;color:#6d7a62}.game-shell.night .scene-hint{background:#24334499;color:#e9eadc}@media(max-width:520px){.cat-day-controls{font-size:9px}.cat-day-controls select{padding:8px 20px 8px 9px}}

/* Calm transparent overlays: avoid live backdrop sampling over WebGL in Chrome. */
.game-shell .scene-icon,.game-shell .cat-toggle,.game-shell .memory-status,.game-shell .interaction,.game-shell .toast,.game-shell .joystick,.game-shell .touch-actions button,.game-shell .pause-overlay{backdrop-filter:none;-webkit-backdrop-filter:none}
.scene-topbar{align-items:flex-start;gap:12px}
.scene-top-actions{display:flex;align-items:center;flex-shrink:0;pointer-events:auto}
.scene-top-actions .cat-toggle{margin-left:0}
.local-clock{display:flex;flex-direction:column;gap:4px;padding:11px 13px 10px;border:1px solid #ffffff44;border-radius:7px;background:#fffdf437;color:#536774;pointer-events:none;min-width:166px;text-shadow:0 1px 5px #ffffff60}
.local-date{font-size:10px;letter-spacing:.9px;line-height:1.4}
.clock-row{display:flex;align-items:baseline;gap:9px;white-space:nowrap}
#local-time{font-family:var(--sans);font-size:22px;font-weight:300;font-variant-numeric:tabular-nums;letter-spacing:1.7px;line-height:1.2}
.local-zone{font-size:8px;letter-spacing:.4px;opacity:.78}
.clock-phase{font-size:8px;letter-spacing:.7px;line-height:1.5;opacity:.78}
.night .local-clock{color:#e6edf1;background:#192a3d32;border-color:#ffffff26;text-shadow:0 1px 6px #16223155}
@media(max-width:520px){.local-clock{min-width:140px;padding:9px 10px;gap:3px}.local-date{font-size:8px;letter-spacing:.4px}#local-time{font-size:18px;letter-spacing:1px}.local-zone,.clock-phase{font-size:7px}.scene-topbar{gap:7px}.scene-top-actions .cat-toggle{margin-right:6px}.scene-hint{top:112px}.toast{top:113px}}

.sun-preview {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 13px;
  padding: 7px 11px;
  border: 1px solid #e3e4d9;
  border-radius: 6px;
  color: #69765c;
  font-size: 10px;
}
.sun-preview label { white-space: nowrap; }
.sun-preview input { flex: 1; min-width: 0; appearance: none; background: transparent; height: 19px; accent-color: #87946c; }
.sun-preview input::-webkit-slider-runnable-track { height: 4px; border-radius: 3px; background: #d8ddcc; }
.sun-preview input::-webkit-slider-thumb { appearance: none; width: 13px; height: 13px; margin-top: -4.5px; border-radius: 50%; background: #87946c; border: 1px solid #fffdf1; }
.sun-preview input::-moz-range-track { height: 4px; border-radius: 3px; background: #d8ddcc; }
.sun-preview input::-moz-range-thumb { width: 12px; height: 12px; border-radius: 50%; background: #87946c; border: 1px solid #fffdf1; }
.sun-preview output { font-variant-numeric: tabular-nums; min-width: 32px; }

.visitor-counter { display: flex; flex-direction: column; align-items: flex-start; gap: 7px; margin-top: 19px; }
.visitor-label { color: #748067; font-size: 9px; letter-spacing: 1.4px; }
.visitor-total { display: inline-flex; gap: 3px; perspective: 120px; }
.flip-digit {
  position: relative; display: grid; place-items: center;
  width: 21px; height: 27px; border-radius: 3px;
  background: linear-gradient(#59634f 50%, #4e5946 50%);
  color: #faf5e8; font: 18px/27px Georgia, serif; font-variant-numeric: tabular-nums;
  box-shadow: 0 1px 3px #41513922;
}
.flip-digit::after { content: ''; position: absolute; inset: 50% 0 auto; border-top: 1px solid #343d31aa; }
.flip-flap {
  position: absolute; inset: 0 0 auto; height: 50%; overflow: hidden; text-align: center;
  border-radius: 3px 3px 0 0; background: #59634f; transform-origin: bottom;
  backface-visibility: hidden; animation: visitor-flip .52s cubic-bezier(.35,.18,.72,.58) both;
}
@keyframes visitor-flip { to { transform: rotateX(-100deg); opacity: .25; } }
@media (prefers-reduced-motion: reduce) { .flip-flap { display: none; } }
@media (max-width: 780px) { .visitor-counter { grid-column: 1 / -1; margin-top: 14px; } }

.snack-menu {
  position:absolute;top:84px;right:20px;z-index:5;
  width:min(238px,calc(100% - 28px));padding:14px;
  background:#fffaf0f5;border:1px solid #fffdf2;border-radius:10px;
  box-shadow:0 8px 24px #3d49362e;color:#554b41;
}
.snack-heading { display:flex;align-items:center;justify-content:space-between;gap:10px; }
.snack-heading h2 { margin:0;font:600 15px/1.5 var(--serif);letter-spacing:1px;color:#8a483e; }
.snack-heading button { width:28px;height:28px;border-radius:50%;background:#f0e5dc;font-size:18px; }
.snack-menu p { margin:5px 0 12px;font-size:10px;line-height:1.5;color:#74665c; }
.snack-options { display:flex;gap:6px; }
.snack-options button {
  flex:1;display:grid;justify-items:center;gap:5px;padding:8px 3px;
  border-radius:6px;background:#f2ebe1;font-size:11px;white-space:nowrap;
}
.snack-options button:hover { background:#eadccf; }
.snack-options span { width:13px;height:9px;border-radius:6px;background:#c86e55; }
.snack-options [data-snack="yogurt"] span { background:#b2becf;border-radius:3px 3px 5px 5px; }
.snack-options [data-snack="icecream"] span { background:#dfacaa;border-radius:8px 8px 4px 4px; }
@media (max-width:520px) { .snack-menu { right:13px;top:88px; } }
.music-menu { width:min(282px,calc(100% - 28px)); }
.music-menu h2 { color:#52634b; }
.music-tracks { display:flex;flex-wrap:wrap;gap:5px;margin:9px 0; }
.music-tracks > span { width:100%;font-size:9px;color:#6b7560;letter-spacing:.7px; }
.music-tracks button,.music-controls button {
  padding:7px 8px;border-radius:5px;background:#edece2;color:#4f5d48;font-size:10px;
}
.music-tracks button:hover,.music-tracks button[aria-pressed="true"] { background:#728369;color:#fffdf5; }
.music-controls {
  display:flex;align-items:center;gap:7px;margin-top:11px;font-size:10px;color:#626c58;
}
.music-controls input { flex:1;min-width:0;accent-color:#728369; }

.scene-bottom-actions{display:flex;align-items:center;gap:8px;pointer-events:auto}
.summon-pug{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;border:1px solid #fffaf1ba;border-radius:6px;background:#f6e6da;color:#754536;white-space:nowrap;font-size:11px;font-weight:600;letter-spacing:.35px}
.summon-pug:hover:enabled{background:#fff3e6;color:#663323}
.summon-pug:active:enabled{background:#efd8ca}
.summon-pug svg{flex:none}
@media(max-width:520px){.scene-bottom-actions{gap:6px}.summon-pug{padding:0 9px;font-size:10px}}
