/* Apresentação: conteúdo em HTML; somente as ilustrações são imagens. */
.ldc-intro {position:relative;isolation:isolate;display:grid;grid-template-rows:43fr 46fr 11fr;width:100%;height:100svh;min-height:650px;overflow:hidden;background:radial-gradient(ellipse at 75% 68%,#bbf2e970,transparent 60%),radial-gradient(ellipse at 10% 90%,#c9dfff,transparent 60%),#eff8ff;color:#00089e;font-family:'Plus Jakarta Sans',sans-serif;}
.ldc-intro::before,.ldc-intro::after {content:'';position:absolute;z-index:-1;width:80%;height:85%;border-radius:50%;background:linear-gradient(110deg,#b7dcff55,#d8f3ff20);transform:rotate(-25deg);top:-30%;right:-10%;}
.ldc-intro::after {top:22%;right:-5%;width:110%;height:65%;border-radius:45%;background:linear-gradient(135deg,#add2ff38,#b0eae81c);}
.intro-hero {display:grid;grid-template-columns:46% 54%;min-height:0;padding:3svh 5% 0;}
.intro-copy {position:relative;z-index:2;align-self:center;}
.intro-brand {display:flex;align-items:center;gap:12px;font-size:clamp(22px,2.8vw,44px);font-weight:700;letter-spacing:-2px;line-height:1;}
.intro-mark {font-style:italic;font-size:1.35em;font-weight:800;letter-spacing:-.13em;padding-right:5px;}
.ldc-intro h1 {font-size:clamp(44px,5.7vw,100px);line-height:1.03;letter-spacing:-.065em;margin:20px 0 12px;font-weight:800;}
.ldc-intro h1 em {font-style:normal;color:#0061ff;}
.intro-copy>p {margin:0;font-size:clamp(16px,1.95vw,32px);font-weight:600;line-height:1.35;letter-spacing:-.04em;}
.intro-illustration {position:relative;min-width:0;min-height:0;}
.intro-illustration>img {position:absolute;width:67%;height:120%;object-fit:contain;left:-6%;top:-10%;}
.intro-floating-quiz {position:absolute;right:2%;top:11%;width:43%;height:79%;padding:20px 15px;background:linear-gradient(145deg,#ffffffed,#eaf2ffed);border:2px solid #fff;border-radius:22px;box-shadow:8px 14px 30px #6c9ee640;transform:rotate(-8deg);}
.intro-floating-quiz>p {color:#0055d8;font-size:clamp(10px,1vw,16px);font-weight:700;margin:0 0 12px;}
.intro-answer {display:flex;align-items:center;gap:12px;position:relative;border-radius:10px;background:#e4eef8;min-height:0;padding:5px 8px;margin:6px 0;}
.intro-answer>span {font-size:clamp(12px,1.2vw,20px);font-weight:700;color:#4d92c3;line-height:1.1;}
.intro-answer>i {height:7px;width:60%;border-radius:8px;background:#c9ddeb;}
.intro-answer.is-right {background:#dff8eb;}
.intro-answer.is-right>span {color:#08a64b;}
.intro-answer.is-right>i {background:#b8e8d2;}
.intro-answer>b {margin-left:auto;border-radius:50%;background:linear-gradient(135deg,#9febbd,#05a74c);color:white;font-size:13px;width:21px;height:21px;text-align:center;line-height:21px;}
.intro-spark {position:absolute;font-size:54px;color:#0061ff;right:-25px;top:5px;text-shadow:0 2px 8px #8bcaff;}
.intro-features {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:0 3% 18px;min-height:0;}
.intro-card {display:flex;flex-direction:column;align-items:center;min-width:0;min-height:0;padding:18px 16px 12px;border:1px solid #ffffffcc;border-radius:26px;background:linear-gradient(145deg,#ffffffef,#ffffff88);text-align:center;box-shadow:0 8px 25px #8eb8e310;}
.intro-card-icon {height:clamp(36px,7.2svh,78px);flex-shrink:0;color:#0061ff;}
.intro-card-icon svg {display:block;height:100%;width:auto;}
.ldc-intro .intro-card h2 {font-size:clamp(19px,1.9vw,32px);line-height:1.15;letter-spacing:-.05em;margin:8px 0 4px;}
.intro-card>p {font-size:clamp(12px,1.25vw,21px);line-height:1.35;margin:0 0 10px;color:#001dcb;}
.intro-card-art {width:100%;flex:1;min-height:0;object-fit:contain;}
.intro-quiz-art,.intro-summary-art {width:95%;flex:1;min-height:0;max-height:230px;margin-top:auto;border-radius:18px;padding:10px 12px;background:linear-gradient(130deg,#fff,#eaf2fd);box-shadow:0 6px 16px #91b0e120;display:flex;flex-direction:column;justify-content:center;}
.intro-quiz-art .intro-answer {margin:3px 0;flex:1;max-height:37px;}
.intro-summary-art {position:relative;gap:10px;justify-content:flex-start;padding:22px 20px;}
.intro-summary-art i {height:9px;flex-shrink:1;min-height:4px;width:85%;border-radius:10px;background:#cadcfa;}
.intro-summary-art i:nth-of-type(1) {background:linear-gradient(#77caff,#0061ff);height:13px;width:57%;margin-bottom:6px;}
.intro-summary-art i:nth-of-type(3n) {width:65%;}.intro-summary-art i:last-child{width:76%;}
.intro-summary-art b {position:absolute;top:4px;right:10px;font-size:40px;color:#0061ff;}
.intro-start {display:flex;align-items:center;justify-content:center;gap:24px;color:white;background:linear-gradient(115deg,#0067ff,#0055f5);font-size:clamp(18px,2.2vw,34px);font-weight:700;line-height:1.2;text-decoration:none;text-align:center;padding:12px 24px;}
.intro-start i {width:25px;height:25px;border:solid white;border-width:0 5px 5px 0;transform:rotate(45deg);position:relative;margin-top:-13px;flex-shrink:0;}
.intro-start i::after {content:'';position:absolute;width:25px;height:25px;border:solid white;border-width:0 5px 5px 0;left:10px;top:10px;}
.intro-start:focus-visible{outline:3px solid #fff;outline-offset:-6px;}
body.home-screen main {max-width:none;width:100%;height:100svh;min-height:700px;margin:0;padding:24px 0 0;gap:24px;}
.home-screen .dashboard {flex:1;min-height:0;margin:0 18px;scroll-margin-top:20px;}
.home-screen #screen-home {height:100%;min-height:0;}
body:not(.welcome-screen) main>footer {display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 24px;text-align:left;}
body.home-screen main>footer {position:static;inset:auto;flex-shrink:0;width:100%;height:10svh;min-height:70px;margin:0;padding:12px 24px;background:#fff;color:#003586;}
.platform-version {min-width:0;font-size:12px;line-height:1.5;}
body:not(.welcome-screen) main>footer #home-actions {display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-shrink:0;width:auto;margin:0;}
body:not(.welcome-screen) main>footer #home-actions button {display:flex;align-items:center;gap:6px;min-width:0;min-height:40px;margin:0;padding:10px 14px;border:1px solid #d3e2fc;border-radius:10px !important;background:#edf4ff;color:#003586;font-size:13px;white-space:nowrap;}
body:not(.welcome-screen) main>footer #home-actions #delete-account {background:#bd1d32;border-color:#bd1d32;color:white;}
body:not(.welcome-screen) main>footer #home-actions .account-action-icon {display:block;width:17px;height:17px;flex-shrink:0;}
@media(max-width:720px) {
 .ldc-intro {grid-template-rows:47fr 47fr 6fr;min-height:800px;}
 .intro-hero {display:flex;flex-direction:column;padding:24px 7% 0;}
 .intro-copy {width:100%;align-self:stretch;}
 .intro-brand {font-size:24px;gap:8px;letter-spacing:-1px;}
 .ldc-intro h1 {font-size:clamp(36px,11.7vw,65px);margin:16px 0 8px;max-width:570px;line-height:1.02;}
 .intro-copy>p {font-size:clamp(15px,4.1vw,23px);max-width:80%;line-height:1.25;}
 .intro-illustration {flex:1;min-height:120px;width:100%;}
 .intro-illustration>img {width:66%;height:135%;left:-7%;top:-12%;}
 .intro-floating-quiz {width:42%;height:89%;right:0;top:3%;padding:10px 8px;border-radius:14px;}
 .intro-floating-quiz>p {font-size:8px;margin-bottom:5px;}
 .intro-floating-quiz .intro-answer {padding:3px 5px;margin:4px 0;gap:5px;}
 .intro-floating-quiz .intro-answer>span {font-size:9px;}
 .intro-floating-quiz .intro-answer>i {height:4px;}
 .intro-floating-quiz .intro-answer>b {font-size:9px;width:13px;height:13px;line-height:13px;}
 .intro-spark {font-size:30px;right:-15px;top:-6px;}
 .intro-features {grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));padding:0 4% 8px;gap:8px;}
 .intro-card {padding:10px 10px 8px;border-radius:18px;}
 .intro-card-icon {height:34px;}
 .ldc-intro .intro-card h2 {font-size:19px;margin:4px 0 2px;}
 .intro-card>p {font-size:11px;line-height:1.25;margin:0 0 6px;max-width:180px;}
 .intro-quiz-art,.intro-summary-art {padding:7px 8px;border-radius:12px;}
 .intro-quiz-art .intro-answer {padding:2px 5px;gap:6px;margin:2px 0;}
 .intro-answer>span {font-size:11px;}.intro-answer>i {height:5px;}.intro-answer>b{width:15px;height:15px;font-size:10px;line-height:15px;}
 .intro-summary-art {padding:13px 12px;gap:7px;}.intro-summary-art b{font-size:23px;}.intro-summary-art i{height:6px;}
 .intro-start {font-size:17px;gap:20px;padding:8px 18%;}.intro-start i,.intro-start i::after {width:18px;height:18px;border-width:0 4px 4px 0;}
 body.home-screen main {height:auto;min-height:100svh;padding:12px 0 0;gap:16px;}
 .home-screen .dashboard {margin:0 12px;}.home-screen #screen-home {height:auto;}
 body:not(.welcome-screen) main>footer,body.home-screen main>footer {gap:8px;padding:10px 12px;}
 .platform-version {flex:1;font-size:9px;}
 body:not(.welcome-screen) main>footer #home-actions {gap:5px;}
 body:not(.welcome-screen) main>footer #home-actions button {font-size:10px;padding:9px 7px;}
 body:not(.welcome-screen) main>footer #home-actions .account-action-icon {display:none;}
 html,body {overflow-x:clip;}
}
/* Prevalece sobre os antigos cantos retos globais da plataforma. */
.ldc-intro .intro-card {border-radius:26px !important;}
.ldc-intro .intro-floating-quiz {border-radius:22px !important;}
.ldc-intro .intro-answer {border-radius:9px !important;}
.ldc-intro .intro-answer>b {border-radius:50% !important;}
.ldc-intro .intro-quiz-art,.ldc-intro .intro-summary-art {border-radius:18px !important;}
.ldc-intro .intro-answer>i,.ldc-intro .intro-summary-art i {border-radius:10px !important;}
.ldc-intro::before,.ldc-intro::after {border-radius:50% !important;}
.intro-illustration>img {height:100%;top:0;}
@media(min-width:721px) {
 .ldc-intro h1 {font-size:clamp(40px,5vw,90px);white-space:nowrap;}
 .intro-copy>p {font-size:clamp(15px,1.8vw,30px);}
 .intro-floating-quiz {height:78%;top:10%;}
}
@media(max-width:720px) {
 .ldc-intro {min-height:0;}
 .ldc-intro .intro-card {border-radius:18px !important;}
 .intro-illustration>img {height:115%;top:-6%;}
}
@media(max-width:720px) and (max-height:740px) {
 .intro-hero {padding-top:16px;}
 .ldc-intro h1 {font-size:10.4vw;margin-top:12px;}
 .intro-brand {font-size:21px;}
 .intro-copy>p {font-size:13px;}
 .intro-card-icon {height:26px;}
 .ldc-intro .intro-card h2 {font-size:17px;}
 .intro-card>p {font-size:10px;}
 .intro-start {font-size:15px;padding-inline:14%;}
}
/* Conteúdo legível também com as barras do Safari e texto ampliado. */
.intro-card>p,.intro-card h2,.intro-copy,.intro-brand {flex-shrink:0;}
.intro-start i {display:block;width:30px;height:34px;border:0;transform:none;margin:0;}
.intro-start i::before,.intro-start i::after {content:'';position:absolute;width:18px;height:18px;left:6px;border:solid #fff;border-width:0 4px 4px 0;transform:rotate(45deg);}
.intro-start i::before {top:0;}.intro-start i::after {top:12px;}
@media(max-width:720px) {
 .ldc-intro {height:auto;min-height:100svh;grid-template-rows:auto auto auto;overflow:hidden;}
 .intro-hero {height:auto;padding:24px 7% 0;gap:12px;}
 .intro-copy {align-self:stretch;}
 .ldc-intro h1 {font-size:clamp(34px,10.8vw,60px);line-height:1.08;letter-spacing:-.045em;overflow-wrap:normal;}
 .intro-copy>p {font-size:clamp(15px,4vw,22px);max-width:100%;line-height:1.4;letter-spacing:-.025em;}
 .intro-illustration {flex:none;height:clamp(170px,48vw,280px);min-height:170px;}
 .intro-illustration>img {height:100%;top:0;width:65%;left:-4%;}
 .intro-floating-quiz {height:auto;min-height:150px;width:44%;top:5%;padding:10px 8px;}
 .intro-floating-quiz .intro-answer {min-height:20px;flex:none;}
 .intro-features {grid-template-rows:auto auto;align-items:stretch;gap:10px;padding:8px 4% 14px;}
 .intro-card {display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:34px auto auto minmax(92px,1fr);justify-items:center;align-content:start;align-items:start;gap:5px;padding:12px 10px;min-height:225px;}
 .intro-card-icon {height:34px;}
 .ldc-intro .intro-card h2 {font-size:20px;line-height:1.25;margin:0;letter-spacing:-.035em;}
 .intro-card>p {width:100%;max-width:none;font-size:12px;line-height:1.4;margin:0;overflow-wrap:break-word;}
 .intro-card-art {display:block;width:100%;height:110px;min-height:92px;align-self:center;}
 .intro-quiz-art,.intro-summary-art {box-sizing:border-box;flex:none;align-self:end;max-height:none;min-height:108px;height:108px;width:100%;margin:0;padding:8px;overflow:hidden;}
 .intro-quiz-art {display:grid;grid-template-rows:repeat(4,minmax(18px,1fr));gap:3px;}
 .intro-quiz-art .intro-answer {min-height:18px;max-height:none;margin:0;padding:2px 5px;}
 .intro-summary-art {display:flex;gap:6px;padding:14px 12px;}
 .intro-summary-art i {flex:none;min-height:0;height:5px;}
 .intro-summary-art i:nth-of-type(1) {height:8px;margin-bottom:2px;}
 .intro-start {min-height:68px;height:auto;padding:12px 20px;gap:16px;font-size:17px;line-height:1.35;}
 .intro-start span {max-width:245px;}
 .intro-start i,.intro-start i::after {border-width:0;}
 .intro-start i::before,.intro-start i::after {border-width:0 4px 4px 0;}
 body.home-screen main>footer {height:auto;min-height:10svh;}
 body:not(.welcome-screen) main>footer #home-actions button {min-height:44px;}
}
@media(max-width:380px) {
 .intro-card {padding:12px 8px;}
 .intro-card>p {font-size:11px;}
 body.home-screen main>footer {flex-wrap:wrap;}
 .platform-version {flex-basis:100%;font-size:10px;}
 body:not(.welcome-screen) main>footer #home-actions {margin-left:auto;}
}
@media(max-width:720px) {
 .intro-quiz-art {grid-template-columns:minmax(0,1fr);justify-content:stretch;}
 .intro-quiz-art .intro-answer {width:100%;}
}

/* Cartões mais compactos; o espaço interno dos controles permanece igual. */
@media(min-width:721px) {
 .home-screen .tile-grid {align-items:center;justify-items:center;}
 .home-screen .tile {width:calc(100% - 24px);height:calc(100% - 48px);min-height:200px;padding-inline:4px;}
}
@media(max-width:720px) {
 .home-screen .tile-grid {justify-items:center;}
 .home-screen .tile {width:calc(100% - 8px);min-height:0;padding:8px 5px;}
}
@media(max-width:360px) {
 .home-screen .tile {padding-inline:3px;}
}
/* Aumento sutil do texto, sem alterar a altura da faixa. */
.intro-start span {display:inline-block;transition:transform 180ms ease;}
@media(hover:hover) and (pointer:fine) {
 .intro-start:hover span {transform:scale(1.04);}
}
.intro-start:focus-visible span {transform:scale(1.04);}
@media(prefers-reduced-motion:reduce) {
 .intro-start span {transition:none;}
}
/* Espaço da antiga marca preservado, com as frases mais próximas do topo. */
.intro-brand {height:1.35em;}
.intro-copy h1,.intro-copy>p {position:relative;top:-24px;}
@media(max-width:720px) {
 .intro-copy h1,.intro-copy>p {top:-20px;}
}

/* Cartões mais estreitos e destaque suave, sem alterar a navegação. */
.home-screen .tile {outline:2px solid transparent;outline-offset:-2px;transition:transform 260ms cubic-bezier(.2,.65,.3,1),outline-color 260ms ease;}
@media(min-width:1200px) {
 .home-screen .tile {width:min(calc(100% - 48px),400px);}
}
@media(min-width:721px) and (max-width:1199px) {
 .home-screen .tile {width:calc(100% - 28px);padding-inline:2px;}
}
@media(max-width:720px) {
 .home-screen .tile {width:calc(100% - 12px);padding-inline:3px;}
}
@media(max-width:360px) {
 .home-screen .tile {padding-inline:1px;}
}
@media(hover:hover) and (pointer:fine) {
 .home-screen .tile:hover {outline-color:#0061ff;transform:scale(1.015);}
}
.home-screen .tile:focus-within {outline-color:#0061ff;}
@media(prefers-reduced-motion:reduce) {
 .home-screen .tile {transition:none;}
}
/* Versão 1.4: formas de entrar por telefone. */
.phone-auth-note {font-size:12px;line-height:1.5;color:#5874a0;margin:8px 0 14px;}
/* 1.4.1: entrada compacta, com rolagem apenas quando o conteúdo não couber. */
body.welcome-screen {min-height:100dvh;padding:clamp(12px,2dvh,24px);}
.welcome-screen .reference-layout {min-height:0;}
.welcome-screen .school-intro {justify-content:center;padding:32px 28px 88px;}
.welcome-screen .school-intro .school-word {margin-bottom:24px;}
.welcome-screen .school-intro>p:first-of-type {margin:0 0 20px;}
.welcome-screen .school-intro>p+p {margin:0;padding:20px;}
.welcome-screen .reference-login {min-height:0;padding:24px clamp(24px,4vw,56px);}
.welcome-screen .login-heading {margin-bottom:16px;}
.welcome-screen .login-heading :is(h1,h2) {font-size:clamp(22px,2.2vw,30px);margin-bottom:10px;}
.welcome-screen .login-heading p {font-size:14px;line-height:1.5;}
.welcome-screen #welcome-form label {margin:10px 0 5px;}
.welcome-screen #welcome-form input {height:46px;padding:10px 14px;}
.welcome-screen .phone-auth-note {margin:6px 0 10px;}
.welcome-screen #welcome-form .primary {min-height:46px;margin-top:14px;padding:12px;}
.welcome-screen .auth-toggle {min-height:44px;padding:10px 4px;}
.welcome-screen .public-links {margin:8px 0;}
.welcome-screen .reference-note {position:static;margin:12px 0 0;}
@media(max-width:720px) {
 body.welcome-screen {padding:8px;}
 .welcome-screen main {border-radius:24px!important;}
 .welcome-screen .school-intro {display:grid;grid-template-columns:90px 1fr;gap:6px 12px;align-items:center;padding:12px 16px;}
 .welcome-screen .school-logo {width:90px;height:47.25px;}
 .welcome-screen .school-logo img {width:126px;height:126px;left:-18px;top:-33.75px;}
 .welcome-screen .school-intro .school-word {margin:0;font-size:32px;justify-self:start;transform:none;}
 .welcome-screen .school-intro>p:first-of-type {grid-column:1/-1;font-size:15px;line-height:1.35;margin:0;max-width:none;}
 .welcome-screen .school-intro>p+p {grid-column:1/-1;font-size:12px;line-height:1.4;margin:0;padding:8px 10px;max-width:none;}
 .welcome-screen .reference-login {padding:16px;}
 .welcome-screen .login-heading {margin-bottom:12px;}
 .welcome-screen .public-intro {line-height:1.4!important;}
 .welcome-screen .login-heading :is(h1,h2) {font-size:22px;}
}

/* Marca decorativa: o ponteiro não deve acionar hover ou ferramentas da imagem. */
.welcome-screen .school-logo {pointer-events:none;user-select:none;flex-shrink:0;}
.welcome-screen .school-logo img {pointer-events:none;user-select:none;-webkit-user-drag:none;}

/* Contorno somente no painel branco; marca azul sem borda sobreposta. */
.welcome-screen main {border:0;}
.welcome-screen #platform-content {border:0;}
.welcome-screen .reference-login {border:2px solid #005ccc;border-radius:0 34px 34px 0!important;}
@media(max-width:720px) {
 .welcome-screen .reference-login {border-radius:0 0 24px 24px!important;}
}
/* Botão de mostrar senha, sem alterar a largura do campo. */
.password-input {position:relative;width:100%;}
.password-input input {padding-right:52px!important;}
.password-visibility {position:absolute;right:2px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:44px;height:42px;min-height:0;padding:10px;border:0;background:transparent;color:#005ccc;border-radius:10px!important;}
.password-visibility svg {display:block;width:22px;height:22px;pointer-events:none;}
.password-eye-slash {display:none;}
.password-visibility[aria-pressed="true"] .password-eye-slash {display:block;}
.password-visibility:focus-visible {outline-offset:-3px;}
/* Carregamento central com o conteúdo original visível ao fundo. */
.auth-loading-overlay {position:fixed;inset:0;z-index:10000;display:grid;place-items:center;background:#f4f8ff66;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);}
.auth-loading-content {position:relative;display:flex;flex-direction:column;align-items:center;color:#005ccc;font-family:'Plus Jakarta Sans',sans-serif;font-size:15px;font-weight:600;}
.auth-loading-circle {display:block;width:clamp(104px,18vw,144px);height:clamp(104px,18vw,144px);animation:login-spin 1s linear infinite;filter:drop-shadow(0 3px 8px #005ccc12);}
@media(prefers-reduced-motion:reduce) {.auth-loading-circle {animation:none;}}

.auth-loading-content>span {position:absolute;top:100%;left:50%;transform:translateX(-50%);margin-top:18px;white-space:nowrap;}
