/* Shared headings retain the existing fantasy face; forms use a legible UI face. */
.text-action,.lab-heading h1,.lab-panel h2,.lab-main-nav button{font-family:'Cinzel Decorative',Georgia,serif;-webkit-text-stroke:.35px #172131;paint-order:stroke fill;text-shadow:0 1px 2px #1119;color:#ffebae}
#home-links{top:auto;bottom:max(9dvh,env(safe-area-inset-bottom));transform:translateX(-50%);gap:clamp(4px,1.3dvh,16px)}
#laboratory[hidden]{display:none!important}#app-screen[data-screen=lab]{overflow:hidden}#app-screen[data-screen=lab]>.back{display:none}
#laboratory{height:100%;overflow:auto;overscroll-behavior:contain;padding:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom));box-sizing:border-box;color:#eff4fa;font:15px/1.45 system-ui,sans-serif;touch-action:pan-y}
#laboratory *{box-sizing:border-box}#laboratory .lab-shell{max-width:1180px;margin:auto;padding-bottom:30px}#laboratory h1{font-size:clamp(23px,4vw,35px);margin:0}#laboratory h2{font-size:24px}#laboratory h3{font-size:18px;color:#ffe7ac;margin:12px 0}#laboratory p{color:inherit;font-size:inherit;line-height:1.5;margin:10px 0}
#laboratory button,#laboratory input,#laboratory select{font:inherit;letter-spacing:normal;max-width:100%;border-radius:8px;filter:none;box-shadow:none;background-image:none;border-image:none;color:#f4f6ff;text-shadow:none;animation:none;transform:none;transition:background .12s;min-width:0}
#laboratory button{background:#283b50;border:1px solid #728599;padding:10px 14px;min-height:44px;cursor:pointer;width:auto;margin:3px}#laboratory button::before,#laboratory button::after{display:none}#laboratory button:hover,#laboratory button[aria-pressed=true]{background:#385a71;border-color:#e1c483}#laboratory button:focus-visible,#laboratory input:focus-visible,#laboratory select:focus-visible{outline:3px solid #f5cf7b;outline-offset:2px}
#laboratory input,#laboratory select{display:block;width:100%;background:#102332;border:1px solid #657b91;padding:10px;min-height:44px}#laboratory input[type=checkbox]{display:inline-block;width:22px;height:22px;min-height:0;vertical-align:middle;margin-right:8px;accent-color:#e5ba63}#laboratory input[type=color]{padding:4px}#laboratory label{display:block;font-weight:500}#laboratory select option{background:#122233}
#laboratory .lab-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:10px}#laboratory .lab-main-nav{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;margin:10px 0}#laboratory .lab-main-nav button{background:#112135b8;border-color:transparent;font-family:'Cinzel Decorative',Georgia,serif;font-size:15px;color:#ffe7ab}
#laboratory .lab-panel{background:#101e2be8;border:1px solid #b9a4767a;border-radius:16px;padding:clamp(14px,3vw,28px);box-shadow:0 12px 35px #0005}#laboratory .lab-message{white-space:pre-line;background:#101c2bdc;border-radius:8px;padding:8px 12px}#laboratory .lab-message:empty{display:none}
#laboratory .lab-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin:18px 0}#laboratory .lab-card{display:block;text-align:left;background:#172b3ad9;border:1px solid var(--identity,#8d9aa7);border-left:4px solid var(--identity,#8d9aa7);border-radius:12px;padding:14px;overflow-wrap:anywhere}#laboratory .lab-card h3{margin:0 0 10px}#laboratory .lab-card .lab-disc{max-width:155px;display:block;margin:auto}#laboratory .lab-symbol{width:60px;height:60px;object-fit:contain;float:right}
#laboratory .lab-search,#laboratory .lab-add{display:flex;gap:10px;margin:14px 0}#laboratory .lab-search input{flex:1}#laboratory .lab-search select{width:auto}#laboratory .lab-toolbar,#laboratory .lab-tabs{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:15px}#laboratory .lab-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin:12px 0}#laboratory .lab-curve{display:grid;grid-template-columns:repeat(auto-fit,minmax(68px,1fr));gap:8px;grid-column:1/-1}#laboratory .lab-curve label{font-size:12px}#laboratory .lab-toggle{padding:10px 0}
#laboratory details{border:1px solid #61748a;border-radius:10px;margin:12px 0;padding:12px}#laboratory summary{cursor:pointer;font-size:18px;color:#ffdfa1;padding:6px;min-height:44px}#laboratory fieldset{border:1px solid #526b80;border-radius:10px;margin:15px 0;padding:12px}#laboratory legend{max-width:100%}
#laboratory .lab-card-workbench{display:grid;grid-template-columns:minmax(210px,.9fr) minmax(0,1.2fr);gap:22px;align-items:start}#laboratory .lab-sticky{position:sticky;top:5px}#laboratory .lab-disc{width:100%;max-height:380px;display:block;overflow:visible}#laboratory .lab-disc [data-hour]{cursor:pointer}#laboratory .lab-disc [data-hour]:focus circle{stroke:#fff;stroke-width:2}#laboratory .lab-help{color:#c1cdd8;font-size:13px}#laboratory .lab-association{display:flex;flex-wrap:wrap;align-items:center;gap:10px;border-bottom:1px solid #506172;padding:8px 0}#laboratory .lab-association span,#laboratory .lab-association label{flex:1}#laboratory .lab-pose-editor{border:1px solid #e9c577;border-radius:10px;padding:15px;margin-top:18px}
#laboratory .lab-diagnostics{border-top:1px solid #718298;margin-top:22px;padding-top:16px}#laboratory small{display:block;color:#b2c3d0;overflow-wrap:anywhere}#laboratory .lab-status{font-size:13px;display:inline-block;border-radius:6px;padding:4px 8px;background:#1d4140;color:#acf2c5}#laboratory .lab-status.DRAFT{color:#ffe2a6;background:#4b3d25}#laboratory .lab-status.ERROR{color:#ffbdc7;background:#4a2735}
#laboratory .lab-modal-backdrop{position:fixed;inset:0;background:#040d18c9;z-index:120;display:grid;place-items:center;padding:15px}#laboratory .lab-modal{background:#142738;border:1px solid #c7af78;border-radius:14px;padding:22px;width:min(880px,100%);max-height:90dvh;overflow:auto;color:#f5f5f5}#laboratory .lab-modal label{margin-bottom:15px}#laboratory .lab-asset-preview{height:130px;width:100%;object-fit:contain;background:#0a1420}#laboratory .lab-full-image{max-height:70dvh;width:100%;object-fit:contain}#laboratory .lab-file{border:1px dashed #8094a6;padding:15px;border-radius:10px}
@media(max-width:640px){#laboratory .lab-card-workbench{grid-template-columns:1fr}#laboratory .lab-sticky{z-index:2;background:#101e2bf7;display:grid;grid-template-columns:1fr 1fr;align-items:center;border-bottom:1px solid #4d6275}#laboratory .lab-sticky .lab-disc{max-height:220px}#laboratory .lab-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}#laboratory .lab-main-nav button{font-size:12px;padding:8px}#laboratory .lab-search{flex-wrap:wrap}#laboratory .lab-search select{width:100%}#laboratory .lab-panel{padding:12px}#laboratory .lab-form{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}}
@media(max-height:500px){#home-links{bottom:3dvh;gap:0}#home-links .text-action{min-height:40px;padding:3px 15px}#laboratory .lab-sticky{position:static}}
/* Battlefield uses global fixed headers/main: explicitly scope them out here. */
#laboratory header{position:static;inset:auto;height:auto;max-width:none;width:auto;visibility:visible;z-index:auto;box-shadow:none;border:0;background:none}
#laboratory header h1{display:block;visibility:visible}
#laboratory main{position:static;display:block;height:auto;min-height:0;max-height:none;max-width:none;width:100%;margin:0;visibility:visible;grid-template-columns:none;grid-template-rows:none;flex:none}
/* Variable loadouts keep the active player's command panel at the same height. */
.card-choices.many-cards{display:flex;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:thin}
.card-choices.many-cards button{flex:0 0 30%;min-width:90px}

/* Hidden inputs must stay hidden despite the form display rules. */
#laboratory [hidden]{display:none!important}
#laboratory .lab-stats{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;margin:12px 0;font-size:14px}
#laboratory .lab-stats dt{font-weight:400;color:#e3ebf2}#laboratory .lab-stats dd{margin:0;font-weight:750;color:var(--identity,#f6e7bf);text-align:right;white-space:nowrap}
#laboratory .lab-identity{display:flex;align-items:center;gap:10px;margin:10px 0}#laboratory .lab-identity img{width:38px;height:38px;object-fit:contain;float:none}
#laboratory .lab-ranking-row{display:grid;grid-template-columns:32px 36px 1fr auto;gap:10px;align-items:center;padding:10px;border-bottom:1px solid #738699}
#laboratory .lab-ranking-row img{width:36px;height:36px;object-fit:contain}#laboratory .lab-ranking-row small{grid-column:3/-1}
#laboratory .lab-home-nav{min-height:55dvh;align-content:center;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:650px;margin:auto}
#laboratory .lab-home-nav button{font-size:clamp(16px,3vw,24px);padding:18px}
#laboratory[data-context=play] .lab-shell{max-width:1000px}
