:root{
  --nexora-gold:#D9A441;--nexora-gold-light:#F0BC55;--nexora-ivory:#F3E7CB;--nexora-muted:#B8AA91;
  --stage-w:min(100vw,calc(100dvh * 1.7777778));
  --stage-h:min(100dvh,calc(100vw * .5625));
}
html,body{width:100%;height:100%;height:100dvh;margin:0;overflow:hidden;background:#030304!important;overscroll-behavior:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
body:before{content:"";position:fixed;inset:0;background:radial-gradient(circle at 50% 50%,#17120d 0,#060607 44%,#020203 100%);pointer-events:none}
#canvas,#overlayDiv,#presplash{position:absolute!important;left:50%!important;top:50%!important;width:var(--stage-w)!important;height:var(--stage-h)!important;transform:translate(-50%,-50%)!important;border:0!important}
#canvas{background:#000;box-shadow:0 0 0 1px rgba(217,164,65,.07),0 0 90px rgba(0,0,0,.7)}
#presplash{object-fit:cover!important;background:#050506}
#ContextContainer{z-index:10020!important;padding-top:max(0px,env(safe-area-inset-top));padding-left:max(0px,env(safe-area-inset-left))}
#ContextButton{display:grid!important;place-items:center;width:50px;height:50px;padding:0!important;background:rgba(9,9,11,.8);border:1px solid rgba(217,164,65,.28);border-radius:0 0 13px 0;color:var(--nexora-gold-light)!important;backdrop-filter:blur(12px);font-size:28px!important;opacity:.92!important}
#ContextMenu{padding:8px!important;background:rgba(7,7,8,.96)!important;border:1px solid rgba(217,164,65,.24)!important;border-radius:0 14px 14px 14px!important;box-shadow:0 20px 60px rgba(0,0,0,.58)!important}
#ContextMenu a{width:min(286px,82vw)!important;height:48px!important;margin:5px!important;background:#12100f!important;border:1px solid rgba(217,164,65,.2)!important;color:var(--nexora-ivory)!important;font:650 13px/1.2 system-ui,sans-serif!important;border-radius:10px!important}
#ContextMenu a:hover,#ContextMenu a:focus{background:#241b10!important;color:var(--nexora-gold-light)!important;outline:none!important}
.nexora-cloud-pill{position:fixed;z-index:10010;top:max(10px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);padding:7px 12px;border:1px solid rgba(217,164,65,.25);border-radius:999px;background:rgba(9,9,11,.78);backdrop-filter:blur(10px);color:#cdbd9f;font:650 11px system-ui,sans-serif;letter-spacing:.03em;pointer-events:none;opacity:.88;white-space:nowrap}.nexora-cloud-pill.ok{color:#d8c8a8}.nexora-cloud-pill.sync{color:var(--nexora-gold-light)}.nexora-cloud-pill.warn{color:#efb1ba;border-color:rgba(168,24,46,.5)}
.nexora-sync-overlay{position:fixed;inset:0;z-index:12000;display:grid;place-items:center;background:radial-gradient(circle at center,rgba(45,31,14,.92),rgba(5,5,6,.98) 56%);padding:24px;color:var(--nexora-ivory);font-family:system-ui,sans-serif}.nexora-sync-overlay>div{max-width:560px;text-align:center}.nexora-sync-overlay strong{display:block;color:var(--nexora-gold-light);font:500 34px Georgia,serif;margin:10px}.nexora-sync-overlay p{color:var(--nexora-muted)}
.nexora-orientation{position:fixed;inset:0;z-index:11990;display:none;place-items:end center;padding:18px 16px calc(20px + env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(4,4,5,.18),rgba(4,4,5,.74) 38%,#09090b 78%),url('/game/web-presplash.jpg') center/cover no-repeat;color:var(--nexora-ivory);font-family:system-ui,sans-serif}
.nexora-orientation-card{width:min(100%,440px);padding:22px 20px;border:1px solid rgba(217,164,65,.24);border-radius:22px;background:rgba(10,9,9,.9);box-shadow:0 22px 70px rgba(0,0,0,.6);backdrop-filter:blur(12px);text-align:left}.nexora-orientation-brand{display:flex;align-items:center;gap:10px;margin-bottom:16px}.nexora-orientation-brand img{width:38px;height:38px;object-fit:contain}.nexora-orientation-brand span{display:grid;line-height:1.05}.nexora-orientation-brand strong{font:600 15px Georgia,serif;letter-spacing:.12em;color:var(--nexora-gold-light)}.nexora-orientation-brand small{font-size:8px;letter-spacing:.16em;color:#9e927e}.nexora-orientation .symbol{float:right;font-size:34px;color:var(--nexora-gold-light);margin:-4px 0 8px 14px}.nexora-orientation h2{font:500 29px/1.06 Georgia,serif;margin:0 0 10px}.nexora-orientation p{color:var(--nexora-muted);font-size:13px;line-height:1.55;margin:0 0 17px}.nexora-orientation-actions{display:grid;gap:8px}.nexora-orientation button{min-height:48px;border:1px solid rgba(217,164,65,.38);background:#17120c;color:var(--nexora-ivory);border-radius:12px;padding:11px 14px;font:750 13px system-ui,sans-serif}.nexora-orientation button.primary{background:linear-gradient(180deg,var(--nexora-gold-light),var(--nexora-gold));color:#171008;border:0}.nexora-orientation button.quiet{background:transparent;color:#9f9482;border-color:rgba(217,164,65,.14)}.nexora-orientation-note{display:block;margin-top:12px;color:#756c5e;font-size:10px;line-height:1.4}.nexora-orientation.dismissed{display:none!important}
.nexora-mobile-tip{display:none;position:fixed;z-index:10008;left:50%;bottom:max(8px,env(safe-area-inset-bottom));transform:translateX(-50%);padding:6px 10px;border-radius:999px;background:rgba(8,8,9,.76);border:1px solid rgba(217,164,65,.13);color:#8e8372;font:600 9px system-ui,sans-serif;pointer-events:none;white-space:nowrap}

@media (orientation:portrait) and (max-width:900px) and (pointer:coarse){
  .nexora-orientation{display:grid}.nexora-cloud-pill{display:none}
}
@media(max-width:700px){#ContextButton{width:46px;height:46px;font-size:25px!important}.nexora-cloud-pill{font-size:9px;padding:5px 8px;top:max(5px,env(safe-area-inset-top))}}
@media (orientation:landscape) and (pointer:coarse){
  :root{--stage-w:min(calc(100vw - env(safe-area-inset-left) - env(safe-area-inset-right)),calc((100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom)) * 1.7777778));--stage-h:min(calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom)),calc((100vw - env(safe-area-inset-left) - env(safe-area-inset-right)) * .5625))}
  .nexora-mobile-tip{display:block}
  #ContextButton{border-radius:0 0 11px 0}
}
@media (max-height:430px) and (orientation:landscape){.nexora-cloud-pill{top:5px;padding:4px 8px;font-size:8.5px}.nexora-mobile-tip{bottom:4px;padding:4px 8px}}
#statusDiv,#inputDiv{max-width:calc(100vw - 28px)!important;min-width:0!important;width:min(620px,calc(100vw - 28px))!important;left:50%!important;right:auto!important;transform:translateX(-50%);border-radius:0 0 12px 12px!important}
@media(max-width:520px){#statusTextDiv{font-size:12px!important}#inputPrompt{font-size:120%!important}#inputText{font-size:140%!important}}
