
:root{
  --bg:#07090b; --bg2:#0d1116; --panel:rgba(18,22,27,.88); --panel2:#151a20;
  --text:#f7f8fa; --muted:#9aa3ad; --yellow:#ffd400; --yellow2:#ffec66;
  --green:#00c853; --green2:#0fe06a; --line:rgba(255,255,255,.09);
  --line2:rgba(255,212,0,.22); --shadow:0 24px 70px rgba(0,0,0,.45);
  --shadowSoft:0 14px 34px rgba(0,0,0,.28); --radius:26px; --radiusSm:18px;
}
*{box-sizing:border-box}
html{background:#07090b}
body{
  margin:0;color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  min-height:100vh;
  background:
    radial-gradient(900px 500px at 10% -5%, rgba(0,200,83,.12), transparent 55%),
    radial-gradient(800px 500px at 95% 0%, rgba(255,212,0,.11), transparent 55%),
    linear-gradient(180deg,var(--bg),var(--bg2) 48%,#090b0e);
}
body:before{
  content:"";position:fixed;inset:0;pointer-events:none;opacity:.18;
  background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:28px 28px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.65),transparent 70%);
}
img{max-width:100%;display:block}.is-hidden{display:none!important}.screen{display:none}.screen.is-active{display:block}
button,input{font:inherit}

.topbar{
  position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;
  padding:13px max(16px,calc((100vw - 1060px)/2));background:rgba(7,9,11,.78);
  backdrop-filter:blur(18px) saturate(130%);border-bottom:1px solid var(--line)
}
.brand{display:flex;align-items:center;gap:11px}
.brand-mark{
  width:38px;height:38px;border-radius:12px;display:grid;place-items:center;font-weight:1000;color:#111;
  background:linear-gradient(135deg,var(--yellow2),var(--yellow));box-shadow:0 8px 24px rgba(255,212,0,.22)
}
.brand-copy{line-height:1.02}.brand-kicker{display:block;font-size:10px;font-weight:850;letter-spacing:.16em;color:var(--yellow)}
.brand strong{font-size:18px;letter-spacing:.015em}
.icon-button{
  min-width:44px;height:44px;border:1px solid var(--line);background:rgba(255,255,255,.045);color:#fff;
  border-radius:14px;cursor:pointer;transition:.2s
}
.icon-button:hover{border-color:var(--line2);transform:translateY(-1px)}

