@font-face{font-family:Inter;src:url('../shared/fonts/InterVariable.woff2')}*{box-sizing:border-box}body{margin:0;background:#f5f6f8;color:#132b43;font:14px Inter,system-ui,sans-serif}button,select,input,textarea{font:inherit}button{cursor:pointer;border:1px solid #d9dfe5;border-radius:8px;background:white;color:#17334a;padding:10px 15px;min-height:42px}button:hover{background:#edf4f8;border-color:#93afbd}button:focus-visible,a:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid #298b9d;outline-offset:3px}header{height:90px;background:#fff;border-bottom:1px solid #e0e5e9;display:flex;align-items:center;justify-content:space-between;padding:0 max(4vw,24px)}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#0b2a5b;font-size:26px;letter-spacing:-1px}.brand strong{font-weight:750}.brand small{display:block;font-size:8px;letter-spacing:2px;margin-top:4px}.brand-icon{font-size:39px;color:#227c91}nav{display:flex;gap:10px}main{max-width:1440px;margin:auto;padding:38px 4vw 0}.intro{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}.eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:750;color:#52717e;margin:0 0 12px}h1{font-size:clamp(26px,2.8vw,39px);letter-spacing:-1.6px;margin:0 0 10px;font-weight:650}.intro p:not(.eyebrow){color:#657685;margin:0;font-size:14px}.lab-badge{border:1px solid #d3e1df;border-radius:30px;padding:12px 17px;font-size:10px;letter-spacing:1px;background:#eff7f4;white-space:nowrap}i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#55aa88;margin-right:7px}.layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(330px,1fr);gap:24px}.workbench{background:#fff;border:1px solid #dce2e7;border-radius:15px;overflow:hidden;align-self:start}.bench-top{height:55px;display:flex;align-items:center;justify-content:space-between;padding:0 22px;font-size:10px;letter-spacing:1.3px}.bench-top button{border:0;font-size:11px;letter-spacing:0;padding:6px}.scene{--flame:#49a9ff;position:relative;height:475px;overflow:hidden;background:radial-gradient(ellipse at 50% 58%,#283d49,#142630 70%);cursor:copy}.tiles{position:absolute;inset:0;background:linear-gradient(#ffffff03 1px,transparent 1px),linear-gradient(90deg,#ffffff03 1px,transparent 1px);background-size:75px 75px}.scene-caption{position:absolute;top:25px;left:25px;color:#afc2c8;font-size:9px;letter-spacing:2px}.scene-caption small{display:block;font-size:11px;letter-spacing:0;margin-top:8px;color:#7d949f}.bench-surface{position:absolute;bottom:0;height:92px;width:100%;background:linear-gradient(#50616a,#293d48 7%,#20313c);border-top:1px solid #6b7c83}.burner{position:absolute;left:50%;bottom:74px;width:126px;height:200px;transform:translateX(-50%);z-index:3}.base{position:absolute;bottom:0;width:126px;height:27px;border-radius:50%;background:linear-gradient(100deg,#4e5559,#d2d6d5 45%,#6e777d 70%,#222e37);box-shadow:0 9px 10px #0008}.stem{position:absolute;bottom:14px;left:53px;width:23px;height:37px;background:linear-gradient(90deg,#56626a,#d8dfdc 42%,#616c72)}.tube{position:absolute;top:4px;left:46px;width:36px;height:148px;background:linear-gradient(90deg,#3a454c,#b1bbb9 20%,#e0e6df 40%,#8b9697 67%,#34454d);box-shadow:inset 0 1px 4px #0009}.rim{position:absolute;top:0;left:45px;width:38px;height:10px;border-radius:50%;background:#14232c;border:3px solid #8d999b;z-index:2}.collar{position:absolute;top:118px;left:41px;width:46px;height:35px;background:linear-gradient(90deg,#515e63,#c1c7c2,#586b6d);border-radius:3px}.collar:after{content:'';position:absolute;top:11px;left:9px;width:13px;height:11px;background:#182a30;border-radius:50%}.valve{position:absolute;bottom:27px;left:75px;width:40px;height:15px;border-radius:4px;background:linear-gradient(#b4a16c,#66562d)}.glow{position:absolute;bottom:157px;left:-70px;width:270px;height:290px;background:radial-gradient(ellipse,var(--flame),transparent 63%);opacity:.15;filter:blur(18px)}.flame{position:absolute;width:58px;height:160px;bottom:198px;left:35px;background:radial-gradient(ellipse at 50% 85%,#fff9 0,var(--flame) 33%,transparent 76%);border-radius:70% 30% 60% 40% / 85% 75% 25% 15%;filter:drop-shadow(0 0 8px var(--flame));transform-origin:bottom;animation:flicker .17s infinite alternate}.flame-core{position:absolute;width:22px;height:61px;bottom:0;left:18px;background:linear-gradient(0deg,#a8efff,#3a83f9 65%,transparent);border-radius:50% 50% 30% 30%}.hose{position:absolute;bottom:20px;left:0;width:100%;height:120px;z-index:2}.loop{position:absolute;top:180px;left:51%;width:180px;height:5px;background:linear-gradient(#f1efdc,#768b8e);transform:rotate(-12deg);transform-origin:left;z-index:5;opacity:0;transition:opacity .3s}.loop:after{content:'';position:absolute;right:-72px;top:-6px;width:80px;height:17px;background:linear-gradient(#b87c4b,#58361f);border-radius:5px}.loop div{position:absolute;left:-13px;top:-6px;width:20px;height:16px;border:2px solid #c9d0cd;border-radius:50%}.scene.testing .loop{opacity:1}.readout{display:flex;align-items:center;gap:13px;padding:20px 24px;min-height:88px}.readout small{display:block;font-size:9px;letter-spacing:1.4px;color:#6a808d;margin-bottom:6px}.readout strong{font-weight:550;font-size:13px}.status-dot{width:8px;height:8px;background:#268e99;border-radius:50%}#color-chip{width:25px;height:25px;border-radius:50%;margin-left:auto;background:#49a9ff;box-shadow:0 0 15px #49a9ff44}aside section{background:#fff;border:1px solid #dce2e7;border-radius:14px;padding:23px}.panel-heading{display:flex;align-items:center;justify-content:space-between}h2{font-size:19px;letter-spacing:-.5px;font-weight:600;margin:0}#progress{font-size:10px;color:#517281;background:#eff4f6;padding:7px;border-radius:20px}.hint{font-size:11px;color:#768792;line-height:1.6}.samples{display:grid;grid-template-columns:repeat(4,1fr);gap:10px 7px;margin-top:18px}.sample{border:1px solid transparent;padding:5px 0 8px;border-radius:9px;position:relative;background:transparent;touch-action:pan-y}.sample:hover{background:#f1f7f6}.sample.tested:after{content:'✓';position:absolute;top:5px;right:4px;color:#2f8c78;font-size:11px}.sample.selected{background:#eaf4f3;border-color:#8bb9b1}.bottle{position:relative;display:block;width:36px;height:57px;margin:9px auto 8px;background:linear-gradient(90deg,#30271e,#936030 23%,#b27b3e 40%,#6b4522 75%,#30271f);border-radius:7px 7px 5px 5px;box-shadow:2px 4px 5px #15252d25,inset 2px 0 #ffffff29}.bottle:before{content:'';position:absolute;top:-9px;left:6px;width:24px;height:13px;border-radius:3px;background:repeating-linear-gradient(90deg,#263135 0 2px,#3a4446 2px 4px);box-shadow:0 2px 2px #0004}.bottle span{position:absolute;top:17px;left:1px;width:34px;height:25px;display:grid;place-items:center;background:#e9e8db;color:#3d4d4e;font-size:12px;font-weight:650;border-top:3px solid #8bafb0}.sample-name{font-size:10px;font-weight:550;display:block}.formula{display:block;color:#7c8c96;font-size:9px;margin-top:3px}.unknown-row{margin-top:15px;padding-top:15px;border-top:1px solid #edf0f2}.unknown-row .sample{display:flex;width:100%;align-items:center;text-align:left;gap:14px;padding:7px 15px;background:#f5f3ee}.unknown-row .bottle{margin:5px 0;width:36px;flex-shrink:0}.unknown-row .sample-name{font-size:12px}.unknown-row .formula{font-size:10px}.unknown-row .bottle span{background:#ede7dc;border-color:#9c8862}select{min-width:0;flex:1;border:1px solid #d6dfe3;border-radius:7px;padding:9px;background:white;color:#284354}.text-button{background:none;border:0;padding:4px 0;min-height:32px;font-size:11px;color:#487381}#feedback{line-height:1.5;min-height:16px}footer{display:flex;justify-content:space-between;padding:25px 0;color:#81919b;font-size:10px}footer b{margin:0 8px;color:#47a291}dialog{border:1px solid #dce2e7;border-radius:17px;max-width:540px;width:calc(100% - 32px);padding:35px;color:#254150;box-shadow:0 25px 100px #0005}dialog::backdrop{background:#0a202bb3;backdrop-filter:blur(4px)}dialog p,dialog li{font-size:13px;line-height:1.7}dialog li{margin:15px 0}dialog ol{padding-left:20px}.close{position:absolute;right:10px;top:8px;border:0;font-size:24px;padding:3px 10px}#share-url{width:100%;padding:12px;border:1px solid #ccd9dd;border-radius:6px;margin:10px 0 15px}.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#173d4e;color:white;padding:12px 24px;border-radius:8px;display:none}@keyframes flicker{from{transform:scaleX(.95) skew(-2deg)}to{transform:scaleX(1.05) skew(2deg)}}@media(max-width:1000px){.layout{grid-template-columns:1.2fr 1fr}.samples{gap:8px 0}aside section{padding:17px}.scene{height:475px}.lab-badge{display:none}}@media(max-width:760px){header{height:80px;padding:0 18px}.brand{font-size:21px}.brand small{font-size:6px}.brand-icon{font-size:30px}nav{gap:5px}nav button{padding:7px;font-size:11px}main{padding:28px 18px 0}.layout{grid-template-columns:1fr}.scene{height:420px}.intro{margin-bottom:24px}.intro p:not(.eyebrow){line-height:1.7}.samples{grid-template-columns:repeat(4,1fr)}footer{gap:15px;line-height:1.7;flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

.scene[data-flame="li"]{--flame:#fa315a}#color-chip[data-flame="li"]{background:#fa315a}
.scene[data-flame="na"]{--flame:#ffd332}#color-chip[data-flame="na"]{background:#ffd332}
.scene[data-flame="k"]{--flame:#c397ff}#color-chip[data-flame="k"]{background:#c397ff}
.scene[data-flame="ca"]{--flame:#ff824e}#color-chip[data-flame="ca"]{background:#ff824e}
.scene[data-flame="sr"]{--flame:#ff3440}#color-chip[data-flame="sr"]{background:#ff3440}
.scene[data-flame="ba"]{--flame:#b5e75d}#color-chip[data-flame="ba"]{background:#b5e75d}
.scene[data-flame="cu"]{--flame:#37edbd}#color-chip[data-flame="cu"]{background:#37edbd}
.scene[data-flame="cs"]{--flame:#6d8cff}#color-chip[data-flame="cs"]{background:#6d8cff}
/* Header and activity controls match the chemistry labs. */
.zsa-th-header {position:relative;margin-bottom:28px;}
.zsa-th-topline {display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;padding:0 0 20px;border-bottom:1px solid #dde4ed;}
.zsa-th-identity {display:flex;align-items:center;gap:12px;min-width:0;flex:1 1 400px;}
.flame-lab .zsa-th-brand {display:inline-flex;align-items:center;flex-shrink:0;min-height:52px;min-width:52px;text-decoration:none;color:var(--zsa-navy);}
.zsa-th-brand img {display:block;flex-shrink:0;}
.zsa-th-header-tools {display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:16px;max-width:100%;margin-left:auto;}
.zsa-th-header-buttons {display:flex;align-items:center;gap:8px;}
.flame-lab .zsa-th-share-toggle {display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 12px;min-height:44px;background:white;}
.zsa-th-icon {width:18px;height:18px;flex-shrink:0;}
.zsa-th-instructions-open {flex-shrink:0;}
.flame-lab h1 {min-width:0;font-size:clamp(1.6rem,1.2rem + 1.2vw,2rem);letter-spacing:-.035em;line-height:1.15;margin:0;font-weight:650;}
.zsa-th-lede {color:var(--zsa-navy);font-size:clamp(1.05rem,1rem + .3vw,1.2rem);font-weight:500;}
.zsa-th-share-panel {margin-top:14px;padding:20px;border:1px solid #cdd9e9;border-radius:12px;background:white;box-shadow:0 7px 20px rgba(11,42,91,.06);}
.zsa-th-share-heading {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:5px;}
.zsa-th-share-heading h2 {font-size:18px;font-weight:600;}
.flame-lab .zsa-th-icon-button {display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:1px solid #d5deea;border-radius:8px;background:#f7f9fc;color:#425a7b;font-size:24px;padding:0;line-height:1;}
.flame-lab .zsa-th-fullscreen-toggle {width:46px;min-width:46px;height:46px;min-height:46px;flex-shrink:0;background:white;}
.flame-lab .zsa-th-fullscreen-toggle[hidden] {display:none;}
.zsa-th-fullscreen-toggle[aria-pressed="true"] {background:#edf4ff;border-color:#194d9d;}
.flame-lab .zsa-th-fullscreen-status {margin-top:12px;}
.zsa-th-share-label {display:block;margin:14px 0 6px;font-size:12px;font-weight:600;color:#536075;}
.zsa-th-share-link {display:flex;gap:8px;align-items:stretch;}
.zsa-th-share-link input {display:block;flex:1 1 200px;min-width:0;min-height:46px;width:100%;border:1px solid #b8c8dc;border-radius:8px;padding:9px 11px;background:#f8fafd;color:#334e72;font-size:13px;}
.zsa-th-share-options {display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-top:12px;}
.zsa-th-share-options a {display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:44px;min-height:44px;padding:8px 12px;border:1px solid #d8e1ed;border-radius:8px;color:#355579;font-size:13px;text-decoration:none;background:white;}
.zsa-th-share-options a:hover {background:#f0f5fd;}
.zsa-th-share-status {min-height:21px;margin-top:10px!important;font-size:12px;color:#38623e;}
.zsa-th-instructions {width:calc(100% - 32px);max-width:720px;max-height:85vh;overflow:auto;padding:24px;border:1px solid #c5d3e4;border-radius:15px;background:white;color:var(--zsa-slate);box-shadow:0 18px 60px rgba(11,42,91,.2);font-size:15px;line-height:1.6;}
.zsa-th-instructions::backdrop {background:rgba(11,27,51,.45);}
.zsa-th-instructions-heading {display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px;}
.zsa-th-instructions-heading h2 {font-size:23px;line-height:1.25;font-weight:600;}
.zsa-th-instructions-heading button {flex-shrink:0;}
.zsa-th-instructions-steps {margin:18px 0;padding-left:23px;}
.zsa-th-instructions-steps li {padding-left:4px;margin:12px 0;}
.zsa-th-instructions-example {padding:15px 17px;border:1px solid #d6e2f2;border-radius:10px;background:#f5f8fd;}
.zsa-th-instructions-example-label {font-size:11px;letter-spacing:.06em;text-transform:uppercase;font-weight:600;color:#536782;}
.zsa-th-instructions-equation {margin:6px 0 13px!important;color:var(--zsa-navy);font-size:22px;line-height:1.5;}
.zsa-th-instructions-equation:last-child {margin-bottom:0!important;}
.zsa-th-instructions-equation sub,.zsa-th-instructions-steps sub {font-size:.7em;line-height:0;vertical-align:-.2em;}
.zsa-th-instructions-equation sup,.zsa-th-instructions-steps sup {font-size:.7em;line-height:0;vertical-align:.4em;}
.zsa-th-instructions-note {margin-top:16px!important;font-size:13px;color:#536075;}


body{background:#edf2f7}.flame-lab{--zsa-navy:#102d4f;--zsa-blue:#2457d6;max-width:1400px;padding:28px 36px 38px;background:#f6f8fb;color:#40546b;font-size:14px;line-height:1.5}.flame-lab header{height:auto;padding:0;background:transparent;border:0;display:block}.flame-lab .zsa-th-header{margin-bottom:0}.flame-lab .zsa-th-topline{padding-bottom:22px;border-color:#dce5ed}.flame-lab .zsa-th-brand{background:white;border:1px solid #e0e8f0;border-radius:16px;padding:8px;box-shadow:0 3px 10px #102d4f08}.flame-lab .zsa-th-brand img{width:44px;height:auto}.flame-lab .brand-name{color:#356085;font-size:10px;letter-spacing:.18em;margin:0 0 5px}.flame-lab .zsa-th-identity{gap:16px}.flame-lab .zsa-th-identity h1{font-size:27px;letter-spacing:-.04em;margin:0}.flame-lab .zsa-th-header-buttons .zsa-btn{border-color:#cad7e4;font-size:13px;border-radius:9px;color:#274864;padding:9px 13px}.flame-lab .zsa-th-instructions-open{background:white;white-space:nowrap}.flame-lab .zsa-th-share-panel h2{font-size:21px;margin:0}.flame-lab .zsa-th-share-panel p{font-size:14px}.flame-lab .zsa-th-share-status{font-size:13px}.lab-links{display:flex;flex-wrap:wrap;padding-top:16px;gap:8px;font-size:12px}.lab-links a{padding:7px 13px;text-decoration:none;border-radius:7px;color:#526d85}.lab-links a:first-child{margin-right:auto;padding-left:0}.lab-links a[aria-current=page]{background:#e5edf6;color:#183e67}.flame-lab .intro{padding:24px 0 23px;margin-bottom:0}.flame-lab .intro h2{font-size:32px;line-height:1.15;letter-spacing:-.04em;font-weight:650;margin:0 0 12px}.flame-lab .eyebrow{color:#167568}.flame-lab .intro p:last-child{color:#566d83}.flame-lab h2{font-size:19px;font-weight:600;color:#102d4f;margin:0}.flame-lab .workbench,.flame-lab aside section{background:#fff;border-color:#dce5ed;box-shadow:0 4px 15px #0c2a4606}.flame-lab .scene{background:radial-gradient(ellipse at 50% 20%,#264f6a,#102c43 85%)}.flame-lab #check{background:#19796d}.flame-lab dialog p,.flame-lab dialog li{font-size:15px}.flame-lab .zsa-th-instructions h2{font-size:25px}.flame-lab .zsa-th-instructions::backdrop{backdrop-filter:none}.flame-lab .zsa-th-instructions-note{font-size:13px}.flame-lab .zsa-th-icon{margin:0}.flame-lab [hidden]{display:none!important}
@media(max-width:760px){.flame-lab{padding:18px 14px}.flame-lab .zsa-th-identity{flex-basis:100%}.flame-lab .zsa-th-identity h1{font-size:23px}.flame-lab .zsa-th-header-tools{margin:0}.flame-lab .zsa-th-share-link{flex-wrap:wrap}.flame-lab .intro h2{font-size:28px}.flame-lab .zsa-th-brand img{width:40px}.flame-lab .lab-links{font-size:11px;gap:4px}.flame-lab .lab-links a{padding:7px 8px}}
@media print{.zsa-th-header-tools,.zsa-th-share-panel,.lab-links,dialog{display:none!important}}

.scene{cursor:default}.flame-lab .samples-panel #new{margin-top:12px}.flame-lab .samples-panel h2{margin:0}

/* Keep controls and labels readable on their explicit light surfaces. */
.flame-lab .bench-top,.flame-lab .readout{background:#fff;color:#183b56}
.flame-lab .bench-top{font-size:11px;color:#435b70}
.flame-lab .readout small{font-size:11px;color:#516579}
.flame-lab .readout strong{font-size:14px;color:#183b56}
.flame-lab .samples-panel .hint,.flame-lab .formula{color:#516579;font-size:12px}
.flame-lab .sample-name{font-size:12px;color:#183b56}
.flame-lab .sample{color:#183b56}
.flame-lab .sample:hover{background:#edf4f8;border-color:#9eb5c6}
.flame-lab .sample.selected{background:#e5f2ed;border-color:#408374}
.flame-lab .sample.tested:after{color:#176b50}
.flame-lab #progress{font-size:11px;color:#435d70;background:#edf3f7}
.flame-lab .unknown-row .sample{background:#f2f5f8;border-color:#d5dfe8}
.flame-lab .unknown-row .sample.selected{background:#e5f2ed;border-color:#408374}
.flame-lab .unknown-row .formula{font-size:12px}
.flame-lab #new{font-size:13px;color:#235d69;min-height:44px}
.flame-lab .scene-caption{color:#d0dfe7;font-size:10px}
.flame-lab .scene-caption small{color:#bdcfdb;font-size:12px}
.flame-lab footer{color:#516579;font-size:11px}

/* A plain white surround with the original light sample tray. */
body{background:#fff}
.flame-lab{background:#fff}
.flame-lab .zsa-th-header{margin-bottom:24px}
.flame-lab .workbench,.flame-lab .samples-panel{background:#fff;border-color:#dce2e7}
.flame-lab .bench-top,.flame-lab .readout{background:#fff}
.flame-lab .sample:hover{background:#f1f7f6;border-color:#93afbd}
.flame-lab .sample.selected{background:#eaf4f3;border-color:#8bb9b1}
.flame-lab .unknown-row .sample{background:#f5f3ee;border-color:transparent}
.flame-lab .unknown-row .sample:hover{background:#f1f7f6;border-color:#93afbd}
.flame-lab .unknown-row .sample.selected{background:#eaf4f3;border-color:#8bb9b1}
.flame-lab #progress{background:#eff4f6}
