:root{--madeira-escura:#5b3a1e;--madeira:#8a5a33;--madeira-clara:#b07b4a;--bege:#f5efe6;--creme:#faf7f2;--texto:#2e2318;--texto-suave:#6d5b47;--branco:#ffffff;--erro:#a33c2a;--ok:#3a6b35;--sombra:0 4px 14px rgba(46,35,24,0.18);--raio:18px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body,html{margin:0;padding:0;background:var(--bege);color:var(--texto);font-family:-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:18px;line-height:1.45}main{max-width:520px;margin:0 auto;padding:16px 16px 40px;min-height:100dvh;display:flex;flex-direction:column}.cabecalho{text-align:center;padding:18px 0 10px}.cabecalho h1{font-family:Georgia,Times New Roman,serif;font-size:26px;margin:0;color:var(--madeira-escura);letter-spacing:.5px}.cabecalho p{margin:4px 0 0;color:var(--texto-suave);font-size:15px}.botao{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:64px;padding:14px 18px;border:none;border-radius:var(--raio);font-size:20px;font-weight:700;cursor:pointer;transition:transform .06s ease,opacity .15s ease;touch-action:manipulation}.botao:active{transform:scale(.98)}.botao:disabled{opacity:.55;cursor:default}.botao-primario{background:linear-gradient(135deg,var(--madeira) 0,var(--madeira-escura) 100%);color:var(--branco);box-shadow:var(--sombra)}.botao-secundario{background:var(--branco);color:var(--madeira-escura);border:2px solid var(--madeira)}.botao-discreto{background:transparent;color:var(--texto-suave);min-height:52px;font-size:17px;font-weight:600;text-decoration:underline}.pilha{display:flex;flex-direction:column;gap:14px;margin-top:14px}.campo{width:100%;min-height:60px;padding:14px 16px;font-size:20px;border:2px solid var(--madeira-clara);border-radius:var(--raio);background:var(--branco);color:var(--texto)}.campo:focus{outline:3px solid var(--madeira);outline-offset:1px}textarea.campo{min-height:96px;resize:vertical;font-family:inherit}.formatos{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.formato-opcao{border:3px solid transparent;border-radius:var(--raio);background:var(--branco);padding:14px 10px;text-align:center;cursor:pointer;font-size:17px;font-weight:700;color:var(--texto-suave)}.formato-opcao .proporcao{display:block;margin:0 auto 8px;background:var(--bege);border:2px solid var(--madeira-clara);border-radius:6px}.formato-opcao.ativo{border-color:var(--madeira);color:var(--madeira-escura);box-shadow:var(--sombra)}.quadro{width:100%;border-radius:var(--raio);overflow:hidden;background:var(--branco);box-shadow:var(--sombra)}.quadro img{display:block;width:100%;height:auto}.legenda-quadro{text-align:center;font-size:16px;font-weight:700;color:var(--texto-suave);margin:8px 0 0}.espera{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:18px;padding:30px 10px}.espera h2{font-size:22px;color:var(--madeira-escura);margin:0}.espera p{color:var(--texto-suave);margin:0;font-size:17px}.girando{width:64px;height:64px;border:6px solid var(--madeira-clara);border-top-color:var(--madeira-escura);border-radius:50%;animation:girar 1s linear infinite}@keyframes girar{to{transform:rotate(1turn)}}.barra{width:100%;max-width:320px;height:12px;background:var(--branco);border-radius:999px;overflow:hidden;border:1px solid var(--madeira-clara)}.barra>div{height:100%;width:0;background:linear-gradient(90deg,var(--madeira-clara),var(--madeira-escura));animation:progresso 90s cubic-bezier(.2,.6,.6,1) forwards}@keyframes progresso{0%{width:2%}60%{width:70%}to{width:96%}}.mensagem-erro{background:#fdeeea;border:2px solid var(--erro);color:var(--erro);border-radius:var(--raio);padding:14px 16px;font-size:17px;font-weight:600;text-align:center}.mensagem-ok{color:var(--ok);font-weight:700;text-align:center}.historico{margin-top:18px}.historico h3{font-size:16px;color:var(--texto-suave);margin:0 0 8px}.historico-lista{display:flex;gap:10px;overflow-x:auto;padding-bottom:6px}.historico-lista button{flex:0 0 auto;width:84px;border:3px solid transparent;border-radius:12px;padding:0;background:none;cursor:pointer;overflow:hidden}.historico-lista button.ativo{border-color:var(--madeira)}.historico-lista img{display:block;width:100%;height:auto;border-radius:9px}