.app-shell{max-width:1060px;margin:0 auto;padding:24px 16px 110px}
.progress-shell{
  display:flex;align-items:center;gap:8px;margin-bottom:18px;padding:8px 10px;border:1px solid var(--line);
  background:rgba(255,255,255,.025);border-radius:999px;overflow-x:auto;scrollbar-width:none
}
.progress-shell::-webkit-scrollbar{display:none}
.progress-step{
  flex:1;min-width:120px;display:flex;align-items:center;gap:8px;color:#707984;font-size:12px;font-weight:760;white-space:nowrap
}
.progress-step .dot{
  width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#151a20;border:1px solid var(--line);font-size:11px
}
.progress-step.active{color:#fff}.progress-step.active .dot{background:var(--yellow);color:#111;border-color:transparent;box-shadow:0 0 0 5px rgba(255,212,0,.08)}
.progress-step.done{color:#a9f4c5}.progress-step.done .dot{background:rgba(0,200,83,.16);border-color:rgba(0,200,83,.28);color:#88f0b1}

.eyebrow{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:850;letter-spacing:.17em;color:var(--yellow);text-transform:uppercase}
.eyebrow:before{content:"";width:18px;height:2px;background:var(--yellow);border-radius:2px}
.hero-copy h1,.selection-head h2,.screen-heading h2,.result-heading h2{margin:.5rem 0 .7rem;line-height:1.02;letter-spacing:-.03em}
.hero-copy h1{font-size:clamp(38px,7vw,66px);max-width:760px}
.selection-head h2,.screen-heading h2,.result-heading h2{font-size:clamp(30px,5vw,44px)}
.hero-copy p,.result-heading p,.selection-head p{color:var(--muted);font-size:16px;line-height:1.6;max-width:720px}

.card,.canvas-card,.format-card,.template-card,.result-card,.hero-preview{
  background:linear-gradient(180deg,rgba(22,27,33,.9),rgba(15,19,24,.92));
  border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadowSoft)
}
.screen-home.is-active,.screen-select-format.is-active,.screen-select-template.is-active,.screen-editor.is-active,.screen-result.is-active{display:grid;gap:20px}

.hero-panel{
  position:relative;padding:30px;border-radius:32px;overflow:hidden;border:1px solid var(--line);
  background:
    linear-gradient(125deg,rgba(255,212,0,.08),transparent 35%),
    linear-gradient(305deg,rgba(0,200,83,.08),transparent 40%),
    rgba(255,255,255,.025)
}
.hero-panel:after{
  content:"";position:absolute;width:340px;height:340px;border-radius:50%;right:-150px;top:-160px;
  background:radial-gradient(circle,rgba(255,212,0,.14),transparent 65%)
}
.hero-preview{position:relative;overflow:hidden;max-width:430px;margin:0 auto;padding:10px;border-radius:30px}
.hero-preview img{border-radius:22px}
.hero-preview:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);border-radius:30px;pointer-events:none}
.preview-person{position:absolute;inset:auto 50% 66px auto;transform:translateX(50%);display:flex;flex-direction:column;align-items:center;gap:7px;font-weight:900;color:#111}
.preview-person .preview-head{width:54px;height:54px;border-radius:50%;background:linear-gradient(#fff,#d7d7d7)}
.preview-person .preview-body{width:82px;height:92px;border-radius:38px 38px 16px 16px;background:linear-gradient(#f6f6f6,#d7d7d7)}
.preview-person span{padding:6px 9px;border-radius:999px;background:var(--yellow);font-size:10px;box-shadow:0 8px 22px rgba(0,0,0,.28)}

.primary-actions,.utility-actions,.share-actions{display:grid;gap:12px}
.button{
  appearance:none;border:0;border-radius:18px;padding:16px 18px;cursor:pointer;font-weight:850;color:#fff;
  background:#1d232a;box-shadow:var(--shadowSoft);transition:transform .18s ease,filter .18s ease,box-shadow .18s ease
}
.button:hover{transform:translateY(-1px);filter:brightness(1.04)}
.button:active{transform:translateY(0) scale(.995)}
.button[disabled]{opacity:.42;cursor:not-allowed;transform:none}
.button-primary{
  color:#111;background:linear-gradient(135deg,var(--yellow2),var(--yellow));
  box-shadow:0 18px 42px rgba(255,212,0,.16),inset 0 1px 0 rgba(255,255,255,.5)
}
.button-secondary{background:rgba(255,255,255,.045);border:1px solid var(--line)}
.button-quiet{background:rgba(255,255,255,.035);border:1px solid var(--line)}
.button-xl{min-height:70px;display:flex;align-items:center;gap:14px;justify-content:flex-start;text-align:left}
.button-generate{min-height:64px;font-size:18px;letter-spacing:.02em}
.button-icon{font-size:25px}.button small{display:block;opacity:.72;font-size:12px;margin-top:3px;font-weight:650}
.text-button{appearance:none;border:0;background:none;color:var(--yellow);font-weight:800;cursor:pointer;padding:6px 0}
.text-button.centered{text-align:center;padding:12px 0}

.privacy-note,.footer,.status-copy,.selection-summary{color:var(--muted);font-size:13px}
.privacy-note{display:flex;align-items:center;gap:8px;padding:11px 13px;border:1px solid rgba(0,200,83,.14);background:rgba(0,200,83,.06);border-radius:14px}

.format-grid,.template-grid{display:grid;gap:14px}
.format-card,.template-card{
  padding:14px;cursor:pointer;text-align:left;position:relative;overflow:hidden;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease
}
.format-card:hover,.template-card:hover{transform:translateY(-2px);border-color:rgba(255,212,0,.28)}
.format-card.active,.template-card.active{
  border-color:rgba(255,212,0,.72);box-shadow:0 0 0 2px rgba(255,212,0,.16),0 24px 60px rgba(0,0,0,.36);
  background:linear-gradient(180deg,rgba(255,212,0,.07),rgba(20,24,30,.96))
}
.format-card.active:after,.template-card.active:after{
  content:"✓";position:absolute;top:12px;right:12px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;
  background:var(--yellow);color:#111;font-weight:950;box-shadow:0 8px 22px rgba(255,212,0,.24)
}
.format-card h3,.template-card h3{margin:9px 0 4px;font-size:18px;letter-spacing:-.015em}
.format-card p,.template-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}
.format-visual{
  height:110px;border-radius:16px;margin-bottom:12px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;
  background:
   radial-gradient(circle at 30% 20%,rgba(255,212,0,.18),transparent 32%),
   radial-gradient(circle at 80% 80%,rgba(0,200,83,.18),transparent 30%),
   #101419
}
.format-visual .device{border:2px solid rgba(255,255,255,.65);border-radius:14px;background:rgba(255,255,255,.04);box-shadow:0 14px 40px rgba(0,0,0,.3)}
.format-visual.feed .device{width:62px;height:78px}.format-visual.story .device{width:52px;height:92px}
.format-visual .device:after{content:"";display:block;width:20px;height:3px;background:rgba(255,255,255,.45);border-radius:999px;margin:7px auto}
.template-thumb{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:18px;background:#0d0d0d;border:1px solid rgba(255,255,255,.06)}
.template-thumb.story{aspect-ratio:9/16}.template-thumb img{width:100%;height:100%;object-fit:cover}
.template-thumb:after{content:"TOQUE PARA ESCOLHER";position:absolute;left:10px;bottom:10px;padding:7px 9px;border-radius:999px;background:rgba(0,0,0,.64);backdrop-filter:blur(8px);font-size:9px;font-weight:850;letter-spacing:.08em;color:#fff}

.screen-heading,.result-heading,.selection-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}
.editor-shell{display:grid;gap:18px}
.canvas-card{padding:12px;position:relative;background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.015))}
.canvas-wrap{display:grid;justify-content:center}
.canvas-stage{position:relative;max-width:470px;margin:0 auto}
.canvas-stage[data-format="story"]{max-width:365px}
canvas{display:block;width:100%;height:auto;background:#000;border-radius:22px;touch-action:none;box-shadow:0 20px 60px rgba(0,0,0,.38)}
.gesture-hint{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);background:rgba(0,0,0,.62);padding:8px 12px;border-radius:999px;font-size:11px;color:#fff;backdrop-filter:blur(10px);white-space:nowrap;border:1px solid rgba(255,255,255,.08)}
.editor-panel{padding:18px}
.editor-panel .section-label{font-size:12px;font-weight:850;color:var(--muted);letter-spacing:.08em;margin-bottom:10px;text-transform:uppercase}
.zoom-row{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;margin-top:18px}
.round-control{width:48px;height:48px;border-radius:50%;border:1px solid var(--line);background:#171c22;color:#fff;font-size:28px;line-height:1;cursor:pointer}
.zoom-slider{display:grid;gap:6px}.zoom-slider span{font-size:13px;color:var(--muted)}.zoom-slider input{width:100%;accent-color:var(--yellow)}
.selection-chip{display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border-radius:999px;background:rgba(255,212,0,.07);border:1px solid rgba(255,212,0,.14);font-size:12px;color:#fff}

.result-card{padding:12px}.result-card img{width:100%;max-width:430px;margin:0 auto;border-radius:20px}
.success-badge{display:inline-flex;align-items:center;gap:6px;background:rgba(0,200,83,.12);border:1px solid rgba(0,200,83,.28);color:#8ff2b5;border-radius:999px;padding:8px 11px;font-size:11px;font-weight:900;letter-spacing:.11em}
.fallback-box{padding:14px 16px;border-radius:16px;background:rgba(255,212,0,.08);border:1px solid rgba(255,212,0,.18);color:#fff;font-size:14px}

.footer{
  position:fixed;left:0;right:0;bottom:0;padding:11px 14px;background:rgba(7,9,11,.84);
  backdrop-filter:blur(16px);border-top:1px solid var(--line);display:flex;justify-content:center;gap:8px;flex-wrap:wrap;z-index:40
}
.loading-overlay{position:fixed;inset:0;background:rgba(0,0,0,.72);display:grid;place-items:center;z-index:100;backdrop-filter:blur(5px)}
.loading-overlay .panel{padding:26px 24px;border-radius:24px;background:#10151a;display:grid;justify-items:center;gap:12px;border:1px solid var(--line);box-shadow:var(--shadow)}
.spinner{width:42px;height:42px;border-radius:50%;border:4px solid rgba(255,255,255,.14);border-top-color:var(--yellow);animation:spin .85s linear infinite}
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:78px;max-width:90vw;background:#111820;border:1px solid var(--line);border-radius:18px;padding:14px 16px;color:#fff;box-shadow:var(--shadow);z-index:90;text-align:center}
@keyframes spin{to{transform:rotate(360deg)}}

@media(min-width:780px){
  .screen-home.is-active{grid-template-columns:1.05fr .95fr;align-items:center}
  .format-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .editor-shell{grid-template-columns:minmax(0,1fr) 340px;align-items:start}
  .primary-actions,.share-actions{max-width:440px}
}
@media(max-width:640px){
  .app-shell{padding-top:16px}.hero-panel{padding:22px}.hero-copy h1{font-size:40px}.progress-step{min-width:102px;font-size:11px}.progress-step .dot{width:24px;height:24px}
  .gesture-hint{font-size:10px;max-width:88%;white-space:normal;text-align:center}
}


#toTemplatesButton, #toEditorButton { display:none !important; }

/* V6 navigation safety: exactly one step visible at a time */
.screen{display:none !important;}
.screen.is-active{display:grid !important;}
#homeScreen.is-active{display:grid !important;}

@media (max-width:640px){

  .canvas-stage[data-format="story"]{
    max-width:240px;
  }

}
