:root{color-scheme:dark;font-family:system-ui,sans-serif;background:#071218;color:#f4dfab}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 50% 0,#173541,#071218 54%);min-height:100vh}
html.client-cache-checking body>*{visibility:hidden!important}html.client-cache-checking #clientCacheGate{visibility:visible!important;display:grid}
#clientCacheGate{display:none;position:fixed;z-index:100000;inset:0;place-items:center;background:linear-gradient(rgba(3,12,18,.28),rgba(3,10,15,.48)),url("/assets/images/update-loading-background-v1.webp") center/cover no-repeat;color:#ffe5a0;font:700 14px system-ui;text-align:center}
#clientCacheGate>div{width:min(78vw,320px);padding:20px 18px;border:1px solid rgba(218,172,83,.65);border-radius:18px;background:rgba(5,17,24,.84);box-shadow:0 12px 35px #000,inset 0 1px rgba(255,255,255,.12);backdrop-filter:blur(5px)}#clientCacheGate small{display:block;margin-top:7px;color:#a9c9d2;font-size:10px}#clientCacheProgress{height:9px;margin-top:12px;overflow:hidden;border:1px solid #846a36;border-radius:8px;background:#102a35;box-shadow:inset 0 1px 3px #000}#clientCacheProgress>i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#b97925,#ffe07a);transition:width .18s ease}#clientCachePercent{margin-top:6px;color:#ffe07a;font-size:12px}
header{position:sticky;z-index:2;top:0;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px 18px;border-bottom:1px solid #80662f;background:#091820eF;backdrop-filter:blur(8px)}
h1,p{margin:0}h1{font:800 clamp(20px,4vw,30px) Georgia,serif}header p{margin-top:3px;color:#91adb4;font-size:12px}#labProgress{color:#ffd86d;font-weight:800}
.lab-header-actions{display:flex;gap:12px;align-items:center}.lab-header-actions a{padding:7px 10px;border:1px solid #80662f;border-radius:8px;color:#ffe4a0;text-decoration:none;white-space:nowrap}
nav{display:flex;flex-wrap:wrap;gap:10px;align-items:end;padding:12px 18px;border-bottom:1px solid #2a444b;background:#0b2028}
.v8-progress{display:grid;gap:10px;margin:14px;padding:14px;border:1px solid #80662f;border-radius:14px;background:#0b2028}.v8-progress>div{display:flex;justify-content:space-between;gap:12px}.v8-progress span{color:#ffd86d}.v8-progress ol{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:0;padding:0;list-style:none;counter-reset:stage}.v8-progress li{padding:7px;border:1px solid #38515a;border-radius:8px;color:#78949b;background:#091820;font-size:10px;text-align:center}.v8-progress li.done{color:#b9e9d0;border-color:#39765c}.v8-progress li.active{color:#ffe4a0;border-color:#b78b39;background:#412f13}
.candidate-review{scroll-margin-top:90px;display:grid;grid-template-columns:minmax(220px,1fr) 220px 220px;gap:12px;align-items:center;margin:14px;padding:14px;border:1px solid #b78b39;border-radius:14px;background:linear-gradient(135deg,#112b34,#0a1a21);box-shadow:0 8px 24px #0008}.candidate-review h2{margin:7px 0 5px;color:#ffe4a0;font:800 18px Georgia,serif}.candidate-review p{max-width:520px;color:#9eb8bd;font-size:12px;line-height:1.45}.candidate-review code{display:block;margin-top:9px;color:#70bac7;font-size:11px}.candidate-badge{display:inline-block;padding:4px 8px;border:1px solid #a77a29;border-radius:999px;background:#412f13;color:#ffd970;font-size:10px;font-weight:900}.candidate-stage{display:grid;place-items:center;height:260px;border:1px solid #314d56;border-radius:10px;background:linear-gradient(#102730,#08151a);overflow:hidden}.candidate-stage img{display:block;width:260px;height:260px;object-fit:contain;image-rendering:auto}.candidate-left img{transform:scaleX(-1)}
.candidate-animation{display:block;width:260px;height:260px;background-position:0 0;background-size:800% 100%;background-repeat:no-repeat;animation:candidate-walk-frames .96s steps(8) infinite}.candidate-left .candidate-animation{transform:scaleX(-1)}
.candidate-animation.candidate-walk-12,.candidate-animation.candidate-run-12{background-size:1200% 100%;animation-name:candidate-motion-12;animation-timing-function:steps(12)}.candidate-animation.candidate-walk-12{animation-duration:1.08s}.candidate-animation.candidate-run-12{animation-duration:.66s}
.candidate-animation.candidate-walk-v4{animation-duration:1.04s}.candidate-animation.candidate-run-v4{animation-duration:1.06s}.candidate-animation.candidate-walk-v5{animation-duration:1.12s}
.mask-editor{scroll-margin-top:90px;display:grid;grid-template-columns:minmax(240px,1fr) minmax(260px,360px) 340px;gap:14px;align-items:start;margin:14px;padding:16px;border:1px solid #41a9ba;border-radius:14px;background:linear-gradient(135deg,#102c36,#091920);box-shadow:0 8px 26px #0009}.mask-editor h2{margin:8px 0 6px;color:#d8f8ff;font:800 20px Georgia,serif}.mask-editor p{color:#a7c4ca;font-size:12px;line-height:1.5}.mask-editor code{display:block;margin-top:9px;color:#6dd5e7;font-size:11px}.mask-editor-controls{display:grid;grid-template-columns:1fr 1fr;gap:9px}.mask-editor-controls label{min-width:0}.mask-editor-controls input[type="range"]{width:100%}.mask-editor-controls output{color:#ffe08a;font-size:10px}.mask-editor-actions{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.mask-editor-actions button[aria-pressed="true"]{border-color:#5ce1f6;background:#174d59}.mask-editor-stage{display:grid;place-items:center;border:1px solid #345b65;border-radius:12px;background:repeating-conic-gradient(#14272d 0 25%,#0a171c 0 50%) 50%/20px 20px;overflow:hidden}.mask-editor-stage canvas{display:block;width:320px;max-width:100%;height:auto;touch-action:none;cursor:crosshair;image-rendering:auto}.mask-editor-status{grid-column:1/-1;display:flex;justify-content:space-between;gap:12px;color:#8daab0;font-size:11px}.mask-editor-status strong{color:#ffe08a}
label{display:grid;gap:4px;color:#9db7bc;font-size:11px}select,button{min-height:38px;border:1px solid #8a6d32;border-radius:8px;background:#122d36;color:#ffe5a0;padding:7px 10px;font:700 13px inherit}button{cursor:pointer}
main{display:grid;grid-template-columns:repeat(auto-fill,minmax(178px,1fr));gap:12px;padding:14px}.hero-lab-card{overflow:hidden;border:1px solid #38515a;border-radius:12px;background:#0b1c23;box-shadow:0 7px 20px #0008}.hero-lab-card[hidden]{display:none}
.skeletal-lab{display:grid;grid-template-columns:minmax(260px,1fr) 340px;gap:16px;align-items:center;margin:14px;padding:16px;border:2px solid #57c7d9;border-radius:14px;background:linear-gradient(135deg,#123541,#081a21);box-shadow:0 10px 30px #0009}.skeletal-lab h2{margin:8px 0;color:#dffbff}.skeletal-lab p{color:#a9cbd1;font-size:12px;line-height:1.5}.skeletal-stage{display:grid;place-items:center;border:1px solid #42636b;border-radius:12px;background:radial-gradient(circle,#183842,#07151a);overflow:hidden}.skeletal-stage canvas{display:block;width:320px;max-width:100%;height:auto}.skeletal-slots{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.skeletal-slots label{display:flex;grid-auto-flow:column;align-items:center;gap:4px;padding:5px 7px;border:1px solid #49646a;border-radius:7px;background:#0b2028}.skeletal-lab small{color:#79d7e5}
.hero-lab-card.is-requested{border-color:#ffd768;box-shadow:0 0 0 2px #ffd76866,0 9px 28px #000}
.hero-lab-card h2{height:42px;margin:0;padding:8px 10px;color:#f7dfa0;font-size:12px}.hero-stage{display:grid;place-items:center;height:190px;background:linear-gradient(#102730,#08151a)}.hero-preview{display:block;width:100%;height:100%;background-position:0 0;background-size:100% 100%;background-repeat:no-repeat}.hero-preview.is-moving{background-size:800% 100%;animation:hero-lab-frames 1s steps(8) infinite}.hero-lab-card footer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center;padding:6px 7px}.hero-lab-card code{display:block;min-width:0;color:#7fa3ab;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.copy-state-btn{min-height:30px;padding:5px 8px;border-radius:7px;font-size:10px;white-space:nowrap}
@keyframes hero-lab-frames{to{background-position:114.2857% 0}}
@keyframes candidate-walk-frames{to{background-position:114.2857% 0}}
@keyframes candidate-motion-12{to{background-position:109.0909% 0}}
@media(max-width:720px){.candidate-review{grid-template-columns:1fr 1fr;margin:8px;padding:10px}.candidate-review>div:first-child{grid-column:1/-1}.candidate-stage{height:180px}.candidate-stage img,.candidate-animation{width:180px;height:180px}}
@media(max-width:900px){.mask-editor{grid-template-columns:1fr 1fr}.mask-editor-copy,.mask-editor-status{grid-column:1/-1}.mask-editor-stage{align-self:stretch}}
@media(max-width:720px){.skeletal-lab{grid-template-columns:1fr}.skeletal-stage canvas{width:280px}}
@media(max-width:600px){.mask-editor{grid-template-columns:1fr;margin:8px;padding:10px}.mask-editor-copy,.mask-editor-status{grid-column:auto}.mask-editor-status{display:grid}.mask-editor-controls{grid-template-columns:1fr 1fr}}
@media(max-width:520px){header{align-items:flex-start}main{grid-template-columns:repeat(2,minmax(0,1fr));padding:8px;gap:8px}.hero-stage{height:150px}}
@media(max-width:520px){.lab-header-actions{display:grid;justify-items:end;gap:5px}.v8-progress>div{display:grid}.v8-progress ol{grid-template-columns:1fr}.v8-progress li{text-align:left}}
