/* Tetramia: holographic cold-start sequence, isolated from existing interface themes. */
.tt-boot-overlay{display:none}
html.tt-boot-pending .tt-boot-overlay{
  display:flex;align-items:center;justify-content:center;position:fixed;inset:0;
  z-index:2147483600;isolation:isolate;overflow:hidden;box-sizing:border-box;
  padding:clamp(18px,4vw,44px);color:#d8f9fc;font-family:system-ui,-apple-system,Segoe UI,sans-serif;
  background:
    radial-gradient(ellipse at 50% 47%,rgba(21,85,105,.47),transparent 48%),
    linear-gradient(130deg,rgba(3,13,27,.96),rgba(3,19,34,.94)),
    url('../../images/controlroom.jpg') center/cover no-repeat,
    #030d18;
  text-align:center;
}
.tt-boot-overlay *, .tt-boot-overlay *::before, .tt-boot-overlay *::after{box-sizing:border-box}
.tt-boot-overlay::before{
  content:'';position:absolute;inset:-5%;pointer-events:none;z-index:-1;
  background:repeating-linear-gradient(0deg,transparent 0 37px,rgba(59,183,204,.11) 38px 39px),
             repeating-linear-gradient(90deg,transparent 0 57px,rgba(59,183,204,.09) 58px 59px);
  transform:perspective(540px) rotateX(55deg) scale(1.9) translateY(10%);
  mask-image:linear-gradient(transparent,#000 50%,transparent 97%);
  animation:tt-boot-grid 8s linear infinite;
}
.tt-boot-overlay::after{content:'';position:absolute;inset:0;pointer-events:none;opacity:.35;
  background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(143,232,243,.065) 4px 5px)}
.tt-boot-sweep{position:absolute;inset:-100% 0 0;pointer-events:none;
  background:linear-gradient(180deg,transparent 46%,rgba(91,233,239,.1) 49%,transparent 51%);
  animation:tt-boot-scan 4s linear infinite}
.tt-boot-panel{width:min(100%,620px);position:relative;z-index:1;padding:clamp(18px,5vw,45px);
  border:1px solid rgba(94,212,229,.38);border-radius:5px;
  background:linear-gradient(145deg,rgba(4,22,39,.72),rgba(8,25,39,.47));
  box-shadow:0 0 0 1px rgba(28,89,111,.18) inset,0 0 80px rgba(30,146,173,.1);
  backdrop-filter:blur(6px)}
