:root{font-family:Courier New,monospace;color:#ede8d6;background:#090d0c;font-synthesis:none}*{box-sizing:border-box}body{margin:0;overflow:hidden}canvas{display:block;width:100vw;height:100vh;image-rendering:pixelated}button,select,input{font:inherit}button{color:inherit;cursor:pointer;border:1px solid #789188;background:#112b29;padding:17px 23px;letter-spacing:2px;font-size:12px}button:hover,button:focus-visible{background:#17534b;border-color:#83e3c6}#vignette{position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at center,transparent 35%,#03080766 100%)}#title{position:fixed;inset:0;padding:9vh 7vw;background:linear-gradient(90deg,#061311eb 0%,#071310a0 33%,transparent 75%);display:flex;align-items:flex-start;flex-direction:column;justify-content:center}.edition{font-size:10px;letter-spacing:3px;color:#a4c5b9}h1{font-family:Georgia,serif;font-size:clamp(65px,9vw,144px);font-weight:400;line-height:.9;letter-spacing:-5px;margin:36px 0 20px;text-shadow:3px 3px #15201c}h1 span{display:block;font:italic .78em Georgia,serif;color:#d6cba9;letter-spacing:-4px;margin-top:8px}.subtitle{color:#b4baaa;font-size:13px;letter-spacing:2px;margin-bottom:35px}#start{min-width:258px;text-align:left}#start span{float:right;color:#76c4ad}.intro-controls{font-size:9px;line-height:2.3;letter-spacing:1px;color:#8faaa0;margin-top:25px}footer{position:absolute;bottom:30px;left:7vw;right:7vw;font-size:10px;letter-spacing:2px;display:flex;gap:10px;align-items:center}footer b{background:#b25832;border-radius:50%;padding:7px;color:#181c18}footer b.yellow{background:#b79c49}footer span{margin-left:auto;color:#83998c;font-size:9px}#pause,#dialog{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);background:#0a1918f5;border:1px solid #4a6458;padding:30px 36px;width:min(480px,94vw);max-height:94vh;overflow:auto;box-shadow:0 20px 100px #0009}h2{font:italic 38px Georgia,serif;margin:16px 0 24px;color:#e6dec4}label{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#b4c1b5;margin:15px 0;gap:12px}select{width:210px;background:#142c28;color:#dedbc5;border:1px solid #4a6458;padding:7px;font-size:10px}input{width:155px;accent-color:#50a492}#pause button{width:100%;margin-top:12px}.help{font-size:9px;line-height:2;color:#82998b}#dialog p{font-size:13px;line-height:1.9;color:#b9c7b9}#prompt{position:fixed;bottom:8vh;left:50%;transform:translate(-50%);padding:12px 20px;background:#0c1d1ae6;border:1px solid #5a7664;color:#e3dec7;font-size:11px;letter-spacing:1px;white-space:nowrap}#toast{position:fixed;top:25px;left:50%;transform:translate(-50%);color:#dddec8;font-size:10px;letter-spacing:2px;background:#0b1c19bb;padding:10px;opacity:0;transition:opacity .3s;pointer-events:none}[hidden]{display:none!important}@media(max-width:650px){footer span{display:none}.intro-controls{font-size:8px}#title{padding:7vw}h1{font-size:85px}}:root{--camera-ink:#dbd7ba}body,canvas{touch-action:none;overscroll-behavior:none}button{touch-action:manipulation}#play-controls{position:fixed;right:max(14px,env(safe-area-inset-right));top:max(14px,env(safe-area-inset-top));display:flex;gap:8px}#play-controls button{padding:12px;background:#0d211ed9;font-size:10px;min-height:44px}#joystick{display:none;position:fixed;left:max(22px,env(safe-area-inset-left));bottom:max(25px,env(safe-area-inset-bottom));width:118px;height:118px;border:1px solid #c1ceaa66;border-radius:50%;background:#0c201a55;touch-action:none;-webkit-user-select:none;user-select:none}#joystick.held{background:#1c3e3177}.stick-knob{position:absolute;left:39px;top:39px;width:38px;height:38px;border-radius:50%;border:1px solid #ccdbad88;background:#9bb59c44;pointer-events:none}.stick-label{position:absolute;left:0;right:0;text-align:center;bottom:-19px;font-size:8px;letter-spacing:2px;color:#ccd3b1;pointer-events:none}#look-hint{display:none;position:fixed;right:24px;bottom:40px;color:#cad3b080;font-size:8px;letter-spacing:2px;pointer-events:none}#camera-view{position:fixed;inset:0;pointer-events:none;border:solid #101511;border-width:40px 12px 85px;color:var(--camera-ink);font-size:11px;box-shadow:inset 0 0 0 1px #aab48d66}.camera-top{position:absolute;top:-33px;left:10px;right:0;display:flex;align-items:center;justify-content:space-between;letter-spacing:2px}.camera-top i{color:#c0814d;font-style:normal;font-size:8px}.camera-top button{border:0;padding:6px 12px;font-size:17px;background:transparent;pointer-events:auto}.viewfinder{position:absolute;width:74%;height:72%;top:14%;left:13%;pointer-events:none}.viewfinder>i{position:absolute;width:28px;height:28px;border:solid #e1e3baaa}.viewfinder>i:nth-child(1){left:0;top:0;border-width:1px 0 0 1px}.viewfinder>i:nth-child(2){right:0;top:0;border-width:1px 1px 0 0}.viewfinder>i:nth-child(3){left:0;bottom:0;border-width:0 0 1px 1px}.viewfinder>i:nth-child(4){right:0;bottom:0;border-width:0 1px 1px 0}.focus-cross{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:24px;color:#d7ddb398}.camera-bottom{position:absolute;bottom:-75px;left:12px;right:12px;display:flex;align-items:center;justify-content:space-between}.camera-bottom button{pointer-events:auto;font-size:10px;padding:10px;background:transparent}.camera-bottom #shutter{width:58px;height:58px;padding:5px;border:1px solid #c7c8ad;border-radius:50%;background:#27352b}.camera-bottom #shutter span{display:block;width:100%;height:100%;background:#c8cab2;border-radius:50%;border:3px solid #101a12}#photo-review{position:fixed;inset:0;background:#0c140ff5;z-index:6;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:20px;padding:20px}#photo-review img{width:min(420px,86vw);max-height:65vh;object-fit:contain;image-rendering:pixelated;box-shadow:0 12px 40px #0008}#photo-review>div:last-child{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}#photo-review button{font-size:9px;min-height:44px;padding:14px}#photo-flash{position:fixed;inset:0;pointer-events:none;background:#e9edcf;opacity:0;z-index:8}#photo-flash.expose{animation:expose .45s ease-out}@keyframes expose{0%{opacity:.9}to{opacity:0}}body.photo-mode #play-controls,body.photo-mode #look-hint{display:none}body.photo-mode #joystick{bottom:110px;opacity:.65}#pause,#title{z-index:10}@media(pointer:coarse),(max-width:900px){#joystick:not([hidden]){display:block}#look-hint:not([hidden]){display:block}#pause{padding:20px;max-height:92dvh}#camera-view{border-top-width:max(40px,env(safe-area-inset-top));border-bottom-width:max(85px,env(safe-area-inset-bottom))}body.photo-mode #joystick{transform:scale(.8);transform-origin:bottom left}#title footer{bottom:20px}}@media(max-height:480px){#title{padding-top:15px;padding-bottom:15px}#title h1{font-size:60px;margin:12px 0}.subtitle{margin:6px 0 15px}.intro-controls{margin-top:10px}#title footer{display:none}#joystick{width:96px;height:96px;bottom:20px}.stick-knob{left:28px;top:28px}.camera-top{font-size:9px}#photo-review{gap:8px}#photo-review img{max-height:62vh}}.viewfinder{width:min(82vw,calc((100dvh - 170px)*1.33333));height:auto;aspect-ratio:4/3;left:50%;top:50%;transform:translate(-50%,-50%)}
