*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#070f21;color:white;font-family:'Segoe UI',Arial,sans-serif}button,a,input,select{font:inherit}button{cursor:pointer;color:inherit;border:1px solid #ffffff30;background:#10253dda;border-radius:12px;padding:12px 18px;touch-action:none}button:hover{background:#24527d}button:focus-visible,a:focus-visible{outline:3px solid #ffe170;outline-offset:4px}#game{position:relative;width:100%;height:100%;overflow:hidden;isolation:isolate}canvas{width:100%;height:100%;object-fit:contain;display:block;background:#07152a}header{position:absolute;left:0;right:0;top:0;padding:25px 32px;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(#06152dba,transparent);pointer-events:none}.logo{font-style:italic;font-size:35px;letter-spacing:-2px;font-weight:1000;text-shadow:0 3px #154791}.logo span{font-size:9px;display:block;font-style:normal;letter-spacing:3px;margin-top:3px}.hud{display:flex;gap:12px;align-items:center;pointer-events:auto}.hud>span{padding:11px 17px;background:#091b36ad;border:1px solid #ffffff22;border-radius:10px;color:#ffda5e;font-size:23px}.hud b{font-size:20px;color:white;margin-left:7px}.hud button{font-size:22px;padding:8px 15px}#location{position:absolute;top:110px;left:32px;letter-spacing:3px;font-size:11px;font-weight:700;text-shadow:0 2px 6px #000}#caption{position:absolute;bottom:145px;left:50%;transform:translateX(-50%);max-width:620px;width:85%;border-radius:16px;text-align:center;background:#07162bd9;font-size:17px;line-height:1.45;padding:14px 22px;border:1px solid #ffffff25;pointer-events:none}#caption:empty{display:none}.overlay{position:absolute;inset:0;background:linear-gradient(90deg,#040d20ed,#051630a0 55%,#04132b20);display:flex;align-items:center;padding:clamp(24px,6vw,90px);z-index:4}.overlay[hidden]{display:none}.menu{max-width:600px}.overline{font-size:10px;letter-spacing:4px;color:#73d5fc;font-weight:800}h1{font-size:clamp(36px,5.5vw,77px);line-height:1.05;font-weight:850;letter-spacing:-3px;margin:21px 0}h1 em{font-style:normal;color:#ffdc69}.menu p{max-width:420px;color:#c2cfe2;font-size:16px;line-height:1.7}.characters{display:flex;gap:9px;margin:24px 0}.characters button{text-align:left;min-width:120px;border-radius:10px;font-weight:800}.characters small{display:block;font-size:9px;color:#b7cce4;font-weight:400;margin-top:5px}.characters .selected{border-color:#71d5ff;background:#1479c469}.primary{background:#f6cd42;color:#142440;font-weight:900;letter-spacing:1px;border:0;padding:18px 26px;box-shadow:0 4px 0 #aa7f1a}.primary:hover{background:#ffe177}.menu .keys{font-size:11px;color:#8ea9c9;line-height:1.9}.menu a{color:#b6dbef;font-size:11px}#assetStatus{display:block;font-size:10px;margin-top:12px;color:#bed5e7}.compact{padding:30px;background:#0c2039ed;border:1px solid #ffffff22;border-radius:24px}.compact h2{font-size:37px}.compact button{display:block;margin-top:18px}.touch{position:absolute;bottom:65px;left:28px;right:28px;display:flex;justify-content:space-between;pointer-events:none}.touch>div{display:flex;gap:12px;pointer-events:auto}.touch button{width:65px;height:65px;font-size:24px;border-radius:50%;background:#0c24398a;border:1px solid #ffffff60;user-select:none;-webkit-user-select:none}.touch .jump{width:105px;border-radius:32px;font-size:13px;font-weight:bold;background:#e6bd35cf;color:#162640}.bottom{position:absolute;bottom:14px;left:28px;right:28px;display:flex;align-items:center;justify-content:space-between;gap:10px}.bottom button{padding:8px 12px;font-size:11px}.bottom span{font-size:9px;color:#c4d4df80}dialog{width:min(460px,94vw);max-height:90vh;overflow:auto;color:#eaf3ff;background:#10253c;border:1px solid #41607c;border-radius:22px;padding:27px}dialog::backdrop{background:#020a1bba}dialog label{display:block;font-size:13px;margin:19px 0;line-height:1.6}dialog input:not([type=checkbox]),select{width:100%;padding:11px;display:block;margin-top:8px;background:#07182c;border:1px solid #435f7d;border-radius:8px;color:white}dialog p{font-size:11px;line-height:1.6;color:#a3bad4}.close{float:right;padding:5px 12px}dialog h2{margin-top:0}#pauseMenu,#finish{justify-content:center;background:#031020aa;backdrop-filter:blur(5px)}@media(max-width:650px){header{padding:14px 16px}.logo{font-size:24px}.logo span{font-size:6px;letter-spacing:2px}.hud{gap:5px}.hud>span{font-size:16px;padding:7px}.hud b{font-size:14px}.hud button{font-size:16px;padding:7px 10px}#location{top:75px;left:18px;font-size:9px}.overlay{padding:24px}.characters button{min-width:0;padding:12px;flex:1}.characters{gap:6px}.menu p{font-size:13px}h1{letter-spacing:-1px}.touch{left:12px;right:12px;bottom:65px}.touch button{height:55px;width:55px}.touch .jump{width:85px}.bottom{left:12px;right:12px}.bottom span{display:none}#caption{bottom:140px;font-size:13px}.compact h2{font-size:28px}}@media(max-height:500px){.overlay{padding:18px 40px}.menu h1{font-size:38px;margin:10px 0}.menu p{font-size:11px;margin:9px 0}.characters{margin:12px 0}.characters button{padding:8px 13px}.menu .keys{margin-bottom:6px;font-size:9px}.primary{padding:13px 20px}header{padding:12px 20px}#location{top:75px}.touch{bottom:50px}.touch button{width:48px;height:48px}.bottom{bottom:7px}#assetStatus{font-size:8px;margin-top:5px}}
