*{box-sizing:border-box}body{margin:0;overflow:hidden;background:#87abb0;color:#fff;font-family:Arial,sans-serif;letter-spacing:0}#scene{position:fixed;inset:0}canvas{display:block;width:100%;height:100%;touch-action:none}header{position:fixed;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:24px 28px;pointer-events:none;background:linear-gradient(#172f3755,transparent)}.brand{text-shadow:0 2px 5px #1d3e4670}small{font-size:10px;font-weight:bold;letter-spacing:0}h1{font-size:27px;margin:7px 0}.tools{display:flex;gap:8px;pointer-events:auto}button{font:inherit;cursor:pointer;color:#294751;background:#f2f7ed;border:1px solid #d7e5dd;border-radius:5px;touch-action:none;padding:12px 22px}button:hover{background:#fff}button:focus-visible{outline:3px solid #e8bf77;outline-offset:3px}.tools button{width:44px;height:44px;padding:0;font-size:22px}aside{position:fixed;top:116px;left:28px;padding-left:12px;border-left:3px solid #e6cb8c;text-shadow:0 1px 5px #193f4d}aside span{display:block;font-size:10px;font-weight:bold}aside strong{display:block;font-size:16px;margin-top:8px}#reticle{position:fixed;left:50%;top:50%;width:5px;height:5px;border-radius:50%;background:#fff9;transform:translate(-50%,-50%);pointer-events:none;box-shadow:0 0 2px #244550}#explore{position:fixed;bottom:38px;left:50%;transform:translateX(-50%);font-weight:bold;background:#faf2d9;box-shadow:0 4px 20px #183b4530}.pad{position:fixed;bottom:24px;left:28px;display:grid;grid-template-columns:repeat(3,46px);grid-template-rows:repeat(2,44px);gap:5px}.pad button{padding:0;background:#f4f8efcf;font-size:23px}.pad button:first-child{grid-column:2}.pad button:nth-child(2){grid-column:1}#overlay{position:fixed;inset:0;background:#e7f0e6ed;backdrop-filter:blur(7px);color:#294751;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px}h2{font-size:34px;margin:18px 0 4px}#message{max-width:380px;font-size:15px;line-height:1.6}#continue{background:#356e65;color:white;font-weight:bold;margin-top:15px}[hidden]{display:none!important}@media(max-width:600px){header{padding:18px 15px}.brand small{font-size:8px}h1{font-size:20px}.tools button{width:36px;height:39px}aside{left:16px;top:100px}aside strong{font-size:13px}.pad{left:16px;bottom:20px}#explore{left:auto;right:16px;bottom:24px;transform:none;font-size:13px;padding:13px 18px}h2{font-size:28px}}
