:root{--color-ink: #000000;--color-paper: #ffffff;--color-canvas: #ececec;--color-surface: #f4f4f4;--color-surface-deep: #ededed;--color-line: #e5e5e5;--color-line-strong: #c8c8c8;--color-muted: #737373;--color-danger: #a1261d;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--page-padding: 20px;--header-height: 52px;--status-height: 40px;--action-height: 82px;--radius-small: 2px;--radius-pill: 999px;--font-body: -apple-system, BlinkMacSystemFont, "PingFang SC", "Helvetica Neue", Arial, sans-serif;--font-display: Didot, "Bodoni 72", "Times New Roman", serif;--ease: .18s ease}*{box-sizing:border-box}html{min-height:100%;background:var(--color-canvas);color:var(--color-ink);font-family:var(--font-body);letter-spacing:0;-webkit-font-smoothing:antialiased}body{min-width:320px;min-height:100%;margin:0;background:var(--color-canvas)}button,textarea,input{color:inherit;font:inherit;letter-spacing:0}button,a{-webkit-tap-highlight-color:transparent}button{border:0;cursor:pointer}button:focus-visible,a:focus-visible,textarea:focus-visible{outline:2px solid var(--color-ink);outline-offset:2px}img{display:block;max-width:100%}.mini-shell{position:relative;width:100%;max-width:430px;min-height:100svh;margin:0 auto;overflow-x:clip;background:var(--color-paper)}.status-bar{position:relative;z-index:30;display:flex;align-items:center;justify-content:space-between;height:var(--status-height);padding:max(env(safe-area-inset-top),8px) 25px 0;background:var(--color-paper);font-size:14px;font-weight:650}.status-symbols{display:flex;align-items:center;gap:7px}.signal-bars{display:flex;align-items:flex-end;gap:2px;height:12px}.signal-bars i{width:3px;border-radius:1px;background:currentColor}.signal-bars i:nth-child(1){height:5px}.signal-bars i:nth-child(2){height:7px}.signal-bars i:nth-child(3){height:9px}.signal-bars i:nth-child(4){height:12px}.status-wifi{width:15px;height:11px;border-top:2px solid currentColor;border-radius:50% 50% 0 0;position:relative}.status-wifi:after{position:absolute;bottom:0;left:6px;width:3px;height:3px;border-radius:50%;background:currentColor;content:""}.status-battery{min-width:27px;height:14px;padding:0 3px;border:1.5px solid currentColor;border-radius:4px;font-size:9px;line-height:11px;text-align:center}.nav-bar{position:sticky;top:0;z-index:25;display:grid;grid-template-columns:64px 1fr 82px;align-items:center;height:var(--header-height);padding:0 14px;border-bottom:1px solid rgba(229,229,229,.82);background:#fffffff5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.nav-title{margin:0;overflow:hidden;font-size:17px;font-weight:600;line-height:1;text-align:center;text-overflow:ellipsis;white-space:nowrap}.nav-back,.icon-button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;background:transparent}.nav-back:active,.icon-button:active{opacity:.45}.mini-capsule{justify-self:end;display:flex;align-items:center;justify-content:space-around;width:76px;height:32px;border:1px solid #e7e7e7;border-radius:var(--radius-pill);background:#fffc}.mini-capsule .capsule-divider{width:1px;height:18px;background:#e8e8e8}.capsule-dots{display:flex;gap:3px}.capsule-dots i{width:4px;height:4px;border-radius:50%;background:var(--color-ink)}.capsule-circle{width:15px;height:15px;border:2px solid var(--color-ink);border-radius:50%;box-shadow:inset 0 0 0 3px var(--color-paper),inset 0 0 0 5px var(--color-ink)}.app-main{min-height:calc(100svh - var(--status-height) - var(--header-height));padding-bottom:calc(var(--action-height) + env(safe-area-inset-bottom));animation:page-in .22s ease both}.app-main.no-action{padding-bottom:calc(28px + env(safe-area-inset-bottom))}@keyframes page-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:359px){:root{--page-padding: 16px}.nav-bar{grid-template-columns:54px 1fr 78px;padding-inline:10px}}@media(min-width:431px){.mini-shell{box-shadow:0 0 0 1px #dedede}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.section{padding:26px var(--page-padding) 30px;border-bottom:8px solid var(--color-surface)}.section:last-child{border-bottom:0}.section-heading-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-5)}.section-title{margin:0;font-size:20px;font-weight:650;line-height:1.3}.section-meta,.text-action{color:var(--color-muted);font-size:13px;line-height:1.4}.text-action{display:inline-flex;align-items:center;min-height:44px;margin:-12px 0;padding:0;background:transparent}.text-action:active{color:var(--color-ink)}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:48px;padding:0 18px;border:1px solid var(--color-ink);border-radius:var(--radius-small);font-size:15px;font-weight:500;line-height:1.2;transition:opacity var(--ease),background-color var(--ease),color var(--ease)}.primary-button{background:var(--color-ink);color:var(--color-paper)}.secondary-button{background:var(--color-paper);color:var(--color-ink)}.primary-button:active,.secondary-button:active{opacity:.7}.primary-button:disabled,.secondary-button:disabled{cursor:not-allowed;border-color:#d5d5d5;background:#d5d5d5;color:#8b8b8b}.bottom-action-bar{position:fixed;z-index:24;bottom:0;left:50%;display:flex;width:100%;max-width:430px;min-height:var(--action-height);padding:12px var(--page-padding) calc(12px + env(safe-area-inset-bottom));transform:translate(-50%);border-top:1px solid var(--color-line);background:#fffffffa;gap:8px}.bottom-action-bar>button,.bottom-action-bar>a{flex:1 1 0}.product-strip{display:grid;grid-auto-columns:minmax(116px,42%);grid-auto-flow:column;gap:var(--space-3);margin:0 calc(var(--page-padding) * -1);padding:0 var(--page-padding) 4px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none}.product-strip::-webkit-scrollbar,.model-thumbnails::-webkit-scrollbar{display:none}.product-strip-item{min-width:0;scroll-snap-align:start}.product-strip-image-button{display:block;width:100%;padding:0;background:var(--color-surface)}.product-strip-image{width:100%;aspect-ratio:1 / 1;object-fit:cover;background:var(--color-surface)}.product-strip-name{display:-webkit-box;min-height:36px;margin:10px 0 3px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:13px;font-weight:500;line-height:1.4}.product-strip-sku{margin:0;color:var(--color-muted);font-size:11px;line-height:1.4}.model-tabs{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3);margin-bottom:var(--space-5)}.model-tab{min-height:44px;border-radius:var(--radius-pill);background:transparent;font-size:15px}.model-tab.is-active{background:var(--color-ink);color:var(--color-paper)}.model-hero-wrap{position:relative;background:var(--color-surface);overflow:hidden;touch-action:pan-y}.model-hero{width:100%;aspect-ratio:4 / 5;object-fit:cover;object-position:center 28%}.model-hero-wrap .carousel-arrow,.result-media .carousel-arrow{position:absolute;top:50%;display:flex;align-items:center;justify-content:center;width:44px;height:52px;padding:0;transform:translateY(-50%);background:#ffffffc7;color:var(--color-ink)}.carousel-arrow.is-left{left:0}.carousel-arrow.is-right{right:0}.model-caption{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding:15px 0 13px}.model-name{margin:0 0 2px;font-size:15px;font-weight:600}.model-gender,.carousel-count{margin:0;color:var(--color-muted);font-size:12px}.model-thumbnails{display:grid;grid-auto-columns:64px;grid-auto-flow:column;gap:var(--space-2);padding-bottom:2px;overflow-x:auto;scrollbar-width:none}.model-thumbnail{position:relative;width:64px;height:80px;padding:0;border:1px solid transparent;background:var(--color-surface)}.model-thumbnail.is-active{border-color:var(--color-ink)}.model-thumbnail img{width:100%;height:100%;object-fit:cover}.model-thumbnail span{position:absolute;right:4px;bottom:4px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:#ffffffe6;font-size:9px}.model-thumbnail.is-active span{background:var(--color-ink);color:var(--color-paper)}.inline-notice{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);margin:0 var(--page-padding);padding:13px 0;border-bottom:1px solid var(--color-line);color:var(--color-muted);font-size:12px;line-height:1.5}.inline-notice button{flex:0 0 auto;min-height:28px;padding:0;background:transparent;color:var(--color-ink);text-decoration:underline}.toast{position:fixed;z-index:80;left:50%;bottom:calc(var(--action-height) + env(safe-area-inset-bottom) + 16px);max-width:min(340px,calc(100vw - 40px));padding:11px 16px;transform:translate(-50%,10px);background:#000000d6;color:var(--color-paper);font-size:13px;line-height:1.4;opacity:0;pointer-events:none;transition:opacity var(--ease),transform var(--ease)}.toast.is-visible{transform:translate(-50%);opacity:1}.skeleton{position:relative;overflow:hidden;background:#eee}.skeleton:after{position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.58),transparent);content:"";animation:shimmer 1.8s infinite}@keyframes shimmer{to{transform:translate(100%)}}.empty-state{display:flex;min-height:calc(100svh - 180px);padding:56px var(--page-padding);flex-direction:column;align-items:center;justify-content:center;text-align:center}.empty-mark{display:grid;width:64px;height:64px;margin-bottom:24px;place-items:center;background:var(--color-surface)}.empty-state h2{margin:0 0 10px;font-size:20px;font-weight:650}.empty-state p{max-width:280px;margin:0 0 28px;color:var(--color-muted);font-size:14px;line-height:1.7}.empty-actions{display:flex;width:100%;gap:8px}.empty-actions button{flex:1}.bottom-sheet-backdrop{position:fixed;z-index:55;top:0;right:0;bottom:0;left:0;background:#00000059;border-radius:0;animation:fade-in var(--ease) both}.bottom-sheet{position:fixed;z-index:60;right:max(0px,calc((100vw - 430px)/2));bottom:0;left:max(0px,calc((100vw - 430px)/2));max-height:min(82svh,700px);padding:24px var(--page-padding) calc(18px + env(safe-area-inset-bottom));overflow-y:auto;background:var(--color-paper);animation:sheet-in .24s ease both}@keyframes fade-in{0%{opacity:0}}@keyframes sheet-in{0%{transform:translateY(100%)}}.sheet-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:22px}.sheet-header h2{margin:0;font-size:20px;font-weight:650;line-height:1.35}.sheet-close{flex:0 0 auto;width:44px;height:44px;margin:-10px -10px 0 0;background:transparent}.config-intro{padding:22px var(--page-padding) 0}.config-intro p{margin:0;color:var(--color-muted);font-size:13px;line-height:1.7}.catalog-status{position:sticky;z-index:20;top:var(--header-height);display:flex;min-height:46px;padding:0 var(--page-padding);align-items:center;justify-content:space-between;border-bottom:1px solid var(--color-line);background:#fffffff5;font-size:13px}.catalog-clear{min-height:44px;padding:0;background:transparent;color:var(--color-muted)}.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1px;row-gap:28px;padding-bottom:26px;background:var(--color-line)}.product-card{position:relative;min-width:0;padding:0 0 18px;background:var(--color-paper);text-align:left}.product-card-image-wrap{position:relative;margin-bottom:13px;background:var(--color-surface)}.product-card-image{width:100%;aspect-ratio:1 / 1.15;object-fit:cover}.product-select-button{position:absolute;top:10px;right:10px;display:grid;width:44px;height:44px;padding:0;border:0;border-radius:50%;place-items:center;background:transparent}.product-select-button:before{position:absolute;top:7px;right:7px;bottom:7px;left:7px;border:1px solid rgba(0,0,0,.42);border-radius:50%;background:#ffffffeb;content:""}.product-select-button svg{position:relative;z-index:1}.product-card.is-selected .product-select-button:before{border-color:var(--color-ink);background:var(--color-ink)}.product-card.is-selected .product-select-button{color:var(--color-paper)}.product-card-body{padding:0 14px}.product-card-kicker{min-height:17px;margin:0 0 5px;color:var(--color-muted);font-size:11px}.product-card-name{display:-webkit-box;min-height:42px;margin:0 0 9px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:14px;font-weight:500;line-height:1.5}.product-card-price{margin:0;font-size:14px;font-weight:550}.model-selector-section{padding:18px var(--page-padding) 30px}.generation-stage{padding:34px var(--page-padding) 26px;text-align:center}.generation-visual{position:relative;width:100%;aspect-ratio:4 / 5;margin-bottom:28px}.generation-ghost{position:absolute;top:8%;right:18%;bottom:8%;left:18%;border-radius:42% 42% 18% 18%;background:#e6e6e6}.generation-stage h2{margin:0 0 9px;font-size:21px;font-weight:650}.generation-stage>p{margin:0;color:var(--color-muted);font-size:13px;line-height:1.7}.generation-progress{height:2px;margin:25px 0 12px;overflow:hidden;background:#dfdfdf}.generation-progress span{display:block;width:var(--progress, 0%);height:100%;background:var(--color-ink);transition:width .5s ease}.generation-label{display:flex;justify-content:space-between;color:var(--color-muted);font-size:11px}.result-media{position:relative;width:100%;overflow:hidden;background:var(--color-surface);touch-action:pan-y}.result-image{width:100%;aspect-ratio:4 / 5;object-fit:cover;object-position:center 22%}.result-counter{position:absolute;right:0;bottom:0;left:0;padding:12px 0;background:linear-gradient(transparent,#00000057);color:var(--color-paper);font-size:12px;font-weight:600;text-align:center}.result-copy{padding:24px var(--page-padding) 22px;border-bottom:1px solid var(--color-line)}.result-eyebrow{margin:0 0 6px;font-size:12px;font-weight:600}.result-copy h2{margin:0;font-size:24px;font-weight:650;line-height:1.2}.result-products{padding:20px var(--page-padding) 24px;border-bottom:1px solid var(--color-line)}.result-products h3,.feedback-block h3{margin:0 0 14px;font-size:14px;font-weight:600}.result-product-thumbs{display:flex;gap:8px;overflow-x:auto}.result-product-thumb{flex:0 0 64px;width:64px;height:64px;padding:0;background:var(--color-surface)}.result-product-thumb img{width:100%;height:100%;object-fit:cover}.feedback-block{padding:22px var(--page-padding) 18px;border-bottom:1px solid var(--color-line)}.feedback-row{display:flex;gap:10px}.feedback-button{display:flex;min-width:64px;min-height:46px;align-items:center;justify-content:center;border:1px solid var(--color-line-strong);background:var(--color-paper)}.feedback-button.is-active{border-color:var(--color-ink);background:var(--color-ink);color:var(--color-paper)}.feedback-complete{align-self:center;color:var(--color-muted);font-size:12px}.result-secondary-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:20px var(--page-padding) 26px}.result-secondary-actions button{min-width:0}.adjust-group{border-bottom:8px solid var(--color-surface)}.adjust-group-header{display:flex;align-items:center;justify-content:space-between;min-height:68px;padding:0 var(--page-padding);border-bottom:1px solid var(--color-line)}.adjust-group-header h2{margin:0;font-size:18px;font-weight:650}.adjust-model{display:grid;grid-template-columns:98px 1fr;gap:18px;padding:20px var(--page-padding) 26px;align-items:center}.adjust-model img{width:98px;aspect-ratio:4 / 5;object-fit:cover;background:var(--color-surface)}.adjust-model h3{margin:0 0 5px;font-size:16px}.adjust-model p{margin:0;color:var(--color-muted);font-size:13px}.reason-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:20px}.reason-chip{min-height:44px;padding:0 10px;border:1px solid var(--color-line-strong);background:var(--color-paper);font-size:13px}.reason-chip.is-active{border-color:var(--color-ink);background:var(--color-ink);color:var(--color-paper)}.feedback-label{display:block;margin-bottom:8px;font-size:13px;font-weight:600}.feedback-textarea{width:100%;min-height:100px;margin-bottom:16px;padding:12px;resize:vertical;border:1px solid var(--color-line-strong);border-radius:0;background:var(--color-paper);font-size:14px;line-height:1.6}.sheet-submit{width:100%}.product-info{display:grid;grid-template-columns:110px 1fr;gap:18px;align-items:center}.product-info img{width:110px;aspect-ratio:1;object-fit:cover;background:var(--color-surface)}.product-info h3{margin:0 0 8px;font-size:16px;line-height:1.45}.product-info p{margin:4px 0;color:var(--color-muted);font-size:12px}.poster-stage{padding:22px var(--page-padding) 30px;background:var(--color-surface)}.poster-preview{width:min(100%,338px);aspect-ratio:3 / 4;margin:0 auto;object-fit:contain;background:var(--color-paper);box-shadow:0 2px 12px #00000014}.poster-note{margin:16px 0 0;color:var(--color-muted);font-size:12px;line-height:1.6;text-align:center}.poster-loading{display:grid;width:min(100%,338px);aspect-ratio:3 / 4;margin:0 auto;place-items:center;background:var(--color-paper);color:var(--color-muted);font-size:13px}.host-brand-header{position:sticky;top:0;z-index:25;display:grid;grid-template-columns:76px 1fr 76px;height:64px;padding:0 14px;align-items:center;border-bottom:1px solid var(--color-line);background:var(--color-paper)}.host-logo{margin:0;font-family:var(--font-display);font-size:23px;font-weight:400;text-align:center;white-space:nowrap}.host-summary{padding:34px var(--page-padding) 28px}.host-kicker{margin:0 0 8px;color:var(--color-muted);font-size:12px}.host-summary h1{margin:0;font-size:26px;font-weight:650}.host-summary p{margin:10px 0 0;color:var(--color-muted);font-size:13px;line-height:1.65}.host-grid{padding-bottom:calc(var(--action-height) + 20px)}.host-action-link{display:inline-flex;text-decoration:none}@media(max-height:720px){.generation-stage{padding-top:20px}.generation-visual{width:82%;margin-inline:auto}}
