:root{color:#172033;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at 0 0,#ffc4896b,#0000 30%),radial-gradient(circle at 100% 0,#4499ff38,#0000 32%),linear-gradient(#f8f1e7 0%,#f6f7fb 52%,#eef4ff 100%);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}*{box-sizing:border-box}html,body,#app{min-height:100%}html{-webkit-text-size-adjust:100%}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}.page-shell{min-height:100dvh;padding:max(24px, env(safe-area-inset-top)) max(24px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left))}.upload-layout,.terminal-state{width:min(1120px,100%);margin:0 auto}.terminal-state{background:#ffffffd1;border:1px solid #17203314;border-radius:32px;align-content:center;gap:16px;min-height:calc(100dvh - 48px);padding:32px;display:grid;box-shadow:0 24px 90px #17203314}.terminal-state__actions{margin-top:8px}.terminal-state[data-tone=error]{border-color:#b0282824}.terminal-state__eyebrow,.hero-card__eyebrow,.dropzone__eyebrow,.image-list__eyebrow{letter-spacing:.14em;text-transform:uppercase;color:#b85d1f;margin:0;font-size:.8rem;font-weight:700}h1,h2,h3,p,dl,dt,dd{margin:0}h1{letter-spacing:-.04em;font-size:clamp(2.3rem,4vw,4.5rem);line-height:.95}h2{letter-spacing:-.03em;font-size:clamp(1.4rem,2vw,2rem);line-height:1.05}.terminal-state__description,.hero-card__description,.dropzone__hint,.image-list__empty p,.image-card__meta span{color:#556178}.hero-card{background:linear-gradient(145deg,#ffffffeb,#f6f9ffe6),#fff;border:1px solid #17203314;border-radius:32px;grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);gap:24px;padding:32px;display:grid;box-shadow:0 30px 80px #17203314}.hero-card__description{max-width:48rem;margin-top:16px;font-size:1.02rem}.hero-card__meta{background:#f8f3eaeb;border:1px solid #b85d1f1f;border-radius:24px;gap:14px;padding:18px;display:grid}.hero-card__meta dt{letter-spacing:.12em;text-transform:uppercase;color:#8b4a1b;font-size:.8rem;font-weight:700}.hero-card__meta dd{margin-top:4px;font-size:1.15rem;font-weight:700}.banner{border:1px solid #0000;border-radius:18px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;padding:14px 16px;display:flex}.banner--error{color:#8f1b1b;background:#b0282814;border-color:#b0282829}.banner--info{color:#18488d;background:#4499ff14;border-color:#4499ff24}.banner--success{color:#1f7a46;background:#22995414;border-color:#22995429}.upload-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:20px;margin-top:20px;display:grid}.dropzone,.image-list{background:#ffffffd6;border:1px solid #17203314;border-radius:28px;padding:24px;box-shadow:0 20px 60px #1720330f}.dropzone{min-height:360px;position:relative;overflow:hidden}.dropzone:before{content:"";border:2px dashed #225cb538;border-radius:22px;transition:border-color .2s,background-color .2s,transform .2s;position:absolute;inset:16px}.dropzone[data-active=true]:before{background:#225cb50d;border-color:#225cb58f;transform:scale(.995)}.dropzone[data-active=true]{box-shadow:0 24px 60px #1f6feb24,0 20px 60px #1720330f}.dropzone[data-disabled=true]{opacity:.72}.dropzone__input{opacity:0;pointer-events:none;position:absolute;inset:0}.dropzone__content{align-content:center;gap:16px;min-height:312px;display:grid;position:relative}.dropzone__actions{gap:12px;display:grid}.dropzone__meta{color:#69758b;font-size:.95rem}.dropzone__active-copy,.dropzone__progress-copy{color:#18488d;font-size:.95rem}.dropzone__progress{gap:10px;display:grid}.dropzone__progress-bar{background:#17203314;border-radius:999px;height:14px;overflow:hidden}.dropzone__progress-fill{border-radius:inherit;background:linear-gradient(90deg,#1f6feb,#57a2ff);height:100%;transition:width .15s;display:block}.image-list{gap:18px;display:grid}.image-list__header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.image-list__summary{color:#344054;background:#1720330f;border-radius:999px;padding:8px 12px;font-size:.95rem}.image-list__empty{text-align:center;background:#f4f6fbd1;border-radius:22px;place-items:center;gap:8px;min-height:240px;padding:20px;display:grid}.upload-toolbar{background:#1720330a;border-radius:18px;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding:14px 16px;display:flex}.upload-toolbar__summary{color:#344054;font-size:.95rem}.image-list__items{gap:12px;margin:0;padding:0;list-style:none;display:grid}.image-card{background:#f8f9fdeb;border:1px solid #1720330f;border-radius:22px;justify-content:space-between;align-items:center;gap:16px;padding:16px;display:flex}.image-card__meta{gap:4px;min-width:0;display:grid}.image-card__name{text-overflow:ellipsis;white-space:nowrap;max-width:min(100%,30rem);overflow:hidden}.button{border:0;border-radius:999px;min-height:48px;padding:0 18px;font-weight:700;transition:transform .16s,box-shadow .16s,background-color .16s,color .16s}.button:hover:not(:disabled){transform:translateY(-1px)}.button:disabled{cursor:not-allowed}.button--primary{color:#fff;background:linear-gradient(135deg,#c95b1d,#f08f31);box-shadow:0 18px 40px #c95b1d3d}.button--ghost{color:#8f1b1b;background:#b0282814;border:1px solid #b0282824}.button--neutral{color:#344054;background:#1720330f;border-color:#1720331a}.button--inline{min-height:40px;padding-inline:14px}@media (width<=960px){.page-shell{padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left))}.hero-card,.upload-grid{grid-template-columns:1fr}.hero-card,.dropzone,.image-list,.terminal-state{border-radius:24px}.hero-card{padding:24px}}@media (width<=640px){.page-shell{padding:max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left))}.hero-card,.dropzone,.image-list,.terminal-state{border-radius:20px;padding:18px}.image-list__header,.image-card,.upload-toolbar{flex-direction:column;align-items:stretch}.image-card__name{white-space:normal;overflow-wrap:anywhere}.button{width:100%}}
