/* Aprova+ IA · telas interativas (plano de aula, avaliações, configuração da escola) */
.aq{--eo:cubic-bezier(.23,1,.32,1)}
@property --p{syntax:'<number>';inherits:false;initial-value:100}
/* bloco 3D compartilhado */
.x3d-tile{flex-shrink:0;width:30px;height:30px;border-radius:10px;display:grid;place-items:center;color:#FFF;background:radial-gradient(120% 90% at 30% 15%,#94AEFF 0,#2A5BFF 50%,#1635A8 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.55),inset 0 -2px 0 rgba(10,18,53,.22),0 3px 0 #14216E,0 8px 14px -6px rgba(31,51,217,.6);transition:transform .2s var(--eo),box-shadow .2s var(--eo)}
.x3d-tile svg{width:15px;height:15px}
.x3d-mute{color:rgba(10,18,53,.45);background:radial-gradient(120% 90% at 30% 15%,#FFF 0,#EEF1F7 60%,#D5DCE8 100%);box-shadow:inset 0 1px 0 #FFF,0 3px 0 #BCC5D6,0 8px 14px -8px rgba(10,18,53,.25)}

/* ---- Plano de aula ---- */
.pl-stage{overflow:hidden}
.pl-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.pl-head .pv-h{margin-top:6px}
.pl-head small{display:block;font:600 10px 'JetBrains Mono',monospace;letter-spacing:.06em;color:rgba(10,18,53,.55);margin-top:4px}
.pl-ai{flex-shrink:0;font:700 9.5px 'JetBrains Mono',monospace;letter-spacing:.06em;padding:5px 9px;border-radius:7px;background:var(--signal,#2BD49A);color:#064E3B;box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 2px 0 #0E8F63}
.pl-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:10px;flex:1;min-height:0}
.pl-steps{list-style:none;margin:0;padding:6px!important;gap:2px!important;justify-content:center}
.pl-steps li{position:relative;display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:10px;align-items:center;padding:7px 8px 9px;border-radius:10px;cursor:pointer;transition:background-color .2s ease}
.pl-steps li .x3d-tile{color:rgba(10,18,53,.45);background:radial-gradient(120% 90% at 30% 15%,#FFF 0,#EEF1F7 60%,#D5DCE8 100%);box-shadow:inset 0 1px 0 #FFF,0 3px 0 #BCC5D6,0 8px 14px -8px rgba(10,18,53,.25)}
.pl-steps li.is-done .x3d-tile,.pl-steps li.is-on .x3d-tile{color:#FFF;background:radial-gradient(120% 90% at 30% 15%,#94AEFF 0,#2A5BFF 50%,#1635A8 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.55),inset 0 -2px 0 rgba(10,18,53,.22),0 3px 0 #14216E,0 8px 14px -6px rgba(31,51,217,.6)}
.pl-steps li.is-on{background:#F1F5FF}
.pl-steps li.is-on .x3d-tile{transform:translateY(-2px)}
.pl-steps b{display:block;font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pl-steps small{display:block;font:600 9.5px 'JetBrains Mono',monospace;letter-spacing:.04em;color:rgba(10,18,53,.5);margin-top:2px}
.pl-dur{font:600 10px 'JetBrains Mono',monospace;padding:3px 7px;border-radius:6px;background:#EEF1F7;color:rgba(10,18,53,.6)}
.pl-steps li.is-on .pl-dur{background:var(--pv-blue-t,#E4ECFF);color:#1635A8}
.pl-prog{position:absolute;left:48px;right:10px;bottom:3px;height:2px;border-radius:2px;overflow:hidden}
.pl-prog i{display:block;height:100%;background:var(--pv-blue,#2A5BFF);transform:scaleX(0);transform-origin:left}
.pl-steps li.is-on .pl-prog i{transform:scaleX(1);transition:transform var(--pl-d,2800ms) linear}
.pl-manip{position:relative;border-radius:14px;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:12px 8px;color:#FFF;background:radial-gradient(160px 120px at 50% 18%,rgba(74,141,255,.5),transparent 70%),#0A1235;perspective:520px;touch-action:none;cursor:grab;user-select:none}
.pl-manip.is-drag{cursor:grabbing}
.pl-scene{position:relative;width:min(92px,70%);aspect-ratio:1;transform-style:preserve-3d;transform:rotateX(calc(58deg + var(--rx,0deg))) rotateZ(calc(-28deg + var(--rz,0deg)));transition:transform .6s var(--eo)}
.pl-manip.is-drag .pl-scene{transition:none}
.pl-disc{position:absolute;inset:0;border-radius:50%;box-shadow:0 0 0 1px rgba(255,255,255,.35),0 5px 0 #14216E,0 6px 0 #0A1235,0 14px 18px -6px rgba(0,0,0,.5);transition:transform .5s var(--eo)}
.pl-disc--a{background:repeating-conic-gradient(rgba(10,18,53,.9) 0 1deg,transparent 1deg 180deg),conic-gradient(#5B8BFF 0 50%,rgba(255,255,255,.18) 0)}
.pl-disc--b{transform:translateZ(var(--lift,14px));background:repeating-conic-gradient(rgba(10,18,53,.9) 0 1deg,transparent 1deg 90deg),conic-gradient(#C6D4FF 0 25%,#94AEFF 0 50%,rgba(255,255,255,.18) 0)}
.pl-manip.is-lift .pl-disc--b{--lift:42px}
.pl-eq{display:flex;gap:6px;align-items:baseline;font:600 15px 'Space Grotesk',sans-serif;transition:opacity .25s ease}
.pl-eq span{opacity:.55}
.pl-manip:not(.is-lift) .pl-eq{opacity:.55}
.pl-cap{font:700 8.5px 'JetBrains Mono',monospace;letter-spacing:.1em;text-transform:uppercase;color:#B8CCFF;text-align:center}

/* ---- Avaliações: erro ligado às questões ---- */
.ev-stage .pv-q i{transition:transform .5s var(--eo),opacity .25s ease,box-shadow .25s ease}
.ev-stage.is-linking .pv-q i:not(.is-hit){opacity:.22}
.ev-stage .pv-q i.is-hit{box-shadow:0 0 0 2px #FFF,0 0 0 3.5px var(--st-coral,#F0643C)}
.ev-stage .pv-q small{transition:color .25s ease}
.ev-stage .pv-q div.is-hit small{color:var(--st-coral-d,#B23A17)}
.ev-stage .pv-err>div{padding:6px 8px;margin:0 -8px;border-radius:10px;cursor:pointer;transition:background-color .25s ease}
.ev-stage .pv-err>div.is-focus{background:var(--st-coral-t,#FFE9E2)}
.ev-scan{height:3px;border-radius:3px;background:#E6E9F0;overflow:hidden}
.ev-scan i{display:block;height:100%;width:100%;background:linear-gradient(90deg,#5B8BFF,#2A5BFF);transform:scaleX(0);transform-origin:left}
.ev-scan i.is-run{transform:scaleX(1);transition:transform var(--ev-d,2600ms) linear}

/* ---- Configuração da escola ---- */
.cfg-frame{aspect-ratio:auto!important}
.cfg-frame .mock-stage{height:auto}
.cfg-lab{display:flex;align-items:center;justify-content:space-between;gap:10px}
.cfg-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 14px;border-radius:14px;background:#FFF;box-shadow:0 1px 2px rgba(10,18,53,.04),0 8px 20px -12px rgba(42,91,255,.22),0 0 0 1px rgba(10,18,53,.05)}
.cfg-row .x3d-tile{width:34px;height:34px;border-radius:11px}
.cfg-row b{display:block;font-size:13.5px;font-weight:600}
.cfg-row small{display:block;font-size:11.5px;color:rgba(10,18,53,.58);margin-top:2px;transition:color .2s ease}
.cfg-row[data-on="0"] .x3d-tile{color:rgba(10,18,53,.45);background:radial-gradient(120% 90% at 30% 15%,#FFF 0,#EEF1F7 60%,#D5DCE8 100%);box-shadow:inset 0 1px 0 #FFF,0 3px 0 #BCC5D6,0 8px 14px -8px rgba(10,18,53,.25)}
.cfg-row[data-on="0"] small{color:rgba(10,18,53,.4)}
.x3d-sw{position:relative;flex-shrink:0;width:46px;height:28px;border:0;padding:0;border-radius:999px;cursor:pointer;background:#DCE2EE;box-shadow:inset 0 2px 3px rgba(10,18,53,.18);transition:background-color .2s ease,transform .16s var(--eo)}
.x3d-sw i{position:absolute;top:4px;left:4px;width:20px;height:20px;border-radius:50%;background:linear-gradient(180deg,#FFF,#E9EDF5);box-shadow:inset 0 1px 0 #FFF,0 2px 0 rgba(10,18,53,.18),0 4px 8px -2px rgba(10,18,53,.3);transition:transform .2s var(--eo)}
.x3d-sw[aria-checked="true"]{background:#2A5BFF;box-shadow:inset 0 2px 3px rgba(10,18,53,.3)}
.x3d-sw[aria-checked="true"] i{transform:translateX(18px)}
.x3d-sw:active{transform:scale(.97)}
.x3d-sw:focus-visible{outline:2px solid #2A5BFF;outline-offset:3px}
.cfg-out{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:14px;color:#FFF;background:radial-gradient(260px 130px at 92% 0,rgba(74,141,255,.5),transparent 70%),#0A1235}
.cfg-ring{--p:100;flex-shrink:0;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#5B8BFF calc(var(--p)*1%),rgba(255,255,255,.14) 0);transition:--p .45s var(--eo)}
.cfg-ring span{width:36px;height:36px;border-radius:50%;background:#0A1235;display:grid;place-items:center;font:600 11px 'JetBrains Mono',monospace}
.cfg-out b{display:block;font:600 14px 'Space Grotesk',sans-serif}
.cfg-out small{display:block;margin-top:3px;font:700 9.5px 'JetBrains Mono',monospace;letter-spacing:.1em;color:var(--signal,#2BD49A);transition:color .2s ease}
.cfg-out.is-partial small{color:#FFC46B}
.cfg-hint{font-size:11px;color:rgba(10,18,53,.5);text-align:center}

@media (max-width:640px){.pl-grid{grid-template-columns:1fr}.pl-manip{min-height:150px}}
@media (prefers-reduced-motion:reduce){.pl-scene,.pl-disc,.x3d-tile,.x3d-sw i,.cfg-ring{transition:none!important}.pl-steps li.is-on .pl-prog i,.ev-scan i.is-run{transition:none!important}}
