:root{--navy:#15212a;--dark:#111b23;--dim:#85949a;--cream:#f3f2ec;--border:#d8dcd8;--accent:#bf6d49;--mint:#a6d0c5;--white:#fff;color-scheme:light}
*{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;background:#e9ece7;color:#213139}button,select,input{font:inherit}button{cursor:pointer}button:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #d79260;outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.46}
.app{min-height:100vh;display:flex;flex-direction:column}.topbar{height:70px;min-height:70px;background:#111e27;color:#e5e9e8;padding:0 31px 0 27px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #293d43}.brand{display:flex;align-items:center;gap:13px}.brandglyph{font-size:40px;color:#c9815b;line-height:1}.brand b{font-size:14px;letter-spacing:.17em;font-weight:850}.brand b span{color:#a8c7c1}.brand small{display:block;font-size:8px;letter-spacing:.25em;margin-top:5px;color:#85979c}.topright{display:flex;gap:27px;align-items:center}.edition{font-size:10px;letter-spacing:.16em;color:#8d9fa4}.status{font-size:10px;font-weight:750;color:#bad8cc;letter-spacing:.11em}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 362px;flex:1;min-height:0}.viewport-section{display:flex;min-width:0;flex-direction:column;background:var(--cream)}.viewport-toolbar{height:53px;min-height:53px;display:flex;justify-content:space-between;align-items:center;padding:0 29px;background:#f5f5ef;border-bottom:1px solid #dce1d9}.eyebrow{font-size:10px;letter-spacing:.19em;font-weight:760;color:#a16e51}.viewnav{display:flex;gap:6px}.viewnav button{border:0;background:transparent;padding:8px 12px;font-size:9px;letter-spacing:.10em;font-weight:790;color:#80908e}.viewnav button.active{color:#273b43;background:#e4e9e3;border-radius:4px}.stage{height:clamp(470px,calc(100vh - 305px),980px);min-height:470px;position:relative;overflow:hidden;background:#95c7d7;isolation:isolate}.stage canvas{width:100%;height:100%;display:block;touch-action:none;outline:none}.stage-gradient{pointer-events:none;position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(19,37,45,.56),rgba(19,37,45,.22) 38%,transparent 74%),linear-gradient(0deg,rgba(14,33,39,.42),transparent 24%)}.scene-title{position:absolute;z-index:2;color:white;top:45px;left:46px;pointer-events:none;text-shadow:0 2px 19px rgba(4,25,28,.2)}.scene-index{font-size:10px;letter-spacing:.24em;font-weight:700;color:#d2e4d5}.scene-title h1{margin:17px 0 18px;font-size:clamp(34px,4.2vw,71px);font-weight:760;letter-spacing:-.045em;line-height:.97}.scene-title em{font-style:normal;color:#f0c4a6;font-weight:420}.scene-sub{font-size:10px;letter-spacing:.32em;font-weight:700;color:#e3e9df}.hotspot{z-index:3;position:absolute;left:50%;top:50%;display:flex;gap:9px;align-items:center;pointer-events:none;transform:translate(-9px,-9px);opacity:0;transition:opacity .2s}.hotspot .ring{width:16px;height:16px;min-width:16px;border:1px solid #fff;border-radius:50%;box-shadow:0 0 0 6px #ffffff32;position:relative}.hotspot .ring:before{content:"";position:absolute;width:5px;height:5px;border-radius:50%;background:#fff;top:4.5px;left:4.5px}.tag{font-size:9px;font-weight:850;letter-spacing:.12em;color:white;background:#1e3435b8;padding:7px 10px;border:1px solid #d9ebdd50;white-space:nowrap}.bottom-left,.bottom-right{position:absolute;bottom:25px;z-index:4;color:#eef1e9;display:flex;gap:9px;align-items:center;font-size:9px;letter-spacing:.10em;font-weight:750}.bottom-left{left:35px}.bottom-right{right:24px}.kbd{border:1px solid #dce9d78c;padding:5px 8px;border-radius:3px;color:#d3e3dd;font-size:9px}.bottom-right button{border:1px solid #d8e5da91;background:#15353a99;color:#edf5ed;padding:10px 12px;border-radius:3px;font-size:9px;letter-spacing:.09em;font-weight:700}.bottom-right button:hover{background:#214a4c}.error{position:absolute;inset:35%;z-index:9;background:#fff;color:#b43b34;padding:25px;font-size:15px;box-shadow:0 8px 25px #0003}.readout-strip{display:grid;grid-template-columns:repeat(4,1fr);background:#e7e9e2;border-bottom:1px solid #d2d6d0}.reading{padding:22px 25px 18px;min-width:0;border-right:1px solid #d1d7d0}.reading:last-child{border-right:0}.reading small{font-size:9px;letter-spacing:.13em;display:block;color:#758680;font-weight:750;white-space:nowrap}.reading strong{font-size:26px;letter-spacing:-.04em;color:#1c343d;display:block;margin-top:5px;font-weight:700}.reading strong span{font-size:11px;color:#72827f;font-weight:600;letter-spacing:0}.story{display:flex;align-items:center;gap:20px;padding:23px 31px 24px}.story-numeral{font-size:10px;font-weight:780;letter-spacing:.13em;white-space:nowrap;color:#b37153}.story p{line-height:1.65;color:#566660;font-size:12px;max-width:590px;margin:0}.story button{border:none;white-space:nowrap;background:none;color:#9b664f;font-size:10px;font-weight:800;letter-spacing:.10em;margin-left:auto}.story button:hover{text-decoration:underline}
.sidebar{background:#14212a;color:#dae2df;min-width:0;display:flex;flex-direction:column;border-left:1px solid #2b393c;height:calc(100vh - 70px);min-height:835px}.control-heading{padding:18px 26px;height:53px;min-height:53px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #334047;font-size:10px;letter-spacing:.13em;color:#b9c7c6;font-weight:770}.led{border-radius:50%;height:7px;width:7px;background:#a7d0b0;box-shadow:0 0 8px #8cc29999}.led.alert{background:#e47b5a;box-shadow:0 0 7px #c76549}.side-scroll{padding:23px 25px 27px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#4c5d62 transparent}.module-num{font-size:10px;letter-spacing:.18em;font-weight:800;color:#b77757}.side-scroll h2{font-size:27px;line-height:1.08;margin:10px 0 11px;font-weight:760;letter-spacing:-.033em}.side-scroll h2 em{font-style:normal;color:#d99a78;font-weight:450}.intro{font-size:11.6px;line-height:1.6;color:#93a3a7;margin:0 0 19px}.operation-status{padding:13px 14px 11px;background:#1c313a;border:1px solid #2f4851}.operation-status>span:first-child{font-size:9px;letter-spacing:.14em;color:#9bb2b7}.operation-status b{font-size:11px;float:right;color:#d4e5de;letter-spacing:.1em}.progress-track{height:5px;margin:18px 0 9px;background:#4e626a;overflow:hidden}.progress-track div{width:0;height:100%;background:#d48f67;transition:width .12s linear}.operation-status>span:last-child{font-size:9px;color:#8baba8;letter-spacing:.10em}.controls{margin-top:21px}.section-heading{border-top:1px solid #3a4b51;display:flex;align-items:center;justify-content:space-between;padding-top:13px;margin:22px 0 17px;color:#cbd7d4}.section-heading b{font-size:10px;letter-spacing:.14em}.section-heading span{font-size:10px;color:#b47c61}.control-title{font-size:11px;color:#c9d4d1;display:flex;justify-content:space-between;gap:10px;margin:15px 0 9px;font-weight:600}.control-title output{color:#d99a78;font-weight:800}input[type=range]{width:100%;height:5px;accent-color:#d28a63;cursor:pointer;display:block;margin:8px 0}.range-ends{display:flex;justify-content:space-between;margin-bottom:8px;color:#7e9295;font-size:9px;letter-spacing:.08em;font-weight:690}.notice{font-size:10px;line-height:1.5;color:#82979a;background:#1a2c34;padding:10px 12px;border-left:2px solid #bb7f5f;margin-top:13px}.rowcontrol{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:15px 0}.rowcontrol label{font-size:11px;color:#c0cfcd}.sidebar select{appearance:none;background:#20333d;color:#d9e2e0;border:1px solid #3d5055;border-radius:2px;padding:9px 23px 9px 9px;font-size:10px;max-width:100%;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='m1 1 5 5 5-5' stroke='%23abc4bd' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.control-title+select{width:100%}.buttons{display:flex;gap:7px;margin-top:19px}.buttons button{flex:1;min-height:39px;min-width:0;letter-spacing:.055em;font-size:10px;font-weight:790;border-radius:2px;padding:10px 8px;border:1px solid #627278;background:transparent;color:#dbe5df}.buttons .primary,.primary{background:#c67a53;border-color:#c67a53;color:#fff}.buttons .primary:hover,.primary:hover{background:#d28a64}.buttons .secondary:hover{background:#2c4550}.buttons.secondary-row{margin-top:7px}.buttons .danger{color:#dfa097;border-color:#9a5a56}.buttons .danger:hover{background:#4b3031}.mini-metrics{margin-top:23px;display:grid;grid-template-columns:1fr 1fr;gap:16px;border-top:1px solid #374b51;padding-top:20px}.mini-metrics small{display:block;font-size:9px;color:#91a3a4;letter-spacing:.1em;font-weight:650}.mini-metrics b{display:block;font-size:17px;margin-top:4px;color:#e4e9df;font-variant-numeric:tabular-nums}.model-notice{background:#1b3037;border-left:2px solid #ac8465;padding:11px 12px;margin-top:23px}.model-notice b{font-size:9px;letter-spacing:.14em;color:#d59c7f}.model-notice p{font-size:10px;color:#9aabad;line-height:1.6;margin:5px 0}.sidebar footer{min-height:37px;border-top:1px solid #2f4148;display:flex;align-items:center;justify-content:center;gap:10px;font-size:8px;letter-spacing:.11em;font-weight:800;color:#789095}.sidebar footer span{color:#b57b5c}dialog{border:0;max-width:580px;width:min(90vw,580px);border-radius:3px;padding:37px;background:#f6f5ef;color:#253a40;box-shadow:0 30px 80px #0006}dialog::backdrop{background:#0b1d26ba;backdrop-filter:blur(5px)}dialog h2{font-size:38px;letter-spacing:-.04em;line-height:1.05;margin:15px 0}dialog p{line-height:1.75;color:#566861;font-size:13px}dialog .fineprint{font-size:11px;color:#82908c}.formula{padding:19px;background:#e4e7df;border-left:3px solid #b97b55;font:16px/1.8 Georgia,serif;color:#3b5654}.close{position:absolute;top:15px;right:15px;border:0;background:none;font-size:27px;color:#536663}.close-bottom{border:0;padding:12px 17px;font-weight:750;font-size:11px;margin-top:10px;letter-spacing:.1em}
@media(max-width:1180px){.workspace{grid-template-columns:minmax(0,1fr) 326px}.sidebar{min-height:790px}.stage{height:clamp(430px,calc(100vh - 290px),800px)}.scene-title{left:28px;top:36px}.reading{padding:17px}.reading strong{font-size:23px}.story{flex-wrap:wrap}}
@media(max-width:940px){.workspace{display:flex;flex-direction:column}.sidebar{height:auto;min-height:0}.side-scroll{overflow:visible}.stage{height:65vh;min-height:460px}.sidebar .side-scroll{display:block;max-width:700px;width:100%;margin:auto}.topright .edition{display:none}.readout-strip{grid-template-columns:1fr 1fr}.reading:nth-child(2){border-right:0}.reading:nth-child(-n+2){border-bottom:1px solid #d1d7d0}}
@media(max-width:550px){.topbar{padding:0 17px;height:62px;min-height:62px}.brand b{font-size:11px}.brand small{font-size:7px}.brandglyph{font-size:30px}.status{font-size:8px}.viewport-toolbar{padding:0 12px}.viewport-toolbar .eyebrow{display:none}.viewnav{width:100%;justify-content:space-between}.viewnav button{font-size:9px;padding:8px 6px}.stage{height:59vh;min-height:415px}.scene-title{left:19px;top:22px}.scene-title h1{font-size:40px}.scene-index,.scene-sub{font-size:8px}.bottom-left{left:13px;bottom:15px;gap:5px;font-size:8px}.bottom-left .kbd:nth-of-type(2),.bottom-left .kbd:nth-of-type(3){display:none}.bottom-right{right:12px;bottom:53px}.bottom-right button{padding:8px}.tag{font-size:7px;padding:5px}.reading{padding:14px}.reading small{font-size:8px}.reading strong{font-size:22px}.story{padding:17px;gap:11px}.story p{font-size:11px}.story button{margin-left:0}.sidebar footer{flex-wrap:wrap}}
