@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap";:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#ecf7fb;font-synthesis:none;text-rendering:optimizelegibility;--navy-950:#07101c;--navy-900:#0a1625;--navy-850:#0d1b2d;--navy-800:#11233a;--line:#8bb5cb2e;--line-bright:#6fdfdd61;--cyan:#4fe0d5;--cyan-soft:#9ff6ec;--amber:#ffbd66;--muted:#91a8b9;--paper:#f1ecdf;background:#07101c;font-family:Manrope,system-ui,sans-serif}*{box-sizing:border-box}html{background:var(--navy-950);min-width:320px}body{min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}button,input{font:inherit}button{color:inherit}button:focus-visible,[tabindex]:focus-visible,summary:focus-visible{outline:3px solid var(--amber);outline-offset:3px}.app-shell{background:radial-gradient(circle at 55% 35%,#166e871f,#0000 34%),linear-gradient(#081321,#07101b 65%,#050c15);min-height:100vh}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#050d17db;justify-content:space-between;align-items:center;height:76px;padding:0 28px;display:flex}.brand{text-transform:uppercase;letter-spacing:.13em;align-items:center;gap:13px;display:flex}.brand>div{flex-direction:column;line-height:1.05;display:flex}.brand span{color:var(--cyan);font-size:10px;font-weight:700}.brand strong{letter-spacing:.09em;font-size:17px;font-weight:800}.atom-mark{width:43px;height:43px;overflow:visible}.atom-mark ellipse{fill:none;stroke:var(--cyan);stroke-width:2px}.atom-mark circle{fill:var(--amber);stroke:none}.topbar-meta{align-items:center;gap:20px;display:flex}.session-label{text-transform:uppercase;color:#9ab0c0;letter-spacing:.12em;font-family:DM Mono,monospace;font-size:10px}.session-label i{background:var(--cyan);width:7px;height:7px;box-shadow:0 0 12px var(--cyan);border-radius:50%;margin-right:8px;display:inline-block}.help-button{border:1px solid var(--line-bright);width:34px;height:34px;color:var(--cyan);cursor:pointer;background:0 0;border-radius:50%;font-weight:800}.help-button:hover{background:#4fe0d51a}.safety-banner{background:#2a2115;border-bottom:1px solid #ffbd6633;justify-content:center;align-items:center;gap:10px;min-height:38px;padding:7px 24px;display:flex}.safety-banner p{color:#d9c9ac;letter-spacing:.03em;margin:0;font-size:11px}.safety-banner strong{color:var(--amber);text-transform:uppercase;letter-spacing:.12em;font-size:10px}.safety-icon{border:1px solid var(--amber);width:20px;height:20px;color:var(--amber);place-items:center;font:700 11px DM Mono;display:grid;transform:rotate(45deg)}.safety-icon:first-letter{transform:rotate(-45deg)}.lab-layout{grid-template-columns:244px minmax(480px,1fr) 320px;min-height:calc(100vh - 152px);display:grid}.inventory,.journal{background:#07111dc2}.inventory{border-right:1px solid var(--line);padding:28px 20px}.journal{border-left:1px solid var(--line);background:#0b1827;padding:28px 22px}.panel-heading h2,.journal-heading h2{letter-spacing:-.03em;margin:3px 0 0;font-size:20px}.eyebrow{color:var(--cyan);text-transform:uppercase;letter-spacing:.2em;font:500 9px DM Mono,monospace}.inventory-guide{color:var(--muted);margin:11px 0 18px;font-size:11px;line-height:1.55}.chemical-list{gap:8px;display:grid}.chemical-card{border:1px solid var(--line);cursor:grab;background:linear-gradient(135deg,#152c419e,#0b1b2bd1);border-radius:10px;grid-template-columns:52px 1fr 28px;align-items:center;gap:8px;min-height:68px;padding:7px 8px;transition:border-color .2s,transform .2s,background .2s;display:grid;position:relative}.chemical-card:hover{border-color:var(--line-bright);transform:translate(2px)}.chemical-card.is-selected{border-color:var(--cyan);box-shadow:inset 3px 0 var(--cyan);background:linear-gradient(135deg,#205c6580,#0b2532cc)}.chemical-visual{color:#b8d5e5;place-items:center;width:48px;height:52px;display:grid}.chemical-visual svg{width:48px;height:48px}.chemical-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.chemical-copy strong{color:#f4fbff;font:500 15px DM Mono,monospace}.chemical-copy small{color:#8fa5b5;font-size:9px;line-height:1.2}.quick-add{border:1px solid var(--line);width:27px;height:27px;color:var(--cyan);cursor:pointer;background:#102238;border-radius:50%;font-size:18px;line-height:1}.quick-add:hover{background:var(--cyan);color:#07202a}.dose-note{border-top:1px solid var(--line);color:#758e9f;grid-template-columns:24px 1fr;gap:8px;margin-top:18px;padding-top:16px;font-size:9px;line-height:1.5;display:grid}.dose-note span{color:#87b5cb;border:1px solid #4d7188;border-radius:50%;place-items:center;width:20px;height:20px;font:500 10px DM Mono;display:grid}.workspace{background:radial-gradient(circle at 50% 42%,#1d4b5b24,#0000 52%);min-width:0;padding:28px 30px 24px}.workspace-header{justify-content:space-between;align-items:flex-end;margin-bottom:18px;display:flex}.workspace-header h1{letter-spacing:-.045em;margin:3px 0 0;font-size:clamp(23px,2.2vw,34px)}.reset-button{border:1px solid var(--line);color:#9db1bf;cursor:pointer;background:0 0;border-radius:6px;padding:9px 12px;font-size:10px}.reset-button:hover{border-color:var(--line-bright);color:var(--cyan)}.reset-button span{color:var(--cyan);margin-right:5px;font-size:14px}.instruction-strip{border:1px solid var(--line);background:#081421eb;border-bottom:none;border-radius:8px 8px 0 0;grid-template-columns:10px 1fr;align-items:center;gap:10px;min-height:42px;padding:9px 14px;display:grid}.instruction-strip p{color:#c2d1db;margin:0;font-size:11px;line-height:1.4}.status-dot{background:#7792a4;border-radius:50%;width:7px;height:7px}.status-dot--success{background:var(--cyan);box-shadow:0 0 12px var(--cyan)}.status-dot--warning{background:var(--amber);box-shadow:0 0 10px #ffbd6699}.bench-scene{border:1px solid var(--line);background:linear-gradient(#46697c0b 1px,#0000 1px) 0 0/26px 26px,linear-gradient(90deg,#46697c0b 1px,#0000 1px) 0 0/26px 26px,radial-gradient(circle at 50% 70%,#1f697729,#0000 35%),#0b1928;height:clamp(390px,48vh,500px);min-height:390px;position:relative;overflow:hidden}.window-light{pointer-events:none;background:linear-gradient(115deg,#0000 0 45%,#74d4dd06 45% 58%,#0000 58%);position:absolute;inset:0}.shelf{background:#1a3446;height:2px;position:absolute;left:4%;right:4%;box-shadow:0 4px 10px #00000059}.shelf--top{width:24%;top:15%;right:auto}.shelf--bottom{width:19%;top:25%;left:auto}.shelf span{background:#2c5b6e1f;border:1px solid #72a4b838;border-radius:2px 2px 7px 7px;width:18px;height:34px;margin:-34px 7px 0;display:inline-block;position:relative}.shelf span:nth-child(2){border-radius:2px 2px 5px 5px;width:25px;height:24px}.bench-grid{z-index:2;grid-template-columns:1.2fr .9fr 1fr;align-items:end;gap:7%;display:grid;position:absolute;inset:42px 7% 54px}.vessel{cursor:pointer;background:0 0;border:none;align-self:end;height:255px;padding:0;position:relative}.vessel-name{color:#738d9e;text-transform:uppercase;letter-spacing:.12em;min-width:max-content;font:500 9px DM Mono;position:absolute;bottom:-29px;left:50%;transform:translate(-50%)}.vessel-readout{border:1px solid var(--line);color:#76a6b9;background:#050f1acc;border-radius:3px;padding:4px 7px;font:500 9px DM Mono;position:absolute;top:22px;right:0}.vessel.is-selected .vessel-readout{color:var(--cyan);border-color:var(--line-bright)}.vessel.is-selected:after{content:"";background:var(--cyan);filter:blur(10px);opacity:.22;border-radius:50%;width:74%;height:8px;position:absolute;bottom:-15px;left:50%;transform:translate(-50%)}.glass{background:linear-gradient(90deg,#9bd6e60d,#d5f7fa21 47%,#77b2ca0a);border:2px solid #a9d8e680;border-top:none;position:absolute;bottom:0;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:inset 0 -10px 20px #79bfd00a,0 20px 22px #00000047}.vessel--beaker .glass{border-radius:0 0 17px 17px;width:132px;height:165px}.vessel--beaker .glass:before{content:"";z-index:4;border:2px solid #a9d8e694;border-radius:50%;width:138px;height:18px;position:absolute;top:0;left:-2px}.vessel--beaker .glass:after{content:"";border-top:2px solid #a9d8e6a6;width:24px;height:15px;position:absolute;top:-2px;right:-4px;transform:rotate(-8deg)}.vessel--testTube .glass{border-radius:0 0 38px 38px;width:74px;height:210px}.vessel--testTube .glass:before{content:"";z-index:4;border:2px solid #a9d8e694;border-radius:50%;width:76px;height:15px;position:absolute;top:0;left:-2px}.glass-shine{z-index:6;opacity:.48;background:linear-gradient(#ffffff47,#0000);border-radius:10px;width:7px;height:62%;position:absolute;top:20px;left:14%}.beaker-marks{z-index:5;color:#c4ebef73;font:12px/2.5 DM Mono;position:absolute;top:48px;right:9px}.solution{--solution-colour:transparent;z-index:1;background:var(--solution-colour);opacity:.76;border-radius:0 0 14px 14px;height:48%;transition:background .45s,height .35s;position:absolute;bottom:3px;left:3px;right:3px}.solution:before{content:"";background:color-mix(in srgb, var(--solution-colour), white 15%);border-radius:50%;height:10px;position:absolute;top:-5px;left:0;right:0}.precipitate{z-index:3;filter:saturate(.8);background:radial-gradient(circle at 25% 25%,#b7f0ff 0 4px,#0000 5px),radial-gradient(circle at 70% 43%,#8bdaf6 0 5px,#0000 6px),radial-gradient(circle,#70c6e5,#4aaacb);border-radius:45% 42% 12px 12px;height:29%;animation:1.4s ease-out settle;position:absolute;bottom:5px;left:7px;right:7px}.zinc-piece{z-index:4;background:linear-gradient(145deg,#d3dce1,#778794);border-radius:60% 35%;width:28px;height:13px;position:absolute;bottom:9px;left:50%;transform:translate(-50%)rotate(-8deg);box-shadow:8px -2px 0 -3px #a6b1b9}.bubbles{z-index:5;position:absolute;inset:12% 12% 15%}.bubbles i{border:1px solid #e0fdffcc;border-radius:50%;width:9px;height:9px;animation:1.6s ease-in infinite bubble;position:absolute;bottom:0}.bubbles i:first-child{animation-delay:-.2s;left:15%}.bubbles i:nth-child(2){width:6px;height:6px;animation-delay:-.8s;left:35%}.bubbles i:nth-child(3){width:11px;height:11px;animation-delay:-1.1s;left:58%}.bubbles i:nth-child(4){width:5px;height:5px;animation-delay:-.5s;left:72%}.bubbles i:nth-child(5){animation-delay:-1.5s;left:48%}.heat-tools{justify-content:center;align-items:end;gap:14px;height:230px;display:flex}.burner,.splint{cursor:pointer;background:0 0;border:none;padding:0;position:relative}.burner{width:82px;height:160px}.burner-base{background:linear-gradient(#4a6071,#172b3b);border:1px solid #6d8797;border-radius:50%;width:66px;height:20px;position:absolute;bottom:12px;left:8px}.burner-tube{background:linear-gradient(90deg,#203647,#71909f 48%,#203747);border:1px solid #7b96a2;border-radius:3px 3px 8px 8px;width:22px;height:83px;position:absolute;bottom:27px;left:31px}.flame{z-index:3;opacity:0;width:32px;height:59px;transition:opacity .2s,transform .2s;position:absolute;bottom:105px;left:26px;transform:scale(.5)}.burner.is-lit .flame{opacity:1;transform:scale(1)}.flame:before{content:"";clip-path:polygon(50% 0,87% 48%,76% 90%,50% 100%,22% 88%,13% 49%);filter:drop-shadow(0 0 9px #438fff);background:radial-gradient(at 50% 72%,#fff 0 8%,#55d8ff 9% 29%,#3477f5 30% 59%,#0000 60%);border-radius:50%/68% 68% 32% 32%;animation:1s ease-in-out infinite alternate flame;position:absolute;inset:0}.flame i{z-index:2;opacity:.7;background:#fff;border-radius:50% 50% 35% 35%;width:8px;height:32px;position:absolute;bottom:4px;left:12px}.splint{width:45px;height:130px}.splint-stick{transform-origin:bottom;background:linear-gradient(90deg,#8d582e,#d7a06b);border-radius:4px;width:5px;height:95px;position:absolute;bottom:12px;left:20px;transform:rotate(9deg)}.splint-stick i{opacity:0;filter:drop-shadow(0 0 7px #ff9b3d);background:radial-gradient(at 50% 70%,#fff 0 8%,#ffd761 9% 38%,#ff753c 39% 65%,#0000 66%);border-radius:50% 50% 45% 45%;width:19px;height:27px;position:absolute;top:-16px;left:-7px}.splint.is-lit .splint-stick i{opacity:1;animation:.8s infinite alternate flame}.tool-caption{color:#738d9e;text-transform:uppercase;letter-spacing:.1em;min-width:max-content;font:500 8px DM Mono;position:absolute;bottom:-18px;left:50%;transform:translate(-50%)}.bench-surface{z-index:1;background:linear-gradient(#142936,#0b1923 60%,#071019);border-top:2px solid #263f4d;height:58px;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -12px 28px #0000004d}.surface-label{color:#65879566;letter-spacing:.18em;font:500 8px DM Mono;position:absolute;top:15px;right:18px}.pop-effect,.discovery-flash{z-index:10;color:var(--amber);letter-spacing:-.06em;text-shadow:0 0 28px #ffbd668c;pointer-events:none;font:800 clamp(38px,6vw,72px) Manrope;animation:.85s ease-out both pop;position:absolute;top:42%;left:50%;transform:translate(-50%,-50%)rotate(-4deg)}.discovery-flash{color:var(--cyan-soft);text-shadow:0 0 25px #4fe0d599;font:500 clamp(24px,4vw,48px) DM Mono;transform:translate(-50%,-50%)}.control-deck{border:1px solid var(--line);background:#0a1725;border-top:0;border-radius:0 0 8px 8px;justify-content:space-between;align-items:center;min-height:75px;padding:13px 16px;display:flex}.control-deck>div:first-child{grid-template-columns:auto 1fr;align-items:baseline;column-gap:12px;min-width:0;display:grid}.control-deck .eyebrow{grid-column:1/-1;margin-bottom:3px}.control-deck strong{font-size:13px}.control-deck small{color:#708a9b;white-space:nowrap;text-overflow:ellipsis;font:400 9px DM Mono;overflow:hidden}.deck-actions button{border:1px solid var(--line-bright);color:var(--cyan-soft);cursor:pointer;background:#216a702e;border-radius:6px;padding:10px 13px;font-size:10px}.deck-actions button:hover{background:#38a3a240}.gas-icon{border:1px solid var(--cyan);border-radius:50%;place-items:center;width:19px;height:19px;margin-right:6px;display:inline-grid}.journal-heading{justify-content:space-between;align-items:flex-end;display:flex}.journal-count{border:1px solid var(--line-bright);width:44px;height:34px;color:var(--cyan);border-radius:4px;place-items:center;font:500 12px DM Mono;display:grid}.journal-rule{background:var(--line);height:1px;margin:18px 0}.journal-entries{gap:11px;display:grid}.journal-entry{opacity:.64;background:#08142099;border:1px solid #7c9dae1f;border-radius:8px;grid-template-columns:28px 1fr;gap:10px;padding:13px 12px;display:grid}.journal-entry.is-found{opacity:1;background:linear-gradient(135deg,#15454a57,#081522b3);border-color:#4fe0d542}.entry-number{color:#617c8d;padding-top:2px;font:500 10px DM Mono}.is-found .entry-number{color:var(--cyan)}.journal-entry h3{margin:0 0 5px;font-size:12px}.journal-entry code{color:var(--cyan-soft);white-space:normal;font:500 9px/1.5 DM Mono;display:block}.journal-entry p{color:#94aab8;margin:7px 0 0;font-size:9px;line-height:1.5}.journal-entry .locked-hint{color:#657d8d}.journal-entry details{margin-top:7px}.journal-entry summary{color:#abc1cd;cursor:pointer;font-size:9px}.text-button{color:#7e96a5;cursor:pointer;background:0 0;border:none;border-bottom:1px solid #5d7787;margin-top:18px;padding:0;font-size:9px}.text-button:hover{color:var(--amber);border-color:var(--amber)}footer{border-top:1px solid var(--line);color:#4f6878;letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;height:38px;padding:0 28px;font:500 8px DM Mono;display:flex}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#02080ec2;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.help-modal{border:1px solid var(--line-bright);background:linear-gradient(145deg,#11283a,#091726 68%);border-radius:14px;width:min(520px,92vw);padding:36px;position:relative;box-shadow:0 32px 80px #0000008c}.help-modal:before{content:"";pointer-events:none;border:1px solid #6fdfdd17;border-radius:9px;position:absolute;inset:8px}.help-modal h2{letter-spacing:-.045em;max-width:400px;margin:7px 0 12px;font-size:30px;line-height:1.05}.help-modal>p{color:#9eb3bf;max-width:430px;font-size:12px;line-height:1.6}.help-modal ol{border-top:1px solid var(--line);margin:15px 0;padding:10px 0;list-style:none}.help-modal li{border-bottom:1px solid var(--line);grid-template-columns:34px 1fr;gap:12px;padding:11px 0;display:grid}.help-modal li>span{color:var(--cyan);font:500 10px DM Mono}.help-modal li div{flex-direction:column;gap:2px;display:flex}.help-modal li strong{font-size:11px}.help-modal li small{color:#7890a0;font-size:9px}.modal-close{border:1px solid var(--line);color:#9db4c2;cursor:pointer;background:0 0;border-radius:50%;width:34px;height:34px;font-size:24px;line-height:1;position:absolute;top:15px;right:17px}.primary-button{background:var(--cyan);color:#06212a;cursor:pointer;border:none;border-radius:6px;justify-content:space-between;align-items:center;width:100%;margin-top:20px;padding:14px 16px;font-size:12px;font-weight:800;display:flex}.primary-button:hover{background:var(--cyan-soft)}.primary-button span{font-size:19px}.mobile-notice{display:none}@keyframes bubble{0%{opacity:0;transform:translateY(0)scale(.6)}15%{opacity:1}to{opacity:0;transform:translateY(-120px)scale(1.15)}}@keyframes settle{0%{opacity:0;transform:translateY(-60px)}to{opacity:1;transform:translateY(0)}}@keyframes flame{0%{transform:scaleX(.92)rotate(-2deg)}to{transform:scaleX(1.08)rotate(2deg)translateY(-2px)}}@keyframes pop{0%{opacity:0;transform:translate(-50%,-50%)scale(.2)rotate(-8deg)}35%{opacity:1;transform:translate(-50%,-50%)scale(1.2)rotate(3deg)}to{opacity:0;transform:translate(-50%,-50%)scale(1)rotate(-3deg)}}@media (width<=1180px){.lab-layout{grid-template-columns:215px minmax(450px,1fr)}.journal{border-left:none;border-top:1px solid var(--line);grid-column:1/-1}.journal-entries{grid-template-columns:repeat(3,1fr)}.journal{min-height:250px}.bench-grid{gap:3%}}@media (width<=850px){.topbar{padding:0 18px}.lab-layout{grid-template-columns:190px minmax(470px,1fr)}.workspace{padding:22px 18px}.inventory{padding:22px 14px}.chemical-card{grid-template-columns:42px 1fr 26px;padding-inline:5px}.chemical-visual,.chemical-visual svg{width:40px}.bench-grid{inset-inline:4%}.journal-entries{grid-template-columns:1fr}}@media (width<=699px){.app-shell{display:none}.mobile-notice{background:radial-gradient(circle at 80% 20%,#4fe0d51f,#0000 30%),#081321;flex-direction:column;justify-content:center;align-items:flex-start;min-height:100vh;padding:38px;display:flex}.mobile-notice .atom-mark{width:70px;height:70px;margin-bottom:30px}.mobile-notice h1{letter-spacing:-.055em;max-width:440px;margin:10px 0 13px;font-size:clamp(34px,11vw,54px);line-height:.98}.mobile-notice p{color:#9bb0bd;max-width:440px;line-height:1.65}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
