:root{color:#473c32;font-synthesis:none;--ink:#473c32;--muted:#887867;--line:#ddd2c1;--sage:#536753;--paper:#fffaf1;--gold:#b1874d;background:#f5efe4;font-family:Yu Gothic UI,Hiragino Kaku Gothic ProN,Meiryo,sans-serif}*{box-sizing:border-box}body{margin:0;padding-bottom:180px}body.note-collapsed{padding-bottom:64px}button,input{font:inherit}button{cursor:pointer;color:inherit;border:1px solid var(--line);background:var(--paper);border-radius:8px;padding:10px 17px;transition:background .18s,transform .18s}button:hover{background:#eee4d3}button:active{transform:translateY(1px)}button:focus-visible,a:focus-visible,canvas:focus-visible,input:focus-visible{outline-offset:3px;outline:3px solid #b68c48}button:disabled{opacity:.45;cursor:wait}[hidden]{display:none!important}.app-shell{max-width:1260px;margin:auto;padding:27px 40px 16px}.masthead{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-bottom:22px;display:flex}.brand{align-items:center;gap:16px;display:flex}.brand-mark{color:#ae8152;font-size:42px}.eyebrow{letter-spacing:.17em;color:var(--muted);margin:0 0 5px;font-family:Georgia,serif;font-size:10px}h1{letter-spacing:.07em;margin:0;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:25px;font-weight:600}.quiet-button{background:0 0;border:0;padding:8px 10px;font-size:12px}.masthead .quiet-button span{border:1px solid var(--line);border-radius:50%;margin-left:6px;padding:1px 6px}.chapter-row{justify-content:space-between;align-items:center;padding:20px 0 14px;display:flex}.chapter-row>div{align-items:baseline;gap:13px;display:flex}.chapter-index{color:#a0876a;border-bottom:1px solid #b9976f;padding-bottom:5px;font-family:Georgia,serif;font-size:13px}.chapter-row h2{margin:0;font-size:17px;font-weight:500}.room-subtitle{color:var(--muted);font-size:11px}.goal{color:var(--gold);white-space:nowrap;margin:0;font-size:15px}.goal>span{font-family:Georgia,serif;font-size:25px}.goal small{color:var(--muted);margin-left:9px;font-size:10px}.stage{aspect-ratio:1672/941;touch-action:none;-webkit-user-select:none;user-select:none;background:#b5a58b;border-radius:12px;width:100%;position:relative;overflow:hidden;box-shadow:0 5px 20px #58452c14}.stage canvas{touch-action:none;cursor:crosshair;width:100%;height:100%;display:block}.stage.dragging,.stage.dragging *{cursor:grabbing!important}.scene-caption{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:none;background:#fffbefdf;border:1px solid #fffbef99;border-radius:30px;align-items:center;gap:8px;max-width:calc(100% - 230px);padding:8px 13px;font-size:10px;display:flex;position:absolute;top:18px;left:18px}#activity{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.room-shortcuts{z-index:3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fdf8eede;border:1px solid #fff9e9b0;border-radius:12px;gap:5px;padding:4px;display:flex;position:absolute;top:14px;right:14px;box-shadow:0 2px 9px #34250e20}.room-shortcuts button{border:0;min-height:36px;padding:6px 12px;font-size:12px}.room-shortcuts button[aria-current]{background:var(--sage);color:var(--paper);opacity:1;cursor:default}.live-dot{background:#708369;border-radius:50%;width:5px;height:5px}.hotspot{white-space:nowrap;background:#fffbefdd;border:1px solid #fff9e9;border-radius:28px;align-items:center;gap:6px;padding:7px 12px;font-size:11px;display:flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 2px 9px #34250e36}.hotspot:before{content:"+";border:1px solid;border-radius:50%;place-items:center;width:17px;height:17px;font-size:13px;display:inline-grid}.hotspot:active{transform:translate(-50%,-50%)}.hotspot.far{color:#fff8eb;background:#423b329e;border-color:#ffffff52}.hotspot.near{color:#445d44;background:#fffcf2;box-shadow:0 0 0 4px #fff7d92b,0 2px 10px #37251133}.hotspot.done{opacity:.63}.hotspot.exit:before{content:"↗"}.hotspot.secret{color:#5e462a;background:#f7e6b8;animation:1.6s ease-in-out infinite found}.hotspot.secret.occluded{color:#fff8eb;background:#423b329e;animation:none}.hotspot.secret.occluded:before{content:"?"}.hotspot span.distance{opacity:.8;font-size:9px}@keyframes found{50%{box-shadow:0 0 0 5px #f5d28340}}#destination{pointer-events:none;border:2px solid #fffbd5;border-radius:50%;width:25px;height:25px;position:absolute;transform:translate(-50%,-50%)scaleY(.45);box-shadow:0 0 0 5px #fffad426}.view-controls{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:13px 2px 15px;font-size:11px;display:flex}.view-actions{align-items:center;gap:12px;display:flex}.view-controls button{border:1px solid var(--line);border-radius:20px;padding:8px 12px}.simple-mode{color:var(--ink);cursor:pointer;align-items:center;gap:8px;padding:5px 0;display:flex}.simple-mode input{width:18px;height:18px;accent-color:var(--sage);margin:0}.simple-mode small{color:var(--muted);margin-top:2px;font-size:9px;display:block}.sound-controls{align-items:center;gap:8px;display:flex}.sound-controls>span{max-width:220px;font-size:10px}#bgm-toggle[aria-pressed=true]{background:var(--sage);color:var(--paper)}.ending-promo{background:#fff9eb;border:1px solid #d7c8ad;border-radius:12px;margin:18px 0;padding:24px}.ending-promo h2{margin:8px 0;font-family:Yu Mincho,serif;font-size:21px;font-weight:600}.ending-promo>p:not(.eyebrow){font-size:12px;line-height:1.8}.promo-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0 12px;display:grid}.promo-links a{color:#3c543e;background:#edf1e2;border:1px solid #b9c3a5;border-radius:9px;flex-direction:column;gap:8px;padding:18px;line-height:1.6;text-decoration:none;display:flex}.promo-links a:hover{background:#e1e9d0}.promo-links a>span,.ending-promo>small{font-size:10px}.promo-links strong{font-size:14px;font-weight:600}.below-stage{justify-content:space-between;align-items:center;gap:20px;display:flex}.movement-tip{color:var(--muted);margin:0;font-size:11px;line-height:1.8}.note-dock{z-index:10;left:50%;bottom:max(14px, env(safe-area-inset-bottom));pointer-events:none;width:min(640px,100% - 28px);position:fixed;transform:translate(-50%)}.note-panel{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:auto;background:#fffaf2f5;border:1px solid #ccb68e;border-radius:15px;padding:15px 22px 18px;box-shadow:0 8px 35px #42332230,inset 0 0 0 4px #fffdf8}.note-speaker{min-height:27px;color:var(--sage);margin:0 125px 9px 0;font-size:14px;font-weight:600}.note-speaker>span{color:var(--gold);margin-right:5px}.note-speaker small{letter-spacing:.12em;color:var(--muted);margin-left:12px;font-family:Georgia,serif;font-size:9px;font-weight:400}.note-panel p{overscroll-behavior:contain;max-height:min(110px,22dvh);margin:0;font-size:13px;line-height:1.8;overflow:auto}.note-toggle{pointer-events:auto;border-radius:20px;align-items:center;gap:8px;min-height:36px;padding:7px 12px;font-size:11px;display:flex;position:absolute;top:10px;right:12px}.note-dock.collapsed{width:auto;left:auto;right:max(14px,50vw - 590px);transform:none}.note-dock.collapsed .note-toggle{position:static;box-shadow:0 3px 15px #42332225}.note-unread{color:#fffaf1;background:var(--sage);border-radius:9px;padding:2px 6px;font-size:10px}.dpad{flex-direction:column;align-items:center;gap:4px;display:flex}.dpad>div{gap:4px;display:flex}.dpad button{touch-action:none;border-radius:6px;width:30px;height:28px;padding:3px;font-size:15px}.inventory-section{margin:23px 0 15px}.inventory-heading{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.inventory-heading h2{letter-spacing:.06em;margin:0;font-size:13px;font-weight:500}.inventory-heading h2 span{background:#e9e0d0;border-radius:15px;margin-left:7px;padding:1px 6px;font-size:10px}.inventory-heading p{color:var(--muted);margin:0;font-size:10px}.inventory{grid-template-columns:repeat(6,1fr);gap:10px;min-height:105px;display:grid}.inventory-slot{background:#fbf7ef;border:1px dashed #d9cfbd;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;min-height:105px;padding:8px 4px;font-size:10px;display:flex;position:relative}.inventory-slot.empty{color:#c9bca7;pointer-events:none}.inventory-slot.selected{background:#edf0df;border:2px solid #7f9063}.inventory-slot .item-name{margin-top:3px}.item-sprite{background-image:url(../assets/items.webp);background-repeat:no-repeat;background-size:300% 200%;width:62px;height:62px;display:block}.inventory-slot .item-sprite{height:64px}.inventory-slot .tag{color:var(--sage);font-size:9px;position:absolute;top:5px;right:7px}footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;font-size:9px;display:flex}footer>div{align-items:center;gap:13px;display:flex}.loading,.ending{z-index:8;text-align:center;background:#f8f1e7f2;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.loading-flower{color:#ad895f;font-size:42px;animation:8s linear infinite spin}.loading h2{font-size:19px}.loading p{padding:0 20px;font-size:12px;line-height:1.7}@keyframes spin{to{transform:rotate(360deg)}}.fade{opacity:0;pointer-events:none;z-index:7;background:#eee5d7;transition:opacity .24s;position:absolute;inset:0}.ending{color:#fff5df;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:#182d405e;align-items:flex-end;padding-right:9%}.ending h2{margin:9px 0;font-family:Yu Mincho,serif;font-size:29px;font-weight:500;line-height:1.8}.ending p{font-size:12px;line-height:2}.ending .eyebrow{color:#f4e3c5}.ending button,.ending .share-button{background:#faf1df;margin-top:12px}.ending-actions{align-items:center;gap:8px;display:flex}.share-button{border:1px solid var(--line);color:var(--ink);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:10px 17px;text-decoration:none;display:inline-flex}.ending .share-button:hover{background:#eee4d3}.inspect-dialog,.help-dialog{color:var(--ink);background:#fcf6eb;border:1px solid #e1d6c5;border-radius:15px;width:min(610px,94vw);max-height:90dvh;padding:25px;overflow:auto;box-shadow:0 20px 90px #211b1566}.inspect-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#28201ab0}.help-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#28201ab0}.detail-top{justify-content:space-between;align-items:center;display:flex}.close-button{background:0 0;border-radius:50%;width:31px;height:31px;padding:0;font-size:23px;line-height:1}.inspect-dialog h2{margin:8px 0 17px;font-family:Yu Mincho,serif;font-size:22px}.detail-art{background-repeat:no-repeat;background-size:280%;border-radius:10px;height:280px;position:relative;overflow:hidden;box-shadow:inset 0 0 40px #38291722}.detail-art.locked #detail-veil{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:linear-gradient(90deg,#858e7eaa 49%,#624c33 49% 51%,#858e7eaa 51%);border:12px solid #57422e;position:absolute;inset:12% 18%;box-shadow:inset 0 0 35px #e4ead199}.pickup{background:#fff7deeb;border:1px solid #e6c380;border-radius:12px;flex-direction:column;align-items:center;padding:15px 24px;font-size:12px;display:flex;position:absolute;top:45%;left:50%;transform:translate(-50%,-25%);box-shadow:0 6px 30px #382b2166}.pickup:hover{background:#fff4d4;transform:translate(-50%,-25%)scale(1.035)}.pickup .item-sprite{width:100px;height:100px}.inspect-dialog>p{min-height:38px;font-size:13px;line-height:1.9}.inspect-dialog>.inspect-dismiss-hint{min-height:0;color:var(--muted);margin:8px 0 14px;font-size:11px}.primary-button{background:var(--sage);color:#fff7e8;border-color:var(--sage)}.primary-button:hover{background:#65765c}.help-dialog{max-width:510px;padding:30px}.help-dialog>.close-button{float:right}.help-dialog h2{font-family:Yu Mincho,serif;font-size:24px;line-height:1.7}.help-dialog ol{margin:20px 0 27px;padding-left:23px}.help-dialog li{padding:5px;font-size:12px;line-height:1.8}.help-dialog b{font-weight:600;display:block}.help-dialog>p{font-size:13px;line-height:1.8}@media (min-width:1450px){.app-shell{max-width:1320px}}@media (max-width:700px){.app-shell{padding:16px 13px}.brand-mark{font-size:31px}.brand{gap:8px}h1{letter-spacing:.03em;font-size:17px}.eyebrow{font-size:8px}.masthead{padding-bottom:15px}.masthead>.quiet-button{padding:5px;font-size:10px}.chapter-row{padding:15px 0 10px}.room-subtitle{display:none}.goal small{margin-left:3px;font-size:8px}.chapter-row>div{gap:9px}.stage{border-radius:8px}.hotspot{gap:3px;padding:5px 6px;font-size:9px}.hotspot:before{width:13px;height:13px;font-size:10px}.scene-caption{max-width:calc(100% - 180px);padding:5px 8px;font-size:8px;top:7px;left:7px}.room-shortcuts{gap:2px;padding:2px;top:6px;right:6px}.room-shortcuts button{padding:6px 8px;font-size:11px}.view-controls{flex-wrap:wrap;gap:5px;margin:10px 0}.view-actions{justify-content:space-between;gap:4px;width:100%;font-size:10px}.below-stage{gap:8px}.sound-controls{width:100%}.ending-promo{padding:17px}.ending-promo h2{font-size:17px}.promo-links{grid-template-columns:1fr}.movement-tip{font-size:10px}.note-panel{padding:13px 15px 15px}.note-panel p{font-size:12px}.note-speaker{margin-right:103px;font-size:13px}.note-speaker small{display:none}.note-toggle{padding:7px 10px;top:8px;right:9px}.inventory-heading{align-items:flex-start;gap:10px}.inventory-heading p{max-width:62%;font-size:9px;line-height:1.6}.inventory{grid-template-columns:repeat(3,1fr);gap:7px}.inventory-slot{min-height:96px}.inventory-section{margin-top:17px}footer{flex-direction:column;align-items:flex-start;gap:5px;font-size:8px}footer>div{justify-content:space-between;width:100%}.detail-art{height:220px}.ending{padding-right:5%}.ending h2{font-size:17px}.ending p{font-size:10px}.ending button,.ending .share-button{margin-top:0;padding:7px 12px;font-size:10px}.ending .eyebrow{font-size:8px}}@media (prefers-reduced-motion:reduce){*,:before{transition:none!important;animation:none!important}}.ending button{color:var(--ink)}.room-nav{color:var(--muted);justify-content:space-between;gap:16px;margin-bottom:18px;font-size:12px;display:flex}.room-nav a{color:var(--sage);text-underline-offset:4px}
