:root{--navy:#0d2a6b;--navy-deep:#08183f;--red:#d90012;--orange:#f2a800;--ink:#131a2c;--ink-soft:#4a5670;--ink-faint:#8693ab;--line:#e3e7ef;--bg:#f4f6fb;--card:#fff;--shadow-sm:0 1px 2px #0d2a6b0f, 0 2px 8px #0d2a6b0a;--shadow-md:0 4px 12px #0d2a6b14, 0 8px 28px #0d2a6b0f;--shadow-lg:0 8px 24px #0d2a6b1f, 0 24px 60px #0d2a6b1a;--tap:44px;--safe-bottom:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:radial-gradient(1200px 600px at 80% -200px, #0d2a6b0f, transparent 60%), radial-gradient(900px 500px at -10% 10%, #d900120d, transparent 60%), var(--bg);min-height:100dvh;color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.topbar{background:var(--navy-deep);color:#fff;border-bottom:3px solid var(--orange)}.topbar-inner{justify-content:space-between;align-items:center;gap:12px;max-width:1080px;margin:0 auto;padding:12px 16px;display:flex}.brand-mark{align-items:center;gap:10px;min-width:0;display:flex}.brand-mark .logo{flex-shrink:0;width:40px;height:24px}.brand-text{flex-direction:column;min-width:0;line-height:1.15;display:flex}.brand-text strong{letter-spacing:.04em;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;overflow:hidden}.brand-text span{color:#b6c2dd;letter-spacing:.04em;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.topbar-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.ballot-mark{background:var(--red);color:#fff;min-height:var(--tap);border-radius:999px;align-items:center;gap:2px;padding:6px 14px;font-size:17px;font-weight:800;display:flex;box-shadow:inset 0 -2px #0000002e}.ballot-mark span{opacity:.85;font-size:13px}.lang-toggle{background:#ffffff14;border:1px solid #ffffff1f;border-radius:999px;padding:2px;display:inline-flex}.lang-pill{appearance:none;color:#ffffffc7;letter-spacing:.05em;cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;min-width:40px;min-height:36px;padding:0 12px;font-size:12px;font-weight:700;display:inline-flex}.lang-pill.active{color:var(--navy-deep);background:#fff;box-shadow:0 1px 2px #0003}main{max-width:1080px;margin:0 auto;padding:32px 16px 56px}.hero{text-align:center;grid-template-columns:1fr;align-items:center;gap:24px;margin-bottom:36px;display:grid}.hero h1{letter-spacing:-.02em;color:var(--navy-deep);margin:0 0 12px;font-size:32px;font-weight:800;line-height:1.1}.hero .lead{color:var(--ink-soft);max-width:540px;margin:0 auto 18px;font-size:15px;line-height:1.55}.trust-row{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.trust-pill{border:1px solid var(--line);color:var(--navy);letter-spacing:.02em;background:#fff;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:600}.hero-art{position:relative}.card-stack{width:180px;height:300px;margin:18px auto 0;position:relative}.card-stack img{object-fit:contain;background:#fff;border-radius:10px;width:100%;height:100%;position:absolute;inset:0;box-shadow:0 6px 20px #0d2a6b2e,0 2px 6px #0d2a6b1a}.card-back{z-index:1;opacity:.9;transition:transform .35s,opacity .35s}.card-back-left{transform:translate(-32%)translateY(14px)rotate(-10deg)}.card-back-right{transform:translate(32%)translateY(14px)rotate(10deg)}.card-front{z-index:2;transition:transform .35s}.hero-art:hover .card-back-left{transform:translate(-40%)translateY(6px)rotate(-14deg)}.hero-art:hover .card-back-right{transform:translate(40%)translateY(6px)rotate(14deg)}.hero-art:hover .card-front{transform:translateY(-3px)}.hero-art-caption{text-align:center;color:var(--ink-faint);letter-spacing:.05em;text-transform:uppercase;margin-top:18px;font-size:11px}.steps{grid-template-columns:1fr;gap:12px;margin-bottom:28px;display:grid}.step{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:12px;align-items:flex-start;gap:12px;padding:16px;display:flex}.step-num{background:linear-gradient(135deg, var(--navy), var(--navy-deep));color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:30px;height:30px;font-size:14px;font-weight:700;display:grid}.step strong{color:var(--navy-deep);margin-bottom:4px;font-size:14px;display:block}.step p{color:var(--ink-soft);margin:0;font-size:13px;line-height:1.45}.card{background:var(--card);box-shadow:var(--shadow-md);border:1px solid var(--line);border-radius:16px;padding:20px}.card h2{letter-spacing:-.01em;color:var(--navy-deep);margin:0 0 16px;font-size:20px}.dropzone{border:2px dashed var(--line);text-align:center;cursor:pointer;background:linear-gradient(#fbfcfe,#f4f7fc);border-radius:12px;min-height:160px;padding:28px 16px;transition:border-color .15s,background .15s;display:block}.dropzone:hover,.dropzone.drag{border-color:var(--navy);background:linear-gradient(#f5f8ff,#eaf0fc)}.dropzone input{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;font-size:16px;position:absolute;overflow:hidden}.dropzone-empty{flex-direction:column;align-items:center;gap:10px;display:flex}.upload-icon{width:36px;height:36px;color:var(--navy);opacity:.85}.dz-title{color:var(--ink);font-size:15px;line-height:1.4}.dz-title strong{color:var(--navy);font-weight:700}.hint{color:var(--ink-faint);font-size:13px}.preview-row{text-align:left;align-items:center;gap:14px;display:flex}.preview-row img{object-fit:cover;border:1px solid var(--line);border-radius:8px;flex-shrink:0;width:64px;height:88px}.meta{flex:1;min-width:0}.meta-name{color:var(--ink);word-break:break-all;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:2px;font-size:13px;font-weight:600;display:-webkit-box;overflow:hidden}.meta-size{color:var(--ink-faint);margin-bottom:4px;font-size:12px}.remove-btn{border:1px solid var(--line);color:var(--red);cursor:pointer;min-height:var(--tap);background:0 0;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:600}.remove-btn:hover{background:#fdecee}.actions{margin-top:20px}button.primary{background:linear-gradient(180deg, var(--navy), var(--navy-deep));color:#fff;cursor:pointer;width:100%;min-height:var(--tap);border:none;border-radius:12px;justify-content:center;align-items:center;gap:10px;padding:14px 24px;font-size:16px;font-weight:600;transition:transform .12s,box-shadow .12s,opacity .12s;display:inline-flex;box-shadow:0 2px #00000014,0 4px 14px #0d2a6b40}button.primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px #00000014,0 8px 22px #0d2a6b52}button.primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.spinner{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.status{color:var(--ink-soft);text-align:center;background:#f4f7fc;border-radius:10px;margin-top:16px;padding:14px 16px;font-size:14px;line-height:1.5}.status.error{color:var(--red);background:#fdecee}.turnstile-hint{color:var(--ink-faint);text-align:center;margin-top:10px;font-size:12px}.turnstile-retry{appearance:none;color:var(--red);font:inherit;cursor:pointer;background:0 0;border:0;margin-left:6px;padding:0;text-decoration:underline}.status-wait{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;padding:18px 16px;font-weight:500;display:flex}.status-dots{text-align:left;width:1.5em;display:inline-block}.status-dots:after{content:"·";letter-spacing:1px;font-size:1.2em;font-weight:700;animation:1.6s step-end infinite dot-cycle}@keyframes dot-cycle{0%{content:"·"}33%{content:"··"}66%{content:"···"}to{content:"·"}}.result{margin-top:28px}.result-title{text-align:center;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:14px;font-size:13px;font-weight:700}.grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.poster-card{cursor:pointer;box-shadow:var(--shadow-sm);background:#fff;border:3px solid #0000;border-radius:12px;padding:0;transition:transform .12s,border-color .15s,box-shadow .15s;position:relative;overflow:hidden}.poster-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.poster-card.selected{border-color:var(--navy);box-shadow:0 0 0 2px #0d2a6b1f, var(--shadow-md)}.poster-card img{width:100%;height:auto;display:block}.poster-card .badge{color:#fff;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#08183fb3;border-radius:50%;place-items:center;width:28px;height:28px;font-size:13px;font-weight:700;display:grid;position:absolute;top:10px;left:10px}.poster-card.selected .badge{background:var(--navy)}.poster-card .checkmark{background:var(--navy);color:#fff;border-radius:50%;place-items:center;width:28px;height:28px;font-size:16px;font-weight:700;display:grid;position:absolute;top:10px;right:10px}.download{text-align:center;margin:22px auto 0}.download a{background:var(--red);color:#fff;letter-spacing:.01em;min-height:var(--tap);border-radius:12px;padding:14px 28px;font-size:15px;font-weight:700;text-decoration:none;transition:transform .12s,box-shadow .12s;display:inline-block;box-shadow:0 2px #00000014,0 4px 14px #d9001247}.download a:hover{transform:translateY(-1px);box-shadow:0 4px #00000014,0 8px 22px #d900125c}.footer{border-top:1px solid var(--line);background:#fff;margin-top:32px}.footer-inner{max-width:1080px;color:var(--ink-faint);text-align:center;flex-direction:column;gap:8px;margin:0 auto;padding:20px 16px;font-size:12px;display:flex}.footer-meta{max-width:540px;margin:0 auto;line-height:1.5}@media (max-width:379px){.grid{grid-template-columns:1fr}}@media (max-width:359px){.card-back-left{transform:translate(-22%)translateY(10px)rotate(-8deg)}.card-back-right{transform:translate(22%)translateY(10px)rotate(8deg)}}@media (max-width:479px){.brand-text span{display:none}.ballot-mark{padding:6px 10px;font-size:16px}.ballot-mark span{font-size:12px}}@media (max-width:600px){main[data-stage=has-file] .actions,main[data-stage=generating] .actions{bottom:calc(12px + var(--safe-bottom));z-index:10;background:linear-gradient(to top, var(--bg) 70%, #f4f6fb00);margin-bottom:-20px;margin-left:-20px;margin-right:-20px;padding:12px 20px;position:sticky}}@media (min-width:600px){main{padding:48px 24px 64px}.card{padding:32px}.card h2{margin-bottom:20px;font-size:22px}.hero{gap:36px;margin-bottom:56px}.hero h1{font-size:44px}.hero .lead{font-size:16px}.card-stack{width:220px;height:367px}.steps{grid-template-columns:repeat(3,1fr);gap:14px}}@media (min-width:900px){.topbar-inner{padding:14px 24px}.brand-mark .logo{width:40px;height:24px}.brand-text strong{font-size:14px}.brand-text span{font-size:11px;display:inline}.hero{text-align:left;grid-template-columns:1.3fr 1fr;gap:56px;margin-bottom:72px}.hero h1{margin-bottom:18px;font-size:56px;line-height:1.05}.hero .lead{max-width:520px;margin:0 0 24px;font-size:17px}.trust-row{justify-content:flex-start;gap:8px}.trust-pill{padding:6px 12px;font-size:12px}.card-stack{width:300px;height:500px;margin-top:0}.card-stack img{box-shadow:0 12px 36px #0d2a6b38,0 4px 12px #0d2a6b1f}.hero-art-caption{margin-top:22px;font-size:12px}.steps{gap:16px}.step{padding:22px}.step strong{font-size:15px}.footer-inner{text-align:left;flex-direction:row;justify-content:space-between;align-items:center;padding:28px 24px}.footer-meta{text-align:right;max-width:540px;margin:0}}.tos-row{border:1px solid var(--line);color:var(--ink-soft);background:#f7f9fd;border-radius:10px;align-items:flex-start;gap:10px;margin-top:16px;padding:12px;font-size:13px;line-height:1.5;display:flex}.tos-row input[type=checkbox]{width:20px;height:20px;accent-color:var(--navy);flex-shrink:0;margin-top:2px}.tos-row a{color:var(--navy);text-decoration:underline}.footer-links{margin-top:4px}.footer-links a{color:var(--ink-faint);text-decoration:underline}.permalink-shell{max-width:720px;margin:0 auto;padding:24px 16px 64px}.permalink-card{box-shadow:var(--shadow-md);border:1px solid var(--line);background:#fff;border-radius:16px;padding:20px}.poster-display{max-width:480px;margin:0 auto}.poster-display img{width:100%;height:auto;box-shadow:var(--shadow-lg);border-radius:12px;display:block}.status-badge{letter-spacing:.02em;border-radius:999px;align-items:center;gap:8px;margin:18px auto 0;padding:10px 16px;font-size:14px;font-weight:600;display:inline-flex}.status-badge .dot{background:var(--red);border-radius:50%;width:10px;height:10px}.status-badge .dot.pulse{animation:1.4s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.4)}}.status-badge.variant-info{color:var(--navy-deep);background:#eef2fb}.status-badge.variant-queued{color:#7a5b00;background:#fff5d6}.status-badge.variant-live{color:#7a0010;background:#fee5e8}.status-badge.variant-aired{color:#115c2f;background:#e6f6ec}.status-badge.variant-rejected{color:#7a0010;background:#fdecee}.permalink-state{text-align:center;margin-top:24px}.permalink-state h1{color:var(--navy-deep);margin:6px 0 12px;font-size:22px}.permalink-state p{color:var(--ink-soft);margin:0}.picking-grid{margin-top:20px}.poster-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.poster-grid .poster-card:disabled{opacity:.5;cursor:not-allowed}.share-buttons{margin-top:28px}.share-title{text-align:center;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:12px;font-size:12px;font-weight:700}.share-row{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.share-btn{border:1px solid var(--line);color:var(--navy-deep);cursor:pointer;min-height:var(--tap);background:#fff;border-radius:10px;justify-content:center;align-items:center;padding:12px 14px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.share-btn:hover{background:#f4f7fc}.share-wa{color:#fff;background:#25d366;border-color:#25d366}.share-tg{color:#fff;background:#229ed9;border-color:#229ed9}.share-fb{color:#fff;background:#1877f2;border-color:#1877f2}.share-x{color:#fff;background:#000;border-color:#000}.share-ig{color:#fff;background:linear-gradient(135deg,#f58529,#dd2a7b,#515bd4);border-color:#0000}.share-copy{color:var(--navy-deep);background:#fff}.awaiting-review{text-align:center;padding:32px 16px}.awaiting-review h1{color:var(--navy-deep);letter-spacing:-.01em;margin:0 0 12px;font-size:22px}.awaiting-review p{max-width:440px;color:var(--ink-soft);margin:0 auto 20px;font-size:14px;line-height:1.6}.awaiting-pulse{gap:6px;margin-top:4px;display:inline-flex}.awaiting-pulse span{background:var(--navy);opacity:.4;border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite awaiting-pulse-anim}.awaiting-pulse span:nth-child(2){animation-delay:.2s}.awaiting-pulse span:nth-child(3){animation-delay:.4s}@keyframes awaiting-pulse-anim{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1.1)}}.micro-copy{color:#6b6b6b;margin-top:8px;font-size:14px;line-height:1.5}.micro-copy-signoff{letter-spacing:.08em;text-transform:uppercase;color:#9a9a9a;margin-top:6px;font-size:11px}.brand-signoff{letter-spacing:.08em;text-transform:uppercase;color:#9a9a9a;text-align:center;margin-top:12px;font-size:11px}.reconnecting-hint{color:var(--ink-faint);border:1px solid var(--line);background:#f4f7fc;border-radius:999px;margin:10px auto 0;padding:4px 10px;font-size:12px;display:inline-block}.notfound-shell{text-align:center;max-width:480px;margin:60px auto;padding:0 16px}.notfound-shell h1{color:var(--navy-deep)}.notfound-shell a{background:var(--navy);color:#fff;border-radius:10px;margin-top:16px;padding:12px 22px;font-weight:600;text-decoration:none;display:inline-block}.doc-shell{max-width:720px;margin:0 auto;padding:32px 16px 64px}.doc-shell h1{color:var(--navy-deep)}.doc-shell p{color:var(--ink-soft);line-height:1.6}@media (min-width:600px){.share-row{grid-template-columns:repeat(3,1fr)}}:root{--inprogress-accent:#1a5a5a;--inprogress-text:#1a1a1a;--inprogress-muted:#6b6b6b;--inprogress-subtle:#9a9a9a;--inprogress-border:#00000014}.in-progress{text-align:center;max-width:32rem;color:var(--inprogress-text);flex-direction:column;align-items:center;gap:12px;margin:0 auto;padding:48px 16px;display:flex}.in-progress .in-progress-h{letter-spacing:-.01em;margin:0;font-size:20px;font-weight:500;line-height:1.25}.in-progress .micro-copy{color:var(--inprogress-muted);max-width:32ch;margin-top:4px;font-size:14px;line-height:1.55}.in-progress .in-progress-foot{text-transform:uppercase;letter-spacing:.08em;color:var(--inprogress-subtle);margin-top:24px;font-size:11px;font-weight:500}.in-progress.awaiting .awaiting-h{color:var(--inprogress-text);letter-spacing:-.01em;margin:0;font-size:24px;font-weight:500}.in-progress.awaiting .awaiting-body{color:var(--inprogress-muted);max-width:32ch;font-size:14px;line-height:1.55}.pulse-mark{background:var(--inprogress-accent);opacity:.18;border-radius:50%;width:80px;height:80px;margin-bottom:12px;animation:2.5s ease-in-out infinite ambient-pulse}@keyframes ambient-pulse{0%,to{opacity:.14;transform:scale(.9)}50%{opacity:.3;transform:scale(1.05)}}.sweep-bar{background:var(--inprogress-border);border-radius:1px;width:min(360px,80vw);height:2px;margin-top:16px;position:relative;overflow:hidden}.sweep-bar:after{content:"";background:var(--inprogress-accent);width:30%;height:100%;animation:1.8s ease-in-out infinite sweep;position:absolute;top:0;left:-30%}@keyframes sweep{0%{left:-30%}50%{left:50%}to{left:100%}}.shimmer-line{background:var(--inprogress-border);width:80vw;max-width:320px;height:1px;margin-top:16px;position:relative;overflow:hidden}.shimmer-line:after{content:"";background:linear-gradient(90deg, transparent, var(--inprogress-accent), transparent);width:40%;height:100%;animation:2.4s ease-in-out infinite shimmer;position:absolute;top:0;left:-40%}@keyframes shimmer{0%{left:-40%}to{left:100%}}@media (prefers-reduced-motion:reduce){.pulse-mark,.sweep-bar:after,.shimmer-line:after{animation:none}}
