:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#eef4f8;background:#0d1117;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden}button{font:inherit;cursor:pointer}.title-shell,.character-shell,.app-shell{--stage-ratio: 1672 / 941;--title-stage-width: min(1320px, calc(100vw - 32px) , calc((100vh - 32px) * var(--stage-ratio)));--game-stage-width: min(1320px, calc(100vw - 32px) , calc((100vh - 92px) * var(--stage-ratio)));min-height:100vh;display:grid;place-items:center;padding:16px;background:linear-gradient(180deg,#080c127a,#080c12eb),#0d1117}.title-screen{position:relative;width:var(--title-stage-width);aspect-ratio:1672 / 941;overflow:hidden;border:1px solid rgba(255,255,255,.12);background:url(../assets/screens/title.png) center / contain no-repeat;box-shadow:0 24px 70px #00000085}.exercise-select-screen{background-image:url(../assets/screens/achtergrond-oefeningen.png)}.character-shell{align-content:center}.character-select{width:min(980px,calc(100vw - 32px));display:grid;gap:24px;padding:28px;border:1px solid rgba(255,255,255,.15);background:linear-gradient(180deg,#1c2a38eb,#0f161ef0),#121b24;box-shadow:0 24px 70px #00000085}.character-heading{display:grid;gap:6px;text-align:center}.character-heading p,.character-heading h1{margin:0}.character-heading p{color:#79c8ff;font-weight:800;text-transform:uppercase}.character-heading h1{font-size:clamp(1.7rem,3vw,3rem);line-height:1.1}.character-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.character-card{min-height:320px;display:grid;grid-template-rows:1fr auto;gap:14px;padding:18px;color:#eef7fc;border:1px solid rgba(255,255,255,.16);background:#ffffff14;box-shadow:inset 0 1px #ffffff14;font-size:1.2rem;font-weight:900}.character-card:hover,.character-card:focus-visible{border-color:#79c8ff;background:#2a81bc3d;outline:none}.character-back-button{justify-self:center;min-width:180px;min-height:44px;padding:0 24px;color:#f3f7fb;border:1px solid #5f6973;border-radius:8px;background:linear-gradient(180deg,#30363d,#20252b);font-weight:900;text-transform:uppercase}.character-back-button:hover,.character-back-button:focus-visible{color:#fff;border-color:#97d5ff;background:linear-gradient(180deg,#2b95e5,#1868b1);outline:none}.character-preview{min-height:250px;background-position:center bottom;background-repeat:no-repeat;background-size:contain;filter:drop-shadow(0 14px 10px rgba(0,0,0,.32))}.title-menu{position:absolute;inset:0}.title-menu-button{position:absolute;left:40.43%;width:17.58%;height:7.75%;display:grid;grid-template-columns:18% auto;align-items:center;justify-content:center;gap:6%;padding:0 10%;color:#f3f7fb;border:1px solid #5f6973;border-radius:8px;background:linear-gradient(180deg,#30363d,#20252b);box-shadow:inset 0 1px #ffffff2e,0 6px 18px #0000003d;text-align:center;text-transform:uppercase;font-size:clamp(.8rem,calc(var(--title-stage-width) * .018),1.65rem);font-weight:900}.title-main-menu .title-menu-button,.title-offset-menu .title-menu-button{transform:translateY(60px)}.practice-menu .title-menu-button{grid-template-columns:auto minmax(0,1fr);padding:0 1%;gap:6%;font-size:clamp(.6rem,calc(var(--title-stage-width) * .014),1.15rem);line-height:1.1}.practice-menu .title-menu-button span{min-width:0;overflow-wrap:anywhere}.practice-menu .title-menu-button svg{width:clamp(12px,calc(var(--title-stage-width) * .018),24px);height:auto}.tutorials-menu .title-menu-button{left:auto;width:20.5%;height:7.75%;padding:0 7%}.tutorial-menu-1,.tutorial-menu-2{top:calc(39.1% + 60px)}.tutorial-menu-3,.tutorial-menu-4{top:calc(50.05% + 60px)}.tutorial-menu-5{top:calc(60.95% + 60px)}.tutorial-menu-1,.tutorial-menu-3,.tutorial-menu-5{left:28%}.tutorial-menu-2,.tutorial-menu-4{left:51.5%}.tutorial-menu-back{top:calc(72% + 60px);left:39.75%}.simulations-menu .title-menu-button{left:auto;width:20.5%;height:7.75%;padding:0 7%}.simulation-menu-1,.simulation-menu-4{top:calc(39.1% + 60px)}.simulation-menu-2,.simulation-menu-5{top:calc(50.05% + 60px)}.simulation-menu-3{top:calc(60.95% + 60px)}.simulation-menu-1,.simulation-menu-2,.simulation-menu-3{left:28%}.simulation-menu-4,.simulation-menu-5{left:51.5%}.simulation-menu-back{top:84.95%;left:39.75%}.tutorials-menu,.simulations-menu{inset:auto auto auto 50%;top:calc(33% + 45px);width:48%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 24px;transform:translate(-50%)}.tutorials-menu{top:calc(36% + 60px);width:72%;grid-template-columns:repeat(3,minmax(0,1fr))}.simulations-menu{top:calc(37% + 50px);width:72%;grid-template-columns:repeat(3,minmax(0,1fr))}.game-mode-menu{inset:auto auto auto 50%;top:calc(39.1% + 60px);width:48%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 24px;transform:translate(-50%)}.game-mode-menu .title-menu-button{position:static;width:100%;height:56px;grid-template-columns:1fr;padding:0 16px;transform:none}.game-mode-menu .title-menu-button svg{display:none}.game-mode-tutorials,.game-mode-back{grid-column:1 / -1;justify-self:center;width:calc((100% - 24px)/2)!important}.game-mode-tutorials{grid-row:1}.game-mode-practice{grid-column:1;grid-row:2}.game-mode-simulations{grid-column:2;grid-row:2}.game-mode-escape{grid-column:1;grid-row:3}.game-mode-coop{grid-column:2;grid-row:3}.game-mode-back{grid-row:4}.tutorials-menu .title-menu-button,.simulations-menu .title-menu-button{position:static;width:100%;height:52px;grid-template-columns:1fr;padding:0 16px;transform:none}.simulations-menu .title-menu-button{font-size:clamp(.72rem,calc(var(--title-stage-width) * .0125),1.1rem)}.tutorials-menu .title-menu-button{font-size:clamp(.68rem,calc(var(--title-stage-width) * .0115),1rem)}.tutorials-menu .title-menu-button svg,.simulations-menu .title-menu-button svg,.pitch-demos-menu .title-menu-button svg{display:none}.tutorial-menu-1,.tutorial-menu-2,.tutorial-menu-3,.tutorial-menu-4,.tutorial-menu-5,.tutorial-menu-6,.tutorial-menu-7,.tutorial-menu-8,.tutorial-menu-9,.tutorial-menu-10,.tutorial-menu-11,.tutorial-menu-back,.simulation-menu-1,.simulation-menu-2,.simulation-menu-3,.simulation-menu-4,.simulation-menu-5,.simulation-menu-6,.simulation-menu-7,.simulation-menu-8,.simulation-menu-9,.simulation-menu-10,.simulation-menu-11,.simulation-menu-pitch,.simulation-menu-back{left:auto;top:auto}.simulation-menu-1{grid-column:1;grid-row:1}.simulation-menu-2{grid-column:2;grid-row:1}.simulation-menu-3{grid-column:3;grid-row:1}.simulation-menu-4{grid-column:2;grid-row:2}.simulation-menu-5{grid-column:3;grid-row:2}.simulation-menu-6{grid-column:1;grid-row:2}.simulation-menu-7{grid-column:1;grid-row:3}.simulation-menu-8{grid-column:2;grid-row:3}.simulation-menu-9{grid-column:3;grid-row:3}.simulation-menu-10{grid-column:1;grid-row:4}.simulation-menu-11{grid-column:2;grid-row:4}.simulations-menu .simulation-menu-pitch{grid-column:3;grid-row:4;width:100%;margin-top:0}.tutorials-menu .tutorial-menu-back,.simulations-menu .simulation-menu-back{grid-column:1 / -1;justify-self:center;width:calc((100% - 24px)/2);margin-top:8px}.simulations-menu .simulation-menu-back{grid-column:2;grid-row:5;width:100%;transform:translateY(-10px)}.pitch-demos-menu{inset:auto auto auto 50%;top:calc(39.1% + 60px);width:34%;display:grid;grid-template-columns:1fr;gap:14px;transform:translate(-50%)}.pitch-demos-menu .title-menu-button{position:static;width:100%;height:58px;grid-template-columns:1fr;padding:0 16px;transform:none}.title-menu-button svg{width:100%;height:auto}.title-menu-start{top:39.1%;height:9.45%}.title-menu-tutorial{top:50.05%}.title-menu-missions{top:58.8%}.title-menu-settings{top:67.55%}.title-menu-over,.title-menu-quit{top:76.25%}.title-menu-back-low{top:84.95%}.title-menu-button:hover,.title-menu-button:focus-visible{color:#fff;border-color:#97d5ff;background:linear-gradient(180deg,#2b95e5,#1868b1);outline:none}.title-menu-disabled{cursor:default;color:#e0e4e8;border-color:#8d969e;background:linear-gradient(180deg,#868e96,#69717a);box-shadow:none;opacity:.72}.title-menu-disabled:hover,.title-menu-disabled:focus-visible,.title-menu-disabled:disabled{color:#e0e4e8;border-color:#8d969e;background:linear-gradient(180deg,#868e96,#69717a);outline:none}.title-sound-panel{position:absolute;left:50%;top:calc(30% + 60px);width:52%;display:grid;gap:16px;transform:translate(-50%);padding:22px;color:#f3f7fb;border:1px solid rgba(255,255,255,.16);border-radius:8px;background:#10161d;box-shadow:0 14px 34px #00000047}.title-sound-panel h1{margin:0;text-align:center;text-transform:uppercase;font-size:clamp(1.1rem,calc(var(--title-stage-width) * .022),1.9rem)}.title-sound-settings{display:grid;gap:12px}.title-sound-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.title-sound-actions .title-menu-button{position:static;width:100%;height:52px;grid-template-columns:1fr;padding:0 12px;transform:none;font-size:clamp(.74rem,calc(var(--title-stage-width) * .012),1.05rem)}.title-sound-actions .title-menu-button svg{display:none}.title-sound-actions .title-sound-button-active{color:#fff;border-color:#97d5ff;background:linear-gradient(180deg,#2b95e5,#1868b1);box-shadow:inset 0 1px #ffffff3d,0 0 0 2px #97d5ff47,0 8px 22px #1868b152}.exercise-menu{position:absolute;left:14%;top:calc(37.5% + 100px);width:72%;display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:10px}.exercise-number-button,.exercise-back-button{min-height:50px;display:grid;place-items:center;gap:2px;color:#f3f7fb;border:1px solid #5f6973;border-radius:8px;background:linear-gradient(180deg,#30363d,#20252b);box-shadow:inset 0 1px #ffffff2e,0 6px 18px #0000003d;font-size:clamp(.95rem,calc(var(--title-stage-width) * .018),1.45rem);font-weight:900}.exercise-number-button small{display:block;color:#b9cbd7;font-size:clamp(.44rem,calc(var(--title-stage-width) * .0065),.62rem);font-weight:800;line-height:1}.exercise-number-button:hover small,.exercise-number-button:focus-visible small{color:#fff}.exercise-number-button:hover,.exercise-number-button:focus-visible,.exercise-back-button:hover,.exercise-back-button:focus-visible{color:#fff;border-color:#97d5ff;background:linear-gradient(180deg,#2b95e5,#1868b1);outline:none}.exercise-number-disabled{opacity:.45;cursor:default}.exercise-number-disabled:hover,.exercise-number-disabled:focus-visible{border-color:#5f6973;background:linear-gradient(180deg,#30363d,#20252b)}.exercise-back-button{grid-column:1 / -1;justify-self:center;width:min(280px,100%)}.quit-message{position:absolute;left:50%;bottom:5.5%;transform:translate(-50%);width:min(560px,calc(100% - 32px));margin:0;padding:10px 14px;color:#112638;background:#eff8fff0;border:1px solid rgba(255,255,255,.64);text-align:center;font-weight:700}.app-shell{grid-template-rows:auto auto;align-content:start;gap:14px}.hud{width:var(--game-stage-width);display:flex;align-items:center;justify-content:space-between;gap:12px}.hud-group{display:flex;align-items:center;gap:10px;min-width:0}.hud-group.hud-location{justify-content:flex-start}.badge,.progress,.hud-button{min-height:40px;display:inline-flex;align-items:center;gap:8px;padding:0 12px;border:1px solid rgba(255,255,255,.16);background:#121b24d1;box-shadow:0 8px 24px #00000038;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.badge{max-width:min(56vw,460px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:800}.progress{color:#d7e5ed;font-weight:700}.icon-button,.close-button{width:40px;height:40px;display:inline-grid;place-items:center;border:1px solid rgba(255,255,255,.16);color:#eef4f8;background:#121b24e0}.icon-button:hover,.close-button:hover,.hud-button:hover{background:#243340f0}.hud-button{color:#eef4f8;font-weight:800}.game-frame{position:relative;width:var(--game-stage-width)}.game-area{position:relative;width:100%;aspect-ratio:1672 / 941;overflow:hidden;border:1px solid rgba(255,255,255,.16);background-color:#20282e;background-position:center;background-size:contain;background-repeat:no-repeat;box-shadow:0 20px 50px #0000007a;isolation:isolate}.game-area:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.04),transparent 32%,transparent 70%,rgba(0,0,0,.13)),radial-gradient(circle at 50% 48%,transparent 0 62%,rgba(0,0,0,.12) 100%);z-index:4}.player,.maintenance-npc{position:absolute;width:7.67%;aspect-ratio:.62;transform:translate(-50%,-86%);z-index:3;background-repeat:no-repeat;background-position:center bottom;background-size:contain;filter:drop-shadow(0 10px 9px rgba(0,0,0,.42));transform-origin:50% 92%}.maintenance-npc{width:7.77%;z-index:3;transform:translate(-50%,-94%)}.player.is-walking,.maintenance-npc.is-walking{animation:lab-walk .34s ease-in-out infinite}.analytical-lab-cutout{position:absolute;left:0;bottom:0;width:76.2%;height:auto;z-index:4;pointer-events:none;-webkit-user-select:none;user-select:none}.analytical-lab-shower-overlay{position:absolute;right:0;bottom:0;width:9.99%;height:auto;z-index:5;pointer-events:none;-webkit-user-select:none;user-select:none}.lab-instrument-light{position:absolute;z-index:2;width:.18%;height:.11%;border-radius:999px;background:#54ff65;box-shadow:0 0 4px #54ff65f2,0 0 9px #54ff65bf;animation:uvvisBlink 1s steps(1,end) infinite;pointer-events:none}.lab-instrument-light-error{background:#ff3b3b;box-shadow:0 0 4px #ff3b3bf2,0 0 9px #ff3b3bbf}.lab-gc-light{left:61.78%;top:21.79%}.lab-gc-ms-light-1{left:63.52%;top:22.1%}.lab-gc-ms-light-2{left:69.5%;top:23.17%}.lab-hplc-light-1{left:35.59%;top:18.6%}.lab-icp-plasma-mini{position:absolute;left:85.35%;top:19.45%;z-index:2;width:.9%;height:1.17%;overflow:hidden;border-radius:0;background:radial-gradient(ellipse at 54% 58%,rgba(118,255,176,1) 0 30%,rgba(42,222,140,.88) 50%,rgba(42,222,140,.32) 78%,transparent 100%),#46ff9c75;box-shadow:inset 0 0 8px #76ffb0fa,0 0 9px #2ade8cf2,0 0 15px #76ffb0a6;animation:icpLabPlasmaPulse .15s ease-in-out infinite;pointer-events:none}.lab-icp-plasma-mini:after{content:"";position:absolute;inset:0;border-radius:inherit;background:#0000008f}.lab-icp-plasma-mini-stressed{background:radial-gradient(ellipse at 54% 58%,rgba(118,255,176,1) 0 30%,rgba(42,222,140,.86) 50%,rgba(42,222,140,.3) 78%,transparent 100%),#46ff9c75;box-shadow:inset 0 0 8px #76ffb0fa,0 0 9px #2ade8cf2,0 0 15px #76ffb0a6;animation:icpLabPlasmaStressPulse 38ms linear infinite}.lab-icp-plasma-mini-stressed:after{background:#0000008f}.lab-hplc-light-2{left:34.93%;top:20.94%}.lab-hplc-light-3{left:34.93%;top:22%}.lab-hplc-light-4{left:34.93%;top:22.85%}.lab-icp-status-light{left:87.26%;top:22.42%}.lab-instrument-light-ready{animation:none}.lab-instrument-light-measuring{animation:uvvisBlink 1s steps(1,end) infinite}.lab-instrument-light-starting{background:#ff9f1c;box-shadow:0 0 4px #ff9f1cf2,0 0 9px #ff9f1cbf;animation:uvvisBlink .8s steps(1,end) infinite}.preparation-lab-cutout,.preparation-lab-cutout-left{position:absolute;left:0;bottom:0;width:100%;height:auto;z-index:4;pointer-events:none;-webkit-user-select:none;user-select:none}@keyframes lab-walk{0%,to{transform:translate(-50%,-86%) translateY(0) rotate(-1.1deg) scaleX(1.01);filter:drop-shadow(0 10px 9px rgba(0,0,0,.42))}50%{transform:translate(-50%,-86%) translateY(-2.2%) rotate(1.1deg) scaleX(.99);filter:drop-shadow(0 13px 8px rgba(0,0,0,.34))}}.interaction-prompt{position:absolute;left:50%;bottom:24px;transform:translate(-50%);z-index:5;display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 12px;color:#eef7fb;border:1px solid rgba(129,205,245,.62);border-radius:8px;background:linear-gradient(180deg,#162431f5,#0a141ef5);box-shadow:0 14px 32px #00000057,inset 0 1px #ffffff14;font-weight:800}.interaction-prompt span{color:#83d2ff;font-size:.7rem;letter-spacing:0;text-transform:uppercase}.interaction-prompt strong{max-width:min(360px,calc(var(--game-stage-width) * .35));overflow:hidden;color:#fff;font-size:.92rem;text-overflow:ellipsis;white-space:nowrap}.interaction-prompt kbd{min-width:52px;height:28px;margin:0;color:#fff;border-color:#81cdf5b8;background:#176986e6;box-shadow:inset 0 -2px #00000047}.exercise-assignment-panel{position:absolute;left:18px;top:18px;z-index:4;width:min(520px,46%);padding:15px 42px 15px 16px;color:#eaf5f9;border:1px solid rgba(129,205,245,.62);border-radius:8px;background:linear-gradient(180deg,#162431f7,#0a141ef7);box-shadow:0 18px 42px #0000005c,inset 0 1px #ffffff14}.exercise-assignment-panel h2,.exercise-assignment-panel p{margin:0}.exercise-assignment-panel h2{margin-bottom:5px;color:#fff;font-size:clamp(.9rem,calc(var(--game-stage-width) * .012),1.18rem)}.exercise-assignment-panel p{color:#d8e9f1;font-size:clamp(.72rem,calc(var(--game-stage-width) * .0085),.92rem);font-weight:750;line-height:1.35;white-space:pre-line}.assignment-kicker{margin-bottom:4px!important;color:#83d2ff!important;font-size:.7rem!important;font-weight:900!important;letter-spacing:0;text-transform:uppercase}.exercise-assignment-panel button{margin-top:10px;min-height:34px;padding:0 18px;color:#fff;border:1px solid #1d83b1;background:linear-gradient(180deg,#218fc1,#176986);font-weight:900;text-transform:uppercase}.exercise-assignment-panel button:hover,.exercise-assignment-panel button:focus-visible{background:linear-gradient(180deg,#2ba9e0,#1b789b);outline:none}.exercise-assignment-panel .assignment-close-button{position:absolute;top:8px;right:8px;display:grid;width:30px;min-height:30px;height:30px;place-items:center;margin:0;padding:0;color:#d8e9f1;border:1px solid rgba(129,205,245,.45);border-radius:6px;background:#ffffff0f}.exercise-assignment-panel .assignment-close-button:hover,.exercise-assignment-panel .assignment-close-button:focus-visible{color:#fff;background:#2ba9e052}.tutorial-step-panel{left:auto;right:18px;top:18px;z-index:24;width:min(430px,34%)}.tutorial-step-panel-left{left:18px;right:auto}.tutorial-step-panel-compact{width:min(300px,25%);padding:9px 11px;opacity:.9}.tutorial-step-panel-compact h2{font-size:clamp(.78rem,calc(var(--game-stage-width) * .009),.95rem)}.tutorial-step-panel-compact p{font-size:clamp(.64rem,calc(var(--game-stage-width) * .007),.76rem);line-height:1.25}.tutorial-step-panel-closeup{z-index:40;top:12px;right:12px}.tutorial-step-actions{display:flex;gap:8px;align-items:center}.tutorial-step-actions button{min-width:96px}.tutorial-step-panel small{display:block;margin-top:7px;color:#335466;font-weight:800}.closeup-panel{position:absolute;inset:0;z-index:10;overflow:hidden;background:#f7f7f7}.closeup-panel img{width:100%;height:100%;display:block;object-fit:contain;-webkit-user-select:none;user-select:none}.closeup-panel .closeup-image-ic{object-position:left center}.closeup-panel .balance-closeup-item-image{position:absolute;left:calc(36.55% + 20px);top:calc(59.95% + 13px);z-index:3;width:17.94%;height:11.73%;object-fit:contain;transform:translate(-50%,-100%);filter:drop-shadow(0 3px 3px rgba(0,0,0,.28));pointer-events:none}.closeup-panel .balance-closeup-item-empty{top:calc(59.95% + 19px);width:21.53%;height:14.08%}.closeup-panel .balance-closeup-item-filled{top:calc(59.95% + 11px)}.ftir-device-display{position:absolute;left:71.4713%;top:59.1923%;z-index:4;width:4.7847%;height:1.9129%;overflow:hidden;display:flex;align-items:center;color:#85f5ff;background:#00080a2e;font-family:Consolas,Courier New,monospace;font-size:clamp(.36rem,calc(var(--game-stage-width) * .0049),.55rem);font-weight:900;line-height:1;text-shadow:0 0 3px rgba(133,245,255,1),0 0 8px rgba(42,196,218,.9);pointer-events:none}.ftir-device-display span{position:absolute;left:100%;white-space:nowrap;animation:ftirDisplayScroll 4s linear infinite}@keyframes ftirDisplayScroll{0%{left:100%;transform:translate(0)}to{left:0;transform:translate(-100%)}}.xrf-marker-line{stroke:#445d6c57;stroke-width:.65;stroke-dasharray:2 2}.xrf-spectrum-chart figcaption{white-space:normal}.uvvis-measurement-light{position:absolute;left:91.6%;top:54.8%;z-index:4;width:2%;height:1%;border-radius:999px;background:#54ff65;box-shadow:0 0 8px #54ff65f2,0 0 18px #54ff65bf;animation:uvvisBlink 1s steps(1,end) infinite;pointer-events:none}.uvvis-device-absorbance{position:absolute;left:74.04%;top:54.52%;z-index:4;width:3.11%;height:2.34%;display:grid;place-items:center;overflow:hidden;color:#73f2ff;background:#030a0eb8;font-family:Consolas,Courier New,monospace;font-size:clamp(.48rem,calc(var(--game-stage-width) * .009),.93rem);font-weight:900;line-height:1;text-shadow:0 0 4px rgba(115,242,255,.95),0 0 9px rgba(45,179,230,.75);pointer-events:none}.uvvis-device-busy{animation:uvvisBusyBlink 2s steps(1,end) infinite}.gc-measurement-light{position:absolute;left:23.08%;top:calc(55.13% + 2px);z-index:4;width:1.61%;height:calc(.85% - 1px);border-radius:999px;background:#54ff65;box-shadow:0 0 8px #54ff65f2,0 0 18px #54ff65bf;animation:uvvisBlink 1s steps(1,end) infinite;pointer-events:none}.gc-error-light{background:#ff3b3b;box-shadow:0 0 8px #ff3b3bf2,0 0 18px #ff3b3bbf;animation-duration:.5s}.gc-ms-light{position:absolute;z-index:4;width:1.61%;height:.85%;border-radius:999px;background:#54ff65;box-shadow:0 0 8px #54ff65f2,0 0 18px #54ff65bf;pointer-events:none}.gc-ms-light-source{left:32.89%;top:73.33%}.gc-ms-light-detector{left:52.03%;top:75.45%}.gc-ms-light-measuring{animation:uvvisBlink 1s steps(1,end) infinite}.icp-status-light{position:absolute;left:88.82%;top:65.46%;z-index:6;width:.9%;height:.53%;border-radius:999px;pointer-events:none}.icp-status-light-ready,.icp-status-light-measuring{background:#54ff65;box-shadow:0 0 8px #54ff65f2,0 0 18px #54ff65bf}.icp-status-light-ready{animation:none}.icp-status-light-measuring{animation:uvvisBlink 1s steps(1,end) infinite}.icp-status-light-starting{background:#ff9f1c;box-shadow:0 0 8px #ff9f1cf2,0 0 18px #ff9f1cbf;animation:uvvisBlink .8s steps(1,end) infinite}.icp-plasma-window{position:absolute;left:76.56%;top:45.06%;z-index:4;width:5.86%;height:7.55%;overflow:hidden;border-radius:8px;background:radial-gradient(ellipse at 50% 58%,rgba(118,255,176,1) 0 31%,rgba(42,222,140,.8) 49%,rgba(42,222,140,.28) 74%,transparent 100%),#46ff9c70;box-shadow:inset 0 0 34px #76ffb0fa,0 0 25px #2ade8cf2,0 0 42px #76ffb099;animation:icpPlasmaPulse .15s ease-in-out infinite;pointer-events:none}.icp-plasma-window:before{content:"";position:absolute;left:54%;bottom:4%;z-index:1;width:45%;height:74%;background:url(../assets/illustraties/argonplasma.png) center bottom / contain no-repeat;filter:brightness(1.75) drop-shadow(0 0 8px rgba(42,222,140,.95)) drop-shadow(0 0 18px rgba(42,222,140,.75));opacity:.72;transform:translate(-50%)}.icp-plasma-window:after{content:"";position:absolute;inset:0;z-index:2;background:#0000008f;border-radius:inherit}.icp-plasma-window-stressed{background:radial-gradient(ellipse at 50% 58%,rgba(118,255,176,1) 0 31%,rgba(42,222,140,.78) 49%,rgba(42,222,140,.26) 74%,transparent 100%),#46ff9c70;box-shadow:inset 0 0 34px #76ffb0fa,0 0 25px #2ade8cf2,0 0 42px #76ffb099;animation:icpPlasmaStressPulse 41ms linear infinite}.icp-plasma-window-stressed:before{filter:brightness(2.15) saturate(1.55) drop-shadow(0 0 12px rgba(118,255,176,1)) drop-shadow(0 0 24px rgba(42,222,140,.88));opacity:.9}.icp-plasma-window-stressed:after{background:#0000008f}.icp-plasma-power-button{position:absolute;left:92.7%;top:66.42%;z-index:7;width:.72%;height:1.28%;min-width:32px;min-height:32px;padding:0;border:0;border-radius:50%;transform:translate(-50%,-50%);background:transparent;box-shadow:none;opacity:0;pointer-events:auto;cursor:pointer}.icp-plasma-power-button:hover,.icp-plasma-power-button:focus-visible{opacity:.24;background:#6dff9f;outline:2px solid rgba(109,255,159,.92);outline-offset:0}.icp-plasma-power-button:focus-visible{opacity:1;background:transparent;outline:2px solid white}.game-error{max-width:560px;margin:12vh auto;padding:24px;background:#fff;color:#202124}.icp-plasma-power-button-on,.icp-plasma-power-button-starting{opacity:.16;background:#6dff9f;box-shadow:0 0 8px #6dff9fcc}.gc-instrument-screen{position:absolute;left:22.2%;top:58.41%;z-index:4;width:7.74%;height:9.31%;display:grid;align-content:center;gap:4px;padding:5px;color:#8ee8ff;border:1px solid rgba(80,145,170,.45);background:#05080a;font-family:Consolas,Courier New,monospace;font-size:clamp(.42rem,calc(var(--game-stage-width) * .0062),.72rem);font-weight:900;line-height:1;text-shadow:0 0 4px rgba(142,232,255,.95),0 0 10px rgba(45,179,230,.75);pointer-events:none}.gc-instrument-screen span,.gc-instrument-screen strong{overflow:hidden;white-space:nowrap}.gc-instrument-error{color:#f66;text-shadow:0 0 4px rgba(255,102,102,.95),0 0 10px rgba(210,36,36,.72)}.hplc-scroll-display{position:absolute;left:15.85%;top:31.88%;z-index:4;width:3.89%;height:2.65%;overflow:hidden;display:flex;align-items:center;color:#8ee8ff;background:#000000a3;font-family:Consolas,Courier New,monospace;font-size:clamp(.34rem,calc(var(--game-stage-width) * .0052),.58rem);font-weight:900;text-shadow:0 0 4px rgba(142,232,255,.95),0 0 10px rgba(45,179,230,.75);pointer-events:none}.hplc-scroll-display span{white-space:nowrap;animation:hplcScrollText 5s linear infinite}.hplc-scroll-display.error{color:#f66;text-shadow:0 0 4px rgba(255,102,102,.95),0 0 10px rgba(210,36,36,.72)}.hplc-device-readout{position:absolute;left:20.04%;z-index:4;width:5.98%;height:3.71%;display:grid;place-items:center;overflow:hidden;font-family:Consolas,Courier New,monospace;font-size:clamp(.36rem,calc(var(--game-stage-width) * .0054),.62rem);font-weight:900;text-transform:uppercase;pointer-events:none}.hplc-readout-oven{top:47.29%}.hplc-readout-method{top:59.51%}.hplc-readout-pump{top:71.2%}.hplc-device-readout.waiting{color:#f66;text-shadow:0 0 4px rgba(255,102,102,.95),0 0 10px rgba(210,36,36,.72);animation:uvvisBlink 2s steps(1,end) infinite}.hplc-device-readout.ready{color:#54ff65;text-shadow:0 0 4px rgba(84,255,101,.95),0 0 10px rgba(84,255,101,.75)}.hplc-device-readout.error{color:#f66;text-shadow:0 0 4px rgba(255,102,102,.95),0 0 10px rgba(210,36,36,.72);animation:uvvisBlink 1s steps(1,end) infinite}.hplc-device-light{position:absolute;left:31.94%;z-index:4;width:.9%;height:.53%;border-radius:999px;pointer-events:none}.hplc-light-oven{top:46.44%}.hplc-light-method{top:58.13%}.hplc-light-pump{top:69.82%}.hplc-device-light.waiting{background:#ff3b3b;box-shadow:0 0 8px #ff3b3bf2,0 0 18px #ff3b3bbf;animation:uvvisBlink 2s steps(1,end) infinite}.hplc-device-light.ready{background:#54ff65;box-shadow:0 0 8px #54ff65f2,0 0 18px #54ff65bf}.hplc-device-light.ready.measuring{animation:uvvisBlink 1s steps(1,end) infinite}.hplc-device-light.error{background:#ff3b3b;box-shadow:0 0 8px #ff3b3bf2,0 0 18px #ff3b3bbf;animation:uvvisBlink 1s steps(1,end) infinite}.hplc-vial-rack{position:absolute;left:20.22%;top:84.91%;z-index:4;display:flex;align-items:flex-end;pointer-events:none}.hplc-vial-rack img{width:calc(var(--game-stage-width) * .0144);height:auto;object-fit:contain}.hplc-vial-cover{position:absolute;left:19.68%;top:83.95%;z-index:5;width:13.22%;height:5.84%;background:#0006;pointer-events:none}.icp-chart-stack{display:grid;gap:10px}.icp-detail-selector{margin:0}.icp-detail-selector select{margin-top:6px}.icp-overview-chart,.icp-detail-chart,.icp-calibration-chart{margin-top:0}.icp-spectrum-dot{fill:#9dfac8;filter:drop-shadow(0 0 2px rgba(42,222,140,.75))}.icp-standard-line{fill:none;stroke:#ffb347;stroke-width:1.9;opacity:.92}.icp-standard-line-low{opacity:.58}.icp-standard-line-high{opacity:.95}.icp-legend-sample{fill:#1379ac;font-size:8px;font-weight:800}.icp-legend-standard{fill:#ffb347;font-size:8px;font-weight:800}.icp-calibration-line{stroke:#ffb347;stroke-width:1.8;opacity:.92}.icp-marker-line{stroke:#7fdcffb8;stroke-width:1.1;stroke-dasharray:3 2}.icp-standard-point{fill:#ffb347;stroke:#ffffffb8;stroke-width:.7}.icp-sample-point{fill:#1379ac;stroke:#ffffffd1;stroke-width:.8}.instrument-alarm-popup{position:absolute;left:50%;top:10%;z-index:8;width:min(420px,42%);transform:translate(-50%);padding:14px 16px;color:#270b0b;border:2px solid #a32828;border-radius:8px;background:#fff3f0;box-shadow:0 12px 30px #14050552}.instrument-alarm-popup strong{display:block;margin-bottom:6px;color:#8a1d1d;font-size:1rem}.instrument-alarm-popup p{margin:0 0 12px;line-height:1.35}.instrument-alarm-popup button{min-height:34px;padding:7px 12px;color:#fff;border:0;border-radius:6px;background:#9d2424;font-weight:800;cursor:pointer}.instrument-alarm-popup button:hover{background:#7f1d1d}@keyframes hplcScrollText{0%{transform:translate(100%)}to{transform:translate(-100%)}}@keyframes uvvisBlink{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes uvvisBusyBlink{0%,49.99%{opacity:1}50%,to{opacity:0}}@keyframes icpPlasmaPulse{0%,to{filter:brightness(2.2) saturate(1.78)}50%{filter:brightness(2.63) saturate(1.82)}}@keyframes icpLabPlasmaPulse{0%,to{filter:brightness(2.2) saturate(1.78)}50%{filter:brightness(2.63) saturate(1.82)}}@keyframes icpPlasmaStressPulse{0%{filter:brightness(1.18) saturate(1.18)}17%{filter:brightness(2.45) saturate(1.72)}31%{filter:brightness(1.34) saturate(1.28)}48%{filter:brightness(2.05) saturate(1.62)}63%{filter:brightness(1.08) saturate(1.16)}79%{filter:brightness(2.62) saturate(1.86)}to{filter:brightness(1.42) saturate(1.38)}}@keyframes icpLabPlasmaStressPulse{0%{filter:brightness(1) saturate(1.12)}21%{filter:brightness(2.28) saturate(1.66)}37%{filter:brightness(1.18) saturate(1.2)}54%{filter:brightness(2.55) saturate(1.82)}71%{filter:brightness(1.06) saturate(1.14)}to{filter:brightness(1.86) saturate(1.54)}}.balance-closeup-display{position:absolute;left:37.6%;top:67.55%;z-index:4;transform:translate(-50%,-50%);width:9.1%;color:#8ee8ff;font-family:Consolas,Courier New,monospace;font-size:calc(var(--game-stage-width) * .011);font-weight:900;line-height:1;text-align:center;text-shadow:0 0 4px rgba(142,232,255,.95),0 0 10px rgba(45,179,230,.75);pointer-events:none}.workbench-stage{position:absolute;left:43.3612%;bottom:12.3273%;z-index:3;width:41.2679%;height:21.253%;pointer-events:none}.workbench-stage-lab-table{bottom:22.9543%;width:44.8565%}.workbench-stage-item{position:absolute;left:calc(var(--slot-index) * 25.3333%);bottom:0;width:20%;height:100%}.workbench-stage-item{display:grid;place-items:end center;padding:0;border:0;background:transparent;pointer-events:auto}.workbench-stage-item img,.workbench-stage-item>.glassware-visual{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 7px 7px rgba(0,0,0,.32));transform:translateY(var(--item-offset-y, 0)) scale(var(--item-scale, 1));transform-origin:bottom center}.workbench-stage-item>span:not(.workbench-hover-label):not(.workbench-content-count){display:grid;place-items:center;width:100%;min-height:54px;padding:8px;color:#172026;border:1px solid rgba(23,105,134,.38);background:#ffffffe0;font-size:.7rem;font-weight:900;text-align:center}.workbench-hover-label{position:absolute;left:50%;bottom:100%;transform:translate(-50%);display:none;padding:4px 7px;color:#fff;background:#0e1922eb;font-size:.72rem;font-weight:900;white-space:nowrap}.workbench-stage-item:hover .workbench-hover-label,.workbench-stage-item:focus-visible .workbench-hover-label{display:block}.workbench-content-count{position:absolute;right:2px;top:2px;min-width:20px;min-height:20px;display:grid;place-items:center;color:#fff;border:1px solid rgba(255,255,255,.7);border-radius:999px;background:#176986;font-size:.7rem;font-weight:900}.closeup-workspace{position:absolute;top:0;bottom:0;width:47.4%;display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);grid-template-rows:auto 1fr auto;gap:10px 14px;padding:16px;color:#edf7fc;border:0;background:linear-gradient(180deg,#192633fa,#0c141dfc),#121b24;box-shadow:inset 0 1px #ffffff1f,0 18px 40px #00000059}.closeup-left{left:0}.closeup-right{right:0}.closeup-screen{border-width:2px;border-radius:2px}.closeup-info-screen{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);padding:18px;color:#eef7fc;border:0;background:linear-gradient(180deg,#182634fa,#0d1620fc),#101923;box-shadow:none}.closeup-info-screen .closeup-header h2{font-size:clamp(1rem,calc(var(--game-stage-width) * .016),1.55rem)}.closeup-info-screen .closeup-tabs{align-content:start}.closeup-header{display:grid;align-content:center;gap:2px}.closeup-header p,.closeup-header h2,.closeup-content h3,.closeup-content p{margin:0}.closeup-header p{color:#79c8ff;font-size:clamp(.62rem,calc(var(--game-stage-width) * .008),.78rem);font-weight:900;text-transform:uppercase}.closeup-header h2{color:#fff;font-size:clamp(1.05rem,calc(var(--game-stage-width) * .018),1.75rem);line-height:1.05}.closeup-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.closeup-tab,.closeup-return,.closeup-primary-action,.closeup-secondary-action,.radio-controls button{min-height:30px;padding:0 9px;color:#f7fbfd;border:1px solid #176986;background:#176986;font-size:clamp(.68rem,calc(var(--game-stage-width) * .01),.88rem);font-weight:800}.closeup-tab:hover,.closeup-tab[aria-selected=true],.closeup-return:hover,.closeup-primary-action:hover,.closeup-secondary-action:hover,.radio-controls button:hover{background:#105872}.closeup-tab-wide{grid-column:1 / -1}.workbench-action-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.workbench-action-menu button,.secondary-workbench-action{min-height:34px;padding:0 10px;color:#f7fbfd;border:1px solid #176986;background:#176986;font-size:clamp(.68rem,calc(var(--game-stage-width) * .009),.84rem);font-weight:850}.workbench-action-menu button:hover,.secondary-workbench-action:hover{background:#105872}.closeup-content{grid-column:1 / -1;min-height:0;display:grid;align-content:start;gap:8px;overflow:auto;padding:12px;color:#172026;background:#f5f9fb;border:1px solid #9eb1bd;font-size:clamp(.72rem,calc(var(--game-stage-width) * .008),.86rem)}.closeup-zone-chemical-cabinet{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto 1fr;gap:6px;padding:9px 10px}.closeup-zone-chemical-cabinet .closeup-header{align-content:start}.closeup-zone-chemical-cabinet .closeup-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.closeup-zone-chemical-cabinet .closeup-tab{min-height:25px;padding:0 6px;font-size:clamp(.58rem,calc(var(--game-stage-width) * .007),.68rem);line-height:1.05}.closeup-zone-chemical-cabinet .closeup-content:empty{display:none}.closeup-zone-chemical-cabinet .closeup-content{max-height:none}.closeup-zone-chemical-cabinet .closeup-content,.closeup-zone-waste .closeup-content{padding:10px}.closeup-zone-waste .closeup-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.closeup-zone-waste .closeup-tab{min-height:29px;padding:0 7px;font-size:clamp(.6rem,calc(var(--game-stage-width) * .008),.76rem)}.closeup-content h3{color:#176986;font-size:.92rem}.closeup-content h4{margin:0;color:#21313a;font-size:.82rem}.closeup-content p{line-height:1.32}.technique-info-section{display:grid;gap:4px}.technique-info-section p{white-space:pre-line}.technique-illustration{position:relative;margin:6px 0 4px;overflow:hidden;border:1px solid #c8d8e2;border-radius:8px;background:#edf4f8}.technique-illustration img{display:block;width:100%;height:auto;max-height:260px;object-fit:contain}.technique-illustration-expand{position:absolute;top:8px;right:8px;width:34px;height:34px;display:grid;place-items:center;color:#0d2b61;border:1px solid rgba(13,43,97,.25);border-radius:999px;background:#ffffffeb;box-shadow:0 4px 12px #0a182d2e;cursor:pointer}.technique-illustration-expand:hover{background:#fff}.technique-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.technique-info-grid div{display:grid;align-content:start;gap:5px;padding:10px;border:1px solid #d4e0e6;background:#fff}.technique-info-grid ul{margin:0;padding-left:18px}.technique-info-grid li{margin:0 0 4px;line-height:1.35}.instruction-list{margin:0;padding-left:20px}.instruction-list li{margin-bottom:4px;line-height:1.28}.uvvis-panel{display:grid;gap:9px}.uvvis-status{display:grid;gap:3px;padding:8px;border:1px solid #b6cbd5;background:#fff}.uvvis-floating-status{position:absolute;top:10px;right:12px;z-index:6;width:min(35%,420px);pointer-events:none}.uvvis-floating-status .uvvis-status{background:#f5f9fbf5;box-shadow:0 12px 28px #00000038}.uvvis-status-line{display:flex;align-items:center;gap:7px;min-width:0}.uvvis-status span{color:#4e6875;font-size:.68rem;font-weight:900;text-transform:uppercase}.uvvis-status strong{color:#176986;font-size:.84rem}.uvvis-status em{margin-left:auto;color:#1379ac;font-size:.82rem;font-style:normal;font-weight:900}.uvvis-status p{color:#374954;font-size:.68rem}.uvvis-selector-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.uvvis-selector-group{display:grid;gap:4px}.uvvis-selector-group>span{color:#176986;font-size:.7rem;font-weight:900;text-transform:uppercase}.uvvis-selector-row button,.uvvis-step-actions button{min-height:30px;padding:0 7px;color:#176986;border:1px solid #9fc8de;background:#fff;font-size:.72rem;font-weight:850}.uvvis-selector-row button.selected,.uvvis-step-actions button:hover{color:#fff;border-color:#176986;background:#176986}.uvvis-field{display:grid;gap:3px;color:#176986;font-size:.7rem;font-weight:900}.uvvis-field input,.uvvis-field select{min-height:30px;width:100%;padding:0 7px;color:#172026;border:1px solid #b9c8d0;background:#fff;font-size:.74rem}.icp-standard-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:5px}.icp-standard-options label{display:grid;grid-template-columns:16px minmax(0,1fr);align-items:center;gap:5px;min-height:34px;padding:4px 6px;color:#25333a;border:1px solid #b9c8d0;border-radius:4px;background:#fff;font-size:.68rem;line-height:1.2;cursor:pointer}.icp-standard-options label.selected{color:#0f5068;border-color:#176986;background:#e8f5fa}.uvvis-field .icp-standard-options input{width:14px;min-height:14px;margin:0;padding:0;accent-color:#176986}.icp-standard-selector small{color:#52656e;font-size:.65rem;font-weight:700}.uvvis-step-actions{display:grid;gap:6px}.uvvis-step-actions button:disabled,.uvvis-selector-row button:disabled{opacity:.45}.uvvis-chart{display:grid;gap:4px;margin:0;padding:7px;border:1px solid #c6d2d8;background:#fff}.uvvis-chart figcaption{color:#176986;font-size:.73rem;font-weight:900}.uvvis-chart svg{width:100%;height:auto;color:#526b77;font-size:10px}.uvvis-equation{margin:0;color:#176986;font-size:.72rem;font-weight:900}.uvvis-calibration-table{width:100%;border-collapse:collapse;color:#172026;font-size:.7rem}.uvvis-calibration-table th,.uvvis-calibration-table td{padding:4px 5px;border:1px solid #d3e0e6;text-align:left}.uvvis-calibration-table th{color:#176986;background:#eaf5fa}.uvvis-chart-axis{fill:none;stroke:#9eb1bd;stroke-width:1}.uvvis-spectrum-line,.uvvis-calibration-line{fill:none;stroke:#1379ac;stroke-width:2}.ftir-chart-stack{display:grid;gap:6px}.ftir-reference-selector{margin-bottom:0}.ftir-sample-line{stroke:#0d7895;stroke-width:1.65;stroke-linejoin:round;stroke-linecap:round}.ftir-reference-line{fill:none;stroke:#d47721;stroke-width:1.35;stroke-dasharray:4 3;opacity:.82;stroke-linejoin:round;stroke-linecap:round}.ftir-band-label{fill:#176986;font-size:.38rem;font-weight:850}.ftir-reference-caption{margin-left:8px;color:#a65316;font-size:inherit;font-weight:850}.uvvis-calibration-point{fill:#176986}.gc-baseline{fill:none;stroke:#1379ac;stroke-width:2.2;stroke-linejoin:round;stroke-linecap:round}.gc-retention-label{fill:#176986;font-size:.42rem;font-weight:800}.gc-checkbox{display:flex;align-items:center;gap:8px;color:#176986;font-size:.74rem;font-weight:850}.gc-calibration-panel{display:grid;gap:7px;padding:8px;border:1px solid #c6d2d8;background:#f7fbfd}.gc-calibration-panel h3,.gc-calibration-panel p{margin:0}.gc-calibration-panel h3{color:#176986;font-size:.86rem}.gc-calibration-panel p{color:#354954;font-size:.72rem;line-height:1.35}.gc-calibration-chart{margin-top:2px}.gc-autosampler-list{display:grid;gap:5px;padding:8px;border:1px solid #c6d2d8;background:#fff}.gc-autosampler-list strong{color:#176986;font-size:.76rem}.gc-autosampler-slot{display:grid;grid-template-columns:minmax(0,1.6fr) 92px 74px minmax(0,.9fr);gap:5px;align-items:end}.hplc-calibration-row{grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr) minmax(110px,.8fr)}.hplc-calibration-panel{gap:9px}.hplc-calibration-header{display:grid;gap:3px}.hplc-manual-calibration{display:grid;gap:7px;padding:7px;border:1px solid #d3e0e7;background:#fff}.hplc-manual-calibration .hplc-calibration-row{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr) minmax(0,.72fr) minmax(112px,.76fr);gap:6px;align-items:end}.hplc-manual-calibration label{display:grid;gap:3px;color:#176986;font-size:.7rem;font-weight:850}.hplc-manual-calibration select,.hplc-manual-calibration input{min-width:0;min-height:27px;padding:4px 6px;color:#172026;border:1px solid #b6cbd5;background:#f7fbfd;font-size:.69rem;font-weight:750}.hplc-autosampler-list{gap:6px}.hplc-autosampler-slot{display:grid;grid-template-columns:1fr;gap:4px;padding:6px;border:1px solid #d3e0e7;background:#f8fbfd}.hplc-position-title{color:#176986;font-size:.76rem;font-weight:950}.hplc-autosampler-fields{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(100px,.95fr) minmax(86px,.76fr) minmax(92px,.82fr);gap:5px;align-items:center}.hplc-autosampler-summary{padding:7px;border:1px solid #d3e0e7;background:#fff}.gc-autosampler-slot label{display:grid;grid-template-columns:68px minmax(0,1fr);align-items:center;gap:5px;color:#172026;font-size:.72rem}.gc-autosampler-list:not(.hplc-autosampler-list) .gc-autosampler-slot label select{width:calc(100% + 25px);margin-left:-25px}.gc-autosampler-list select,.gc-autosampler-list input{min-width:0;min-height:25px;padding:3px 5px;color:#172026;border:1px solid #b6cbd5;background:#f7fbfd;font-size:.68rem;font-weight:750}.gc-autosampler-list p{margin:0;color:#4e6875;font-size:.72rem}.gc-result-nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:7px}.gc-result-nav button{min-height:28px;color:#176986;border:1px solid #9fc8de;background:#fff;font-size:.72rem;font-weight:850}.gc-result-nav span{color:#176986;font-size:.72rem;font-weight:900}.uvvis-result{display:grid;gap:3px;padding:8px;color:#172026;border:1px solid #b6cbd5;background:#eaf5fa;font-size:.76rem}.uvvis-result strong{color:#176986}.uvvis-note{margin:0;color:#4e6875;font-size:.74rem}.uvvis-spec-list{display:grid;gap:6px}.uvvis-spec-row{display:grid;gap:3px;padding:7px;border:1px solid #c6d2d8;background:#fff;font-size:.73rem}.uvvis-spec-row strong{color:#176986}.closeup-side-panel{position:absolute;top:0;right:0;bottom:0;z-index:2;width:50%;display:grid;align-content:start;gap:10px;overflow:auto;padding:16px;color:#172026;border-left:1px solid rgba(158,177,189,.8);background:#f5f9fb;box-shadow:-18px 0 40px #00000038}.closeup-side-panel-full{left:0;width:auto;border-left:0;box-shadow:none}.closeup-side-panel h3,.closeup-side-panel p{margin:0}.closeup-side-panel h3{color:#176986;font-size:1.05rem}.closeup-side-panel p{line-height:1.45}.substance-list{display:grid;gap:10px}.substance-list-specs{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.side-panel-actions{display:flex;flex-wrap:wrap;gap:8px}.side-panel-actions button{min-height:34px;padding:0 10px;color:#f7fbfd;border:1px solid #176986;background:#176986;font-weight:800}.side-panel-actions button:hover{background:#105872}.substance-list-compact{gap:6px}.substance-row{min-height:48px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:6px 8px;color:#172026;border:1px solid #c6d2d8;background:#fff}.substance-row-main{min-width:0;display:grid;gap:2px}.substance-row-name{min-width:0;display:flex;gap:6px;align-items:center;justify-content:space-between;overflow:hidden;color:#176986;font-weight:900;font-size:.76rem}.substance-row-name span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.substance-stock-badge{flex:0 0 auto;padding:2px 5px;color:#0d465b;border:1px solid #9fc8de;background:#e6f4fb;font-size:.62rem;font-weight:900;line-height:1}.substance-formula-line{min-width:0}.chemical-formula{font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.78rem}.chemical-formula-inline{font-weight:inherit;font-size:inherit;overflow:visible;text-overflow:clip}.chemical-formula sub{font-size:.68em;line-height:0}.substance-row button{min-height:28px;padding:0 8px;color:#f7fbfd;border:1px solid #176986;background:#176986;font-size:.78rem;font-weight:800}.substance-row button:hover{background:#105872}.catalog-list{display:grid;gap:5px;overflow:auto;padding-right:4px}.catalog-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;min-height:30px;padding:4px 6px;color:#172026;border:1px solid #c6d2d8;background:#fff}.catalog-row-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#176986;font-size:.78rem;font-weight:900}.catalog-item-image{width:22px;height:24px;object-fit:contain;filter:drop-shadow(0 1px 2px rgba(0,0,0,.22))}.closeup-panel .catalog-item-image{width:22px;height:24px;display:block;object-fit:contain}.catalog-row button{min-height:24px;padding:0 8px;color:#f7fbfd;border:1px solid #176986;background:#176986;font-size:.72rem;font-weight:800}.catalog-row button:hover{background:#105872}.workstation-panel{display:grid;gap:12px}.workstation-slot{min-height:112px;display:grid;align-content:center;gap:8px;padding:12px;border:1px solid #c6d2d8;background:#fff}.balance-plate{position:relative;min-height:210px;display:grid;align-content:end;justify-items:center;padding:0 0 8px;background:radial-gradient(circle at 50% 54%,rgba(187,196,201,.65) 0 13%,rgba(137,149,156,.4) 14% 19%,transparent 20%),transparent}.balance-item-image{position:absolute;left:10%;top:16%;width:42%;height:auto;object-fit:contain;filter:drop-shadow(0 8px 8px rgba(0,0,0,.28));pointer-events:none}.workstation-slot p{margin:0;color:#374954}.workstation-slot-label{color:#176986;font-size:.78rem;font-weight:900;text-transform:uppercase}.workstation-item{display:grid;justify-items:center;gap:4px;width:min(94%,340px);min-height:62px;padding:10px;color:#172026;border:1px solid #9fc8de;background:#e6f4fb}.workstation-item-filled{border-color:#176986;background:#d6eef8}.workstation-item strong{font-size:.9rem}.balance-actions{display:grid;gap:10px}.balance-actions label{display:grid;gap:4px;color:#176986;font-size:.78rem;font-weight:900;text-transform:none}.balance-actions input,.balance-actions select{min-height:34px;width:100%;padding:0 10px;color:#172026;border:1px solid #b9c8d0;background:#fff;font:inherit;text-transform:none}.workstation-buttons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.workstation-buttons button{min-height:34px;padding:0 8px;color:#f7fbfd;border:1px solid #176986;background:#176986;font-size:.82rem;font-weight:900}.workstation-buttons button:hover{background:#105872}.workstation-buttons button.selected{color:#fff;border-color:#8ce2ff;background:#0f8ab0;box-shadow:inset 0 0 0 1px #ffffff52}.workstation-message{margin:0;padding:8px 10px;color:#17445a;border:1px solid #9fc8de;background:#e6f4fb;font-weight:800}.simulation-answer-critical-message{color:#b00020;font-weight:800}.substance-card{display:grid;gap:8px;padding:10px;color:#172026;border:1px solid #c6d2d8;background:#fff}.substance-card-header{display:grid;gap:8px}.substance-card h4,.substance-card p,.substance-card dl{margin:0}.substance-card h4{color:#176986;font-size:.98rem;line-height:1.2}.substance-card dl{display:grid;gap:4px}.substance-card dl div{display:grid;grid-template-columns:minmax(82px,.9fr) minmax(0,1.4fr);gap:8px}.substance-card dt{color:#43515a;font-weight:800}.substance-card dd{min-width:0;margin:0;overflow-wrap:anywhere}.substance-card p{line-height:1.35}.substance-compatible{color:#43515a}.hazard-symbols{display:flex;flex-wrap:wrap;gap:6px}.hazard-symbol{display:inline-grid;grid-template-columns:30px auto;align-items:center;gap:4px;min-height:32px;padding:2px 6px 2px 2px;border:1px solid #d2dde2;background:#f8fbfc;font-size:.72rem;font-weight:900}.hazard-symbol-image{width:30px;aspect-ratio:1;display:block;background-image:url(../assets/hazards/gevarensymbolen.gif);background-repeat:no-repeat;background-size:300% 300%}.hazard-code{color:#172026}.hazard-empty{color:#60717b;font-size:.78rem;font-weight:800}.closeup-search{display:grid;gap:6px;color:#43515a;font-weight:800}.closeup-search input{width:100%;min-height:40px;padding:0 10px;color:#172026;border:1px solid #a7b6be;background:#fff;outline:none}.closeup-search input:focus{border-color:#1e789c;box-shadow:0 0 0 3px #1e789c2e}.closeup-placeholder{padding:12px;color:#43515a;border:1px dashed #9eb1bd;background:#fff}.closeup-return{min-height:32px}.closeup-footer-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:8px}.radio-panel{display:grid;gap:14px}.simulation-answer-table input,.simulation-answer-table select{width:100%;min-width:0;padding:4px 5px;border:1px solid #b9cbd5;border-radius:4px;background:#fff;color:#172026;font:inherit}.simulation-answer-table th:nth-child(3),.simulation-answer-table td:nth-child(3){width:28%}.simulation-answer-table th:nth-child(4),.simulation-answer-table td:nth-child(4){width:24%}.simulation-answer-panel{display:grid;gap:8px;margin-top:12px;padding-top:10px;border-top:1px solid rgba(21,68,88,.18)}.radio-now-playing{display:grid;gap:4px;padding:12px;border:1px solid #d4e0e6;background:#fff}.radio-now-playing span{color:#60717b;font-size:.78rem;font-weight:900;text-transform:uppercase}.radio-controls{display:flex;flex-wrap:wrap;gap:8px}.radio-progress,.radio-volume{display:grid;gap:6px;color:#43515a;font-weight:800}.radio-progress small{color:#60717b;font-size:.76rem;font-weight:800;text-align:right}.radio-progress input,.radio-volume input{width:100%}.radio-note{color:#8a4b10;font-weight:800}.closeup-floating-actions{position:absolute;right:18px;bottom:18px;z-index:2;display:flex;gap:10px;align-items:center}.closeup-floating-actions button,.closeup-floating-return{min-height:36px;padding:0 14px;color:#f7fbfd;border:1px solid #176986;background:#176986;box-shadow:0 12px 30px #00000042;font-weight:800}.closeup-floating-actions button:hover,.closeup-floating-return:hover{background:#105872}.closeup-door-actions{position:absolute;right:18px;bottom:18px;left:18px;z-index:2;display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:end}.closeup-door-actions button{min-height:36px;padding:0 14px;color:#f7fbfd;border:1px solid #176986;background:#176986;box-shadow:0 12px 30px #00000042;font-weight:800}.closeup-door-actions button:hover{background:#105872}.closeup-action-left{justify-self:start}.closeup-action-center{justify-self:center}.closeup-action-right{justify-self:end}.closeup-image-actions{position:absolute;inset:0;z-index:2;pointer-events:none}.closeup-image-action{position:absolute;min-height:36px;padding:0 14px;color:#f7fbfd;border:1px solid #176986;background:#176986;box-shadow:0 12px 30px #00000042;font-weight:800;pointer-events:auto}.closeup-image-action:hover{background:#105872}.closeup-image-action-top-left{top:calc(18px + (var(--action-index, 0) * 46px));left:18px}.closeup-image-action-top-right{top:calc(18px + (var(--action-index, 0) * 46px));right:18px}.closeup-image-action-bottom-left{bottom:calc(18px + (var(--action-index, 0) * 46px));left:18px}.closeup-image-action-bottom-right{right:18px;bottom:18px}.sample-spec-row{display:grid;gap:4px;padding:9px;color:#172026;border:1px solid #c6d2d8;background:#fff;font-size:.78rem}.sample-spec-row strong{color:#176986}.waste-recipient-overlay{position:absolute;inset:0;z-index:18;pointer-events:none}.waste-recipient{position:absolute;min-height:0;padding:0;border:0;background:transparent;box-shadow:none;opacity:0;pointer-events:auto}.waste-recipient:hover,.waste-recipient:focus-visible{opacity:.16;background:#83d2ff;outline:2px solid rgba(131,210,255,.9);outline-offset:0}.waste-recipient-mercury{left:10.47%;top:80.23%;width:5.68%;height:9.03%}.waste-recipient-halogenated-solvents{left:17.94%;top:80.23%;width:5.98%;height:9.03%}.waste-recipient-non-halogenated-solvents{left:26.32%;top:80.23%;width:5.98%;height:9.03%}.waste-recipient-neutral-basic{left:46.05%;top:74.39%;width:9.27%;height:14.88%}.waste-recipient-acidic{left:34.39%;top:74.39%;width:9.27%;height:14.88%}kbd{display:inline-grid;min-width:48px;height:26px;place-items:center;margin:0 2px;border:1px solid rgba(16,32,39,.35);background:#edf4f7;box-shadow:inset 0 -2px #1020272e}.closeup-action-right-stack{justify-self:end;width:min(220px,100%);display:grid;gap:8px}.closeup-action-right-stack button{width:100%}.fire-extinguisher-info-backdrop{position:fixed;inset:0;z-index:26;display:grid;place-items:center;padding:18px;overflow:hidden;background:#050c14c7}.fire-extinguisher-info-modal{width:min(980px,calc(100vw - 36px));max-height:calc(100vh - 36px);display:flex;flex-direction:column;overflow:hidden;color:#17252d;border:1px solid #b8cbd6;border-radius:8px;background:#f7fbfd;box-shadow:0 24px 70px #0000006b}.fire-extinguisher-info-header{flex:0 0 auto;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;border-bottom:1px solid #c8d8e2;background:#eaf2f6}.fire-extinguisher-info-header p,.fire-extinguisher-info-header h2{margin:0}.fire-extinguisher-info-header p{margin-bottom:2px;color:#536873;font-size:.72rem;font-weight:800;text-transform:uppercase}.fire-extinguisher-info-header h2{color:#16313e;font-size:1.35rem}.fire-extinguisher-info-header button{flex:0 0 40px;width:40px;height:40px;display:grid;place-items:center;padding:0;color:#173d4d;border:1px solid #9eb5c1;border-radius:999px;background:#fff;cursor:pointer}.fire-extinguisher-info-header button:hover{background:#dceaf0}.fire-extinguisher-info-content{min-height:0;display:grid;gap:24px;padding:20px;overflow-y:auto;overscroll-behavior:contain}.fire-extinguisher-info-section{display:grid;gap:8px;padding-bottom:24px;border-bottom:1px solid #cedbe2}.fire-extinguisher-info-section:last-child{padding-bottom:0;border-bottom:0}.fire-extinguisher-info-section h3,.fire-extinguisher-info-section p{margin:0}.fire-extinguisher-info-section h3{color:#173d4d;font-size:1rem}.fire-extinguisher-info-section p{line-height:1.5}.fire-extinguisher-info-section .technique-illustration{margin-top:6px}@media(max-width:680px){.fire-extinguisher-info-backdrop{padding:8px}.fire-extinguisher-info-modal{width:calc(100vw - 16px);max-height:calc(100vh - 16px)}.fire-extinguisher-info-content{padding:14px}}.modal-backdrop{position:fixed;inset:0;display:grid;place-items:center;padding:18px;background:#070a0dad;z-index:20}.illustration-backdrop{position:fixed;inset:0;z-index:28;display:flex;justify-content:center;align-items:flex-start;padding:16px;overflow:auto;background:#050c14d1}.illustration-modal{position:relative;width:min(100%,calc(var(--game-stage-width, 100vw) - 32px));max-width:min(1460px,calc(100vw - 32px));max-height:calc(100vh - 32px);display:grid;place-items:center;padding:16px;border-radius:8px;background:#f7fbff;box-shadow:0 24px 70px #0000006b;overflow:auto}.illustration-modal img{max-width:100%;max-height:calc(100vh - 64px);object-fit:contain}.illustration-close-button{position:absolute;top:12px;right:12px;z-index:2;width:42px;height:42px;display:grid;place-items:center;color:#0d2b61;border:1px solid rgba(13,43,97,.22);border-radius:999px;background:#fffffff5;box-shadow:0 8px 20px #0a182d33;cursor:pointer}.illustration-close-button:hover{background:#fff}.modal{position:relative;width:min(560px,100%);display:grid;gap:18px;padding:24px;color:#eaf5f9;border:1px solid rgba(129,205,245,.5);border-radius:8px;background:linear-gradient(180deg,#162431fa,#0a141efa);box-shadow:0 24px 70px #00000075,inset 0 1px #ffffff14}.close-button{position:absolute;top:12px;right:12px;color:#d8e9f1;border:1px solid rgba(129,205,245,.45);border-radius:6px;background:#ffffff0f}.close-button:hover,.close-button:focus-visible{color:#fff;background:#2ba9e052;outline:none}.modal-kicker{margin:0;color:#83d2ff;font-size:.86rem;font-weight:800;text-transform:uppercase}.modal h2{margin:0;max-width:calc(100% - 42px);color:#fff;font-size:1.55rem;line-height:1.2}.modal>p:not(.modal-kicker):not(.exercise-result-success):not(.exercise-result-warning){margin:0;color:#d8e9f1;line-height:1.4}.modal-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.modal-actions button{min-height:42px;padding:0 16px;color:#f7fbfd;border:1px solid #176986;border-radius:7px;background:linear-gradient(180deg,#218fc1,#176986);font-weight:800}.modal-actions button:hover{background:linear-gradient(180deg,#2ba9e0,#1b789b)}.modal-actions .secondary-button{color:#d8e9f1;border-color:#81cdf573;background:#ffffff0f}.modal-actions .secondary-button:hover{color:#fff;background:#2ba9e042}.exercise-result-modal{width:min(900px,calc(100vw - 32px));max-height:calc(100vh - 36px);overflow:auto}.exercise-result-success{margin:0;color:#79e6ae;font-weight:900}.exercise-result-warning{margin:0;color:#ffd479;font-weight:900}.exercise-feedback-list{max-height:min(46vh,430px);margin:0;padding-left:20px;overflow:auto}.exercise-feedback-list li{margin-bottom:7px;line-height:1.38}.feedback-report{display:grid;gap:14px}.feedback-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.feedback-summary-grid article{display:grid;gap:4px;min-height:68px;padding:10px 12px;border:1px solid rgba(129,205,245,.35);border-radius:8px;background:#ffffff0f}.feedback-summary-grid span,.feedback-section>p{color:#9ed7f5;font-size:.72rem;font-weight:850;text-transform:uppercase}.feedback-summary-grid strong{color:#fff;font-size:1rem}.feedback-section-grid{display:grid;gap:10px}.feedback-section{padding:12px;border:1px solid rgba(129,205,245,.35);border-radius:8px;background:#ffffff0e}.feedback-section h3,.feedback-section p{margin:0}.feedback-section h3{color:#fff;font-size:1rem}.feedback-section>p{margin-top:3px;text-transform:none}.feedback-section ul{display:grid;gap:7px;margin:10px 0 0;padding-left:18px}.feedback-section li{color:#e6f3f8;line-height:1.38}.options-modal{width:min(520px,calc(100vw - 32px));color:#eaf5f9;border:1px solid rgba(129,205,245,.5);border-radius:8px;background:linear-gradient(180deg,#162431fa,#0a141efa)}.options-modal .close-button{color:#d8e9f1;border:1px solid rgba(129,205,245,.45);background:#ffffff0f}.options-modal .close-button:hover,.options-modal .close-button:focus-visible{color:#fff;background:#2ba9e052}.options-modal .modal-kicker{color:#83d2ff}.options-modal h2{color:#fff}.options-modal p{color:#d8e9f1}.options-menu-buttons{display:grid;gap:12px}.options-menu-buttons-compact button{min-height:46px;font-size:.92rem}.options-menu-buttons button{min-height:52px;display:grid;place-items:center;color:#f3f7fb;border:1px solid #5f6973;border-radius:8px;background:linear-gradient(180deg,#30363d,#20252b);box-shadow:inset 0 1px #ffffff2e,0 6px 18px #0000002e;text-transform:uppercase;font-size:1rem;font-weight:900}.options-menu-buttons button:hover,.options-menu-buttons button:focus-visible{color:#fff;border-color:#97d5ff;background:linear-gradient(180deg,#2b95e5,#1868b1);outline:none}.sound-settings{display:grid;gap:14px}.sound-setting-row{display:grid;grid-template-columns:minmax(0,180px) minmax(0,1fr);gap:14px;align-items:center;padding:12px;border:1px solid rgba(129,205,245,.35);border-radius:8px;background:#ffffff0f}.sound-setting-row label{display:flex;align-items:center;gap:9px;color:#eaf5f9;font-weight:900}.sound-setting-row input[type=checkbox]{width:18px;height:18px}.sound-setting-row input[type=range]{width:100%;accent-color:#176986}.inventory-modal{width:min(720px,calc(100vw - 32px))}.inventory-notice,.inventory-empty{margin:0;color:#d8e9f1}.inventory-notice{padding:8px 10px;border:1px solid rgba(129,205,245,.5);border-radius:8px;background:#17698638;font-weight:800}.inventory-list{max-height:min(48vh,460px);display:grid;gap:5px;overflow:auto;padding-right:4px}.inventory-row{display:grid;grid-template-columns:minmax(0,1fr) 32px 46px 76px;gap:8px;align-items:center;min-height:38px;padding:5px 7px;color:#eaf5f9;border:1px solid rgba(129,205,245,.28);border-radius:7px;background:#ffffff0e}.inventory-row-text{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;min-width:0;min-height:30px;gap:2px}.inventory-row strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff;font-size:.82rem}.inventory-volume-suffix{color:#9ed7f5;font-size:.72rem;font-weight:800}.inventory-row small{max-width:100%;color:#bcdde9;font-size:.64rem;font-weight:700;line-height:1.15;white-space:normal}.inventory-stack-count{grid-column:2;min-width:28px;justify-self:end;color:#83d2ff;font-size:.78rem;font-weight:900;text-align:right}.inventory-item-image{grid-column:3;width:42px;height:30px;justify-self:center;object-fit:contain;filter:drop-shadow(0 2px 2px rgba(0,0,0,.22))}.inventory-row button{grid-column:4;width:76px;min-height:24px;justify-self:end;padding:0 8px;color:#f7fbfd;border:1px solid #176986;border-radius:6px;background:linear-gradient(180deg,#218fc1,#176986);font-size:.68rem;font-weight:900}.inventory-row button:hover{background:linear-gradient(180deg,#2ba9e0,#1b789b)}.volume-input-label{display:grid;gap:6px;color:#d8e9f1;font-weight:800}.volume-input-label input{min-height:38px;padding:0 10px;color:#172026;border:1px solid rgba(129,205,245,.6);border-radius:6px;background:#fff;font:inherit}@media(max-width:720px){.title-shell,.character-shell,.app-shell{--title-stage-width: min( calc(100vw - 20px) , calc((100vh - 20px) * var(--stage-ratio)));--game-stage-width: min( calc(100vw - 20px) , calc((100vh - 138px) * var(--stage-ratio)));padding:10px}.title-screen,.hud,.game-frame{width:var(--game-stage-width)}.character-select{width:calc(100vw - 20px);padding:18px}.character-grid{grid-template-columns:1fr}.character-card{min-height:220px}.character-preview{min-height:170px}.title-screen{width:var(--title-stage-width)}.hud{align-items:stretch;flex-direction:column}.hud-group{justify-content:space-between}.player{width:9.79%}.maintenance-npc{width:9.92%}.interaction-prompt{bottom:10px;width:calc(100% - 28px);text-align:center}.closeup-workspace{inset:10px;width:auto;padding:14px;gap:8px}.closeup-tabs{grid-template-columns:1fr}.modal{padding:20px}}.feedback-critical-list{margin:0 0 12px}.feedback-critical-message{margin:0;color:#b00020;font-weight:800}.phone-closeup-overlay{position:absolute;inset:0;z-index:6;pointer-events:none}.phone-display{position:absolute;left:24.1%;top:19.81%;z-index:2;width:10.4%;height:4.2%;display:grid;place-items:center;color:#17313d;font-family:Consolas,Courier New,monospace;font-size:clamp(.7rem,calc(var(--game-stage-width) * .014),1.35rem);font-weight:900;letter-spacing:0;pointer-events:none}.phone-key-button,.phone-call-button{position:absolute;z-index:3;min-width:0;min-height:0;padding:0;border:0;background:transparent;opacity:0;pointer-events:auto;cursor:pointer}.phone-key-button{width:2.09%;height:3.72%;border-radius:50%}.phone-call-button{left:24.76%;top:54.73%;width:8.61%;height:8.61%;border-radius:999px}.phone-key-button:hover,.phone-key-button:focus-visible,.phone-call-button:hover,.phone-call-button:focus-visible{opacity:.24;background:#63d1ff;outline:2px solid rgba(31,126,180,.85);outline-offset:0}.phone-message{position:absolute;left:21.6%;top:63.2%;z-index:4;max-width:18%;padding:6px 8px;color:#17313d;border:1px solid rgba(23,104,134,.45);border-radius:6px;background:#e6f4fbeb;font-size:clamp(.55rem,calc(var(--game-stage-width) * .0075),.82rem);font-weight:800;pointer-events:none}.phone-service-menu{position:absolute;top:0;right:0;bottom:0;z-index:5;width:50%;display:flex;flex-direction:column;gap:8px;padding:4.2% 3.2%;overflow:auto;color:#183746;background:#f7fbfdf0;border-left:1px solid rgba(23,104,134,.32);box-shadow:-18px 0 40px #0000002e;pointer-events:auto}.phone-service-menu h3{margin:0 0 6px;font-size:clamp(1rem,calc(var(--game-stage-width) * .015),1.45rem);letter-spacing:0}.phone-service-menu button{min-height:36px;padding:0 12px;color:#f7fbfd;border:1px solid #176986;border-radius:6px;background:#176986;font-weight:800;text-align:left}.phone-service-menu button:hover,.phone-service-menu button:focus-visible{background:#105872}.first-aid-fade-overlay{position:absolute;inset:0;z-index:90;background:#000;pointer-events:none;animation:firstAidFade 2s ease-in-out forwards}@keyframes firstAidFade{0%{opacity:0}35%{opacity:1}65%{opacity:1}to{opacity:0}}.scene-loading{position:absolute;inset:0;z-index:10000;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#17252f;color:#fff;text-align:center;padding:2rem}.remote-progress-chart :is(.gc-baseline,.uvvis-spectrum-line){clip-path:inset(0 var(--trace-hidden, 0%) 0 0) view-box}:is(.title-menu-button,.exercise-number-button)[data-progress=green]{border:3px solid #47d881}:is(.title-menu-button,.exercise-number-button)[data-progress=yellow]{border:3px solid #f1ce4f}:is(.title-menu-button,.exercise-number-button)[data-progress=red]{border:3px solid #ef6464}.progress-load-error{position:absolute;top:2%;left:5%;right:5%;padding:8px;background:#172333;color:#fff;z-index:2}.preparation-saving{position:fixed;z-index:10000;bottom:18px;left:50%;transform:translate(-50%);max-width:calc(100vw - 32px);padding:10px 18px;border:1px solid #79c8ff;border-radius:8px;color:#eef4f8;background:#182431;box-shadow:0 4px 16px #0006;pointer-events:none}.glassware-visual{display:block;min-width:0;min-height:0;overflow:hidden;pointer-events:none}.glassware-tint{transition:fill .55s,fill-opacity .55s}.glassware-powder{transition:opacity .55s}@media(prefers-reduced-motion:reduce){.glassware-tint,.glassware-powder{transition:none}}.filtration-apparatus{display:flex;align-items:end;justify-content:center;gap:24px;min-height:190px;padding:12px;background:#1d3349;border-radius:10px;margin:12px 0;color:#fff}.filtration-apparatus>div{width:90px;text-align:center}.filtration-apparatus svg,.filtration-apparatus img{width:90px;height:90px;object-fit:contain}.filtration-apparatus small{display:block;font-size:11px}.filtration-stack{display:flex;flex-direction:column;align-items:center}.filtration-stream{height:12px;border-left:2px dashed #81cafa;opacity:.25}.is-filtering .filtration-stream{opacity:1;animation:filtration-flow .5s infinite}.filtration-check{display:flex;gap:8px;align-items:start;margin:12px 0}.filtration-note{font-size:12px;opacity:.8}@keyframes filtration-flow{50%{transform:translateY(4px)}}@media(prefers-reduced-motion:reduce){.is-filtering .filtration-stream{animation:none}}.filtration-panel .uvvis-field{color:inherit}.filtration-panel button{padding:8px 12px;border:1px solid #7198af;border-radius:5px;background:#214b68;color:#f0f7fc;cursor:pointer;margin:6px 4px 6px 0}.filtration-panel button:disabled{opacity:.5;cursor:default}.separation-stage{position:absolute;bottom:0;right:0;width:100%;pointer-events:auto;cursor:pointer;transform-origin:bottom center}.separation-stage>svg{display:block;width:100%;height:auto;overflow:visible}.separation-distillation{width:112%;right:-6%}.separation-filtration{width:100%}.separation-glass{width:100%;height:100%;display:flex;align-items:flex-end;justify-content:center}.separation-glass>img,.separation-glass>.glassware-visual{width:100%;height:100%;object-fit:contain}.separation-drips{animation:separation-drip .7s linear infinite}.filtration-pouring{transform:rotate(65deg)}.boiling-bubbles{animation:separation-bubbles 1.2s linear infinite}.separation-warning{color:#925400;background:#fff0cd;border-radius:5px;padding:8px}@keyframes separation-drip{to{stroke-dashoffset:-28}}@keyframes separation-bubbles{0%{transform:translateY(0);opacity:1}to{transform:translateY(-25px);opacity:0}}@media(prefers-reduced-motion:reduce){.separation-drips,.boiling-bubbles{animation:none}}.lab-notebook{position:fixed;right:12px;top:64px;bottom:12px;width:min(510px,calc(100vw - 24px));z-index:2000;overflow:auto;padding:22px;background:#142b43;color:#e6f2ff;border:1px solid #5590b8;border-radius:14px;box-shadow:0 12px 50px #0009}.lab-notebook header{display:flex;justify-content:space-between;align-items:center;gap:10px}.lab-notebook label,.learning-details label,.titration-training label{display:block;margin:12px 0}.lab-notebook textarea,.learning-details textarea{display:block;width:100%;box-sizing:border-box;background:#0c1c2c;color:#e6f2ff;border:1px solid #6585a0;padding:10px;border-radius:6px}.lab-notebook button,.learning-details button,.titration-training button{margin:4px;padding:7px 11px}.lab-notebook details,.learning-details{margin:14px 0;padding:12px;border:1px solid #486884;border-radius:8px}.lab-notebook li{margin-bottom:10px}.learning-details article{border-top:1px solid #486884;margin:12px 0;padding:10px 0}.titration-observation{display:flex;align-items:center;gap:12px}.titration-observation svg{width:130px;max-height:155px}.titration-training table{width:100%;font-size:.85rem}.titration-training fieldset{margin:10px 0;border:1px solid #486884}.titration-training select{max-width:100%}.student-assignments{position:absolute;right:2%;top:8%;width:min(380px,40%);max-height:75%;overflow:auto;background:#10283fee;color:#e6f2ff;padding:15px;border:1px solid #5590b8;border-radius:10px}.student-assignments article{padding:12px 0;border-bottom:1px solid #486884}.student-assignments p{font-size:.85rem}.titration-training th,.titration-training td{color:#173b50;background:#e5eef4;padding:7px;border-bottom:1px solid #90aebf}.titration-training button{border:1px solid #507589;background:#d6e9f1;color:#133a50;border-radius:5px}.titration-training button:disabled{color:#657981;background:#e6ebee}.lab-notebook button{background:#215775;color:#eefaff;border:1px solid #558aa6;border-radius:5px}.teacher-card label.learning-checkbox{display:flex;align-items:center;gap:8px}.teacher-card .learning-checkbox input{width:auto;margin:0}.player.player-raf-animated{animation:none}.raf-walk-sprite{display:block;width:100%;height:100%;pointer-events:none}.coop-lobby{position:absolute;inset:8% 12%;overflow:auto;background:#10263eed;border:1px solid #6488a4;border-radius:18px;padding:24px;color:#edf6ff}.coop-lobby h1,.coop-lobby h2{margin-top:0}.coop-lobby button{display:inline-block;position:static;width:auto;min-height:44px;height:auto;margin:8px;padding:10px 18px;border:1px solid #6793b2;border-radius:9px;background:#1a4565;color:#fff;font:inherit;cursor:pointer}.coop-lobby button:disabled{opacity:.45;cursor:default}.coop-lobby label{display:block;margin:12px 0}.coop-lobby input,.coop-lobby textarea{display:block;width:min(100%,450px);padding:10px;background:#f8fafc;color:#162b42;border-radius:6px;border:1px solid #7e9cb6;font:inherit;box-sizing:border-box}.coop-lobby textarea{min-height:80px}.coop-lobby details{padding:12px;border:1px solid #526e85;border-radius:8px;margin:10px 0}.coop-lobby strong{overflow-wrap:anywhere}.coop-status{position:fixed;left:12px;top:64px;z-index:1900;max-width:330px;background:#142b43f5;color:#eef8ff;border:1px solid #6593af;border-radius:9px;padding:10px;max-height:65vh;overflow:auto}.coop-status summary{cursor:pointer}.coop-status button{background:#215775;color:#fff;border:1px solid #6593af;border-radius:6px;padding:8px}.coop-status p{font-size:14px}.player.coop-partner{transition:none;pointer-events:none}.coop-partner span{position:absolute;top:-24px;left:50%;transform:translate(-50%);background:#142b43e8;color:#fff;padding:3px 7px;border-radius:5px;white-space:nowrap;font-size:12px}.coop-notes article{background:#f8fafc;border-left:5px solid currentColor;border-radius:6px;padding:12px;margin:10px 0}.coop-role-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.coop-role-cards button{display:grid;gap:8px;text-align:left;padding:18px}.coop-role-cards button[aria-pressed=true]{outline:3px solid #70b9ff}.coop-mission{z-index:2100;width:min(900px,calc(100vw - 24px));box-sizing:border-box}.coop-mission section,.coop-mission details,.coop-mission fieldset{margin:14px 0}.coop-mission fieldset{border:1px solid #6788a9;border-radius:8px;padding:12px}.coop-mission label{display:grid;gap:6px;margin:12px 0}.coop-mission select,.coop-mission input,.coop-mission textarea{width:100%;box-sizing:border-box;padding:8px;color:#eaf4ff;background:#15293c;border:1px solid #6683a0;border-radius:5px}.coop-mission table{width:100%;border-collapse:collapse}.coop-mission th,.coop-mission td{text-align:left;padding:8px;border-bottom:1px solid #49617b;overflow-wrap:anywhere}.coop-tip{padding:12px;background:#183a55;border-left:3px solid #70b9ff}.coop-mission header{position:sticky;top:-22px;background:#142b43;padding:12px 0;z-index:2;border-bottom:1px solid #49617b}.coop-mission header h2{font-size:1.2rem}.coop-mission header button{flex-shrink:0}.online-page{min-height:100vh;display:grid;place-items:center;padding:32px 20px;background:radial-gradient(ellipse at 50% 12%,#172c42,transparent 65%),#0d1117;color:#eef4f8}.online-card{width:min(100%,460px);padding:32px;background:linear-gradient(180deg,#182431,#121b24);border:1px solid #394c60;border-radius:12px;box-shadow:0 24px 64px #0006}.online-brand{width:min(100%,300px);aspect-ratio:460 / 340;margin:0 auto 24px;background:url(../assets/screens/title.png) 50% 14.642% / 363.478% auto no-repeat;border-radius:8px}.online-login h1{margin:0;text-align:center;font-size:1.5rem}.online-intro{margin:10px 0 26px;text-align:center;color:#b9cadb}.online-card form,.online-card label{display:grid;gap:10px}.online-card form{gap:18px}.online-card label{color:#eef4f8;font-size:.95rem;font-weight:600}.online-card input{min-width:0;padding:12px;border-radius:6px;border:1px solid #52677d;color:#eef4f8;background:#0d1621;font:inherit}.online-card input:focus-visible{outline:2px solid #79c8ff;outline-offset:2px}.online-card button{padding:12px 18px;margin:6px 0;border-radius:6px;border:1px solid #79c8ff;background:linear-gradient(180deg,#2b95e5,#1868b1);color:#fff;font-weight:700}.online-card button+button{margin-left:8px}.online-card button:hover:not(:disabled){background:linear-gradient(180deg,#40a7f1,#217cc8)}.online-card button:focus-visible{outline:2px solid #b6e2ff;outline-offset:3px}.online-card button:disabled{opacity:.5;cursor:wait}.online-login [role=status]{color:#b9cadb;font-size:.9rem;line-height:1.5}.online-login small{display:block;color:#94a9bd;line-height:1.5}.online-overlay{position:fixed;inset:0;z-index:11000;padding:20px;background:#080c12cc;display:grid;place-items:center;color:#eef4f8}.online-simulation{height:100dvh;display:flex;flex-direction:column;background:#0d1117}.online-simulation>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 20px;color:#eef4f8}.online-simulation>header button{background:#1868b1;color:#fff;border:1px solid #79c8ff;border-radius:6px;padding:8px 14px}.online-simulation iframe{flex:1;width:100%;border:0;min-height:0;background:#12161b}@media(max-width:480px){.online-page{padding:20px 16px}.online-card{padding:24px}.online-brand{width:min(100%,250px)}}.online-admin{width:min(100%,1050px);max-width:1050px}.online-admin header{display:flex;align-items:center;justify-content:space-between;gap:20px}.online-admin p{line-height:1.6}.online-admin label{display:grid;gap:8px;margin:18px 0}.online-admin textarea{min-height:140px;padding:12px;background:#0d1621;color:#eef4f8;border:1px solid #52677d;border-radius:6px;font:inherit;width:100%}.online-admin textarea:focus-visible{outline:2px solid #79c8ff}.admin-table{overflow-x:auto}.online-admin table{border-collapse:collapse;width:100%;margin:16px 0;text-align:left}.online-admin th,.online-admin td{padding:12px;border-bottom:1px solid #52677d;overflow-wrap:anywhere}.school-admin{margin-top:32px;padding-top:20px;border-top:1px solid #52718e}.school-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.profile-editor{margin-top:24px;padding:18px;border:1px solid #52718e;border-radius:8px}.online-card .class-choice{display:flex;flex-direction:row;align-items:center;gap:10px;margin:8px 0}.online-card .class-choice input{width:auto}@media(max-width:600px){.school-fields{grid-template-columns:1fr}}.school-admin td,.school-admin th{overflow-wrap:normal}.school-admin td:last-child button{white-space:nowrap;margin-left:0;padding:10px 12px}.school-admin select{padding:12px;border:1px solid #52677d;border-radius:6px;background:#0d1621;color:#eef4f8;font:inherit}.profile-dialog{width:min(680px,calc(100vw - 32px));max-height:90dvh;overflow-y:auto;padding:24px;background:#182431;color:#eef4f8;border:1px solid #79c8ff;border-radius:12px}.profile-dialog::backdrop{background:#080c12cc}.profile-dialog .profile-editor{margin:0;padding:0;border:0}.teacher-menu-button{position:absolute;right:3%;top:4%;padding:14px 24px;border:2px solid #78c8ff;border-radius:10px;background:#162638;color:#eef7ff;font:inherit;cursor:pointer;z-index:3}.teacher-card{width:min(1200px,96vw);max-width:1200px}.teacher-header{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.teacher-header h1{margin-right:auto}.teacher-classes{display:flex;gap:16px;flex-wrap:wrap}.teacher-classes button{min-width:180px}.teacher-card table{width:100%;border-collapse:collapse}.teacher-card th,.teacher-card td{padding:12px;text-align:left;border-bottom:1px solid #456077;vertical-align:top}.teacher-card details{margin-top:10px}.teacher-card summary{cursor:pointer;color:#91d2ff}.teacher-attempt{border:1px solid #456077;border-left:5px solid #7893a8;padding:18px;margin:18px 0;border-radius:8px}.teacher-attempt[data-quality=green]{border-left-color:#5cda91}.teacher-attempt[data-quality=yellow]{border-left-color:#f2c75c}.teacher-attempt[data-quality=red]{border-left-color:#f67b7b}.teacher-card nav{display:flex;gap:12px}.teacher-page{align-items:flex-start}.activity-rules{border:1px solid #456077;border-radius:10px;padding:18px;margin:20px 0}.access-choice{display:flex!important;align-items:center;justify-content:space-between;gap:15px}.access-choice select{max-width:260px;padding:10px;background:#122336;color:#eef4f8;border:1px solid #7893a8;border-radius:6px}.access-group{padding:12px 0;border-top:1px solid #456077}.access-activity{padding:12px 0;border-top:1px solid #34495b}.access-activity>span{display:block;font-size:.9rem;color:#b7cde0;margin-top:6px}.title-menu-button:disabled,.exercise-number-button:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.6)}@media(max-width:650px){.access-choice{flex-direction:column;align-items:stretch}.access-choice select{max-width:100%}}.teacher-class-choice{display:flex!important;align-items:center;gap:10px;margin:8px 0}.teacher-class-choice input{width:18px;height:18px;min-width:18px}.teacher-classes article{padding:12px;border:1px solid #456077;border-radius:8px}.online-overlay .online-card{max-height:90dvh;overflow-y:auto}.online-overlay .online-card:has(.feedback-report){width:min(900px,95vw)}
