:root{--paper:#eeefe8;--ink:#29332c;--muted:#7d897e;--green:#50644d;--orange:#ffac4e;--teal:#47d8c9;--blue:#77bfff;--electric:#dfeb85}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--paper);color:var(--ink)}button{cursor:pointer;font:inherit;border:0;background:none;color:inherit}button:hover{filter:brightness(1.15)}button,input,a{outline-offset:5px}header{max-width:1600px;margin:auto;display:flex;align-items:center;padding:27px 4%;border-bottom:1px solid #d5dbd0;gap:40px}.brand{font-size:11px;font-weight:700;letter-spacing:2px;display:flex;gap:13px;align-items:center;text-decoration:none;color:var(--ink)}.brand>span{display:grid;place-content:center;width:40px;height:40px;border-radius:50%;background:var(--green);color:white;font:italic 28px Georgia,serif;letter-spacing:-3px;padding-right:5px}.heading{border-left:1px solid #d1d8c9;padding-left:35px}h1{font-size:22px;font-weight:500;letter-spacing:-.6px;margin:0 0 6px}.heading small{font-size:8px;letter-spacing:2px;color:var(--muted)}#info{font-size:23px;margin-left:auto;color:var(--green)}main{max-width:1600px;padding:0 4%;margin:auto}nav{display:flex;align-items:center;gap:28px;height:88px}nav button{display:flex;align-items:center;gap:10px;opacity:.45;padding:12px 0}nav button.selected{opacity:1}nav button>span{font-size:24px}nav button small{font-size:12px}.nav-line{height:1px;background:#d9dfd2;flex:1}.model-badge{font-size:8px;letter-spacing:1.4px;color:var(--muted)}.laboratory{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:18px}.scene{height:640px;position:relative;background:#111e22;border-radius:8px;overflow:hidden;color:#becbc5}#scene{display:block;width:100%;height:100%;touch-action:none;cursor:grab;background:radial-gradient(ellipse at center,#233737,#111e22)}.scene-header{position:absolute;left:25px;right:25px;top:22px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.live{font-size:9px;letter-spacing:2px;color:#aec6b3}.live i{display:inline-block;width:5px;height:5px;background:#c5e491;border-radius:50%;margin-right:6px}.layers{display:flex;gap:5px;pointer-events:auto}.layers button{font-size:21px;width:39px;height:35px;border-radius:5px;color:#8fa5a5;border:1px solid #40575577}.layers button.selected{color:#c7eadf;background:#39514a}.view-tools{position:absolute;bottom:37px;left:50%;transform:translateX(-50%);border:1px solid #5b706466;background:#273a36ed;display:flex;border-radius:6px;padding:4px;align-items:center;gap:4px}.view-tools button{width:35px;height:34px;color:#bfcdc1;font-size:17px;border-radius:3px}.view-tools button.active{background:#57754d}.view-tools>span{width:1px;height:15px;background:#5b6d5e;margin:0 6px}.scene-bottom{position:absolute;bottom:13px;left:23px;right:23px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.5px;color:#718c86}.color-key{position:absolute;left:23px;bottom:60px;display:flex;gap:8px}.color-key>span{width:26px;height:26px;display:grid;place-content:center;border:1px solid #58716b55;border-radius:50%}.color-key i{display:block;width:8px;height:8px;border-radius:50%;background:currentColor}.orange{color:var(--orange)}.teal{color:var(--teal)}.blue{color:var(--blue)}.electric{color:var(--electric)}.thermal-scale{position:absolute;bottom:66px;left:23px;display:flex;gap:8px;align-items:center;font-size:12px}.thermal-scale i{width:80px;height:4px;border-radius:5px;background:linear-gradient(90deg,#438bd8,#3be0ba,#f9b43a,#ff6145)}aside{background:#f9faf6;border:1px solid #d7dfcf;border-radius:8px;padding:28px 23px;display:flex;flex-direction:column}.control{padding-bottom:29px}.control label{display:flex;align-items:center;margin-bottom:19px;gap:9px}.control-icon{font-size:24px;color:#627b59}.control-name{font-size:10px;color:var(--muted)}output{margin-left:auto;font-size:12px;color:var(--green)}input[type=range]{display:block;width:100%;height:4px;accent-color:var(--green);cursor:pointer}.endpoints{display:flex;justify-content:space-between;font-size:10px;color:#8c9b82;margin-top:9px}.mini-status{border-top:1px solid #dce2d4;padding-top:24px;margin:3px 0 25px}.mini-status>div{display:flex;align-items:center;gap:10px;margin-bottom:17px;font-size:12px}.mini-status>div>span:nth-child(2){width:21px;color:#91a086;font:italic 13px Georgia,serif}.mini-status>div>div{height:4px;border-radius:5px;flex:1;background:#e0e6d9}.mini-status i{display:block;width:0;height:100%;border-radius:5px;background:#728b5f;transition:width .3s}.buttons{display:flex;gap:10px;margin-top:auto}.buttons button{flex:1;border:1px solid #d7dfcf;border-radius:6px;display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 8px;color:var(--green)}.buttons button>span{font-size:25px}.buttons small{font-size:9px}.buttons button.active{background:#e3eed3}.visual-equation{display:flex;align-items:center;justify-content:space-between;gap:3px;margin-top:29px;font-size:20px;color:#768a69}.visual-equation span:nth-child(even){font-size:11px;color:#afba9f}.story-strip{display:flex;justify-content:center;align-items:center;gap:25px;padding:25px 0}.story-strip button{display:flex;align-items:center;gap:9px;border:1px solid #d7dfcf;border-radius:6px;padding:12px 20px;background:#f7f8f3}.story-strip button span{font-size:25px;color:#687d61}.story-strip button small{font-size:9px;color:var(--muted)}.story-strip i{width:5px;height:5px;background:currentColor;border-radius:50%}.story-strip>span{color:#9cab91;font-size:14px}.story-strip .active{background:#e1ebd3;border-color:#8fa477}footer{display:flex;justify-content:space-between;border-top:1px solid #d6ddd0;padding:18px 0 24px;font-size:9px;color:var(--muted)}#labels{position:absolute;inset:0;pointer-events:none}.annotation{position:absolute;transform:translate(-50%,-50%);font-size:9px;color:#aac0bb;white-space:nowrap;text-align:center}.annotation .caption{background:#122321c9;padding:5px 7px;border:1px solid #5d817155;border-radius:4px;display:inline-block;pointer-events:auto;cursor:help}.annotation small{font-size:9px}.annotation b{font-size:12px;font-weight:400;color:#e0eac8}.gauge{width:57px;height:57px;border:1px solid #7892a688;border-radius:50%;background:#162a33ed;position:relative;box-shadow:0 3px 12px #0003;pointer-events:auto}.gauge:before{content:'';position:absolute;inset:7px;border-radius:50%;background:conic-gradient(from 225deg,#486a7b 0deg,#5ba2b6 90deg,#ecc26b 200deg,#d77862 260deg,transparent 260deg);mask:radial-gradient(circle,transparent 62%,#000 64%);-webkit-mask:radial-gradient(circle,transparent 62%,#000 64%)}.needle{position:absolute;width:20px;height:2px;background:#f1eacb;left:28px;top:28px;transform-origin:0 50%;border-radius:2px}.gauge:after{content:'p*';position:absolute;bottom:10px;left:0;right:0;color:#a4b8be;font:italic 10px Georgia,serif}.gauge-center{width:5px;height:5px;position:absolute;background:#e6d7ba;border-radius:50%;left:26px;top:26px}.thermo{width:13px;height:49px;background:#162926dd;border:1px solid #61766c;border-radius:8px;padding:3px;position:relative;pointer-events:auto}.thermo i{position:absolute;bottom:3px;left:3px;right:3px;background:#ffb557;border-radius:5px;transition:height .2s}.atom-label{font-size:13px;font-weight:500;color:white;text-shadow:0 1px 5px #000;pointer-events:none}dialog{max-width:600px;width:90%;border:1px solid #c5d1ba;border-radius:12px;padding:32px;color:var(--ink);background:#f7f9f0}dialog::backdrop{background:#091910bb;backdrop-filter:blur(5px)}dialog h2{font-size:24px;font-weight:500}dialog p{font-size:13px;line-height:1.8;color:#65725e}dialog a{color:#496746}#close-info{position:absolute;right:15px;top:12px;font-size:27px}#fallback{position:absolute;top:35%;left:15%;right:15%;background:#34473e;padding:25px;line-height:1.7}[hidden]{display:none!important}@media(max-width:1000px){header{gap:20px}.heading{padding-left:20px}.laboratory{grid-template-columns:minmax(0,1fr) 215px}aside{padding:23px 17px}.scene{height:600px}.control-name{font-size:9px}.story-strip{gap:15px}.story-strip button{padding:12px 15px}}@media(max-width:740px){header{padding:18px 5%;gap:16px}.brand{font-size:0;gap:0}.brand>span{font-size:27px}.heading{border:0;padding:0}h1{font-size:20px}.heading small{font-size:7px}.laboratory{grid-template-columns:1fr}.scene{height:510px}main{padding:0 4%}nav{height:72px;gap:19px}.model-badge{font-size:6px;max-width:90px;line-height:1.6}nav button{gap:6px}nav button small{font-size:10px}aside{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;padding:21px 16px}.control{padding-bottom:0}.control label{display:flex;flex-wrap:wrap;gap:3px;margin-bottom:14px}.control-name{width:100%;order:3;font-size:8px}.control-icon{font-size:23px}.mini-status{grid-column:1/3;margin:0;padding:13px 0 0;display:flex;gap:16px}.mini-status>div{flex:1;margin:0}.mini-status>div>span:nth-child(2){display:none}.buttons{grid-column:3;grid-row:2;border-top:1px solid #dce2d4;padding-top:9px;gap:5px}.buttons button{padding:5px}.buttons button span{font-size:20px}.buttons small{display:none}.visual-equation{display:none}.story-strip{gap:9px;padding:20px 0}.story-strip button{padding:8px 10px;gap:5px}.story-strip button span{font-size:19px}.story-strip button small{display:none}.story-strip>span{font-size:9px}.story-strip i{width:4px;height:4px}footer{font-size:8px;gap:14px}.scene-header{left:17px;right:17px}.annotation{font-size:8px}.gauge{width:44px;height:44px}.needle{left:22px;top:22px;width:15px}.gauge-center{left:20px;top:20px}.gauge:after{bottom:6px;font-size:8px}}

.fluid-tag,.resin-tag{line-height:1.65!important;font-size:9px!important}.fluid-tag small,.resin-tag small{font-size:8px}.fuel-tag{color:#ffd097!important;border-color:#ffae6855!important}.coolant-tag{color:#70eadc!important;border-color:#59d3bd55!important}.water-tag{color:#b6deff!important;border-color:#74bafe55!important}.yellow-tag{color:#eed389!important}.violet-tag{color:#cba6f2!important}.material-key{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:17px}.material{display:grid;grid-template-columns:22px 1fr;gap:5px 8px;border:1px solid #d7dfcf;border-radius:6px;padding:13px 12px;background:#f7f9f2;text-align:left}.material>span{grid-row:1/3;font-size:20px;align-self:center}.material strong{font-size:10px;font-weight:500;color:#5e7159}.material small{font-size:9px;color:#8b9983}.fuel>span{color:#c8752e}.coolant>span{color:#279689}.water>span{color:#4d99cc}.yellow>span{color:#ba9531}.violet>span{color:#8861b2}.ion-color-key{display:flex;gap:18px;align-items:center;justify-content:center;margin:15px 0 0;font-size:10px;color:#66765d}.ion-color-key span{display:flex;gap:5px;align-items:center}.ion-color-key i{width:7px;height:7px;border-radius:50%;display:block}.lithium{background:#a769e8}.sodium{background:#d6b625}.potassium{background:#7abb47}.fluoride{background:#32bdb3}.ion-color-key small{font-size:8px;color:#94a18a}@media(max-width:740px){.material-key{grid-template-columns:repeat(3,1fr);gap:7px}.material{padding:10px 7px;grid-template-columns:15px 1fr;gap:4px}.material strong{font-size:9px}.material small{font-size:8px}.material>span{font-size:16px}.material-key .yellow,.material-key .violet{grid-column:auto}.ion-color-key{flex-wrap:wrap;gap:12px}.ion-color-key small{width:100%;text-align:center;font-size:8px}.fluid-tag,.resin-tag{font-size:7px!important}.fluid-tag small,.resin-tag small{font-size:6px}.annotation .atom-label{font-size:10px}}
@media(min-width:741px){.fluid-tag,.resin-tag{font-size:11px!important}.fluid-tag small,.resin-tag small{font-size:9px}.material strong{font-size:12px}.material small{font-size:10px}}@media(max-width:740px){.fluid-tag{font-size:9px!important}.fluid-tag small{display:none}}

.sequence{display:flex;align-items:center;gap:17px;margin:0 0 19px}.sequence button{display:flex;align-items:center;gap:13px;background:#f7f9f2;border:1px solid #d4ddca;border-radius:6px;padding:12px 17px;color:#718366;font-size:12px}.sequence button small{font-size:9px;color:#a0ac94}.sequence button.active{background:#dee9cd;border-color:#7e956b;color:#344e2c}.sequence #fault-step.active{background:#fae5cc;border-color:#c88c49;color:#925422}.sequence>b,.sequence>span{color:#a4b098;font-size:12px}.sequence b{font-size:18px;font-weight:400}.emergency-tag{color:#ffcb87!important;border-color:#ffac5555!important;line-height:1.6;font-size:12px!important}.emergency-tag small{font-size:10px}#fault-visual{position:absolute;top:73px;left:23px;display:flex;flex-direction:column;gap:13px;background:#172823d9;border:1px solid #d9a25766;border-radius:6px;padding:15px 17px;min-width:150px;color:#f4c38b;pointer-events:none}#fault-visual strong{font-size:10px;font-weight:500;letter-spacing:.3px}#fault-symbol{font-size:29px;text-align:center}#fault-visual>div{height:4px;background:#495244;border-radius:5px;overflow:hidden}#tank-progress{height:100%;display:block;width:0;background:#ffac4e;transition:width .1s}.buttons small{font-size:8px}@media(max-width:740px){.sequence{gap:10px;margin-bottom:13px}.sequence button{font-size:10px;padding:10px 11px;gap:8px}.sequence button small{font-size:8px}#fault-visual{top:67px;left:13px;padding:10px 12px;min-width:126px;gap:8px}#fault-visual strong{font-size:8px}#fault-symbol{font-size:23px}.emergency-tag{font-size:10px!important}.emergency-tag small{font-size:8px}}

.electric-symbol{color:#e5f67a!important;font-size:32px!important;text-shadow:0 0 14px #d0ef6699!important}

.generator-meter{width:139px;background:#142824ec;border:1px solid #a3bf6977;border-radius:6px;padding:12px 13px;box-shadow:0 3px 15px #0003;pointer-events:auto;text-align:left}.generator-meter>small{font-size:7px;letter-spacing:.7px;color:#b5c596;display:block;margin-bottom:10px}.generator-meter>div{display:flex;align-items:baseline;gap:8px;margin-top:5px}.generator-meter div>span{font:italic 11px Georgia,serif;color:#9fb393;width:10px}.generator-meter strong{font:500 17px Arial,sans-serif;font-variant-numeric:tabular-nums;color:#edf6bb;flex:1;text-align:right}.generator-meter b{font:9px Arial,sans-serif;color:#c2d19f;width:9px}.electrical-readings{display:grid;grid-template-columns:1fr 1fr 1fr;gap:7px;margin:0 0 19px;border-top:1px solid #dce2d4;padding-top:14px}.electrical-readings>div{display:flex;align-items:baseline;gap:4px;justify-content:center}.electrical-readings output{font-size:15px;color:#536d47;margin:0;font-variant-numeric:tabular-nums}.electrical-readings span{font-size:9px;color:#8a9c80}.electrical-readings small{grid-column:1/-1;text-align:center;font-size:8px;color:#91a186;margin-top:3px}@media(min-width:741px){.control{padding-bottom:20px}.mini-status{margin-bottom:16px;padding-top:16px}.visual-equation{margin-top:21px}}@media(max-width:740px){.electrical-readings{grid-column:1/-1;grid-row:3;margin:0;padding-top:10px;gap:6px}.electrical-readings output{font-size:19px}.generator-meter{width:112px;padding:9px 10px}.generator-meter>small{font-size:6px}.generator-meter strong{font-size:14px}.generator-meter>div{gap:5px}}

.moving-drop{display:flex;align-items:center;gap:5px;filter:drop-shadow(0 0 6px #77bdff77)}.moving-drop svg{width:17px;height:24px}.moving-drop b{color:#d1edff;font:500 12px Arial,sans-serif}

.heat-arrow{font-size:24px;color:#ffe08a;background:#142823d9;padding:6px 12px;border-radius:6px}.annotation .thermo{margin:auto}@media(max-width:740px){nav{gap:14px}.model-badge{display:none}.nav-line{display:none}nav button small{font-size:10px}nav button>span{font-size:21px}}

.temperature-tag{font-size:15px;font-weight:600;display:inline-block;margin:5px 0 2px}.fuel-temperature{color:#ffac4e}.coolant-temperature{color:#47d8c9}.temperature-note{font-size:10px;color:#65725e;margin:0 0 12px}.steam-icon-wrap{display:inline-flex;vertical-align:middle;width:25px;height:25px;overflow:hidden;margin:0 3px}.steam-mark{width:25px;height:25px;color:#b9e5ff;animation:steam-rise 2s ease-in-out infinite}@keyframes steam-rise{0%{transform:translateY(3px);opacity:.5}55%{opacity:1}100%{transform:translateY(-3px);opacity:.5}}@media(prefers-reduced-motion:reduce){.steam-mark{animation:none}}

.laboratory{margin-top:24px}.scene{display:flex;flex-direction:column}.scene-viewport{position:relative;flex:1;min-height:0;overflow:hidden}.scene-toolbar{flex:none;position:relative;z-index:2;display:flex;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#6d8d78 #182b2b;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;background:#182b2b;border-bottom:1px solid #526d5a55;color:#c6d8ce}.scene-toolbar .scene-tabs{flex:0 0 auto;height:auto;gap:4px;display:flex;flex-wrap:nowrap}.scene-toolbar .scene-tabs button{opacity:1;gap:6px;padding:9px 10px;min-height:40px;border:1px solid transparent;border-radius:5px;color:#9cb6aa}.scene-toolbar .scene-tabs button.selected{color:#e3f3cf;background:#3d5849;border-color:#719369}.scene-toolbar .scene-tabs button>span{font-size:19px}.scene-toolbar .scene-tabs button small{font-size:11px}.scene-toolbar .sequence{flex:0 0 auto;flex-wrap:nowrap;gap:6px;margin:0 0 0 auto}.scene-toolbar .sequence>span{display:none}.scene-toolbar .sequence button{min-height:40px;padding:9px 11px;gap:7px;background:#203632;border-color:#536b5b;color:#aac1b1;font-size:11px}.scene-toolbar .sequence button small{color:inherit;opacity:.6;font-size:8px}.scene-toolbar .sequence button.active{background:#3b5541;color:#e0edcc;border-color:#7b9564}.scene-toolbar .sequence #fault-step.active{background:#65492d;color:#ffdbad;border-color:#c5945d}.scene-toolbar .sequence #fault-step b{font-size:16px}.scene-toolbar button:focus-visible{outline:2px solid #d9ebaf;outline-offset:2px}
.scene-toolbar button{height:40px;white-space:nowrap;flex-shrink:0}
@media(max-width:740px){.laboratory{margin-top:18px}.scene{height:570px}.scene-toolbar{padding:9px 10px}.scene-toolbar .scene-tabs{justify-content:space-between;gap:3px}.scene-toolbar .scene-tabs button{padding:8px 7px;gap:5px;min-height:40px}.scene-toolbar .scene-tabs button small{font-size:10px}.scene-toolbar .scene-tabs button>span{font-size:18px}.scene-toolbar .sequence{justify-content:stretch}.scene-toolbar .sequence button{flex:0 0 auto;justify-content:center;font-size:10px;padding:8px 7px}.scene-toolbar .sequence button small{font-size:8px}}

/* Multilingual controls and fuel markings anchored inside the reactor. */
.reactor-sign {display:block;color:#ffe3a2;font-size:44px;line-height:1;text-shadow:0 2px 4px #6d2900,0 0 15px #ff9e20}
.thorium-mark {display:block;color:#fff8da;font-size:27px;font-weight:bold;line-height:1.1;text-align:center;text-shadow:0 2px 4px #602300}
.thorium-mark small {display:block;font-size:17px;margin-top:4px}
.fuel-symbol {font-size:20px!important;font-weight:bold!important;color:#fff0c2!important;text-shadow:0 1px 3px #732d05}
.thorium-cycle {font-size:15px!important;color:#ffe6b1!important}
.material.fuel small {font-size:13px;font-weight:bold}
header .heading {padding-left:0;border:0} header {gap:18px} header #info {margin-left:0}
@media(max-width:650px){header{flex-wrap:wrap;padding:16px 4%}header .heading h1{font-size:17px}.reactor-sign{font-size:34px}.thorium-mark{font-size:23px}.thorium-cycle{font-size:11px!important}}

.annotation .atom-label {font-size:16px;}

/* Iframe-first layout: no page chrome, all available space belongs to WebGL. */
html,body.canvas-only {width:100%;height:100%;margin:0;overflow:hidden;background:#0c181a}
body.canvas-only>header,body.canvas-only aside,body.canvas-only main> :not(.laboratory),body.canvas-only .scene-toolbar,body.canvas-only .scene-header,body.canvas-only .view-tools,body.canvas-only .scene-bottom,body.canvas-only .color-key,body.canvas-only .thermal-scale {display:none!important}
body.canvas-only main,body.canvas-only .laboratory {width:100%;height:100%;max-width:none;margin:0;padding:0;display:block}
body.canvas-only .scene {width:100%;height:100%;border:0;border-radius:0;box-shadow:none;display:block}
body.canvas-only .scene-viewport {position:absolute;inset:0;width:100%;height:100%}
body.canvas-only #scene {display:block;width:100%;height:100%;touch-action:none}
body.canvas-only.with-controls .scene-toolbar {display:flex!important;position:absolute;top:0;left:0;right:0;z-index:5;background:#182b2be8;padding:5px 8px}
body.canvas-only.with-controls .view-tools {display:flex!important;z-index:5}
.thermal-reading {display:block;font-size:12px;color:#fff4d1;background:#122321d9;padding:3px;margin-top:4px;border-radius:3px}

/* Default embedded toolbars; page chrome remains hidden. */
body.canvas-only.with-controls .scene-header {display:flex!important;top:66px;z-index:4}
body.canvas-only.with-controls .scene-bottom {display:flex!important;z-index:4}
body.canvas-only.with-controls .color-key:not([hidden]) {display:flex!important}
body.canvas-only.with-controls .thermal-scale:not([hidden]) {display:flex!important}
body.canvas-only .view-tools #info {margin:0;color:#bfcdc1;font-size:20px}
body.canvas-only .scene-toolbar .scene-tabs button {padding:7px 8px}
body.canvas-only #details {max-height:80vh;overflow:auto}
