/* Sistema visual ARQUÉTIPOS • referência aprovada */
:root{--navy:#061b4b;--navy-2:#052b68;--blue:#1659c8;--blue-light:#e7f1fe;--text:#081e4d;--muted:#486087;--white:#fff;--radius-card:18px;--radius-button:17px;--space:8px}
main{max-width:390px;background:#fff} .page{padding:27px 20px 25px}.top{height:27px;gap:12px}.back{font-size:28px;line-height:1;padding:0 8px 0 0}.progress{height:8px}.page h2{font-size:22px;letter-spacing:-.4px;margin-top:32px;margin-bottom:26px}.option{border-radius:17px;box-shadow:0 5px 17px #113e7b10;min-height:69px;margin:8px 0;padding:10px 13px;gap:13px;font-size:13px;line-height:1.35}.option b{width:44px;height:44px;flex:0 0 44px;border-radius:50%;font-size:0;position:relative}.option b svg{width:25px;height:25px;stroke:#fff;stroke-width:2.1;fill:none;stroke-linecap:round;stroke-linejoin:round}.btn{min-height:49px;padding:13px 18px;margin-top:27px;border-radius:17px}.hero{padding:25px 22px 25px;justify-content:flex-end}.hero .wizard{width:100%;max-width:314px;height:330px;border-radius:0;background:transparent;box-shadow:none;margin:0 auto 1px;display:flex;align-items:center;justify-content:center}.hero h1{margin:0 0 9px;font-size:35px;max-width:300px}.hero p{margin:0 auto 12px;font-size:14px;max-width:285px;line-height:1.34}.hero .btn{margin-top:10px;margin-bottom:1px}.loading{justify-content:flex-start;padding-top:52px}.loading .wizard{margin-bottom:12px}.results .wizard{width:177px;height:177px}.results h2{font-size:27px}.mini .emoji{width:67px;height:67px;font-size:33px}.mini strong{font-size:20px}.panel{background:#e9f3ff}.archetype-avatar{object-fit:cover;width:100%;height:100%;display:block;border-radius:50%}.character-art{width:100%;max-height:340px;object-fit:contain;filter:drop-shadow(0 10px 18px #001b48aa)}.hero .wizard:has(.character-art),.loading .wizard:has(.character-art){height:330px}.loading .wizard:has(.character-art){width:100%;max-width:285px;height:285px}.hero:before{z-index:0}.hero h1,.hero p,.hero .btn{position:relative;z-index:1}@media(min-width:700px){main{border-radius:22px}}/* Aplicação da referência enviada */
:root{font-family:'DM Sans',Arial,sans-serif;color:#071c50;background:#071724}body{background:#071724}main{max-width:420px}.page{display:flex;flex-direction:column;padding:26px 24px 28px;background:linear-gradient(120deg,#f7faff,#fff 60%,#f5f8fc)}.top{flex-shrink:0;font-size:15px;height:30px}.top b{flex:1}.page h2{font-weight:800;line-height:1.3;font-size:24px;letter-spacing:-.65px;margin:32px 3px 26px}.option{min-height:86px;padding:12px 17px;margin:5px 0;border:2px solid transparent;background:#fff;border-radius:22px;font-size:15px;gap:17px;box-shadow:0 5px 24px #143c7205}.option b{width:58px;height:58px;flex-basis:58px;box-shadow:inset 0 0 0 1px #ffffff55,0 3px 6px #0a3e8a19}.option b svg{width:33px;height:33px;stroke:white;fill:none;stroke-width:1.7}.option .symbol-0{background:linear-gradient(135deg,#7458eb,#4930ca)}.option .symbol-2{background:linear-gradient(135deg,#2475e7,#0842ae)}.option .symbol-3,.option .symbol-6{background:linear-gradient(135deg,#ff6471,#e72d44)}.option .symbol-4{background:linear-gradient(135deg,#38bfb4,#09847e)}.option .symbol-10{background:linear-gradient(135deg,#ffb132,#ff7816)}.option.active{border-color:#1b62d3;background:#edf5ff;box-shadow:0 0 0 2px #d6e7ff}.page>.btn:last-child{margin-top:auto}.page:has(.option)>.btn{margin-top:auto}.page:has(.option){gap:0}.page:has(.option) h2{margin-bottom:24px}.btn{display:flex;align-items:center;justify-content:center;gap:16px;flex-shrink:0;min-height:58px;border-radius:21px;background:linear-gradient(120deg,#1260da,#1c58be);border:1px solid #1153c1;box-shadow:none;font-size:16px}.btn span{margin-left:auto;font-size:24px;font-weight:400}.btn:disabled{opacity:.5}.hero,.finish{padding:0 28px 30px;justify-content:flex-end;background:#04245c;min-height:690px}.hero:before,.hero:after{display:none}.hero-art{width:calc(100% + 56px);flex:1;min-height:355px;margin:0 -28px -12px;background-image:url('./assets/wizard-hero-hd.png');background-size:495.5% 341.33%;background-position:.65% .69%;position:relative}.hero-art:after{content:'';position:absolute;inset:auto 0 -1px;height:55px;background:linear-gradient(transparent,#04245c)}.hero h1,.finish h1{font-family:'Playfair Display',Georgia,serif;font-size:39px;line-height:1.05;max-width:350px;margin:3px 0 16px}.hero p,.finish p{font-size:17px;line-height:1.35;max-width:315px;margin:0 auto 24px}.hero .btn{background:#eaf5ff;color:#071c50;max-width:none;width:100%;margin:0;border-color:#fff}.hero .btn:after{content:'→';font-size:26px;margin-left:auto}.portrait{display:block;flex-shrink:0;border-radius:50%;background-image:url('./assets/wizard-hero-hd.png');background-repeat:no-repeat;background-color:#c5e2ff;width:92px;height:92px;overflow:hidden}.portrait.sage{background-size:768% 512%;background-position:95.6% 7.23%}.portrait.creator{background-image:url('./assets/creator-hd.png');background-size:cover;background-position:center}.portrait.ruler{background-image:url('./assets/ruler-hd.png');background-size:cover;background-position:center}.portrait.other{background-image:none;display:grid;place-items:center;font-size:55px}.results .main-portrait{width:252px;height:252px;margin:25px auto 0;border:8px solid #eaf4ff;box-shadow:0 0 0 2px #fff}.results h2{font-size:32px;line-height:1.02;margin:15px auto 10px;max-width:340px}.result-intro{font-size:15px;line-height:1.4;margin:0}.trio{margin:22px 0 12px;gap:8px}.mini{border:0;color:#071c50;font:inherit;cursor:pointer;display:flex;flex-direction:column;align-items:center}.mini .portrait{width:91px;height:91px}.mini strong{font-size:25px;margin:6px 0 2px;color:#0642a6}.mini>span:not(.portrait){font-size:13px}.mini small{padding:4px 8px;margin-top:5px;background:#d7e8ff;color:#071c50;font-size:11px}.results>.btn{margin-top:auto}.text-button{border:0;background:none;color:#1253b6;padding:18px 0 0;font:inherit;font-size:13px}.share-button{border:0;background:none;color:#071c50;font-size:27px;padding:0}.identity{display:flex;align-items:center;gap:16px;margin:40px 0 13px}.identity .portrait{width:125px;height:125px}.identity h2{font-size:24px;margin:0 0 6px}.identity small{font-size:12px;color:#486087;line-height:1.4;display:block}.description{font-size:16px;line-height:1.4;color:#486087;margin:0 5px 20px}.voice-card,.quote-card{display:flex;gap:12px;padding:17px 15px;border-radius:15px;text-align:left;font-size:14px}.voice-card{background:#e0efff}.voice-card svg,.quote-card svg{width:21px;height:21px;flex-shrink:0;fill:none;stroke:#082b79;stroke-width:2}.voice-card strong,.quote-card strong{color:#082968}.voice-card p,.quote-card p{color:#486087;margin:6px 0 0;line-height:1.45}.quote-card{margin-top:8px}.quote-card p{font-size:16px;color:#132d59}.detail>.btn{margin-top:auto}.strategy-list{margin:27px -5px 20px;display:grid;gap:11px}.strategy-row{display:flex;align-items:flex-start;gap:12px;width:100%;border:0;text-align:left;background:#fff;border-radius:18px;padding:16px 13px;color:#071c50;font:inherit;box-shadow:0 5px 30px #143c7203}.row-icon{display:grid;place-items:center;width:42px;height:42px;background:#e7f1ff;border-radius:50%;flex-shrink:0}.row-icon svg{width:25px;height:25px;fill:none;stroke:#092f76;stroke-width:2}.strategy-row strong{font-size:15px}.strategy-row small{display:block;color:#486087;font-size:13px;line-height:1.45;margin-top:5px}.chevron{margin:auto 0 auto auto;font-size:25px;color:#7795c6}.loading{padding:0;justify-content:flex-start;background:#042153;min-height:690px}.analysis-art{width:100%;height:345px;flex-shrink:0;background-image:url('./assets/wizard-hero-hd.png');background-size:529.65% 373.72%;background-position:74.36% .67%;position:relative}.analysis-art:after{content:'';position:absolute;inset:auto 0 0;height:65px;background:linear-gradient(transparent,#042153)}.analysis-copy{padding:0 29px 24px;position:relative;margin-top:-10px}.analysis-copy h2{font-size:23px;color:white;margin:0 0 16px;letter-spacing:-.5px}.analysis-copy p{font-size:15px;line-height:1.4;margin:0 0 22px}.analysis-progress{height:12px;background:#1e4c89;border-radius:12px;overflow:hidden}.analysis-progress span{display:block;height:100%;background:#fff;border-radius:12px;animation:analyze 2.8s linear forwards}.checklist{list-style:none;text-align:left;padding:12px 0 0;margin:0;color:#fff;font-size:14px}.checklist li{display:flex;gap:12px;align-items:center;margin:15px 0}.checklist li:before{content:'✓';display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:#23afa9}.checklist li:last-child:before{content:'';background:none;border:2px solid #368cdb;width:17px;height:17px}.finish .hero-art{min-height:330px}.finish .btn{max-width:none;width:100%;color:white;background:#195dc8;margin:0}.finish .secondary{color:#09265a;background:#e6f3ff;margin-top:10px;border-color:#fff}.finish p{font-size:15px}.finish h1{font-size:35px}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #59b7ff;outline-offset:4px}@keyframes analyze{from{width:5%}to{width:100%}}@media(min-width:700px){main{margin:24px auto;border-radius:24px}.page,.hero,.loading,.finish{min-height:720px}.page:has(.option){min-height:720px}}@media(max-width:699px){.hero,.loading,.finish{min-height:100svh}.hero-art{min-height:330px;flex:0 0 auto;aspect-ratio:1.04}.hero{justify-content:center}.page:has(.option){min-height:100svh}.page:has(.option) .btn{margin-top:30px}.results .main-portrait{width:220px;height:220px}.mini .portrait{width:76px;height:76px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.analysis-progress span{width:100%}}@media print{main{max-width:none}.results .panel{break-inside:avoid}.results>.btn,.text-button{display:none}.page{display:block}}
/* A tela e o contêiner compartilham a mesma altura, sem faixa branca. */
main{display:flex;flex-direction:column;min-height:100svh;background:#04245c}
main>section{flex:1;width:100%}
.hero,.finish{min-height:100svh;padding-bottom:max(30px,env(safe-area-inset-bottom));justify-content:flex-end}
.hero-art{flex:1 0 355px;min-height:355px;background-size:cover;background-position:center top;background-image:url('./assets/wizard-hero-hd.png');margin-bottom:-16px}
.hero .btn{justify-content:space-between}
.hero .btn:after{content:none}
.hero .btn .button-arrow{font-size:26px;font-weight:400}
.portrait.sage{background-image:url('./assets/wizard-hero-hd.png');background-size:150%;background-position:50% 23%}
@media(min-width:700px){main{min-height:calc(100svh - 48px)}main>.hero,main>.finish{min-height:max(720px,calc(100svh - 48px))}}
@media(max-width:699px){.hero-art{aspect-ratio:auto;min-height:330px;flex:1 0 330px}}
.analysis-art{background-image:url('./assets/wizard-hero-hd.png');background-size:cover;background-position:center 22%}
.share-button svg{display:block;width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.color-swatches{display:flex;gap:8px;margin-top:14px}.color-swatches span{width:44px;height:32px;border-radius:8px;background:#04245c}.color-swatches span:nth-child(2){background:#1659c8}.color-swatches span:nth-child(3){background:#e7f1fe;border:1px solid #c8daf1}
.panel[id]{scroll-margin-top:20px}.page label{margin-top:8px}.top .back{min-width:32px;min-height:36px}.results .top{width:100%}.results .top b{text-align:center}
@media(max-width:360px){.page{padding-inline:16px}.identity{gap:12px}.identity .portrait{width:100px;height:100px}.identity h2{font-size:21px}.option{gap:12px;padding-inline:12px}.option b{width:49px;height:49px;flex-basis:49px}.hero h1{font-size:34px}.hero p{font-size:15px}.mini .portrait{width:68px;height:68px}}
@media print{main{display:block;background:#fff;min-height:0;margin:0}.page{min-height:0!important}.panel{color:#102452}.results .top{display:none}}

/* Retratos próprios em alta resolução para os 12 arquétipos. */
.portrait:has(img){background-image:none;background-color:#e7f1fe}
.portrait img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}
.portrait.sage img{object-position:center 18%}
@media print{.portrait img{print-color-adjust:exact}}
/* Espaço entre ações consecutivas, inclusive no final do guia. */
.page>.btn+.btn{margin-top:14px}
/* Acesso à conta */
.auth-entry-row{position:relative;z-index:1;display:flex;gap:16px;align-items:center;justify-content:center;flex-shrink:0;margin-top:20px;color:#b6d4ff}
.auth-entry-row button,.auth-entry{font:inherit;font-size:14px;color:#edf5ff;border:0;background:transparent;padding:8px 3px;cursor:pointer}
.auth-entry{position:relative;z-index:1;margin-top:14px;flex-shrink:0}
.auth-page{padding-bottom:30px}.auth-brand{width:90px;height:90px;border-radius:50%;margin:30px auto 18px;background:#0c468e url('./assets/wizard-hero-hd.png') center 18%/150% auto;border:4px solid #e0edff}
.auth-page h1{text-align:center;font-family:'Playfair Display',Georgia,serif;font-size:30px;line-height:1.12;letter-spacing:-.6px;margin:0 0 12px;color:#071c50}
.auth-intro{text-align:center;color:#486087;font-size:14px;line-height:1.5;margin:0 auto 22px;max-width:310px}
.auth-tabs{display:flex;background:#e8f0fc;border-radius:15px;padding:5px;margin:0 0 24px;gap:5px}
.auth-tabs button{font:inherit;flex:1;padding:12px 8px;border:0;border-radius:11px;background:transparent;color:#486087;font-size:14px;font-weight:700}
.auth-tabs .selected{background:white;color:#1358c5;box-shadow:0 2px 8px #173c7610}
.auth-page form{width:100%}.auth-page .field{margin-top:7px;margin-bottom:18px;background:#fff;min-height:52px;font-size:15px}
.password-field{position:relative}.password-field input{padding-right:82px}.password-toggle{position:absolute;right:10px;top:17px;border:0;background:#eef5ff;color:#164c99;padding:8px;border-radius:8px;font:inherit;font-size:12px}
.auth-message{color:#a72d3b;font-size:13px;line-height:1.45;margin:0 0 14px;min-height:0}.auth-message:empty{display:none}
.auth-page form .btn{width:100%;margin-top:10px}.auth-guest{margin:20px auto 0;padding:10px}.account-card{display:flex;flex-direction:column;gap:8px;padding:22px;background:#e9f3ff;border-radius:18px;margin:5px 0 24px;overflow-wrap:anywhere}.account-card span{font-size:12px;color:#486087}.account-card strong{font-size:16px;margin-bottom:12px}.account-card strong:last-child{margin-bottom:0}.auth-page:has(.account-card)>.btn{margin-top:10px}.auth-page .btn:disabled{opacity:.65;cursor:wait}
.saved-reports{margin:0 0 24px}.saved-reports h2{font-size:20px;margin:0 0 14px}.saved-reports>div{font-size:14px;color:#486087;line-height:1.5}.saved-report{display:block;text-decoration:none;background:white;border:1px solid #dce8fa;border-radius:14px;margin:10px 0;padding:14px;color:#11468f;font-weight:700}.saved-report small{display:block;font-weight:400;font-size:12px;margin-top:4px}.report-status{font-size:14px;line-height:1.5;color:#164c89}.report-status:empty{display:none}.report-status a{color:#1258bf;font-weight:700}
.arkgram-brand{display:flex;align-items:center;justify-content:center;gap:10px;padding:16px 0 10px;position:relative;z-index:2;flex-shrink:0;font-size:19px;font-weight:800;letter-spacing:-.4px}.arkgram-brand img{width:40px;height:40px;border-radius:11px;display:block}
.auth-brand{background:#10051e url('./assets/arkgram-logo.png') center/cover;border:3px solid #ece4fc;box-shadow:0 8px 24px #4c1c8c16}
.legal-links{display:flex;flex-shrink:0;justify-content:center;gap:22px;background:#04245c;padding:16px;font-size:12px}.legal-links a{color:#c5d9f5;text-decoration:none}.terms-check{display:flex;align-items:flex-start;gap:9px;margin:2px 0 20px;font-size:12px!important;line-height:1.5;color:#486087}.terms-check input{margin-top:4px;flex-shrink:0;width:17px;height:17px;accent-color:#1659c8}.terms-check a{color:#1457b6}@media print{.legal-links{display:none}}
/* Formato único de iPhone, inclusive em telas grandes. */
main#app{width:100%;max-width:420px;margin:0 auto;border-radius:0;min-height:100svh}main#app>.page,main#app>.hero,main#app>.finish,main#app>.loading{min-height:100svh}.instagram-page{padding:calc(14px + env(safe-area-inset-top)) 0 0;background:#f7faff;display:block;min-height:100svh}.instagram-page>.top{padding:0 20px;height:40px}.instagram-page iframe{display:block;width:100%;height:650px;border:0;background:#f7faff;overflow:hidden}main#app .instagram-page{padding-inline:0}input,select,textarea{font-size:16px!important}button,a{touch-action:manipulation}.page{padding-bottom:max(28px,env(safe-area-inset-bottom))}.legal-links{padding-bottom:max(18px,env(safe-area-inset-bottom))}
/* Navegação e formulário de conexão no layout mobile. */
main#app{padding-bottom:0;background:#f5f8fd}main#app:has(>.hero){background:#04245c}main#app:has(>.app-tabbar){padding-bottom:calc(76px + env(safe-area-inset-bottom))}main#app:has(>.app-tabbar)>.page,main#app:has(>.app-tabbar)>.hero,main#app:has(>.app-tabbar)>.finish,main#app:has(>.app-tabbar)>.loading{min-height:calc(100svh - 76px - env(safe-area-inset-bottom))}.app-tabbar{position:fixed;z-index:50;left:50%;bottom:0;transform:translateX(-50%);width:100%;max-width:420px;display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:9px 16px calc(10px + env(safe-area-inset-bottom));background:#fffffffa;border-top:1px solid #e3eaf5;backdrop-filter:blur(18px)}.app-tabbar button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:0;background:transparent;color:#7c8da8;padding:5px 4px;min-height:49px;font:600 10px 'DM Sans',system-ui,sans-serif;border-radius:12px}.app-tabbar svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.app-tabbar button.selected{color:#1659c8;background:#edf4ff}.onboarding-page h2{margin-bottom:15px;font-size:25px!important;line-height:1.18}.onboarding-page .profile-intro{margin:0 0 25px;font-size:14px;line-height:1.5}.onboarding-page form{width:100%}.onboarding-page .field{margin:8px 0 19px;min-height:54px;border-radius:14px;background:#fff}.onboarding-page label{font-size:14px;color:#15315e}.profile-instagram{background:#edf3ff;border:1px solid #d6e4fa;border-radius:18px;padding:17px;margin:4px 0 18px}.connection-card-header{display:flex;align-items:center;gap:12px}.instagram-mark{display:grid;place-items:center;width:43px;height:43px;flex-shrink:0;border-radius:13px;background:#fff;color:#1659c8;font-size:29px}.connection-card-header strong{font-size:14px;color:#16396f}.connection-card-header p{font-size:11px;line-height:1.45;color:#687f9d;margin:5px 0 0}#profile-connection-status{font-size:12px;line-height:1.5;color:#506f98;margin:14px 0}.profile-instagram .btn{font-size:14px;min-height:49px;margin-top:10px;width:100%;border-radius:13px}.profile-instagram.connected{background:#edf8f2;border-color:#cce9dc}.profile-instagram.connected #profile-connection-status{color:#257657;font-weight:700}.profile-instagram.connected .instagram-mark{color:#257657}.profile-instagram.connected .btn{background:white;color:#2e715a;border:1px solid #bfdccc}.profile-gate-message{font-size:12px;line-height:1.5;color:#647d9f;margin:0 0 15px}.onboarding-page #profile-continue{width:100%;margin-top:0}.onboarding-page #profile-continue:disabled{opacity:1;background:#d7e2f3;color:#7890b3;border-color:#d7e2f3;cursor:default}.auth-page:has(.account-card) .btn{width:100%;margin:10px 0 18px}.auth-page .saved-reports{margin-top:10px}.hero .dashboard-entry{font-size:14px;color:#d3e6ff;margin:9px 0 0;min-height:40px}.hero .auth-entry-row{margin-top:3px}.hero h1{font-size:36px}.hero p{font-size:15px}@media print{.app-tabbar{display:none}main#app{padding-bottom:0}}
.app-tabbar{grid-template-columns:repeat(4,minmax(0,1fr));padding-inline:9px;gap:3px}.app-tabbar button{font-size:10px;letter-spacing:-.1px}.app-tabbar svg{width:22px;height:22px}.app-tabbar span{white-space:nowrap}@media(max-width:350px){.app-tabbar button{font-size:9px}.app-tabbar{padding-inline:5px}}
.account-page .auth-brand{width:84px;height:84px;margin-top:29px;margin-bottom:17px}.account-page h1{font-size:28px;margin-bottom:6px}.account-instagram{text-align:center;font-size:14px;line-height:1.4;color:#637d9f;margin:0 0 29px}.account-actions{display:grid;gap:12px;margin-bottom:32px}.account-action{display:flex;align-items:center;gap:13px;background:#fff;border:1px solid #e2eaf6;color:#15366c;border-radius:17px;text-align:left;padding:17px 14px;min-height:83px;width:100%;font:inherit}.account-action.featured{background:#eaf2ff;border-color:#cfe0fa}.account-action-icon{width:40px;height:40px;background:#edf3fd;display:grid;place-items:center;border-radius:12px;flex-shrink:0}.account-action-icon svg{width:23px;height:23px;fill:none;stroke:#1659c8;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}.account-action strong{display:block;font-size:14px;line-height:1.3}.account-action small{display:block;font-size:11px;color:#6b82a1;line-height:1.45;margin-top:5px}.account-chevron{margin-left:auto;color:#7798c6;font-size:26px;font-weight:400}.account-action:disabled{opacity:.58;cursor:default}.account-page .saved-reports h2{font-size:19px;margin:0 0 14px}.account-page .saved-report{font-size:14px;padding:15px 17px}.account-page .saved-report small{font-size:11px;color:#6e86a6}.account-logout{font-size:13px;margin:17px auto 0;padding:13px;min-height:44px}.account-page .saved-reports{margin-bottom:0}
/* Marca sobre a ilustração, sem ocupar uma faixa própria. */
.hero{position:relative}.hero .arkgram-brand{position:absolute;top:max(17px,env(safe-area-inset-top));left:0;right:0;z-index:4;margin:0;padding:0;background:transparent;color:white;gap:10px;font-size:19px;text-shadow:0 2px 12px #03102d}.hero .arkgram-brand img{width:38px;height:38px;border-radius:11px}.hero-art{margin-top:0}.page-brand-icon{width:28px;height:28px;border-radius:9px;display:block;flex-shrink:0;margin-left:auto}.page>.top{height:auto;min-height:36px;align-items:center}.page>.top>b{min-width:0;flex:1}.results .top b{font-size:14px}.page>.top .share-button{flex-shrink:0}.loading,.finish{position:relative}.screen-brand{position:absolute;right:18px;top:max(18px,env(safe-area-inset-top));width:36px;height:36px;border-radius:10px;z-index:4}.instagram-page>.top{padding-right:18px;gap:11px}.strategy .top b{font-size:14px}.detail .top b{font-size:13px}.hero .hero-art{min-height:360px}@media(max-width:350px){.page>.top{gap:8px}.page-brand-icon{width:25px;height:25px}.strategy .top b{font-size:12px}}
.report-preparing{align-items:center;justify-content:center;text-align:center;padding:40px 28px}.report-preparing>img{width:68px;height:68px;border-radius:19px;margin:0 auto 20px}.report-preparing h2{font-size:26px;margin:0 0 14px;line-height:1.2;max-width:290px}.report-preparing p{font-size:14px;color:#6c82a0;line-height:1.6;max-width:280px}.report-saving-indicator{height:5px;width:190px;background:#deebfc;border-radius:8px;overflow:hidden;margin:25px auto}.report-saving-indicator:after{content:'';display:block;width:45%;height:100%;background:#1659c8;border-radius:8px;animation:saving-report 1.2s ease-in-out infinite alternate}.report-retry-message{padding:0 25px;color:#9d3d49;font-size:13px}.report-retry-button{width:calc(100% - 48px);margin:10px 24px 25px}@keyframes saving-report{from{transform:translateX(0)}to{transform:translateX(125%)}}@media(prefers-reduced-motion:reduce){.report-saving-indicator:after{animation:none;width:70%}}

.account-delete{color:#a62b45;margin-top:16px}.btn.danger{background:#a62b45}.btn.danger:disabled{opacity:.6}

/* Links legais acessíveis apenas em Minha conta; preserve o acesso no cadastro. */
.account-legal{display:grid;gap:8px;margin:-12px 0 25px}
.account-legal a{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:12px 15px;border:1px solid #e2eaf6;border-radius:13px;background:#fff;color:#15366c;text-decoration:none;font-size:13px;font-weight:700}
.account-legal a span{font-size:23px;color:#7798c6}
/* Não forçar trilho de rolagem quando o conteúdo cabe no visor. */
html,body{overflow-y:auto;overflow-x:hidden}
main#app{overflow-y:visible}

/* A capa inicial ocupa exatamente o visor; impede arrastar a ilustração. */
html:has(main#app>.hero),body:has(main#app>.hero){height:100%;overflow:hidden;overscroll-behavior:none}
main#app:has(>.hero){height:100dvh;min-height:0;overflow:hidden}
main#app>.hero{height:100dvh;min-height:0!important;max-height:100dvh;overflow:hidden;overscroll-behavior:none;box-sizing:border-box}
main#app>.hero .hero-art{min-height:0;flex:1 1 auto;touch-action:pan-x;user-select:none;-webkit-user-select:none}
@media(max-height:740px){main#app>.hero{padding-bottom:max(12px,env(safe-area-inset-bottom))}main#app>.hero .hero-art{min-height:0}main#app>.hero h1{font-size:clamp(29px,5vh,39px);margin-bottom:9px}main#app>.hero p{font-size:14px;margin-bottom:12px}}

/* Login compacto em iPhone; não corta campos quando teclado ou zoom reduzem a área. */
main#app>.login-page{min-height:100dvh;padding-top:max(12px,env(safe-area-inset-top));padding-bottom:max(12px,env(safe-area-inset-bottom));}
.login-page .auth-brand{width:67px;height:67px;margin:9px auto 10px}
.login-page h1{font-size:27px;margin-bottom:7px}
.login-page .auth-intro{margin-bottom:12px;font-size:13px;line-height:1.35}
.login-page .auth-tabs{margin-bottom:12px;padding:3px}
.login-page .auth-tabs button{padding:9px 6px}
.login-page .field{min-height:45px;padding:10px 13px;margin-top:4px;margin-bottom:9px}
.login-page .password-toggle{top:9px}
.login-page form .btn{min-height:48px;margin-top:7px}
.login-page .auth-guest{margin:8px auto 0;padding:7px}
@media(max-height:650px){.login-page .auth-brand{width:52px;height:52px;margin:4px auto 6px}.login-page h1{font-size:24px}.login-page .auth-intro{margin-bottom:8px}.login-page .auth-tabs{margin-bottom:7px}}

/* Rótulos preservados para acessibilidade, sem ocupar espaço visual. */
.login-page form>label:not(.terms-check),.register-page form>label:not(.terms-check){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.register-page .auth-brand{width:64px;height:64px;margin:8px auto 9px}
.register-page h1{font-size:26px;margin-bottom:6px}
.register-page .auth-intro{margin-bottom:10px;font-size:13px}
.register-page .auth-tabs{margin-bottom:12px}
.register-page .field{min-height:45px;padding:10px 13px;margin-top:3px;margin-bottom:9px}
.register-page .password-toggle{top:9px}
.register-page .terms-check{margin-bottom:10px}
.register-page form .btn{min-height:48px;margin-top:7px}
.register-page .auth-guest{margin:8px auto 0;padding:7px}

/* Capa sem faixas de viewport/safe-area no WebKit do iPhone. */
html:has(main#app>.hero),body:has(main#app>.hero){background:#04245c!important;margin:0;padding:0}
main#app:has(>.hero){background:#04245c!important;width:100%;min-height:100dvh}
main#app>.hero{background:#04245c!important;margin:0;min-height:100dvh!important;height:100dvh;padding-top:max(0px,env(safe-area-inset-top));padding-bottom:max(10px,env(safe-area-inset-bottom));}
main#app>.hero .hero-art{background-position:center center;max-width:none}

/* Disable rubber-band overscroll while retaining actual scrolling for long content. */
html,body,main#app{overscroll-behavior-y:none}

/* Center the login/register content vertically when there is spare height. */
main#app>.login-page,main#app>.register-page{min-height:100dvh;box-sizing:border-box}
main#app>.login-page>.auth-brand,main#app>.register-page>.auth-brand{margin-top:auto}
main#app>.login-page>.auth-guest,main#app>.register-page>.auth-guest{margin-bottom:auto}
@media(max-height:650px){main#app>.login-page>.auth-brand,main#app>.register-page>.auth-brand{margin-top:5px}main#app>.login-page>.auth-guest,main#app>.register-page>.auth-guest{margin-bottom:0}}

/* Doze arquétipos na capa: somente as imagens animam, controles ficam imóveis. */
main#app>.hero .hero-carousel{position:relative;isolation:isolate;overflow:hidden;background:#04245c;pointer-events:none}
.hero-carousel .hero-archetype{position:absolute;inset:0;display:block;background-position:center top;background-size:cover;background-repeat:no-repeat;opacity:0;animation:arkgram-archetypes 36s linear infinite;animation-delay:calc(var(--order)*3s);animation-fill-mode:backwards}
.hero-carousel:after{content:'';position:absolute;inset:auto 0 0;height:23%;background:linear-gradient(transparent,#04245c);pointer-events:none;z-index:2}
@keyframes arkgram-archetypes{0%{opacity:0}1.4%{opacity:1}7%{opacity:1}8.7%,100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.hero-carousel .hero-archetype{animation:none;opacity:0}.hero-carousel .hero-archetype:first-child{opacity:1}}

/* Full-bleed hero under status bar; usable controls keep clear of home indicator. */
main#app>.hero .hero-carousel{margin-top:calc(-1 * env(safe-area-inset-top));padding-top:env(safe-area-inset-top);background-color:#04245c}
main#app>.hero .hero-archetype{background-position:center center}
/* Account screens: reserve readable safe-area space for top navigation. */
main#app>.auth-page{padding-top:max(65px,calc(env(safe-area-inset-top) + 18px))}
main#app>.auth-page>.top{position:relative;min-height:42px}
main#app>.auth-page>.top .back{min-width:38px;min-height:42px}
main#app>.login-page,main#app>.register-page{padding-top:max(65px,calc(env(safe-area-inset-top) + 18px))}
@media(max-height:740px){main#app>.login-page,main#app>.register-page{padding-top:max(55px,calc(env(safe-area-inset-top) + 10px))}}

.guide-download-overlay{position:fixed;inset:0;z-index:9999;background:rgba(4,20,48,.72);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:24px}.guide-download-modal{width:min(100%,330px);padding:32px 24px;border-radius:22px;background:#fff;text-align:center;color:#17335b;box-shadow:0 20px 70px #03153266}.guide-download-modal strong{display:block;font-size:19px;margin:15px 0 8px}.guide-download-modal p{font-size:14px;line-height:1.5;color:#5a6e89;margin:0}.guide-download-spinner{display:block;width:48px;height:48px;margin:auto;border:4px solid #dfeafa;border-top-color:#1659c8;border-radius:50%;animation:guide-spin .75s linear infinite}@keyframes guide-spin{to{transform:rotate(360deg)}}

/* Área segura real do iPhone em telas internas; preservar capa full-bleed. */
main#app>.page:not(.auth-page){padding-top:max(88px,calc(env(safe-area-inset-top) + 24px));box-sizing:border-box}
main#app>.page:not(.auth-page)>.top{min-height:42px;position:relative;z-index:2}
main#app>.page.strategy{min-height:calc(100dvh - 76px - env(safe-area-inset-bottom));background:linear-gradient(120deg,#f7faff,#fff 60%,#f5f8fc);padding-bottom:calc(24px + env(safe-area-inset-bottom));}
main#app:has(>.app-tabbar){background:#f7faff}
main#app>.page.strategy .strategy-list{flex:1 0 auto}
main#app>.page.strategy>.btn{margin-top:auto;margin-bottom:0}
@media(max-height:740px){main#app>.page:not(.auth-page){padding-top:max(76px,calc(env(safe-area-inset-top) + 14px))}}

/* Revisão global iPhone: todos os cabeçalhos internos abaixo da barra de status.
   A capa .hero permanece edge-to-edge, sem alterar a animação. */
main#app>.page:not(.auth-page){padding-top:max(96px,calc(env(safe-area-inset-top) + 30px));}
main#app>.auth-page{padding-top:max(90px,calc(env(safe-area-inset-top) + 26px));}
main#app>.login-page,main#app>.register-page{padding-top:max(90px,calc(env(safe-area-inset-top) + 26px));}
main#app>.page>.top{min-height:42px;align-items:center;flex-shrink:0;}
main#app>.page>.top .back,main#app>.page>.top .share-button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;}
main#app>.page>.top .page-brand-icon{flex-shrink:0;align-self:center;}
main#app>.page.instagram-page{padding-top:max(94px,calc(env(safe-area-inset-top) + 28px));padding-left:0;padding-right:0;}
main#app>.page.instagram-page>.top{padding-left:24px;padding-right:24px;}
main#app>.page.strategy{min-height:calc(100dvh - 76px - env(safe-area-inset-bottom));}
main#app>.page.strategy .strategy-list{flex-grow:0;flex-shrink:0;}
main#app>.page.strategy>.btn{margin-top:auto;}
main#app>.loading .screen-brand,main#app>.finish .screen-brand{top:max(94px,calc(env(safe-area-inset-top) + 28px));}
main#app>.loading:not(.page),main#app>.finish{padding-top:max(94px,calc(env(safe-area-inset-top) + 28px));box-sizing:border-box;}
main#app>.report-preparing{justify-content:center;}
@media(max-height:740px){main#app>.page:not(.auth-page){padding-top:max(82px,calc(env(safe-area-inset-top) + 20px));}main#app>.auth-page,main#app>.login-page,main#app>.register-page{padding-top:max(82px,calc(env(safe-area-inset-top) + 20px));}}

/* Acabamento pós-questionário e resultados sem rolagem fantasma. */
main#app:has(>.app-tabbar)>.page.results:has(>.main-portrait){height:calc(100dvh - 76px - env(safe-area-inset-bottom));min-height:0;overflow:hidden;padding-bottom:18px}
main#app:has(>.app-tabbar)>.page.results:has(>.main-portrait)>.btn{margin-top:auto}
@media(max-height:760px){main#app:has(>.app-tabbar)>.page.results:has(>.main-portrait){height:auto;min-height:calc(100dvh - 76px - env(safe-area-inset-bottom));overflow:visible}}
main#app>.loading:has(.analysis-art){padding:0!important;background:#042153;min-height:100dvh}
main#app>.loading:has(.analysis-art) .analysis-art{height:clamp(340px,52dvh,560px);background-size:cover;background-position:center 20%;background-color:#042153;margin:0}
main#app>.loading:has(.analysis-art):before{display:none}
main#app>.loading:has(.analysis-art) .analysis-copy{padding-top:16px}

.redo-cancel{display:block;margin:18px auto 4px;padding:14px 12px;background:transparent;border:0;color:#2458a2;text-align:center;font:600 13px 'DM Sans',sans-serif;cursor:pointer}
/* Uniformizar Guia completo com as demais ações em Minha conta. */
.account-page .account-action.featured{background:#fff;border-color:#e2eaf6;color:#15366c}

/* Screen-level scrolling with a visible desktop scrollbar. */
html{height:auto;min-height:100%;overflow-y:scroll!important;overflow-x:hidden!important;scrollbar-gutter:stable;overscroll-behavior-y:auto}
body{height:auto;min-height:100dvh;overflow:visible!important;overscroll-behavior-y:auto}
main#app,main#app:has(>.hero){height:auto;min-height:100dvh;overflow:visible;scrollbar-gutter:auto}
html:has(main#app>.hero),body:has(main#app>.hero){height:auto;overflow-y:visible;overscroll-behavior-y:auto}
html::-webkit-scrollbar{width:10px}
html::-webkit-scrollbar-track{background:#e9edf3}
html::-webkit-scrollbar-thumb{background:#8494ad;border:2px solid #e9edf3;border-radius:8px}
html::-webkit-scrollbar-thumb:hover{background:#526a8e}
@media print{html{overflow:visible!important;scrollbar-gutter:auto}}
