:root{
  color-scheme:dark;
  --void:#070611;
  --ink:#f6f1ff;
  --muted:#a7a0ba;
  --line:rgba(168,222,255,.24);
  --cyan:#8de9ff;
  --amber:#ffd061;
  --violet:#a98dff;
  --panel:rgba(12,10,28,.78);
  --ui:1rem;
  --meta:.9375rem;
  --target:44px;
}
*{box-sizing:border-box}
html,body{height:100%;margin:0;overflow:hidden}
body{background:var(--void);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic UI",sans-serif;font-size:var(--ui)}
button,input{font:inherit}
button{color:inherit}
.field{height:100%;isolation:isolate;overflow:hidden;position:relative;width:100%}
.field::before{background:radial-gradient(circle at 50% 48%,rgba(103,65,184,.22),transparent 38%),radial-gradient(circle at 78% 18%,rgba(51,175,224,.12),transparent 31%),linear-gradient(180deg,#0a0818,#05050d);content:"";inset:0;position:absolute;z-index:-3}
.field::after{background-image:linear-gradient(rgba(141,233,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(141,233,255,.035) 1px,transparent 1px);background-size:56px 56px;content:"";inset:-60%;mask-image:radial-gradient(circle,#000 10%,transparent 65%);opacity:.7;perspective:900px;position:absolute;transform:rotate(24deg);z-index:-2}
#space{cursor:grab;display:block;height:100%;outline:0;touch-action:none;width:100%}
#space:active{cursor:grabbing}
#space:focus-visible{box-shadow:inset 0 0 0 3px var(--cyan)}
.hud{align-items:center;display:flex;pointer-events:none;position:absolute;z-index:20}
.hud-top{gap:1rem;left:max(1rem,env(safe-area-inset-left));right:max(1rem,env(safe-area-inset-right));top:max(1rem,env(safe-area-inset-top))}
.identity{align-items:center;display:flex;gap:.65rem;min-height:44px}
.identity i{background:var(--cyan);box-shadow:0 0 18px var(--cyan);height:9px;transform:rotate(45deg);width:9px}
.identity strong{font-size:1rem;letter-spacing:.13em}
.identity span{border:1px solid var(--line);color:var(--muted);font-family:"SFMono-Regular",Consolas,monospace;font-size:var(--meta);padding:.25rem .45rem}
.coordinates{color:#d6d0e6;font-family:"SFMono-Regular",Consolas,monospace;font-size:var(--meta);letter-spacing:.045em;margin:auto;max-width:min(48vw,680px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.icon-control,.reset-view,.selection-actions button,.search-beam button{align-items:center;background:rgba(12,10,28,.78);border:1px solid var(--line);cursor:pointer;display:flex;height:var(--target);justify-content:center;min-width:var(--target);pointer-events:auto}
.icon-control:hover,.icon-control:focus-visible,.reset-view:hover,.reset-view:focus-visible,.selection-actions button:hover,.selection-actions button:focus-visible,.search-beam button:hover,.search-beam button:focus-visible{background:var(--cyan);color:#090814;outline:2px solid #fff;outline-offset:2px}
.projection-switch{background:rgba(8,7,19,.66);border:1px solid var(--line);display:flex;left:50%;padding:4px;position:absolute;top:70px;transform:translateX(-50%);z-index:22}
.projection-switch button{align-items:center;background:transparent;border:0;color:var(--muted);cursor:pointer;display:flex;gap:.45rem;min-height:44px;padding:.5rem .8rem}
.projection-switch button:hover,.projection-switch button:focus-visible{color:var(--ink);outline:2px solid var(--cyan);outline-offset:-2px}
.projection-switch button.is-active{background:rgba(141,233,255,.16);color:var(--cyan)}
.projection-switch .glyph{font-size:1.3rem}
.elevator{display:flex;flex-direction:column;gap:.45rem;left:max(1rem,env(safe-area-inset-left));position:absolute;top:50%;transform:translateY(-50%);z-index:22}
.elevator button{align-items:center;background:rgba(9,8,20,.72);border:1px solid var(--line);cursor:pointer;display:flex;font-family:"SFMono-Regular",Consolas,monospace;font-size:var(--meta);font-weight:800;height:48px;justify-content:center;position:relative;width:52px}
.elevator button::after{background:var(--floor-color);bottom:7px;content:"";height:2px;left:9px;opacity:.55;position:absolute;right:9px}
.elevator button:hover,.elevator button:focus-visible,.elevator button.is-active{background:color-mix(in srgb,var(--floor-color) 26%,#090814);border-color:var(--floor-color);box-shadow:0 0 18px color-mix(in srgb,var(--floor-color) 45%,transparent);outline:0}
.selection{align-items:center;background:linear-gradient(110deg,rgba(16,13,37,.92),rgba(10,9,23,.7));border:1px solid var(--line);bottom:84px;display:grid;gap:.9rem;grid-template-columns:52px minmax(0,1fr) auto;left:50%;max-width:min(650px,calc(100% - 160px));min-height:70px;padding:.55rem .65rem;position:absolute;transform:translateX(-50%);width:max-content;z-index:25}
.selection[hidden],.file-signal[hidden],.search-beam[hidden]{display:none}
.selection-mark{align-items:center;background:var(--selection-color,var(--cyan));box-shadow:0 0 20px color-mix(in srgb,var(--selection-color,var(--cyan)) 60%,transparent);color:#080711;display:flex;font-family:"SFMono-Regular",Consolas,monospace;font-weight:900;height:52px;justify-content:center;width:52px}
.selection small,.selection strong,.selection span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.selection small{color:var(--muted);font-size:var(--meta);letter-spacing:.09em}
.selection strong{font-size:1.1rem;margin:.12rem 0;max-width:34ch}
.selection span{color:#cbc5d9;font-size:var(--meta)}
.selection-actions{display:flex;gap:.35rem}
.file-signal{background:rgba(10,9,23,.9);border-left:3px solid var(--amber);display:block;max-width:min(520px,calc(100% - 2rem));padding:.65rem .9rem;position:absolute;right:1rem;top:132px;z-index:25}
.file-signal small,.file-signal strong,.file-signal code{display:block}
.file-signal small{color:var(--amber);font-size:var(--meta);font-weight:800}
.file-signal strong{font-size:1rem;margin:.25rem 0}
.file-signal code{color:var(--muted);font-family:"SFMono-Regular",Consolas,monospace;font-size:var(--meta);overflow-wrap:anywhere}
.reticle{height:28px;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);width:28px;z-index:9}
.reticle i{background:rgba(141,233,255,.58);position:absolute}
.reticle i:first-child{height:1px;left:0;right:0;top:50%}
.reticle i:last-child{bottom:0;left:50%;top:0;width:1px}
.depth-meter{background:rgba(141,233,255,.12);bottom:96px;height:90px;position:absolute;right:max(1rem,env(safe-area-inset-right));width:3px;z-index:20}
.depth-meter span{background:var(--cyan);bottom:0;box-shadow:0 0 10px var(--cyan);height:46%;position:absolute;width:100%}
.hud-bottom{bottom:max(1rem,env(safe-area-inset-bottom));justify-content:space-between;left:max(1rem,env(safe-area-inset-left));right:max(1rem,env(safe-area-inset-right))}
.input-legend{display:flex;gap:1rem}
.input-legend span{color:var(--muted);font-size:var(--meta)}
kbd{background:rgba(141,233,255,.08);border:1px solid var(--line);color:var(--cyan);font-family:"SFMono-Regular",Consolas,monospace;font-size:.8rem;padding:.2rem .36rem}
.world-count{color:var(--muted);font-family:"SFMono-Regular",Consolas,monospace;font-size:var(--meta);letter-spacing:.04em}
.search-beam{background:rgba(8,7,19,.96);border:1px solid var(--cyan);box-shadow:0 0 70px rgba(78,185,255,.22);left:50%;max-width:680px;padding:1rem;position:absolute;top:18%;transform:translateX(-50%);width:calc(100% - 2rem);z-index:40}
.search-beam label{display:block;font-size:var(--ui);font-weight:800;margin-bottom:.65rem}
.search-beam>div{display:grid;grid-template-columns:1fr 48px 48px}
.search-beam input{background:#100d24;border:1px solid var(--line);color:var(--ink);font-size:1.125rem;min-height:52px;padding:.7rem .85rem;width:100%}
.search-beam input:focus{border-color:var(--cyan);outline:2px solid var(--cyan);outline-offset:2px}
.search-beam output{color:var(--muted);display:block;font-size:var(--meta);min-height:1.5rem;padding-top:.65rem}
.reset-view{bottom:80px;font-size:1.3rem;position:absolute;right:max(1rem,env(safe-area-inset-right));z-index:22}
.boot{align-items:center;background:#070611;display:flex;flex-direction:column;gap:1rem;inset:0;justify-content:center;position:absolute;transition:opacity .45s ease,visibility .45s ease;z-index:100}
.boot span{animation:pulse 1.05s ease-in-out infinite;border:1px solid var(--cyan);box-shadow:0 0 24px var(--cyan),inset 0 0 18px rgba(141,233,255,.3);height:52px;transform:rotate(45deg);width:52px}
.boot strong{font-family:"SFMono-Regular",Consolas,monospace;letter-spacing:.22em}
.boot.is-ready{opacity:0;pointer-events:none;visibility:hidden}
@keyframes pulse{50%{filter:brightness(1.8);transform:rotate(45deg) scale(.84)}}
.linear-equivalent{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}
.linear-equivalent:focus-within{background:#070611;clip:auto;clip-path:none;height:auto;inset:1rem;overflow:auto;padding:1rem;white-space:normal;width:auto;z-index:80}
.linear-equivalent button{background:#15112d;border:1px solid var(--line);color:var(--ink);font-size:1rem;min-height:44px;padding:.5rem;text-align:left;width:100%}
@media(max-width:760px){
  .identity strong{display:none}.coordinates{margin-left:0}.projection-switch{bottom:76px;top:auto}.projection-switch button{padding:.45rem .6rem}.projection-switch button span:last-child{display:none}
  .elevator{left:.55rem}.elevator button{height:44px;width:46px}.selection{bottom:132px;grid-template-columns:44px minmax(0,1fr);max-width:calc(100% - 2rem);width:calc(100% - 2rem)}.selection-mark{height:44px;width:44px}.selection-actions{grid-column:1/-1;justify-content:flex-end}.selection-actions button{height:44px;min-width:44px}
  .input-legend span{display:none}.input-legend span:first-child,.input-legend span:nth-child(3){display:inline}.world-count{max-width:48vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-signal{left:1rem;right:1rem;top:80px}.depth-meter{display:none}
}
@media(prefers-reduced-motion:reduce){.boot,.boot span{animation:none;transition:none}}
