:root{font-family:Inter,Segoe UI Variable Text,Segoe UI,Arial,sans-serif;color:#17313a;background:#f4f6f4;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--ink: #17313a;--muted: #66777b;--line: #dce5e3;--teal: #137f76;--teal-dark: #0d625c;--teal-soft: #e5f4ef;--navy: #112a32;--white: #fff;--danger: #a8413a}*{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}body{min-width:320px;background:radial-gradient(circle at 8% 2%,rgba(184,221,212,.32),transparent 30%),radial-gradient(circle at 98% 60%,rgba(229,230,207,.28),transparent 28%),#f4f6f4}button,input{font:inherit}button{cursor:pointer}img{display:block;max-width:100%}:focus-visible{outline:3px solid #e6ad61;outline-offset:3px}.app-shell{width:min(1480px,calc(100% - 56px));margin:0 auto;padding:32px 0 48px}.app-header{display:flex;justify-content:space-between;align-items:end;gap:36px;padding:5px 2px 32px}.app-header__copy{min-width:0}.app-header__eyebrow,.panel__eyebrow,.empty-state__eyebrow{display:inline-flex;align-items:center;gap:9px;color:var(--teal-dark);font-size:.7rem;font-weight:850;letter-spacing:.15em}.brand-mark{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:10px;background:var(--teal);color:#fff;font-size:1.35rem;line-height:1;letter-spacing:0}.app-header h1{margin:17px 0 10px;color:var(--navy);font-size:clamp(2.25rem,4.3vw,4.3rem);font-weight:760;line-height:1.05;letter-spacing:-.065em}.app-header h1 em{color:var(--teal);font-family:Georgia,serif;font-weight:400;letter-spacing:-.05em}.app-header p{margin:0;color:#405b61;font-size:1.03rem;line-height:1.5}.app-header small{display:block;margin-top:9px;color:var(--muted);font-size:.78rem;line-height:1.4}.app-header__session{display:grid;justify-items:end;gap:12px;flex:0 0 auto}.session-strip{display:grid;gap:4px;min-width:236px;padding:14px 18px 15px 21px;border:1px solid var(--line);border-left:4px solid #b9c8c5;border-radius:14px;background:#ffffffc7;box-shadow:0 12px 28px #16343709}.session-strip--busy{border-left-color:#d39853}.session-strip--ready{border-left-color:var(--teal)}.session-strip--error{border-left-color:var(--danger)}.session-strip__eyebrow{color:var(--muted);font-size:.65rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.session-strip strong{font-size:.92rem;line-height:1.3}.session-strip small{margin:0;color:var(--muted);font-size:.72rem}.button-row{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.primary-button,.secondary-button,.ghost-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:43px;padding:9px 15px;border:1px solid transparent;border-radius:11px;font-size:.86rem;font-weight:760;line-height:1.2;transition:background-color .18s,border-color .18s,box-shadow .18s,transform .18s}.primary-button{color:#fff;background:var(--teal);box-shadow:0 7px 15px #0d6f6629}.primary-button:hover{background:var(--teal-dark);transform:translateY(-1px)}.secondary-button{color:var(--teal-dark);background:#fff;border-color:#b9d9d2}.secondary-button:hover{background:var(--teal-soft)}.ghost-button{color:#355057;background:#fff;border-color:var(--line)}.ghost-button:hover{background:#ecf3f0}button:disabled{cursor:not-allowed;opacity:.55;transform:none!important;box-shadow:none!important}.primary-button--wide{width:100%}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 345px;gap:20px;align-items:start}.workspace__preview,.workspace__rail{min-width:0}.workspace__rail{display:grid;gap:16px}.panel,.upload-card{border:1px solid var(--line);border-radius:22px;background:var(--white);box-shadow:0 18px 42px #1734370b}.panel,.upload-card{padding:23px}.panel__header{display:flex;align-items:start;justify-content:space-between;gap:14px;margin-bottom:18px}.panel__heading{display:grid;gap:7px}.panel__heading h2,.upload-card h2{margin:0;color:var(--navy);font-size:1.42rem;letter-spacing:-.04em;line-height:1.18}.panel__heading p{margin:0;color:var(--muted);font-size:.86rem;line-height:1.4}.pill{display:inline-flex;width:fit-content;align-items:center;padding:5px 9px;border-radius:7px;background:#eff4f2;color:var(--teal-dark);font-size:.68rem;font-weight:800;letter-spacing:.03em}.pill--busy{background:#fff2e4;color:#a76823}.upload-card__head{display:grid;gap:8px}.upload-card__intro{order:2}.upload-card h2{font-size:1.27rem}.upload-card h2 span{color:var(--teal)}.upload-card__head p{margin:0;color:var(--muted);font-size:.82rem;line-height:1.46}.upload-card__dropzone{display:grid;justify-items:center;gap:13px;margin-top:17px;padding:25px 16px 17px;border:1.5px dashed #a9ccc3;border-radius:17px;background:#f4faf7;text-align:center;transition:border-color .18s,background-color .18s,transform .18s}.upload-card--dragging .upload-card__dropzone{border-color:var(--teal);background:#e4f5ec;transform:scale(1.01)}.upload-card__signal{position:relative;display:grid;place-items:center;width:58px;height:58px;border-radius:17px;background:#e1f1e9}.upload-card__signal:after{content:"↥";position:relative;z-index:1;color:var(--teal);font-size:2rem;font-weight:400;line-height:1}.upload-card__signal span{position:absolute;border:1px solid rgba(31,134,117,.15);border-radius:50%}.upload-card__signal span:nth-child(1){width:32px;height:32px}.upload-card__signal span:nth-child(2){width:45px;height:45px}.upload-card__signal span:nth-child(3){width:57px;height:57px}.upload-card__dropzone-copy{display:grid;gap:6px}.upload-card__dropzone-copy strong{font-size:.9rem;letter-spacing:-.015em}.upload-card__dropzone-copy p{margin:0;color:var(--muted);font-size:.75rem;line-height:1.42}.upload-card__actions{width:100%;display:grid;gap:9px;margin-top:3px}.upload-card__hint{margin:0;color:#7e9091;font-size:.72rem}.upload-card__error{margin:12px 0 0;padding:10px 12px;border-radius:9px;background:#fff0ee;color:var(--danger);font-size:.8rem;line-height:1.4}.upload-card__meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0 0}.upload-card__meta div{min-width:0;padding:9px 10px;border-radius:9px;background:#f3f6f5}.upload-card__meta dt{margin-bottom:3px;color:var(--muted);font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.upload-card__meta dd{overflow:hidden;margin:0;font-size:.77rem;font-weight:740;white-space:nowrap;text-overflow:ellipsis}.controls-panel .panel__header{display:block;margin-bottom:18px}.controls-panel .panel__heading{gap:6px}.controls-panel .panel__heading h2{font-size:1.27rem}.controls-panel__status{margin-top:10px}.controls-panel__footnote{margin:15px 0 0;color:var(--muted);font-size:.72rem}.control-group{display:grid;gap:10px}.control-group+.control-group{margin-top:18px}.control-group__header{display:flex;justify-content:space-between;gap:12px;align-items:start}.control-group__copy{display:grid;gap:3px}.control-group__label{color:#35545a;font-size:.78rem;font-weight:800}.control-group__description,.control-group__status{margin:0;color:var(--muted);font-size:.72rem;line-height:1.35}.control-group__status{color:var(--teal-dark);white-space:nowrap}.segmented{display:grid;gap:7px}.segmented--animal{grid-template-columns:1fr 1fr}.segmented__option{position:relative;display:grid;gap:3px;min-width:0;min-height:50px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:#fafcfb;color:var(--ink);text-align:left;transition:border-color .18s,background-color .18s,box-shadow .18s}.segmented__option:hover{border-color:#91c5b8}.segmented__option--active{border-color:var(--teal);background:#eaf6f1;box-shadow:inset 0 0 0 1px var(--teal)}.segmented__option--active:after{content:"✓";position:absolute;top:9px;right:10px;color:var(--teal);font-size:.7rem;font-weight:900}.segmented__symbol{color:var(--teal);font-size:1.45rem;line-height:1}.segmented__title{font-size:.85rem;font-weight:800;line-height:1.2}.segmented__caption{color:var(--muted);font-size:.69rem;line-height:1.35}.segmented--animal .segmented__option{min-height:112px;align-content:start}.segmented--animal .segmented__caption{margin-top:2px}.advanced-panel{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.advanced-panel summary{display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;list-style:none}.advanced-panel summary::-webkit-details-marker{display:none}.advanced-panel summary span{font-size:.86rem;font-weight:800}.advanced-panel summary small{color:var(--muted);font-size:.69rem}.advanced-panel summary:after{content:"+";margin-left:4px;color:var(--teal);font-size:1.2rem;line-height:1}.advanced-panel[open] summary{margin-bottom:18px}.advanced-panel[open] summary:after{content:"−"}.panel--preview{min-height:680px;padding:25px;border-color:#163b42;background:var(--navy);color:#fff;box-shadow:0 22px 44px #122e3524}.panel--preview .panel__eyebrow{color:#76cabe}.panel--preview .panel__heading h2{color:#fff;font-size:clamp(1.35rem,2vw,1.75rem)}.panel--preview .panel__heading p{color:#a8c0c2}.preview-status{display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;padding:7px 11px;border:1px solid rgba(255,255,255,.1);border-radius:99px;color:#b5c8c9;background:#ffffff0e;font-size:.72rem;font-weight:750}.preview-status>span{width:6px;height:6px;border-radius:50%;background:#a1b3b4}.preview-status--ready{color:#a6e6d7}.preview-status--ready>span{background:#68c9b1}.preview-status--error{color:#ffc0b8}.preview-status--error>span{background:#ed988b}.preview-stage{position:relative;min-height:clamp(380px,57vh,650px);overflow:hidden;border:1px solid rgba(255,255,255,.09);border-radius:17px;background:#091d24}.preview-stack,.preview-single{height:100%;min-height:inherit}.preview-single{display:grid;place-items:center}.preview-single img{width:100%;height:clamp(320px,55vh,590px);object-fit:contain;padding:15px}.preview-message{position:absolute;inset:auto 15px 15px;display:flex;align-items:center;gap:13px;padding:12px 14px;border:1px solid rgba(255,255,255,.14);border-radius:11px;background:#0f2a31eb;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.preview-message strong{font-size:.84rem}.preview-message p{margin:2px 0 0;color:#bfd1d2;font-size:.76rem;line-height:1.38}.preview-message--error{justify-content:space-between;border-color:#ed988b80}.preview-message--error p{color:#ffd0c9}.preview-message .secondary-button{flex:0 0 auto}.loading-spinner{width:18px;height:18px;flex:0 0 auto;border:2px solid rgba(255,255,255,.25);border-top-color:#79d5bf;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.compare{position:relative;min-height:clamp(380px,57vh,650px);overflow:hidden;background:#091d24}.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;z-index:2;inset:16px 16px auto;display:flex;justify-content:space-between;gap:12px;pointer-events:none}.compare__labels span{padding:7px 11px;border:1px solid rgba(255,255,255,.16);border-radius:7px;background:#0d242ac7;color:#eaf5f4;font-size:.69rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.compare__handle{position:absolute;z-index:2;top:0;bottom:0;width:2px;background:#fff;box-shadow:0 0 0 1px #0000001f;transform:translate(-50%);pointer-events:none}.compare__handle-knob{position:absolute;top:50%;left:50%;display:grid;place-items:center;width:46px;height:46px;border:3px solid white;border-radius:50%;background:var(--teal);box-shadow:0 7px 24px #0000004d;transform:translate(-50%,-50%)}.compare__handle-knob:after{content:"‹  ›";color:#fff;font-size:1.55rem;font-weight:500;letter-spacing:-.13em;line-height:1;transform:translate(-2px)}.compare:focus-within .compare__handle-knob{box-shadow:0 0 0 4px #e6ad61,0 7px 24px #0000004d}.compare__range{position:absolute;z-index:3;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;touch-action:pan-y}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:clamp(380px,57vh,650px);padding:28px;text-align:center}.empty-state__art{position:relative;display:grid;place-items:center;width:204px;height:204px;margin-bottom:16px;border-radius:50%;background:radial-gradient(circle,rgba(40,132,117,.3),transparent 67%)}.empty-state__orbit{position:absolute;inset:12px;border:1px solid rgba(125,212,188,.25);border-radius:50%;box-shadow:0 0 0 27px #7dd4bc09,0 0 0 53px #7dd4bc06}.empty-state__eye{display:grid;place-items:center;width:114px;height:68px;border:2px solid #69bdae;border-radius:100% 0;transform:rotate(45deg);background:#1a635a42}.empty-state__eye span{width:42px;height:42px;border:7px solid #6ccbb5;border-radius:50%;background:#0c3c41;box-shadow:inset 0 0 0 7px #102e37}.empty-state__eyebrow{color:#78cbbc}.empty-state strong{margin-top:10px;color:#fff;font-size:clamp(1.4rem,2.3vw,2rem);line-height:1.15;letter-spacing:-.04em}.empty-state p{max-width:35ch;margin:9px 0 0;color:#a8c0c2;font-size:.9rem;line-height:1.5}.preview-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:9px 18px;margin-top:16px}.preview-toolbar{display:flex;flex-wrap:wrap;gap:7px}.preview-chip{display:inline-flex;align-items:center;padding:6px 9px;border:1px solid rgba(151,207,193,.22);border-radius:7px;background:#26605d40;color:#c4e5da;font-size:.7rem;font-weight:730}.preview-note{margin:0;color:#91adb0;font-size:.72rem;line-height:1.4}.progress{display:grid;grid-template-columns:1fr auto;gap:7px 12px;margin-top:17px}.progress__bar{grid-column:1 / -1;height:5px;max-width:100%;border-radius:8px;background:#75cdb6;box-shadow:0 0 15px #75cdb666}.progress__copy{grid-column:1 / -1;display:flex;justify-content:space-between;color:#a8c0c2;font-size:.72rem}@media(max-width:1120px){.app-shell{width:min(100% - 36px,960px)}.workspace{grid-template-columns:minmax(0,1fr) 310px;gap:14px}.app-header h1{font-size:clamp(2rem,4vw,3.5rem)}}@media(max-width:840px){.app-header{align-items:start}.app-header__session{justify-items:end}.workspace{grid-template-columns:1fr}.workspace__rail{grid-row:1;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.workspace--has-image .workspace__rail{grid-row:2}.panel--preview{min-height:0}}@media(max-width:640px){.app-shell{width:calc(100% - 28px);padding:18px 0 30px}.app-header{display:grid;gap:20px;padding-bottom:22px}.app-header h1{margin-top:15px;font-size:clamp(2.35rem,11vw,3.6rem)}.app-header p{font-size:.9rem}.app-header__session{justify-items:stretch;width:100%}.session-strip{min-width:0}.button-row{justify-content:stretch}.button-row>*{flex:1}.workspace__rail{grid-template-columns:1fr}.workspace--has-image .workspace__preview{grid-row:1}.workspace--has-image .workspace__rail{grid-row:2}.panel,.upload-card{padding:18px;border-radius:18px}.panel--preview{padding:17px}.panel__header--preview{align-items:start}.panel--preview .panel__heading h2{font-size:1.3rem}.panel--preview .panel__heading p{font-size:.75rem}.preview-status{padding:5px 8px;font-size:.65rem}.preview-stage,.compare,.empty-state{min-height:330px}.preview-single img{height:330px}.empty-state__art{width:130px;height:130px}.empty-state__orbit{inset:4px}.empty-state__eye{width:85px;height:50px}.empty-state__eye span{width:32px;height:32px;border-width:5px}.empty-state p{font-size:.79rem}.compare__labels{inset:11px 11px auto}.compare__labels span{padding:6px 7px;font-size:.58rem}.preview-message{inset:auto 9px 9px}.preview-message--error{align-items:start;flex-direction:column}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
