:root{color-scheme:light;--color-bg:#FBF6EE;--color-bg-card:#FFFFFF;--color-bg-canvas:#F3EBDD;--color-bg-soft:#F7F0E4;--color-text-strong:#2B2420;--color-text-default:#3A322C;--color-text-subtle:#5A5048;--color-text-hint:#6E645B;--color-text-disabled:#A79C90;--color-text-inverse:#FFFFFF;--color-text-on-image:#FFFFFF;--brand-primary:#A8462A;--brand-primary-pressed:#8F3A22;--brand-cocoa:#4A3328;--highlight:#FFE08A;--color-line:#E6DACB;--color-line-strong:#9C8B78;--color-danger:#B3261E;--color-success:#1F7A4D;--color-warning:#8A5A00;--focus-ring:#2B2420;--dim:rgba(43,36,32,0.48);--scrim-card:linear-gradient(0deg,rgba(30,22,18,0.82) 0%,rgba(30,22,18,0.6) 30%,rgba(30,22,18,0) 60%);--paper:var(--color-bg);--surface:var(--color-bg-card);--desk:var(--color-bg-canvas);--ink:var(--color-text-strong);--muted:var(--color-text-subtle);--line:var(--color-line);--tone-peach-bg:#FFD9C7;--tone-peach-fg:#8A3B1E;--tone-mint-bg:#CDEBDD;--tone-mint-fg:#1E5E46;--tone-sky-bg:#D6DEF0;--tone-sky-fg:#34406A;--tone-yellow-bg:#FFE9A3;--tone-yellow-fg:#6B4F00;--tone-rose-bg:#F6D3D8;--tone-rose-fg:#7A2E3A;--tone-cream-bg:#FFF1DF;--tone-cream-fg:#2B2420;--font-size-display:32px;--font-weight-display:700;--line-height-display:1.25;--letter-spacing-display:-0.02em;--font-size-title:24px;--font-weight-title:700;--line-height-title:1.35;--font-size-subtitle:20px;--font-weight-subtitle:600;--line-height-subtitle:1.45;--font-size-body:19px;--font-weight-body:400;--line-height-body:1.6;--font-size-body-small:17px;--font-weight-body-small:400;--line-height-body-small:1.55;--font-size-caption:16px;--font-weight-caption:500;--line-height-caption:1.5;--measure-max:32em;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--page-gutter:20px;--content-max:1120px;--safe-bottom:max(34px,env(safe-area-inset-bottom));--radius-sm:10px;--radius-button:16px;--radius-card:20px;--radius-photo:24px;--radius-sheet:28px;--radius-pill:999px;--shadow-float:0 12px 32px -12px rgba(74,51,40,0.28);--shadow-cta-bar:0 -8px 24px -16px rgba(74,51,40,0.25);--shadow-photo:0 2px 0 rgba(74,51,40,0.08);--touch-min:48px;--button-height:56px;--button-cta-height:60px;--icon-size:24px;--icon-stroke:2px;--focus-width:3px;--focus-offset:3px;--motion-fast:150ms;--motion-base:240ms;--motion-ease:ease-out}@media (max-width:370px){:root{--page-gutter:16px}}@media (min-width:760px){:root{--font-size-display:clamp(40px,4.6vw,56px);--font-size-title:28px}}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--color-bg:#1E1A17;--color-bg-card:#2A2420;--color-bg-canvas:#16130F;--color-bg-soft:#332B26;--color-text-strong:#F7EFE6;--color-text-default:#E9DFD3;--color-text-subtle:#CBBFB1;--color-text-hint:#A99C8E;--color-text-inverse:#2B1A12;--brand-primary:#F2A285;--brand-primary-pressed:#E08E70;--brand-cocoa:#E9DFD3;--highlight:#5A4A1E;--color-line:#3E3530;--color-line-strong:#8C7C6D;--color-danger:#FF8A80;--color-success:#7FD1A5;--color-warning:#F2C063;--focus-ring:#F7EFE6;--dim:rgba(0,0,0,0.6);--tone-peach-bg:#3D2A21;--tone-peach-fg:#FFC9B0;--tone-mint-bg:#1F3329;--tone-mint-fg:#A8E0C4;--tone-sky-bg:#262C3D;--tone-sky-fg:#C5D1F0;--tone-yellow-bg:#373019;--tone-yellow-fg:#FFE08A;--tone-rose-bg:#3A2328;--tone-rose-fg:#F5C2CB;--tone-cream-bg:#2E2A22;--tone-cream-fg:#F2E3C9}}:root[data-theme=dark]{color-scheme:dark;--color-bg:#1E1A17;--color-bg-card:#2A2420;--color-bg-canvas:#16130F;--color-bg-soft:#332B26;--color-text-strong:#F7EFE6;--color-text-default:#E9DFD3;--color-text-subtle:#CBBFB1;--color-text-hint:#A99C8E;--color-text-inverse:#2B1A12;--brand-primary:#F2A285;--brand-primary-pressed:#E08E70;--brand-cocoa:#E9DFD3;--highlight:#5A4A1E;--color-line:#3E3530;--color-line-strong:#8C7C6D;--color-danger:#FF8A80;--color-success:#7FD1A5;--color-warning:#F2C063;--focus-ring:#F7EFE6;--dim:rgba(0,0,0,0.6);--tone-peach-bg:#3D2A21;--tone-peach-fg:#FFC9B0;--tone-mint-bg:#1F3329;--tone-mint-fg:#A8E0C4;--tone-sky-bg:#262C3D;--tone-sky-fg:#C5D1F0;--tone-yellow-bg:#373019;--tone-yellow-fg:#FFE08A;--tone-rose-bg:#3A2328;--tone-rose-fg:#F5C2CB;--tone-cream-bg:#2E2A22;--tone-cream-fg:#F2E3C9}@media (prefers-reduced-motion:reduce){:root{--motion-fast:0ms;--motion-base:0ms}}@font-face{font-family:Pretendard;src:url(/fonts/PretendardVariable.woff2) format("woff2-variations"),url(/fonts/PretendardVariable.woff2) format("woff2");font-weight:45 920;font-style:normal;font-display:swap}:root{--image-badge-bg:#FFF1DF;--image-badge-fg:#2B2420}*,:after,:before{box-sizing:border-box}html{text-size-adjust:100%;scroll-behavior:smooth}body{font-family:Pretendard,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Malgun Gothic,Noto Sans KR,system-ui,sans-serif;font-size:var(--font-size-body);font-weight:var(--font-weight-body);line-height:var(--line-height-body);word-break:keep-all;overflow-wrap:break-word;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--color-text-default);background:var(--color-bg)}body,dd,dl,figure,h1,h2,h3,ol,p,ul{margin:0}ol,ul{padding:0;list-style:none}button,input,select,textarea{font:inherit;letter-spacing:inherit;color:inherit}button{cursor:pointer}img,svg,video{display:block;max-width:100%}a{color:var(--brand-primary)}:focus-visible{outline:var(--focus-width) solid var(--focus-ring);outline-offset:var(--focus-offset)}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:absolute;left:var(--space-3);top:-100px;z-index:100;min-height:var(--touch-min);padding:0 var(--space-4);display:inline-flex;align-items:center;background:var(--color-bg-card);color:var(--color-text-strong);border:2px solid var(--color-text-strong);border-radius:var(--radius-button);font-size:var(--font-size-caption);font-weight:600}.skip-link:focus{top:var(--space-3)}.shell{--tabbar-height:72px;--tabbar-border:1px;min-height:100vh;min-height:100dvh;background:var(--color-bg);color:var(--color-text-default)}.shell[data-tabs=true]{padding-bottom:calc(var(--tabbar-height) + var(--tabbar-border) + var(--safe-bottom))}.site-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-height:64px;padding:var(--space-2) var(--page-gutter);background:var(--color-bg);border-bottom:1px solid var(--color-line)}.wordmark{display:inline-flex;align-items:center;min-height:var(--touch-min);padding:0;border-radius:var(--radius-sm);text-decoration:none}.wordmark img{display:block;height:40px;width:auto}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .wordmark{padding:2px 10px;background:var(--image-badge-bg)}}:root[data-theme=dark] .wordmark{padding:2px 10px;background:var(--image-badge-bg)}.site-nav{display:none}.site-nav a{display:inline-flex;align-items:center;min-height:var(--touch-min);padding:0 var(--space-3);color:var(--color-text-default);font-size:var(--font-size-caption);font-weight:600;text-decoration:none;border-bottom:3px solid transparent}.site-nav a[aria-current=page]{color:var(--color-text-strong);font-weight:700;border-bottom-color:var(--brand-primary)}.page{width:100%;max-width:var(--content-max);margin:0 auto;padding:var(--space-5) var(--page-gutter) var(--space-7)}.page[data-cta=inline-wide],.page[data-cta=true]{padding-bottom:calc(var(--button-cta-height) + var(--space-7) + var(--safe-bottom))}.page:focus{outline:none}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;background:var(--color-bg-card);border-top:var(--tabbar-border,1px) solid var(--color-line);box-shadow:var(--shadow-cta-bar);padding-bottom:var(--safe-bottom)}.tabbar a{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);height:var(--tabbar-height);min-height:var(--tabbar-height);padding:var(--space-2) var(--space-2);color:var(--color-text-subtle);font-size:var(--font-size-caption);font-weight:600;line-height:var(--line-height-caption);text-decoration:none;border-top:3px solid transparent}.tabbar a[aria-current=page]{color:var(--color-text-strong);font-weight:700;border-top-color:var(--brand-primary)}.icon{width:var(--icon-size);height:var(--icon-size);flex:none;fill:none;stroke:currentColor;stroke-width:var(--icon-stroke);stroke-linecap:round;stroke-linejoin:round}p>.icon{display:inline-block;vertical-align:-.3em}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;min-height:var(--button-height);padding:0 var(--space-5);border-radius:var(--radius-button);border:2px solid transparent;font-size:var(--font-size-subtitle);font-weight:700;text-align:center;text-decoration:none;line-height:1.2}.btn-primary{min-height:var(--button-cta-height);background:var(--brand-primary);color:var(--color-text-inverse)}.btn-primary:hover,.btn-primary[aria-busy=true]{background:var(--brand-primary-pressed)}.btn-secondary{background:var(--color-bg-card);border-color:var(--brand-primary);color:var(--brand-primary-pressed)}.btn-danger{background:var(--color-danger);border-color:var(--color-danger);color:var(--color-bg-card)}.btn-text{display:inline-flex;align-items:center;gap:var(--space-1);white-space:nowrap;width:auto;min-height:var(--touch-min);padding:0 var(--space-3);background:none;border:0;border-radius:var(--radius-sm);color:var(--brand-primary-pressed);font-size:var(--font-size-body-small);font-weight:600;text-decoration:underline;text-underline-offset:4px}.btn-text.danger{color:var(--color-danger)}.btn-icon{width:var(--touch-min);min-height:var(--touch-min);padding:0;display:inline-flex;align-items:center;justify-content:center;background:none;border:0;border-radius:var(--radius-pill);color:var(--color-text-strong)}.spinner{width:20px;height:20px;border-radius:50%;border:3px solid;border-right:3px solid transparent;animation:spin 1.2s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.stack{gap:var(--space-3)}.stack,.stack-lg{display:flex;flex-direction:column}.stack-lg{gap:var(--space-5)}.row,.row-between{display:flex;align-items:center;gap:var(--space-3)}.row-between{justify-content:space-between}.center{text-align:center}.display{font-size:var(--font-size-display);font-weight:var(--font-weight-display);line-height:var(--line-height-display);letter-spacing:var(--letter-spacing-display)}.display,.title{color:var(--color-text-strong);white-space:pre-line}.title{font-size:var(--font-size-title);font-weight:var(--font-weight-title);line-height:var(--line-height-title)}.subtitle{font-size:var(--font-size-subtitle);font-weight:var(--font-weight-subtitle);line-height:var(--line-height-subtitle);color:var(--color-text-strong)}.small{font-size:var(--font-size-body-small);line-height:var(--line-height-body-small)}.caption,.small{color:var(--color-text-subtle)}.caption{font-size:var(--font-size-caption);font-weight:var(--font-weight-caption);line-height:var(--line-height-caption)}.measure{max-width:var(--measure-max)}.hl{background:linear-gradient(transparent 62%,var(--highlight) 62%)}.tone-peach{--tone-bg:var(--tone-peach-bg);--tone-fg:var(--tone-peach-fg)}.tone-mint{--tone-bg:var(--tone-mint-bg);--tone-fg:var(--tone-mint-fg)}.tone-sky{--tone-bg:var(--tone-sky-bg);--tone-fg:var(--tone-sky-fg)}.tone-yellow{--tone-bg:var(--tone-yellow-bg);--tone-fg:var(--tone-yellow-fg)}.tone-rose{--tone-bg:var(--tone-rose-bg);--tone-fg:var(--tone-rose-fg)}.tone-cream{--tone-bg:var(--tone-cream-bg);--tone-fg:var(--tone-cream-fg)}.badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:var(--radius-sm);background:var(--color-bg-card);color:var(--color-text-strong);border:1.5px solid var(--color-text-strong);font-size:var(--font-size-caption);font-weight:500;line-height:1.3;white-space:nowrap}.badge-soft{border-color:transparent;background:var(--color-bg-soft)}.badge-review{border-color:var(--color-warning);color:var(--color-warning);background:var(--color-bg-card)}.badge-on-image{background:var(--image-badge-bg);border-color:var(--image-badge-fg);color:var(--image-badge-fg)}.image-tag{position:absolute;left:var(--space-3);top:var(--space-3);z-index:2;font-size:var(--font-size-body);font-weight:700;line-height:1.35;color:var(--color-text-on-image);text-shadow:0 1px 2px rgba(30,22,18,.55),0 0 8px rgba(30,22,18,.35);pointer-events:none}.image-tag-dark{color:var(--image-badge-fg);text-shadow:none}.hero{position:relative;background:var(--tone-cream-bg);color:var(--tone-cream-fg)}.hero-media{position:relative;aspect-ratio:2/1;width:100%;overflow:hidden;background:var(--color-bg-canvas)}.hero-media img{width:100%;height:100%;object-fit:cover}.hero-media .badge{position:absolute;left:var(--space-3);bottom:var(--space-3)}.hero-text{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-4);padding:var(--space-5) var(--page-gutter)}.hero-text .display{color:var(--tone-cream-fg)}.hero-text .btn{width:auto;min-width:180px}.chips{display:flex;gap:var(--space-2);overflow-x:auto;padding:var(--space-4) var(--page-gutter);scrollbar-width:none;-webkit-overflow-scrolling:touch}.chips::-webkit-scrollbar{display:none}.chip{flex:none;display:inline-flex;align-items:center;gap:var(--space-1);min-height:var(--touch-min);padding:0 var(--space-4);border-radius:var(--radius-pill);border:2px solid transparent;background:var(--color-bg-soft);color:var(--color-text-default);font-size:var(--font-size-caption);font-weight:600}.chip[aria-pressed=true]{background:var(--highlight);color:var(--color-text-strong);font-weight:700;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}.chip .icon{width:16px;height:16px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--space-3);gap:var(--space-3);padding:0 var(--page-gutter);max-width:var(--content-max);margin:0 auto}.card{position:relative;display:block;aspect-ratio:4/5;border-radius:var(--radius-card);overflow:hidden;background:var(--tone-bg,var(--color-bg-canvas));color:var(--color-text-on-image);text-decoration:none;isolation:isolate}.card-img,.photo-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.card:after{content:"";position:absolute;inset:0;background:var(--scrim-card);pointer-events:none;z-index:1}.card-fallback{position:absolute;inset:0;display:flex;align-items:flex-start;justify-content:center;padding-top:28%;background:var(--tone-bg,var(--color-bg-canvas))}.card-fallback img{width:36%;height:auto;opacity:.9}.card-top{left:var(--space-2);top:var(--space-2);gap:var(--space-1);flex-wrap:wrap}.card-bottom,.card-top{position:absolute;z-index:2;display:flex}.card-bottom{left:var(--space-3);right:var(--space-3);bottom:var(--space-3);flex-direction:column;align-items:flex-start;gap:var(--space-2)}.card-title{font-size:var(--font-size-body);font-weight:700;line-height:1.35;color:var(--color-text-on-image)}.card[data-skeleton=true]{background:var(--color-bg-canvas)}.card[data-skeleton=true]:after{display:none}.photo-frame{position:relative;aspect-ratio:4/5;width:100%;border-radius:var(--radius-photo);overflow:hidden;background:var(--tone-bg,var(--color-bg-canvas));box-shadow:var(--shadow-photo)}.photo-frame .badge-bottom{position:absolute;left:var(--space-3);bottom:var(--space-3);z-index:2}.photo-frame .badges-top{top:var(--space-3);z-index:2;display:flex;gap:var(--space-1);flex-wrap:wrap}.ai-label,.photo-frame .badges-top{position:absolute;left:var(--space-3)}.ai-label{bottom:var(--space-3);z-index:3;pointer-events:none;padding:6px 12px;border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text-strong);border:1.5px solid var(--color-text-strong);font-size:var(--font-size-caption);font-weight:600;line-height:1.3}.result-media[data-media=video] .ai-label{top:var(--space-3);bottom:auto}.info-chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.info-chip{display:inline-flex;align-items:center;gap:var(--space-1);min-height:40px;padding:6px 14px;border-radius:var(--radius-pill);background:var(--tone-bg,var(--color-bg-soft));color:var(--tone-fg,var(--color-text-strong));font-size:var(--font-size-caption);font-weight:500}.info-box{display:flex;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-card);border:1.5px solid var(--color-line-strong);background:var(--tone-cream-bg);color:var(--tone-cream-fg);font-size:var(--font-size-body-small)}.info-box .icon{margin-top:2px}.detail-layout{display:flex;flex-direction:column;gap:var(--space-5)}.topbar{justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.cta-bar,.topbar{display:flex;align-items:center}.cta-bar{position:fixed;left:0;right:0;bottom:0;z-index:40;flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--page-gutter) var(--safe-bottom);background:var(--color-bg-card);border-top:1px solid var(--color-line);box-shadow:var(--shadow-cta-bar)}.shell[data-tabs=true] .cta-bar{bottom:calc(var(--tabbar-height) + var(--tabbar-border) + var(--safe-bottom));padding-bottom:var(--space-3)}.cta-bar>*{width:100%;max-width:560px}.cta-bar .summary{font-size:var(--font-size-body-small);color:var(--color-text-subtle);text-align:center}.stepper{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-5)}.stepper-bar{display:flex;gap:var(--space-1)}.stepper-bar li{flex:1 1;height:6px;border-radius:var(--radius-pill);background:var(--color-line)}.stepper-bar li[data-state=current],.stepper-bar li[data-state=done]{background:var(--brand-primary)}.stepper-label{font-size:var(--font-size-caption);font-weight:600;color:var(--color-text-strong)}.stepper-names{display:none}.check-row{display:flex;align-items:flex-start;gap:var(--space-3);min-height:56px;padding:var(--space-3);border-radius:var(--radius-button);border:1.5px solid var(--color-line-strong);background:var(--color-bg-card)}.check-row[data-invalid=true]{border-color:var(--color-danger);border-width:2px}.check-row input[type=checkbox]{flex:none;width:28px;height:28px;margin:2px 0 0;accent-color:var(--brand-primary)}.check-row label{flex:1 1;display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--font-size-body);color:var(--color-text-strong);cursor:pointer}.check-line{display:flex;align-items:center;gap:var(--space-2)}.check-row[data-inline=true]{align-items:flex-start;min-height:48px;padding:var(--space-2) var(--space-3)}.check-row[data-inline=true] input[type=checkbox]{margin:8px 0 0}.check-row[data-inline=true] label{flex-direction:row;align-items:baseline;flex-wrap:wrap;column-gap:var(--space-2);row-gap:0;font-size:var(--font-size-body-small)}.check-row[data-inline=true] .check-line .btn-text{flex:none;min-height:44px;padding:0 var(--space-1);white-space:nowrap;font-size:var(--font-size-body-small)}.req-tag{font-size:var(--font-size-caption);font-weight:700;color:var(--brand-primary-pressed)}.field-error{display:flex;align-items:center;gap:var(--space-2);color:var(--color-danger);font-size:var(--font-size-body-small);font-weight:600}.sample-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--space-3);gap:var(--space-3)}.sample-btn{position:relative;padding:0;border-radius:var(--radius-card);border:2px solid var(--color-line-strong);background:var(--tone-bg);overflow:hidden;aspect-ratio:1/1;min-height:var(--touch-min)}.sample-btn[aria-pressed=true]{border-color:var(--brand-primary);border-width:4px}.sample-btn svg{width:100%;height:100%}.sample-btn .badge{position:absolute;left:var(--space-2);bottom:var(--space-2)}.sample-btn .picked{position:absolute;right:var(--space-2);top:var(--space-2);display:inline-flex;align-items:center;gap:var(--space-1);padding:4px 10px;border-radius:var(--radius-pill);background:var(--brand-primary);color:var(--color-text-inverse);font-size:var(--font-size-caption);font-weight:700}.upload-slot{width:100%;min-height:200px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-5);border:2px dashed var(--color-line-strong);border-radius:var(--radius-card);background:var(--color-bg-card);color:var(--color-text-subtle);text-align:center}button.upload-slot{font:inherit;cursor:pointer}button.upload-slot:hover{border-color:var(--color-text-strong);color:var(--color-text-strong)}.preview{position:relative;width:min(100%,280px);margin:0 auto;aspect-ratio:1/1;border-radius:var(--radius-card);overflow:hidden;background:var(--tone-bg)}.preview img,.preview svg{width:100%;height:100%}.preview img{object-fit:cover;display:block}.preview .badge{position:absolute;left:var(--space-2);bottom:var(--space-2)}.status-line{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-body);font-weight:600;color:var(--color-text-strong)}.status-line[data-state=ok]{color:var(--color-success)}.status-line[data-state=failed],.status-line[data-state=rejected]{color:var(--color-danger)}.summary-card{flex-direction:column;padding:var(--space-4);border-radius:var(--radius-card);border:1.5px solid var(--color-line);background:var(--color-bg-card)}.summary-card,.summary-head{display:flex;gap:var(--space-3)}.summary-head{align-items:center}.summary-thumb{position:relative;flex:none;width:72px;aspect-ratio:4/5;border-radius:var(--radius-sm);overflow:hidden;background:var(--tone-bg,var(--color-bg-canvas))}.summary-rows{display:grid;grid-template-columns:auto 1fr;grid-gap:var(--space-2) var(--space-4);gap:var(--space-2) var(--space-4);font-size:var(--font-size-body)}.summary-rows dt{color:var(--color-text-subtle)}.summary-rows dd{text-align:right;font-weight:600;color:var(--color-text-strong)}.progress-panel{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);text-align:center}.progress-art{width:160px;height:160px;border-radius:var(--radius-card);object-fit:cover}.dots{display:flex;gap:var(--space-4);flex-wrap:wrap;justify-content:center}.dot{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-caption);font-weight:500;color:var(--color-text-subtle)}.dot:before{content:"";width:14px;height:14px;border-radius:50%;border:2px solid var(--color-line-strong)}.dot[data-state=done]{color:var(--color-text-strong)}.dot[data-state=done]:before{background:var(--color-success);border-color:var(--color-success)}.dot[data-state=current]{color:var(--color-text-strong);font-weight:700}.dot[data-state=current]:before{border-color:var(--brand-primary);background:var(--highlight)}.result-layout{display:flex;flex-direction:column;gap:var(--space-5)}.result-media{position:relative;width:100%;border-radius:var(--radius-photo);overflow:hidden;background:var(--color-bg-canvas);box-shadow:var(--shadow-photo)}.result-media-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);min-height:240px;padding:var(--space-6) var(--space-5) calc(var(--space-7) + var(--space-5));text-align:center}.result-media img,.result-media video{width:100%;height:auto;max-height:80vh;object-fit:contain;background:var(--color-bg-canvas)}.done-strip{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-card);background:var(--tone-cream-bg);color:var(--tone-cream-fg)}.done-strip img{width:56px;height:56px;border-radius:var(--radius-sm)}.retention{gap:var(--space-2);font-size:var(--font-size-body-small);color:var(--color-text-default)}.panel-center,.retention{display:flex;align-items:center}.panel-center{flex-direction:column;gap:var(--space-4);padding:var(--space-7) 0;text-align:center}.panel-center img{width:160px;height:160px;border-radius:var(--radius-card);object-fit:cover}.panel-center .btn{max-width:360px}.vault-card{display:flex;flex-direction:column;gap:var(--space-2)}.vault-card a.card{aspect-ratio:4/5}.vault-meta{gap:var(--space-1)}.list,.vault-meta{display:flex;flex-direction:column}.list{gap:var(--space-2)}.list-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:56px;padding:var(--space-3) var(--space-4);border-radius:var(--radius-button);border:1.5px solid var(--color-line);background:var(--color-bg-card)}.section-title{font-size:var(--font-size-subtitle);font-weight:700;color:var(--color-text-strong);margin-bottom:var(--space-3)}.link-box{display:block;width:100%;padding:var(--space-3);border-radius:var(--radius-button);border:1.5px solid var(--color-line-strong);background:var(--color-bg-soft);font-size:var(--font-size-body-small);word-break:break-all;-webkit-user-select:all;-moz-user-select:all;user-select:all}dialog{padding:0;border:0;color:var(--color-text-default);background:var(--color-bg-card);box-shadow:var(--shadow-float)}dialog::-webkit-backdrop{background:var(--dim)}dialog::backdrop{background:var(--dim)}dialog.sheet{width:100%;max-width:560px;margin:auto auto 0;max-height:88vh;border-radius:var(--radius-sheet) var(--radius-sheet) 0 0}dialog.modal{width:calc(100% - 2 * var(--page-gutter));max-width:480px;margin:auto;border-radius:var(--radius-sheet)}.dialog-inner{position:relative;display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-5) var(--page-gutter) var(--space-5);padding-bottom:calc(var(--space-5) + var(--safe-bottom))}dialog.modal .dialog-inner{padding-bottom:var(--space-5)}.sheet-handle{width:48px;height:5px;margin:0 auto;border-radius:var(--radius-pill);background:var(--color-line-strong)}.sheet-close{position:absolute;right:var(--space-2);top:var(--space-2)}.dialog-actions{display:flex;gap:var(--space-3)}.dialog-actions .btn{flex:1 1;min-height:var(--button-height);padding:0 var(--space-3)}.bullets{padding-left:var(--space-5);list-style:disc}.bullets,.radio-list{display:flex;flex-direction:column;gap:var(--space-2)}.radio-list{border:0;padding:0;margin:0}.radio-list legend{padding:0;margin-bottom:var(--space-2);font-weight:700;color:var(--color-text-strong)}.radio-row{display:flex;align-items:center;gap:var(--space-3);min-height:56px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-button);border:1.5px solid var(--color-line-strong)}.radio-row input{width:24px;height:24px;accent-color:var(--brand-primary)}.radio-row label{flex:1 1;min-height:var(--touch-min);display:flex;align-items:center}textarea.field{width:100%;min-height:120px;padding:var(--space-3);border-radius:var(--radius-button);border:1.5px solid var(--color-line-strong);background:var(--color-bg-card);font-size:var(--font-size-body);resize:vertical}:root{--zoom-bg:#14100E;--zoom-fg:#FFFFFF}.live-result[data-cta=true]{padding-bottom:calc(var(--button-cta-height) + var(--space-7) + var(--safe-bottom))}.shell:has(.cta-bar)>footer{padding-bottom:calc(var(--button-cta-height) + 120px + var(--safe-bottom))}.shell:has(.cta-bar) .live-result[data-cta=true],.shell:has(.cta-bar) .page[data-cta]{padding-bottom:var(--space-5)}.live-photo{aspect-ratio:4/5}.live-photo[data-image=loading]{background:var(--color-bg-soft)}.live-photo-button{position:absolute;inset:0;display:block;width:100%;height:100%;padding:0;border:0;background:none;cursor:zoom-in}.live-photo .live-photo-img{width:100%;height:100%;max-height:none;object-fit:contain;opacity:0;transition:opacity var(--motion-base) var(--motion-ease)}.live-photo[data-image=ready] .live-photo-img{opacity:1}.live-photo .result-media-state{height:100%}.live-zoom-hint{position:absolute;right:var(--space-3);top:var(--space-3);z-index:3;pointer-events:none;padding:6px 12px;border-radius:var(--radius-pill);background:var(--image-badge-bg);color:var(--image-badge-fg);border:1.5px solid var(--image-badge-fg);font-size:var(--font-size-caption);font-weight:600;line-height:1.3}.live-status .live-spinner{width:48px;height:48px;border-width:5px;color:var(--brand-primary)}.live-error{color:var(--color-danger);font-size:var(--font-size-body-small);line-height:var(--line-height-body-small)}.live-ok{display:flex;align-items:center;gap:var(--space-2);color:var(--color-success);font-weight:600}.live-wrap{flex-wrap:wrap}.live-half{flex:1 1 140px;width:auto}.live-fieldset{min-width:0;margin:0;padding:0;border:0}.live-filename{font-weight:600;color:var(--color-text-strong);overflow-wrap:anywhere}.live-details{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-2) var(--space-4);border-radius:var(--radius-card);border:1.5px solid var(--color-line);background:var(--color-bg-card)}.live-details summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:var(--touch-min);font-weight:600;color:var(--color-text-strong);cursor:pointer;list-style:none}.live-details summary::-webkit-details-marker{display:none}.live-details summary:after{content:"";flex:none;width:8px;height:8px;margin-right:4px;border-right:2px solid var(--color-text-subtle);border-bottom:2px solid var(--color-text-subtle);transform:translateY(-2px) rotate(45deg)}.live-details[open] summary:after{transform:translateY(2px) rotate(-135deg)}.live-details[open]{padding-bottom:var(--space-4)}.live-details[open] summary{margin-bottom:var(--space-2)}.live-recovery>.stack{flex:1 1;min-width:0}.live-widget{display:flex;flex-direction:column;gap:var(--space-4);min-height:120px}.live-fake>.stack{flex:1 1;min-width:0}.live-grid{padding:0}.card.live-card-empty:after{display:none}.live-grid .card-bottom .badge{white-space:normal;text-align:left}.live-small-btn{min-height:var(--touch-min);padding:0 var(--space-3);font-size:var(--font-size-body-small)}.live-badge[data-tone=paid]{background:var(--highlight);color:var(--image-badge-fg)}.live-badge[data-tone=failed]{border-color:var(--color-danger)}.live-leave{align-self:flex-start}.consent-manage-list{display:flex;flex-direction:column;gap:var(--space-2);margin:0;padding:0;list-style:none}.consent-manage-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:var(--touch-min);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--color-bg-soft);font-size:var(--font-size-body-small)}.consent-manage-row .badge{flex-shrink:0}.consent-manage-row .badge[data-state=granted]{border-color:var(--color-success);color:var(--color-success)}.live-status [data-warn=true]{font-weight:600;color:var(--color-text-strong)}.live-input{width:100%;min-height:var(--button-height);padding:0 var(--space-3);border-radius:var(--radius-button);border:1.5px solid var(--color-line-strong);background:var(--color-bg-card);font-size:var(--font-size-body)}.live-recover-form{width:100%;max-width:420px;text-align:left}dialog.zoom-dialog{width:100vw;height:100vh;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;overflow:hidden;background:var(--zoom-bg);color:var(--zoom-fg);box-shadow:none}dialog.zoom-dialog[open]{display:flex}dialog.zoom-dialog::-webkit-backdrop{background:var(--zoom-bg)}dialog.zoom-dialog::backdrop{background:var(--zoom-bg)}.zoom-body{display:flex;flex-direction:column;width:100%;height:100%}.zoom-bar{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);padding-top:max(var(--space-2),env(safe-area-inset-top))}.zoom-bar .zoom-close{flex:none;color:var(--zoom-fg);border:2px solid var(--zoom-fg)}.zoom-help{margin:0;font-size:var(--font-size-caption);line-height:var(--line-height-caption);color:var(--zoom-fg)}.zoom-stage{position:relative;display:flex;flex:1 1;align-items:center;justify-content:center;min-height:0;overflow:hidden;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:-webkit-grab;cursor:grab}.zoom-stage[data-dragging=true]{cursor:-webkit-grabbing;cursor:grabbing}.zoom-stage .zoom-img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;transform-origin:center;will-change:transform;-webkit-user-drag:none}.zoom-toolbar{display:flex;justify-content:center;gap:var(--space-3);padding:var(--space-3) var(--page-gutter);padding-bottom:max(var(--space-3),var(--safe-bottom))}.zoom-toolbar .zoom-btn{flex:1 1;max-width:160px;min-height:var(--touch-min);border-radius:var(--radius-button);border:2px solid var(--zoom-fg);background:transparent;color:var(--zoom-fg);font-size:var(--font-size-body-small);font-weight:700}.zoom-toolbar .zoom-btn:disabled{opacity:.5;cursor:default}@media (prefers-reduced-motion:reduce){.live-photo .live-photo-img{transition:none}}.toast{position:fixed;left:50%;bottom:calc(var(--tabbar-height, 0px) + var(--button-cta-height) + var(--space-7));z-index:60;transform:translateX(-50%);display:flex;align-items:center;gap:var(--space-2);width:calc(100% - 2 * var(--page-gutter));max-width:480px;padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);border-radius:var(--radius-button);background:var(--color-text-strong);color:var(--color-bg);box-shadow:var(--shadow-float);font-size:var(--font-size-body-small)}.toast span{flex:1 1}.toast .btn-icon{color:var(--color-bg)}@media (min-width:520px){body{background:var(--color-bg-canvas)}.shell{--column-width:480px;max-width:var(--column-width);margin:0 auto;box-shadow:0 0 0 1px var(--color-line),0 12px 48px rgba(43,36,32,.12)}.cta-bar,.tabbar{left:50%;right:auto;width:min(100%,var(--column-width));transform:translateX(-50%)}.toast{max-width:calc(var(--column-width) - 2 * var(--page-gutter))}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.spinner{animation:none}}.preview-notice{display:flex;align-items:center;gap:var(--space-2);margin:0;padding:var(--space-2) var(--page-gutter);min-height:var(--touch-min);background:var(--tone-cream-bg);color:var(--tone-cream-fg);border-bottom:1px solid var(--color-line);font-size:var(--font-size-body-small);font-weight:600;line-height:1.4}.preview-notice .icon{flex:none}.ai-notice{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin:0;font-size:var(--font-size-body-small);color:var(--color-text-default)}.shell[data-preview=true] .tabbar a{min-height:max(var(--touch-min),var(--tabbar-height))}.scene-picker{display:flex;gap:var(--space-3);margin:0;padding:0 0 var(--space-2);list-style:none;overflow-x:auto;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.scene-picker li{flex:none;width:96px}.scene-pick{display:flex;flex-direction:column;gap:var(--space-1);color:var(--color-text-default);text-decoration:none}.scene-pick-thumb{position:relative;display:block;aspect-ratio:4/5;border-radius:var(--radius-card);overflow:hidden;background:var(--tone-bg,var(--color-bg-canvas));border:3px solid transparent;isolation:isolate}.scene-pick-label{font-size:var(--font-size-caption);font-weight:600;line-height:var(--line-height-caption);text-align:center;word-break:keep-all}.scene-pick[aria-current=true] .scene-pick-thumb{border-color:var(--brand-primary)}.scene-pick[aria-current=true] .scene-pick-label{color:var(--color-text-strong);font-weight:700}.page[data-cta=tall]{padding-bottom:calc(var(--button-cta-height) + 120px + var(--safe-bottom))}.btn:disabled,.btn[aria-disabled=true]{background:var(--color-bg-canvas);border-color:var(--color-line-strong);color:var(--color-text-subtle);cursor:not-allowed}.btn:disabled:hover{background:var(--color-bg-canvas)}.text-input{width:100%;min-height:var(--touch-min);padding:0 var(--space-4);border:2px solid var(--color-line-strong);border-radius:var(--radius-button);background:var(--color-bg-card);font-size:var(--font-size-body)}.offline-banner{display:flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--touch-min);padding:var(--space-2) var(--page-gutter);background:var(--color-text-strong);color:var(--color-bg);font-size:var(--font-size-body-small);font-weight:600;text-align:center}.info-box[data-tone=warn]{border-color:var(--color-warning)}.guide{display:flex;flex-direction:column;gap:var(--space-2)}.guide-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--space-2);gap:var(--space-2)}.guide-tile{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-1);width:100%;min-height:var(--touch-min);padding:0;border:0;background:none;text-align:left}.guide-img{position:relative;display:block;aspect-ratio:1/1;overflow:hidden;border-radius:var(--radius-card);border:3px solid var(--color-danger);background:var(--color-bg-canvas)}.guide-tile[data-good=true] .guide-img{border-color:var(--color-success)}.guide-img img{width:100%;height:100%;object-fit:cover}.guide-mark{position:absolute;right:var(--space-1);bottom:var(--space-1);display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--color-danger);color:#ffffff}.guide-tile[data-good=true] .guide-mark{background:var(--color-success)}.guide-label{font-weight:700;color:var(--color-text-strong)}.guide-label,.guide-tip{font-size:var(--font-size-caption)}.guide-tip{line-height:var(--line-height-caption);color:var(--color-text-subtle)}.guide-large{width:100%;max-width:360px;margin:0 auto;border-radius:var(--radius-card)}.slot-card{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);border:1.5px solid var(--color-line);border-radius:var(--radius-card);background:var(--color-bg-card)}.slot-card[data-state=ready]{border-color:var(--color-success)}.slot-card[data-state=error]{border-color:var(--color-danger)}.slot-scope{font-weight:500;color:var(--color-text-subtle)}.slot-area{position:relative}.slot-area-filled{position:relative;display:block;width:min(100%,280px);margin:0 auto;padding:0;aspect-ratio:4/5;overflow:hidden;border:0;border-radius:var(--radius-card);background:var(--color-bg-canvas)}.slot-area-filled img{width:100%;height:100%;object-fit:cover}.slot-drop{color:var(--color-text-subtle)}@media (hover:none){.slot-drop{display:none}}.slot-busy{position:absolute;inset:0;display:grid;place-items:center;border-radius:inherit;background:var(--dim)}.slot-busy .spinner{color:#ffffff}.slot-progress{width:100%;height:10px;accent-color:var(--brand-primary)}.slot-hints{display:flex;flex-direction:column;gap:var(--space-2)}.slot-error:focus{outline:none}.slot-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-2);gap:var(--space-2)}.slot-actions .btn{padding:0 var(--space-2);font-size:var(--font-size-body-small);white-space:nowrap}@media (max-width:400px){.slot-actions .btn .icon{display:none}}.slot-dots{display:flex;gap:var(--space-2)}.slot-dots li{width:12px;height:12px;border-radius:50%;border:2px solid var(--color-line-strong)}.slot-dots li[data-state=done]{background:var(--color-success);border-color:var(--color-success)}.consent-body{padding:var(--space-3);border-radius:var(--radius-sm);background:var(--color-bg-soft)}.live-progress{align-items:stretch}.live-progress .progress-panel{gap:var(--space-4)}.progress-stage{position:relative;display:grid;place-items:center;width:min(100%,280px);aspect-ratio:4/5;overflow:hidden;border-radius:var(--radius-photo);background:var(--color-bg-canvas)}.progress-backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:blur(14px) saturate(.9);transform:scale(1.1);opacity:.55}.progress-stage .progress-art{position:relative;animation:live-float 3.2s ease-in-out infinite}@keyframes live-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.range-bar{width:100%;max-width:320px;height:12px;overflow:hidden;border-radius:var(--radius-pill);background:var(--color-line)}.range-bar>span{display:block;height:100%;border-radius:inherit;background:var(--brand-primary);transition:width 1s linear}.live-failure{gap:var(--space-4)}.live-failure h1:focus,.live-progress h1:focus{outline:none}@media (prefers-reduced-motion:reduce){.progress-stage .progress-art{animation:none}.range-bar>span{transition:none}}.legal_page__hv_96{padding:var(--space-5) var(--page-gutter) var(--space-7);color:var(--color-text-default);font-size:var(--font-size-body-small);line-height:1.75;overflow-wrap:anywhere}.legal_title__H9pYi{color:var(--color-text-strong);font-size:var(--font-size-title);font-weight:var(--font-weight-title);line-height:var(--line-height-title)}.legal_lead__rkg7k,.legal_title__H9pYi{margin:0 0 var(--space-3)}.legal_lead__rkg7k:first-of-type{color:var(--color-text-subtle);font-size:var(--font-size-caption)}.legal_others__vzgxt{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);margin:var(--space-4) 0;padding:0;list-style:none}.legal_others__vzgxt a{display:inline-flex;align-items:center;min-height:var(--touch-min);font-size:var(--font-size-caption)}.legal_toc__ihrPB{margin:var(--space-4) 0 var(--space-5);border:1px solid var(--color-line);border-radius:var(--radius-card);background:var(--color-bg-card)}.legal_toc__ihrPB summary{display:flex;align-items:center;min-height:var(--touch-min);padding:0 var(--space-4);color:var(--color-text-strong);font-weight:600;cursor:pointer}.legal_toc__ihrPB ol{margin:0;padding:var(--space-1) var(--space-4) var(--space-3) var(--space-4);list-style:none}.legal_toc__ihrPB a{display:flex;align-items:center;min-height:var(--touch-min);font-size:var(--font-size-caption);line-height:1.4}.legal_section__yhIIL{margin:0 0 var(--space-6);scroll-margin-top:var(--space-5)}.legal_heading__1QlYd{color:var(--color-text-strong);font-size:var(--font-size-subtitle);font-weight:var(--font-weight-subtitle);line-height:var(--line-height-subtitle)}.legal_heading__1QlYd,.legal_section__yhIIL ol,.legal_section__yhIIL p,.legal_section__yhIIL ul{margin:0 0 var(--space-3)}.legal_section__yhIIL ol,.legal_section__yhIIL ul{padding-left:var(--space-5)}.legal_section__yhIIL ol{list-style:decimal}.legal_section__yhIIL ul{list-style:disc}.legal_section__yhIIL li{margin:0 0 var(--space-2)}.legal_tableWrap__2aoLv{margin:0 0 var(--space-3)}.legal_table__HLCte{width:100%;border-collapse:collapse}.legal_table__HLCte caption{margin-bottom:var(--space-2);color:var(--color-text-subtle);text-align:left}.legal_table__HLCte thead{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.legal_table__HLCte tbody,.legal_table__HLCte td,.legal_table__HLCte tr{display:block}.legal_table__HLCte tr{margin:0 0 var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--color-line);border-radius:var(--radius-card);background:var(--color-bg-card)}.legal_table__HLCte td{padding:var(--space-1) 0}.legal_table__HLCte td:before{content:attr(data-label);display:block;color:var(--color-text-subtle);font-size:var(--font-size-caption);font-weight:600}.legal_table__HLCte td:empty{display:none}.legal_footer__z6BbT{padding:var(--space-5) var(--page-gutter) var(--space-6);border-top:1px solid var(--color-line);color:var(--color-text-subtle);font-size:var(--font-size-caption);line-height:1.7;overflow-wrap:anywhere}.legal_footerLinks__ZhzvU{display:flex;flex-wrap:wrap;gap:0 var(--space-4);margin:0 0 var(--space-3);padding:0;list-style:none}.legal_footerLinks__ZhzvU a{display:inline-flex;align-items:center;min-height:var(--touch-min);color:var(--color-text-default);font-weight:600}.legal_footer__z6BbT p{margin:0}.legal_nowrap__j0kt_{white-space:nowrap}.legal_footer__z6BbT a{color:inherit}