:root{color-scheme:dark;font-family:Open Sans,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;background:#101415;color:#edf0ed}*{box-sizing:border-box}html,body,#game{width:100%;height:100%;min-width:320px;margin:0}body{overflow:hidden}button{font:inherit}#game,#viewport{position:relative;width:100%;height:100%;overflow:hidden;background:#101415}#viewport canvas{display:block;width:100%;height:100%;outline:none;touch-action:none;cursor:crosshair}.is-hidden{display:none!important}.game-hud{position:absolute;inset:0;z-index:3;pointer-events:none;-webkit-user-select:none;user-select:none}.hud-header{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;min-height:58px;padding:0 26px;border-bottom:1px solid rgb(255 255 255 / 12%);background:linear-gradient(180deg,#0c1011e0,#0c101159)}.brand-line,.mission-index{display:flex;align-items:center;gap:11px;color:#e8ece8;font-size:11px;font-weight:700;letter-spacing:.13em}.brand-mark{display:grid;place-items:center;width:25px;height:25px;border:1px solid #b98f48;color:#e2bb79;font-size:13px;letter-spacing:0}.mission-index{color:#9da8a5;font-size:9px}.mission-index span{color:#e0e3df}.mission-time{display:flex;align-items:center;gap:9px;color:#9da8a5;font-size:9px;font-weight:700;letter-spacing:.12em}.mission-time strong{color:#e4c48c;font-size:13px;font-variant-numeric:tabular-nums;letter-spacing:.04em}.objective-panel{position:absolute;top:82px;left:26px;width:min(340px,calc(100vw - 52px));padding:16px 18px 14px;border:1px solid rgb(220 226 219 / 18%);border-left:2px solid #b18c51;background:#111717e0;box-shadow:0 10px 30px #0000002e;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.panel-kicker{color:#b89a68;font-size:9px;font-weight:700;letter-spacing:.16em}.objective-panel h2{margin:9px 0 6px;color:#f0f2ed;font-size:17px;font-weight:600}.objective-panel p{margin:0;color:#aeb9b4;font-size:12px;line-height:1.55}.objective-panel .objective-distance{margin-top:9px;color:#d7b77d;font-size:9px;font-weight:700;letter-spacing:.13em}.relay-status{display:grid;gap:7px;margin-top:15px;padding-top:12px;border-top:1px solid rgb(255 255 255 / 12%)}.relay-row{display:flex;justify-content:space-between;color:#9ca7a2;font-size:9px;font-weight:600;letter-spacing:.09em}.relay-row strong{color:#cb7770;font-size:9px;font-weight:700}.relay-row strong.is-online{color:#83c6a2}.reticle{position:absolute;top:50%;left:50%;width:16px;height:16px;transform:translate(-50%,-50%);opacity:.88}.reticle span{position:absolute;display:block;background:#f0f3ece0;box-shadow:0 0 2px #000000b3}.reticle span:first-child{top:7px;left:0;width:16px;height:2px}.reticle span:last-child{top:0;left:7px;width:2px;height:16px}.interaction-prompt{position:absolute;bottom:72px;left:50%;display:flex;align-items:center;gap:10px;padding:9px 14px;transform:translate(-50%);border:1px solid rgb(230 235 226 / 20%);background:#0f1414eb;color:#e8ece6;font-size:12px;white-space:nowrap}kbd{display:inline-grid;place-items:center;min-width:22px;height:21px;padding:0 5px;border:1px solid rgb(234 238 231 / 30%);background:#ffffff0d;color:#f1d4a0;font-family:inherit;font-size:9px;font-weight:700}.mission-notice{position:absolute;top:34%;left:50%;max-width:min(440px,calc(100vw - 40px));padding:10px 15px;transform:translate(-50%);border-left:2px solid #b18c51;background:#0f1414e5;color:#e7eae5;font-size:12px;letter-spacing:.02em;opacity:0;pointer-events:none}.mission-notice.notice-visible{animation:notice-in 3s ease both}@keyframes notice-in{0%{opacity:0;transform:translate(-50%,8px)}10%,78%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-5px)}}.hud-footer{position:absolute;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;gap:22px;min-height:43px;border-top:1px solid rgb(255 255 255 / 11%);background:#0c1011b8;color:#aeb8b2;font-size:9px;font-weight:700;letter-spacing:.08em}.hud-footer span{display:flex;align-items:center;gap:4px}.screen-overlay{position:absolute;inset:0;z-index:5;display:grid;place-items:center;padding:24px;background:#070a0ab8;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.screen-panel{width:min(520px,100%);padding:34px 38px 28px;border:1px solid rgb(225 231 222 / 20%);border-top:2px solid #b18c51;background:#171d1d;box-shadow:0 25px 80px #0006}.briefing-panel{max-width:540px}.screen-kicker{display:flex;justify-content:space-between;gap:16px;color:#a8b2ac;font-size:9px;font-weight:700;letter-spacing:.16em}.screen-kicker span{color:#c7a46c}.location-label{margin:36px 0 9px;color:#c7a46c;font-size:9px;font-weight:700;letter-spacing:.18em}.screen-panel h1{margin:0;color:#f1f2ed;font-size:clamp(32px,6vw,49px);font-weight:700;letter-spacing:.025em;line-height:.98}.briefing-copy{margin:19px 0 0;color:#aeb8b2;font-size:13px;line-height:1.7}.briefing-data{display:grid;gap:0;margin:28px 0 25px;border-top:1px solid rgb(255 255 255 / 12%);border-bottom:1px solid rgb(255 255 255 / 12%)}.briefing-data div{display:flex;justify-content:space-between;gap:15px;padding:11px 0;border-bottom:1px solid rgb(255 255 255 / 7%)}.briefing-data div:last-child{border-bottom:0}.briefing-data span{color:#89948e;font-size:9px;font-weight:700;letter-spacing:.12em}.briefing-data strong{color:#e0e5df;font-size:9px;font-weight:700;letter-spacing:.08em;text-align:right}.primary-action,.secondary-action{width:100%;min-height:46px;border:1px solid #c5a16a;background:#b18c51;color:#151918;cursor:pointer;font-size:10px;font-weight:800;letter-spacing:.13em;transition:background .12s ease,color .12s ease,border-color .12s ease}.primary-action:hover:not(:disabled){border-color:#e1c18e;background:#d0ad73}.primary-action:disabled{border-color:#555c57;background:#424a46;color:#a5aea7;cursor:wait}.secondary-action{margin-top:10px;border-color:#dce2db3d;background:transparent;color:#ccd4ce}.secondary-action:hover{border-color:#c5a16a;color:#f0d5a7}.screen-footnote{margin:14px 0 0;color:#7f8a84;font-size:8px;font-weight:700;letter-spacing:.11em;text-align:center}.compact-panel{max-width:440px}.compact-panel .location-label{margin-top:30px}.compact-panel .primary-action{margin-top:27px}.relay-puzzle-panel{max-width:460px}.relay-puzzle-panel .location-label{margin-top:28px}.relay-puzzle-panel h1{font-size:clamp(26px,4vw,36px)}.puzzle-reference,.puzzle-selectors{margin-top:23px;padding:14px 0;border-top:1px solid rgb(255 255 255 / 12%)}.puzzle-label{color:#89948e;font-size:8px;font-weight:700;letter-spacing:.14em}.puzzle-symbol-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px}.puzzle-symbol-row>span,.symbol-selector{display:grid;place-items:center;min-height:62px;border:1px solid rgb(220 226 219 / 18%);background:#202828;color:#e5c48b;font-size:27px;font-weight:600}.symbol-selector{cursor:pointer;transition:border-color .12s ease,background .12s ease}.symbol-selector:hover{border-color:#c5a16a;background:#2b3533}.symbol-selector:focus-visible{outline:2px solid #e5c48b;outline-offset:2px}.puzzle-status{min-height:34px;margin:7px 0 13px;color:#aeb8b2;font-size:11px;line-height:1.5}.puzzle-status.is-matched{color:#83c6a2}.relay-puzzle-panel .secondary-action{margin-top:8px}.completion-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:23px;padding:15px 0;border-top:1px solid rgb(255 255 255 / 12%);border-bottom:1px solid rgb(255 255 255 / 12%)}.completion-stats div{display:grid;gap:6px}.completion-stats span{color:#89948e;font-size:8px;font-weight:700;letter-spacing:.1em}.completion-stats strong{color:#e8ece6;font-size:15px;font-variant-numeric:tabular-nums}.completion-stamp{margin-top:22px;padding:11px 12px;border:1px solid rgb(131 198 162 / 35%);color:#83c6a2;font-size:9px;font-weight:700;letter-spacing:.14em}@media(max-width:640px){.hud-header{min-height:48px;padding:0 14px}.brand-line{gap:8px;font-size:9px}.mission-index{font-size:8px}.mission-time{gap:5px;font-size:8px}.mission-time strong{font-size:11px}.objective-panel{top:62px;left:12px;padding:12px 13px}.objective-panel h2{font-size:15px}.objective-panel p{font-size:11px}.hud-footer{gap:10px;min-height:38px;font-size:8px}.hud-footer span{gap:2px}.hud-footer kbd{min-width:18px;height:18px;padding:0 3px;font-size:8px}.interaction-prompt{bottom:52px}.screen-panel{padding:27px 23px 22px}.location-label{margin-top:28px}}@media(max-width:390px){.mission-index{display:none}.hud-footer{justify-content:space-evenly;gap:4px}.hud-footer span:last-child{display:none}.briefing-data div{align-items:flex-start}}
