@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.00az9qtie3ho1.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.3j-a226dh71aj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.2gwoz23eiro2t.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.0i3h3th1vs4m7.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.0zr6hhvz-h9nw.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_9c6cb61b-module__8NX9hq__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_9c6cb61b-module__8NX9hq__variable{--font-geist:"Geist", "Geist Fallback"}
:root{--ink:#262541;--muted:#7f8097;--paper:#f5f4ff;--panel:#fff;--purple:#7865f1;--mint:#67d8bd;--yellow:#ffc95c;--coral:#ff9a8a;--line:#e9e8f3}*{box-sizing:border-box}body{background:radial-gradient(circle at 90% 0, #e9e5ff 0, transparent 29rem), var(--paper);min-width:1024px;color:var(--ink);font-family:var(--font-geist), "Noto Sans KR", Arial, sans-serif;margin:0}button,select,input{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh}.topbar{border-bottom:1px solid var(--line);z-index:10;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffdc;align-items:center;gap:40px;height:78px;padding:0 6.4vw;display:flex;position:sticky;top:0}.brand{color:var(--ink);font:500 24px/1 var(--font-geist), sans-serif;letter-spacing:-1px;align-items:center;gap:10px;text-decoration:none;display:flex}.brand strong{color:var(--purple);font-weight:750}.brand-mark{color:#fff;background:linear-gradient(135deg,#9c87ff,#7662e9);border-radius:14px;place-items:center;width:39px;height:39px;font-size:25px;display:grid;box-shadow:0 5px 13px #a99be088}.brand small{color:#9a9aad;font:700 7px/1 var(--font-geist);letter-spacing:1.3px;margin-top:4px;display:block}.main-nav{align-self:stretch;gap:8px;display:flex}.nav-item{color:#8c8ca1;background:0 0;border:0;padding:0 18px;font-size:14px;font-weight:700;position:relative}.nav-item span{margin-right:6px;font-size:18px}.nav-item.active{color:var(--purple)}.nav-item.active:after{content:"";background:var(--purple);border-radius:4px 4px 0 0;height:3px;position:absolute;bottom:0;left:17px;right:17px}.resources{align-items:center;gap:9px;margin-left:auto;display:flex}.resource{font:650 13px var(--font-geist);color:#b88221;background:#fffaf0;border-radius:12px;padding:8px 12px}.resource.power{color:#c98a2b;background:#fff4e2}.resource.rp{color:#4c7bd6;background:#eaf1ff}.avatar{color:#a7565d;background:#ffded8;border:2px solid #e6e0ff;border-radius:50%;width:38px;height:38px;font-weight:700}.mute-toggle{background:#f3f1fb;border:0;border-radius:10px;width:34px;height:34px;font-size:15px;line-height:1}.resource.coin{position:relative;overflow:visible}.floater-layer{pointer-events:none;height:0;position:absolute;top:-4px;left:0;right:0}.floater{font:700 13px var(--font-geist);color:#27a37e;white-space:nowrap;animation:1.2s ease-out forwards floatUp;position:absolute;left:50%;transform:translate(-50%)}.dashboard{flex-direction:column;gap:17px;width:min(1360px,87vw);margin:26px auto 60px;display:flex}.panel{background:var(--panel);border:1px solid #e2e1f0d1;border-radius:22px;box-shadow:0 9px 28px #463c700e}.eyebrow{color:#a09eb2;letter-spacing:1.4px;margin:0 0 5px;font-size:10px;font-weight:700}.panel-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.panel-heading h2{font:650 19px var(--font-geist), sans-serif;letter-spacing:-.5px;margin:0}.badge{color:#32a484;white-space:nowrap;background:#e6faf1;border-radius:20px;padding:5px 9px;font-size:10px;font-weight:700}.tiny-button{color:var(--purple);background:#f1efff;border:0;border-radius:8px;padding:6px 10px;font-size:11px;font-weight:700}.tiny-button:disabled{opacity:.4;cursor:not-allowed}.next-goal{padding:20px 26px}.next-goal-head h1{font:600 20px var(--font-geist), "Noto Sans KR", sans-serif;margin:2px 0 0}.next-goal-list{gap:8px;margin:14px 0 0;padding:0;list-style:none;display:grid}.next-goal-list li{background:#faf9ff;border:1px solid #eeecfa;border-radius:13px;align-items:center;gap:12px;padding:11px 13px;display:flex}.next-goal-list strong{font-size:12px;display:block}.next-goal-list p{color:var(--muted);margin:2px 0 0;font-size:11px}.next-goal-list p em{color:var(--purple);font-style:normal;font-weight:700}.next-goal-list .tiny-button{flex:none;margin-left:auto}.ng-icon{width:30px;height:30px;color:var(--purple);background:#efeaff;border-radius:10px;flex:none;place-items:center;font-size:15px;display:grid}.stat-row{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.stat-card{align-items:center;gap:12px;min-height:83px;padding:16px;display:flex}.stat-icon{border-radius:15px;place-items:center;width:43px;height:43px;font-size:22px;display:grid}.stat-icon.purple{color:#7964ef;background:#eeeaff}.stat-icon.mint{color:#249d80;background:#e2faf2}.stat-icon.yellow{color:#ce8b17;background:#fff6d9}.stat-icon.coral{color:#dd6a62;background:#ffebe8}.stat-card small{color:#9694a8;font-size:11px;display:block}.stat-card strong{font:650 22px var(--font-geist)}.stat-card i{color:#9e9dae;font:500 12px var(--font-geist);font-style:normal}.progress{background:#e3f7f1;border-radius:10px;width:52px;height:6px;margin-left:auto;overflow:hidden}.progress b{border-radius:inherit;background:var(--mint);height:100%;display:block}.progress.yellow{background:#fff3d7}.progress.yellow b{background:var(--yellow)}.stat-card .tiny-button{margin-left:auto}.work-grid{grid-template-columns:1.75fr 1fr;gap:17px;display:grid}.experiment{padding:23px}.experiment-body{grid-template-columns:40% 60%;align-items:center;gap:10px;min-height:258px;display:grid}.formulation-bench{padding:23px}.formulation-copy{color:var(--muted);margin:4px 0 14px;font-size:11px;line-height:1.45}.formulation-slots{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.formulation-slots label{color:#777488;gap:5px;font-size:10px;font-weight:700;display:grid}.formulation-slots select{color:#4d4a5d;min-width:0;font:500 11px var(--font-geist), "Noto Sans KR", sans-serif;background:#fff;border:1px solid #e2e0ec;border-radius:9px;padding:8px}.slot-actions{align-items:center;gap:7px;margin:10px 0 0;display:flex}.slot-actions span{color:var(--muted);margin-left:auto;font-size:10px}.beaker-stage{place-items:center;height:228px;display:grid;position:relative}.beaker{background:#fafaff;border:5px solid #bcb6e5;border-top:0;border-radius:0 0 43px 43px;width:116px;height:138px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 8px #f4f1ff,0 10px 18px #7569ba19}.beaker:before{content:"";border:5px solid #bcb6e5;border-bottom:0;border-radius:20px 20px 0 0;width:38px;height:38px;position:absolute;top:-34px;left:36px}.liquid{background:linear-gradient(135deg,#77ecd2,#73aeff);border-radius:0 0 38px 38px;height:67%;animation:3s ease-in-out infinite liquid;position:absolute;inset:auto 0 0}.bubble{opacity:.9;background:#90f3dc;border-radius:50%;animation:2.2s ease-in-out infinite float;position:absolute}.b1{width:11px;height:11px;top:19px;left:51%}.b2{width:6px;height:6px;animation-delay:.7s;top:47px;left:35%}.b3{width:8px;height:8px;animation-delay:1.1s;top:74px;right:23%}.reaction-label{color:#73718c;font-size:11px;font-weight:700;position:absolute;bottom:-6px}.beaker-stage.reacting .beaker{animation:.5s shake}.beaker-stage.reacting .liquid{animation:.5s ease-in-out liquid,.6s flash}.beaker-stage.reacting .bubble{animation-duration:.6s}.recipe-controls{padding:7px 8px 7px 13px}.recipe-controls label{color:#77758e;margin-bottom:10px;font-size:11px;font-weight:700;display:block}.recipe-controls select{color:#4a4965;background:#fbfbff;border:1px solid #e8e6f0;border-radius:9px;width:100%;margin-top:4px;padding:9px 10px;font-size:12px;display:block}.attempt-line{color:var(--muted);margin:8px 0 0;font-size:10px}.bench-warn{color:#d9736a;margin:6px 0 0;font-size:10px;font-weight:700}.synthesize{color:#fff;background:linear-gradient(135deg,#917dfa,#705ae8);border:0;border-radius:11px;width:100%;margin-top:10px;padding:11px;font-size:13px;font-weight:700;box-shadow:0 7px 13px #7965e63d}.synthesize span{font-size:16px}.synthesize small{color:#dcd5ff;margin-left:5px;font-size:10px}.synthesize:disabled{opacity:.45;cursor:not-allowed}.hint{color:#81739c;background:#faf7ff;border-radius:11px;align-items:center;gap:9px;margin-top:12px;padding:10px 12px;display:flex}.hint span{color:#967af5;font-size:18px}.hint p{margin:0;font-size:10px}.hint strong{color:#7661b7}.lab-log{padding:23px}.shop-list{gap:8px;margin:12px 0 0;padding:0;list-style:none;display:grid}.shop-list li{border:1px solid #edecf6;border-radius:12px;align-items:center;gap:10px;padding:9px 10px;display:flex}.shop-list strong{font-size:11px;display:block}.shop-list small{color:var(--muted);margin-top:2px;font-size:9px;display:block}.shop-list .tiny-button,.shop-list .sell-actions{flex:none;margin-left:auto}.shop-icon{background:#f3f1fb;border-radius:10px;flex:none;place-items:center;width:30px;height:30px;font-size:15px;display:grid}.sell-actions{gap:5px;display:flex}.commission-board{padding:23px}.rp-badge{color:#4c7bd6;background:#eaf1ff}.commission-list{gap:8px;margin-top:14px;display:grid}.commission{background:#fcfbff;border:1px solid #edecf6;border-radius:12px;grid-template-columns:1.4fr 1fr auto;align-items:center;gap:12px;padding:11px 13px;display:grid}.commission.ready{background:#f4fcf9;border-color:#cdeee3}.commission-req{align-items:center;gap:10px;display:flex}.commission-icon{background:#efeaff;border-radius:10px;flex:none;place-items:center;width:32px;height:32px;font-size:16px;display:grid}.commission-req strong{font-size:12px;display:block}.commission-req small{color:var(--muted);font-size:10px}.commission-mid{flex-direction:column;gap:2px;display:flex}.commission-count{font:650 13px var(--font-geist);color:#8a8aa0}.commission-count.ok{color:#27a37e}.commission-mid small{color:var(--muted);font-size:9px}.lab-tier{background:linear-gradient(135deg,#eaf1ff,#f6f9ff);border-radius:14px;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding:13px;display:flex}.lab-tier .eyebrow{color:#7f9ddb;margin-bottom:3px}.lab-tier strong{font-size:12px;display:block}.lab-tier small{color:#7c85a0;margin-top:2px;font-size:9px;display:block}.research-tree{padding:23px}.codex-tier{margin-top:14px}.codex-tier-label{letter-spacing:.5px;color:#9a98ad;margin:0 0 8px;font-size:10px;font-weight:700}.codex-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.codex-card.gated .codex-icon{background:#f0eff5}.codex-card{text-align:center;background:#fcfbff;border:1px solid #eeecf7;border-radius:14px;flex-direction:column;align-items:center;gap:5px;padding:14px 10px;display:flex}.codex-card.found{background:#f4fcf9;border-color:#cdeee3}.codex-card.gated{opacity:.6}.codex-icon{background:#efeaff;border-radius:13px;place-items:center;width:40px;height:40px;font-size:20px;display:grid}.codex-card.found .codex-icon{background:#dcf4ec}.codex-card strong{font-size:11px}.codex-card small{color:var(--muted);font-size:9px;line-height:1.35}.racklab-catalog{background:linear-gradient(145deg,#fff,#faf8ff);border:1px solid #e4dcff}.racklab-copy{color:var(--muted);margin:4px 0 15px;font-size:11px;line-height:1.5}.racklab-card{appearance:none;cursor:pointer;width:100%;font:inherit;color:inherit;transition:transform .16s,border-color .16s,box-shadow .16s}.racklab-card:hover,.racklab-card:focus-visible{border-color:#a99bed;outline:none;transform:translateY(-2px);box-shadow:0 8px 18px #5f4eae1f}.racklab-card em{color:#71669e;font-size:9px;font-style:normal;line-height:1.35}.lower-grid{grid-template-columns:1.45fr 1fr;gap:17px;display:grid}.production,.assistants{padding:23px}.machine{border-bottom:1px solid #efedf5;align-items:center;gap:10px;padding:12px 0;display:flex}.machine:last-child{border:0}.machine-art{border-radius:13px;place-items:center;width:42px;height:42px;font-size:21px;display:grid}.machine-art.purifier{color:#3baf9a;background:#def8f1}.machine-copy{flex:1}.machine-copy strong,.machine-copy small{display:block}.machine-copy strong{font-size:11px}.machine-copy strong span{color:#9795a7;font-size:9px}.machine-copy small{color:#9b99ab;margin:2px 0 5px;font-size:9px}.machine-progress{background:#e6f6f2;border-radius:10px;height:5px;overflow:hidden}.machine-progress b{border-radius:inherit;background:#62d4bc;height:100%;display:block}.machine-side{flex-direction:column;align-items:flex-end;gap:5px;display:flex}.machine-side time{font:600 11px var(--font-geist), sans-serif;color:#817eb4}.crew-list{grid-template-columns:1fr 1fr;gap:10px;margin-top:15px;display:grid}.crew-card{border:1px solid #edebf4;border-radius:13px;align-items:center;gap:10px;padding:9px;display:flex}.crew-portrait{border-radius:16px 16px 13px;flex:none;place-items:center;width:49px;height:49px;font-size:26px;display:grid}.crew-portrait.pink{background:#ffe2ec}.crew-portrait.blue{background:#dceeff}.crew-portrait.orange{background:#ffe9d2}.crew-card strong{font-size:12px}.crew-card strong span{color:#9c9aad;font-size:10px}.crew-card small{color:#9795a7;margin:2px 0 5px;font-size:9px;display:block}.assignment select{color:#5b596f;background:#fbfbff;border:1px solid #e5e3f0;border-radius:8px;padding:4px 6px;font-size:9px}.crew-hint{color:var(--muted);margin:0 2px;font-size:10px}.research-list{gap:8px;margin-top:14px;display:grid}.research-item{background:#fcfbff;border:1px solid #edecf6;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:11px 13px;display:flex}.research-item.done{background:#f4fcf9;border-color:#cdeee3}.research-item.researching{background:#fff8ea;border-color:#f2e3b8}.research-item.locked{opacity:.55}.research-item strong{font-size:12px;display:block}.research-item small{color:var(--muted);margin-top:2px;font-size:9px;display:block}.research-item .research-cost{color:#7c78a6}.research-status{color:var(--muted);flex:none;font-size:10px;font-weight:700}.log-list{margin:0;padding:14px 0 7px;list-style:none}.log-list li{border-bottom:1px solid #f0eff6;align-items:center;gap:10px;padding:10px 0;display:flex}.log-dot{border-radius:50%;flex:none;width:10px;height:10px}.log-dot.mint{background:var(--mint)}.log-dot.purple{background:var(--purple)}.log-dot.yellow{background:var(--yellow)}.log-list div{flex:1}.log-list strong,.log-list small{display:block}.log-list strong{font-size:12px}.log-list small{color:#9896a9;margin-top:2px;font-size:10px}.log-list time{color:#afadbb;font-size:10px}.daily-goal{background:linear-gradient(135deg,#f1efff,#faf8ff);border-radius:14px;justify-content:space-between;align-items:center;gap:10px;padding:13px;display:flex}.daily-goal .eyebrow{color:#9b8ae3;margin-bottom:3px}.daily-goal strong{font-size:11px}.daily-goal span{color:var(--purple);font:650 12px var(--font-geist);white-space:nowrap;background:#fff;border-radius:9px;padding:6px 9px}.toast{color:#fff;opacity:0;pointer-events:none;z-index:60;background:#393650;border-radius:12px;padding:11px 16px;font-size:12px;transition:all .25s;position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);box-shadow:0 10px 30px #22203633}.toast.show{opacity:1;transform:translate(-50%)}.modal-scrim{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:50;background:#2625416b;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.discovery-modal{background:var(--panel);text-align:center;border-radius:22px;width:min(360px,92vw);padding:28px 26px;animation:.22s pop;box-shadow:0 24px 60px #2625414d}.discovery-modal h2{font:600 22px var(--font-geist), "Noto Sans KR", sans-serif;margin:8px 0 4px}.discovery-icon{background:linear-gradient(135deg,#efeaff,#dcf4ec);border-radius:24px;place-items:center;width:76px;height:76px;margin:0 auto;font-size:40px;display:grid}.discovery-desc{color:var(--muted);margin:4px 0 0;font-size:12px;line-height:1.5}.discovery-meta{font:650 12px var(--font-geist);color:var(--purple);margin:12px 0 16px}.offline-modal{text-align:left}.offline-modal h2,.offline-modal .eyebrow{text-align:center}.offline-list{gap:7px;margin:14px 0 18px;padding:0;list-style:none;display:grid}.offline-list li{background:#faf9ff;border-radius:10px;align-items:center;gap:9px;padding:8px 11px;font-size:12px;display:flex}.offline-list li span{font-size:15px}.intro-modal{text-align:center;width:min(420px,92vw)}.intro-story{color:#5b5481;background:#faf8ff;border:1px solid #e7e1fb;border-radius:13px;gap:3px;margin:16px 0;padding:13px;font-size:12px;display:grid}.intro-story span,.intro-footnote{color:var(--muted);font-size:10px}.company-form{text-align:left;gap:8px;display:grid}.company-form label{color:#625f76;font-size:11px;font-weight:700}.company-form input{color:#3e3b4f;width:100%;font:500 13px var(--font-geist), "Noto Sans KR", sans-serif;background:#fff;border:1px solid #dcd8ec;border-radius:11px;padding:11px 12px}.company-form input:focus{border-color:#9384ec;outline:2px solid #c9c0ff}.company-form .synthesize{width:100%;margin-top:4px}.intro-footnote{margin:12px 0 0;line-height:1.45}.intro-list{text-align:left;gap:10px;margin:16px 0 20px;padding:0;list-style:none;display:grid}.intro-list li{background:#faf9ff;border-radius:12px;align-items:flex-start;gap:11px;padding:11px 12px;display:flex}.intro-list strong{font-size:12px}.intro-list p{color:var(--muted);margin:3px 0 0;font-size:11px;line-height:1.45}.intro-icon{width:30px;height:30px;color:var(--purple);background:#efeaff;border-radius:9px;flex:none;place-items:center;font-size:15px;display:grid}@keyframes liquid{50%{filter:hue-rotate(15deg);height:72%}}@keyframes float{50%{opacity:.3;transform:translateY(-10px)}}@keyframes pop{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes floatUp{0%{opacity:0;transform:translate(-50%)}15%{opacity:1}to{opacity:0;transform:translate(-50%,-28px)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-3px)rotate(-1.5deg)}75%{transform:translate(3px)rotate(1.5deg)}}@keyframes flash{0%,to{filter:brightness()}40%{filter:brightness(1.35)saturate(1.3)}}@media (prefers-reduced-motion:reduce){.beaker-stage.reacting .beaker,.beaker-stage.reacting .liquid,.floater,.discovery-modal{animation:none}}@media (max-width:1080px){body{min-width:0}.topbar{gap:20px;padding:0 20px}.dashboard{width:calc(100% - 32px)}.work-grid,.lower-grid{grid-template-columns:1fr}.stat-row{grid-template-columns:1fr 1fr}.codex-grid{grid-template-columns:repeat(2,1fr)}}.install-banner{left:50%;bottom:calc(16px + env(safe-area-inset-bottom));z-index:60;background:var(--panel);border:1px solid var(--line);border-radius:16px;align-items:center;gap:11px;width:min(440px,100vw - 24px);padding:11px 12px;animation:.22s pop;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 16px 40px #26254138}.install-icon{color:#fff;background:linear-gradient(135deg,#9c87ff,#7662e9);border-radius:12px;flex:none;place-items:center;width:38px;height:38px;font-size:20px;display:grid}.install-copy{flex:1;min-width:0}.install-copy strong{font-size:12px;display:block}.install-copy small{color:var(--muted);margin-top:2px;font-size:10px;display:block}.install-close{color:var(--muted);background:0 0;border:0;flex:none;padding:4px 6px;font-size:12px}@media (max-width:620px){.topbar{flex-wrap:wrap;gap:8px;height:auto;min-height:56px;padding:9px 12px}.brand{letter-spacing:-.4px;gap:8px;font-size:17px}.brand small{display:none}.brand-mark{border-radius:11px;width:30px;height:30px;font-size:18px}.main-nav{border-top:1px solid var(--line);order:3;gap:4px;width:100%;padding-top:6px}.nav-item{padding:6px 12px;font-size:13px}.nav-item span{margin-right:4px;font-size:15px}.nav-item.active:after{bottom:-6px}.resources{gap:5px}.resource{border-radius:10px;padding:6px 8px;font-size:11px}.mute-toggle{width:30px;height:30px;font-size:13px}.avatar{width:30px;height:30px;font-size:12px}.dashboard{gap:12px;width:calc(100% - 20px);margin:14px auto 48px}.next-goal,.experiment,.commission-board,.research-tree,.lab-log,.assistants,.production,.reagent-shop{padding:15px}.stat-row{grid-template-columns:1fr 1fr;gap:9px}.stat-card{gap:9px;min-height:0;padding:12px}.stat-icon{width:36px;height:36px;font-size:18px}.stat-card strong{font-size:17px}.experiment-body{grid-template-columns:1fr;min-height:0}.beaker-stage{height:150px}.work-grid,.lower-grid,.crew-list{grid-template-columns:1fr}.codex-grid{grid-template-columns:1fr 1fr}.commission{grid-template-columns:1fr auto;row-gap:6px}.commission-mid{flex-direction:row;grid-column:1/-1;align-items:baseline;gap:8px}.lab-tier{flex-wrap:wrap}.next-goal-list li,.research-item{flex-wrap:wrap;row-gap:4px}.toast{text-align:center;left:12px;right:12px;transform:none}}.net-pill{left:50%;top:calc(8px + env(safe-area-inset-top));z-index:65;color:#fff;background:#3a3850;border-radius:999px;max-width:calc(100vw - 24px);padding:7px 14px;font-size:11px;font-weight:600;position:fixed;transform:translate(-50%);box-shadow:0 8px 22px #26254147}.reclab-shell,.reclab-onboard{color:#f7f2e8;min-height:100vh;font-family:var(--font-geist),sans-serif;background:#101510}.reclab-shell{background:radial-gradient(circle at 90% 0,#394425 0,#0000 32rem),#101510;padding-bottom:60px}.reclab-head{border-bottom:1px solid #ffffff1c;align-items:center;gap:18px;max-width:1280px;margin:auto;padding:26px 30px;display:flex}.reclab-head a,.reclab-onboard>span{letter-spacing:-2px;color:#f6f1e6;font-size:27px;font-weight:900;text-decoration:none}.reclab-head a span,.reclab-onboard>span span{color:#d8ff43}.reclab-head div{gap:2px;display:grid}.reclab-head small,.reclab-head strong{color:#bdc3ad;font-size:12px}.reclab-head strong{color:#d8ff43;margin-left:auto}.hero{grid-template-columns:1.6fr .75fr;gap:28px;max-width:1220px;margin:38px auto;display:grid}.hero>div{padding:28px 0}.hero p,.card>p,.name-layer p{color:#d8ff43;letter-spacing:1.3px;font-size:11px;font-weight:800}.hero h1{letter-spacing:-3px;margin:12px 0 18px;font-size:54px;line-height:1.05}.hero h1 em{color:#d8ff43;font-style:normal}.hero span{color:#b9c0ad;font-size:14px}.hero aside{color:#172110;background:#e0ff55;border-radius:18px;align-content:center;gap:7px;padding:25px;display:grid}.hero aside small{font-size:11px;font-weight:800}.hero aside>b{letter-spacing:-1px;font-size:28px}.hero aside div{gap:7px;margin-top:8px;display:flex}.hero aside button,.card button{color:#f5f2e9;background:#20291b;border:0;border-radius:9px;padding:8px 10px;font-size:12px;font-weight:800}.hero aside button{background:#101510}.reclab-grid{grid-template-columns:1fr 1fr;gap:16px;max-width:1220px;margin:auto;display:grid}.card{background:#192019;border:1px solid #ffffff1b;border-radius:18px;padding:23px}.card h2{letter-spacing:-1.2px;margin:6px 0;font-size:23px}.card>small{color:#aeb6a4;font-size:12px;line-height:1.5}.ingredient-list{grid-template-columns:1fr 1fr;gap:7px;margin-top:16px;display:grid}.ingredient-list button{text-align:left;background:#232c21;grid-template-columns:30px 1fr;align-items:center;gap:0;display:grid}.ingredient-list button span{grid-row:span 2;font-size:21px}.ingredient-list button small,.product-row small,.archive li small{color:#aeb6a4;margin-top:2px;font-size:10px;font-weight:500;display:block}.selector{flex-wrap:wrap;gap:7px;margin:17px 0;display:flex}.selector button{background:#263024}.selector button.picked{color:#15200e;background:#d8ff43}.selection{color:#b8c2ab;min-height:20px;font-size:12px;display:block}.card .primary{color:#172110;background:#d8ff43;width:100%;margin-top:14px;padding:12px;font-size:14px}.card button:disabled{opacity:.35;cursor:not-allowed}.archive ul,.contract-list{margin:15px 0 0;padding:0;list-style:none}.archive li{border-bottom:1px solid #ffffff13;align-items:center;gap:9px;padding:9px 0;display:flex}.archive li>span{color:#d8ff43}.archive li div{flex:1}.archive li b{font-size:13px}.archive li button{background:#303a2b;padding:5px 7px}.product-row{background:#232c21;border-radius:10px;justify-content:space-between;align-items:center;margin-top:14px;padding:12px;display:flex}.product-row b{font-size:14px;display:block}.empty{color:#899582;text-align:center;background:#232c21;border-radius:10px;margin-top:15px;padding:22px;font-size:12px}.contract-list li{border-bottom:1px solid #ffffff16;justify-content:space-between;padding:8px 0;font-size:12px;display:flex}.contract-list span{color:#d8ff43}.name-layer{z-index:50;background:#000b;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.name-layer section{color:#182111;background:#f3f0e9;border-radius:18px;width:min(430px,100%);padding:28px}.name-layer p{color:#53652e}.name-layer h2{margin:6px 0}.name-layer small{color:#6b7465}.name-layer input,.reclab-onboard input{width:100%;font:inherit;border:1px solid #cbd2ba;border-radius:9px;margin:18px 0 10px;padding:13px}.reclab-onboard{background:radial-gradient(circle at 60% 15%,#3c4e23,#0000 30rem),#101510;place-content:center;gap:13px;padding:30px;display:grid}.reclab-onboard>p{color:#d8ff43;letter-spacing:2px;margin:0;font-size:10px;font-weight:700}.reclab-onboard h1{letter-spacing:-3px;margin:8px 0;font-size:48px;line-height:1.05}.reclab-onboard article{color:#c1c8b7;max-width:470px;font-size:14px;line-height:1.75}.reclab-onboard button{color:#172110;background:#d8ff43;border:0;border-radius:9px;padding:13px;font-weight:900}.reclab-onboard button:disabled{opacity:.5}@media (max-width:800px){body{min-width:0}.reclab-head{padding:18px}.hero,.reclab-grid{grid-template-columns:1fr;margin:20px 16px}.hero h1{font-size:40px}.reclab-head div{display:none}.ingredient-list{grid-template-columns:1fr}.reclab-onboard h1{font-size:38px}}.finance-panel,.consignment-board{padding:22px}.finance-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0;display:grid}.finance-grid>div{border:1px solid var(--line);background:#ffffff73;border-radius:12px;padding:11px}.finance-grid small,.finance-grid strong{display:block}.finance-grid small{color:var(--muted);margin-bottom:4px;font-size:10px}.finance-grid strong{color:var(--ink);font-size:14px}.finance-grid i{color:var(--muted);font-size:10px;font-style:normal}.finance-actions,.contract-form{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.tiny-button.danger{color:#fff;background:#bb5a5a}.contract-form select{flex:220px}.contract-form input{width:58px}.contract-list{gap:8px;margin:14px 0 0;padding:0;list-style:none;display:grid}.contract-list li{border:1px solid var(--line);border-radius:11px;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;padding:9px;display:grid}.contract-list small{color:var(--muted);margin-top:2px;display:block}.contract-list b{color:var(--purple)}.shop-dialogue{color:#614e37;background:#fff4df;border-radius:11px;align-items:center;gap:8px;margin-top:12px;padding:10px;display:flex}.shop-dialogue p{flex:1;margin:0;font-size:12px;line-height:1.45}.catalog-status{color:var(--muted);margin-top:8px;font-size:10px;display:block}.catalog-status.success{color:#218362}.racklab-card.completed{background:#effbf5;border-color:#68b795}.derivative-select{color:var(--muted);margin:10px 0;font-size:12px;display:block}.derivative-select select{width:100%;margin-top:4px;display:block}.discovery-modal input{box-sizing:border-box;border:1px solid var(--line);width:100%;font:inherit;border-radius:10px;margin:12px 0;padding:12px}@media (max-width:620px){.finance-grid{grid-template-columns:1fr 1fr}.finance-panel,.consignment-board{padding:15px}}.reclab-nav{border-bottom:1px solid #ffffff1c;gap:6px;max-width:1220px;margin:0 auto;padding:0 0 14px;display:flex}.reclab-nav button{color:#aeb6a4;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:9px 14px;font-size:13px;font-weight:800}.reclab-nav button:hover{color:#f7f2e8;background:#ffffff0d}.reclab-nav button.active{color:#172110;background:#d8ff43}.reclab-notice{color:#b9c0ad;max-width:1220px;min-height:18px;margin:14px auto 0;font-size:12px}.tab-page{max-width:1220px;margin:28px auto}.tab-page>.card{max-width:840px}.split-page{grid-template-columns:1fr 1fr;gap:16px;display:grid}.overview-grid{grid-template-columns:1.2fr .8fr}.overview-numbers{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:18px;display:grid}.overview-numbers div{background:#232c21;border-radius:10px;padding:12px}.overview-numbers small,.overview-numbers b{display:block}.overview-numbers small{color:#aeb6a4;font-size:10px}.overview-numbers b{color:#f7f2e8;margin-top:4px;font-size:15px}.next-list{color:#d8ff43;margin:18px 0 0;padding-left:22px}.next-list li{padding:5px 0}.next-list button{color:#f7f2e8;text-underline-offset:3px;background:0 0;padding:0;text-decoration:underline}.finance-actions{gap:8px;margin-top:17px;display:flex}.finance-actions .primary{width:auto;margin:0}.finance-actions .secondary{color:#edf1e5;background:0 0;border:1px solid #718064}.reclab-shell .contract-list{margin:15px 0 0;padding:0;list-style:none;display:block}.reclab-shell .contract-list li{background:0 0;border:0;border-bottom:1px solid #ffffff16;border-radius:0;justify-content:space-between;gap:12px;padding:8px 0;font-size:12px;display:flex}.reclab-shell .contract-list b{color:#f7f2e8}.reclab-shell .contract-list span{color:#d8ff43}@media (max-width:800px){.reclab-nav{white-space:nowrap;margin:0 16px;padding-bottom:12px;overflow-x:auto}.reclab-notice{margin:12px 16px 0}.tab-page{margin:20px 16px}.split-page{grid-template-columns:1fr}.overview-numbers{grid-template-columns:1fr 1fr}.reclab-shell .contract-list li{grid-template-columns:1fr;gap:3px;display:grid}}
