:root{
  --navy:#031a48;
  --navy-2:#062b70;
  --blue:#0a4eb3;
  --blue-2:#1767d6;
  --red:#e21b23;
  --red-2:#ff2c25;
  --white:#fff;
  --ink:#071b43;
  --muted:#c9d8ef;
  --line:rgba(255,255,255,.18);
  --shadow:0 22px 60px rgba(0,0,0,.35);
  --radius:26px;
  --frame:480px;
}
*{box-sizing:border-box}
html{background:#020d25;scroll-behavior:smooth}
body{margin:0;min-height:100vh;background:radial-gradient(circle at top,#123a7f 0,#031537 48%,#010817 100%);font-family:"Times New Roman",Times,serif;color:#fff;display:flex;justify-content:center;overflow-x:hidden}
button,input{font:inherit}button{cursor:pointer}img{display:block;max-width:100%}
.desktop-backdrop{position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 15% 20%,rgba(18,102,217,.17),transparent 28%),radial-gradient(circle at 85% 75%,rgba(226,27,35,.12),transparent 26%)}
.experience-frame{width:min(100vw,var(--frame));min-height:100svh;background:linear-gradient(180deg,#062f78 0,#05225a 40%,#031a48 100%);position:relative;box-shadow:0 0 0 1px rgba(255,255,255,.08),0 0 80px rgba(0,0,0,.42);overflow:hidden;padding-bottom:74px}
@media(min-width:620px){.experience-frame{margin:18px 0;border-radius:34px;min-height:calc(100vh - 36px);overflow:clip}.main-nav{bottom:18px!important;border-radius:0 0 34px 34px}.site-header{border-radius:34px 34px 0 0}}
.site-header{position:sticky;top:0;z-index:1000;background:rgba(2,18,52,.94);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.12)}
.header-inner{min-height:64px;padding:9px 13px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.brand-link{border:0;background:none;color:#fff;display:flex;align-items:center;gap:9px;text-align:left;padding:0}
.brand-badge{width:40px;height:40px;border-radius:12px;background:var(--red);border:2px solid #fff;display:grid;place-items:center;font-weight:700;font-size:16px}
.brand-copy{display:grid}.brand-copy strong{font-size:15px;letter-spacing:.7px}.brand-copy small{font-size:11px;color:#d6e2f4;margin-top:1px}
.header-actions{display:flex;align-items:center;gap:7px}.audio-toggle{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.08);color:#fff;font-size:18px}.audio-toggle.is-playing{background:var(--red)}
.party-mark{display:flex;align-items:center;gap:6px;font-size:9px;font-weight:700;letter-spacing:.4px;white-space:nowrap}.party-mark img{width:42px;height:34px;object-fit:cover;border-radius:4px;border:1px solid rgba(255,255,255,.85)}.red-o{color:#b90f18;font-size:.94em}
.main-nav{position:fixed;z-index:1200;bottom:0;left:50%;transform:translateX(-50%);width:min(100vw,var(--frame));height:72px;background:rgba(2,17,49,.98);border-top:1px solid rgba(255,255,255,.14);display:grid;grid-template-columns:repeat(6,1fr);padding:6px 5px max(6px,env(safe-area-inset-bottom));box-shadow:0 -12px 24px rgba(0,0,0,.18)}
.main-nav button{border:0;background:none;color:#bfcde3;display:grid;place-items:center;align-content:center;gap:1px;padding:2px;border-radius:10px;min-width:0}.main-nav button b{font-size:19px;line-height:1}.main-nav button span{font-size:10px;white-space:nowrap}.main-nav button.is-current{background:rgba(255,255,255,.11);color:#fff}.main-nav button.is-current b{color:#ff332d}
.app-shell{min-height:calc(100svh - 64px)}
.view{display:none;padding:22px 16px 24px;min-height:calc(100svh - 136px)}.view.is-active{display:block;animation:fade .22s ease}@keyframes fade{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
.view-heading{display:flex;gap:10px;align-items:flex-start;margin-bottom:18px}.view-heading>div{min-width:0}.view-heading h2{margin:0;font-size:32px;line-height:1}.view-heading p{margin:6px 0 0;color:#d6e2f2;font-size:14px;line-height:1.35}.step-kicker{display:inline-block;color:#9fc8ff;font-weight:700;letter-spacing:2px;font-size:11px;margin-bottom:7px}.back-btn{flex:0 0 40px;width:40px;height:40px;border-radius:12px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.07);color:#fff;font-size:20px}
.btn{border:0;border-radius:15px;padding:13px 17px;font-weight:700;font-size:16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.18s}.btn:active{transform:scale(.985)}.btn-red{background:linear-gradient(90deg,var(--red),var(--red-2));color:#fff;box-shadow:0 12px 28px rgba(226,27,35,.24)}.btn-outline{background:rgba(255,255,255,.06);color:#fff;border:1px solid rgba(255,255,255,.28)}.btn-wide{width:100%}.btn:disabled{opacity:.42;cursor:not-allowed;box-shadow:none}
/* Entry */
.entry-overlay{position:fixed;z-index:3000;inset:0;background:radial-gradient(circle at 50% 10%,#0d4ca6 0,#052765 38%,#021536 100%);display:grid;place-items:center;padding:24px}.entry-overlay.is-hidden{display:none}.entry-card{width:min(410px,100%);text-align:center}.entry-logo{width:82px;margin:0 auto 10px;border:2px solid #fff;border-radius:7px}.entry-motto{margin:0 0 20px;font-size:16px;font-weight:700;letter-spacing:3px}.entry-card h1{font-size:64px;line-height:.88;margin:0}.entry-card h2{font-size:22px;letter-spacing:1px;margin:12px 0 4px}.entry-card>p:not(.entry-motto){margin:0 0 16px;color:#d9e5f5}.entry-slogan{display:inline-block;background:var(--red);padding:9px 13px;border-radius:10px;font-size:14px;font-weight:700;margin-bottom:22px}.entry-muted{border:0;background:none;color:#cedbef;text-decoration:underline;margin-top:13px}
/* Home */
#home{padding-top:18px}.home-brand{text-align:center}.home-brand img{width:72px;margin:0 auto 6px;border:2px solid #fff;border-radius:6px}.home-brand p{margin:0;font-weight:700;letter-spacing:2px;font-size:13px}.home-title-wrap{text-align:center;margin-top:14px}.home-title-wrap h1{font-size:69px;line-height:.84;margin:0;letter-spacing:-2px}.home-title-wrap h1 span{color:var(--red)}.home-title-wrap h2{margin:12px 0 3px;font-size:24px;letter-spacing:.7px}.office{font-size:17px;margin:0 0 11px}.slogan{display:inline-block;margin:0;background:var(--red);padding:7px 12px;border-radius:9px;font-weight:700;font-size:13px;letter-spacing:.2px}.hero-photo-card{margin:18px 0 0;border-radius:28px;overflow:hidden;position:relative;background:linear-gradient(180deg,#0b56bf,#06285e);box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.22);aspect-ratio:900/1190;display:grid;place-items:center}.hero-photo-card img{width:100%;height:100%;object-fit:contain;object-position:center top;background:#0b56bf}.hero-photo-card:after{content:"";position:absolute;inset:auto 0 0;height:4px;background:linear-gradient(90deg,#e31b23 0 33%,#fff 33% 66%,#1765d6 66%);pointer-events:none}.hero-sweep{display:none}
.home-cta-card{background:#fff;color:#0a1d45;margin:16px 0 0;position:relative;z-index:4;border-radius:25px;padding:22px 20px;text-align:center;box-shadow:0 18px 36px rgba(0,0,0,.24)}.home-cta-card h3{font-size:30px;margin:0 0 7px}.home-cta-card p{font-size:15px;color:#5e6677;line-height:1.45;margin:0 0 16px}.home-cta-card small{display:block;color:#7b8495;margin-top:11px}
/* Create */
.create-card,.portrait-editor-card,.leaflet-card,.journey-status-card,.design-toolbar,.personalized-card,.download-options{background:linear-gradient(145deg,rgba(20,65,136,.86),rgba(4,31,78,.96));border:1px solid rgba(255,255,255,.17);border-radius:24px;box-shadow:0 16px 34px rgba(0,0,0,.22)}.create-card{padding:17px}.upload-zone{min-height:210px;border:2px dashed rgba(255,255,255,.55);border-radius:22px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px;background:rgba(1,19,56,.24)}.upload-symbol{width:64px;height:64px;border:2px solid #fff;border-radius:50%;display:grid;place-items:center;font-size:35px;margin-bottom:12px}.upload-zone strong{font-size:20px}.upload-zone small{font-size:13px;color:#d1ddf0;margin-top:6px}.upload-rule{color:#9ec6ff!important}.validation-box{margin:12px 0;padding:11px;border-radius:11px;background:rgba(255,255,255,.08);font-size:13px}.validation-box.is-error{background:rgba(226,27,35,.17);border:1px solid rgba(255,92,92,.6)}.validation-box.is-ok{background:rgba(19,164,94,.15);border:1px solid rgba(78,219,145,.42)}.upload-result{margin:12px 0;display:grid;grid-template-columns:58px 1fr auto;align-items:center;gap:10px;padding:10px;background:rgba(255,255,255,.07);border-radius:15px}.upload-result img{width:58px;height:58px;object-fit:cover;border-radius:12px;border:2px solid #fff}.upload-result div{display:grid}.upload-result strong{font-size:16px}.upload-result span{font-size:12px;color:#c9d7ee}.text-button{border:0;background:none;color:#fff;text-decoration:underline}.field-label,.theme-picker legend{display:block;font-size:16px;font-weight:700;margin:17px 0 7px}.text-input{width:100%;height:52px;padding:0 14px;border-radius:12px;border:1px solid rgba(255,255,255,.32);background:rgba(2,22,59,.78);color:#fff;font-size:17px;outline:none}.text-input::placeholder{color:#a7b9d5}.theme-picker{border:0;padding:0;margin:0 0 17px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.theme-picker legend{grid-column:1/-1}.theme-choice,.theme-chip{border:1px solid rgba(255,255,255,.23);background:rgba(2,22,59,.6);color:#fff;border-radius:11px;padding:10px 8px;font-weight:700;display:flex;align-items:center;gap:6px;justify-content:center}.theme-choice.is-selected,.theme-chip.is-selected{border-color:#fff;background:rgba(255,255,255,.13);box-shadow:0 0 0 2px rgba(255,255,255,.08) inset}.dot{width:16px;height:16px;border-radius:50%;display:inline-block;border:1px solid rgba(255,255,255,.5)}.dot.red{background:var(--red)}.dot.white{background:#fff}.dot.blue{background:#1765d6}.dot.combo{background:linear-gradient(90deg,#e31b23 0 33%,#fff 33% 66%,#1765d6 66%)}.progress-line{display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr auto;align-items:start;gap:4px;margin-top:18px}.progress-line span{display:grid;place-items:center;gap:4px}.progress-line b{width:31px;height:31px;border-radius:50%;border:1px solid rgba(255,255,255,.4);display:grid;place-items:center;font-size:13px}.progress-line .active b{background:#fff;color:#08245a}.progress-line small{font-size:9px;color:#d7e1f1}.progress-line i{height:1px;background:rgba(255,255,255,.25);margin-top:15px}
/* Crop */
.portrait-editor-card{padding:15px}.crop-stage{width:100%;aspect-ratio:1;position:relative;overflow:hidden;border-radius:22px;background:#0a244f;touch-action:none}.crop-stage canvas{width:100%;height:100%;display:block}.crop-border{position:absolute;inset:5.5%;border-radius:50%;border:4px solid #fff;box-shadow:0 0 0 2px var(--red),0 0 0 7px rgba(255,255,255,.12);pointer-events:none}.crop-guides{position:absolute;inset:0;background:radial-gradient(circle at center,transparent 0 43%,rgba(0,10,30,.6) 43.4%);pointer-events:none}.zoom-control{display:grid;grid-template-columns:23px 1fr 23px;gap:9px;align-items:center;margin:16px 5px 0;font-size:22px}.zoom-control input{width:100%;accent-color:var(--red)}.editor-help{text-align:center;color:#c6d6ee;font-size:12px}.preview-row{display:flex;align-items:center;gap:12px;margin:15px 0;padding:11px;background:rgba(255,255,255,.07);border-radius:16px}.small-preview{width:80px;height:80px;border-radius:50%;padding:4px;background:linear-gradient(135deg,#e31b23,#fff,#1765d6);flex:none}.small-preview img{width:100%;height:100%;border-radius:50%;object-fit:cover}.preview-row div:last-child{display:grid}.preview-row strong{font-size:18px}.preview-row small{font-size:12px;color:#cbd9ef;margin-top:3px}.theme-picker.vertical{grid-template-columns:1fr 1fr}
/* Map */
.leaflet-card{overflow:hidden;margin-bottom:12px}.leaflet-card #ghanaLeaflet{height:430px;width:100%;background:#082860}.leaflet-control-attribution{font-family:"Times New Roman",Times,serif!important;font-size:8px!important}.leaflet-control-zoom a{font-family:"Times New Roman",Times,serif!important}.map-legend{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;padding:8px 6px;background:#06215a;font-size:10px}.map-legend span{display:flex;align-items:center;gap:4px}.legend-region{width:13px;height:9px;background:#1765d6;border:1px solid #fff}.legend-route{width:22px;border-top:3px dashed #e31b23}.journey-status-card{padding:15px;margin:10px 0 12px;display:grid}.journey-status-card small{font-size:10px;letter-spacing:1.7px;color:#9dc6ff}.journey-status-card strong{font-size:23px;margin-top:4px}.journey-status-card span{color:#d5e3f5;font-size:14px}.region-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;max-height:230px;overflow:auto;margin-bottom:12px}.region-pill{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);padding:8px;border-radius:10px;display:grid;min-height:45px}.region-pill strong{font-size:11px}.region-pill span{font-size:9px;color:#c7d6ec;margin-top:2px}.region-pill.is-active{background:#e31b23;border-color:#ff7777}.journey-icon{position:relative;width:88px;height:78px}.journey-elephant{font-size:58px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.3));position:absolute;left:0;bottom:0}.journey-elephant:after{content:"NPP";position:absolute;left:20px;top:27px;background:linear-gradient(#e31b23 0 33%,#fff 33% 66%,#1765d6 66%);color:#061b46;font:bold 9px "Times New Roman",serif;padding:3px 5px;border-radius:4px;border:1px solid #fff}.journey-face{position:absolute;right:-4px;top:-3px;width:38px;height:38px;object-fit:cover;border-radius:50%;border:3px solid #fff}.journey-label{display:none}.region-tooltip{font-family:"Times New Roman",Times,serif;font-weight:700}
/* Designs */
.design-toolbar{padding:12px;margin-bottom:12px}.design-theme-inline{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.theme-chip{font-size:12px;padding:9px 5px}.toolbar-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:9px}.toolbar-actions .btn{font-size:12px;padding:10px}.poster-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.poster-card{padding:0;border:2px solid transparent;background:rgba(255,255,255,.08);border-radius:15px;overflow:hidden;color:#fff}.poster-card.is-selected{border-color:#fff;box-shadow:0 0 0 2px #e31b23}.poster-card canvas{width:100%;height:auto;display:block;background:#fff}.poster-card span{display:block;padding:8px;font-weight:700;font-size:13px}.design-actions{display:grid;gap:8px;margin-top:13px}
/* Motion */
.motion-player{position:relative;border-radius:23px;overflow:hidden;background:#04183f;border:1px solid rgba(255,255,255,.18);box-shadow:var(--shadow)}.motion-player canvas{display:block;width:100%;height:auto;aspect-ratio:9/16}.motion-toggle{position:absolute;left:12px;bottom:12px;width:44px;height:44px;border-radius:50%;border:2px solid #fff;background:rgba(2,15,45,.78);color:#fff;font-size:16px}.personalized-card{display:flex;gap:10px;align-items:center;padding:10px;margin:12px 0}.personalized-card img{width:58px;height:58px;border-radius:50%;object-fit:cover;border:4px solid #fff}.personalized-card div{display:grid}.personalized-card small{font-size:9px;color:#9fc6ff;letter-spacing:1px}.personalized-card strong{font-size:17px;margin-top:2px}.personalized-card span{font-size:11px;color:#c9d7eb}.format-note{text-align:center;font-size:11px;color:#bfd0e7}
/* Download */
.download-preview{border-radius:22px;overflow:hidden;background:#fff;box-shadow:var(--shadow);margin-bottom:14px}.download-preview canvas{width:100%;height:auto;display:block}.download-options{padding:16px}.success-icon{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#25ae5f;font-size:31px;margin:0 auto}.download-options h3{text-align:center;margin:9px 0 13px;font-size:24px}.download-row{width:100%;border:1px solid rgba(255,255,255,.18);background:rgba(1,19,56,.45);color:#fff;padding:12px;border-radius:13px;margin-bottom:8px;display:flex;justify-content:space-between;align-items:center;text-align:left}.download-row span{display:grid}.download-row strong{font-size:15px}.download-row small{font-size:10px;color:#c7d5e9;margin-top:2px}.download-row b{font-size:22px}
.toast{position:fixed;z-index:2500;left:50%;bottom:88px;transform:translate(-50%,15px);width:min(420px,calc(100vw - 30px));background:#fff;color:#091d46;padding:11px 14px;border-radius:12px;text-align:center;font-weight:700;opacity:0;pointer-events:none;transition:.2s;box-shadow:0 12px 30px rgba(0,0,0,.3)}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.journey-elephant{filter:none}}

/* V4 refinement */
#home{padding-bottom:28px}.home-cta-card{border:1px solid rgba(8,42,95,.08)}.home-cta-card h3{font-size:32px}.home-cta-card p{font-size:15.5px;line-height:1.5}.poster-card canvas{aspect-ratio:4/5;object-fit:contain}.design-toolbar{position:sticky;top:65px;z-index:12;backdrop-filter:blur(12px)}.motion-player{border:2px solid rgba(255,255,255,.18)}.motion-player canvas{background:#031a48}.download-preview{border:2px solid rgba(255,255,255,.2)}
@media(max-width:380px){.home-title-wrap h1{font-size:60px}.home-title-wrap h2{font-size:21px}.home-cta-card h3{font-size:28px}.view{padding-left:12px;padding-right:12px}}

/* V5 final polish — mobile-first, no third-party/K mark, clear hierarchy */
:root{--frame:480px}
.home-brand{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;margin-bottom:8px}
.home-brand img{width:78px;height:auto;object-fit:contain}
.home-brand p{font-size:14px;letter-spacing:2.4px}
.home-title-wrap{margin-top:10px}
.home-title-wrap h1{font-size:64px;line-height:.9;letter-spacing:-1px}
.home-title-wrap h2{font-size:23px;margin-top:10px}
.hero-photo-card{aspect-ratio:auto;display:block;margin-top:16px;border-radius:26px;overflow:hidden;background:#0b56bf}
.hero-photo-card img{width:100%;height:auto;max-height:none;object-fit:contain;object-position:center center;background:#0b56bf}
.home-cta-card{margin-top:16px;padding:22px 18px 20px;position:relative;transform:none}
.home-cta-card h3{font-size:34px;line-height:1.02;margin-bottom:9px}
.home-cta-card p{font-size:16px;line-height:1.48;margin-bottom:17px}
.home-cta-card small{font-size:12px}

.nudge-controls{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:10px 4px 4px}
.nudge-controls button{height:44px;border-radius:12px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.08);color:#fff;font-size:21px;font-weight:700}
.nudge-controls button:active{background:rgba(255,255,255,.18)}

.poster-card span{font-size:15px;padding:9px 6px}
.poster-grid{gap:12px}
.poster-card{background:#102f69;border-radius:17px}
.poster-card canvas{aspect-ratio:4/5;image-rendering:auto}

.motion-player canvas{aspect-ratio:9/16}
.personalized-card{padding:12px}
.personalized-card img{width:68px;height:68px}
.personalized-card strong{font-size:19px}

@media(max-width:420px){
  .home-title-wrap h1{font-size:58px}
  .home-title-wrap h2{font-size:21px}
  .home-cta-card h3{font-size:31px}
  .poster-grid{gap:8px}
  .poster-card span{font-size:13px}
}
/* Homepage party lockup: NPP logo + NYAME NSA WOMU only */
#home .home-brand{flex-direction:row;gap:13px;margin:0 auto 10px;width:max-content;max-width:100%;padding:7px 12px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:rgba(2,20,55,.18)}
#home .home-brand img{width:66px;margin:0;border-radius:5px}
#home .home-brand p{text-align:left;line-height:1.15;font-size:14px;max-width:170px}

/* V6 motion/audio refinement */
.motion-player{background:#021a4a;border-color:rgba(255,255,255,.28)}
.motion-player canvas{width:100%;height:auto;aspect-ratio:9/16;background:#031a48}
.audio-editor{margin:12px 0;padding:14px;border:1px solid rgba(255,255,255,.18);border-radius:20px;background:linear-gradient(145deg,rgba(20,65,136,.86),rgba(4,31,78,.96));box-shadow:0 14px 30px rgba(0,0,0,.18)}
.audio-editor-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.audio-editor-head small{display:block;color:#9fc8ff;font-size:9px;letter-spacing:1.4px;font-weight:700}.audio-editor-head h3{margin:3px 0 0;font-size:20px;line-height:1.05}.audio-preview-btn{border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.08);color:#fff;border-radius:12px;padding:10px 12px;font-weight:700;white-space:nowrap}
.song-wave{height:48px;margin:13px 0 6px;display:flex;align-items:center;gap:3px;padding:0 4px;border-radius:12px;background:rgba(1,17,50,.28);overflow:hidden}.song-wave span{flex:1;min-width:2px;background:linear-gradient(180deg,#fff,#86baff);border-radius:4px;opacity:.78}.song-wave span:nth-child(3n+1){height:16px}.song-wave span:nth-child(3n+2){height:34px}.song-wave span:nth-child(3n){height:24px}.song-wave span:nth-child(5n){height:42px}
.range-labels{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;font-size:12px;color:#d5e3f5;margin-bottom:7px}.range-labels strong:last-child{text-align:right}.range-labels span{background:rgba(255,255,255,.1);border-radius:999px;padding:4px 9px;color:#fff;font-weight:700}
.range-row{display:grid;grid-template-columns:42px 1fr;align-items:center;gap:8px;margin:7px 0}.range-row span{font-size:12px;color:#d7e3f4;font-weight:700}.range-row input{width:100%;accent-color:#e31b23}.audio-hint{font-size:11px;line-height:1.35;color:#bfd0e7;margin:10px 0 0}
.render-progress-wrap{margin:9px 0 2px;text-align:center}.render-progress{height:9px;border-radius:999px;background:rgba(255,255,255,.13);overflow:hidden}.render-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,#e31b23 0 33%,#fff 33% 66%,#1765d6 66%);transition:width .15s linear}.render-progress-wrap small{display:block;margin-top:6px;color:#d6e1f1;font-size:11px}

/* Keep Nana B portrait panels close to the source aspect ratio so the head/hands are not lost */
.poster-card canvas,.download-preview canvas{image-rendering:auto}

@media(max-width:380px){
  .audio-editor-head h3{font-size:18px}.audio-preview-btn{padding:9px 10px;font-size:12px}
}

/* V7 final campaign refinements */
.red-o{color:#e21b23!important;font-size:.92em!important}
#home{padding-bottom:20px}
.home-brand{background:transparent!important;border:0!important;padding:0!important;margin-bottom:8px!important}
.home-brand img{width:70px!important;box-shadow:0 8px 20px rgba(0,0,0,.22)}
.home-brand p{font-size:14px!important;letter-spacing:2.1px!important}
.home-title-wrap h1{font-size:62px!important}
.hero-photo-card{
  margin-top:14px!important;
  aspect-ratio:756/1190!important;
  width:92%;
  margin-left:auto!important;
  margin-right:auto!important;
  border-radius:48% 48% 19% 19% / 29% 29% 13% 13%!important;
  border:3px solid rgba(255,255,255,.88)!important;
  background:transparent!important;
  box-shadow:0 18px 42px rgba(0,0,0,.28)!important;
}
.hero-photo-card img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center center!important;background:transparent!important}
.hero-photo-card:after{height:5px!important}
.home-cta-card{margin-top:14px!important;padding:19px 18px 18px!important}
.home-cta-card h3{font-size:32px!important}
.home-cta-card p{font-size:15px!important;line-height:1.42!important}
.campaign-social-strip{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:12px 2px 0;padding:10px 3px 4px;border-top:1px solid rgba(255,255,255,.18);font-size:12px;min-width:0;overflow:hidden}
.campaign-social-left{display:flex;align-items:center;gap:5px;min-width:0;flex:1 1 auto}.campaign-social-left strong{white-space:nowrap;font-size:11.5px;letter-spacing:.05px;overflow:hidden;text-overflow:ellipsis}
.social-lockup{padding-right:4px}
.social-mini{width:23px;height:23px;display:inline-grid;place-items:center;border-radius:50%;color:#fff;flex:0 0 auto;overflow:hidden;box-shadow:0 2px 7px rgba(0,0,0,.18)}
.social-mini svg{width:100%;height:100%;display:block}
.social-mini.fb{background:#1877F2}.social-mini.fb svg{fill:#fff;padding:2.4px 1.6px 0 1.6px;box-sizing:border-box}
.social-mini.ig{background:radial-gradient(circle at 30% 105%,#ffd600 0 22%,#ff7a00 23% 39%,#ff0169 40% 58%,#d300c5 59% 76%,#7638fa 77% 100%)}
.social-mini.ig svg{fill:none;stroke:#fff;stroke-width:1.8}.social-mini.ig .ig-dot{fill:#fff;stroke:none}
.social-mini.x{background:#050505;border:1px solid rgba(255,255,255,.7)}.social-mini.x svg{fill:#fff;padding:2px;box-sizing:border-box}
.campaign-hashtag{display:inline-flex;align-items:baseline;white-space:nowrap!important;word-break:keep-all!important;overflow-wrap:normal!important;hyphens:none!important;flex:0 0 auto;font-size:11.5px;letter-spacing:-.05px}
.red-o{color:#d71920!important;font-size:.92em!important;font-weight:900!important;line-height:1!important;margin:0 .01em}
.download-socials{margin-top:15px;padding-top:13px;border-top:1px solid rgba(255,255,255,.16);display:flex;align-items:center;justify-content:space-between;gap:8px;color:#dce8f7;min-width:0}
.download-social-line{display:flex;align-items:center;gap:7px;min-width:0}.download-social-icons{display:flex;gap:5px;flex:0 0 auto}.download-socials strong{font-size:12px;white-space:nowrap}.download-hashtag{font-size:12px!important}

/* Nana B image frames use the image itself to fill the shape: no solid internal letterboxing. */
.poster-card canvas,.download-preview canvas,.motion-player canvas{image-rendering:auto}

/* Tighter gallery and motion screens: less unused space. */
#designs.view,#motion.view,#download.view{padding-top:16px}
.poster-grid{gap:8px!important}.poster-card span{padding:7px 5px!important;font-size:13px!important}
.design-toolbar{padding:10px!important;margin-bottom:9px!important}.design-actions{margin-top:9px!important}
.motion-player{border-radius:20px!important}.personalized-card{margin:9px 0!important}.audio-editor{margin:9px 0!important;padding:12px!important}
.download-preview{margin-bottom:10px!important}.download-options{padding:14px!important}

@media(max-width:380px){
  .campaign-social-strip{font-size:9.5px;gap:5px}.campaign-social-left strong,.campaign-hashtag{font-size:9.8px}.social-mini{width:19px;height:19px}.download-socials{gap:5px}.download-socials strong,.download-hashtag{font-size:10px!important}
  .hero-photo-card{width:94%}
}

@media(max-width:340px){
  .campaign-social-strip{padding-left:0;padding-right:0;gap:4px}
  .campaign-social-left{gap:3px}.campaign-social-left strong{font-size:9px}.campaign-hashtag{font-size:9px}
  .social-mini{width:18px;height:18px}
}

/* V11 — simplified, touch-friendly photo adjustment + discoverable developer credit */
.adjust-tip{display:grid;gap:3px;margin:0 0 12px;padding:11px 12px;border-radius:14px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15)}
.adjust-tip strong{font-size:16px}.adjust-tip span{font-size:12px;line-height:1.35;color:#d7e3f5}
.crop-stage{box-shadow:inset 0 0 0 1px rgba(255,255,255,.12),0 14px 28px rgba(0,0,0,.2)}
.gesture-hint{position:absolute;left:50%;bottom:13px;transform:translateX(-50%);z-index:5;white-space:nowrap;padding:7px 11px;border-radius:999px;background:rgba(2,17,49,.76);border:1px solid rgba(255,255,255,.24);font-size:11px;font-weight:700;pointer-events:none;transition:opacity .25s ease}
.gesture-hint.is-hidden{opacity:0}
.editor-toolbar{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:12px 0 5px}
.editor-tool{min-height:54px;border:1px solid rgba(255,255,255,.23);background:rgba(255,255,255,.07);color:#fff;border-radius:13px;display:grid;place-items:center;align-content:center;gap:1px;padding:5px}
.editor-tool b{font-size:21px;line-height:1}.editor-tool span{font-size:10px;line-height:1.1}.editor-tool:active{background:rgba(255,255,255,.16)}
.zoom-control{grid-template-columns:20px 1fr 20px 48px!important;margin-top:11px!important}.zoom-control output{font-size:11px;font-weight:700;color:#fff;text-align:right}
.nudge-controls{display:none!important}
.nudge-pad{width:164px;margin:10px auto 4px;display:grid;grid-template-columns:repeat(3,48px);grid-template-rows:repeat(3,42px);gap:5px;justify-content:center}
.nudge-pad button{border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.07);color:#fff;border-radius:11px;font-size:20px;font-weight:700}.nudge-pad button:active{background:rgba(255,255,255,.18)}
.preview-row-large{padding:12px 13px!important}.preview-row-large .small-preview{width:96px;height:96px}.preview-row-large strong{font-size:20px}.preview-row-large small{font-size:13px;line-height:1.28}
.developer-credit{margin:12px 0 0;text-align:center;font-size:10.5px;line-height:1.35;color:#aebfd8}.developer-credit a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.35)}
.developer-credit-card{margin-top:13px;padding-top:10px;border-top:1px solid rgba(255,255,255,.12)}
@media(max-width:360px){.editor-tool span{font-size:9px}.nudge-pad{width:150px;grid-template-columns:repeat(3,44px)}}
\n\n/* V12 FINAL — layout containment and message legibility */\n.motion-player{overflow:hidden!important;isolation:isolate}\n.motion-player canvas{display:block!important;max-width:100%!important}\n.poster-card{overflow:hidden!important}\n.poster-card span{font-size:14px!important;padding:8px 5px!important}\n.download-preview{overflow:hidden!important}\n#designs .poster-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}\n@media(max-width:360px){#designs .poster-grid{gap:7px!important}.poster-card span{font-size:12.5px!important}}\n

/* V13 FINAL — restore V11 visual rhythm and prevent any UI text collision */
.poster-card canvas,.download-preview canvas{font-family:"Times New Roman",Times,serif!important}
.poster-card{overflow:hidden!important}
.poster-card canvas{display:block!important;width:100%!important;height:auto!important}
#designs .poster-grid{align-items:start!important}
.motion-player{overflow:hidden!important}
