@font-face{font-family:system-ui;src:local('Avenir Next')}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;touch-action:pan-y;background:#e9e4d5;color:#153f47;font-family:'Avenir Next',Avenir,system-ui,sans-serif}button,input{font:inherit}button{cursor:pointer;color:inherit;border:0}button:focus-visible,canvas:focus-visible,summary:focus-visible{outline:3px solid #e78658;outline-offset:4px}button:disabled{opacity:.5;cursor:default}button,a,input,select{touch-action:manipulation}[hidden]{display:none!important}#game,#scene{position:relative;width:100%;height:100%;display:block}body.game-playing,body.game-playing #game,body.game-playing #scene,body.game-playing #game-hud{touch-action:none}#game-hud{position:absolute;inset:0 0 auto;z-index:3;display:flex;align-items:flex-start;justify-content:space-between;padding:28px 34px;pointer-events:none}.identity{filter:drop-shadow(0 1px 7px #fff9)}.eyebrow{font-size:10px;letter-spacing:.19em;font-weight:800}h1{font-size:48px;font-weight:750;line-height:1.08;letter-spacing:-.055em;margin:8px 0 4px}h1 span{display:inline-block;margin-left:10px;font-size:32px;color:#cc7550}.identity p{font-size:13px;margin:0;color:#45636b}.views{pointer-events:auto;display:flex;align-items:center;padding:5px;background:#fcfaf2e8;box-shadow:0 4px 22px #163c4a16;border:1px solid #fff8;border-radius:28px;gap:2px}.views button{padding:10px 17px;border-radius:22px;background:transparent;font-size:12px;font-weight:650}.views button[aria-pressed=true]{background:#245760;color:#fff9e9}.views #pause{width:37px;padding:10px 0;font-size:15px}#loading{position:absolute;inset:0;z-index:10;background:#f4efe3;display:grid;place-content:center;text-align:center;color:#315961}#loading p{font-size:14px;letter-spacing:.03em}.loading-plane{font-size:42px;color:#c38544}#walk-guide{position:absolute;bottom:33px;left:34px;color:#24434b;display:flex;flex-direction:column;gap:6px;font-size:11px;text-shadow:0 1px 4px #fff}kbd{font-family:inherit;font-weight:700;font-size:10px;letter-spacing:.05em;background:#fff9ecb8;border:1px solid #fff9;padding:3px 5px;border-radius:4px;margin-right:5px}#interaction{position:absolute;right:34px;bottom:31px;display:flex;align-items:flex-end;flex-direction:column;gap:8px;z-index:4}#action-hint{font-size:12px;color:#25464e;background:#fff8e8c9;padding:7px 11px;border-radius:8px;margin:0;max-width:300px;text-align:right}#action{padding:15px 21px;border-radius:30px;background:#21545d;color:#fff9e9;box-shadow:0 4px 18px #244a5a30;font-size:13px;font-weight:700}#action kbd{color:#25464e;border:0;margin-right:9px}.study-label{position:absolute;bottom:9px;left:50%;transform:translateX(-50%);font-size:8px;letter-spacing:.16em;color:#37555c90;white-space:nowrap}#speech{position:absolute;top:24%;right:15%;width:230px;background:#fffbefee;border:1px solid #fff;border-radius:16px 16px 16px 3px;padding:13px 17px;box-shadow:0 8px 24px #0e3e4819;pointer-events:none}#speech span{font-size:8px;font-weight:800;letter-spacing:.16em;color:#a26f42}#speech p{font-size:14px;line-height:1.4;margin:4px 0 0}.game-menu{touch-action:pan-y}#pause-panel{position:absolute;inset:0;z-index:8;overflow-y:auto;background:#153e4766;backdrop-filter:blur(6px);display:grid;place-items:center;padding:22px}.pause-card{width:min(410px,100%);padding:32px;background:#fcf8ee;border:1px solid #fffc;border-radius:24px;box-shadow:0 20px 70px #163d4838;touch-action:pan-y}.pause-card h2{font-size:30px;letter-spacing:-.04em;margin:10px 0}.pause-card p{font-size:13px;line-height:1.6;color:#607278}.pause-card>button{width:100%;text-align:left;padding:15px 17px;margin:5px 0;border-radius:12px;background:#e7ece5;font-weight:650;font-size:13px}.pause-card #resume{background:#245760;color:#fff8e7}.pause-card #resume span{float:right}.setting{display:flex;align-items:center;justify-content:space-between;font-size:12px;margin:22px 3px}.setting input{width:18px;height:18px;accent-color:#245760}details{font-size:11px;border-top:1px solid #d8dfd9;padding-top:14px}summary{cursor:pointer}output{display:block;white-space:pre-line;line-height:1.7;margin-top:12px;font-variant-numeric:tabular-nums}.pause-card .small{font-size:10px}#joystick{display:none;position:absolute;bottom:31px;left:29px;width:106px;height:106px;border-radius:50%;background:#fff7df44;border:1px solid #fff8;touch-action:none;z-index:4}#joystick div{position:absolute;width:43px;height:43px;left:31px;top:31px;border-radius:50%;background:#245760aa;border:2px solid #fff8;pointer-events:none}html.page-zoomed,html.page-zoomed body,html.page-zoomed body *{touch-action:pan-x pan-y pinch-zoom!important}
@media(pointer:coarse){#joystick{display:block}#walk-guide{display:none}#action kbd{display:none}}
@media(max-width:760px){#game-hud{padding:20px;gap:14px}.eyebrow{font-size:8px}h1{font-size:35px}.identity p{font-size:10px}.views{padding:4px;flex-wrap:wrap;justify-content:flex-end;max-width:230px}.views button{padding:8px 11px;font-size:11px}.views #pause{width:30px}#interaction{right:20px;bottom:29px}#walk-guide{left:20px;font-size:10px}#speech{top:24%;right:8%;width:200px}#action-hint{max-width:210px;font-size:10px}.study-label{font-size:7px}}
@media(max-width:480px){#game-hud{padding:18px 15px}.views{max-width:150px;gap:1px;border-radius:18px}.views button{padding:7px 9px;font-size:10px}.identity p{max-width:140px}.views #pause{width:30px;padding:5px}h1{font-size:31px}h1 span{font-size:23px;margin-left:5px}#joystick{left:18px;bottom:30px;width:94px;height:94px}#joystick div{left:25px;top:25px}#interaction{right:15px}#action{font-size:11px;padding:14px 16px}#action-hint{max-width:210px}#speech{top:26%;right:5%;width:180px}.pause-card{padding:25px}}
@media(max-height:500px){#game-hud{padding:12px 20px}h1{font-size:30px}.identity p{display:none}#interaction{bottom:20px}#walk-guide{bottom:20px}#joystick{width:85px;height:85px;bottom:16px}#joystick div{left:20px;top:20px}#speech{top:27%;right:6%}}
@media(min-width:481px) and (max-width:760px){.views{max-width:285px;flex-wrap:nowrap}}
@media(max-width:480px){#game-hud{gap:8px}.identity{min-width:0}.views{max-width:140px}.identity .eyebrow{font-size:7px;letter-spacing:.15em}h1{font-size:28px}h1 span{display:none}}
