.hangar{--stage-x:68%;isolation:isolate;background:radial-gradient(70% 80% at var(--stage-x) 62%, #1a160f 0%, var(--ink-900) 58%, var(--ink-950) 100%);height:100svh;min-height:640px;position:relative;overflow:hidden}.hangar-stage{left:var(--stage-x);z-index:-1;aspect-ratio:4;pointer-events:none;width:min(44vw,640px);position:absolute;bottom:11vh;transform:translate(-50%)}.stage-glow{background:radial-gradient(50% 42% at 50% 62%,#d8b46a4d,#8c6b3214 55%,#0000 75%);position:absolute;inset:-120% -30% -40%}.stage-ring{border:1px solid #d8b46a8c;border-radius:50%;position:absolute;inset:0;box-shadow:0 0 40px #d8b46a1f,inset 0 0 30px #d8b46a1a}.stage-ring.is-outer{border-style:dashed;border-color:#d8b46a2e;animation:60s linear infinite stage-turn;inset:-22% -16%}@keyframes stage-turn{to{transform:rotate(360deg)}}.hangar-units{left:var(--stage-x);aspect-ratio:4/5;width:min(44vw,57.6vh,640px);position:absolute;bottom:6vh;transform:translate(-50%)}.unit-shot{opacity:0;visibility:hidden;position:absolute;inset:0}.unit-shot.is-active{opacity:1;visibility:visible}.unit-shot img{object-fit:contain;filter:drop-shadow(0 30px 60px #00000080);width:100%;height:100%}.stage-scan{opacity:0;pointer-events:none;background:linear-gradient(90deg,#f1d9a000,#f1d9a0f2 50%,#f1d9a000);height:2px;position:absolute;bottom:12%;left:8%;right:8%;box-shadow:0 0 24px #f1d9a0cc}.hangar-shade{pointer-events:none;background:linear-gradient(90deg, #0b0b0de0 0%, #0b0b0d66 30%, #0b0b0d00 52%), linear-gradient(180deg, #0b0b0d80 0%, #0b0b0d00 22%, #0b0b0d00 78%, var(--ink-900) 100%);position:absolute;inset:0}.hangar-copy{left:var(--gutter);top:calc(var(--header-h) + 8vh);pointer-events:none;gap:22px;max-width:min(520px,42vw);display:grid;position:absolute}.hangar-title{font-weight:inherit;gap:4px;display:grid}.hangar-title-en{font:italic 500 clamp(3.4rem, 1.8rem + 6vw, 8.4rem) / .92 var(--font-display);letter-spacing:-.01em;color:var(--porcelain)}.hangar-title-en .title-char{background:linear-gradient(180deg, var(--porcelain) 30%, var(--gold-300));color:#0000;-webkit-background-clip:text;background-clip:text;padding-right:.04em}.hangar-title-sub{font:500 clamp(.95rem, .8rem + .6vw, 1.35rem) / 1.2 var(--font-mono);letter-spacing:.42em;text-transform:uppercase;color:var(--gold-400)}.hangar-lead{color:var(--porcelain-dim);line-height:1.9}.hangar-status{color:var(--gold-200);border-color:var(--line-strong);justify-self:start}.hangar-status-dot{background:var(--gold-400);border-radius:50%;width:7px;height:7px;animation:2.4s ease-out infinite beacon}@keyframes beacon{0%{box-shadow:0 0 #d8b46a99}to{box-shadow:0 0 0 10px #d8b46a00}}.unit-card{right:var(--gutter);top:calc(var(--header-h) + 8vh);border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0b0b0d8c;border-radius:3px;gap:10px;width:min(280px,26vw);padding:22px 24px;display:grid;position:absolute}.unit-code{color:var(--gold-500)}.unit-name{font:600 1.6rem/1.25 var(--font-serif-zh);letter-spacing:.1em}.unit-facts{border-top:1px solid var(--line);gap:10px;margin:6px 0 0;padding-top:14px;display:grid}.unit-facts div{grid-template-columns:4.2em 1fr;align-items:baseline;gap:10px;display:grid}.unit-facts dt{color:var(--ash)}.unit-facts dd{color:var(--porcelain-dim);margin:0;font-size:.9rem}.roster{left:var(--gutter);right:var(--gutter);bottom:calc(28px + env(safe-area-inset-bottom));flex-wrap:wrap;gap:8px 6px;display:flex;position:absolute}.roster-btn{border-top:1px solid var(--line);color:var(--mist);white-space:nowrap;align-items:baseline;gap:10px;padding:12px 18px 14px;transition:color .5s;display:inline-flex;position:relative}.roster-btn:before{content:"";background:var(--gold-400);transform-origin:0;height:1px;position:absolute;top:-1px;left:0;right:0;transform:scaleX(0)}.roster-btn[aria-pressed=true]:before{animation:roster-timer var(--cycle,6.5s) linear forwards}.roster.is-paused .roster-btn[aria-pressed=true]:before,.roster-btn:hover:before{animation:none;transform:scaleX(1)}@keyframes roster-timer{to{transform:scaleX(1)}}.roster-btn .mono{color:var(--gold-600)}.roster-name{font:600 .98rem/1.3 var(--font-serif-zh);letter-spacing:.08em}.roster-btn:hover,.roster-btn[aria-pressed=true]{color:var(--porcelain)}@media (max-width:900px){.hangar{--stage-x:50%}.hangar-shade{background:linear-gradient(180deg, #0b0b0de0 0%, #0b0b0d33 32%, #0b0b0d00 60%, var(--ink-900) 100%)}.hangar-copy{top:calc(var(--header-h) + 2vh);right:var(--gutter);gap:12px;max-width:none}.hangar-lead{display:none}.hangar-units{bottom:calc(150px + env(safe-area-inset-bottom));width:min(78vw,44vh)}.hangar-stage{bottom:calc(160px + env(safe-area-inset-bottom));width:78vw}.unit-card{top:auto;left:var(--gutter);right:var(--gutter);bottom:calc(84px + env(safe-area-inset-bottom));grid-template-columns:1fr auto;align-items:center;width:auto;padding:12px 16px}.unit-name{font-size:1.15rem}.unit-facts{display:none}.roster{scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.roster::-webkit-scrollbar{display:none}.roster-btn{flex:none;padding:10px 12px 12px}}.concept-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}@media (min-width:900px){.concept-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}}.concept a{gap:14px;display:grid}.concept-media{aspect-ratio:4/5;border-radius:2px;display:block;overflow:hidden}.concept-media img{object-fit:cover;width:100%;height:100%;transition:transform 1.4s var(--ease-out), filter .8s;filter:saturate(.9);transform:scale(1.02)}.concept a:hover .concept-media img{filter:saturate();transform:scale(1.08)}.concept-cap{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.concept-title{font:600 1rem/1.4 var(--font-serif-zh);letter-spacing:.08em}.concept-cap .mono{color:var(--ash)}.sheet-strip{gap:18px;display:grid}.sheet{gap:12px;display:grid}.sheet img{border:1px solid var(--line-soft);background:var(--ink-800);border-radius:2px;width:100%}.sheet figcaption{color:var(--porcelain-dim);font:600 .95rem/1.4 var(--font-serif-zh);letter-spacing:.08em;align-items:baseline;gap:14px;display:flex}.sheet figcaption .mono{color:var(--gold-500)}@media (min-width:900px){.sheet-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.sheet:first-child{grid-column:1/-1}}
