:root{--signal:#55d5c5;--ink:#c6e5df;--muted:#7faaa1;--line:#245b59;--surface:#061314;--danger:#d48b88;--warn:#d7ad71}
html.is-jetunba-booting .lab{visibility:hidden}html.is-jetunba-igniting .lab{transform-origin:50% 34vh;animation:jetunbaIgnition 1.18s cubic-bezier(.16,.78,.22,1) both}html.is-jetunba-igniting:after{content:'';position:fixed;z-index:100;left:0;right:0;top:34vh;height:2px;pointer-events:none;background:#cbfff7;box-shadow:0 0 18px var(--signal),0 0 55px var(--signal);animation:jetunbaBeam 1.1s ease-out both}html.is-jetunba-igniting .lab-header h1{animation:jetunbaGlitch 1.05s steps(1,end) both}@keyframes jetunbaIgnition{0%{opacity:0;transform:scaleY(.006);filter:brightness(8) blur(8px)}28%{opacity:1;transform:scaleY(.03);filter:brightness(5) blur(3px)}72%{transform:scaleY(1.02);filter:brightness(1.4)}100%{opacity:1;transform:none;filter:none}}@keyframes jetunbaBeam{0%,100%{opacity:0}15%,55%{opacity:1}70%{opacity:.3}}@keyframes jetunbaGlitch{0%,32%,56%,100%{text-shadow:none;transform:none}38%{text-shadow:4px 0 #db6380,-4px 0 #50ebea;transform:translateX(-2px)}44%{text-shadow:-4px 0 #db6380,4px 0 #50ebea;transform:translateX(2px)}}.lab-panel.photon-pending{opacity:0;filter:brightness(4) blur(4px);transform:translateY(12px)}.lab-panel.photon-active{animation:jetunbaPhoton .9s ease-out both}.metric-ring.photon-pending,.scenario-card.photon-pending,.oruk-hero img.photon-pending,.item-icon.photon-pending,.event-portrait.photon-pending{opacity:0;filter:brightness(5) blur(5px);transform:scale(.7)}.metric-ring.photon-active,.scenario-card.photon-active,.oruk-hero img.photon-active,.item-icon.photon-active,.event-portrait.photon-active{animation:jetunbaPhoton .95s ease-out both}@keyframes jetunbaPhoton{0%{opacity:0;filter:brightness(5) blur(5px);transform:translateY(12px) scale(.85)}55%{filter:brightness(2)}100%{opacity:1;filter:none;transform:none}}
@media(prefers-reduced-motion:reduce){html.is-jetunba-booting .lab{visibility:visible}html.is-jetunba-igniting .lab,html.is-jetunba-igniting .lab-header h1,.lab-panel.photon-active,.metric-ring.photon-active,.scenario-card.photon-active,.oruk-hero img.photon-active,.item-icon.photon-active,.event-portrait.photon-active{animation:none!important}.lab-panel.photon-pending,.metric-ring.photon-pending,.scenario-card.photon-pending,.oruk-hero img.photon-pending,.item-icon.photon-pending,.event-portrait.photon-pending{opacity:1;filter:none;transform:none}}
html.no-jetunba-glitch.is-jetunba-igniting .lab-header h1{animation:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:#02090a}body{margin:0;color:var(--ink);font-family:Segoe UI,Arial,sans-serif;background:radial-gradient(circle at 70% 3%,#123034 0,transparent 34%),linear-gradient(130deg,#010606,#081719 55%,#020809);min-height:100vh}button,input{font:inherit}button{cursor:url('/assets/icons/pandora-action-04.svg') 12 5,pointer}button *{cursor:inherit}a{color:var(--signal)}:focus-visible{outline:2px solid var(--signal);outline-offset:2px}
.lab{width:min(1800px,100%);margin:auto;padding:1.1rem clamp(.7rem,2vw,2rem) 3rem}.lab-header{padding:1rem 1rem 1.4rem;border-bottom:1px solid var(--line)}.lab-header>a{display:block;width:max-content;margin-bottom:2rem;font:600 .7rem Consolas,monospace;text-decoration:none;letter-spacing:.08em}.lab-header>small,.lab-panel header small,.concept-description span,.source-strip,.lab-footer{color:var(--signal);font:600 .68rem Consolas,monospace;letter-spacing:.14em}.lab-header h1{margin:.4rem 0;font:300 clamp(2rem,5vw,5rem) 'Bahnschrift SemiCondensed','Arial Narrow',sans-serif;letter-spacing:.12em}.lab-header p{max-width:76rem;margin:.4rem 0 1rem;color:#a7c8c1;font-size:1rem;line-height:1.65}.source-strip{display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;color:var(--muted)}.source-strip span{padding:.4rem 0;border-top:1px solid var(--line)}
.concept-picker{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem;margin:1rem 0}.concept-picker button{display:grid;grid-template-columns:auto 1fr;gap:.15rem .7rem;min-height:4.6rem;padding:.65rem;text-align:left;color:var(--ink);border:1px solid var(--line);background:rgba(4,20,22,.75)}.concept-picker button:hover,.concept-picker button.is-selected{border-color:var(--signal);background:rgba(55,177,164,.16)}.concept-picker b{grid-row:span 2;color:var(--signal);font:300 1.65rem 'Bahnschrift SemiCondensed',sans-serif}.concept-picker span{align-self:end;font:600 .67rem Consolas,monospace;letter-spacing:.07em}.concept-picker small{color:var(--muted);font-size:.65rem}.concept-description{display:flex;align-items:center;gap:1.5rem;margin:1.2rem 0;padding:.8rem 1rem;border-left:3px solid var(--signal);background:rgba(27,96,91,.1)}.concept-description span{min-width:13rem}.concept-description p{margin:0;color:#aecdc7;font-size:.9rem}
.lab-nav{position:sticky;top:0;z-index:5;display:flex;flex-wrap:wrap;gap:.35rem;padding:.6rem;background:rgba(3,13,15,.97);border:1px solid var(--line);box-shadow:0 8px 20px #0009}.lab-nav button,.toolbar button,.story-controls button,.more-button{padding:.6rem .75rem;color:var(--muted);border:1px solid var(--line);background:transparent;font:600 .67rem Consolas,monospace;letter-spacing:.07em}.lab-nav button:hover,.lab-nav button.is-active,.toolbar button:hover,.toolbar button.is-active,.story-controls button:hover,.story-controls button.is-active,.more-button:hover{color:var(--signal);border-color:var(--signal);background:rgba(65,193,179,.12)}
.lab-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-areas:'metrics metrics metrics metrics metrics metrics scenarios scenarios scenarios scenarios scenarios scenarios' 'story story story story population population population population resources resources resources resources' 'timeline timeline timeline timeline timeline timeline timeline timeline timeline timeline timeline timeline';gap:.7rem;margin-top:.7rem}.lab-panel{min-width:0;overflow:hidden;border:1px solid var(--line);background:linear-gradient(150deg,rgba(17,53,55,.34),rgba(1,7,9,.9))}.lab-panel>header{padding:1rem 1.1rem;border-bottom:1px solid var(--line)}.lab-panel h2{margin:.35rem 0 0;font:400 1.2rem 'Bahnschrift SemiCondensed',sans-serif;letter-spacing:.12em}.story{grid-area:story}.metrics{grid-area:metrics}.scenarios{grid-area:scenarios}.population{grid-area:population}.resources{grid-area:resources}.timeline{grid-area:timeline}
.story-controls{display:flex;flex-wrap:wrap;gap:.3rem;padding:.7rem}.story-controls button{font-size:.57rem}.story-text{max-height:28rem;overflow:auto;padding:1rem 1.2rem;white-space:pre-line;line-height:1.7;color:#bdd8d2;font-size:.86rem;scrollbar-color:var(--signal) #071718}.story footer{padding:.65rem 1rem;border-top:1px solid var(--line);color:var(--muted);font:600 .58rem Consolas,monospace}.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;padding:.8rem}.metric-card{display:flex;align-items:center;gap:.65rem;min-width:0;padding:.55rem;border:1px solid #2b5554;background:#051517}.metric-ring{flex:none;display:grid;place-items:center;width:3.5rem;height:3.5rem;border-radius:50%;background:conic-gradient(var(--signal) var(--level),#254441 0)}.metric-ring:before{content:'';grid-area:1/1;width:2.75rem;height:2.75rem;border-radius:50%;background:#061617}.metric-ring span{grid-area:1/1;z-index:1;font:300 1rem 'Bahnschrift SemiCondensed',sans-serif}.metric-card strong,.metric-card small,.metric-card em{display:block;overflow-wrap:anywhere}.metric-card strong{font-size:.76rem}.metric-card small{margin-top:.25rem;color:var(--muted);font:.55rem Consolas,monospace}.metric-card em{margin-top:.3rem;color:var(--signal);font:600 .54rem Consolas,monospace;text-transform:uppercase}.metric-card.warning .metric-ring{background:conic-gradient(var(--warn) var(--level),#43392b 0)}.metric-card.critical .metric-ring{background:conic-gradient(var(--danger) var(--level),#4f3333 0)}
.toolbar{display:flex;justify-content:space-between;align-items:center;gap:.4rem;padding:.7rem;border-bottom:1px solid var(--line)}.toolbar>div{display:flex;gap:.25rem;flex-wrap:wrap}.toolbar button{padding:.42rem;font-size:.57rem}.toolbar span{color:var(--muted);font:600 .58rem Consolas,monospace}.toolbar label{display:flex;align-items:center;gap:.5rem;color:var(--signal);font:600 .6rem Consolas,monospace}.toolbar input{min-width:0;width:10rem;padding:.45rem;color:var(--ink);border:1px solid var(--line);background:#020a0c}.scenario-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;max-height:20rem;overflow:auto;padding:.6rem}.scenario-card{display:block;min-width:0;padding:.65rem;text-align:left;color:var(--ink);border:1px solid var(--line);background:#071719}.scenario-card:hover,.scenario-card.is-selected{border-color:var(--signal);background:#11312f}.scenario-card.severe{border-left:3px solid var(--danger)}.scenario-card.warning{border-left:3px solid var(--warn)}.scenario-card small,.scenario-card strong,.scenario-card span{display:block}.scenario-card small{color:var(--signal);font:.54rem Consolas,monospace}.scenario-card strong{margin:.35rem 0;font-size:.82rem}.scenario-card span{display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--muted);font-size:.7rem;line-height:1.4}.scenario-detail{max-height:22rem;overflow:auto;padding:.85rem 1rem;border-top:1px solid var(--line);scrollbar-color:var(--signal) #071718}.scenario-detail>small{color:var(--signal);font:.59rem Consolas,monospace}.scenario-detail h3{margin:.4rem 0;font-size:1rem}.scenario-detail h4{margin:1rem 0 .3rem;color:var(--signal);font:.62rem Consolas,monospace}.scenario-detail p,.scenario-detail li{color:#aacac3;font-size:.75rem;line-height:1.5}.scenario-detail ul{padding-left:1rem}.scenario-detail li{margin:.4rem 0}.scenario-detail li b,.scenario-detail li span{display:block}
.scenario-card{display:block;min-height:6.7rem;background-position:center;background-size:cover}.scenario-card .scenario-card-copy{display:block;overflow:visible;color:var(--ink);-webkit-line-clamp:unset}.scenario-card .scenario-card-copy>span{display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#accac3;font-size:.7rem;line-height:1.4}.scenario-card.has-art small{color:#71e7d4;text-shadow:0 1px 3px #000}.scenario-card.has-art strong{color:#e1f3ee;text-shadow:0 1px 4px #000}.scenario-card.has-art .scenario-card-copy>span{max-width:38ch;color:#b9d7d0;text-shadow:0 1px 4px #000}.scenario-card.has-art:hover,.scenario-card.has-art.is-selected{filter:brightness(1.14)}.scenario-detail-art{display:block;width:100%;height:8rem;margin:0 0 .8rem;object-fit:cover;object-position:center 38%;border:1px solid var(--line)}
.entity-list{max-height:35rem;overflow:auto;padding:.5rem;scrollbar-color:var(--signal) #071718}.entity-row{display:flex;align-items:center;gap:.55rem;width:100%;min-height:3.45rem;margin:.2rem 0;padding:.5rem;text-align:left;color:var(--ink);border:1px solid #204845;background:#051416}.entity-row:hover{border-color:var(--signal);background:#10302e}.item-icon{flex:none;width:2.35rem;height:2.35rem;object-fit:contain;border:1px solid var(--line);background:#0008}.fallback-icon{display:grid;place-items:center;color:var(--signal);font-size:1.2rem}.entity-row>span{min-width:0;flex:1}.entity-row strong,.entity-row small{display:block}.entity-row strong{font-size:.76rem}.entity-row small{margin-top:.3rem;color:var(--muted);font:.55rem Consolas,monospace;line-height:1.35}.entity-row>b{color:var(--signal);font:300 1.15rem 'Bahnschrift SemiCondensed',sans-serif}.entity-row>i{color:var(--muted);font-style:normal}.stock-track{display:block;height:3px;margin:.45rem 0 0;background:#24413f}.stock-track i{display:block;height:100%;background:var(--signal)}
.timeline-list{padding:.3rem .8rem}.event-card{display:grid;grid-template-columns:10rem 1fr;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--line)}.event-card time{color:var(--signal);font:.6rem Consolas,monospace}.event-card small{color:var(--muted);font:.55rem Consolas,monospace}.event-card h3{margin:.3rem 0;font-size:.86rem}.event-card p{margin:.3rem 0;color:#a7c5bf;font-size:.74rem;line-height:1.5}.event-card.critical{border-left:2px solid var(--danger);padding-left:.5rem}.event-card.recovered{border-left:2px solid var(--signal);padding-left:.5rem}.more-button{margin:1rem}.empty{padding:1rem;color:var(--muted)}.lab-footer{margin-top:2rem;padding:1rem 0;border-top:1px solid var(--line);color:var(--muted)}
.event-copy{display:flow-root}.event-portrait{float:left;width:2.5rem;height:2.5rem;margin:.1rem .65rem .25rem 0;object-fit:cover;border:1px solid var(--line);background:#061311;box-shadow:0 0 12px rgba(60,225,199,.13)}
.detail-dialog{width:min(46rem,calc(100vw - 2rem));max-height:85vh;overflow:auto;padding:1.4rem;border:1px solid var(--signal);background:#061315;color:var(--ink);box-shadow:0 0 30px #000}.detail-dialog::backdrop{background:#000b}.detail-dialog>button{position:absolute;top:.5rem;right:.6rem;border:0;background:transparent;color:var(--signal);font-size:1.6rem}.detail-dialog small,.detail-dialog h3{color:var(--signal);font:600 .64rem Consolas,monospace;letter-spacing:.08em}.detail-dialog h2{display:flex;align-items:center;gap:.6rem;font:300 1.7rem 'Bahnschrift SemiCondensed',sans-serif}.detail-dialog p{white-space:pre-line;color:#b7d3cc;line-height:1.65}.detail-dialog section{padding:.75rem 0;border-top:1px solid var(--line)}
/* Each concept changes the information hierarchy, not just its colour. */
body[data-concept='02'] .lab-grid{grid-template-areas:'scenarios scenarios scenarios scenarios scenarios scenarios scenarios scenarios metrics metrics metrics metrics' 'scenarios scenarios scenarios scenarios scenarios scenarios scenarios scenarios population population population population' 'timeline timeline timeline timeline timeline timeline resources resources resources resources resources resources' 'story story story story story story story story story story story story'}body[data-concept='02'] .scenario-list{max-height:none}body[data-concept='02'] .scenario-detail{max-height:35rem}
body[data-concept='03'] .lab-grid{grid-template-areas:'population population population population population population metrics metrics metrics metrics metrics metrics' 'population population population population population population resources resources resources resources resources resources' 'story story story story scenarios scenarios scenarios scenarios timeline timeline timeline timeline'}body[data-concept='03'] .entity-list{max-height:55rem}
body[data-concept='04'] .lab-grid{grid-template-areas:'resources resources resources resources resources resources resources resources metrics metrics metrics metrics' 'resources resources resources resources resources resources resources resources scenarios scenarios scenarios scenarios' 'population population population population story story story story timeline timeline timeline timeline'}body[data-concept='04'] .resources .entity-list{max-height:56rem}
body[data-concept='05'] .lab-grid{grid-template-areas:'story story story story story story story story metrics metrics metrics metrics' 'story story story story story story story story scenarios scenarios scenarios scenarios' 'population population population population resources resources resources resources timeline timeline timeline timeline'}body[data-concept='05'] .story-text{max-height:60rem;font-size:1rem;line-height:1.85}
body[data-concept='05'] .metric-card{display:grid;grid-template-columns:1fr;justify-items:center;align-content:start;gap:.2rem;padding:.4rem .25rem;text-align:center}body[data-concept='05'] .metric-card>div:last-child{display:contents}body[data-concept='05'] .metric-card strong{grid-row:1;line-height:1.15}body[data-concept='05'] .metric-card .metric-ring{grid-row:2;width:2.8rem;height:2.8rem}body[data-concept='05'] .metric-card .metric-ring:before{width:2.2rem;height:2.2rem}body[data-concept='05'] .metric-card small{grid-row:3;margin:0}body[data-concept='05'] .metric-card em{grid-row:4;margin:0}body[data-concept='05'] .event-card{display:block}body[data-concept='05'] .event-card time{display:block;margin:0 0 .3rem}body[data-concept='05'] .population .entity-list,body[data-concept='05'] .resources .entity-list{max-height:none;overflow:visible}
body[data-concept='06'] .lab-grid{grid-template-areas:'timeline timeline timeline timeline timeline timeline timeline timeline metrics metrics metrics metrics' 'timeline timeline timeline timeline timeline timeline timeline timeline scenarios scenarios scenarios scenarios' 'population population population population resources resources resources resources story story story story'}body[data-concept='06'] .timeline-list{max-height:70rem;overflow:auto}body[data-concept='06'] .event-card{grid-template-columns:8rem 1fr}
body[data-concept='07'] .lab-grid{grid-template-areas:'scenarios scenarios scenarios scenarios scenarios scenarios scenarios scenarios scenarios scenarios scenarios scenarios' 'metrics metrics metrics metrics metrics metrics metrics metrics metrics metrics metrics metrics' 'population population population population resources resources resources resources story story story story' 'timeline timeline timeline timeline timeline timeline timeline timeline timeline timeline timeline timeline'}body[data-concept='07'] .scenario-list{grid-template-columns:repeat(5,minmax(0,1fr));max-height:none}body[data-concept='07'] .scenario-card{min-height:9rem}body[data-concept='07'] .scenario-detail{max-height:none}
body[data-concept='08'] .lab-grid{grid-template-areas:'. . metrics metrics metrics metrics metrics metrics . . . .' '. population population population population scenarios scenarios scenarios scenarios . .' '. population population population population scenarios scenarios scenarios scenarios . .' '. . resources resources resources resources resources resources . . . .' 'story story story story story story timeline timeline timeline timeline timeline timeline'}body[data-concept='08'] .lab-panel{border-width:2px;clip-path:polygon(0 0,calc(100% - 1.2rem) 0,100% 1.2rem,100% 100%,1.2rem 100%,0 calc(100% - 1.2rem))}body[data-concept='08'] .lab-grid{background:linear-gradient(90deg,transparent 49.95%,#286760 50%,transparent 50.05%),linear-gradient(transparent 49.95%,#286760 50%,transparent 50.05%);background-size:100% 100%}
body[data-concept='09'] .lab-grid,body[data-concept='10'] .lab-grid{display:block}body[data-concept='09'] .lab-panel,body[data-concept='10'] .lab-panel{display:none}body[data-concept='09'][data-active-panel='story'] .story,body[data-concept='09'][data-active-panel='metrics'] .metrics,body[data-concept='09'][data-active-panel='scenarios'] .scenarios,body[data-concept='09'][data-active-panel='population'] .population,body[data-concept='09'][data-active-panel='resources'] .resources,body[data-concept='09'][data-active-panel='timeline'] .timeline,body[data-concept='10'][data-active-panel='story'] .story,body[data-concept='10'][data-active-panel='metrics'] .metrics,body[data-concept='10'][data-active-panel='scenarios'] .scenarios,body[data-concept='10'][data-active-panel='population'] .population,body[data-concept='10'][data-active-panel='resources'] .resources,body[data-concept='10'][data-active-panel='timeline'] .timeline{display:block}body[data-concept='09'] .lab-panel{min-height:35rem}body[data-concept='09'] .story-text{max-height:none}
body[data-concept='10'] .lab{display:grid;grid-template-columns:12rem minmax(0,1fr);gap:.6rem}body[data-concept='10'] .lab-header,body[data-concept='10'] .concept-picker,body[data-concept='10'] .concept-description,body[data-concept='10'] .lab-footer{grid-column:1/-1}body[data-concept='10'] .lab-nav{grid-column:1;position:sticky;top:.5rem;align-self:start;display:grid}body[data-concept='10'] .lab-grid{grid-column:2;margin:0}body[data-concept='10'] .lab-panel{min-height:37rem}
@media(max-width:1100px){.concept-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.lab-grid,body[data-concept='02'] .lab-grid,body[data-concept='03'] .lab-grid,body[data-concept='04'] .lab-grid,body[data-concept='05'] .lab-grid,body[data-concept='06'] .lab-grid,body[data-concept='07'] .lab-grid,body[data-concept='08'] .lab-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:'metrics metrics' 'scenarios scenarios' 'story population' 'resources timeline'}body[data-concept='07'] .scenario-list{grid-template-columns:repeat(2,minmax(0,1fr))}body[data-concept='08'] .lab-grid{background:none}}
@media(max-width:700px){.concept-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.concept-picker button{min-height:4rem}.concept-description{display:block}.concept-description p{margin-top:.4rem}.lab-nav{position:static}.lab-grid,body[data-concept='02'] .lab-grid,body[data-concept='03'] .lab-grid,body[data-concept='04'] .lab-grid,body[data-concept='05'] .lab-grid,body[data-concept='06'] .lab-grid,body[data-concept='07'] .lab-grid,body[data-concept='08'] .lab-grid{display:block}.lab-panel{margin-bottom:.6rem}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.scenario-list,body[data-concept='07'] .scenario-list{grid-template-columns:1fr}.toolbar{display:block}.toolbar>*{margin:.25rem 0}.event-card{grid-template-columns:1fr;gap:.3rem}body[data-concept='10'] .lab{display:block}body[data-concept='10'] .lab-nav{position:static;display:flex}body[data-concept='10'] .lab-grid{display:block}}
