/* VECTORLINE V/05 RELEASE CANDIDATE */
.release-dashboard{margin-top:9px;padding:10px;border:1px solid var(--line2);border-radius:5px;background:linear-gradient(180deg,rgba(13,23,28,.92),rgba(8,14,17,.92))}
.release-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.release-head b{font:900 9px/1 var(--mono);letter-spacing:.11em}
.release-head span{color:var(--muted);font:700 7px/1 var(--mono)}
.contract-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.contract-card{position:relative;min-height:74px;padding:9px;border:1px solid #24343b;border-radius:4px;background:#091115;overflow:hidden}
.contract-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:#4e717a}
.contract-card b{display:block;font:900 8px/1.15 var(--mono);letter-spacing:.05em}
.contract-card p{margin:6px 0 7px;color:#71858b;font:7px/1.35 var(--mono)}
.contract-card small{color:var(--amber);font:800 7px/1 var(--mono)}
.release-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin-top:7px}
.release-meta div{padding:7px 8px;border:1px solid #1c2a30;border-radius:3px;background:#080e12}
.release-meta span{display:block;color:#63777e;font:700 6px/1 var(--mono);letter-spacing:.08em}
.release-meta b{display:block;margin-top:4px;font:900 10px/1 var(--mono)}
.release-next{margin-top:7px;color:#6f848b;font:700 7px/1.4 var(--mono)}
.release-score-strip{position:absolute;right:max(8px,env(safe-area-inset-right));bottom:calc(9px + env(safe-area-inset-bottom));display:flex;align-items:stretch;border:1px solid rgba(132,166,176,.18);border-radius:4px;overflow:hidden;background:rgba(5,10,13,.82);font:800 7px/1 var(--mono);letter-spacing:.06em}
.release-score-strip>span{display:flex;align-items:center;gap:5px;padding:7px 9px;border-left:1px solid rgba(132,166,176,.13)}
.release-score-strip>span:first-child{border-left:0}
.release-score-strip b{color:#dce7ea}.release-score-strip .chain b{color:var(--amber)}
.release-score-strip .chain.hot{background:rgba(74,55,16,.32)}
.release-objective{position:absolute;left:50%;top:92px;transform:translateX(-50%);min-width:220px;max-width:min(68vw,520px);padding:7px 10px;border:1px solid rgba(125,169,180,.17);border-radius:4px;background:rgba(5,10,13,.72);backdrop-filter:blur(4px);text-align:center}
.release-objective label{display:block;color:#62777e;font:800 6px/1 var(--mono);letter-spacing:.12em}
.release-objective b{display:block;margin-top:4px;color:#c9d9dc;font:800 8px/1.3 var(--mono)}
.release-objective i{display:block;height:2px;margin-top:5px;background:#122027;overflow:hidden}.release-objective i em{display:block;height:100%;width:0;background:var(--cyan)}
.release-gate-hint{position:absolute;right:12px;top:146px;padding:5px 7px;border-radius:3px;background:rgba(5,10,13,.62);color:#759097;font:800 6px/1 var(--mono);letter-spacing:.07em}
.release-speedfx{pointer-events:none;position:absolute;z-index:5;inset:54px 0 0;opacity:0;transition:opacity .16s;background:repeating-linear-gradient(90deg,transparent 0 12%,rgba(185,229,235,.025) 12.2%,transparent 12.7% 20%);mix-blend-mode:screen}
.release-speedfx.hot{animation:vl-speed-pan .28s linear infinite}
@keyframes vl-speed-pan{from{transform:translateX(0)}to{transform:translateX(4%)}}
.release-popup{pointer-events:none;position:absolute;z-index:30;left:50%;top:38%;transform:translate(-50%,-50%);padding:7px 10px;border:1px solid #31505a;border-radius:3px;background:rgba(5,10,13,.86);color:#d5e5e8;font:900 8px/1 var(--mono);letter-spacing:.08em;animation:vl-pop .9s ease-out forwards}
.release-popup.good{border-color:#42634e;color:#bfe0c5}.release-popup.warn{border-color:#65552f;color:#e3c978}
@keyframes vl-pop{0%{opacity:0;transform:translate(-50%,-35%) scale(.94)}15%{opacity:1;transform:translate(-50%,-50%) scale(1)}75%{opacity:1}100%{opacity:0;transform:translate(-50%,-72%) scale(.98)}}
.tutorial-card{width:min(760px,100%);margin:0 auto;border:1px solid var(--line2);border-radius:5px;background:#080e12}
.tutorial-card>header{padding:13px;border-bottom:1px solid var(--line)}
.tutorial-card h2{margin:5px 0 0;font:900 21px/1 var(--mono)}
.tutorial-body{padding:12px}
.tutorial-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.tutorial-step{padding:10px;border:1px solid var(--line);border-radius:4px;background:#0a1115}
.tutorial-step span{display:grid;place-items:center;width:26px;height:26px;border:1px solid #38525b;border-radius:50%;color:var(--cyan);font:900 8px/1 var(--mono)}
.tutorial-step b{display:block;margin-top:8px;font:900 9px/1 var(--mono)}
.tutorial-step p{margin:5px 0 0;color:#72868d;font:8px/1.45 var(--mono)}
.tutorial-contracts{margin-top:9px;padding:9px;border:1px solid #2a383e;border-radius:4px;background:#091014}
.tutorial-contracts>small{display:block;color:#6f858c;font:800 6px/1 var(--mono);letter-spacing:.11em}
.tutorial-contracts div{margin-top:5px;color:#bccdd1;font:800 7px/1.5 var(--mono)}
.release-summary{margin-top:9px;padding:10px;border:1px solid #294149;border-radius:4px;background:#091217}
.release-summary-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.release-summary-head small{display:block;color:#668087;font:800 6px/1 var(--mono);letter-spacing:.1em}
.release-summary-head strong{display:block;margin-top:4px;font:900 25px/.9 var(--mono);color:var(--cyan)}
.release-rank{display:grid;place-items:center;width:48px;height:48px;border:1px solid #45636c;border-radius:50%;font:900 22px/1 var(--mono);color:var(--amber)}
.release-contract-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:9px}
.release-contract-results div{padding:7px;border:1px solid #1f3036;border-radius:3px}
.release-contract-results span{display:block;color:#71868d;font:700 6px/1 var(--mono)}
.release-contract-results b{display:block;margin-top:4px;font:800 8px/1.2 var(--mono)}
.release-contract-results .done{border-color:#385840}.release-contract-results .done b{color:#b9d9bf}
.release-achievements{margin-top:7px;color:#8da1a7;font:700 7px/1.45 var(--mono)}
.release-record-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:8px}
.release-record-grid div{padding:8px;border:1px solid var(--line);border-radius:4px;background:#0a1115}
.release-record-grid span{display:block;color:#6a7e85;font:700 6px/1 var(--mono)}
.release-record-grid b{display:block;margin-top:5px;font:900 12px/1 var(--mono)}
#howToBtn{border-color:#31474f}
@media(max-width:780px){.contract-grid{grid-template-columns:1fr}.release-meta{grid-template-columns:repeat(2,1fr)}.release-objective{top:120px;max-width:72vw;min-width:180px}.release-gate-hint{top:157px}.release-score-strip{right:6px;bottom:68px}.release-contract-results{grid-template-columns:1fr}.release-record-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:470px){.release-dashboard{padding:8px}.release-head{align-items:flex-start;flex-direction:column;gap:4px}.release-meta{grid-template-columns:repeat(2,1fr)}.release-objective{top:109px;min-width:166px;max-width:64vw;padding:5px 7px}.release-objective b{font-size:6px}.release-gate-hint{display:none}.release-score-strip{right:6px;bottom:64px;font-size:6px}.release-score-strip>span{padding:6px}.tutorial-grid{grid-template-columns:1fr}.tutorial-body{padding:8px}.release-contract-results{grid-template-columns:1fr}}

/* RELEASE-CANDIDATE VISIBLE UPGRADE LANGUAGE */
.release-upgrade-card{position:relative;border-color:color-mix(in srgb,var(--upgrade-accent,#536970) 42%,#1d2a31);overflow:hidden}
.release-upgrade-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--upgrade-accent,#536970);opacity:.8}
.release-upgrade-card .pips i.on{background:var(--upgrade-accent,#88d7df);box-shadow:0 0 6px color-mix(in srgb,var(--upgrade-accent,#88d7df) 45%,transparent)}
.release-upgrade-card .stat-delta b{color:var(--upgrade-accent,#d6e2e4)}
.release-upgrade-card.weapon-upgrade-card{background-image:linear-gradient(110deg,rgba(255,255,255,.012),transparent 55%)}
.release-visual-note{margin-top:8px;padding:7px;border-top:1px solid color-mix(in srgb,var(--upgrade-accent,#536970) 28%,#172229);background:rgba(255,255,255,.012)}
.release-visual-note span{display:block;color:#60747b;font:800 6px/1 var(--mono);letter-spacing:.1em}
.release-visual-note b{display:block;margin-top:4px;color:color-mix(in srgb,var(--upgrade-accent,#aabcc1) 72%,#dce7ea);font:700 7px/1.35 var(--mono)}
.release-tier-legend{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px;padding:7px;border:1px solid var(--line);border-radius:4px;background:#080e12}
.release-tier-legend span{display:flex;align-items:center;gap:5px;color:#71858c;font:700 6px/1 var(--mono);letter-spacing:.05em}
.release-tier-legend i{width:8px;height:8px;border:1px solid color-mix(in srgb,var(--c) 70%,#fff);background:color-mix(in srgb,var(--c) 45%,transparent);box-shadow:0 0 7px color-mix(in srgb,var(--c) 30%,transparent)}
.upgrade-tier-0{--upgrade-accent:#536970}.upgrade-tier-1{--upgrade-accent:#83d4df}.upgrade-tier-2{--upgrade-accent:#b8d995}.upgrade-tier-3{--upgrade-accent:#e0bd70}.upgrade-tier-4{--upgrade-accent:#b69ce3}
.release-flight-state{position:absolute;left:50%;top:124px;transform:translateX(-50%);display:flex;gap:4px;padding:4px;border:1px solid rgba(132,166,176,.12);border-radius:3px;background:rgba(5,10,13,.55);font:700 6px/1 var(--mono);pointer-events:none}
.release-flight-state span{padding:3px 5px;color:#698088}.release-flight-state b{color:#c4d3d6}
@media(max-width:780px){.release-tier-legend{display:grid;grid-template-columns:repeat(2,1fr)}.release-flight-state{top:151px}}
@media(max-width:470px){.release-tier-legend{grid-template-columns:1fr}.release-flight-state{display:none}}
