:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#203c30;background:#f7f8f3;font-synthesis:none;--green:#254f3b;--line:#dfe5d9;--muted:#647263;--paper:#fff;--safe-bottom:env(safe-area-inset-bottom,0px)}
*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button,a,label{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button:disabled{cursor:not-allowed}[hidden]{display:none!important}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #6d9261;outline-offset:4px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.app-header{height:80px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#f7f8f3}.brand{display:flex;align-items:center;font-size:23px;letter-spacing:-1px;font-weight:750;min-height:44px}.brand-mark{display:grid;place-items:center;background:var(--green);color:#f8faf1;width:38px;height:38px;border-radius:12px;font:30px Georgia,serif;margin-right:10px}.brand-light{font-weight:400;color:#73816f}.connection{font-size:11px;display:flex;align-items:center;gap:7px;color:#647460}.connection i{width:6px;height:6px;background:#6f9859;border-radius:50%}.connection.offline i{background:#b18046}main{max-width:1400px;margin:0 auto;padding:38px 5vw 24px}.workspace{display:grid;grid-template-columns:390px minmax(0,1fr);gap:38px;align-items:start}.intro{margin:0 0 25px}.eyebrow{font-size:10px;font-weight:650;letter-spacing:1.6px;margin:0 0 12px;color:#677b5c}h1{font-size:43px;line-height:1.08;font-weight:550;letter-spacing:-2px;margin:0}h1 span{color:#788d68}.intro>p:last-child{font-size:14px;color:var(--muted);line-height:1.6;margin:15px 0 0}h2{font-size:21px;font-weight:600;letter-spacing:-.6px;margin:0}.panel{background:var(--paper);padding:25px;border:1px solid var(--line);border-radius:20px}.section-heading,.screen-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}.section-heading .eyebrow{font-size:9px;margin-bottom:7px}.section-heading h2{font-size:19px}.pill{font-size:11px;white-space:nowrap;padding:7px 10px;border:1px solid #d9e3ce;border-radius:20px;background:#eff4e8;color:#4e693f;font-variant-numeric:tabular-nums}.dropzone{position:relative;min-height:198px;border:1.5px dashed #b7c6a7;border-radius:16px;background:linear-gradient(150deg,#f2f6e9,#fafbf7);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px 12px;gap:8px;cursor:pointer}.dropzone.dragging,.dropzone:hover{border-color:#64874b;background:#edf4df}.dropzone input,.camera-button input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.dropzone:focus-within,.camera-button:focus-within{outline:3px solid #6d9261;outline-offset:3px}.upload-icon{display:grid;place-items:center;width:54px;height:54px;border:1px solid #d4dfc7;border-radius:17px;background:#fff9;color:#5b7846;margin-bottom:6px}.upload-icon svg{width:28px;height:28px}.dropzone strong{font-size:14px;font-weight:600}.dropzone>span:not(.upload-icon){font-size:12px;color:#637955}.dropzone small{font-size:10px;color:#707e65;margin-top:5px}.camera-button{display:none}.previews{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.preview{position:relative;margin-top:18px;min-width:0}.preview img{width:100%;aspect-ratio:1;display:block;object-fit:cover;border-radius:12px;border:1px solid var(--line)}.preview button{position:absolute;top:-10px;right:-8px;border:0;background:transparent;width:44px;height:44px;padding:8px;color:white}.preview button span{display:grid;place-items:center;width:28px;height:28px;background:#254f3b;border:2px solid white;border-radius:50%;font-size:18px}.preview small{display:block;font-size:9px;color:#61734f;text-align:center;margin-top:6px}.tip{display:flex;align-items:flex-start;gap:10px;margin:18px 0;color:#64735b}.tip>span{font-size:23px;line-height:1.2;color:#708759}.tip p{font-size:12px;line-height:1.65;margin:0}.tip strong{font-weight:600;color:#47613b}.included{border-top:1px solid var(--line);padding-top:18px}.included .eyebrow{font-size:9px;margin-bottom:12px}.included>div{display:flex;flex-wrap:wrap;gap:10px 14px}.included span{font-size:10px;color:#879776}.included b{color:#596f49;font-weight:500;margin-left:4px}.style-step{border-top:1px solid var(--line);margin-top:25px;padding-top:24px}.product-summary{display:flex;align-items:center;gap:12px;background:#f6f8f1;border:1px solid var(--line);border-radius:13px;padding:10px;margin-bottom:24px;min-width:0}.product-summary img{width:48px;height:48px;object-fit:cover;border-radius:9px}.product-summary>div{flex:1;min-width:0}.product-summary strong{font-size:13px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-summary span{font-size:11px;color:#6c7c60;display:block;margin-top:4px}.product-summary button{min-height:44px;background:none;border:0;font-size:12px;text-decoration:underline;text-underline-offset:3px;color:#476437;padding:5px}.field{font-size:13px;font-weight:600;display:block;margin-bottom:9px}.field>span{font-size:11px;font-weight:400;color:#7d8875;margin-left:6px}input:not([type=file]):not([type=radio]),textarea{border:1px solid #d6dfcc;border-radius:11px;padding:14px;width:100%;font-size:16px;background:white;color:#294022;outline:none}input::placeholder,textarea::placeholder{color:#839078}input:focus,textarea:focus{border-color:#6c8f56;box-shadow:0 0 0 3px #6c8f561a}textarea{resize:vertical;line-height:1.6}.choices{border:0;padding:0;margin:25px 0}.choices legend{font-size:13px;font-weight:600;margin-bottom:12px;padding:0}.choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.choice-grid label{position:relative;cursor:pointer;min-width:0}.choice-grid input{position:absolute;opacity:0;width:1px;height:1px}.choice-grid label>span{display:flex;align-items:center;justify-content:center;flex-direction:column;border:1px solid #dce3d4;background:#fafbf8;border-radius:12px;min-height:100px;padding:12px 4px;gap:7px;color:#65755a}.choice-grid b{font-size:12px;font-weight:550}.choice-grid small{font-size:10px;color:#77866b}.choice-grid input:checked+span{border-color:#52713d;box-shadow:inset 0 0 0 1px #52713d;background:#edf3e5;color:#365824}.choice-grid input:focus-visible+span{outline:3px solid #91a880;outline-offset:3px}.choice-grid input:disabled+span{opacity:.55}.ratio-shape{display:block;border:1.5px solid currentColor;border-radius:3px;height:25px;width:25px;margin:3px}.ratio-shape.portrait{width:20px}.ratio-shape.tall{width:18px}.backgrounds label>span{min-height:82px}.swatch{width:30px;height:30px;border-radius:50%;border:1px solid #cbd2c6;box-shadow:0 2px 5px #3045250a}.swatch.white{background:#fff}.swatch.warm{background:#eee6d4}.swatch.gray{background:#dfe1df}.notes-details{border:1px solid var(--line);border-radius:12px;padding:0 13px}.notes-details summary{list-style:none;display:flex;align-items:center;justify-content:space-between;min-height:50px;font-size:12px;cursor:pointer;gap:10px}.notes-details summary::-webkit-details-marker{display:none}.notes-details summary span{font-size:19px}.notes-details[open] summary span{transform:rotate(45deg)}.notes-details textarea{margin-bottom:13px;font-size:16px}.privacy-note{font-size:11px;color:#718066;line-height:1.65;margin:18px 0 0}.create-actions{margin-top:22px}.create-actions>p{font-size:11px;color:#657957;text-align:center;margin:0 0 9px}.primary,.secondary{display:flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:13px 20px;border-radius:13px;font-size:14px;font-weight:600;line-height:1.3;border:0}.primary{background:var(--green);color:#fff}.primary:hover{background:#1d402f}.primary:disabled{background:#e0e7d8;color:#738367}.secondary{border:1px solid #cddac1;background:#fff;color:#3e5c2f}.secondary:hover{background:#f1f5eb}#generate,#continue{width:100%;justify-content:space-between}#continue,.wizard-steps{display:none}.service-status{font-size:11px;text-align:center;margin:13px 0 0;color:#6d7c62}.results-screen{padding-top:8px;min-width:0}.screen-heading .eyebrow{font-size:10px;margin-bottom:8px}.screen-heading h2{font-size:28px;letter-spacing:-1px}.job-status{display:flex;align-items:center;gap:13px;padding:17px;border:1px solid #dbe5ce;background:#edf3e4;border-radius:15px;margin-bottom:21px}.status-icon{width:38px;height:38px;flex-shrink:0;display:grid;place-items:center;background:#dfeace;border-radius:12px;color:#5d7e40;font-size:21px}.job-status strong{font-size:13px;font-weight:600}.job-status p{font-size:12px;line-height:1.5;margin:4px 0 0;color:#667c52}.job-status.running .status-icon{animation:breathe 1.8s infinite}.job-status.partial{background:#f9f1e6;border-color:#e6d4b8}.progress{height:5px;border-radius:6px;overflow:hidden;background:#dce7ce;margin:-10px 0 22px}#progress-fill{height:100%;background:#668d49;width:0;transition:width .4s}.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.shot-card{min-width:0;border:1px solid var(--line);border-radius:17px;overflow:hidden;background:white}.shot-card:first-child{grid-column:1/-1}.shot-preview{height:210px;display:flex;flex-direction:column;gap:15px;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 85%,#e7eddd,#f3f6ed 70%);position:relative}.shot-card:first-child .shot-preview{height:300px}.shot-preview>svg{width:70px;height:70px;stroke:#91a57c;stroke-width:1}.placeholder-label{font-size:10px;color:#6c805d;text-align:center;letter-spacing:.8px;padding:0 14px}.shot-preview .image-button{width:100%;height:100%;border:0;padding:0;background:#fcfdfa;cursor:zoom-in}.shot-preview img{width:100%;height:100%;object-fit:contain;display:block}.shot-number{position:absolute;top:12px;left:12px;background:#ffffffdf;padding:7px 9px;border:1px solid #dce4d1;border-radius:8px;font-size:10px;color:#5e754c;pointer-events:none}.shot-info{display:flex;align-items:center;justify-content:space-between;padding:15px;gap:8px}.shot-info>div{min-width:0}.shot-info h3{font-size:14px;font-weight:600;margin:0 0 4px}.shot-info p{font-size:11px;color:#6d7f5e;line-height:1.4;margin:0}.shot-info a{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;background:#f2f6eb;border:1px solid #dde6d2;border-radius:12px;color:#567440;font-size:23px}.shot-status{font-size:9px;color:#6c805d;white-space:nowrap}.shot-card.running{border-color:#88a36e}.shot-card.running .shot-preview>svg{animation:breathe 1.6s infinite}.shot-error{font-size:12px;color:#956934;line-height:1.6;text-align:center;padding:0 20px;overflow-wrap:anywhere}.shot-card.error{border-color:#ddc8a8}.shot-card.error .shot-status{color:#956934}.result-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:20px 0}.result-actions>p{width:100%;font-size:12px;color:#6a7c5d;margin:0 0 4px;overflow-wrap:anywhere}.result-actions .primary{flex:1}.result-actions .secondary{font-size:12px}.quality-note{padding-top:17px;border-top:1px solid var(--line)}.swipe-hint,.gallery-dots{display:none}.notice{padding:15px 18px;border-radius:12px;background:#edf3e4;color:#446337;font-size:13px;line-height:1.6;margin-bottom:22px;border:1px solid #d9e4cc}.notice.error-message{color:#845f32;background:#fbf2e6;border-color:#e4d0b1}.library-screen{display:none;max-width:1000px;margin:auto}.library-caption{font-size:14px;color:#6b7d5e;margin:-5px 0 26px}#history{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}#history button{display:flex;align-items:center;gap:15px;border:1px solid var(--line);border-radius:16px;padding:12px;background:white;color:#2f4a23;min-width:0;text-align:left}#history button img,.history-placeholder{width:74px;height:85px;object-fit:cover;border-radius:10px;flex-shrink:0;background:#eef3e6}.history-placeholder{display:grid;place-items:center;font-size:25px;color:#849b71}#history button>div{min-width:0;flex:1}#history strong{font-size:14px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#history small{display:block;font-size:11px;color:#6e805f;margin-top:6px}#history .history-state{font-size:10px;color:#486b30;margin-top:9px}.history-arrow{font-size:20px;color:#789660}.empty-state{text-align:center;margin:60px auto;max-width:300px;color:#6b7d5e}.empty-state>span{display:grid;place-items:center;background:#eaf1df;width:90px;height:90px;border-radius:28px;margin:auto;font-size:40px;color:#819768}.empty-state h3{font-size:19px;color:#3d5b2e;margin:24px 0 12px}.empty-state p{font-size:14px;line-height:1.7;margin-bottom:24px}footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:40px;padding-top:24px;color:#77886a;font-size:10px}footer>span:first-child{font-weight:650;letter-spacing:1.3px}.app-nav{display:flex;position:absolute;left:50%;top:15px;transform:translateX(-50%);gap:5px;padding:3px;background:#eaf0e2;border:1px solid #dce6d0;border-radius:15px}.app-nav button{position:relative;display:flex;align-items:center;gap:7px;min-height:44px;border:0;border-radius:11px;padding:10px 16px;background:transparent;font-size:12px;color:#6b7d5d}.app-nav button[aria-current]{background:#fff;color:#345428;box-shadow:0 2px 5px #25391508}.app-nav svg{width:19px;height:19px}.app-nav i{width:6px;height:6px;border-radius:50%;background:#6a9848;position:absolute;right:6px;top:7px}body[data-view=library] .workspace{display:none}body[data-view=library] .library-screen{display:block}dialog{border:1px solid #dce4d4;border-radius:22px;padding:20px;background:#f7f8f3;max-width:min(800px,94vw);max-height:94dvh;width:100%;color:#2e4923}dialog::backdrop{background:#182615cf;backdrop-filter:blur(5px)}.lightbox-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.lightbox-header p{font-size:15px;font-weight:600;margin:0;overflow-wrap:anywhere}.icon-button{width:48px;height:48px;display:grid;place-items:center;flex-shrink:0;border:1px solid #d7e0cc;border-radius:14px;background:#fff;color:#4c6839;font-size:24px}.icon-button:disabled{opacity:.3}.lightbox-stage{margin:12px 0;display:flex;justify-content:center;align-items:center;overflow:auto;max-height:60dvh;border-radius:12px;background:#fff}.lightbox-stage img{display:block;width:100%;max-height:60dvh;object-fit:contain}.lightbox-controls{display:flex;align-items:center;justify-content:center;gap:24px;margin:12px 0}.lightbox-controls>span{font-size:12px;color:#60784d;min-width:35px;text-align:center}body:has(dialog[open]){overflow:hidden}
@keyframes breathe{50%{opacity:.4;transform:scale(.94)}}
@media(min-width:761px){body[data-view=results] .workspace{grid-template-columns:1fr}body[data-view=results] .create-screen{display:none}body[data-view=results] .results-screen{max-width:1000px;width:100%;margin:auto}body[data-view=results] .gallery{grid-template-columns:repeat(2,minmax(0,1fr))}body[data-view=results] .shot-card:first-child .shot-preview{height:390px}}
@media(min-width:761px) and (max-width:1050px){.workspace{grid-template-columns:330px minmax(0,1fr);gap:22px}main{padding:30px 3vw}.panel{padding:19px}.app-header{padding:0 3vw}.connection{display:none}.app-nav{left:auto;right:3vw;transform:none}.shot-info{padding:12px;flex-wrap:wrap}.shot-info h3{font-size:12px}.shot-info p{font-size:10px}.shot-preview{height:170px}}
@media(max-width:760px){
  .app-header{height:calc(68px + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) 22px 0;position:sticky;top:0;z-index:10;background:#f7f8f3f5;backdrop-filter:blur(16px)}.brand{font-size:22px}.brand-mark{width:34px;height:34px;font-size:27px;border-radius:10px}.connection{font-size:10px;gap:6px}main{padding:24px 22px calc(98px + var(--safe-bottom));max-width:560px}.workspace{display:block}.intro{margin-bottom:26px}.eyebrow{font-size:9px;letter-spacing:1.6px}h1{font-size:clamp(35px,10vw,44px);letter-spacing:-1.7px}.intro>p:last-child{font-size:14px;line-height:1.6;margin-top:13px}.wizard-steps{display:flex;align-items:center;margin:0 0 26px;gap:15px}.wizard-steps button{display:flex;gap:8px;align-items:center;border:0;background:transparent;padding:0;min-height:44px;font-size:12px;color:#7b8a70;font-weight:500}.wizard-steps button>span{width:26px;height:26px;border:1px solid #cdd9c0;border-radius:50%;display:grid;place-items:center;font-size:11px}.wizard-steps button[aria-current]{color:#345629}.wizard-steps button[aria-current]>span{background:var(--green);color:white;border-color:var(--green)}.step-line{height:1px;background:#d4dec8;flex:1}.panel{padding:0;border:0;background:transparent;border-radius:0}.section-heading{margin-bottom:18px}.section-heading h2{font-size:21px}.section-heading .eyebrow{display:none}.pill{font-size:10px;padding:6px 9px}.dropzone{min-height:216px;padding:24px 14px;border-radius:20px;background:linear-gradient(135deg,#edf4e0,#f4f7ed)}.upload-icon{width:60px;height:60px;border-radius:19px}.dropzone strong{font-size:15px}.dropzone>span:not(.upload-icon){font-size:13px}.dropzone small{font-size:11px}.camera-button{display:flex;align-items:center;justify-content:center;gap:9px;position:relative;min-height:48px;border:1px solid #ccd9be;border-radius:13px;margin-top:12px;background:#fff;font-size:13px;font-weight:550;color:#4a6738}.camera-button svg{width:20px;height:20px}.camera-button:has(input:disabled){opacity:.5}.tip{margin:18px 0}.tip p{font-size:12px}.included{margin-top:21px}.included>div{display:grid;grid-template-columns:1fr 1fr;gap:12px}.included span{font-size:11px}.previews{gap:10px}.preview{margin-top:19px}.preview small{font-size:10px}.create-actions{position:fixed;bottom:calc(72px + var(--safe-bottom));left:0;right:0;z-index:9;margin:0;padding:12px max(22px,calc((100vw - 516px)/2)) 13px;background:#f7f8f3f5;border-top:1px solid #e0e6d7;backdrop-filter:blur(16px)}.create-actions>p{font-size:11px;margin-bottom:8px}.primary,.secondary{min-height:52px;font-size:15px;border-radius:14px;padding:14px 18px}body[data-view=create] main{padding-bottom:calc(210px + var(--safe-bottom))}.service-status{display:none}.style-step{border:0;margin:0;padding:0}.style-step>.section-heading{margin-bottom:20px}.product-summary{background:#edf3e4;padding:12px;border-radius:15px;margin-bottom:26px}.product-summary strong{font-size:14px}.product-summary span{font-size:12px}.product-summary button{font-size:12px}.field{font-size:14px}.choices legend{font-size:14px}.choice-grid{gap:10px}.choice-grid label>span{min-height:107px;border-radius:15px}.choice-grid b{font-size:13px}.choice-grid small{font-size:11px}.backgrounds label>span{min-height:92px}.notes-details summary{font-size:13px;min-height:54px}.privacy-note{font-size:12px;line-height:1.7;margin:19px 0 0}body[data-step=photos] .style-step,body[data-step=photos] #generate{display:none}body[data-step=photos] #continue{display:flex}body[data-step=style] .photo-step,body[data-step=style] .intro{display:none}body[data-step=style] .wizard-steps{margin-bottom:24px}.results-screen{padding-top:0}.screen-heading{margin-bottom:20px}.screen-heading h2{font-size:29px;letter-spacing:-1.1px}.screen-heading .eyebrow{font-size:9px}.job-status{padding:14px;gap:11px;border-radius:15px;margin-bottom:20px}.job-status strong{font-size:13px}.job-status p{font-size:12px}.status-icon{width:36px;height:36px;border-radius:11px}.swipe-hint{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#6a7f59;margin:21px 0 12px}.swipe-hint span{font-size:19px}.gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:22px;gap:12px;margin:0 -22px;padding:0 22px 8px;scrollbar-width:none;overscroll-behavior-x:contain}.gallery::-webkit-scrollbar{display:none}.shot-card{flex:0 0 calc(100% - 16px);scroll-snap-align:start;border-radius:20px}.shot-preview,.shot-card:first-child .shot-preview{height:auto;aspect-ratio:1}.shot-info{padding:16px;min-height:87px}.shot-info h3{font-size:15px}.shot-info p{font-size:12px;line-height:1.5}.shot-info a{width:48px;height:48px;border-radius:14px}.shot-status{font-size:9px}.placeholder-label{font-size:11px}.shot-number{font-size:11px;padding:8px 10px;border-radius:10px}.gallery-dots{display:flex;justify-content:center;gap:0;margin:1px 0 9px}.gallery-dots button{width:40px;min-height:44px;display:grid;place-items:center;background:transparent;border:0;padding:0}.gallery-dots button>span{display:block;width:6px;height:6px;border-radius:10px;background:#cbd7bf;transition:width .2s}.gallery-dots button[aria-current]>span{width:22px;background:#5b7d42}.result-actions{flex-direction:column;align-items:stretch;gap:11px;margin:0 0 24px}.result-actions>p{font-size:12px;text-align:center;margin-bottom:7px}.result-actions .secondary{font-size:14px}.quality-note{padding-top:17px}.quality-note p{font-size:12px}.library-caption{font-size:13px;line-height:1.6;margin-top:-7px}.library-screen .screen-heading{margin-bottom:17px}#history{grid-template-columns:1fr;gap:12px}#history button{padding:12px;gap:14px;border-radius:17px}#history button img,.history-placeholder{width:76px;height:88px}#history strong{font-size:15px}#history small{font-size:12px}#history .history-state{font-size:11px}footer{display:none}.app-nav{position:fixed;bottom:0;top:auto;left:0;right:0;transform:none;z-index:11;display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding:5px 12px calc(5px + var(--safe-bottom));height:calc(72px + var(--safe-bottom));border:0;border-top:1px solid #dfe6d6;border-radius:0;background:#fcfdf9f5;backdrop-filter:blur(16px)}.app-nav button{flex-direction:column;justify-content:center;gap:5px;min-height:60px;padding:6px;border-radius:14px;font-size:10px;font-weight:550}.app-nav button[aria-current]{background:transparent;box-shadow:none;color:#305725}.app-nav button[aria-current] svg{background:#e5eedb;border-radius:9px;box-shadow:0 0 0 5px #e5eedb}.app-nav svg{width:23px;height:23px}.app-nav i{right:calc(50% - 22px);top:8px}body[data-view=create] .results-screen,body[data-view=create] .library-screen,body[data-view=results] .create-screen,body[data-view=results] .library-screen{display:none}body[data-view=library] .workspace{display:none}body[data-view=library] .library-screen{display:block}.notice{font-size:12px;padding:13px 15px;margin-bottom:20px}dialog{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;border:0;border-radius:0;padding:calc(12px + env(safe-area-inset-top,0px)) 18px calc(20px + var(--safe-bottom));overflow:auto}dialog[open]{display:flex;flex-direction:column}.lightbox-header p{font-size:16px}.lightbox-stage{flex:1;max-height:none;min-height:0;margin:20px -18px;background:#fff;border-radius:0}.lightbox-stage img{max-height:100%;width:100%;height:100%;object-fit:contain}.lightbox-controls{margin:0 0 18px}.lightbox-controls>span{font-size:13px}.lightbox-controls button{width:52px;height:48px}.lightbox-header .icon-button{border:0;background:#eaf0e2}.lightbox-header{flex-shrink:0}.lightbox-controls,dialog>.primary{flex-shrink:0}body.keyboard-open .create-actions,body.keyboard-open .app-nav{display:none}
}
@media(max-width:360px){.app-header{padding-left:17px;padding-right:17px}.connection{font-size:9px}.brand{font-size:20px}main{padding-left:17px;padding-right:17px}.gallery{margin-left:-17px;margin-right:-17px;padding-left:17px;padding-right:17px;scroll-padding-inline:17px}.section-heading h2{font-size:19px}.choice-grid{gap:7px}.choice-grid b{font-size:12px}.choice-grid small{font-size:10px}.screen-heading h2{font-size:26px}.shot-info{padding:13px}.shot-info h3{font-size:13px}.shot-info p{font-size:11px}.dropzone strong{font-size:14px}.create-actions{padding-left:17px;padding-right:17px}.wizard-steps{gap:11px}}
.import-screen,.session-screen{display:none;max-width:1000px;margin:auto}body[data-view=import] .workspace,body[data-view=session] .workspace{display:none}body[data-view=import] .import-screen,body[data-view=session] .session-screen{display:block}.session-chip{display:flex;align-items:center;gap:7px;min-height:36px;max-width:46vw;border:1px solid #cfdcc2;background:#eef4e6;color:#2f5424;border-radius:20px;padding:6px 12px;font-size:11px;font-weight:600}.session-chip i{width:7px;height:7px;border-radius:50%;background:#5d9640;flex-shrink:0;animation:breathe 2.4s infinite}.session-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-chip b{font-weight:600;color:#5c7a47;font-variant-numeric:tabular-nums}.target-banner{display:flex;align-items:center;gap:12px;padding:12px 12px 12px 14px;margin-bottom:20px;border-radius:15px;background:#254f3b;color:#f4f8ee}.target-banner.new-item{background:#edf3e4;color:#2f4a23;border:1px solid #d9e4cc}.target-icon{width:30px;height:30px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;background:#ffffff26;font-size:14px}.target-banner.new-item .target-icon{background:#dfeace;color:#4f7338}.target-banner>div{flex:1;min-width:0}.target-banner small{display:block;font-size:9px;letter-spacing:1.3px;opacity:.75;margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.target-banner strong{display:block;font-size:13px;font-weight:600;line-height:1.35;overflow-wrap:anywhere}.target-banner button{min-height:44px;border:0;background:transparent;color:inherit;font-size:12px;text-decoration:underline;text-underline-offset:3px;padding:4px 6px;flex-shrink:0}.sku-field{margin-top:18px}.wide{width:100%;margin-top:14px}.primary.wide{justify-content:space-between}.primary.muted{background:#fff;color:#3e5c2f;border:1px solid #cddac1}.import-panel .field{margin-top:20px}.csv-drop{min-height:170px}.csv-drop.chosen{border-style:solid;border-color:#64874b;background:#edf4df}.csv-drop.chosen strong{overflow-wrap:anywhere}.session-progress{padding:15px;border:1px solid #dbe5ce;background:#edf3e4;border-radius:15px;margin-bottom:14px}.session-progress>div:first-child{display:flex;flex-direction:column;gap:3px;margin-bottom:12px}.session-progress strong{font-size:14px}.session-progress span{font-size:11px;color:#667c52;overflow-wrap:anywhere}.session-progress .progress,.session-card .progress{margin:0;background:#dce7ce}#import-progress-fill,#session-progress-fill{height:100%;background:#668d49;transition:width .4s}#import-search{margin-bottom:12px;-webkit-appearance:none;appearance:none}.segmented{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;background:#eaf0e2;border-radius:13px;margin-bottom:14px}.segmented button{min-height:40px;border:0;border-radius:10px;background:transparent;color:#61744f;font-size:12px;font-weight:550}.segmented button b{font-weight:500;opacity:.7;margin-left:3px;font-variant-numeric:tabular-nums}.segmented button[aria-pressed=true]{background:#fff;color:#2f5424;box-shadow:0 1px 4px #2539150f}.items{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.item button{width:100%;display:flex;align-items:center;gap:12px;padding:10px 12px 10px 10px;min-height:72px;border:1px solid var(--line);border-radius:15px;background:#fff;color:#2f4a23;text-align:left}.item button:disabled{cursor:default;opacity:.75}.item.done button{background:#f6f9f1}.check{width:26px;height:26px;flex-shrink:0;display:grid;place-items:center;border:1.5px solid #c3d0b6;border-radius:50%;font-size:13px;font-weight:700;color:#fff}.item.done .check{background:#4f7a37;border-color:#4f7a37}.item.partial .check{border-color:#c49a5e;color:#a4722f}.item.running .check{border-color:#6f9859;color:#4f7a37;animation:breathe 1.6s infinite}.thumb{width:48px;height:48px;flex-shrink:0;border-radius:10px;background:#eef3e6;overflow:hidden}.thumb img{width:100%;height:100%;object-fit:cover;display:block}.item-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.item-text small{font-size:10px;color:#6e805f;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-text strong{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-text .item-meta{color:#486b30}.item.partial .item-meta{color:#956934}.item-arrow{width:34px;height:34px;flex-shrink:0;display:grid;place-items:center;border-radius:10px;background:#f2f6eb;color:#567440;font-size:17px}.items-empty{text-align:center;font-size:13px;color:#6b7d5e;line-height:1.6;margin:30px auto;max-width:320px}.session-card{border:1px solid var(--line);background:#fff;border-radius:20px;padding:20px;margin-bottom:20px}.session-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.session-card-head small{font-size:11px;color:#6e805f}.state-badge{font-size:9px;font-weight:700;letter-spacing:1.3px;padding:5px 9px;border-radius:20px;background:#e3eed6;color:#3f6a2a}.session-card.closed .state-badge{background:#eceee8;color:#5d6657}.session-card h3{font-size:22px;letter-spacing:-.6px;margin:14px 0 16px;overflow-wrap:anywhere}.session-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px}.session-stats>div{background:#f6f8f1;border-radius:12px;padding:11px 10px}.session-stats b{display:block;font-size:22px;font-weight:600;font-variant-numeric:tabular-nums}.session-stats small{font-size:10px;color:#6e805f}.session-actions{margin-top:6px}.split{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.split [hidden]+*,.split>*:only-child{grid-column:1/-1}.text-button{display:block;margin:12px auto 0;min-height:44px;border:0;background:none;color:#476437;font-size:13px;text-decoration:underline;text-underline-offset:3px}.howto{border:1px solid var(--line);border-radius:14px;padding:0 15px;background:#fff;margin-bottom:26px}.howto summary{list-style:none;display:flex;align-items:center;justify-content:space-between;min-height:52px;font-size:13px;font-weight:600;cursor:pointer}.howto summary::-webkit-details-marker{display:none}.howto summary span{font-size:19px;font-weight:400}.howto[open] summary span{transform:rotate(45deg)}.howto ol{margin:0 0 16px;padding-left:20px;font-size:13px;line-height:1.65;color:#4f6344}.howto li+li{margin-top:6px}.subheading{font-size:15px;margin:0 0 12px}#sessions{display:grid;gap:10px}.past-session{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:14px;background:#fff;padding:10px 8px 10px 14px}.past-session>div{flex:1;min-width:0}.past-session strong{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.past-session small{display:block;font-size:11px;color:#6e805f;margin-top:4px}.secondary.small{min-height:44px;padding:8px 12px;font-size:12px;border-radius:11px}.history-card{position:relative;display:flex;min-width:0}#history .history-card>.history-open{flex:1}.history-delete{position:absolute;top:6px;right:6px;width:44px;height:44px;border:0;background:transparent;color:#8a9a7c;font-size:22px;border-radius:12px}.history-delete:hover{background:#f1f5eb;color:#845f32}.past-session .history-delete{position:static;flex-shrink:0}#history .history-open .history-arrow{margin-right:34px}.result-link{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:13px 14px;border:1px solid #d9e4cc;border-radius:14px;background:#fff;margin:6px 0 18px}.result-link>span{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:#4f7a37;color:#fff;font-size:13px;flex-shrink:0}.result-link p{flex:1;min-width:0;margin:0;font-size:12px;line-height:1.5;color:#4f6344;overflow-wrap:anywhere}.result-link .secondary{min-height:44px;padding:8px 14px;font-size:13px}.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);z-index:30;max-width:calc(100vw - 32px);padding:12px 18px;border-radius:14px;background:#203c30;color:#f4f8ee;font-size:13px;box-shadow:0 8px 24px #1a2b1440;animation:toast-in .25s ease-out}@keyframes toast-in{from{opacity:0;transform:translate(-50%,10px)}}@media(max-width:760px){
.import-screen,.session-screen{max-width:none}body[data-view=create] .import-screen,body[data-view=create] .session-screen,body[data-view=results] .import-screen,body[data-view=results] .session-screen,body[data-view=library] .import-screen,body[data-view=library] .session-screen{display:none}body[data-view=import] .library-screen,body[data-view=session] .library-screen{display:none}.app-nav{grid-template-columns:repeat(5,1fr);padding-left:4px;padding-right:4px}.app-nav button{font-size:10px;padding:6px 2px}.app-nav button[aria-current] svg{box-shadow:0 0 0 4px #e5eedb}.session-chip{max-width:52vw;min-height:40px;font-size:11px}.items{grid-template-columns:1fr}.session-card{padding:18px;border-radius:20px}.session-card h3{font-size:21px}.toast{bottom:calc(84px + var(--safe-bottom))}body[data-view=create] .toast{bottom:calc(206px + var(--safe-bottom))}body.keyboard-open .toast{bottom:16px}#import-search{position:sticky;top:calc(76px + env(safe-area-inset-top,0px));z-index:5;box-shadow:0 0 0 8px #f7f8f3}.result-link{margin-top:0}.result-link .secondary{width:100%}.past-session{flex-wrap:wrap;padding:12px}.past-session>div{flex:1 1 calc(100% - 52px)}.past-session .secondary.small{flex:1}body.in-session[data-step=photos] .intro{display:none}}@media(max-width:360px){.app-nav button{font-size:9px}.session-stats b{font-size:19px}.segmented button{font-size:11px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
#history .history-delete{display:grid;place-items:center;padding:0;border:0;background:transparent;border-radius:12px}
@media(min-width:761px) and (max-width:1050px){.session-chip{display:none}}
#session-none+.session-card{margin-top:24px}
#session-none .panel{margin-bottom:8px}
.hosted-only{display:none}body.hosted .hosted-only{display:list-item}body.hosted .local-only{display:none}
.login-dialog{max-width:380px;padding:28px 24px}.login-dialog::backdrop{background:#f7f8f3}.login-dialog form{display:flex;flex-direction:column}.login-dialog .brand-mark{margin:0 0 18px}.login-dialog h2{font-size:24px;letter-spacing:-.8px}.login-dialog p{font-size:13px;color:var(--muted);margin:8px 0 20px}.login-error{color:#845f32!important;margin:10px 0 0!important}
@media(max-width:760px){dialog.login-dialog{height:auto;max-height:none;inset:auto 0 auto 0;top:18vh;width:calc(100% - 32px);margin:0 auto;border-radius:22px;border:1px solid #dce4d4;padding:28px 22px}dialog.login-dialog[open]{display:block}}
.setup-card{border:1px solid #e4d0b1;background:#fbf2e6;color:#845f32;border-radius:15px;padding:15px 16px;margin-bottom:22px;font-size:13px;line-height:1.55}.setup-card strong{display:block;font-size:14px;color:#6f4d22}.setup-card p{margin:6px 0 8px}.setup-card ul{margin:0;padding-left:18px}.setup-card li+li{margin-top:6px}
.seo-card{border:1px solid var(--line);background:#fff;border-radius:18px;padding:18px;margin:0 0 20px}.seo-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.seo-head .eyebrow{font-size:9px;margin-bottom:6px}.seo-head h3{font-size:18px;margin:0;letter-spacing:-.4px}.seo-card .state-badge.ready{background:#e3eed6;color:#3f6a2a}.seo-card .state-badge.busy{background:#eef3e6;color:#5d7e40;animation:breathe 1.6s infinite}.seo-card .state-badge.todo{background:#fbf2e6;color:#956934}.seo-hint{font-size:12px;color:var(--muted);line-height:1.55;margin:10px 0 4px}.seo-card .field{margin-top:14px;display:flex;justify-content:space-between;gap:8px}.seo-card .field>span{font-variant-numeric:tabular-nums}.seo-card .field>span.over{color:#956934;font-weight:600}.seo-card textarea{font-size:15px}.seo-texts{margin-top:16px}.seo-texts .seo-hint{margin-top:0}.seo-texts textarea{margin-bottom:6px}.seo-card .split{margin-top:16px}.seo-summary{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 10px;margin:12px 0 4px}.seo-summary p{margin:0;font-size:12px;color:#5d7050}.seo-summary .text-button{margin:0}.field-gap{margin-top:18px}
@media(max-width:760px){.seo-card{padding:16px;border-radius:18px}.seo-card .split{grid-template-columns:1fr}}
