:root{font-family:Trebuchet MS,Arial,sans-serif;color:#173e43;background:#d6e7db;font-synthesis:none;--ink:#173e43;--cream:#fff7e5;--lime:#bef47b;--pink:#f4a5ad;--line:rgba(23,62,67,.16)}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,a,summary{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{cursor:pointer;color:inherit;touch-action:manipulation}button{border:0}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #cf4c5c;outline-offset:4px}button:hover{filter:brightness(.97)}button:active{transform:translateY(1px)}.hidden{display:none!important}#app{height:100dvh;min-height:520px;position:relative;background:radial-gradient(ellipse at 62% 54%,#e4eedb 5%,#c4ddd2 58%,#afcec7)}.topbar{position:absolute;z-index:10;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:22px 34px}.brand{display:flex;gap:12px;align-items:center;color:var(--ink);text-decoration:none;font-weight:900;font-size:13px;letter-spacing:1.4px;line-height:1.4}.brand small{display:block;font-size:8px;letter-spacing:1.7px;font-weight:700}.brand-mark{position:relative;background:var(--ink);color:var(--lime);border-radius:13px;width:43px;height:43px;display:grid;place-content:center;font-weight:900;font-size:24px;letter-spacing:-3px;padding-right:3px;transform:rotate(-5deg)}.brand-mark span{position:absolute;font-size:25px;top:-6px;right:7px;letter-spacing:0}.header-right{display:flex;gap:9px;align-items:center}.free-tag{font-size:10px;letter-spacing:1px;font-weight:800;background:#fff7e5a6;border:1px solid var(--line);padding:10px 13px;border-radius:30px}.free-tag b{font-size:15px;margin-left:9px}.icon-btn{height:42px;min-width:42px;border-radius:50%;background:var(--cream);font-size:19px;border:1px solid var(--line);display:grid;place-items:center}main{height:100%;position:relative}.world{position:absolute;inset:85px 0 118px}.world canvas{display:block;width:100%;height:100%;outline:none}#hotspots{position:absolute;inset:0;pointer-events:none}.hotspot{pointer-events:auto;position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;gap:6px;border-radius:25px;padding:4px;background:transparent;min-height:44px;min-width:44px;white-space:nowrap}.hotspot:active{transform:translate(-50%,-50%)}.hotspot-dot{background:var(--cream);border:2px solid #fff;box-shadow:0 3px 12px #173e4326;width:31px;height:31px;border-radius:50%;display:grid;place-items:center;font-size:19px;font-weight:900}.hotspot-label{font-size:10px;font-weight:800;letter-spacing:.3px;padding:7px 10px;background:var(--cream);border-radius:22px;box-shadow:0 3px 12px #173e431a;opacity:0;max-width:0;overflow:hidden;transition:opacity .2s}.hotspot:hover .hotspot-label,.hotspot:focus-visible .hotspot-label,.hotspot.target .hotspot-label{opacity:1;max-width:160px}.hotspot.target .hotspot-dot{background:var(--lime);border-color:var(--ink);box-shadow:0 0 0 5px #bef47b55}.objective{position:absolute;z-index:3;top:108px;left:35px;width:270px;pointer-events:none}.eyebrow{font-size:9px;letter-spacing:1.6px;font-weight:900;line-height:1.5}.objective h1{font-size:31px;line-height:1.02;letter-spacing:-1.5px;margin:11px 0 13px;font-weight:900}.objective p{font-size:12px;line-height:1.55;margin:0;max-width:250px}.progress{display:flex;gap:5px;margin-top:18px}.progress i{display:block;width:27px;height:5px;background:#173e4320;border-radius:5px}.progress i.active{background:var(--ink)}body:not(.playing) .objective,body:not(.playing) .dock,body:not(.playing) .dialogue,body:not(.playing) .view-controls,body:not(.playing) .save-status{visibility:hidden}.start{position:absolute;z-index:4;top:24%;left:6%;width:345px}.start h2{font-size:48px;letter-spacing:-2.7px;line-height:1.03;font-weight:900;margin:16px 0 20px}.start h2 em{font-family:Georgia,serif;font-weight:400;color:#a54656}.start p{font-size:14px;line-height:1.6;max-width:300px;margin:0 0 22px}.primary{background:var(--ink);color:var(--cream);padding:15px 22px;border-radius:17px;min-height:51px;font-weight:800;font-size:14px;display:flex;align-items:center;justify-content:space-between;gap:30px;box-shadow:0 4px #173e431a}.primary span{color:var(--lime);font-size:22px;line-height:1}.start .primary{width:260px;background:var(--ink)}.start-meta{font-size:10px;line-height:1.6;display:block;font-weight:700;letter-spacing:.5px;margin-top:19px}.start .fiction-note{font-size:9px;line-height:1.5;opacity:.65;margin-top:22px}.view-controls{position:absolute;right:34px;bottom:220px;display:flex;align-items:center;gap:9px;z-index:3}.view-controls button{border:1px solid var(--line);background:#fff7e599;width:42px;height:42px;border-radius:50%;font-size:23px}.view-controls span{font-size:8px;letter-spacing:1px;font-weight:900}.call{position:absolute;right:34px;top:102px;width:205px;background:var(--cream);border:3px solid var(--cream);border-radius:21px;overflow:hidden;box-shadow:0 10px 30px #173e4326;z-index:5;transform:rotate(2deg)}.call-top{padding:10px 9px;font-size:8px;letter-spacing:1px;font-weight:900;display:flex;align-items:center;gap:6px}.live-dot{width:5px;height:5px;background:#c65362;border-radius:50%}.signal{margin-left:auto;color:#7a987d}.portrait{height:169px;width:100%;border-radius:12px;overflow:hidden;background:#e8b4aa}.portrait canvas{display:block;max-width:100%}.call-name{padding:10px 9px 6px}.call-name strong{font-size:11px;display:block}.call-name span{font-size:8px;display:block;margin-top:3px;color:#5d7778}.call-bottom{display:flex;justify-content:center;gap:12px;padding:6px 0 9px}.call-bottom span{width:24px;height:24px;background:#e6eadc;display:grid;place-items:center;border-radius:50%;font-size:12px}.call-bottom .end-call{background:#e7a1a5;color:#923448}.dialogue{position:absolute;bottom:111px;left:50%;transform:translate(-50%);width:min(730px,calc(100% - 68px));background:var(--cream);border-radius:20px;padding:16px 19px;display:flex;gap:15px;align-items:center;box-shadow:0 6px 24px #173e4310;z-index:6;min-height:83px}.speaker-badge{background:var(--pink);flex:0 0 42px;height:42px;border-radius:13px;display:grid;place-items:center;font-size:22px}.dialogue-copy{flex:1}.dialogue-copy span{font-weight:900;font-size:9px;letter-spacing:1px}.dialogue-copy p{font-size:13px;line-height:1.45;margin:4px 0 0}.dialogue .icon-btn{background:var(--lime);border:0;flex:0 0 38px;min-width:38px;height:38px}.dock{position:absolute;bottom:43px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:12px;z-index:6;white-space:nowrap}.dock .primary{min-width:220px;background:var(--lime);color:var(--ink);box-shadow:none;border:1px solid var(--ink)}.dock .primary span{color:var(--ink)}.dock-btn{background:transparent;font-size:20px;padding:12px;min-height:48px;display:flex;align-items:center;gap:8px}.dock-btn span{font-size:11px;font-weight:800}.save-status{position:absolute;bottom:15px;left:0;right:0;text-align:center;font-size:7px;font-weight:800;letter-spacing:1.5px;opacity:.45}.modal-backdrop{position:fixed;inset:0;background:#153c4360;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);z-index:30;display:flex;justify-content:center;align-items:center;padding:22px}.panel{position:relative;width:450px;max-height:calc(100dvh - 44px);background:var(--cream);border-radius:26px;box-shadow:0 24px 80px #10292c44;overflow:auto;padding:31px;overscroll-behavior:contain}.close-btn{position:absolute;right:13px;top:12px;width:38px;height:38px;display:grid;place-items:center;font-size:26px;background:#173e430b;border-radius:50%;z-index:1}.panel .eyebrow{max-width:calc(100% - 12px);padding-right:20px;color:#627b77}.panel h2{font-size:29px;letter-spacing:-1.2px;line-height:1.1;margin:12px 24px 15px 0}.panel p{font-size:13px;line-height:1.6}.full{width:100%;margin-top:12px}.secondary{background:#e7ecda;min-height:44px;border:1px solid var(--line);border-radius:12px;font-size:12px;font-weight:800;padding:11px 14px}.text-btn{background:transparent;min-height:44px;font-size:11px;font-weight:800;text-decoration:underline;text-underline-offset:4px;width:100%;margin-top:3px}.microcopy{font-size:10px!important;opacity:.7;line-height:1.5!important}.meal-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.meal-option{border:2px solid transparent;border-radius:15px;background:#e9ebdb;min-height:135px;padding:14px 8px}.meal-option.selected{border-color:var(--ink);background:#dbefbc}.meal-option span{display:block;font-size:38px;margin-bottom:9px}.meal-option b{display:block;font-size:12px}.meal-option small{display:block;font-size:11px;margin-top:7px}.order-list{margin-top:18px}.order-list>div{display:flex;justify-content:space-between;padding:9px 4px;font-size:12px;border-bottom:1px dashed var(--line)}.order-list .free-line{background:var(--lime);border-radius:8px;padding:12px 8px;margin-top:4px;border-bottom:0}.total{font-weight:900;font-size:15px!important;margin-top:5px}.delivery-illustration{margin:8px auto 16px;background:#d74d47;width:95px;height:105px;display:grid;place-content:center;color:#ffcf45;font-size:64px;font-weight:900;border-radius:4px 4px 15px 15px;transform:rotate(-5deg);box-shadow:7px 8px #d6b487}.delivery-illustration span{font-size:12px;color:var(--ink);background:var(--lime);padding:7px 10px;position:absolute;bottom:-10px;right:-40px;border-radius:18px;transform:rotate(5deg)}blockquote{font-family:Georgia,serif;font-style:italic;font-size:15px;line-height:1.5;margin:16px 0;padding:14px 16px;border-left:3px solid #d5a0a5;background:#f6e9dc;border-radius:0 12px 12px 0}.receipt-paper{background:#fffdf6;padding:23px 20px;border:1px solid #e5decc;box-shadow:2px 6px #e5decc;transform:rotate(-1deg);font-family:monospace}.receipt-brand{font-family:Arial,sans-serif;text-align:center;color:#c14344;font-size:35px;font-weight:900}.receipt-brand span{display:block;font-size:10px;color:var(--ink);margin:6px 0 15px}.receipt-row{display:flex;justify-content:space-between;font-size:12px;padding:12px 0;border-top:1px dashed #183e4330;align-items:center}.receipt-row span span{display:block;font-size:16px;letter-spacing:5px;margin-bottom:6px}.water-row{background:#ebf6d4;padding:12px 6px}.receipt-riddle{font-size:11px!important;line-height:1.7!important;background:#f4eee0;padding:12px}.receipt-riddle b{display:block;margin-top:8px}.friend-photo{background:var(--pink);border:8px solid white;box-shadow:3px 4px #d8d3c3;transform:rotate(-3deg);padding:20px 5px;text-align:center;margin:20px 0 24px}.friend-photo>span{display:block;font-size:53px}.friend-photo b{display:block;font-size:12px;letter-spacing:2px;margin:10px 0 5px}.friend-photo small{font-size:8px}.handshake-note{display:flex;justify-content:center;gap:11px;align-items:center;font-weight:900;font-size:13px;margin:20px 0}.handshake-note span{background:var(--lime);padding:15px;border-radius:50%}.handshake-note i{font-style:normal}.cap-icon{font-size:62px;text-align:center}.cap-icon span{font-size:18px;font-weight:900;background:var(--lime);border-radius:50%;padding:12px}form label{display:block;font-size:11px;font-weight:900;margin:19px 0 10px}input{background:#fff;border:2px solid var(--line);border-radius:13px;padding:14px;width:100%;font-size:26px;text-align:center;letter-spacing:13px;color:var(--ink);min-height:59px}.feedback{font-size:11px!important;min-height:34px;color:#546e6b}.question-row{display:flex;gap:9px}.question-row button{flex:1;font-size:10px}.beat-slots{background:#e6ecd7;border-radius:13px;text-align:center;padding:18px 5px;font-weight:900;font-size:17px;letter-spacing:2px}.beat-buttons{display:flex;gap:12px;margin-top:12px}.beat-buttons button{flex:1;border:2px solid var(--ink);border-radius:16px;font-weight:900;min-height:110px;padding:12px;font-size:16px}.pop-btn{background:#b1dad6}.fizz-btn{background:var(--lime)}.beat-buttons span{display:block;font-size:32px}.beat-buttons small{display:block;font-size:8px;margin-top:6px;font-weight:700}.pipe-board{display:flex;align-items:flex-start;justify-content:center;gap:8px;margin:24px -6px}.inlet,.outlet{font-size:9px;font-weight:900;line-height:1.5;margin-top:35px;min-width:34px;text-align:center}.pipes{display:grid;grid-template-columns:repeat(2,1fr);gap:0;width:236px;border:6px solid #dce5cf;border-radius:14px;overflow:hidden;background:#dce5cf}.pipe{background:#b7d6cb;padding:0;border:2px solid #dce5cf;aspect-ratio:1;min-width:0;min-height:44px}.pipe svg{display:block;width:100%;height:100%;transition:transform .2s;fill:var(--ink)}.pipe-shadow{fill:none;stroke:#6c9d90;stroke-width:31}.pipe-line{fill:none;stroke:var(--cream);stroke-width:20}.pipe[data-rotation] circle{fill:var(--cream);stroke:#6c9d90;stroke-width:3}.ending-stamp{display:flex;justify-content:center;align-items:center;gap:13px;background:var(--lime);border:2px solid var(--ink);border-radius:16px;padding:20px 10px;text-align:center;font-size:26px;transform:rotate(-2deg);margin:22px 0}.ending-stamp span{font-size:13px;font-weight:900;line-height:1.6;letter-spacing:2px}.ending-stats{display:grid;grid-template-columns:repeat(3,1fr);text-align:center;margin:20px 0;padding:17px 0;border-block:1px dashed var(--line)}.ending-stats b{display:block;font-size:23px}.ending-stats span{display:block;font-size:8px;margin-top:5px}.explore-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.explore-grid button{text-align:left;display:flex;gap:8px;align-items:center;min-height:57px}.explore-grid span{font-size:21px}details{font-size:11px;margin-top:22px;line-height:1.6}summary{cursor:pointer;font-weight:900;padding:10px}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:26px;padding:14px 20px;background:var(--ink);color:var(--cream);z-index:50;border-radius:15px;font-size:12px}.fallback-art{position:absolute;left:45%;top:40%;width:260px;background:var(--cream);border-radius:25px;padding:20px;text-align:center}.fallback-art>span{display:block;font-size:70px}.fallback-art b{font-size:15px}.fallback-art p{font-size:12px;line-height:1.5}@media(min-width:1450px){.world{inset:85px 4% 118px}.objective{left:4%;width:295px}.objective h1{font-size:37px}.start{left:8%;width:370px}.start h2{font-size:54px}.call{right:4%;width:220px}.portrait{height:195px}}@media(max-width:1050px){.objective{width:215px;left:24px}.objective h1{font-size:26px}.objective p{font-size:11px}.call{right:24px;width:168px}.portrait{height:135px}.start{left:4%;width:290px}.start h2{font-size:40px}.start p{font-size:12px;max-width:240px}.topbar{padding:18px 24px}.view-controls{right:24px}.world{inset:100px 0 118px}}@media(max-width:650px){#app{min-height:480px}.topbar{padding:12px 15px;gap:6px}.brand{font-size:9px;gap:7px;letter-spacing:1px}.brand small{font-size:6px;letter-spacing:.7px}.brand-mark{width:35px;height:35px;font-size:21px;border-radius:10px}.header-right{gap:5px}.free-tag{font-size:7px;padding:8px 7px;letter-spacing:0}.free-tag b{font-size:12px;margin-left:3px}.header-right .icon-btn{height:36px;min-width:36px;font-size:17px}.objective{top:74px;left:17px;width:calc(100% - 160px)}.objective .eyebrow{font-size:7px;letter-spacing:.8px}.objective h1{font-size:24px;letter-spacing:-1px;margin:10px 0 9px}.objective p{font-size:10px;line-height:1.45}.progress{margin-top:10px;gap:4px}.progress i{width:22px;height:4px}.world{inset:186px -15% 179px}.call{top:72px;right:14px;width:127px;border-radius:15px;border-width:2px;transform:rotate(1deg)}.call-top{font-size:6px;letter-spacing:.4px;padding:7px}.portrait{height:101px;border-radius:9px}.call-name{padding:7px 5px 3px}.call-name strong{font-size:8px}.call-name span{font-size:6px;line-height:1.5}.call-bottom{padding:3px 0 6px;gap:9px}.call-bottom span{width:19px;height:19px;font-size:10px}.hotspot-dot{width:27px;height:27px;font-size:17px}.hotspot-label{font-size:8px;padding:6px 7px}.hotspot{gap:3px}.hotspot:not(.target) .hotspot-label{display:none}.dialogue{bottom:113px;width:calc(100% - 28px);padding:12px;gap:9px;min-height:95px;border-radius:17px}.speaker-badge{flex-basis:32px;height:32px;font-size:18px;border-radius:10px}.dialogue-copy p{font-size:11px;line-height:1.5}.dialogue-copy span{font-size:7px;letter-spacing:.7px}.dialogue .icon-btn{flex-basis:31px;min-width:31px;height:36px}.dock{bottom:35px;gap:5px;width:calc(100% - 24px);justify-content:space-between}.dock .primary{min-width:0;width:180px;padding:13px 14px;font-size:11px;gap:5px;min-height:49px;border-radius:14px}.dock-btn{padding:5px;flex-direction:column;gap:3px;font-size:18px;width:65px}.dock-btn span{font-size:7px;white-space:normal;text-align:center}.view-controls{bottom:218px;right:17px;gap:6px}.view-controls button{width:34px;height:34px;font-size:20px}.view-controls span{font-size:6px}.save-status{font-size:6px;bottom:14px}.start{left:22px;top:83px;width:calc(100% - 44px)}.start h2{font-size:38px;max-width:320px;margin:10px 0 12px}.start p{font-size:12px;max-width:300px;margin-bottom:15px}.start .primary{width:225px;min-height:48px;font-size:13px}.start-meta{font-size:8px;margin-top:13px}.start .fiction-note{font-size:7px;max-width:280px;margin-top:10px}body:not(.playing) .world{inset:330px -22% 15px}.modal-backdrop{padding:12px}.panel{padding:25px 23px;border-radius:22px;max-height:calc(100dvh - 24px);width:100%}.panel h2{font-size:26px}.panel p{font-size:12px}.panel .eyebrow{font-size:8px}.pipes{width:220px}.pipe-board{margin-inline:-9px}.inlet,.outlet{font-size:8px;min-width:27px}.fallback-art{left:15%;top:45%;width:70%}.question-row button{font-size:9px}.panel input{font-size:26px}.receipt-paper{padding:18px 15px}}@media(max-height:620px)and (min-width:651px){.objective{top:86px}.objective h1{font-size:24px}.objective p{font-size:10px}.call{top:87px;width:145px}.portrait{height:95px}.call-bottom{display:none}.world{inset:55px 0 100px}.start{top:20%;width:280px}.start h2{font-size:36px}.start p{font-size:11px}.start-meta,.start .fiction-note{margin-top:10px}.dialogue{bottom:87px;min-height:69px;padding:10px 14px}.dock{bottom:23px}.save-status{bottom:5px}.view-controls{bottom:167px}}@media(max-width:650px)and (max-height:690px){.objective{top:66px}.objective h1{font-size:20px;margin:6px 0}.objective p{font-size:9px}.world{inset:164px -17% 180px}.call{top:64px;width:115px}.portrait{height:76px}.call-bottom{display:none}.view-controls{bottom:217px}.start h2{font-size:31px}.start p{font-size:10px}.start-meta{display:none}.start .fiction-note{margin-top:12px}body:not(.playing) .world{inset:300px -25% 0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}#app{overflow:hidden}[hidden]{display:none!important}@media(min-width:651px){body:not(.playing) .world{left:20%}}@media(max-width:650px){.header-right .icon-btn{height:44px;min-width:44px}}.world,body:not(.playing) .world{inset:0}.world canvas{touch-action:none}.topbar{padding:18px 28px;background:linear-gradient(#c8dfd4dd,transparent)}.objective{top:96px;left:28px;width:270px;background:#fff7e5e8;padding:17px 18px;border-radius:19px;box-shadow:0 3px 18px #173e4310}.objective h1{font-size:26px;margin:9px 0 10px}.objective p{font-size:11px}.progress{margin-top:12px}.call{pointer-events:none;right:28px;top:96px;width:183px}.portrait{height:145px}.minimap{position:absolute;left:28px;top:310px;width:132px;padding:12px;border-radius:16px;background:#fff7e5df;z-index:4;pointer-events:none;box-shadow:0 4px 20px #173e4310}.minimap>span{font-size:6px;font-weight:900;letter-spacing:.8px;display:block;margin-bottom:7px}.minimap small{display:block;font-size:7px;font-weight:800;margin-top:7px;line-height:1.4}.map-room{height:86px;background:#efcb96;border:3px solid #679b8d;border-radius:4px;position:relative}.map-room i{position:absolute;background:#6e9e91;border:1px solid #fff8}.map-sofa{left:32%;top:9%;width:25%;height:15%}.map-table{left:47%;top:43%;width:22%;height:16%}.map-phone{left:10%;top:55%;width:8%;height:9%}.map-spa{left:81%;top:76%;width:10%;height:11%}.map-player{position:absolute;font-size:14px;color:#c34758;line-height:1;text-shadow:0 0 2px white}.map-goal{position:absolute;font-size:15px;color:#173e43;transform:translate(-50%,-50%);line-height:1}.hotspot{min-width:44px;min-height:44px}.hotspot .hotspot-label{opacity:1;max-width:160px;font-size:10px}.hotspot-dot{background:var(--lime)}.hotspot.target{z-index:2}.dialogue{bottom:94px;min-height:70px;padding:12px 15px;background:#fff7e5ef}.dialogue-copy p{font-size:12px}.dock{bottom:27px;gap:14px}.dock .primary{min-width:225px;border-width:2px}.dock .primary .interact-copy{color:var(--ink);font-size:12px;line-height:1.2}.interact-key{height:28px;min-width:28px;display:grid;place-content:center;font-size:13px!important;border:1px solid #173e4350;border-radius:7px}.control-help{position:absolute;bottom:7px;left:0;right:0;text-align:center;font-size:7px;font-weight:900;letter-spacing:.65px;z-index:8;text-shadow:0 0 5px #fff}.save-status{bottom:77px;left:auto;right:28px;font-size:6px;letter-spacing:.8px}.view-controls{right:28px;bottom:205px;gap:7px}.view-controls button{background:#fff7e5dd;width:44px;height:44px}.joystick{display:none;position:absolute;left:24px;bottom:185px;width:108px;height:108px;border:2px solid #fff9;border-radius:50%;background:#173e4326;z-index:9;touch-action:none;-webkit-user-select:none;user-select:none}.stick-knob{position:absolute;left:50%;top:50%;width:44px;height:44px;background:#fff7e5db;border:2px solid #173e4344;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 3px 8px #173e4322;pointer-events:none}.joystick small{position:absolute;bottom:-19px;left:0;right:0;text-align:center;font-size:7px;font-weight:900;letter-spacing:1.5px}.look-label{display:none;position:absolute;bottom:182px;right:20px;font-size:6px;font-weight:900;letter-spacing:.7px;z-index:3;pointer-events:none;text-shadow:0 0 4px white}.start{padding:27px 29px;width:375px;border-radius:27px;background:#fff7e5eb;box-shadow:0 12px 50px #173e4320;left:5%;top:23%}.start h2{font-size:43px;margin:12px 0 16px}.start .fiction-note{margin-bottom:0}.start-meta{margin-top:14px}.code-digits{display:flex;justify-content:center;gap:12px;margin-top:14px}.code-digit{height:55px;width:65px;background:#e6eccf;border:2px solid #173e4320;border-radius:13px;font-size:27px;font-weight:900}.pad-prompt{display:none;font-style:normal;font-size:8px;border:1px solid currentColor;border-radius:3px;padding:1px 3px;margin-left:3px}body[data-input=gamepad] .pad-prompt{display:inline-block}body[data-input=gamepad] button:focus,body[data-input=gamepad] summary:focus,body[data-input=gamepad] a:focus{outline:4px solid #ca435d;outline-offset:3px;box-shadow:0 0 0 7px #ca435d20}body[data-input=gamepad] #start-game>span{font-size:0}body[data-input=gamepad] #start-game>span:after{content:"A";font-size:20px;border:1px solid var(--lime);padding:4px 8px;border-radius:50%}body[data-input=gamepad] #dialogue-next{font-size:0}body[data-input=gamepad] #dialogue-next:before{content:"X";font-size:14px;font-weight:900}body[data-input=gamepad] .panel{padding-bottom:65px}body[data-input=gamepad] .panel:after{content:"A CONFIRM   B BACK   D-PAD NAVIGATE   LB/RB FOCUS";display:block;position:sticky;bottom:-50px;margin-top:20px;background:var(--ink);color:var(--cream);padding:12px 8px;border-radius:12px;text-align:center;font-size:8px;font-weight:900;letter-spacing:.3px;z-index:2}body:not(.playing) .minimap,body:not(.playing) .joystick,body:not(.playing) .look-label,body:not(.playing) .control-help{display:none}body[data-menu=open] .joystick{pointer-events:none;opacity:.35}@media(max-width:650px){.topbar{padding:10px 14px}.objective{top:70px;left:14px;width:calc(100% - 155px);padding:10px 11px;border-radius:14px}.objective h1{font-size:19px;line-height:1.08;margin:6px 0}.objective p{font-size:9px;line-height:1.4}.objective .eyebrow{font-size:6px;letter-spacing:.6px}.progress{margin-top:8px}.call{top:71px;right:12px;width:124px}.portrait{height:88px}.call-bottom{display:none}.call-name strong{font-size:8px}.call-name span{font-size:6px}.minimap{top:239px;left:14px;width:89px;padding:8px;border-radius:12px}.map-room{height:55px;border-width:2px}.minimap>span{font-size:4px;letter-spacing:.3px}.minimap small{font-size:5px}.map-player,.map-goal{font-size:12px}.joystick{display:block;left:18px;bottom:187px;width:99px;height:99px}.look-label{display:block;bottom:182px}.view-controls{bottom:209px;right:18px;gap:5px}.view-controls button{width:37px;height:40px;min-height:40px;font-size:20px}.dialogue{bottom:95px;min-height:72px;max-height:94px;width:calc(100% - 24px);padding:10px 11px;gap:8px}.dialogue-copy p{font-size:10px;line-height:1.45}.dialogue-copy span{font-size:6px}.speaker-badge{flex-basis:28px;height:28px;font-size:16px}.dock{bottom:28px;gap:6px;width:calc(100% - 20px)}.dock .primary{width:181px;min-width:0;padding:12px 11px;gap:7px;min-height:48px}.dock .primary .interact-copy{font-size:10px}.dock-btn{width:66px}.dock-btn span{font-size:7px}.control-help{font-size:5px;bottom:10px;letter-spacing:.2px}.save-status{display:none}.hotspot .hotspot-label{font-size:8px}.start{top:83px;left:18px;width:calc(100% - 36px);padding:20px}.start h2{font-size:34px}.start p{font-size:11px}.start-meta{display:block;font-size:8px}.start .fiction-note{font-size:7px;max-width:270px}.panel .code-digits{gap:10px}.code-digit{height:52px;width:59px}body[data-input=gamepad] .joystick,body[data-input=gamepad] .look-label{display:none}}@media(max-width:650px)and (max-height:690px){.minimap{top:215px;width:77px}.map-room{height:43px}.objective{top:67px}.objective h1{font-size:17px}.objective p{font-size:8px}.call{top:67px;width:116px}.portrait{height:74px}.joystick{bottom:186px;width:88px;height:88px}.start{top:78px;padding:17px}.start h2{font-size:30px}.start p{font-size:10px}.start-meta{font-size:7px}.start .fiction-note{margin-top:9px}.control-help{font-size:4px}}
