@import"https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&family=DM+Mono:wght@400;500&display=swap";:root{--tk-mint: #78c4a2;--tk-green: #2a826b;--tk-dark-green: #044849;--tk-black: #021b15;--tk-clay: #c96442;--tk-clay-deep: #8e3e25;--tk-paper: #fbfaf6;--tk-cream: #fbf4ef;--tk-ink: #021b15;--tk-ink-70: rgba(2, 27, 21, .72);--tk-ink-55: rgba(2, 27, 21, .55);--tk-ink-15: rgba(2, 27, 21, .15);--tk-ink-08: rgba(2, 27, 21, .08);--tk-font: "DM Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--tk-mono: "DM Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--tk-grad-btn-clay: linear-gradient(135deg, #fa8d71 0%, #c96442 100%);--tk-shadow-clay: 0 6px 20px -6px rgba(201, 100, 66, .5);font-family:var(--tk-font);color:var(--tk-ink);background:var(--tk-paper);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{margin:0;min-width:320px;width:100%;height:100%}body{margin:0}button,input{font:inherit}button{cursor:pointer}button:focus-visible,label:focus-visible{outline:3px solid rgba(201,100,66,.28);outline-offset:2px}.doorStudio{position:relative;height:100dvh;min-height:620px;background:#fbfaf6;color:var(--tk-ink);display:flex;flex-direction:column;overflow:hidden;scrollbar-color:rgba(2,27,21,.22) transparent;scrollbar-width:thin}.doorStudio *{scrollbar-color:rgba(2,27,21,.2) transparent;scrollbar-width:thin}.doorStudio *::-webkit-scrollbar{width:8px;height:8px}.doorStudio *::-webkit-scrollbar-track{background:transparent}.doorStudio *::-webkit-scrollbar-thumb{background:#021b152e;border:2px solid transparent;border-radius:999px;background-clip:content-box}.doorStudio *::-webkit-scrollbar-thumb:hover{background:#021b1547;background-clip:content-box}.doorStudio *::-webkit-scrollbar-corner{background:transparent}.studioContentViewport{position:relative;flex:1;min-height:0;overflow:hidden}.studioContentFrame{--studio-fit-scale: 1;height:100%;min-height:0;display:flex;flex-direction:column;transform-origin:top center;overflow:hidden}.studioContentFrame>.entryShell,.studioContentFrame>.readyShell{flex:1}.topbar{position:sticky;top:0;z-index:10;height:60px;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--tk-ink-08);background:#fbfaf6f5;flex-shrink:0}.brand,.stepItem{display:flex;align-items:center}.brand{gap:12px;min-width:180px}.brandMark{width:28px;height:28px;border-radius:7px;background:var(--tk-grad-btn-clay);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.brandName{font-weight:600;color:var(--tk-dark-green)}.tagPill,.eyebrow,.stepItem,.scoreBadge,.doorCard small{font-family:var(--tk-mono);text-transform:uppercase;letter-spacing:.1em}.tagPill{border:1px solid var(--tk-ink-08);border-radius:4px;background:#fff;color:var(--tk-clay);font-size:10px;padding:3px 8px}.steps{display:flex;align-items:center;gap:4px;color:var(--tk-ink-55);font-size:11px}.stepItem{gap:8px;color:var(--tk-ink-55);transition:color .48s cubic-bezier(.22,1,.36,1)}.stepItem-active,.stepItem-done{color:var(--tk-dark-green)}.stepConnector{flex:0 0 28px;height:1px;background:var(--tk-ink-15);transition:background-color .48s cubic-bezier(.22,1,.36,1)}.stepConnector-done{background:var(--tk-dark-green)}.stepDot{position:relative;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid var(--tk-ink-15);font-size:11px;color:var(--tk-ink-55);transition:background-color .38s cubic-bezier(.22,1,.36,1),border-color .38s cubic-bezier(.22,1,.36,1),color .38s cubic-bezier(.22,1,.36,1)}.stepDotIndex,.stepDotCheck{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;transition:opacity .28s cubic-bezier(.22,1,.36,1),transform .32s cubic-bezier(.22,1,.36,1)}.stepDotCheck{opacity:0;transform:scale(.7)}.stepDotCheck svg{width:10px;height:10px;stroke-width:3.6}.stepItem-active .stepDot{border-color:var(--tk-dark-green);color:var(--tk-dark-green)}.stepItem-active .stepDot:before{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:50%;border:1px solid var(--tk-dark-green);opacity:0;animation:stepDotPulse 2.2s ease-in-out infinite}.stepItem-done .stepDot{background:var(--tk-dark-green);border-color:var(--tk-dark-green);color:#fff}.stepItem-done .stepDotIndex{opacity:0;transform:scale(.7)}.stepItem-done .stepDotCheck{opacity:1;transform:scale(1)}.stepLabel{transition:color .48s cubic-bezier(.22,1,.36,1)}@keyframes stepDotPulse{0%,to{opacity:0;transform:scale(1)}50%{opacity:.5;transform:scale(1.18)}}.topbarActions{display:flex;justify-content:flex-end;align-items:center;gap:8px;min-width:180px}.restartButton,.shareButton,.primaryButton,.ghostButton{border-radius:8px;font-weight:700;cursor:pointer}.shareButton{border:1px solid var(--tk-clay);background:var(--tk-grad-btn-clay);color:#fff;font-size:13px;padding:9px 14px 9px 12px;display:inline-flex;align-items:center;gap:8px;transition:filter .32s cubic-bezier(.22,1,.36,1),box-shadow .32s cubic-bezier(.22,1,.36,1),transform .32s cubic-bezier(.22,1,.36,1)}.shareIcon{width:14px;height:14px}.shareButton:hover{filter:brightness(1.06);box-shadow:var(--tk-shadow-clay);transform:translateY(-1px)}.shareButton:active{transform:translateY(0);box-shadow:0 2px 6px #c9644247}.shareButton-copied,.shareButton-shared{background:var(--tk-dark-green);border-color:var(--tk-dark-green)}.shareWrap{position:relative;display:inline-flex}.shareMenu{position:absolute;top:calc(100% + 8px);right:0;z-index:20;min-width:200px;padding:6px;background:#fff;border:1px solid var(--tk-ink-08);border-radius:12px;box-shadow:0 12px 32px -10px #021b152e;display:flex;flex-direction:column;gap:2px}.shareMenuItem{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;border:0;background:transparent;color:var(--tk-dark-green);font:inherit;font-size:13px;font-weight:600;text-align:left;text-decoration:none;cursor:pointer;width:100%;transition:background-color .16s cubic-bezier(.22,1,.36,1)}.shareMenuItem:hover,.shareMenuItem:focus-visible{background:var(--tk-cream);outline:none}.shareMenuItem:focus-visible{box-shadow:0 0 0 2px var(--tk-clay)}.shareMenuIcon{width:16px;height:16px;flex-shrink:0;color:var(--tk-ink-70)}.shareMenuCopy{margin-top:4px;padding-top:11px;border-top:1px solid var(--tk-ink-08);border-radius:0 0 8px 8px}.restartButton{border:1px solid var(--tk-ink-15);background:#fff;color:var(--tk-dark-green);font-size:13px;padding:9px 14px 9px 12px;display:inline-flex;align-items:center;gap:8px;transition:border-color .32s cubic-bezier(.22,1,.36,1),background-color .32s cubic-bezier(.22,1,.36,1),color .32s cubic-bezier(.22,1,.36,1),box-shadow .32s cubic-bezier(.22,1,.36,1),transform .32s cubic-bezier(.22,1,.36,1)}.restartIcon{width:14px;height:14px;transition:transform .6s cubic-bezier(.22,1,.36,1)}.restartButton:hover:not(:disabled){border-color:var(--tk-clay);color:var(--tk-clay);box-shadow:0 6px 18px #c9644224;transform:translateY(-1px)}.restartButton:hover:not(:disabled) .restartIcon{transform:rotate(-180deg)}.restartButton:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 6px #c964422e}.restartButton:disabled{opacity:.42;cursor:default}.primaryButton{transition:transform .32s cubic-bezier(.22,1,.36,1),box-shadow .32s cubic-bezier(.22,1,.36,1),filter .32s cubic-bezier(.22,1,.36,1)}.primaryButton:hover{transform:translateY(-1px);filter:brightness(1.04);box-shadow:0 12px 28px #c9644247}.primaryButton:active{transform:translateY(0);filter:brightness(.98)}.ghostButton{transition:border-color .32s cubic-bezier(.22,1,.36,1),color .32s cubic-bezier(.22,1,.36,1),transform .32s cubic-bezier(.22,1,.36,1)}.ghostButton:hover{border-color:var(--tk-clay);color:var(--tk-clay);transform:translateY(-1px)}.entryShell{flex:1;display:grid;grid-template-columns:minmax(300px,.82fr) minmax(460px,1.18fr);min-height:0;background:linear-gradient(180deg,#fff 0%,#fff 48%,var(--tk-cream) 100%)}.entryIntro{padding:clamp(28px,5vh,56px) 36px clamp(28px,5vh,56px) clamp(32px,5vw,64px);display:flex;flex-direction:column;justify-content:center}.eyebrow{color:var(--tk-clay);font-size:11px;font-weight:600}.entryIntro h1{max-width:620px;margin:14px 0 18px;font-size:clamp(42px,4.3vw,58px);line-height:.98;font-weight:600;color:var(--tk-dark-green)}.entryIntro h1 span{color:var(--tk-clay)}.entryIntro p{max-width:560px;margin:0 0 28px;color:var(--tk-ink-70);font-size:18px;line-height:1.55}.tabList{display:inline-flex;align-self:flex-start;gap:4px;padding:4px;border:1px solid var(--tk-ink-08);border-radius:8px;background:var(--tk-cream)}.tabButton{border:0;border-radius:6px;background:transparent;color:var(--tk-ink-70);padding:10px 18px;font-weight:700;cursor:pointer;transition:background-color .38s cubic-bezier(.22,1,.36,1),color .38s cubic-bezier(.22,1,.36,1),box-shadow .38s cubic-bezier(.22,1,.36,1),transform .38s cubic-bezier(.22,1,.36,1)}.tabButton:hover:not(.tabButtonOn){color:var(--tk-dark-green);background:#ffffff8c}.tabButtonOn{background:#fff;color:var(--tk-dark-green);box-shadow:0 1px 3px #00000014}.entryPanel{min-height:0;padding:clamp(24px,5vh,48px) clamp(28px,5vw,56px) clamp(28px,5vh,56px) 24px;display:flex;flex-direction:column;justify-content:center;gap:16px}.uploadBox,.sampleCarousel,.sampleGrid,.analysisPanel{min-height:clamp(360px,calc(100dvh - 210px),500px)}.uploadBox{border:1.5px dashed var(--tk-ink-15);border-radius:8px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:36px;cursor:pointer;transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease}.uploadBoxDragging{background:#fff8f3;border-color:var(--tk-clay);box-shadow:inset 0 0 0 1px #c9644238}.uploadBox:focus-within{outline:3px solid rgba(201,100,66,.28);outline-offset:2px}.uploadIcon{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:var(--tk-cream);color:var(--tk-clay);font-size:36px;margin-bottom:18px}.lucideIcon{width:34px;height:34px;display:block}.uploadBox h2,.analysisCopy h2,.recommendHeader h2,.insightPanel h2,.visualizerCopy h2{color:var(--tk-dark-green);font-weight:600;letter-spacing:0}.uploadBox h2{margin:0 0 6px;font-size:22px}.uploadBox p{margin:0 0 24px;color:var(--tk-ink-55)}.primaryButton{border:0;background:var(--tk-grad-btn-clay);color:#fff;padding:12px 22px;box-shadow:var(--tk-shadow-clay)}.uploadInput{position:absolute;inline-size:1px;block-size:1px;opacity:0;pointer-events:none}.ghostButton{background:#fff;border:1px solid var(--tk-ink-15);color:var(--tk-dark-green);padding:10px 16px}.sampleGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.sampleCarousel{position:relative}.sampleChevron{display:none}.sampleCard{text-align:left;padding:0;border:1px solid var(--tk-ink-08);border-radius:8px;overflow:hidden;background:#fff;color:var(--tk-ink);display:flex;flex-direction:column;cursor:pointer;transition:border-color .38s cubic-bezier(.22,1,.36,1),box-shadow .6s cubic-bezier(.22,1,.36,1)}.sampleCard img{transition:transform 3s cubic-bezier(.25,.46,.45,.94);transform-origin:55% 45%}.sampleCard:hover,.doorCard:hover,.sampleCard:focus-visible,.doorCard:focus-visible{border-color:var(--tk-clay)}.sampleCard:hover,.sampleCard:focus-visible{box-shadow:0 6px 16px #081c2012}.sampleCard:hover img,.sampleCard:focus-visible img{transform:scale(1.04) translate(-1%,.5%)}.sampleCard img{width:100%;height:auto;aspect-ratio:16 / 9;object-fit:cover;display:block;flex:1;min-height:0}.sampleCard span,.sampleCard small{display:block;padding:0 14px}.sampleCard span{padding-top:12px;font-weight:600;color:var(--tk-dark-green)}.sampleCard small{padding-bottom:14px;color:var(--tk-ink-55)}.analysisPanel{background:#fff;border:1px solid var(--tk-ink-08);border-radius:8px;overflow:hidden;display:grid;grid-template-columns:1fr 1fr}.analysisStage{position:relative;overflow:hidden;background:#0c1718;min-height:0}.analysisStage img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.92) contrast(1.02)}.analysisScan{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(180deg,transparent 0%,rgba(201,100,66,0) 38%,rgba(201,100,66,.28) 50%,rgba(201,100,66,0) 62%,transparent 100%),repeating-linear-gradient(180deg,rgba(255,255,255,.025) 0,rgba(255,255,255,.025) 1px,transparent 1px,transparent 5px);background-size:100% 240%,100% 100%;background-repeat:no-repeat,repeat;animation:analysisScanY 4.2s ease-in-out infinite;mix-blend-mode:screen}@keyframes analysisScanY{0%{background-position:0 -110%,0 0}50%{background-position:0 110%,0 0}to{background-position:0 -110%,0 0}}.analysisCornerMarks{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.analysisCornerMarks span{position:absolute;width:22px;height:22px;border:1.5px solid rgba(201,100,66,.7);opacity:0;animation:analysisCornerPulse 4.2s ease-in-out infinite}.analysisCornerMarks span:nth-child(1){left:22%;top:32%;border-right:0;border-bottom:0;animation-delay:.6s}.analysisCornerMarks span:nth-child(2){right:22%;top:32%;border-left:0;border-bottom:0;animation-delay:.85s}.analysisCornerMarks span:nth-child(3){right:22%;bottom:14%;border-left:0;border-top:0;animation-delay:1.1s}.analysisCornerMarks span:nth-child(4){left:22%;bottom:14%;border-right:0;border-top:0;animation-delay:1.35s}@keyframes analysisCornerPulse{0%,55%{opacity:0;transform:scale(.78)}70%,88%{opacity:.85;transform:scale(1)}to{opacity:0;transform:scale(1.06)}}.analysisCopy{padding:clamp(18px,3.2vh,34px);display:flex;flex-direction:column;justify-content:flex-start;min-height:0;overflow:hidden}.analysisCopy h2{font-size:clamp(20px,3vh,28px);line-height:1.12;margin:clamp(6px,1.2vh,12px) 0 clamp(4px,.8vh,8px)}.analysisCopy p,.visualizerCopy p,.insightPanel p{color:var(--tk-ink-70);line-height:1.55}.analysisCopy p{font-size:clamp(13px,1.7vh,16px);line-height:1.5}.readingPulse{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--tk-clay);margin-right:8px;vertical-align:middle;box-shadow:0 0 #c964428c;animation:aiDotPulse 1.5s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.analysisScan,.analysisCornerMarks span,.readingPulse,.readyShell,.readyShell>.insightPanel,.readyShell>.recommendPanel,.readyShell>.visualizerPanel,.mobileReadingOverlay,.mobileReadingContent,.doorCard,.reasonReveal,.aiTimelineDot,.aiTimelineContent,.aiTimelineSection:not(:last-child):after,.overlayLeaf,.overlayLeaf:after{animation:none}.aiTimelineSection-pending .aiTimelineContent,.aiTimelineDot{opacity:1}.aiTimelineSection:not(:last-child):after{-webkit-clip-path:inset(0 0 0 0);clip-path:inset(0 0 0 0)}.overlayLeaf{opacity:1}.overlayLeafFading{opacity:0}.overlayLeaf:after{display:none}.restartIcon,.sampleCard,.sampleCard img,.doorCard,.tabButton,.primaryButton,.ghostButton,.restartButton,.aiTimelineDot,.stepConnector,.stepDot,.stepLabel,.stepItem,.stepDotIndex,.stepDotCheck{transition:none}.stepItem-active .stepDot:before{animation:none}}.errorBox,.emptyState{border:1px solid rgba(201,100,66,.25);background:#ffe6d66b;color:var(--tk-clay-deep);border-radius:8px;padding:14px 16px}.readyShell{position:relative;flex:1;min-height:0;display:grid;grid-template-columns:minmax(250px,300px) minmax(320px,420px) minmax(420px,1fr);background:#fff;animation:shellFadeIn .36s cubic-bezier(.22,1,.36,1) both}@keyframes shellFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.reasonReveal{will-change:opacity,transform;backface-visibility:hidden;-webkit-font-smoothing:antialiased;animation:reasonReveal .52s cubic-bezier(.22,1,.36,1) both}@keyframes reasonReveal{0%{opacity:0;transform:translate3d(0,4px,0)}to{opacity:1;transform:translateZ(0)}}.mobileReadingOverlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30;display:flex;flex-direction:column;background:#fbfaf6;animation:mobileReadingIn .32s ease both}.mobileReadingHero{position:relative;flex:0 0 38%;min-height:180px;max-height:320px;overflow:hidden;background:#0c1718;border-bottom:1px solid var(--tk-ink-08)}.mobileReadingHero .analysisStage{width:100%;height:100%}.mobileReadingHeroFade{position:absolute;inset:auto 0 0 0;height:60px;pointer-events:none;background:linear-gradient(180deg,#fbfaf600,#fbfaf6e6)}.mobileReadingPanel{flex:1;min-height:0;padding:20px clamp(20px,5vw,32px) clamp(20px,5vw,28px);display:flex;flex-direction:column;gap:14px;overflow-y:auto;scrollbar-gutter:stable;background:#fbfaf6}.mobileReadingHeader{display:flex;align-items:center;gap:0;font-family:var(--tk-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--tk-ink-70)}.mobileReadingHeaderLabel{display:inline-block}.mobileReadingResult{animation:mobileReadingFade .38s ease both;display:flex;flex-direction:column;gap:14px;min-height:0;flex:1}.mobileReadingResult .aiTimelineContent h2{font-size:22px;line-height:1.18}.mobileReadingResult .aiTimelineContent p{color:var(--tk-dark-green);font-size:15px;line-height:1.42;font-weight:500}.mobileReadingResult .aiTimelineCompact .aiTimelineSection{padding-bottom:14px}.mobileReadingResult:has(.aiTimelineCheck){padding-bottom:clamp(56px,14vh,120px)}.mobileReadingResult .aiTimelineCheck{flex:1;min-height:0}.mobileReadingResult .aiTimelineCheck .aiTimelineSection{flex:1 1 0;min-height:56px;padding-bottom:0}.mobileReadingResult .aiTimelineCheck .aiTimelineSection:last-child{flex:0 0 auto}.mobileReadingProceed{align-self:stretch;margin-top:auto;min-height:48px;font-size:15px}.mobileReadingOverlayExit{animation:mobileReadingOut 1.1s cubic-bezier(.4,0,.2,1) forwards;pointer-events:none}@keyframes mobileReadingIn{0%{opacity:0}to{opacity:1}}@keyframes mobileReadingOut{0%{opacity:1}to{opacity:0}}@keyframes mobileReadingFade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.aiTimeline{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column}.aiTimelineSection{display:grid;grid-template-columns:16px minmax(0,1fr);column-gap:14px;padding-bottom:26px;position:relative}.aiTimelineCompact .aiTimelineSection{padding-bottom:20px}.aiTimelineSection:last-child{padding-bottom:0}.aiTimelineMarker{position:relative;display:block;width:16px;height:16px;margin-top:5px}.aiTimelineDot{position:absolute;top:50%;left:50%;width:9px;height:9px;margin:-4.5px 0 0 -4.5px;border-radius:50%;background:var(--tk-clay);z-index:2;opacity:0;transform:scale(1);transition:transform .45s cubic-bezier(.22,1,.36,1),opacity .45s cubic-bezier(.22,1,.36,1)}.aiTimelineSection:not(:last-child):after{content:"";position:absolute;left:8px;top:22px;bottom:-4px;width:1px;background:var(--tk-ink-70);transform:translate(-50%);z-index:0;-webkit-clip-path:inset(0 0 100% 0);clip-path:inset(0 0 100% 0)}.aiTimelineSection-active .aiTimelineDot{opacity:1;transform:scale(1.25);transition:transform .45s cubic-bezier(.22,1,.36,1) .45s,opacity .45s cubic-bezier(.22,1,.36,1) .45s;animation:aiDotPulse 1.5s ease-in-out .45s infinite}@keyframes aiDotPulse{0%,to{box-shadow:0 0 #c964428c}50%{box-shadow:0 0 0 8px #c9644200}}.aiTimelineSection-done:has(+.aiTimelineSection-active):not(:last-child):after{animation:aiLineTravel 1.7s cubic-bezier(.55,0,.45,1) both}.aiTimelineCheckMark{position:absolute;top:50%;left:50%;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:var(--tk-dark-green);color:#fff;display:grid;place-items:center;z-index:3;opacity:0;transform:scale(.5)}.aiTimelineCheckMark svg{width:8px;height:8px;stroke-width:4;opacity:0;transform:scale(.6)}.aiTimelineCheck .aiTimelineSection-done .aiTimelineDot{opacity:0;transform:scale(.9);animation:none;transition:opacity .48s cubic-bezier(.22,1,.36,1) .85s,transform .48s cubic-bezier(.22,1,.36,1) .85s}.aiTimelineCheck .aiTimelineSection-done .aiTimelineCheckMark{opacity:1;transform:scale(1);transition:opacity .52s cubic-bezier(.22,1,.36,1) .95s,transform .6s cubic-bezier(.34,1.18,.64,1) .95s}.aiTimelineCheck .aiTimelineSection-done .aiTimelineCheckMark svg{opacity:1;transform:scale(1);transition:opacity .36s ease 1.2s,transform .42s cubic-bezier(.22,1,.36,1) 1.2s}.aiTimelineCheck .aiTimelineSection-sweep.aiTimelineSection-done{--ai-sweep-delay: calc(var(--ai-sweep-index, 0) * .32s)}.aiTimelineCheck .aiTimelineSection-sweep.aiTimelineSection-done:not(:last-child):after{animation:aiLineTravel 1.7s cubic-bezier(.55,0,.45,1) var(--ai-sweep-delay, 0ms) both}.aiTimelineCheck .aiTimelineSection-sweep.aiTimelineSection-done .aiTimelineDot{transition:opacity .48s cubic-bezier(.22,1,.36,1) calc(.85s + var(--ai-sweep-delay, 0ms)),transform .48s cubic-bezier(.22,1,.36,1) calc(.85s + var(--ai-sweep-delay, 0ms))}.aiTimelineCheck .aiTimelineSection-sweep.aiTimelineSection-done .aiTimelineCheckMark{transition:opacity .52s cubic-bezier(.22,1,.36,1) calc(.95s + var(--ai-sweep-delay, 0ms)),transform .6s cubic-bezier(.34,1.18,.64,1) calc(.95s + var(--ai-sweep-delay, 0ms))}.aiTimelineCheck .aiTimelineSection-sweep.aiTimelineSection-done .aiTimelineCheckMark svg{transition:opacity .36s ease calc(1.2s + var(--ai-sweep-delay, 0ms)),transform .42s cubic-bezier(.22,1,.36,1) calc(1.2s + var(--ai-sweep-delay, 0ms))}.aiTimelineCheck .aiTimelineSection-sweep.aiTimelineSection-done .aiTimelineContent{transition:opacity .9s cubic-bezier(.22,1,.36,1) var(--ai-sweep-delay, 0ms),transform .9s cubic-bezier(.22,1,.36,1) var(--ai-sweep-delay, 0ms),color .6s cubic-bezier(.22,1,.36,1) var(--ai-sweep-delay, 0ms)}.aiTimelineCheck .aiTimelineSection-done .aiTimelineContent{color:var(--tk-ink-55);transition:color .48s cubic-bezier(.22,1,.36,1)}.aiTimelineCheck .aiTimelineSection-pending .aiTimelineContent{opacity:.4}.aiTimelineCheck .aiTimelineSection-pending .aiTimelineDot{opacity:1;background:transparent;border:1px solid var(--tk-ink-15)}@keyframes aiLineTravel{0%{-webkit-clip-path:inset(0 0 100% 0);clip-path:inset(0 0 100% 0)}50%{-webkit-clip-path:inset(0 0 0 0);clip-path:inset(0 0 0 0)}to{-webkit-clip-path:inset(100% 0 0 0);clip-path:inset(100% 0 0 0)}}.aiTimelineContent{min-width:0;padding-top:1px;opacity:0;transform:translate3d(0,4px,0);will-change:opacity,transform;backface-visibility:hidden;-webkit-font-smoothing:antialiased;transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1),color .6s cubic-bezier(.22,1,.36,1)}.aiTimelineContent>*{margin:0}.aiTimelineSection-active .aiTimelineContent,.aiTimelineSection-done .aiTimelineContent{opacity:1;transform:translateZ(0)}.insightPanel .aiTimelineContent h2{font-size:26px;line-height:1.16}.insightPanel .aiTimelineContent p{font-size:16px;line-height:1.5;color:var(--tk-ink-70)}.aiTimelineCompact .aiTimelineContent h2{font-size:26px;line-height:1.14;color:var(--tk-dark-green)}.aiTimelineCompact .aiTimelineContent p{font-size:16px;line-height:1.5;color:var(--tk-ink-70)}.analysisCopy .aiTimeline{margin-top:clamp(12px,2.2vh,22px)}.analysisCopy .aiTimelineSection{padding-bottom:clamp(8px,1.4vh,12px)}.analysisCopy .aiTimelineContent p{font-size:clamp(12.5px,1.55vh,14px);color:var(--tk-dark-green);font-weight:500}.analysisCopy .aiTimelineCheck .aiTimelineSection-done .aiTimelineContent p{color:var(--tk-ink-55);font-weight:400}.insightPanel,.recommendPanel,.visualizerPanel{min-height:0;overflow:auto}.insightPanel{background:var(--tk-cream);border-right:1px solid var(--tk-ink-08);padding:20px;display:flex;flex-direction:column;gap:16px}.readingStageWrap{position:relative;border-radius:8px;overflow:hidden;border:1px solid var(--tk-ink-08);aspect-ratio:16 / 10}.readingStageWrap .analysisStage{width:100%;height:100%}.readingStage-inset .analysisScan{animation-duration:5.6s;opacity:.78}.readingStageLabel{position:absolute;top:10px;left:10px;background:#fffffff0;color:var(--tk-dark-green);border-radius:4px;padding:4px 8px;font-family:var(--tk-mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;z-index:2}.insightPanel h2{font-size:26px;line-height:1.1;margin:0}.insightPanel p{margin:0;font-size:14px}.recommendPanel{display:flex;flex-direction:column;border-right:1px solid var(--tk-ink-08);overflow:hidden}.recommendCarousel{position:relative;flex:1;min-height:0;display:flex;flex-direction:column}.mobileWhyFits,.carouselChevron{display:none}.recommendHeader{padding:18px 20px 14px;border-bottom:1px solid var(--tk-ink-08)}.recommendHeader h2{margin:4px 0 0;font-size:23px;line-height:1.12}.recommendGrid{flex:1;min-height:0;padding:16px;display:grid;grid-template-columns:1fr;gap:12px;overflow-x:hidden;overflow-y:auto;scrollbar-gutter:stable}.sampleGrid{scrollbar-width:none}.sampleGrid::-webkit-scrollbar{width:0;height:0}.recommendGrid{scrollbar-color:rgba(2,27,21,.12) transparent;scrollbar-width:thin}.recommendGrid::-webkit-scrollbar{width:6px;height:6px}.recommendGrid::-webkit-scrollbar-thumb{background:#021b151a;border:2px solid transparent;border-radius:999px;background-clip:content-box}.recommendGrid::-webkit-scrollbar-thumb:hover{background:#021b152e;background-clip:content-box}.doorCard{padding:0;text-align:left;background:#fff;border:1px solid var(--tk-ink-08);border-radius:8px;overflow:hidden;color:inherit;display:grid;grid-template-columns:96px minmax(0,1fr);height:132px;cursor:pointer;transition:border-color .38s cubic-bezier(.22,1,.36,1),box-shadow .38s cubic-bezier(.22,1,.36,1),transform .38s cubic-bezier(.22,1,.36,1)}.doorCard:hover{transform:translateY(-1px);box-shadow:0 14px 28px #081c2014}.doorCardSelected,.doorCardSelected:hover{border-color:var(--tk-clay);box-shadow:0 0 0 3px #c964421f;transform:translateY(0)}.doorMedia{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background:linear-gradient(180deg,var(--tk-cream) 0%,#f5e9dc 100%)}.doorMedia .productImage{max-width:92%;max-height:92%}.scoreBadge{position:absolute;top:9px;right:9px;background:#fff;border:1px solid var(--tk-ink-08);border-radius:8px;color:var(--tk-clay);font-size:13px;font-weight:700;padding:4px 7px}.doorCardBody{padding:12px 14px;min-width:0}.doorTitleRow{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;color:var(--tk-dark-green)}.doorTitleRow strong{min-width:0;line-height:1.2}.doorTitleRow span{color:var(--tk-ink-70);font-family:var(--tk-mono);font-size:12px;white-space:nowrap}.doorCard small{display:block;margin:3px 0 8px;color:var(--tk-ink-55);font-size:9px}.doorCard p{margin:0;padding-top:8px;border-top:1px solid var(--tk-ink-08);color:var(--tk-ink-70);font-size:13px;line-height:1.4}.visualizerPanel{background:var(--tk-cream);padding:16px}.visualizer{height:100%;display:grid;grid-template-rows:minmax(0,auto) minmax(0,1fr);gap:14px}.visualizerLoading{height:100%}.visualizerCopy{background:#fff;border:1px solid var(--tk-ink-08);border-radius:8px;padding:clamp(10px,1.4vh,14px) clamp(14px,1.6vw,18px);overflow:hidden}.visualizerCopy h2{margin:4px 0 6px;font-size:clamp(17px,2.6vh,24px);line-height:1.16;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;min-height:2.32em;height:2.32em;overflow:hidden}.visualizerCopy p{margin:0;font-size:clamp(14px,1.85vh,16px);line-height:1.5;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;min-height:3em;height:3em;overflow:hidden}.renderActionButton{position:absolute;left:50%;bottom:20px;transform:translate(-50%);display:inline-flex;align-items:center;gap:9px;padding:11px 18px 11px 16px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:#0a0e14d1;color:#fff;font-weight:600;font-size:13px;letter-spacing:.015em;cursor:pointer;white-space:nowrap;overflow:hidden;box-shadow:0 14px 30px #040c126b,0 4px 10px #040c124d,0 1px #ffffff24 inset,0 0 0 1px #ffffff0a;backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);transition:transform .22s cubic-bezier(.22,1,.36,1),box-shadow .22s cubic-bezier(.22,1,.36,1),background .22s ease,border-color .22s ease;z-index:3;animation:renderActionSlideUp .58s cubic-bezier(.22,1,.36,1) both}.renderActionButton[data-intro=true]{animation:renderActionSlideUp .58s cubic-bezier(.22,1,.36,1) both,renderActionEmberBreath 2.4s ease-in-out .7s 1 both}.renderActionButton[data-intro=true]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(115deg,transparent 28%,rgba(255,200,150,.18) 46%,rgba(240,168,116,.4) 50%,rgba(255,200,150,.18) 54%,transparent 72%);transform:translate(-130%);animation:renderActionShimmer 1.2s cubic-bezier(.22,1,.36,1) .56s 1 forwards;pointer-events:none}.renderActionButton:hover{background:#121a22d1;border-color:#ffffff3d;transform:translate(-50%,-2px);box-shadow:0 20px 40px #040c1280,0 1px #ffffff2e inset,0 0 0 1px #ffffff0f}.renderActionButton:focus-visible{outline:2px solid rgba(255,255,255,.6);outline-offset:3px}.renderActionButton:active{transform:translate(-50%);background:#080e14db;box-shadow:0 10px 22px #040c126b,0 1px #ffffff1a inset}.renderActionButton .photorealIcon{width:14px;height:14px;color:#f0a874;filter:drop-shadow(0 0 6px rgba(240,168,116,.4));flex-shrink:0}.renderActionButton:hover .photorealIcon{color:#ffbf91;filter:drop-shadow(0 0 8px rgba(255,191,145,.55))}.renderRetryButton{position:absolute;top:14px;right:14px;display:inline-flex;align-items:center;gap:6px;padding:7px 12px 7px 10px;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:#0a0e1494;color:#ffffffc7;font-weight:500;font-size:11.5px;letter-spacing:.02em;cursor:pointer;white-space:nowrap;backdrop-filter:blur(10px) saturate(140%);-webkit-backdrop-filter:blur(10px) saturate(140%);box-shadow:0 6px 16px #040c1252,0 1px #ffffff14 inset;opacity:.78;transition:background .2s ease,color .2s ease,border-color .2s ease,opacity .2s ease;z-index:3;animation:renderRetryFadeIn .36s cubic-bezier(.22,1,.36,1) both}.renderRetryButton:hover{background:#0e141cc7;color:#fff;border-color:#ffffff2e;opacity:1}.renderRetryButton:focus-visible{outline:2px solid rgba(255,255,255,.45);outline-offset:2px;opacity:1}.renderRetryButton .retryIcon{width:12px;height:12px;color:#f0a874;opacity:.85;flex-shrink:0}.renderRetryButton:hover .retryIcon{color:#ffbf91;opacity:1}@keyframes renderRetryFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:.78;transform:translateY(0)}}@keyframes renderActionSlideUp{0%{transform:translate(-50%,28px);opacity:0}70%{transform:translate(-50%,-4px);opacity:1}to{transform:translate(-50%);opacity:1}}@keyframes renderActionShimmer{0%{transform:translate(-130%)}to{transform:translate(130%)}}@keyframes renderActionEmberBreath{0%,to{box-shadow:0 14px 30px #040c126b,0 4px 10px #040c124d,0 1px #ffffff24 inset,0 0 0 1px #ffffff0a,0 0 #f0a87400}50%{box-shadow:0 16px 34px #040c1275,0 4px 10px #040c124d,0 1px #ffc8962e inset,0 0 0 1px #f0a8742e,0 0 24px #f0a87447}}@keyframes sparkleSpin{to{transform:rotate(360deg)}}.realisticRenderLayer{position:absolute;z-index:2;pointer-events:none;opacity:1}.realisticRenderLayer[data-animate=true]{opacity:0;animation:realisticReveal 1.4s cubic-bezier(.4,0,.2,1) forwards}@keyframes realisticReveal{0%,44%{opacity:0;filter:blur(3px)}56%{opacity:1;filter:blur(2px)}to{opacity:1;filter:blur(0)}}.renderRevealSweep{position:absolute;top:-8%;bottom:-8%;left:0;width:90%;z-index:3;pointer-events:none;transform:translate(-100%);background:linear-gradient(90deg,#f8f0e200,#fcf4e680 28%,#fffaf0f5,#fcf4e680 72%,#f8f0e200);filter:blur(10px);animation:renderRevealSweep 1.4s cubic-bezier(.4,0,.2,1) forwards}@keyframes renderRevealSweep{0%{transform:translate(-100%)}to{transform:translate(100%)}}.renderProgressVeil{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;display:flex;align-items:center;justify-content:center;padding:20px;background:linear-gradient(180deg,#080c0e6b,#080c0e9e);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);animation:renderVeilIn .32s ease-out both;pointer-events:auto}@keyframes renderVeilIn{0%{opacity:0}to{opacity:1}}.renderProgressCard{display:flex;flex-direction:column;gap:12px;width:min(340px,calc(100% - 16px));background:#081210d1;border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:16px 18px;color:#fff;box-shadow:0 18px 40px #0006}.renderProgressHeader{display:flex;align-items:center;gap:18px}.renderProgressEyebrow{font-family:var(--tk-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:#fff}.renderSquiggle{width:56px;height:14px;overflow:visible;flex:none}.renderProgressList{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.renderProgressItem{display:grid;grid-template-columns:16px minmax(0,1fr);gap:10px;align-items:center;font-size:13px;line-height:1.3;color:#ffffff8c;transition:color .24s ease;font-weight:500}.renderProgressLabel{min-width:0}.renderProgressItem-active{color:#fff}.renderProgressItem-done{color:#ffffffd1}.renderProgressDot{position:relative;width:12px;height:12px;border-radius:50%;border:1.5px solid rgba(255,255,255,.35);display:inline-block;transition:background .24s ease,border-color .24s ease}.renderProgressItem-active .renderProgressDot{background:var(--tk-clay);border-color:var(--tk-clay);box-shadow:0 0 0 4px #c9644238;animation:renderDotPulse 1.4s ease-in-out infinite}.renderProgressItem-done .renderProgressDot{background:#ffffffeb;border-color:#ffffffeb}.renderProgressCheck{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:#0a1c1a;opacity:0;transform:scale(.6);transition:opacity .2s ease,transform .2s ease}.renderProgressCheck svg{width:9px;height:9px}.renderProgressItem-done .renderProgressCheck{opacity:1;transform:scale(1)}@keyframes renderDotPulse{0%,to{box-shadow:0 0 0 4px #c964422e}50%{box-shadow:0 0 0 7px #c964420f}}.renderErrorToast{position:absolute;left:50%;bottom:16px;transform:translate(-50%);background:#781818eb;color:#fff;border:1px solid rgba(255,255,255,.18);border-radius:8px;padding:10px 14px;font-size:13px;line-height:1.35;max-width:min(420px,calc(100% - 16px));z-index:3;box-shadow:0 12px 28px #00000059}@media(prefers-reduced-motion:reduce){.renderActionButton,.renderActionButton[data-intro=true],.renderActionButton[data-intro=true]:after,.renderActionButton .photorealIcon,.renderProgressItem-active .renderProgressDot,.realisticRenderLayer,.renderRevealSweep,.renderSquigglePath{animation:none}.realisticRenderLayer{opacity:1}.renderRevealSweep{display:none}}.imageStage{min-height:0}.imageCanvas{position:relative;height:100%;min-height:340px;border:1px solid var(--tk-ink-08);border-radius:8px;overflow:hidden;background:linear-gradient(90deg,#ffffff38,#00000008),#e9e4dc;box-shadow:0 10px 40px #00000014}.imageCanvas>img{position:absolute;left:0;top:0;width:100%;height:100%;object-fit:cover;display:block}.imageCanvas[data-animate=true]>img{transition:left .36s cubic-bezier(.4,0,.2,1),top .36s cubic-bezier(.4,0,.2,1),width .36s cubic-bezier(.4,0,.2,1),height .36s cubic-bezier(.4,0,.2,1)}.imageCanvas[data-animate=true] .homographyOverlay{transition:transform .36s cubic-bezier(.4,0,.2,1)}.imageCanvas[data-animate=true] .cornerMarker{transition:left .36s cubic-bezier(.4,0,.2,1),top .36s cubic-bezier(.4,0,.2,1)}@media(prefers-reduced-motion:reduce){.imageCanvas[data-animate=true]>img,.imageCanvas[data-animate=true] .homographyOverlay,.imageCanvas[data-animate=true] .cornerMarker{transition:none}}.zoomControls{position:absolute;right:12px;bottom:12px;display:flex;flex-direction:column;gap:6px;z-index:4}.zoomBtn{width:34px;height:34px;display:grid;place-items:center;padding:0;border:1px solid rgba(2,27,21,.12);border-radius:8px;background:#ffffffc7;color:var(--tk-dark-green);cursor:pointer;box-shadow:0 2px 8px #0000001f;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:background .15s ease,transform .1s ease}.zoomBtn:hover:not(:disabled){background:#fffffff2}.zoomBtn:active:not(:disabled){transform:scale(.96)}.zoomBtn:disabled{opacity:.4;cursor:default}.zoomBtn>svg{width:16px;height:16px}.doorOverlay{position:absolute;display:flex;align-items:stretch;justify-content:center;filter:drop-shadow(0 8px 14px rgba(0,0,0,.36))}.doorSvg{height:140px;max-width:92px;display:block}.doorSvgOverlay{width:100%;height:100%;max-width:none}.productImage{max-width:80%;max-height:90%;object-fit:contain;display:block}.mediaUnavailable{color:var(--tk-ink-55);border:1px dashed var(--tk-ink-15);border-radius:8px;padding:18px;font-size:13px}.homographyOverlay{position:absolute;left:0;top:0;transform-origin:0 0;pointer-events:none;will-change:transform}.homographyOverlayShadow{filter:drop-shadow(0 10px 18px rgba(0,0,0,.45))}.overlayLeaf{position:relative;width:100%;height:100%;overflow:hidden}.homographyOverlayOutgoing{pointer-events:none}.overlayLeafFading{animation:doorFadeOut .36s ease-out forwards}.homographyOverlayShadow .overlayLeaf:after{content:"";position:absolute;top:-16%;right:-16%;bottom:-16%;left:-16%;pointer-events:none;background:linear-gradient(115deg,transparent 38%,rgba(255,255,255,.08) 47%,rgba(255,255,255,.2) 50%,rgba(255,255,255,.08) 53%,transparent 62%);opacity:0;transform:translate(-115%);animation:doorSoftShimmer .9s ease-out .14s both}.overlayLeafMirrored{transform:scaleX(-1)}@keyframes doorFadeOut{0%{opacity:1}to{opacity:0}}@keyframes doorSoftShimmer{0%,to{opacity:0}18%,64%{opacity:1}to{transform:translate(115%)}}.homographyOverlay .productImage{width:100%;height:100%;max-width:none;max-height:none;object-fit:fill;display:block}.homographyOverlay .doorSvg{width:100%;height:100%;max-width:none}.homographyOverlay .mediaUnavailable{display:none}.quadWarning{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#080c0e8c;color:#fff;padding:24px;text-align:center;pointer-events:none}.quadWarning .eyebrow{color:#ffffffb3;margin-bottom:8px}.quadWarning p{max-width:320px;line-height:1.5;font-size:14px;margin:0}.cornerMarker{position:absolute;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:#ff2d55;border:2px solid #fff;box-shadow:0 0 0 1px #0009,0 2px 6px #0006;pointer-events:none;z-index:5}.cornerMarker>span{position:absolute;top:-22px;left:50%;transform:translate(-50%);font:600 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace;color:#fff;background:#000000bf;padding:2px 5px;border-radius:3px;letter-spacing:.04em}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:1500px){.readyShell{grid-template-columns:320px minmax(440px,460px) minmax(520px,1fr)}}@media(max-width:1024px){.readyShell{display:flex;flex-direction:column;grid-template-columns:1fr;overflow:auto;scrollbar-gutter:stable;padding-bottom:max(20px,env(safe-area-inset-bottom))}.insightPanel,.recommendPanel,.visualizerPanel{flex:none;overflow:visible}.visualizerPanel{order:1;min-height:0;padding:12px}.insightPanel{order:2;display:flex;flex-direction:column;gap:0;padding:16px;border-right:0;border-bottom:1px solid var(--tk-ink-08)}.recommendPanel{order:3;border-right:0;border-bottom:1px solid var(--tk-ink-08)}.readingStageWrap,.aiReadBlock,.visualizerCopy{display:none}.visualizer{display:block}.imageCanvas{min-height:0;height:clamp(220px,31svh,260px)}.mobileWhyFits{display:block;background:#fff;border:1px solid var(--tk-ink-08);border-radius:8px;padding:14px 16px}.mobileWhyFits .eyebrow{display:block;margin-bottom:4px}.mobileWhyFits h3{font-weight:600;font-size:17px;line-height:1.18;color:var(--tk-dark-green);margin:0 0 6px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;height:2.36em;overflow:hidden}.mobileWhyFits p{margin:0;font-size:15px;line-height:1.5;color:var(--tk-ink-70);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;height:3em;overflow:hidden}.recommendHeader{padding:14px 16px 10px}.recommendHeader h2{font-size:18px}.recommendGrid{display:flex;grid-template-columns:none;flex-direction:row;gap:10px;padding:12px 16px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.doorCard{flex:0 0 128px;width:128px;height:auto;min-height:0;display:block;grid-template-columns:none;scroll-snap-align:start}.doorCard .doorCardBody{display:none}.doorMedia{min-height:0;aspect-ratio:4 / 5}.scoreBadge{top:6px;right:6px;font-size:11px;padding:3px 6px}.carouselChevron{display:flex;position:absolute;top:0;bottom:0;width:72px;min-width:72px;border:0;padding:0;align-items:center;justify-content:center;background:transparent;color:var(--tk-clay);cursor:pointer;z-index:2;transition:color .15s ease}.carouselChevron:hover{color:var(--tk-dark-green)}.carouselChevron:focus-visible{outline:2px solid rgba(201,100,66,.45);outline-offset:-4px}.carouselChevronLeft{left:0;justify-content:flex-start;padding-left:8px;background:linear-gradient(90deg,#fffffff5,#ffffffd9 35%,#fff0)}.carouselChevronRight{right:0;justify-content:flex-end;padding-right:8px;background:linear-gradient(270deg,#fffffff5,#ffffffd9 35%,#fff0)}.carouselChevronLeft:hover{background:linear-gradient(90deg,#fff,#ffffffeb 45%,#fff0)}.carouselChevronRight:hover{background:linear-gradient(270deg,#fff,#ffffffeb 45%,#fff0)}.carouselChevron svg{width:20px;height:20px}}@media(max-width:920px){.doorStudio{overflow:hidden}.entryShell{grid-template-columns:1fr;overflow:auto;scrollbar-gutter:stable;padding-bottom:max(20px,env(safe-area-inset-bottom))}.entryShell{display:block}.entryIntro,.entryPanel{padding:32px 24px}.entryPanel{padding-top:0}}@media(min-width:721px)and (max-width:920px){.doorStudio{min-height:0}.readyShell{height:100%;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto auto;overflow:hidden;scrollbar-gutter:auto;padding-bottom:0}.topbar{padding:0 16px;gap:12px}.brand{min-width:0;gap:10px}.brandName{white-space:nowrap}.steps{flex:0 1 auto;min-width:0}.stepConnector{flex-basis:20px}.topbarActions{min-width:auto}.visualizerPanel{min-height:0;overflow:hidden;padding:8px 12px;display:flex;flex-direction:column}.visualizer{flex:1;min-height:0}.imageStage,.imageCanvas{height:100%;min-height:0}.insightPanel{min-height:0;overflow:hidden;padding:8px 12px;border-bottom:0}.entryShell{display:flex;flex-direction:column;height:100%;overflow:hidden;scrollbar-gutter:auto;padding-bottom:0}.entryIntro{flex:0 0 auto;padding:20px 24px 8px}.entryIntro h1{font-size:clamp(28px,4.5vw,38px);line-height:1.04;margin:6px 0 8px}.entryIntro p{font-size:15px;line-height:1.4;margin-bottom:10px}.entryPanel{flex:1 1 auto;min-height:0;padding:8px 24px 16px;justify-content:flex-start;overflow:hidden}.uploadBox,.sampleCarousel,.sampleGrid,.analysisPanel{min-height:0;flex:1 1 auto}.sampleCarousel{display:flex;flex-direction:column}.sampleCarousel .sampleGrid{grid-template-rows:repeat(2,minmax(0,1fr));gap:12px;overflow:hidden}.sampleCarousel .sampleCard{min-height:0}.sampleCarousel .sampleCard img{aspect-ratio:auto;flex:1 1 auto;min-height:0}.mobileWhyFits{padding:10px 12px}.mobileWhyFits h3{font-size:15px;line-height:1.18;margin-bottom:4px;-webkit-line-clamp:2;height:2.36em}.mobileWhyFits p{font-size:13px;line-height:1.35;-webkit-line-clamp:2;height:2.7em}.recommendHeader{padding:8px 16px 6px}.recommendHeader h2{font-size:16px}.recommendPanel,.recommendCarousel{min-height:0;overflow:hidden;border-bottom:0}.recommendGrid{flex:0 0 auto;min-height:0;padding:6px 16px 10px;align-items:flex-start;scrollbar-width:none}.recommendGrid::-webkit-scrollbar{display:none}.doorCard{flex-basis:112px;width:112px;align-self:flex-start}}@media(min-width:1025px)and (max-height:850px){.readyShell,.visualizerPanel{overflow:hidden}.imageCanvas{min-height:0}}@media(min-width:921px)and (max-width:1024px){.readyShell{height:100%;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto auto;overflow:hidden;scrollbar-gutter:auto;padding-bottom:0}.visualizerPanel{min-height:0;overflow:hidden;display:flex;flex-direction:column}.visualizer{flex:1;min-height:0}.imageStage,.imageCanvas{height:100%;min-height:0}.insightPanel,.recommendPanel,.recommendCarousel{min-height:0;overflow:hidden}.recommendGrid{flex:1 1 auto;min-height:0}}@media(max-width:720px){.doorStudio{min-height:100dvh}.studioContentViewport[data-fit-active=true] .studioContentFrame{transform:scale(var(--studio-fit-scale))}.studioContentViewport[data-fit-active=true] .entryShell,.studioContentViewport[data-fit-active=true] .readyShell{overflow:visible;scrollbar-gutter:auto}.topbar{height:auto;min-height:64px;padding:12px 16px;align-items:center}.steps{display:none}.brand{min-width:0}.topbarActions{min-width:auto}.restartButton,.shareButton{padding:9px}.restartButton span,.shareButton span{display:none}.restartIcon,.shareIcon{width:16px;height:16px}.entryIntro,.entryPanel{padding:18px 16px}.entryIntro h1{font-size:34px;margin:10px 0 12px}.entryIntro p{font-size:15px;line-height:1.42;margin-bottom:16px}.tabList{align-self:stretch;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.tabButton{min-height:44px;padding:10px 12px}.entryPanel{padding-top:0}.analysisPanel{grid-template-columns:1fr}.uploadBox,.sampleCarousel{min-height:230px}.uploadBox{padding:22px}.uploadIcon{width:58px;height:58px;margin-bottom:12px}.lucideIcon{width:28px;height:28px}.uploadBox h2{font-size:20px}.uploadBox p{margin-bottom:16px}.sampleCarousel{margin-inline:-16px}.sampleGrid{display:flex;grid-template-columns:none;gap:10px;min-height:0;padding:0 16px 4px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch}.sampleCard{flex:0 0 204px;width:204px;min-height:0;scroll-snap-align:start}.sampleCard img{aspect-ratio:4 / 3;flex:none}.sampleCard span,.sampleCard small{padding-inline:12px}.sampleCard span{padding-top:10px}.sampleCard small{padding-bottom:12px}.sampleChevron{display:flex;position:absolute;top:0;bottom:4px;width:64px;min-width:64px;border:0;padding:0;align-items:center;justify-content:center;background:transparent;color:var(--tk-clay);cursor:pointer;z-index:2;transition:color .15s ease}.sampleChevron:hover{color:var(--tk-dark-green)}.sampleChevron:focus-visible{outline:2px solid rgba(201,100,66,.45);outline-offset:-4px}.sampleChevronLeft{left:0;justify-content:flex-start;padding-left:8px;background:linear-gradient(90deg,#fffffff5,#ffffffd9 35%,#fff0)}.sampleChevronRight{right:0;justify-content:flex-end;padding-right:8px;background:linear-gradient(270deg,#fffffff5,#ffffffd9 35%,#fff0)}.sampleChevronLeft:hover{background:linear-gradient(90deg,#fff,#ffffffeb 45%,#fff0)}.sampleChevronRight:hover{background:linear-gradient(270deg,#fff,#ffffffeb 45%,#fff0)}.sampleChevron svg{width:18px;height:18px}.analysisStage{aspect-ratio:16 / 10}.analysisCopy{padding:12px 16px;overflow:visible}.visualizerPanel{padding:8px}.imageCanvas{height:clamp(230px,38svh,320px)}.insightPanel,.mobileWhyFits{padding:10px 12px}.mobileWhyFits h3{font-size:15px;margin-bottom:4px}.mobileWhyFits p{font-size:13px;line-height:1.38;height:2.76em}.recommendHeader{padding:10px 16px 8px}.recommendHeader h2{font-size:16px}.recommendGrid{padding:8px 16px 10px}.doorCard{flex-basis:128px;width:128px}.scoreBadge{font-size:10px}}@media(max-width:720px){.doorStudio{min-height:0}.readyShell{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto auto;overflow:hidden;scrollbar-gutter:auto;padding-bottom:0}.visualizerPanel{min-height:0;overflow:hidden;padding:8px 12px;display:flex;flex-direction:column}.visualizer{flex:1;min-height:0}.imageStage,.imageCanvas{height:100%;min-height:0}.insightPanel{min-height:0;overflow:hidden;padding:8px 12px;border-bottom:0}.mobileWhyFits{padding:10px 12px}.mobileWhyFits h3{font-size:15px;line-height:1.18;margin-bottom:4px;-webkit-line-clamp:2;height:2.36em}.mobileWhyFits p{font-size:13px;line-height:1.35;-webkit-line-clamp:2;height:2.7em}.recommendHeader{padding:8px 16px 6px}.recommendHeader h2{font-size:16px}.recommendPanel,.recommendCarousel{min-height:0;overflow:hidden;border-bottom:0}.recommendGrid{flex:0 0 auto;min-height:0;padding:6px 16px 10px;align-items:flex-start;scrollbar-width:none}.recommendGrid::-webkit-scrollbar{display:none}.doorCard{flex-basis:112px;width:112px;align-self:flex-start}}
