:root{--bg:#0a0a0f;--bg-panel:#131019;--bg-panel-2:#1a1622;--line:#2c2735;--text:#f3eef8;--text-dim:#9a93a8;--magenta:#ff3d81;--orange:#ff9a3d;--cyan:#35e0c9;--violet:#8b5cf6;--danger:#ff5c72;--grad-brand:linear-gradient(120deg,var(--violet),var(--magenta),var(--orange));--grad-accent:linear-gradient(135deg,var(--magenta),var(--orange));--font-display:'Space Grotesk',system-ui,sans-serif;--font-body:'Inter',system-ui,sans-serif;color-scheme:dark}
*{box-sizing:border-box}html{background:var(--bg)}body{min-height:100vh;margin:0;background:radial-gradient(circle at 15% -10%,rgba(139,92,246,.22),transparent 34rem),radial-gradient(circle at 95% 10%,rgba(255,61,129,.14),transparent 30rem),var(--bg);color:var(--text);font-family:var(--font-body)}body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(to bottom,#000,transparent 70%)}
.shell{position:relative;width:min(1480px,calc(100% - 40px));max-width:none;margin:0 auto;padding:96px 0 48px}.product-header{position:fixed;z-index:30;inset:0 0 auto;min-height:70px;display:flex;align-items:center;gap:18px;margin:0;padding:11px max(22px,calc((100vw - 1480px)/2));background:rgba(10,10,15,.88);border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(18px);color:var(--text-dim)}.product-brand{display:flex;align-items:center;gap:9px;color:var(--text)!important;font:700 21px var(--font-display);letter-spacing:-.02em!important}.product-brand:before{content:"";width:11px;height:11px;border-radius:50%;background:var(--grad-brand);box-shadow:0 0 22px rgba(255,61,129,.7)}.product-header>span{padding-left:18px;border-left:1px solid var(--line);color:var(--text)!important;font-weight:650!important}.product-home{margin-left:auto!important;padding:10px 14px;border:1px solid var(--line);border-radius:11px;color:var(--text)!important;text-decoration:none;transition:.2s}.product-home:hover{border-color:rgba(255,61,129,.55);background:rgba(255,61,129,.08)}
.card{position:relative;overflow:hidden;min-height:620px;padding:clamp(24px,4vw,54px);border:1px solid rgba(255,255,255,.08);border-radius:24px;background:linear-gradient(145deg,rgba(26,22,34,.96),rgba(19,16,25,.98));box-shadow:0 30px 90px rgba(0,0,0,.45)}.card:before{content:"";position:absolute;inset:0 0 auto;height:2px;background:var(--grad-brand);opacity:.9}.screen{position:relative;max-width:1120px;margin:0 auto}.screen[data-screen=upload],.screen[data-screen=characteristics]{max-width:980px}.screen[data-screen=ready],.screen[data-screen=competitorDiscoveryReview]{max-width:1280px}h1,h2,h3{color:var(--text);font-family:var(--font-display)}h1{font-size:clamp(36px,5vw,62px);line-height:1.02;letter-spacing:-.045em}h2{font-size:clamp(30px,4vw,48px);letter-spacing:-.035em}.muted{color:var(--text-dim)}
.progress{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;max-width:1120px;margin:0 auto 44px}.progress div{position:relative;padding:13px 14px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.025);color:#716b7b;font-size:12px}.progress div:before{content:"";position:absolute;inset:-1px -1px auto;height:2px;border-radius:12px 12px 0 0;background:#393342}.progress div.done{color:var(--text-dim);border-color:rgba(139,92,246,.28)}.progress div.done:before{background:var(--violet)}.progress div.current{color:var(--text);border-color:rgba(255,61,129,.55);background:rgba(255,61,129,.07);box-shadow:0 0 28px rgba(255,61,129,.09)}.progress div.current:before{background:var(--grad-accent)}
.drop{padding:clamp(20px,4vw,42px);border:1px dashed rgba(255,119,172,.46);border-radius:20px;background:linear-gradient(145deg,rgba(139,92,246,.07),rgba(255,61,129,.035));text-align:center;transition:.2s}.drop:hover{border-color:var(--magenta);background:linear-gradient(145deg,rgba(139,92,246,.11),rgba(255,61,129,.06))}.upload-block{margin-top:24px}.upload-block-title h3{font:650 13px var(--font-body);letter-spacing:.08em;color:var(--text-dim)}.upload-main-card,.source-view-card,.source-add-slot,.selected-reference,.pre-generation-product,.fitness-card{border:1px solid var(--line)!important;background:rgba(9,9,13,.62)!important;box-shadow:0 16px 38px rgba(0,0,0,.22)}.upload-main-card img,.source-view-card img,.selected-reference img,.pre-generation-product img,.fitness-card img{background:#09090d!important}.source-add-slot{border-style:dashed!important;color:#ff77ac!important}.source-add-slot button{color:#ff77ac!important}.source-view-badge{background:rgba(139,92,246,.15)!important;color:#c7adff!important}.file-name{color:var(--text)}
button,.download-link{min-height:46px;border:0;border-radius:12px;padding:13px 20px;background:var(--grad-accent)!important;color:#fff!important;font:700 14px var(--font-body);box-shadow:0 10px 26px rgba(255,61,129,.17);cursor:pointer;transition:transform .16s,filter .16s,opacity .16s}button:hover,.download-link:hover{filter:brightness(1.09);transform:translateY(-1px)}button:active,.download-link:active{transform:translateY(0)}button:disabled{opacity:.42;box-shadow:none;cursor:not-allowed}.secondary,#fitnessBack,#discoveryBack{border:1px solid var(--line)!important;background:rgba(255,255,255,.055)!important;color:var(--text)!important;box-shadow:none!important}.secondary:hover{border-color:#5a5069!important;background:rgba(255,255,255,.085)!important}.actions{gap:12px}.download-link{display:inline-flex!important;align-items:center;justify-content:center;text-decoration:none}
input,select,textarea{width:100%;border:1px solid var(--line)!important;border-radius:12px!important;padding:13px 14px!important;background:#0f0d14!important;color:var(--text)!important;outline:none;transition:border-color .18s,box-shadow .18s}input:focus,select:focus,textarea:focus{border-color:var(--violet)!important;box-shadow:0 0 0 3px rgba(139,92,246,.14)}input::placeholder,textarea::placeholder{color:#6f687a}.field{border-bottom:1px solid var(--line)!important}.field label{color:var(--text)}.omit-control{color:var(--text-dim)!important}.omit-control input,.check-card input{accent-color:var(--magenta)}.check-card{border-color:var(--line)!important;background:#0f0d14!important}.check-card:has(input:checked){border-color:var(--magenta)!important;background:rgba(255,61,129,.08)!important}.summary{border:1px solid var(--line);background:rgba(255,255,255,.035)!important}.success{border:1px solid rgba(53,224,201,.24);background:rgba(53,224,201,.08)!important;color:#9af3e5!important}.error{color:#ff8293!important}
.quote{border:1px solid rgba(255,61,129,.28);background:linear-gradient(135deg,rgba(139,92,246,.14),rgba(255,61,129,.09))!important;box-shadow:0 20px 46px rgba(0,0,0,.24)}.price{color:#fff;font:700 26px var(--font-display)}.pre-generation-products{gap:20px}.pre-generation-product{padding:16px!important}.pre-generation-product strong{display:block;margin-bottom:12px;color:var(--text)}.selected-reference{padding:18px!important}.selected-reference-title{color:var(--text)}
.fitness-grid{gap:18px}.fitness-card{padding:14px!important;transition:border-color .18s,transform .18s}.fitness-card:hover{border-color:#554b63!important;transform:translateY(-2px)}.fitness-card.fitness-fail{border-color:rgba(255,61,129,.65)!important;box-shadow:0 0 0 2px rgba(255,61,129,.08),0 16px 38px rgba(0,0,0,.25)}.fitness-card strong{display:block;margin:11px 0 6px}.fitness-card .muted{font-size:12px}.fitness-rank{color:#ff77ac!important}.fitness-metrics{color:var(--text-dim)}
.spinner{width:52px;height:52px;border-color:#2b2532!important;border-top-color:var(--magenta)!important;box-shadow:0 0 26px rgba(255,61,129,.16)}.screen[data-screen=analysis]{display:flex;min-height:440px;flex-direction:column;align-items:center;justify-content:center;text-align:center}.screen[data-screen=analysis][hidden]{display:none}.screen[data-screen=analysis] h2{margin-bottom:6px}.completed-result,.review-image{display:block;max-width:min(100%,980px);max-height:76vh;margin:24px auto 0;border:1px solid var(--line);background:#09090d!important;box-shadow:0 25px 70px rgba(0,0,0,.42)}#completedPanel .actions,#reviewPanel .actions{justify-content:center}.review-image{border-color:rgba(255,154,61,.25)}#reviewTokenMessage{max-width:760px;margin:18px auto;text-align:center}.screen[data-screen=error]{max-width:760px;padding:28px;border:1px solid rgba(255,92,114,.24);border-radius:18px;background:rgba(255,92,114,.045)}
@media(max-width:760px){.shell{width:100%;padding:68px 8px 18px}.product-header{min-height:58px;padding:9px 13px}.product-header>span{font-size:13px;padding-left:10px}.product-home{padding:8px 10px;font-size:12px}.card{min-height:calc(100vh - 86px);padding:22px 14px;border-radius:18px}.progress{gap:5px;margin-bottom:28px}.progress div{padding:9px 6px;font-size:10px;text-align:center}.quote{align-items:stretch}.quote button{width:100%}.actions{flex-direction:column}.actions button,.actions a{width:100%}.fitness-grid{grid-template-columns:1fr}.selected-reference,.pre-generation-products,.upload-main-card{grid-template-columns:1fr!important}.source-view-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.completed-result,.review-image{max-height:64vh}h1{font-size:38px}h2{font-size:31px}}
@media(min-width:1500px){.card{padding-inline:72px}.fitness-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* REFERENCE_MORE_UX_V1 */
.reference-more-controls{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%;margin:24px 0}.reference-more-button{width:min(100%,360px);min-height:48px}.reference-more-progress{display:flex;align-items:center;justify-content:center;gap:12px;min-height:58px;color:var(--text,#35282c);text-align:left}.reference-more-progress[hidden]{display:none}.reference-more-progress span:last-child{display:flex;flex-direction:column;gap:2px}.reference-more-progress small{color:var(--muted,#71676a);font-size:13px}.reference-more-spinner{width:24px;height:24px;flex:0 0 auto;border:3px solid rgba(121,38,63,.18);border-top-color:#79263f;border-radius:50%;animation:referenceMoreSpin .8s linear infinite}.reference-more-status{min-height:24px;margin:0;text-align:center}@keyframes referenceMoreSpin{to{transform:rotate(360deg)}}@media(max-width:620px){.reference-more-controls{margin:20px 0}.reference-more-button{width:100%}.reference-more-progress{align-self:stretch;justify-content:flex-start;padding:4px 8px}}

.reference-gallery-loading{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:14px;row-gap:4px;padding:22px;margin:18px 0;color:var(--text);border:1px solid var(--line);border-radius:18px;background:rgba(9,9,13,.5)}.reference-gallery-loading[hidden]{display:none}.reference-gallery-loading>span{grid-column:2;color:var(--text-dim);font-size:14px}.reference-gallery-spinner{grid-row:1/3;width:30px;height:30px;border:3px solid rgba(255,119,172,.18);border-top-color:#ff77ac;border-radius:50%;animation:referenceMoreSpin .8s linear infinite}.reference-gallery-skeletons{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:18px}.reference-gallery-skeletons i{display:block;aspect-ratio:4/5;border-radius:14px;background:linear-gradient(100deg,rgba(255,255,255,.035) 25%,rgba(255,255,255,.09) 40%,rgba(255,255,255,.035) 60%);background-size:220% 100%;animation:referenceGalleryShimmer 1.3s linear infinite}@keyframes referenceGalleryShimmer{to{background-position-x:-220%}}@media(max-width:620px){.reference-gallery-loading{padding:16px}.reference-gallery-skeletons{grid-template-columns:repeat(2,1fr);gap:10px}}

/* Presentation only: never change or serialize the selected original asset. */
#discoveryGrid .reference-preview{display:block;position:relative;width:100%;height:auto;aspect-ratio:3/4;min-height:0;padding:8px!important;margin:0;border:1px solid var(--line,#2c2735)!important;border-radius:12px;background:#09090d!important;box-shadow:none!important;overflow:hidden;cursor:zoom-in;transform:none!important}
#discoveryGrid .reference-preview:hover{filter:none;border-color:#8b5cf6!important}
#discoveryGrid .reference-preview:focus-visible{outline:2px solid #ff77ac;outline-offset:3px}
#discoveryGrid .reference-preview img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;aspect-ratio:auto;object-fit:contain;object-position:center;border-radius:0;margin:0;padding:0;background:transparent!important}
.reference-preview-hint{display:block;margin-top:8px;color:var(--text-dim,#9a93a8);font-size:12px;line-height:1.4;text-align:center}
.reference-lightbox{width:min(1100px,calc(100vw - 24px));height:calc(100dvh - 24px);max-width:calc(100vw - 24px);max-height:1000px;padding:14px;border:1px solid var(--line,#2c2735);border-radius:16px;background:#09090d;color:var(--text,#f3eef8);overflow:hidden}
.reference-lightbox[open]{display:grid;grid-template-rows:auto minmax(0,1fr);gap:12px}
.reference-lightbox::backdrop{background:rgba(0,0,0,.84)}
.reference-lightbox-header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}
.reference-lightbox-header strong{font-size:16px}
.reference-lightbox-image{display:block;width:100%;height:100%;min-width:0;min-height:0;max-width:100%;max-height:100%;aspect-ratio:auto;object-fit:contain;object-position:center;border-radius:0}
.reference-lightbox-image[hidden]{display:none}
@media(max-width:620px){.reference-lightbox{padding:10px}.reference-lightbox-header button{padding:10px 14px}}

/* STEP 2 guidance only; readiness remains resolveClaimActions. */
.claim-cta-help{display:flex;flex-direction:column;align-items:stretch;gap:12px;flex:0 1 420px;min-width:0}
.claim-unresolved-summary{padding:12px 14px;border:1px solid rgba(255,190,93,.45);border-radius:12px;background:rgba(255,190,93,.07);color:var(--text,#f3eef8)}
.claim-unresolved-summary[hidden]{display:none}
.claim-unresolved-heading{margin:0;font-weight:700;line-height:1.45;overflow-wrap:anywhere}
.claim-unresolved-links{list-style:none;padding:0;margin:6px 0 0}
.claim-unresolved-summary .claim-jump{display:block;max-width:100%;min-height:40px;padding:5px 0!important;background:transparent!important;box-shadow:none!important;border:0;border-radius:4px;color:#ffc77b!important;text-align:left;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere;transform:none!important}
.claim-unresolved-summary .claim-jump:focus-visible{outline:2px solid #ff77ac;outline-offset:3px}
#questionnaire .field{scroll-margin-top:110px}
#questionnaire .field.claim-unresolved{border-left:3px solid #ffc77b;padding-left:14px;background:rgba(255,190,93,.035)}
.claim-unresolved-note{display:inline-block;margin:8px 0;padding:5px 9px;border-radius:8px;background:rgba(255,190,93,.14);color:#ffd197;font-size:13px;font-weight:650}
.claim-unresolved-note[hidden]{display:none}
#questionnaire .field.claim-attention{outline:2px solid #ff77ac;outline-offset:4px;background:rgba(255,61,129,.08)}
@media(max-width:760px){.claim-cta-help{flex-basis:auto;width:100%}}
