:root{--ink: #0b1f3a;--ink-muted: #304766;--ink-subtle: #3d5a73;--paper: #f3f7f2;--navy: #12365f;--navy-deep: #071a31;--blue-accent: #1d4e89;--blue-wash: #e6eef7;--mist: #6d829b;--leaf: #146c43;--leaf-deep: #0f5132;--leaf-wash: #e3f2e9;--glow: rgba(18, 54, 95, .18);--danger: #8a2b2b;--disabled-fill: #e4ebf2;--disabled-line: #5b7089;--surface: rgba(255, 255, 255, .82);--radius: 14px;--font-sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display: var(--font-sans);--font-body: var(--font-sans)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%}body{font-family:var(--font-body);color:var(--ink);background:radial-gradient(1200px 600px at 10% -10%,#dbe7f5 0%,transparent 55%),radial-gradient(900px 500px at 100% 0%,#e6eef7 0%,transparent 50%),linear-gradient(165deg,#eef3fa 0%,var(--paper) 45%,#e3ecf6 100%)}.shell{position:relative;min-height:100vh;display:grid;place-items:center;padding:2.5rem 1.25rem 3rem;overflow:hidden}.atmosphere{position:absolute;inset:-20% -10% auto;height:70%;background:radial-gradient(circle at 30% 40%,var(--glow),transparent 45%),radial-gradient(circle at 70% 30%,rgba(20,108,67,.12),transparent 40%);filter:blur(8px);animation:drift 14s ease-in-out infinite alternate;pointer-events:none}.hero{position:relative;width:min(100%,40rem);text-align:center;animation:rise .8s ease-out both}.brand{margin:0 0 .85rem;font-family:var(--font-display);font-size:clamp(2.75rem,8vw,4.25rem);font-weight:700;letter-spacing:-.03em;line-height:.95;color:var(--navy-deep);animation:brand-in 1s ease-out both}.tagline{margin:0 0 .85rem;font-family:var(--font-body);font-size:clamp(1.15rem,3vw,1.45rem);font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--navy)}.lede{margin:0 auto 1.75rem;max-width:32rem;font-size:1.05rem;line-height:1.55;color:var(--ink-muted)}.hint{margin:0;color:var(--ink-muted);font-size:.9rem}.field{display:grid;gap:.45rem;text-align:left}.field-label{font-size:.8rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted)}.field-input{width:100%;border:1px solid var(--mist);border-radius:var(--radius);background:var(--surface);color:var(--ink-muted);padding:.95rem 1.05rem;font:inherit;font-size:1rem;box-shadow:inset 0 1px #ffffffb3;cursor:not-allowed;opacity:.85}.field-input::placeholder{color:var(--ink-subtle)}.field-input-live{color:var(--ink);cursor:text;opacity:1}.field-input-live:disabled{cursor:not-allowed;opacity:.85;color:var(--ink-muted)}.field-input-live:focus-visible,.btn:focus-visible,.format:focus-within{outline:3px solid var(--blue-accent);outline-offset:2px}.flow{display:grid;gap:1rem;text-align:left}.flow-form{display:grid;gap:.85rem}.flow-actions{display:flex;flex-wrap:wrap;gap:.65rem}.btn{appearance:none;border:1px solid transparent;border-radius:var(--radius);padding:.75rem 1.1rem;font:inherit;font-weight:600;cursor:pointer}.btn:disabled{cursor:not-allowed;opacity:1;background:var(--disabled-fill);color:var(--ink-muted);border-color:var(--disabled-line);border-style:dashed;box-shadow:none}.btn-primary{background:var(--leaf);color:#fff}.btn-primary:hover:enabled{background:var(--leaf-deep)}.btn-ghost{background:transparent;border-color:var(--mist);color:var(--ink-muted)}.btn-ghost:hover:enabled{border-color:var(--blue-accent);color:var(--navy)}.status{margin:0;min-height:1.4em;font-size:.95rem;color:var(--ink)}.status[data-tone=error]{color:var(--danger)}.meta-card{border:1px solid var(--mist);border-radius:var(--radius);background:var(--surface);padding:1rem 1.1rem}.meta-title{margin:0 0 .35rem;font-size:1.05rem;color:var(--navy-deep)}.meta-line{margin:0;color:var(--ink-muted);font-size:.9rem}.card-title{padding:0 .35rem;font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--navy)}.quality-card{margin:0;border:1px solid var(--mist);border-radius:var(--radius);background:var(--surface);padding:.35rem .9rem .9rem}.quality-list{display:grid;gap:.4rem}.format{display:grid;grid-template-columns:auto 1fr auto;column-gap:.65rem;row-gap:.1rem;align-items:center;border:1px solid var(--mist);border-radius:var(--radius);padding:.5rem .75rem;background:#ffffffb3;cursor:pointer}.format input{grid-row:1;accent-color:var(--leaf);margin:0}.format-label{grid-column:2;font-weight:700;color:var(--navy-deep)}.format-detail{grid-column:3;justify-self:end;color:var(--ink-muted);font-size:.8rem;text-align:right}.format-disabled{background:var(--disabled-fill);border-style:dashed;border-color:var(--disabled-line);color:var(--ink-muted);cursor:not-allowed}.format-disabled .format-label{color:var(--ink-muted)}.format-reason{grid-column:2 / -1;color:var(--ink-muted);font-size:.78rem}.format-selected{border-color:var(--blue-accent);background:var(--leaf-wash);box-shadow:inset 0 0 0 1px var(--blue-accent)}.progress-card{display:grid;gap:.55rem;border:1px solid var(--mist);border-radius:var(--radius);background:var(--surface);padding:.85rem 1rem}.progress-head{display:grid;grid-template-columns:1.1rem 1fr;align-items:center;gap:.55rem;min-height:1.5rem}.loader{grid-column:1}.progress-stage{grid-column:2;margin:0;min-height:1.4em;font-weight:600;color:var(--navy-deep)}.progress-track{position:relative;height:.5rem;border-radius:999px;background:var(--blue-wash);border:1px solid var(--mist);overflow:hidden}.progress-fill{display:block;height:100%;width:0;background:var(--leaf);transition:width .35s ease}.progress-card[data-tone=done] .progress-fill{background:var(--leaf-deep)}.progress-note{font-size:.78rem;color:var(--ink-subtle)}.loader{display:flex;align-items:center;justify-content:center;height:1.1rem}.loader[hidden],.progress-card[hidden],.quality-card[hidden],.quality-list[hidden],.flow[hidden],.flow-form[hidden],.flow-actions[hidden],.field[hidden]{display:none}.spinner{width:1.1rem;height:1.1rem;border:2px solid var(--blue-wash);border-top-color:var(--leaf);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:640px){.hero{width:min(100%,40rem)}.btn{width:100%}.format{grid-template-columns:auto 1fr}.format-detail{grid-column:2;justify-self:start;text-align:left}}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes brand-in{0%{opacity:0;letter-spacing:.08em;transform:translateY(8px)}to{opacity:1;letter-spacing:-.03em;transform:translateY(0)}}@keyframes drift{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(2%,3%,0) scale(1.04)}}@media(prefers-reduced-motion:reduce){.atmosphere,.hero,.brand,.spinner{animation:none}.progress-fill{transition:none}}
