:root{color-scheme:light;font-family:var(--font-body);line-height:1.5;font-weight:500;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--font-display: "Segoe UI Variable Display", "Aptos Display", "Trebuchet MS", sans-serif;--font-body: "Aptos", "Segoe UI Variable Text", "Segoe UI", sans-serif;--ink: #13202d;--ink-soft: #546576;--ink-faint: #7a8996;--surface: rgba(251, 247, 241, .94);--surface-strong: rgba(255, 255, 255, .9);--surface-warm: rgba(247, 240, 231, .96);--surface-cool: rgba(247, 240, 231, .96);--line: rgba(19, 32, 45, .12);--line-strong: rgba(19, 32, 45, .2);--surface-dark: #2b323a;--surface-dark-alt: #1f252d;--white-line: rgba(255, 255, 255, .12);--white-line-strong: rgba(255, 255, 255, .18);--amber: #d0872d;--amber-deep: #9a5d17;--blue: #dfab6b;--blue-deep: #8f5418;--success: #8f5418;--success-soft: rgba(208, 135, 45, .14);--danger: #b45043;--danger-soft: rgba(180, 80, 67, .14);--focus-ring: rgba(208, 135, 45, .28);color:var(--ink)}*{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}body{min-width:320px;font-family:var(--font-body);background:radial-gradient(circle at top left,rgba(208,135,45,.1),transparent 24%),linear-gradient(180deg,#eee6da,#f3eee7 55%,#f6f2ec)}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.16),transparent 32%);opacity:.75}button,input{font:inherit}button{cursor:pointer}img{display:block;max-width:100%}button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}.app-shell{width:min(1360px,calc(100vw - 28px));margin:0 auto;padding:12px 0 24px}.app-header{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 14px;border:1px solid var(--line);border-radius:18px;background:#ffffffb8;box-shadow:0 10px 22px #4c3a230f,inset 0 1px #ffffffb3}.app-header:after{display:none}.app-header__copy{display:grid;gap:4px}.app-header__eyebrow,.panel__eyebrow,.upload-card__eyebrow,.empty-state__eyebrow,.session-strip__eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--amber-deep);font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.app-header__copy h1{margin:0;max-width:none;color:var(--ink);font-family:var(--font-display);font-size:clamp(1.28rem,1.8vw,1.55rem);line-height:1;letter-spacing:-.05em}.app-header__copy p{margin:0;max-width:34ch;color:var(--ink-soft);font-size:.82rem;line-height:1.4}.app-header__session{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:6px}.session-strip{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;min-width:0;padding:7px 10px;border:1px solid rgba(19,32,45,.08);border-radius:999px;background:#ffffffd6;color:var(--ink);box-shadow:none}.session-strip strong{font-size:.84rem;line-height:1.2;letter-spacing:-.02em}.session-strip small{color:var(--ink-faint);font-size:.74rem;line-height:1.4}.session-strip--busy,.session-strip--ready{border-color:#d0872d2e}.session-strip--error{border-color:#b4504342}.session-strip--error .session-strip__eyebrow,.session-strip--error strong{color:#ffccc3}.button-row{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.primary-button,.secondary-button,.ghost-button{display:inline-flex;align-items:center;justify-content:center;min-height:38px;border:1px solid transparent;border-radius:12px;padding:8px 12px;font-weight:700;letter-spacing:-.01em;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background-color .16s ease,color .16s ease,opacity .16s ease}.primary-button{background:linear-gradient(135deg,var(--amber) 0%,#eab66a 100%);color:#2a1b08;box-shadow:inset 0 1px #ffffff57,0 6px 14px #9f6b2724}.primary-button--wide{width:100%}.secondary-button{background:#ffffffd6;color:var(--ink);border-color:#d0872d1f;box-shadow:0 4px 10px #4c3a230d}.ghost-button{border-color:#13202d1a;background:#ffffff85;color:var(--ink)}.primary-button:hover,.secondary-button:hover,.ghost-button:hover{transform:translateY(-1px)}.primary-button:active,.secondary-button:active,.ghost-button:active{transform:translateY(0)}.primary-button:disabled,.secondary-button:disabled,.ghost-button:disabled{cursor:default;opacity:.46;box-shadow:none;transform:none}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:14px;margin-top:12px;align-items:start}.workspace__preview,.workspace__rail{min-width:0}.workspace__rail{position:sticky;top:16px;display:grid;gap:12px;align-self:start}.panel,.upload-card{position:relative;overflow:hidden;padding:14px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,#ffffffc7,#f7f1e8eb);box-shadow:0 10px 22px #4c3a230f,inset 0 1px #ffffffad}.panel:before,.upload-card:before{display:none}.panel__header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.panel__header--stacked{display:grid;gap:10px}.panel__heading{display:grid;gap:5px}.panel__heading h2{margin:0;font-family:var(--font-display);font-size:1.08rem;letter-spacing:-.04em}.panel__heading p{margin:0;color:var(--ink-soft);line-height:1.52}.pill{display:inline-flex;align-items:center;justify-content:center;width:fit-content;padding:5px 9px;border-radius:999px;background:#d0872d1f;color:var(--amber-deep);font-size:.72rem;font-weight:800;white-space:nowrap}.pill--busy{background:#d0872d26;color:var(--amber-deep)}.pill--ready{background:#d0872d24;color:var(--amber-deep)}.upload-card{background:linear-gradient(180deg,#fffc,#f8f1e7f0)}.upload-card__head{display:grid;gap:8px}.upload-card__intro{display:flex;align-items:center;justify-content:space-between;gap:12px}.upload-card__head h2{margin:0;font-family:var(--font-display);font-size:1.08rem;letter-spacing:-.04em}.upload-card__head p,.upload-card__hint,.upload-card__dropzone-copy p,.controls-panel__status p,.control-group__description{margin:0;color:var(--ink-soft);font-size:.84rem;line-height:1.42}.upload-card__dropzone{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px 16px;align-items:start;margin-top:12px;padding:14px;border:1px dashed rgba(19,32,45,.18);border-radius:16px;background:#ffffff94;transition:transform .16s ease,border-color .16s ease,background-color .16s ease,box-shadow .16s ease}.upload-card--dragging .upload-card__dropzone{transform:translateY(-1px);border-color:#d0872d4d;background:#ffffffc7;box-shadow:0 12px 24px #7d55231a}.upload-card__signal{position:relative;display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,#d0872d2e,#e7b67124);overflow:hidden}.upload-card__signal span{position:absolute;border:1px solid rgba(19,32,45,.14);border-radius:999px}.upload-card__signal span:nth-child(1){width:18px;height:18px}.upload-card__signal span:nth-child(2){width:32px;height:32px}.upload-card__signal span:nth-child(3){width:46px;height:46px}.upload-card__dropzone-copy{display:grid;gap:5px}.upload-card__dropzone-copy strong{font-size:.92rem;letter-spacing:-.02em}.upload-card__actions{grid-column:1 / -1;display:grid;gap:8px}.upload-card__meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0 0}.upload-card__meta div{min-width:0;padding:10px 11px;border:1px solid rgba(19,32,45,.08);border-radius:14px;background:#ffffff9e}.upload-card__meta dt{margin-bottom:4px;color:var(--ink-faint);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}.upload-card__meta dd{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:800}.controls-panel{background:linear-gradient(180deg,#fffc,#f8f1e7f0)}.controls-panel__status{display:flex;align-items:center;justify-content:flex-start;gap:8px}.control-group{display:grid;gap:10px}.control-group+.control-group{margin-top:14px}.control-group__header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.control-group__copy{display:grid;gap:4px}.control-group__label{font-size:.96rem;font-weight:800;letter-spacing:-.02em}.control-group__status{color:var(--amber-deep);font-size:.8rem;font-weight:800;text-align:right}.segmented{display:grid;gap:8px}.segmented__option{position:relative;display:grid;gap:5px;min-height:62px;padding:10px 12px 10px 14px;border:1px solid rgba(19,32,45,.08);border-radius:14px;background:#ffffffbd;color:var(--ink);text-align:left;align-content:start;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background-color .16s ease}.segmented__option:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;border-radius:14px 0 0 14px;background:transparent;transition:background-color .16s ease}.segmented__option:hover{transform:translateY(-1px);border-color:#13202d24;box-shadow:0 8px 18px #29323d12}.segmented__option--active{border-color:#d0872d3d;background:linear-gradient(135deg,#fff8edfa,#fbf3e9f5);box-shadow:0 12px 22px #272f3a14,inset 0 1px #ffffffdb}.segmented__option--active:before{background:linear-gradient(180deg,var(--amber),#e4b374)}.segmented__title{font-size:.9rem;font-weight:800;line-height:1.18}.segmented__caption{color:var(--ink-soft);font-size:.76rem;line-height:1.34}.advanced-panel{margin-top:2px;padding-top:12px;border-top:1px solid rgba(19,32,45,.08)}.advanced-panel summary{position:relative;display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:8px 14px;padding-right:22px;cursor:pointer;color:var(--ink);list-style:none}.advanced-panel summary span{font-weight:800}.advanced-panel summary small{color:var(--ink-faint);font-size:.82rem;line-height:1.4}.advanced-panel summary:after{content:"+";position:absolute;top:0;right:0;color:var(--ink-faint);font-size:1.05rem;transition:transform .16s ease}.advanced-panel summary::-webkit-details-marker{display:none}.advanced-panel[open] summary{margin-bottom:14px}.advanced-panel[open] summary:after{transform:rotate(45deg)}.panel--preview{background:linear-gradient(180deg,#fffc,#f7f1e8f0);border-color:var(--line);box-shadow:0 10px 22px #4c3a230f,inset 0 1px #ffffffad}.panel--preview .panel__heading h2{color:var(--ink);font-size:1.1rem}.preview-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.preview-chip{display:inline-flex;align-items:center;padding:6px 9px;border:1px solid rgba(19,32,45,.1);border-radius:999px;background:#ffffffa3;color:var(--ink-soft);font-size:.72rem;font-weight:800;letter-spacing:-.01em}.preview-chip--status{border-color:#d0872d33;background:#d0872d1a;color:var(--amber-deep)}.preview-chip--animal,.preview-chip--light,.preview-chip--mode{color:var(--ink)}.preview-chip--meta{color:var(--ink-faint)}.preview-stage{position:relative;min-height:360px}.preview-stack,.preview-single{display:grid;gap:12px;height:100%}.preview-single img{width:100%;height:clamp(260px,46vh,520px);object-fit:contain;padding:14px;border:1px solid rgba(19,32,45,.08);border-radius:16px;background:#252d37f5}.compare{position:relative;min-height:clamp(360px,56vh,640px);border:1px solid rgba(19,32,45,.08);border-radius:16px;overflow:hidden;background:linear-gradient(180deg,#2c333c,#222932);box-shadow:inset 0 1px #ffffff0a}.compare__image,.compare__after{position:absolute;inset:0;width:100%;height:100%}.compare__image{object-fit:contain;padding:14px}.compare__after{overflow:hidden}.compare__labels{position:absolute;inset:14px 14px auto;display:flex;justify-content:space-between;gap:8px;z-index:2;pointer-events:none}.compare__labels span{padding:7px 11px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:#141b236b;color:#f7fbff;font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.compare__handle{position:absolute;top:0;bottom:0;width:2px;z-index:2;background:#ffffffe0;transform:translate(-50%);pointer-events:none}.compare__handle-knob{position:absolute;top:50%;left:50%;width:48px;height:48px;border:1px solid rgba(15,22,30,.18);border-radius:50%;background:linear-gradient(135deg,#fffdf8,#edf4fb);box-shadow:0 12px 28px #080c1242;transform:translate(-50%,-50%)}.compare__handle-knob:before,.compare__handle-knob:after{content:"";position:absolute;top:50%;width:8px;height:8px;border-top:2px solid rgba(19,32,45,.42);border-right:2px solid rgba(19,32,45,.42)}.compare__handle-knob:before{left:14px;transform:translateY(-50%) rotate(225deg)}.compare__handle-knob:after{right:14px;transform:translateY(-50%) rotate(45deg)}.compare__range{position:absolute;inset:auto 16px 16px;z-index:3;width:calc(100% - 32px);background:transparent;appearance:none;-webkit-appearance:none}.compare__range::-webkit-slider-runnable-track{height:8px;border-radius:999px;background:linear-gradient(90deg,#d0872df0,#e7b671f0)}.compare__range::-webkit-slider-thumb{width:20px;height:20px;margin-top:-6px;border:1px solid rgba(15,22,30,.16);border-radius:50%;background:#fff;box-shadow:0 6px 14px #080c1242;-webkit-appearance:none}.compare__range::-moz-range-track{height:8px;border-radius:999px;background:linear-gradient(90deg,#d0872df0,#e7b671f0)}.compare__range::-moz-range-thumb{width:20px;height:20px;border:none;border-radius:50%;background:#fff;box-shadow:0 6px 14px #080c1242}.empty-state{display:grid;place-items:center;gap:8px;min-height:220px;padding:24px;border:1px solid rgba(19,32,45,.08);border-radius:16px;background:#ffffff7a;text-align:center}.empty-state strong{color:var(--ink);font-family:var(--font-display);font-size:1.2rem;line-height:1;letter-spacing:-.04em}.empty-state p{margin:0;max-width:34ch;color:var(--ink-soft);line-height:1.5}.empty-state--hero{min-height:360px}.empty-state--inline{min-height:unset;padding:16px}.empty-state--placeholder{border-style:dashed;background:#ffffff52}.empty-state--error{background:linear-gradient(180deg,#b450432e,#b4504314);border-color:#ffccc333}.progress{display:grid;gap:8px;margin-top:12px;padding:12px 14px;border:1px solid rgba(19,32,45,.08);border-radius:20px;background:#ffffff8a}.progress__bar{height:9px;border-radius:999px;background:linear-gradient(90deg,var(--amber),#e4b374);box-shadow:0 6px 18px #d0872d2e}.progress__copy{display:flex;justify-content:space-between;gap:12px;color:var(--ink-soft);font-size:.82rem;font-weight:700}.preview-note{margin:10px 0 0;color:var(--ink-faint);font-size:.76rem;line-height:1.44}@media(max-width:1120px){.app-header{grid-template-columns:1fr;align-items:start}.app-header__session,.button-row{justify-content:flex-start}.workspace{grid-template-columns:1fr}.workspace__preview{order:2}.workspace__rail{order:1;position:static}.workspace--has-image .workspace__preview,.workspace--has-result .workspace__preview{order:1}.workspace--has-image .workspace__rail,.workspace--has-result .workspace__rail{order:2}.panel__header{flex-direction:column;align-items:flex-start}.preview-toolbar{justify-content:flex-start}}@media(max-width:720px){.app-shell{width:min(100vw - 16px,100%);padding:12px 0 24px}.app-header,.panel,.upload-card{padding:12px;border-radius:16px}.app-header__copy h1{max-width:none;font-size:clamp(1.2rem,7vw,1.55rem)}.app-header__copy p{display:none}.session-strip{min-width:0;width:100%}.button-row{width:100%}.button-row>*{flex:1 1 0;min-width:0}.upload-card__intro,.controls-panel__status,.control-group__header{flex-direction:column;align-items:flex-start}.upload-card__dropzone,.upload-card__meta{grid-template-columns:1fr}.preview-stage,.compare,.empty-state--hero{min-height:320px}.preview-single img{height:260px}.compare__image{padding:12px}}@media(max-width:560px){.compare__labels{inset:12px 12px auto;flex-direction:column;align-items:flex-start}.compare__range{inset:auto 12px 12px;width:calc(100% - 24px)}.preview-stage,.compare,.empty-state--hero{min-height:280px}.empty-state{padding:18px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
