:root{color:#e7e4d5;background:#061216;font-family:Hiragino Sans,Yu Gothic,system-ui,sans-serif;font-synthesis:none}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;background:radial-gradient(circle at 50% -10%,#294a49 0,#0c2529 31%,#061216 72%)}button,a{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid #f1c966;outline-offset:4px}.night-building{min-height:100vh;overflow:hidden}.guide-map{width:min(100% - 30px,980px);margin:auto;padding:22px 0 38px}.guide-header{display:flex;justify-content:space-between;align-items:center;gap:14px;color:#a8b9ab;font-size:12px;letter-spacing:.08em}.guide-header a{color:#c0d2c2;text-decoration:none}.motion-toggle{border:1px solid #698477;border-radius:999px;padding:7px 12px;color:#e6dfbd;background:#113338cc;font-size:12px}.motion-toggle:disabled{color:#657b73;border-color:#33524f;cursor:default}.map-title{margin:52px 0 30px;text-align:center}.map-title p{margin:0;color:#afbfaf;font-size:11px;letter-spacing:.28em}.map-title h1{margin:9px 0 12px;color:#f0dfa5;font-size:clamp(52px,10vw,92px);line-height:.88;letter-spacing:.14em;font-family:Georgia,Yu Mincho,serif;font-weight:500}.map-title strong{display:inline-block;border-bottom:1px solid #809987;padding:0 11px 8px;color:#d7d7bc;font-size:14px;font-weight:400;letter-spacing:.14em}.map-table{position:relative;min-height:min(76vw,580px);border:1px solid #a99b70;box-shadow:0 28px 100px #000a,inset 0 0 0 11px #cdc29a16;background:#cfcaad;transform-origin:50% 45%;transition:transform .8s cubic-bezier(.2,.9,.25,1)}.guide-map.is-reverse .map-table{transform:rotateY(180deg)}.fold-shadow{position:absolute;z-index:2;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 49.5%,#403e2d30 50%,transparent 50.8%),linear-gradient(0deg,transparent 49.5%,#403e2d22 50%,transparent 50.8%)}.map-svg{display:block;width:100%;height:100%;position:absolute;inset:0;color:#4e7064}.map-border{fill:#d8d2b5;stroke:#788476;stroke-width:.7}.map-line{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:square;stroke-dasharray:1 1}.map-line.thin{stroke-width:.7;opacity:.85}.hidden-line{color:#8a5747;stroke-dasharray:3 1}.map-svg text{fill:#465749;font-size:3.1px;letter-spacing:.3px}.you-are-here{fill:#b44e3d;stroke:#f4e7bb;stroke-width:.9}.first-corner{position:absolute;inset:0;z-index:3}.first-corner>span{position:absolute;top:46%;left:50%;transform:translate(-50%,-50%);width:108px;padding:8px 5px;color:#3b4d43;border:1px solid #546a5d;background:#e5dfc4e6;font-size:10px;text-align:center;letter-spacing:.11em}.direction{position:absolute;width:min(26vw,190px);border:0;padding:10px 9px;color:#2d443c;text-align:left;background:transparent;transition:transform .2s ease,color .2s ease}.direction:hover{color:#9b4032;transform:translate(4px)}.direction b{display:block;font-size:clamp(12px,2vw,16px);font-weight:600;letter-spacing:.04em}.direction small{display:block;margin-top:3px;color:#697265;font-size:10px}.direction-north{top:12%;left:51%}.direction-west{top:39%;left:8%}.direction-east{top:43%;right:7%}.direction-south{bottom:10%;left:39%}.room-pins{position:absolute;inset:0;z-index:3}.room-pin{position:absolute;display:grid;grid-template-columns:18px max-content;align-items:center;gap:5px;border:0;padding:2px;color:#30463b;background:transparent;text-align:left;transform:translate(-50%,-50%)}.room-pin:hover{color:#9d3f32}.room-pin span{display:grid;width:17px;height:17px;place-items:center;border:1px solid currentColor;border-radius:50%;background:#d9d2b2;font-size:10px}.room-pin i{display:none;padding:4px 6px;background:#ded5b7eb;font-size:11px;font-style:normal;white-space:nowrap;box-shadow:1px 2px #4e554155}.room-pin:hover i,.room-pin:focus-visible i{display:block}.quiet-arrow{position:absolute;z-index:4;color:#bb4e38;text-shadow:0 0 10px #f0d26b;font-size:clamp(28px,5vw,46px);animation:breathe 2.8s ease-in-out infinite}.quiet-arrow-north{top:16%;right:40%}.quiet-arrow-west{top:43%;left:20%}.quiet-arrow-east{top:42%;right:17%}.quiet-arrow-south{bottom:16%;left:44%}.reverse-note{position:absolute;z-index:3;top:46%;left:50%;width:min(70%,310px);transform:translate(-50%,-50%) rotateY(180deg);color:#5d463f;font-family:Georgia,Yu Mincho,serif;font-size:clamp(15px,2.5vw,21px);letter-spacing:.14em;text-align:center}.map-lower{margin-top:18px;color:#a6b6a9}.map-lower>p{margin:0 0 12px;font-size:12px;letter-spacing:.08em}.stamp-shelf{display:flex;min-height:86px;align-items:flex-start;gap:8px;overflow-x:auto;padding:8px 0 13px;border-top:1px solid #4d6964;border-bottom:1px solid #4d6964}.empty-stamp{padding:20px 4px;color:#789087;font-size:12px}.stamp{flex:0 0 146px;min-height:76px;padding:8px 10px;color:#32433e;background:#d7cfad;background-image:repeating-linear-gradient(0deg,transparent,transparent 18px,#857c5e2b 19px);box-shadow:3px 4px #0003;transform:rotate(-1.2deg)}.stamp:nth-child(2n){transform:translateY(3px) rotate(1.1deg)}.stamp:nth-child(3n){background-color:#c4d0b3}.stamp small{color:#8e4637;font-family:ui-monospace,monospace}.stamp b{display:block;margin:4px 0;font-size:12px}.stamp span{display:block;font-size:10px;line-height:1.5}.margin-note{color:#d4bd72}.guide-map>footer,.room-view footer{margin-top:30px;color:#71847b;font-size:11px;text-align:center;letter-spacing:.08em}.room-view{width:min(100% - 30px,760px);min-height:100vh;margin:auto;padding:24px 0 38px}.room-header{color:#c8d1c2}.back-link{border:0;padding:0;color:#becdbd;background:transparent;font-size:12px;letter-spacing:.08em}.room-header p{margin:36px 0 10px;color:#9cb3a6;font-size:11px;letter-spacing:.2em}.room-header h2{margin:0;color:#efe4b9;font-family:Georgia,Yu Mincho,serif;font-size:clamp(34px,7vw,58px);font-weight:400;letter-spacing:.1em}.room-stage{position:relative;display:grid;min-height:500px;place-items:center;margin-top:27px;overflow:hidden;border:1px solid #637b73;background:linear-gradient(140deg,#123238,#0d2329 53%,#08191d);box-shadow:inset 0 0 90px #0008,0 30px 80px #0008}.room-stage:before{position:absolute;inset:18px;border:1px solid #aec5a526;content:"";pointer-events:none}.room-stage:after{position:absolute;width:120%;height:120px;bottom:-55px;left:-10%;background:#061217;box-shadow:0 -18px 25px #0006;content:"";transform:rotate(-3deg)}.wall-note,.floor-mark,.operation{position:absolute;z-index:2;max-width:70%;margin:0}.wall-note{top:52px;left:10%;padding:7px 10px;border:1px solid #a88c67;color:#d7c39a;background:#2e3b35cc;font-family:Yu Mincho,serif;font-size:13px;letter-spacing:.08em}.floor-mark{bottom:76px;left:12%;color:#7d9b91;font-size:11px;line-height:1.7;transform:rotate(-2deg)}.operation{bottom:34px;left:50%;width:86%;color:#e7d69d;font-size:13px;text-align:center;letter-spacing:.1em;transform:translate(-50%)}.room-stage button{position:relative;z-index:1;border:0;color:inherit;background:transparent;transition:transform .35s ease,filter .35s ease}.room-stage button:hover{filter:brightness(1.18)}.is-awake .operation{color:#f3d979}.returning{position:absolute;z-index:4;top:83px;right:9%;margin:0;color:#d7aa73;font-size:11px}.found-slip{display:grid;grid-template-columns:70px 1fr auto;align-items:center;gap:13px;margin-top:18px;padding:12px 14px;border:1px solid #8c9272;color:#38433b;background:#d8d1b2;box-shadow:5px 6px #0003}.found-slip small{color:#9b4838;font-family:ui-monospace,monospace}.found-slip strong{font-family:Yu Mincho,serif;font-size:13px;font-weight:400;line-height:1.5}.found-slip button{border:1px solid #67776b;padding:8px;color:#344b41;background:transparent;font-size:11px}.desk-bell{width:160px;height:125px;border-bottom:8px solid #596760!important}.desk-bell i{display:grid;width:72px;height:72px;place-items:center;margin:auto;border:5px solid #b7a16b;border-radius:50% 50% 12% 12%;color:#e9d584;background:#8e4635;box-shadow:0 8px #50261e;font-size:36px}.desk-bell span{display:block;margin-top:9px;color:#d4cdb2;font-size:12px}.is-awake .desk-bell i{transform:translateY(9px);box-shadow:0 0 #50261e}.shop-curtain{width:min(64vw,320px);height:212px;border:9px solid #9c855c!important;background:repeating-linear-gradient(90deg,#7d322b 0 25px,#992f27 26px 50px)!important;box-shadow:0 15px #071317}.shop-curtain i{display:block;padding-top:74px;color:#e8d6a7;font-style:normal;letter-spacing:.14em}.shop-curtain span{display:inline-block;margin-top:16px;border:1px solid #d5c497;padding:5px;color:#fff1c6;font-size:11px}.is-awake .shop-curtain{clip-path:polygon(0 0,39% 0,46% 100%,54% 100%,61% 0,100% 0,100% 100%,0 100%)}.step-lamp{display:flex;align-items:end;width:min(60vw,290px);height:270px;padding:0!important;border-bottom:18px solid #243b3d!important}.step-lamp i{display:grid;flex:1;height:22%;place-items:center;border:1px solid #5d746c;color:#89a59c;font-style:normal}.step-lamp i:nth-child(2){height:40%}.step-lamp i:nth-child(3){height:59%}.step-lamp i:nth-child(4){height:78%}.step-lamp span{position:absolute;top:20px;left:16px;color:#ead16e;font-size:35px}.is-awake .step-lamp i:nth-child(4){box-shadow:0 0 35px #ffd674;color:#f4d877;background:#d58d42}.rest-chairs{display:flex;align-items:end;width:min(70vw,370px);height:210px}.rest-chairs i{display:grid;width:30%;height:115px;place-items:center;margin:0 3px;border:6px solid #a8784f;border-bottom:19px solid #614432;color:#c8a66e;font-style:normal;font-size:48px}.rest-chairs span{position:absolute;bottom:10px;left:50%;color:#d8ccad;font-size:11px;transform:translate(-50%)}.is-awake .rest-chairs i:nth-child(2){transform:translate(22px)}.umbrella-stand{display:flex;width:200px;height:250px;align-items:end;justify-content:center;gap:4px;border-bottom:45px solid #87633f!important;border-radius:0 0 45% 45%}.umbrella-stand i{color:#98b7ab;font-style:normal;font-size:65px;transform-origin:50% 90%}.umbrella-stand span{position:absolute;bottom:-33px;color:#f0dfb7;font-size:24px}.is-awake .umbrella-stand{transform:rotate(20deg)}.letter-slot{width:min(62vw,300px);height:180px;border:7px solid #8c7551!important;background:#35534d!important}.letter-slot span{position:absolute;top:58px;left:14%;width:72%;padding:9px;border:2px solid #1e332f;color:#cfceb2;background:#102724;font-size:13px;letter-spacing:.1em}.letter-slot i{position:absolute;right:30px;bottom:-24px;color:#e3d8b2;font-size:36px;font-style:normal;opacity:0}.is-awake .letter-slot i{bottom:20px;opacity:1}.window-pane{width:min(65vw,340px);height:230px;border:14px solid #7b805f!important;background:linear-gradient(#0a2e43 0 55%,#cb7651 56% 58%,#172c3b 59%)!important;box-shadow:inset 0 0 0 4px #243a37}.window-pane i{position:absolute;top:15px;right:16px;color:#e4c980;font-size:24px;font-style:normal}.window-pane span{position:absolute;right:42%;bottom:25px;color:#e6d8a8;font-size:18px}.is-awake .window-pane{clip-path:inset(0 25% 0 0);transform:translate(-28px)}.locker-number{width:170px;height:250px;border:8px solid #a77d54!important;background:#7c5942!important}.locker-number i{display:block;padding-top:80px;color:#d8bc89;font-family:Georgia,serif;font-size:75px;font-style:normal}.locker-number span{display:block;color:#e7d6a4;font-size:20px}.is-awake .locker-number{transform:translateY(-28px)}.fan{display:grid;width:260px;height:260px;place-items:center;border-radius:50%}.fan:before{position:absolute;width:185px;height:185px;border:8px solid #81968b;border-radius:50%;content:""}.fan i{color:#c6c9a0;font-size:150px;font-style:normal}.fan span{position:absolute;color:#192d2c;font-size:12px}.is-awake .fan i{animation:turn 1.1s linear infinite}.date-stamp{width:180px;height:210px;padding-top:31px!important;border-bottom:19px solid #724a36!important}.date-stamp i{display:grid;height:58px;place-items:center;border:7px solid #b0835b;color:#dcc19b;background:#4b362d;font-style:normal}.date-stamp span{display:block;margin:18px auto;border:2px solid #a44a38;padding:9px;color:#d55a41;font-family:ui-monospace,monospace;font-size:19px;opacity:0}.is-awake .date-stamp span{opacity:1;transform:translateY(31px)}.clouded-mirror{width:min(55vw,255px);height:270px;border:10px double #9a8968!important;background:radial-gradient(circle at 60% 42%,#a1b7ac 0 10%,#597d7c 24%,#264a51 72%)!important}.clouded-mirror i{position:absolute;bottom:21px;left:22px;color:#d7d2b9;font-size:13px;font-style:normal}.clouded-mirror span{position:absolute;top:58px;right:40px;color:#d8cf9a;font-size:62px;opacity:0}.is-awake .clouded-mirror{background:radial-gradient(circle at 60% 42%,#d3dfbf 0 24%,#6c9990 28%,#264a51 72%)!important}.is-awake .clouded-mirror span{opacity:1}.fold-plan{width:min(65vw,310px);height:215px;padding:0!important;border:1px solid #ad9c73!important;background:repeating-linear-gradient(90deg,#cfc59e 0 33%,#aca67f 34% 35%)!important;color:#31483c!important}.fold-plan i{display:block;padding-top:75px;font-style:normal;font-size:24px}.fold-plan span{display:block;margin-top:18px;font-size:13px}.is-awake .fold-plan{transform:rotateY(60deg) rotate(-6deg)}.pipe{width:185px;height:270px;border-left:26px solid #687f72!important;border-bottom:26px solid #687f72!important;border-radius:0 0 0 85px}.pipe:after{position:absolute;top:-30px;left:-45px;width:70px;height:40px;border:15px solid #83988a;border-radius:50%;content:""}.pipe i{position:absolute;top:64px;right:10px;color:#e6c875;font-size:75px;font-style:normal}.pipe span{position:absolute;right:-32px;bottom:-48px;color:#d8ceb0;font-size:11px;white-space:nowrap}.is-awake .pipe{filter:drop-shadow(0 0 19px #e7c86e)}.service-door{width:178px;height:295px;border:9px solid #80654a!important;background:linear-gradient(90deg,#453f36 48%,#282f2e 49% 51%,#453f36 52%)!important}.service-door i{display:block;margin-top:82px;color:#d5c194;font-style:normal;letter-spacing:.2em}.service-door span{display:inline-block;margin-top:58px;color:#e7d273;letter-spacing:.4em}.is-awake .service-door{box-shadow:inset 0 0 40px #ebcb7244,0 0 20px #e0bd5a55}.level{width:min(65vw,300px);height:80px;border:7px solid #9d8764!important;border-radius:9px;background:#3c5b55!important}.level:before{position:absolute;inset:22px;border:2px solid #adc3a8;border-radius:999px;content:""}.level i{position:absolute;top:20px;left:45%;color:#e2d379;font-size:27px;font-style:normal}.level span{position:absolute;bottom:-36px;left:50%;color:#d6caa5;font-size:12px;transform:translate(-50%)}.is-awake .level{transform:rotate(8deg)}.is-awake .level i{transform:translate(36px)}.key-shadow{display:grid;width:290px;height:210px;place-items:center;border:1px solid #7d8d82!important;background:radial-gradient(circle,#203c3b 0 20%,#0b2125 72%)!important}.key-shadow i{color:#b8b68b;font-size:120px;font-style:normal;text-shadow:18px 0 #01090a}.key-shadow span{position:absolute;bottom:22px;color:#dcd1ac;font-size:12px}.is-awake .key-shadow i{text-shadow:0 0 #01090a}.notice-paper{width:235px;height:270px;padding:30px 18px!important;background:#d2caac!important;color:#35483e!important;box-shadow:8px 10px #0003}.notice-paper:before{position:absolute;inset:14px;border:1px solid #6a7869;content:""}.notice-paper i{display:block;font-style:normal;font-size:24px}.notice-paper span{display:block;margin-top:58px;font-size:15px}.is-awake .notice-paper{animation:flutter 1.8s ease-in-out infinite}.coin-tray{width:270px;height:150px;border:10px solid #746a56!important;border-radius:0 0 60% 60%;background:#232d2d!important}.coin-tray i{display:grid;width:56px;height:56px;place-items:center;margin:29px auto;border:3px solid #c5ad67;border-radius:50%;color:#ecd886;font-size:26px;font-style:normal}.coin-tray span{position:absolute;right:24px;bottom:17px;color:#c9c7a7;font-size:12px}.is-awake .coin-tray i{transform:translate(72px)}@keyframes breathe{50%{opacity:.38;transform:translateY(-3px)}}@keyframes turn{to{transform:rotate(360deg)}}@keyframes flutter{50%{transform:rotate(2.5deg) translateY(-5px)}}@media(max-width:620px){.guide-map{width:min(100% - 20px,980px)}.map-title{margin:39px 0 22px}.map-table{min-height:92vw}.direction{width:31vw}.direction-north{left:49%}.direction-west{left:3%}.direction-east{right:1%}.direction-south{left:36%}.room-pin i{display:none!important}.room-pin{grid-template-columns:14px}.room-pin span{width:14px;height:14px;font-size:8px}.room-stage{min-height:430px}.found-slip{grid-template-columns:1fr;gap:7px}.found-slip button{justify-self:start}.wall-note{top:38px}.floor-mark{bottom:64px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
