:root{--bg: #faf5ee;--card: #fffdf9;--ink: #33291f;--ink-soft: #6f6252;--accent: #b4552d;--accent-deep: #96431f;--accent-soft: #f3e2d3;--line: #e8ddcd;--error: #a03123;--error-bg: #fbeae7;--ok: #3d7a4e;--radius: 16px;--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-display: "Iowan Old Style", "Palatino Linotype", Palatino, Charter, Georgia, serif}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);background-image:radial-gradient(circle at 15% 0%,rgba(180,85,45,.06),transparent 45%),radial-gradient(circle at 100% 100%,rgba(61,122,78,.05),transparent 40%);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.5;min-height:100dvh}#app{max-width:480px;margin:0 auto;padding:0 16px calc(24px + env(safe-area-inset-bottom))}.masthead{text-align:center;padding:28px 8px 4px}.masthead-eyebrow{margin:0;font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft)}.masthead-name{margin:2px 0 0;font-family:var(--font-display);font-weight:600;font-size:clamp(1.7rem,7vw,2.2rem);line-height:1.15;color:var(--accent-deep);min-height:1.2em}.screen{margin-top:16px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:0 2px 10px #503c230d}.card+.card,form .card+.card{margin-top:14px}.center{text-align:center;padding:32px 22px}.center-text{text-align:center}.intro{margin:4px 4px 16px;text-align:center;color:var(--ink-soft)}h2{font-family:var(--font-display);font-weight:600;font-size:1.35rem;margin:0 0 10px}.field{margin-bottom:16px}.field:last-child{margin-bottom:0}label,.label{display:block;font-weight:600;font-size:.95rem;margin-bottom:6px}.req,.opt{font-weight:400;font-size:.78rem;color:var(--ink-soft);background:var(--accent-soft);border-radius:99px;padding:1px 8px;margin-left:6px;vertical-align:middle}.req{color:var(--accent-deep)}input[type=text],input[type=email],input[type=tel],textarea{width:100%;font:inherit;color:var(--ink);background:#fff;border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;outline:none;transition:border-color .15s ease}input:focus,textarea:focus{border-color:var(--accent)}textarea{resize:none}.hint{margin:6px 2px 0;font-size:.82rem;color:var(--ink-soft)}.counter{text-align:right}.incentive{margin:0 0 12px;font-size:.9rem;background:var(--accent-soft);border-radius:10px;padding:10px 12px;color:var(--accent-deep)}fieldset.contact{border:none;margin:0;padding:0}fieldset.contact legend{font-weight:600;font-size:.95rem;padding:0;margin-bottom:10px}.consent{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:.88rem;color:var(--ink-soft);margin-top:4px}.consent input{flex:none;width:20px;height:20px;margin-top:1px;accent-color:var(--accent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-weight:600;border-radius:12px;border:1.5px solid transparent;padding:12px 18px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color .15s ease,transform .05s ease}.btn:active{transform:scale(.985)}.btn.primary{background:var(--accent);color:#fff;width:100%}.btn.primary:hover{background:var(--accent-deep)}.btn.primary:disabled{background:#cbb8a8;cursor:default}.btn.big{margin-top:16px;padding:15px 18px;font-size:1.05rem}.btn.subtle{background:transparent;border-color:var(--line);color:var(--accent-deep);margin-top:14px}.btn.picker{width:100%;background:var(--accent-soft);color:var(--accent-deep);border:1.5px dashed var(--accent);padding:16px}.picker-icon{font-size:1.3rem;line-height:1}.thumbs{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:10px;margin:12px 0 0;padding:0}.thumbs:empty{display:none}.thumb{position:relative;aspect-ratio:1;border-radius:12px;overflow:hidden;background:var(--accent-soft);border:1px solid var(--line)}.thumb img,.thumb video{width:100%;height:100%;object-fit:cover;display:block}.thumb .badge{position:absolute;left:6px;bottom:6px;font-size:.66rem;font-weight:700;letter-spacing:.04em;color:#fff;background:#14100ca6;border-radius:6px;padding:2px 6px}.thumb .pending{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--accent-deep);font-size:.7rem;font-weight:600}.thumb .remove{position:absolute;top:4px;right:4px;width:26px;height:26px;border:none;border-radius:50%;background:#14100ca6;color:#fff;font-size:15px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.preview-shell{border-radius:12px;overflow:hidden;border:6px solid #2c241c;background:#2c241c;box-shadow:0 4px 14px #503c2340}#preview-canvas{display:block;width:100%;height:auto}.errors{margin-top:10px}.errors:empty{display:none}.errors p{background:var(--error-bg);color:var(--error);border-radius:10px;padding:10px 12px;margin:6px 0 0;font-size:.88rem}.upload-list{list-style:none;margin:16px 0 0;padding:0}.upload-row{display:grid;grid-template-columns:48px 1fr;gap:12px;align-items:center;padding:8px 0}.upload-row .mini{width:48px;height:48px;border-radius:10px;object-fit:cover;background:var(--accent-soft);border:1px solid var(--line)}.upload-row .meta{min-width:0}.upload-row .name{font-size:.88rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upload-row .status{font-size:.78rem;color:var(--ink-soft)}.upload-row .status.ok{color:var(--ok);font-weight:600}.upload-row .status.err{color:var(--error);font-weight:600}.bar{margin-top:5px;height:8px;border-radius:99px;background:var(--accent-soft);overflow:hidden}.bar-fill{height:100%;width:0%;border-radius:99px;background:var(--accent);transition:width .2s ease}.bar-fill.indeterminate{width:40%;animation:slide 1.1s ease-in-out infinite alternate}@keyframes slide{0%{margin-left:0}to{margin-left:60%}}.done-mark{width:64px;height:64px;margin:4px auto 14px;border-radius:50%;background:var(--ok);color:#fff;font-size:34px;line-height:64px;text-align:center}.spinner{width:36px;height:36px;margin:60px auto;border-radius:50%;border:4px solid var(--accent-soft);border-top-color:var(--accent);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.page-foot{text-align:center;color:var(--ink-soft);font-size:.78rem;margin-top:26px}.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}@media(min-width:520px){.masthead{padding-top:44px}}
