:root{color-scheme:dark;--bg:#111314;--panel:#181b1d;--line:#303335;--text:#eeece6;--muted:#929895;--gold:#ccb789}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font:14px 'Segoe UI',Arial,sans-serif;height:100vh;display:flex;flex-direction:column;overflow:hidden}
button,input,select{font:inherit}
button{cursor:pointer;color:inherit;background:#24282a;border:1px solid var(--line);border-radius:8px;padding:10px 14px;transition:.15s}
button:hover{border-color:var(--gold);background:#2f2e29}
button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
button:disabled{opacity:.4;cursor:wait}
[hidden]{display:none!important}
.primary{background:var(--gold);color:#1b1e1c;border-color:var(--gold);font-weight:600}
.primary:hover{background:#e0cca1;color:#111}

/* Topo: marca, passos e coleção */
header{height:64px;flex:none;display:flex;align-items:center;gap:20px;padding:0 20px;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px;font-weight:600;font-size:15px;white-space:nowrap}
.logo{display:grid;place-items:center;width:30px;height:32px;color:var(--gold);border:1px solid var(--gold);border-radius:6px;font-size:20px}
html.sem-logo .logo{display:none}
#tabs{flex:1;display:flex;justify-content:center;gap:6px}
#tabs button{display:flex;align-items:center;gap:8px;background:transparent;border-color:transparent;color:var(--muted);padding:8px 14px;border-radius:999px}
#tabs button span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;border:1px solid var(--line);font-size:12px}
#tabs button.done{color:#c9c4b4}#tabs button.done span{border-color:#6d6449;color:var(--gold)}
#tabs button.active{color:#1b1e1c;background:var(--gold);font-weight:600}#tabs button.active span{border-color:#1b1e1c;background:#1b1e1c;color:var(--gold)}
#tabs button+button:before{content:'›';margin:0 6px 0 -12px;color:#555}
#saved{white-space:nowrap}#saved-count{margin-left:6px;color:var(--gold)}

/* Corpo: boneco grande à esquerda, passo atual à direita */
main{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 430px}
.stage{position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 45%,#3b4140,#222729 55%,#141819)}
#viewport{position:absolute;inset:0}#viewport canvas{display:block;width:100%;height:100%}
#loading{position:absolute;top:70px;left:0;right:0;text-align:center;color:var(--gold);font-size:13px;pointer-events:none}
.caption{position:absolute;top:18px;left:22px;pointer-events:none}
.caption h2{margin:0;font-size:26px;font-weight:600}.caption p{margin:4px 0 0;color:#9ba49f;font-size:12px}
.tools{position:absolute;bottom:40px;left:0;right:0;display:flex;justify-content:center;align-items:center;gap:6px;flex-wrap:wrap;padding:0 10px}
.tools button{background:#191d1fd9;font-size:13px;padding:9px 14px}
.tools button[aria-pressed=true]{color:var(--gold);border-color:var(--gold)}
.mov{display:flex;align-items:center;gap:8px;background:#191d1fd9;border:1px solid var(--line);border-radius:8px;padding:4px 4px 4px 12px;color:var(--muted);font-size:13px}
.mov select{width:auto;padding:5px 8px;margin:0}
.hint{position:absolute;bottom:14px;width:100%;text-align:center;color:#7f8884;font-size:11px;pointer-events:none}

.panel{display:flex;flex-direction:column;min-height:0;background:var(--panel);border-left:1px solid var(--line)}
.panel-head{padding:20px 22px 12px}
#step-num{font-size:11px;letter-spacing:1px;color:var(--gold);font-weight:600}
.panel-head h2{margin:6px 0 4px;font-size:21px;font-weight:600}
#step-help{margin:0;color:var(--muted);font-size:13px;line-height:1.5}
.panel-body{flex:1;overflow:auto;padding:4px 22px 20px}
.panel-foot{display:flex;gap:8px;padding:14px 22px;border-top:1px solid var(--line)}
.panel-foot button{flex:1;padding:12px}
#prev{flex:0 0 auto}

input:not([type=color]):not([type=range]):not([type=file]),select{width:100%;background:#111516;border:1px solid var(--line);color:var(--text);padding:10px 12px;border-radius:8px}
#filters{display:flex;gap:5px;flex-wrap:wrap;margin:10px 0 4px}
#filters button{font-size:12px;padding:6px 10px;border-radius:999px}
#filters button.active{color:#1b1e1c;background:var(--gold);border-color:var(--gold)}
#count{display:block;font-size:11px;color:var(--muted);margin:6px 0 10px}

#options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-content:start}
#options.duas{grid-template-columns:repeat(2,minmax(0,1fr))}
.wide{grid-column:1/-1}
.grupo{grid-column:1/-1;margin:14px 0 2px;font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--gold);font-weight:600;border-bottom:1px solid var(--line);padding-bottom:6px}
.grupo:first-child{margin-top:4px}
.card{position:relative;padding:0;background:linear-gradient(145deg,#2c3234,#1f2325);overflow:hidden;text-align:center;border-radius:10px}
.card.selected{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold)}
.card.selected:after{content:'✓';position:absolute;right:5px;top:5px;color:#171a1c;background:var(--gold);border-radius:50%;width:18px;height:18px;line-height:18px;font-size:11px}
.card img{width:100%;height:92px;object-fit:contain;display:block}
.card .glyph{display:grid;place-items:center;height:52px;font-size:24px;color:var(--gold)}
.card strong{display:block;padding:7px 6px;font-size:12px;font-weight:500;background:#151919b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
label{display:block;color:var(--muted);font-size:12px;margin:4px 0}
label input,label select{margin-top:6px}
label input[type=color]{display:block;width:100%;height:34px;padding:2px;background:#22282a;border:1px solid var(--line);border-radius:8px;cursor:pointer}
label input[type=range]{display:block;width:100%;accent-color:var(--gold)}
#options>label:not(.wide){grid-column:span 1}
#options.duas>label:not(.wide),#options.duas>.toggle{grid-column:span 1}
.toggle{font-size:12px;align-self:end;height:34px;padding:0 8px;margin-bottom:4px}
.empty,.help{color:var(--muted);font-size:12px;line-height:1.6;margin:6px 0}

#save-step label{margin:6px 0 16px;font-size:13px}
#save-step .primary{width:100%;padding:14px}
#status{color:#c9c4b4;font-size:12px;min-height:20px}
.extra{margin-top:22px;border-top:1px solid var(--line);padding-top:10px;display:grid;gap:8px}
.extra button{text-align:left;font-size:13px}

dialog{background:#1a1f21;color:var(--text);border:1px solid #71654e;border-radius:12px;width:520px;max-width:90vw;padding:22px}
dialog::backdrop{background:#000b}
.dialog-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.dialog-top h2{margin:0;font-size:20px}
#saved-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;max-height:60vh;overflow:auto}
#saved-list .salvo{display:flex;flex-direction:column;padding:0;overflow:hidden;border-radius:12px;background:#252b2e;border:1px solid #ffffff1f;text-align:center;cursor:pointer}
#saved-list .salvo:hover{border-color:var(--gold)}
#saved-list .salvo img,#saved-list .salvo .glyph{width:100%;aspect-ratio:1;object-fit:contain;background:radial-gradient(circle at 50% 40%,#3a4a8a,#1b2240);display:grid;place-items:center;font-size:40px}
#saved-list .salvo-nome{padding:10px 8px;font-weight:700;font-size:14px;background:#1c2124;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

@media(max-width:1150px){.brand{display:none}#tabs{justify-content:flex-start}main{grid-template-columns:minmax(0,1fr) 370px}#options{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){body{overflow:auto;height:auto}header{height:auto;flex-wrap:wrap;padding:10px}#tabs{order:3;width:100%;overflow:auto}#tabs button+button:before{display:none}main{grid-template-columns:1fr}.stage{height:60vh}.panel{border-left:0;border-top:1px solid var(--line)}.panel-body{overflow:visible}}

/* ---------- Meu Mascote 3D: mesma marca do site (DESIGN.md) ---------- */
:root{--bg:#0b1630;--panel:#12203f;--line:#2a3b5e;--text:#eef1fb;--muted:#a3abd6;--gold:#ffd23f}
body{font-family:'Atkinson Hyperlegible','Segoe UI',Arial,sans-serif}
button:hover{background:#1d2d52}
.primary,.primary:hover{background:var(--gold);color:#0f1d3d;border:2px solid #0f1d3d;box-shadow:3px 3px 0 #000a}
.primary:active{transform:translate(2px,2px);box-shadow:1px 1px 0 #000a}
.brand{text-decoration:none;color:inherit;font:800 19px/1 'Baloo 2','Segoe UI',sans-serif}
.logo{width:24px;height:24px;font-size:0;background:#1559e6;border:2px solid #eef1fb;border-radius:5px;transform:rotate(-8deg);box-shadow:2px 2px 0 var(--gold)}
.stage{background:radial-gradient(ellipse at 50% 40%,#2f6cf0,#1a47b8 55%,#0b1630)}
.conta{color:var(--muted);text-decoration:none;white-space:nowrap;font-size:13px}.conta:hover{color:var(--text)}
#save-step #save{width:100%;padding:12px}
.kit-box{margin:16px 0 8px;padding:16px;border-radius:6px 18px 18px 6px;background:#ff4b3a;color:#fff;border:2px solid #0f1d3d;box-shadow:4px 4px 0 #000a;display:grid;gap:8px}
.kit-box strong{font:800 19px/1.1 'Baloo 2',sans-serif}.kit-box span{color:#fff;font-size:13px;line-height:1.5}
#compra .valor{font:800 48px/1 'Baloo 2',sans-serif;margin:4px 0}#compra .valor small{font-size:16px;color:var(--muted)}
#compra .primary{width:100%;padding:14px;margin-top:10px}
.aviso-teste{font-size:12px;color:var(--gold);margin:12px 0 0}
/* passo Cenário: um cartão grande por pacote, com o mascote dentro da cena */
#options.cenarios{grid-template-columns:1fr;gap:12px}
.cena{display:block;width:100%;padding:0;text-align:left;border-radius:12px;overflow:hidden;background:var(--panel)}
.cena.selected{border-color:var(--gold);box-shadow:inset 0 0 0 2px var(--gold),4px 4px 0 var(--gold)}
.cena-img{position:relative;display:block;aspect-ratio:3/2;overflow:hidden}
.cena-img img{width:100%;height:100%;object-fit:cover;display:block}
.cena-img .cena-boneco{position:absolute;left:50%;bottom:6%;width:auto;height:50%;object-fit:contain;transform:translateX(-50%);filter:drop-shadow(0 6px 4px #0006)}
.cena strong{display:block;padding:10px 12px 2px;font:800 19px/1.1 'Baloo 2',system-ui,sans-serif}
.cena small{display:block;padding:0 12px 12px;font-size:13px;opacity:.8}
.cena.selected strong:after{content:' ✓';color:var(--gold)}

/* cartão de cenário: área de escolher + botão "ver tudo" */
.cena{padding:0;border:1px solid var(--line)}
.cena-escolher{display:block;width:100%;padding:0;border:0;border-radius:0;background:none;text-align:left}
.cena-escolher:hover{background:none}
.cena-ver{display:block;width:calc(100% - 24px);margin:0 12px 12px;min-height:40px;font-size:14px;font-weight:700}
/* tela com tudo o que vem no pacote */
#pacote{width:min(1120px,95vw);max-width:95vw;height:min(780px,92vh);padding:18px 20px}
#pacote[open]{display:flex;flex-direction:column}
.pacote-acoes{display:flex;gap:8px}
.pacote-corpo{flex:1;min-height:0;display:grid;grid-template-columns:230px 1fr;gap:18px}
#pacote-lista{display:flex;flex-direction:column;gap:10px;overflow:auto;padding:2px}
#pacote-lista button{padding:0;text-align:left;overflow:hidden;border-radius:10px;flex:none}
#pacote-lista button img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}
#pacote-lista button strong{display:block;padding:8px 10px 0;font:800 17px/1.1 'Baloo 2',system-ui,sans-serif}
#pacote-lista button small{display:block;padding:2px 10px 10px;font-size:12px;opacity:.8}
#pacote-lista button.ativo{border-color:var(--gold);box-shadow:inset 0 0 0 2px var(--gold)}
#pacote-itens{overflow:auto;padding-right:6px}
#pacote-itens h3{margin:16px 0 8px;font:800 19px/1.1 'Baloo 2',system-ui,sans-serif}
#pacote-itens h3:first-child{margin-top:0}
#pacote-itens h3 small{display:block;font-family:'Atkinson Hyperlegible',system-ui,sans-serif;font-weight:400;font-size:12px;opacity:.75;margin-top:2px}
.pacote-grade{display:flex;flex-wrap:wrap;gap:6px}
.peca{width:76px;height:76px;border-radius:8px;background-color:#dfe9f5;background-repeat:no-repeat}
@media(max-width:760px){.pacote-corpo{grid-template-columns:1fr}#pacote-lista{flex-direction:row;overflow-x:auto}#pacote-lista button{min-width:170px}}

/* barra de altura do boneco (passos Boneco e Cenário) */
.altura{position:absolute;left:18px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;background:#191d1fd9;border:1px solid #ffffff22;border-radius:14px;padding:12px 8px;z-index:2}
.altura[hidden]{display:none}
.altura input[type=range]{writing-mode:vertical-lr;direction:rtl;width:22px;height:min(260px,32vh);margin:0;cursor:pointer}
.altura-valor{font-weight:700;font-size:15px;color:var(--gold);min-width:56px;text-align:center}
.altura-nome{font-size:11px;color:#c9d0cc;text-transform:uppercase;letter-spacing:.06em}

/* Meus mascotes: botão de excluir no canto do cartão + janela de confirmação */
#saved-list .salvo-box{position:relative;display:flex}
#saved-list .salvo-box .salvo{flex:1}
#saved-list .salvo-x{position:absolute;top:8px;right:8px;width:30px;height:30px;padding:0;border-radius:50%;display:grid;place-items:center;font-size:20px;line-height:1;background:#111a;border:1px solid #ffffff40;color:#fff;opacity:.75;transition:opacity .15s,background .15s,transform .15s}
#saved-list .salvo-box:hover .salvo-x,#saved-list .salvo-x:focus-visible{opacity:1}
#saved-list .salvo-x:hover{background:#d93a3a;border-color:#ff8a8a;transform:scale(1.08)}
dialog.excluir{width:380px;text-align:center;padding:28px 26px 24px;border-color:#d93a3a88}
.excluir-icone{width:56px;height:56px;margin:0 auto 14px;border-radius:50%;display:grid;place-items:center;font-size:30px;font-weight:800;color:#fff;background:#d93a3a;box-shadow:0 0 0 8px #d93a3a2e}
dialog.excluir h2{margin:0 0 6px;font-size:20px}
.excluir-nome{margin:0 0 12px;font-weight:700;color:var(--gold)}
.excluir-aviso{margin:0 0 20px;padding:10px 12px;border-radius:8px;background:#d93a3a1f;color:#ffb3b3;font-size:14px}
.excluir-botoes{display:flex;gap:10px;justify-content:center}.excluir-botoes button{flex:1;padding:11px}
button.perigo{background:#d93a3a;border-color:#d93a3a;color:#fff;font-weight:700}button.perigo:hover{background:#b82e2e;border-color:#ff8a8a}

#saved-list .salvos-vazio{grid-column:1/-1;margin:0;color:var(--muted)}

/* lista "tudo o que vem": janelinha de zoom ao passar o mouse numa peça */
.peca{cursor:zoom-in;transition:transform .12s,box-shadow .12s}
.peca:hover{transform:scale(1.06);box-shadow:0 0 0 2px var(--gold)}
.zoom-peca{position:absolute;z-index:20;width:300px;padding:8px;border-radius:14px;background:#1c2124;border:1px solid #ffffff2a;box-shadow:0 18px 40px #000a;pointer-events:none;animation:zoom-peca-entra .14s ease-out}
.zoom-peca[hidden]{display:none}
.zoom-peca-foto{position:relative;width:300px;height:300px;margin:-8px -8px 0;border-radius:14px 14px 8px 8px;background-color:#dfe9f5;background-repeat:no-repeat;overflow:hidden}
.zoom-peca-foto.em-3d{background-image:radial-gradient(circle at 50% 45%,#f4f8fd,#cfdcec)!important}
.zoom-peca-foto canvas{position:absolute;inset:0;width:100%!important;height:100%!important}
.zoom-peca-nome{padding:8px 4px 0;text-align:center;font-weight:700;font-size:14px;text-transform:capitalize}
@keyframes zoom-peca-entra{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:none}}

/* passo 5: salvar em azul (não briga com o amarelo do kit), dica colada nele, recomeçar e voltar com mais cara */
#save-step #save{display:flex;align-items:center;justify-content:center;gap:8px;padding:13px;font:800 16px/1 'Baloo 2','Segoe UI',sans-serif;background:#1559e6;color:#fff;border:2px solid #0f1d3d;border-radius:10px;box-shadow:3px 3px 0 #000a}
#save-step #save:hover{background:#2a6cff;transform:translateY(-1px);box-shadow:4px 4px 0 #000a}
#save-step #save:active{transform:translate(2px,2px);box-shadow:1px 1px 0 #000a}
#save-step .ico{font-size:17px;line-height:1}
.dica-salvar{margin:8px 2px 0;font-size:12px;color:#9ec0ff}
.dica-salvar::before{content:'⭐ '}
#status:empty{display:none}
.extra{border-top:2px dashed var(--line)}
.extra .help{margin:0;color:var(--muted);font-size:12px;letter-spacing:.04em;text-transform:uppercase;font-weight:700}
#reset{display:flex;align-items:center;gap:10px;padding:11px 14px;font-weight:700;font-size:14px;background:#1d2d52;color:var(--text);border:2px solid #4a5f95;border-radius:10px;box-shadow:3px 3px 0 #0006}
#reset .ico{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#ff4b3a;color:#fff;font-size:16px;font-weight:800;border:2px solid #0f1d3d;transition:transform .3s}
#reset:hover{background:#26386a;border-color:#ff8a7e}
#reset:hover .ico{transform:rotate(-200deg)}
#reset:active{transform:translate(2px,2px);box-shadow:1px 1px 0 #0006}
.panel-foot #prev{padding:12px 18px;font:800 15px/1 'Baloo 2','Segoe UI',sans-serif;background:#eef1fb;color:#0f1d3d;border:2px solid #0f1d3d;border-radius:10px;box-shadow:3px 3px 0 #000a}
.panel-foot #prev:hover{background:#fff;transform:translateY(-1px);box-shadow:4px 4px 0 #000a}
.panel-foot #prev:active{transform:translate(2px,2px);box-shadow:1px 1px 0 #000a}
.panel-foot:has(#next[hidden]) #prev{flex:1}

.recomecar-icone{font-size:30px}

/* passo Cenário: botão vertical que recolhe o menu da direita (a barra Voltar/Próximo continua) */
main{--painel:430px;transition:grid-template-columns .5s cubic-bezier(.65,0,.25,1)}
@media(max-width:1150px){main{--painel:370px}}
main{grid-template-columns:minmax(0,1fr) var(--painel)}
main.recolhido{grid-template-columns:minmax(0,1fr) 0px}
.panel{overflow:hidden}
.panel-head,.panel-body{min-width:var(--painel);box-sizing:border-box;transition:opacity .3s}
main.recolhido .panel-head,main.recolhido .panel-body{opacity:0}
main.recolhido .panel-foot{position:fixed;right:0;bottom:0;width:var(--painel);box-sizing:border-box;background:var(--panel);border-top-left-radius:14px;box-shadow:-4px -4px 0 #0005;z-index:5}
.recolher{position:absolute;right:0;top:50%;transform:translateY(-50%);z-index:6;display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 7px;border-radius:14px 0 0 14px;background:var(--gold);color:#0f1d3d;border:2px solid #0f1d3d;border-right:0;box-shadow:-3px 3px 0 #000a;font:800 14px/1 'Baloo 2','Segoe UI',sans-serif}
.recolher[hidden]{display:none}
.recolher:hover{background:#ffe066;padding-left:11px}
.recolher-texto{writing-mode:vertical-rl;transform:rotate(180deg);letter-spacing:.03em}
.recolher-seta{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#0f1d3d;color:var(--gold);font-size:18px;transition:transform .5s}
main.recolhido .recolher-seta{transform:rotate(180deg)}
@media(max-width:820px){.recolher{display:none}main,main.recolhido{grid-template-columns:1fr}main.recolhido .panel-foot{position:static;width:auto;box-shadow:none;border-radius:0}main.recolhido .panel-head,main.recolhido .panel-body{opacity:1}.panel-head,.panel-body{min-width:0}}
.tools,.hint{transition:right .5s cubic-bezier(.65,0,.25,1)}
.hint{left:0;width:auto;right:0}
main.recolhido .tools,main.recolhido .hint{right:var(--painel)}
@media(max-width:820px){main.recolhido .tools,main.recolhido .hint{right:0}}

/* Joystick do cenário */
.joystick{position:absolute;left:22px;bottom:92px;width:118px;height:118px;border-radius:50%;background:radial-gradient(circle,#ffffff38 0 40%,#ffffff1f 41%);border:3px solid #0b1f5c;box-shadow:0 5px 0 #0b1f5c,inset 0 0 0 6px #ffffff2e;touch-action:none;cursor:grab;z-index:3;display:grid;place-items:center;user-select:none}
.joystick[hidden]{display:none}
.joystick::before{content:"";position:absolute;inset:14px;border-radius:50%;border:2px dashed #ffffff55;pointer-events:none}
.joystick.ativo{cursor:grabbing}
.joy-bola{width:52px;height:52px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff3b0,#ffd23f 45%,#e8a600);border:3px solid #0b1f5c;box-shadow:0 4px 0 #0b1f5c;transition:transform .15s ease-out;pointer-events:none}
.joystick.ativo .joy-bola{transition:none}
@media(max-width:820px){.joystick{left:12px;bottom:80px;width:100px;height:100px}.joy-bola{width:44px;height:44px}}

/* Passo "Tema": 6 cartões grandes, coloridos e animados */
#options.temas{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.tema{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;padding:14px 14px 12px;border-radius:18px;background:#fff;color:#14204a;border:3px solid #0b1f5c;box-shadow:0 5px 0 #0b1f5c;cursor:pointer;overflow:hidden;animation:tema-entra .45s cubic-bezier(.3,1.6,.5,1) both;animation-delay:var(--atraso);transition:transform .15s,box-shadow .15s,background .2s}
.tema::before{content:"";position:absolute;right:-26px;top:-26px;width:90px;height:90px;border-radius:50%;background:var(--cor);opacity:.35;transition:transform .35s cubic-bezier(.3,1.6,.5,1)}
.tema:hover{transform:translateY(-3px) rotate(-.6deg);box-shadow:0 8px 0 #0b1f5c}
.tema:hover::before{transform:scale(1.5)}
.tema:active{transform:translateY(3px);box-shadow:0 2px 0 #0b1f5c}
.tema-emoji{position:relative;font-size:34px;line-height:1;display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:var(--cor);border:3px solid #0b1f5c;box-shadow:0 3px 0 #0b1f5c;margin-bottom:6px}
.tema:hover .tema-emoji{animation:tema-pula .6s ease-in-out}
.tema strong{position:relative;font-size:16px;font-weight:900}
.tema small{position:relative;font-size:12.5px;line-height:1.35;color:#3b4670}
.tema em{position:relative;font-size:11.5px;font-style:normal;color:#6a7398;margin-top:2px}
.tema-check{position:absolute;top:10px;right:10px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-weight:900;font-size:15px;background:#0b1f5c;color:#fff;transform:scale(0);transition:transform .3s cubic-bezier(.3,1.8,.5,1)}
.tema.selected{background:color-mix(in srgb,var(--cor) 30%,#fff);box-shadow:0 5px 0 #0b1f5c,0 0 0 4px var(--cor)}
.tema.selected .tema-check{transform:scale(1)}
.tema.selected .tema-emoji{animation:tema-balanca 1.8s ease-in-out infinite}
@keyframes tema-entra{from{opacity:0;transform:translateY(16px) scale(.9)}to{opacity:1;transform:none}}
@keyframes tema-pula{0%,100%{transform:translateY(0)}35%{transform:translateY(-8px) rotate(-8deg)}65%{transform:translateY(0) rotate(6deg)}}
@keyframes tema-balanca{0%,100%{transform:rotate(0)}25%{transform:rotate(-8deg)}75%{transform:rotate(8deg)}}
@media(prefers-reduced-motion:reduce){.tema,.tema-emoji{animation:none!important}}
.tema-outro{grid-column:1/-1}
.tema-outro input{position:relative;width:100%;margin-top:6px;padding:11px 14px;border-radius:12px;border:3px solid #0b1f5c;background:#fff;color:#14204a;font:inherit;font-size:15px;font-weight:700;outline:none;box-shadow:inset 0 2px 0 rgba(11,31,92,.08)}
.tema-outro input:focus{border-color:var(--cor);box-shadow:0 0 0 3px color-mix(in srgb,var(--cor) 35%,transparent)}
.tema-outro:hover{transform:none}

/* 6 passos no topo: nomes sempre numa linha só */
#tabs button{white-space:nowrap}
@media(max-width:1250px){#tabs{gap:2px}#tabs button{padding:8px 9px;gap:6px}#tabs button+button:before{margin:0 4px 0 -8px}}

/* Mensagem de "salvo": logo abaixo do botão Salvar, letra maior */
#status-salvar{margin:8px 2px 0;font-size:14.5px;font-weight:700;color:#c9c4b4}
#status-salvar:empty{display:none}
#status-salvar.pisca{animation:salvo-pop .45s cubic-bezier(.3,1.7,.5,1)}
@keyframes salvo-pop{from{opacity:0;transform:translateY(-4px) scale(.96)}to{opacity:1;transform:none}}

/* Passo "Estilo de vídeo": formato da tela (desenho de celular / TV) e tipo de vídeo */
#options.estilo .grupo{margin-top:6px}
#options.estilo .grupo:not(:first-child){margin-top:16px}
.tela-forma{position:relative;display:grid;place-items:center;height:54px;margin-bottom:6px;background:var(--cor);border:3px solid #0b1f5c;box-shadow:0 3px 0 #0b1f5c;border-radius:9px}
.tela-forma.vert{width:34px}
.tela-forma.horiz{width:78px;height:46px;margin-top:4px;margin-bottom:10px}
.tela-forma i{font-style:normal;font-size:15px;color:#0b1f5c;transition:transform .3s}
.tela-forma.vert::after{content:"";position:absolute;bottom:4px;width:10px;height:3px;border-radius:2px;background:#0b1f5c}
.tela-forma.horiz::after{content:"";position:absolute;bottom:-10px;width:26px;height:5px;border-radius:2px;background:#0b1f5c}
.tema:hover .tela-forma{animation:tema-pula .6s ease-in-out}
.tema.selected .tela-forma i{animation:tela-play 1.2s ease-in-out infinite}
@keyframes tela-play{0%,100%{transform:scale(1)}50%{transform:scale(1.35)}}
.tema.breve{cursor:not-allowed;opacity:.62;filter:saturate(.6)}
.tema.breve:hover{transform:none;box-shadow:0 5px 0 #0b1f5c}
.tema.breve:hover .tela-forma{animation:none}
.tema-breve{position:absolute;top:10px;right:10px;padding:3px 9px;border-radius:999px;font-size:10.5px;font-weight:800;background:#0b1f5c;color:#ffd23f;letter-spacing:.3px}

/* Caixa do prompt para colar no Claude (embaixo do "Baixar meu kit") */
.prompt-box{margin:14px 0 8px;padding:16px;border-radius:6px 18px 18px 6px;background:#1b2a55;color:#fff;border:2px solid #0f1d3d;box-shadow:4px 4px 0 #000a;display:grid;gap:8px}
.prompt-box strong{font:800 18px/1.1 'Baloo 2',sans-serif;color:#ffd23f}
.prompt-box>span{font-size:13px;line-height:1.5;color:#dfe5f7}
#prompt-claude{width:100%;box-sizing:border-box;resize:vertical;min-height:150px;padding:10px 12px;border-radius:10px;border:2px solid #0f1d3d;background:#fffdf5;color:#14204a;font:13px/1.5 ui-monospace,Consolas,monospace;white-space:pre-wrap}
#prompt-claude:focus{outline:3px solid #ffd23f;outline-offset:1px}
#copiar-prompt{justify-content:center;font-weight:800;background:#ffd23f;color:#14204a;border:2px solid #0f1d3d;box-shadow:0 3px 0 #0f1d3d}
#copiar-prompt:hover{filter:brightness(1.05)}
#copiar-prompt.copiado{background:#3ecf6e}

/* Embaixo do prompt: modelo e esforço recomendados */
.modelo-rec{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}
.modelo-rec span{display:flex;align-items:center;gap:6px;font-size:12px;color:#dfe5f7}
.modelo-rec b{padding:3px 10px;border-radius:999px;background:#0f1d3d;color:#ffd23f;font-weight:800;font-size:12px;border:1px solid #ffd23f55}
.modelo-rec{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.modelo-rec span{flex-direction:column;align-items:flex-start;gap:4px;font-size:11.5px;padding:8px 10px;border-radius:10px;background:#0f1d3d66;border:1px solid #ffffff1f}
.modelo-rec b{font-size:12.5px}

/* Aviso embaixo do modelo recomendado: mesmo laranja do "Baixar meu kit" */
.aviso-claude-code{margin:2px 0 0;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 12px;border-radius:10px;background:#ff4b3a;color:#fff;border:2px solid #0f1d3d;box-shadow:3px 3px 0 #000a;font:800 15px/1.2 'Baloo 2',sans-serif;letter-spacing:.2px;animation:aviso-pulsa 2.4s ease-in-out infinite}
.aviso-claude-code b{color:#ffd23f}
@keyframes aviso-pulsa{0%,100%{transform:scale(1)}50%{transform:scale(1.025)}}
@media(prefers-reduced-motion:reduce){.aviso-claude-code{animation:none}}

/* Caixa do tutorial (botão ainda "Em breve", sem ação) */
.tutorial-box{margin:14px 0 8px;padding:14px 16px;border-radius:6px 18px 18px 6px;background:#1b2a55;color:#fff;border:2px solid #0f1d3d;box-shadow:4px 4px 0 #000a;display:grid;gap:8px}
.tutorial-box strong{font:800 18px/1.1 'Baloo 2',sans-serif;color:#ffd23f}
.tutorial-box>span{font-size:13px;line-height:1.5;color:#dfe5f7}
#tutorial{justify-content:center;gap:8px;font-weight:800;background:#2c3d73;color:#fff;border:2px solid #0f1d3d;box-shadow:0 3px 0 #0f1d3d;cursor:not-allowed;opacity:.85}
.tutorial-breve{padding:2px 9px;border-radius:999px;font-size:10.5px;font-weight:800;background:#0b1f5c;color:#ffd23f;border:1px solid #ffd23f55}

/* Canto de cima da tela 3D: "Como criar o seu mascote?" + Ver tutorial (Em breve), discreto */
.tutorial-topo{position:absolute;top:16px;right:18px;z-index:5;display:flex;align-items:center;gap:8px;padding:5px 5px 5px 12px;border-radius:999px;background:#0b1630a6;backdrop-filter:blur(4px);border:1px solid #ffffff22;font-size:12px;color:#dfe5f7}
.tutorial-topo button{display:flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:800;background:#ffffff14;color:#fff;border:1px solid #ffffff2a;cursor:not-allowed;box-shadow:none}
.tutorial-topo em{font-style:normal;font-size:10px;padding:1px 6px;border-radius:999px;background:#0b1f5c;color:#ffd23f}
@media(max-width:820px){.tutorial-topo>span{display:none}.tutorial-topo{padding:4px}}
.tutorial-topo button:disabled{opacity:1;color:#e8ecfa}
.tutorial-topo[hidden]{display:none}
/* Nome em cima do joystick */
.joystick::after{content:"Movimentação";position:absolute;bottom:calc(100% + 10px);left:50%;transform:translateX(-50%);white-space:nowrap;padding:3px 10px;border-radius:999px;background:#0b1f5c;color:#ffd23f;font:800 12px/1.3 'Baloo 2','Segoe UI',sans-serif;letter-spacing:.3px;box-shadow:0 2px 0 #000a;pointer-events:none}

/* Logo do topo: cabeça da Mel (2026-11-09) */
.brand .logo{width:34px;height:34px;font-size:0;background:url("../img/icone-180.png") center/contain no-repeat;border:0;border-radius:0;transform:none;box-shadow:none}

/* Celular (2026-11-10): nada por cima de nada */
.caption h2,.caption p{text-shadow:0 1px 3px #000d,0 0 10px #000a}
.caption p{color:#d3d9d6}
@media(max-width:820px){
  #tabs{flex:1 1 100%}
  .caption{top:14px;left:14px;max-width:calc(100% - 190px)}
  .caption h2{font-size:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .caption p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .tutorial-topo{top:12px;right:12px}
  .altura{left:10px;top:74px;transform:none;padding:8px 6px;gap:6px;border-radius:12px}
  .altura input[type=range]{height:clamp(80px,calc(60vh - 300px),200px)}
  .altura-valor{font-size:13px;min-width:46px}
  .altura-nome{font-size:10px}
  .tools button{padding:8px 11px}
  .joystick{left:auto;right:12px;bottom:150px;width:92px;height:92px}
  .joy-bola{width:40px;height:40px}
}
@media(max-width:820px){.caption{background:#0b1630b3;padding:6px 10px;border-radius:10px;backdrop-filter:blur(3px)}}
@media(max-width:820px){
  .hint{display:none}
  .tools{bottom:12px}
  .joystick{right:18px;bottom:118px}
  .joystick::after{left:auto;right:-6px;transform:none}
}
/* Botão de esconder/mostrar o menu de baixo (só no celular) */
.tools-toggle{display:none}
@media(max-width:820px){
  .tools{transition:transform .3s ease,opacity .3s ease}
  .tools.tools-fechado{transform:translateY(130%);opacity:0;pointer-events:none}
  .tools-toggle{display:flex;align-items:center;gap:4px;position:absolute;left:50%;transform:translateX(-50%);bottom:104px;z-index:4;padding:3px 12px 3px 8px;border-radius:999px;background:#0b1f5c;color:#ffd23f;border:1px solid #ffffff33;font:800 12px/1.3 'Baloo 2','Segoe UI',sans-serif;box-shadow:0 2px 0 #000a;transition:bottom .3s ease}
  .tools-toggle .tt-seta{font-size:14px;line-height:1}
  .tools-toggle.fechado{bottom:12px}
}
@media(max-width:820px){
  .joystick{right:28px;transition:bottom .3s ease}
  .tools.tools-fechado~.joystick{bottom:22px}
}
/* Barra dos passos no celular: sem tracinho, arrasta com dedo ou mouse, pontas esmaecidas mostram que tem mais */
@media(max-width:820px){
  #tabs{scrollbar-width:none;cursor:grab;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 24px,#000 calc(100% - 24px),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 24px,#000 calc(100% - 24px),transparent 100%)}
  #tabs::-webkit-scrollbar{display:none}
  #tabs.arrastando{cursor:grabbing}
  #tabs.arrastando button{pointer-events:none}
}
/* Celular: Voltar/Próximo sempre no pé da tela */
@media(max-width:820px){
  .panel{overflow:visible}
  .panel-foot,main.recolhido .panel-foot{position:sticky;bottom:0;z-index:6;background:var(--panel);box-shadow:0 -6px 14px #0008;padding:10px 14px calc(10px + env(safe-area-inset-bottom))}
}

/* Tutorial 1 em vídeo (2026-11-10) */
.tutorial-topo button{cursor:pointer;background:#ffd23f;color:#0f1d3d;border-color:#ffd23f}
.tutorial-topo button:hover{background:#ffe07a}
dialog.video-tutorial{width:min(1100px,94vw);max-width:94vw;padding:14px 16px 16px}
dialog.video-tutorial .dialog-top{margin-bottom:10px}
#video-player{display:block;width:100%;aspect-ratio:16/9;background:#000;border-radius:10px}

/* Escolha Claude ou ChatGPT na caixa do prompt (2026-11-10) */
.ia-escolha{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:4px}
.ia-escolha button{justify-content:center;padding:9px 8px;border-radius:10px;font:800 14px/1 'Baloo 2',sans-serif;letter-spacing:.6px;border:2px solid #0f1d3d;box-shadow:0 3px 0 #0f1d3d;opacity:.5;transition:opacity .15s,transform .15s}
.ia-escolha button[data-ia=claude]{background:#e8743b;color:#fff}
.ia-escolha button[data-ia=chatgpt]{background:#fff;color:#0f1d3d}
.ia-escolha button[aria-checked=true]{opacity:1;outline:3px solid #ffd23f;outline-offset:1px}
.ia-escolha button:hover{opacity:.85}
.ia-escolha button[aria-checked=true]:hover{opacity:1}
.modelo-rec[hidden]{display:none}
