.lab-hero { display:grid;grid-template-columns:1.15fr 1fr;gap:30px;align-items:center;padding:clamp(24px,4vw,46px);margin-bottom:25px;border:1px solid #605169;border-radius:var(--radius,18px);background:linear-gradient(130deg,#302035,#172333);overflow:hidden; }
.lab-hero h1 { font-size:clamp(2.6rem,5vw,4.6rem);line-height:1;letter-spacing:-.055em;margin:.4em 0 .35em; }
.lab-hero p:not(.kicker) { max-width:48ch;color:var(--muted,#b9b4c6); }
.lab-hero .button { margin-top:12px; }.lab-hero-art { position:relative;min-width:0; }
.lab-hero-art img { width:100%;height:auto;border-radius:16px; }.lab-hero-art span { display:block;text-align:center;color:var(--gold,#ffd084);font:700 .68rem ui-monospace,monospace;letter-spacing:.14em;margin-top:15px; }
.lab-access { display:flex;align-items:center;justify-content:space-between;gap:24px; }.lab-access p { max-width:64ch; }.lab-access .inline-actions { flex-shrink:0;max-width:300px; }
.lab-missions { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px; }
.lab-mission { display:flex;flex-direction:column;min-width:0;border:1px solid var(--line,#39364b);background:var(--panel,#201d2c);border-radius:16px;overflow:hidden; }
.lab-mission img { display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover; }.lab-mission-copy { padding:22px;display:flex;flex-direction:column;flex:1;align-items:flex-start; }
.lab-mission .kicker { margin:0 0 9px; }.lab-mission h3 { font-size:1.5rem;margin:0 0 12px;letter-spacing:-.03em; }.lab-mission p { color:var(--muted,#b9b4c6);margin:0 0 15px; }
.lab-mission .mission-objective { color:var(--paper,#f5f1e8);font-size:.88rem; }.lab-mission .mission-record { color:var(--gold,#ffd084);font-size:.86rem; }
.lab-mission .button { margin-top:auto; }.lab-mission[data-cleared="true"] { border-color:#548778; }
.lab-badges { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px; }.lab-badge { display:flex;gap:15px;align-items:flex-start;padding:22px;border:1px solid var(--line,#39364b);background:var(--panel,#201d2c);border-radius:14px; }
.lab-badge-mark { display:grid;place-items:center;flex-shrink:0;width:48px;height:54px;clip-path:polygon(15% 0,85% 0,100% 20%,100% 75%,50% 100%,0 75%,0 20%);background:#37354a;color:#b3b0bf;font:800 1.4rem ui-monospace,monospace; }
.lab-badge[data-active="true"] .lab-badge-mark { background:linear-gradient(145deg,#ffde9a,#d99748);color:#211c26; }.lab-badge h3 { margin:0 0 7px;font-size:1.05rem; }.lab-badge p { color:var(--muted,#b9b4c6);margin:0;font-size:.85rem; }.lab-badge small { display:block;margin-top:10px;color:var(--gold,#ffd084); }
.lab-fair-play { margin-top:32px; }.lab-preview-label { padding:8px 12px;border:1px solid #b88c51;border-radius:8px;color:#ffdb9c;background:#33291e;font-size:.83rem; }
.lab-play-meta { margin:0 0 18px;padding:12px 15px;background:#272036;border:1px solid #655070;border-radius:10px;line-height:1.6; }.lab-play-meta a { color:#ffd18b; }.lab-result-stats { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0; }
.lab-result-stats div { padding:14px;background:#252333;border:1px solid #49425c;border-radius:10px; }.lab-result-stats dt { color:#bdb5ca;font-size:.8rem; }.lab-result-stats dd { margin:8px 0 0;font-size:1.5rem;font-weight:750;color:#ffd18b; }
.lab-result-actions { display:flex;flex-wrap:wrap;gap:12px; }.lab-result-actions button,.lab-result-actions a { min-height:44px; }
.lab-game .is-locked { outline:2px solid #e8bf75;outline-offset:-4px; }.lab-game .is-relay { box-shadow:inset 0 0 0 3px #7ce6df; }.lab-game .is-locked:disabled { opacity:1;cursor:default; }
.lab-game .lab-private-status { color:#bdb5ca;font-size:.85rem; }.lab-game [hidden] { display:none !important; }
@media(max-width:980px) { .lab-missions{grid-template-columns:repeat(2,minmax(0,1fr));}.lab-badges{grid-template-columns:1fr;}.lab-access{align-items:flex-start;flex-direction:column;}.lab-access .inline-actions{max-width:none;} }
@media(max-width:620px) { .lab-hero{grid-template-columns:1fr;gap:15px;}.lab-hero-art{display:none;}.lab-missions{grid-template-columns:1fr;}.lab-mission-copy{padding:20px;}.lab-result-stats{grid-template-columns:1fr;} }