.tt-boot-panel::before,.tt-boot-panel::after{content:'';position:absolute;width:34px;height:34px;pointer-events:none;border-color:#73f4eb}
.tt-boot-panel::before{top:-2px;left:-2px;border-top:2px solid;border-left:2px solid}
.tt-boot-panel::after{bottom:-2px;right:-2px;border-bottom:2px solid;border-right:2px solid}
.tt-boot-eyebrow{font-size:clamp(9px,1.55vw,11px);letter-spacing:.28em;font-weight:750;color:#83d9e8;text-transform:uppercase}
.tt-boot-emblem{position:relative;margin:24px auto 17px;width:clamp(142px,25vw,205px);
  aspect-ratio:1;display:grid;place-items:center;filter:drop-shadow(0 0 12px rgba(70,211,222,.36))}
.tt-boot-ring{position:absolute;inset:0;border:1px solid rgba(101,229,234,.55);border-radius:50%;animation:tt-boot-spin 7s linear infinite}
.tt-boot-ring::before,.tt-boot-ring::after{content:'';position:absolute;inset:-3px;border-radius:50%;border:3px solid transparent;border-top-color:#88f6ed;border-bottom-color:#4dacc5}
.tt-boot-ring.inner{inset:17%;border-style:dashed;animation-direction:reverse;animation-duration:11s;opacity:.75}
.tt-boot-emblem::before{content:'';position:absolute;inset:30%;transform:rotate(45deg);border:1px solid #56c1d9;background:rgba(5,42,59,.57);box-shadow:0 0 40px #247c97}
.tt-boot-initial{position:relative;z-index:1;font-weight:300;font-size:clamp(48px,11vw,74px);
  line-height:1;letter-spacing:-.09em;padding-right:.09em;color:#d1ffff;text-shadow:0 0 22px #56d6dd}
.tt-boot-overlay h2{margin:8px 0 7px!important;font:700 clamp(23px,4vw,35px)/1.2 system-ui,sans-serif!important;
  letter-spacing:.22em;color:#f1fdff!important;text-transform:uppercase}
.tt-boot-phase{margin:0;min-height:24px;color:#82ede1;font:750 12px/1.6 system-ui,sans-serif;letter-spacing:.18em}
.tt-boot-detail{margin:5px 0 22px;color:#b4cedc;font:400 13px/1.5 system-ui,sans-serif;min-height:20px}
.tt-boot-meter{height:9px;margin:0 0 9px;border:1px solid #38778d;border-radius:2px;overflow:hidden;background:#071521;
  box-shadow:0 0 16px rgba(25,161,188,.2) inset}
.tt-boot-fill{height:100%;width:100%;transform:scaleX(0);transform-origin:left center;
  background:linear-gradient(90deg,#227ca7,#72f5e7);box-shadow:0 0 14px #72f5e7}
.tt-boot-progress-row{display:flex;align-items:center;justify-content:space-between;gap:8px;
  font:600 11px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;color:#8fc3d3;letter-spacing:.1em}
.tt-boot-percent{color:#95fff3;font-size:14px}
.tt-boot-systems{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px 22px;
  margin:22px 0 18px;color:#8eacbd;letter-spacing:.09em;font:600 10px/1.5 ui-monospace,monospace}
.tt-boot-systems span::before{content:'◆';font-size:8px;margin-right:7px;color:#68dfd0}
.tt-boot-skip{font:650 12px/1.3 system-ui,sans-serif!important;color:#d2f9fa!important;
  border:1px solid #42869b!important;background:#0d3043!important;border-radius:6px!important;
  padding:11px 20px!important;cursor:pointer;min-height:44px}
.tt-boot-skip:hover,.tt-boot-skip:focus-visible{background:#17506a!important;border-color:#91f7ef!important;outline-offset:4px}
.tt-boot-skip:disabled{opacity:.65;cursor:default}
html.tt-boot-finishing .tt-boot-overlay{animation:tt-boot-exit .64s ease-in forwards}
html.tt-boot-finishing .tt-boot-overlay::after{background:#d7ffff;animation:tt-boot-flash .64s ease-out forwards}
@keyframes tt-boot-spin{to{transform:rotate(360deg)}}
@keyframes tt-boot-grid{to{background-position:0 100px,100px 0}}
@keyframes tt-boot-scan{to{transform:translateY(75%)}}
@keyframes tt-boot-exit{0%,20%{opacity:1}36%{opacity:.25}46%{opacity:.92}100%{opacity:0}}
@keyframes tt-boot-flash{0%,24%{opacity:0}34%{opacity:.8}46%{opacity:.1}58%{opacity:.65}100%{opacity:0}}
@media(max-width:520px){
  .tt-boot-panel{padding:25px 18px}
  .tt-boot-emblem{margin:18px auto 16px}
  .tt-boot-overlay h2{letter-spacing:.12em}
  .tt-boot-systems{gap:8px 13px}
}
@media(prefers-reduced-motion:reduce){
  .tt-boot-ring,.tt-boot-overlay::before,.tt-boot-sweep{animation:none!important}
  html.tt-boot-finishing .tt-boot-overlay{animation:none!important;opacity:0}
}

/* Shipboard navigation console hardware, original Tetramia bridge artwork retained behind HUD. */
.tt-boot-console-top{
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;
  color:#75dbe5;border-bottom:1px solid rgba(100,224,239,.27);
  padding-bottom:13px;margin-bottom:17px;text-align:left;
  font:700 10px/1.4 ui-monospace,Consolas,monospace;letter-spacing:.09em
}
.tt-boot-console-top span:last-child{color:#85a5bb}
.tt-boot-vessel{position:relative;z-index:2;display:block;width:60%;height:60%;color:#a5fff3;
  filter:drop-shadow(0 0 12px rgba(65,236,241,.7));animation:tt-boot-vessel-pulse 2.8s ease-in-out infinite}
.tt-boot-sensor{width:8px;height:8px;border-radius:50%;position:absolute;z-index:3;
  background:#8bfff0;box-shadow:0 0 0 5px rgba(112,243,236,.1),0 0 16px #4cead9;
  animation:tt-boot-sensor-blink 1.1s steps(2,end) infinite}
.tt-boot-sensor-a{top:18%;right:7%}
.tt-boot-sensor-b{bottom:23%;left:3%;animation-delay:.55s}
.tt-boot-edge{position:absolute;z-index:1;color:rgba(121,200,218,.65);
  font:600 10px/1.6 ui-monospace,Consolas,monospace;letter-spacing:.2em;pointer-events:none}
.tt-boot-edge-tl{top:19px;left:24px}
.tt-boot-edge-br{right:24px;bottom:19px}
.tt-boot-overlay .tt-boot-systems{border-top:1px solid rgba(84,162,186,.25);
  border-bottom:1px solid rgba(84,162,186,.25);padding:10px 0;margin:19px 0}
.tt-boot-overlay .tt-boot-detail{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
@keyframes tt-boot-vessel-pulse{50%{opacity:.62;filter:drop-shadow(0 0 22px rgba(76,235,243,.8))}}
@keyframes tt-boot-sensor-blink{50%{opacity:.25}}
@media(max-width:520px){
  .tt-boot-edge{display:none}
  .tt-boot-console-top{font-size:9px;letter-spacing:.03em}
  .tt-boot-panel{max-height:96dvh;overflow-y:auto}
}
@media(prefers-reduced-motion:reduce){.tt-boot-vessel,.tt-boot-sensor{animation:none!important}}
