/* PhytoLab — private packaging studio. */
.lab-intro{display:grid;grid-template-columns:1.1fr 1fr;min-height:420px;border:1px solid var(--line);background:#10160f;overflow:hidden;border-radius:18px;margin:5px 0 44px}.lab-intro-copy{padding:45px;position:relative;z-index:1}.lab-intro .eyebrow{font-size:10px;letter-spacing:1.8px;line-height:1.8}.lab-live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--lime);box-shadow:0 0 12px #c2ff3d70;margin-right:8px}.lab-intro h1{font-size:clamp(34px,3.7vw,56px);font-weight:500;letter-spacing:-2.3px;line-height:1.08;margin:26px 0 18px}.lab-intro h1 em{font-style:normal;color:var(--lime)}.lab-intro p{font-size:13px;line-height:1.8;color:var(--muted);margin:0 0 25px}.lab-intro-notes{display:flex;gap:14px;flex-wrap:wrap;font-size:9px;letter-spacing:1px;text-transform:uppercase;color:#97a28d;margin-top:37px}.lab-intro-art{position:relative;min-width:0;background:radial-gradient(ellipse at 50% 60%,#34452255,transparent 65%)}.lab-intro-art .lab-stage{height:100%;min-height:400px;transform:scale(1.03)}.lab-art-mark{position:absolute;right:24px;top:27px;font-size:10px;letter-spacing:2px;line-height:1.5;color:#94a58a;text-align:right}.lab-section-title{display:flex;align-items:end;justify-content:space-between;margin:0 0 22px}.lab-section-title h2{font-size:25px;font-weight:500;letter-spacing:-.7px;margin:8px 0 0}.lab-section-title>.muted{font-size:11px}.lab-projects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.lab-project-card{border:1px solid var(--line);border-radius:13px;overflow:hidden;background:var(--panel);transition:transform .2s,border-color .2s;display:block}.lab-project-card:hover{transform:translateY(-3px);border-color:#718a4c}.lab-project-art{height:240px;position:relative;overflow:hidden;background:#0b110b}.lab-project-art>img{width:100%;height:100%;object-fit:cover}.lab-project-art>.badge{position:absolute;top:15px;left:15px;z-index:2;background:#182016ed}.lab-project-copy{padding:21px}.lab-project-copy h3{font-size:17px;font-weight:500;line-height:1.4;letter-spacing:-.3px;margin:8px 0}.lab-project-copy p{color:var(--muted);font-size:11px;line-height:1.6}.lab-project-copy>div{display:flex;align-items:center;justify-content:space-between;margin-top:22px}.lab-project-copy small{font-size:9px;letter-spacing:.5px;color:var(--muted)}.lab-project-copy svg{width:18px;color:var(--lime)}.lab-first-project{padding:34px;border:1px dashed #3c4a31;border-radius:15px;display:flex;gap:30px;align-items:center;justify-content:space-between}.lab-first-project>div>svg{width:29px;height:29px;color:var(--lime);margin-bottom:12px}.lab-first-project h3{font-size:20px;font-weight:500;letter-spacing:-.5px;margin:0 0 10px}.lab-first-project p{font-size:13px;color:var(--muted);max-width:460px;line-height:1.7;margin:0}.lab-admin-status{display:flex;gap:12px;align-items:center;padding:18px 22px;border:1px solid var(--line);border-radius:10px;margin-bottom:26px;font-size:12px;color:var(--muted)}.lab-admin-status svg{width:18px;color:var(--lime)}
.lab-editor-title{display:flex;gap:20px;align-items:center;justify-content:space-between;margin:25px 0}.lab-editor-title h1{font-size:31px;font-weight:500;letter-spacing:-1px;line-height:1.15;margin:10px 0 0}.lime{color:var(--lime)}.lab-steps{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:11px;overflow:hidden;margin-bottom:25px;scroll-margin-top:100px}.lab-steps button{display:flex;align-items:center;gap:10px;padding:18px 15px;border:0;border-right:1px solid var(--line);background:var(--panel);color:var(--muted);cursor:pointer;font:inherit;font-size:11px;text-align:left}.lab-steps button:last-child{border-right:0}.lab-steps button b{font-size:10px;font-weight:500;color:#65715b}.lab-steps .active{background:#26331b;color:var(--text);box-shadow:inset 0 -2px var(--lime)}.lab-steps .active b,.lab-steps .complete b{color:var(--lime)}.lab-studio,.lab-read-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:23px}.lab-workbench{min-width:0;border:1px solid var(--line);background:var(--panel);border-radius:13px;padding:27px}.lab-workbench fieldset{border:0;padding:0;margin:0;min-width:0}.lab-workbench fieldset:disabled{opacity:.6}.lab-step-heading{display:flex;gap:15px;margin:0 0 27px;align-items:flex-start}.lab-step-heading h2{font-size:20px;line-height:1.3;letter-spacing:-.5px;font-weight:500;margin:1px 0 7px}.lab-step-heading p{font-size:12px;color:var(--muted);line-height:1.6;margin:0}.lab-step-number{font-size:11px;color:var(--lime);border:1px solid #455533;border-radius:50%;min-width:31px;height:31px;display:grid;place-items:center}.lab-product-search{display:flex;align-items:center;gap:10px;margin-bottom:16px;border:1px solid var(--line);border-radius:8px;padding:0 13px;background:var(--bg)}.lab-product-search svg{width:17px;color:var(--muted)}.lab-product-search input{border:0!important;background:transparent!important;width:100%;min-width:0;height:44px;color:var(--text);outline:none}.lab-product-grid{display:grid;gap:10px;max-height:470px;overflow-y:auto;padding:1px 5px 1px 1px;scrollbar-color:#425031 transparent}.lab-product{font-family:inherit;text-align:left;border:1px solid var(--line);background:var(--bg);color:var(--text);display:flex;align-items:center;gap:13px;padding:10px;border-radius:9px;cursor:pointer}.lab-product.selected{border-color:#b6ed37;background:#202b18}.lab-product img{width:65px;height:65px;object-fit:cover;border-radius:5px}.lab-product>span{min-width:0;flex:1}.lab-product small{display:block;font-size:8px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin-bottom:5px}.lab-product strong{display:block;font-size:12px;line-height:1.4;font-weight:500}.lab-product em{display:block;font-size:9px;font-style:normal;color:var(--muted);margin-top:6px}.lab-product i{display:grid;place-items:center;width:24px;height:24px;border:1px solid var(--line);border-radius:50%;flex-shrink:0}.lab-product i svg{width:13px;height:13px}.lab-product.selected i{background:var(--lime);color:#15200c;border-color:var(--lime)}.lab-footnote{font-size:10px;line-height:1.7;color:var(--muted);margin:19px 0 0}.lab-step-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-top:22px;border-top:1px solid var(--line);margin-top:24px}.lab-step-actions>div{display:flex;gap:8px}.lab-step-actions .button{font-size:11px;min-height:40px;padding:12px 14px}.lab-pack-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:25px}.lab-option{display:flex;flex-direction:column;align-items:center;text-align:center;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:10px;padding:19px 9px;cursor:pointer;font:inherit}.lab-option.selected{background:#24311b;border-color:var(--lime)}.lab-option strong{font-size:11px;font-weight:500;margin:16px 0 7px}.lab-option small{font-size:8px;color:var(--muted);line-height:1.6}.pack-symbol{display:block;position:relative;height:55px;width:42px;border:1px solid #7a8b69;background:linear-gradient(130deg,#65824444,#121a14);box-shadow:5px 6px 10px #0005}.pack-symbol.pouch{border-radius:3px 3px 7px 7px;clip-path:polygon(4% 0,96% 0,100% 100%,0 100%)}.pack-symbol.pouch:after{content:'';position:absolute;left:3px;right:3px;top:6px;border-top:2px solid #8b9f75}.pack-symbol.box{transform:skewY(-5deg);border-right:6px solid #3c4d32}.pack-symbol.jar{border-radius:5px 5px 10px 10px;height:44px;margin-top:11px;border-top:7px solid #819471}.pack-symbol.bottle{width:28px;border-radius:5px 5px 8px 8px;height:45px;margin-top:10px}.pack-symbol.bottle:before{content:'';position:absolute;top:-11px;left:7px;width:12px;height:11px;background:#819471}.lab-form-grid{margin:16px 0 22px;gap:18px}.lab-form-grid select{width:100%}.lab-volume{display:flex;flex-direction:column;justify-content:center;border:1px solid #43512f;background:#1d2916;padding:12px 15px;border-radius:8px}.lab-volume span{color:var(--muted);font-size:10px;margin-bottom:5px}.lab-volume strong{font-weight:500;font-size:24px;color:var(--lime)}.lab-colors{display:flex;gap:16px;margin-bottom:23px}.lab-colors label{font-size:11px;display:flex;align-items:center;gap:10px;flex:1}.lab-colors input{width:40px;height:40px;min-width:40px;padding:3px;background:var(--bg);border:1px solid var(--line);border-radius:50%;cursor:pointer}.lab-style-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 24px}.lab-style{position:relative;display:flex;flex-direction:column;align-items:flex-start;border:1px solid var(--line);border-radius:9px;padding:14px;background:var(--bg);color:var(--text);font:inherit;cursor:pointer;text-align:left}.lab-style.selected{border-color:var(--lime)}.style-swatch{display:block;width:100%;height:25px;border-radius:4px;background:linear-gradient(115deg,#192016 65%,#c2ff3d 65%);margin-bottom:12px}.minimal .style-swatch{background:linear-gradient(115deg,#ecebe4 65%,#252b22 65%)}.neon .style-swatch{background:linear-gradient(115deg,#161220 65%,#d9ff4a 65%)}.heritage .style-swatch{background:linear-gradient(115deg,#826349 65%,#f0ddbd 65%)}.lab-style strong{font-size:11px;font-weight:500;margin-bottom:6px}.lab-style small{font-size:9px;color:var(--muted);line-height:1.5}.lab-style>svg{position:absolute;right:10px;bottom:12px;width:13px;height:13px;color:var(--lime)}.lab-recap{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;margin:15px 0 24px}.lab-recap>div{padding:15px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:7px;min-width:0;overflow-wrap:anywhere}.lab-recap span{font-size:9px;letter-spacing:.5px;color:var(--muted);text-transform:uppercase}.lab-recap strong{font-size:12px;font-weight:500;line-height:1.5}.lab-generation-box{display:grid;grid-template-columns:36px 1fr;gap:14px;border:1px solid #526c34;background:linear-gradient(135deg,#28371c,#172111);padding:21px;border-radius:12px;margin:24px 0}.lab-spark{font-size:33px;color:var(--lime);line-height:1}.lab-generation-box h3,.lab-submit-box h3{font-weight:500;font-size:16px;margin:0 0 7px}.lab-generation-box p,.lab-submit-box p{font-size:11px;color:var(--muted);line-height:1.7;margin:0}.lab-generation-box .button,.lab-generation-box small{grid-column:1/-1}.lab-generation-box small{font-size:9px;line-height:1.7;color:#a5b39b}.lab-submit-box{padding:3px 0 4px}.lab-submit-box .button{width:100%;margin-top:16px}.lab-response{background:#23321a;border-left:2px solid var(--lime);padding:18px;margin-bottom:24px}.lab-response p{font-size:13px;line-height:1.8;white-space:pre-wrap}.lab-settings{max-width:750px}.lab-read-layout .panel-head h2{font-size:21px;font-weight:500;margin-top:10px}.lab-read-layout .panel-head{align-items:flex-start}.lab-read-layout .panel-body{padding:24px}.lab-inline-error{padding:12px;background:#332014;color:#f1c59b;font-size:11px;line-height:1.6;border-radius:7px}
.lab-preview{position:sticky;top:22px;min-width:0;border:1px solid var(--line);border-radius:13px;overflow:hidden;background:#10160f;padding-bottom:20px}.lab-preview-top{padding:20px 21px 0;display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.5px;color:var(--muted)}.lab-preview .lab-stage{height:370px}.lab-preview-meta{padding:0 23px;display:flex;justify-content:space-between;gap:10px;align-items:center}.lab-preview-meta strong{font-size:12px;max-width:50%;overflow-wrap:anywhere}.lab-preview-meta>span{font-size:10px;color:var(--muted)}.lab-concept-note{font-size:9px;color:#839078;line-height:1.7;margin:14px 23px}.lab-preview>.text-link{margin:0 23px;font-size:11px}.lab-preview>.lab-inline-error{margin:15px 18px 0}.lab-generated{aspect-ratio:1;margin-top:16px}.lab-generated img{display:block;width:100%;height:100%;object-fit:cover}.lab-generated+.lab-preview-meta{padding-top:20px}.lab-generating{padding:24px;text-align:center;background:#1e2a17;border-block:1px solid #3d4e2c;margin:0 0 20px}.lab-generating strong{display:block;font-weight:500;font-size:14px;margin:12px 0}.lab-generating p{font-size:11px;line-height:1.7;color:var(--muted);margin:0}.lab-spinner{display:inline-block;width:20px;height:20px;border:2px solid #485e32;border-top-color:var(--lime);border-radius:50%;animation:labspin 1s linear infinite}@keyframes labspin{to{transform:rotate(360deg)}}
.lab-stage{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;min-height:230px;overflow:hidden;background:radial-gradient(ellipse at 50% 60%,#38482e60,transparent 68%);perspective:900px}.lab-stage.compact{height:240px}.lab-stage.compact .lab-pack{transform:rotateY(-16deg) rotateZ(5deg) scale(.62)}.lab-stage.compact .stage-coordinate,.lab-stage.compact .stage-caption{display:none}.lab-orbit{position:absolute;z-index:-1;width:360px;height:360px;border:1px solid #63804b21;border-radius:50%;transform:rotateX(64deg) rotateZ(-25deg);top:15%;left:calc(50% - 180px)}.orbit-two{width:270px;height:270px;left:calc(50% - 135px);top:26%;transform:rotateX(64deg) rotateZ(24deg)}.lab-floor{position:absolute;bottom:13%;width:250px;height:36px;border-radius:50%;background:#0009;filter:blur(18px);z-index:-1}.lab-pack{width:184px;height:255px;background:var(--pack-color);position:relative;transform:rotateY(-16deg) rotateZ(5deg);box-shadow:15px 18px 28px #0005,inset -12px 0 15px #0003,inset 3px 0 5px #ffffff18;transition:background .2s,transform .4s;flex-shrink:0}.lab-pack:after{content:'';position:absolute;inset:0;background:linear-gradient(118deg,#ffffff15,transparent 30%,#0002 76%,#fff1);pointer-events:none}.pack-pouch{border-radius:4px 4px 13px 13px;clip-path:polygon(2% 0,98% 0,100% 97%,95% 100%,5% 100%,0 97%)}.pack-seal{position:absolute;left:6px;right:6px;top:13px;border-top:1px solid #0005;border-bottom:2px solid #ffffff10;height:5px}.pack-box{height:245px;border-radius:2px;border-right:17px solid #0003;transform:rotateY(-19deg) rotateZ(2deg)}.pack-box .pack-seal{top:4px;left:0;right:0;border-bottom:0;height:0}.pack-jar{height:200px;width:183px;border-radius:14px 14px 25px 25px;margin-top:25px}.pack-jar .pack-cap{position:absolute;height:30px;top:-23px;left:-3px;right:-3px;border-radius:8px 8px 3px 3px;background:repeating-linear-gradient(90deg,#242b23 0 2px,#343e31 2px 4px);box-shadow:0 4px 3px #0008}.pack-jar .pack-seal,.pack-bottle .pack-seal{display:none}.pack-bottle{width:125px;height:210px;border-radius:20px 20px 17px 17px;margin-top:35px}.pack-bottle .pack-cap{position:absolute;width:61px;height:53px;left:32px;top:-42px;border-radius:22px 22px 2px 2px;background:linear-gradient(100deg,#394031,#151b12 70%);border-bottom:9px solid #45503c}.pack-label{position:absolute;inset:34px 18px 16px;display:flex;flex-direction:column;color:var(--pack-accent);align-items:center;text-align:center;overflow:hidden;z-index:1}.pack-brand{font-size:13px;letter-spacing:2px;font-weight:700;line-height:1.3;max-width:100%;overflow-wrap:anywhere}.pack-botanical{width:70px;height:70px;flex-shrink:0;margin:10px 0;opacity:.65}.pack-product{font-size:11px;font-weight:500;line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;max-width:100%}.pack-tagline{font-size:5px;letter-spacing:1.3px;margin-top:8px;max-width:100%;overflow-wrap:anywhere}.pack-bottom{margin-top:auto;display:flex;align-items:end;justify-content:space-between;width:100%;padding-top:10px;border-top:1px solid currentColor;font-size:6px;letter-spacing:.6px;gap:5px}.pack-jar .pack-label{inset:22px 19px 15px}.pack-jar .pack-botanical{height:40px;margin:5px}.pack-bottle .pack-label{inset:28px 12px 16px}.pack-bottle .pack-brand{font-size:9px;letter-spacing:1px}.pack-bottle .pack-botanical{height:43px;margin:7px}.pack-bottle .pack-product{font-size:9px}.pack-bottle .pack-bottom{font-size:5px}.finish-gloss:after{background:linear-gradient(115deg,#fff4,transparent 20%,#fff1 50%,#fff4 54%,#0002 72%)}.finish-satin:after{background:linear-gradient(115deg,#fff2,transparent 35%,#fff2 53%,#0001 85%)}.stage-coordinate{position:absolute;left:18px;bottom:22px;color:#829077;font-size:6px;letter-spacing:1.4px;writing-mode:vertical-rl;transform:rotate(180deg)}.stage-caption{position:absolute;bottom:15px;right:17px;color:#78866d;font-size:8px;letter-spacing:.5px}
@media(min-width:1600px){.lab-studio,.lab-read-layout{grid-template-columns:minmax(0,1fr) 420px}.lab-preview .lab-stage{height:440px}.lab-preview .lab-pack{transform:rotateY(-16deg) rotateZ(5deg) scale(1.15)}}
@media(max-width:1200px){.lab-intro-copy{padding:32px}.lab-intro-notes{gap:10px}.lab-studio,.lab-read-layout{grid-template-columns:minmax(0,1fr) 290px;gap:16px}.lab-workbench{padding:22px}.lab-steps button{padding:15px 10px;font-size:10px}.lab-projects{grid-template-columns:repeat(2,minmax(0,1fr))}.lab-preview .lab-stage{height:330px}.lab-step-actions{flex-wrap:wrap}.lab-step-actions>div{margin-left:auto}.lab-pack-options{gap:6px}.lab-option{padding:16px 5px}.lab-option small{font-size:7px}.lab-colors{gap:9px}.lab-colors label{font-size:10px;gap:7px}}
@media(max-width:1000px){.lab-studio,.lab-read-layout{grid-template-columns:1fr}.lab-preview{position:relative;top:0}.lab-preview .lab-stage{height:330px}.lab-preview .lab-generated{max-height:500px;aspect-ratio:auto}.lab-preview .lab-generated img{max-height:500px;object-fit:contain}.lab-intro{min-height:360px}.lab-intro-art .lab-stage{min-height:360px}.lab-intro-copy{padding:28px}.lab-intro h1{font-size:38px}.lab-intro-notes{font-size:8px}.lab-intro .button{font-size:11px}.lab-art-mark{display:none}}
@media(max-width:600px){.lab-intro{grid-template-columns:1fr;margin-bottom:30px}.lab-intro-copy{padding:28px 24px}.lab-intro h1{font-size:41px;letter-spacing:-1.8px}.lab-intro-art{height:245px;border-top:1px solid var(--line)}.lab-intro-art .lab-stage{min-height:245px}.lab-intro-art .lab-pack{transform:rotateY(-16deg) rotateZ(5deg) scale(.7)}.lab-intro-notes{margin-top:25px}.lab-section-title h2{font-size:22px}.lab-projects{grid-template-columns:1fr}.lab-first-project{padding:25px;align-items:flex-start;flex-direction:column}.lab-editor-title{align-items:flex-start;flex-direction:column;gap:14px}.lab-editor-title h1{font-size:29px}.lab-steps button{flex-direction:column;align-items:flex-start;gap:7px;font-size:8px;padding:13px 10px}.lab-steps button b{font-size:10px}.lab-workbench{padding:20px 16px}.lab-step-heading{gap:11px}.lab-step-heading h2{font-size:19px}.lab-step-heading p{font-size:11px}.lab-product-grid{max-height:420px}.lab-product img{width:55px;height:55px}.lab-product strong{font-size:11px}.lab-form-grid{grid-template-columns:1fr 1fr}.lab-form-grid .field{min-width:0}.lab-form-grid .field input,.lab-form-grid .field select{min-width:0;width:100%}.lab-form-grid input{font-size:12px}.lab-step-actions .button{font-size:10px;padding:11px 12px}.lab-colors{flex-direction:column;gap:12px}.lab-colors label{justify-content:space-between;font-size:11px}.lab-style-options{gap:8px}.lab-style{padding:12px}.lab-style strong{font-size:10px}.lab-generation-box{padding:17px;gap:11px}.lab-recap{gap:0 14px}.lab-recap strong{font-size:11px}.lab-admin-status{align-items:flex-start;line-height:1.7}.lab-admin-status svg{flex-shrink:0}.lab-read-layout .panel-head{flex-direction:column;gap:14px}.lab-read-layout .panel-body{padding:18px}.lab-settings .form-grid{grid-template-columns:1fr}.lab-submit-box .button{font-size:11px}}
@media(prefers-reduced-motion:reduce){.lab-spinner{animation:none}.lab-pack,.lab-project-card{transition:none}}
