/* Compact pages grow with content; nothing is clipped to hide necessary scrolling. */
.portal-main{padding:22px 30px;min-height:0}.portal-footer{margin-top:18px;padding-top:12px}.page-heading{margin-bottom:18px}.hero-panel{padding:22px}.panel{margin-bottom:18px}.portal-main .grid-4 .panel{padding:18px}.portal-top{min-height:68px}.answer-wrong{border:1px solid #d86b73!important;border-left:5px solid #fa6e76!important;background:#341b20;padding:18px;border-radius:10px;margin:14px 0}.answer-wrong>strong{color:#ffadb2}.answer-correct{border:1px solid #3d7553!important;border-left:5px solid #5fd37f!important;background:#102b1c;padding:18px;border-radius:10px;margin:14px 0}.answer-correct>strong{color:#79e497}.student-page{background:#091510}.student-top{max-width:1200px;margin:18px auto;display:flex;justify-content:space-between;align-items:center;background:#12231a;border:1px solid #294333;border-radius:8px;padding:10px 20px;gap:12px}.student-top .brand{font-size:16px;letter-spacing:.5px}.student-top .brand img{width:40px;height:40px}.student-top nav{display:flex;align-items:center;gap:18px}.student-main{max-width:1200px;margin:auto;padding:8px 20px 24px}.original-banner{display:grid;grid-template-columns:1fr 1fr;height:240px;border-radius:8px;overflow:hidden;background:#173423;border:1px solid #36583e}.banner-emblem{background:radial-gradient(ellipse,#2f583a,#0d2116);display:grid;place-items:center}.banner-emblem img{height:190px}.original-banner h1{align-self:center;padding:24px;font-size:clamp(28px,4vw,48px);color:#f4e51a;line-height:1.2}.student-heading{display:flex;align-items:center;justify-content:space-between;margin:25px 0 18px}.student-heading h2{margin:0}.student-heading span{color:var(--muted)}.original-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.original-card{display:flex;flex-direction:column;border:1px solid #355441;border-radius:9px;background:#14251b;min-height:195px;padding:22px;color:#edf9f2}.original-card strong{display:flex;justify-content:space-between;font-size:19px}.original-card:hover{border-color:#f4e51a;background:#1b3524}.card-symbol{font-size:54px;color:#5fd37f;text-align:center;line-height:1.7}.original-card small{color:var(--muted)}.login-page{min-height:100svh}.login-page .student-main{max-width:none;padding:0}.login-network{position:fixed;inset:0;width:100%;height:100%;pointer-events:none}.compact-login{position:relative;min-height:100svh;max-width:1100px;margin:auto;padding:24px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px}.login-brand{position:relative;text-align:center}.login-brand>img{width:170px;position:relative;z-index:1}.login-brand h1{font-size:32px}.login-rings{position:absolute;width:270px;height:270px;left:50%;top:-45px;transform:translateX(-50%);z-index:-1}.login-rings i{position:absolute;border:1px solid #5fd37f55;border-radius:50%;inset:0;box-shadow:0 0 13px #5fd37f16;animation:ring-glow 5s ease-in-out infinite}.login-rings i:nth-child(2){inset:12px;animation-delay:1s}.login-rings i:nth-child(3){inset:24px}.login-rings i:nth-child(4){inset:36px}.login-box{background:#082219eb;border:1px solid #35533e;border-radius:16px;padding:28px;max-width:440px}.login-box h2{font-size:28px;margin-bottom:16px}.login-box label{margin-bottom:12px}.login-links{display:flex;align-items:center;justify-content:space-between;font-size:12px;gap:12px;margin:5px 0 10px}.login-links label{display:flex;align-items:center;gap:7px;margin:0;font-size:12px}.login-alternatives{display:flex;gap:10px;margin:14px 0}.login-alternatives a{flex:1}.login-box p{margin:10px 0 0}.result-panel{max-width:840px;margin:20px auto;background:#11261a;border:1px solid #345440;padding:28px;border-radius:16px;text-align:center}.result-outcome{font-size:62px;font-weight:850;color:#5fd37f;line-height:1.2;margin:22px 0}.failed .result-outcome{color:#ffafb2}.result-panel.failed{border-color:#89434e}.review-list{text-align:left}.celebration{color:#f4e51a;font-size:40px;letter-spacing:12px;margin:20px;animation:ring-glow 2s ease-in-out 3}.bank-row{display:flex;gap:15px;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:12px 0}.bank-row span{font-size:14px}.edit-overlay{position:fixed;inset:0;background:#0009;z-index:50;display:grid;place-items:center;padding:15px}.edit-dialog{width:min(560px,100%);max-height:95svh;overflow:auto}.edit-dialog label{margin-bottom:10px}.edit-dialog .page-heading{margin-bottom:10px}.auth-wrap{padding:20px;gap:35px;min-height:100svh}.auth-art h1{font-size:42px;margin:20px 0}.auth-art .orbit{display:none}.auth-card{padding:24px}.auth-card label{margin-bottom:10px}.auth-foot{margin-top:12px}@keyframes ring-glow{50%{opacity:.5;box-shadow:0 0 20px #5fd37f33}}@media(max-width:760px){.original-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.original-banner{height:190px}.banner-emblem img{height:130px}.original-banner h1{padding:15px}.original-card{min-height:155px;padding:15px}.student-top{margin:10px}.student-top nav{gap:10px}.student-top .brand span{font-size:12px}.student-main{padding:8px 12px}.compact-login{grid-template-columns:1fr;gap:12px;max-width:470px;padding:16px;align-content:center}.login-brand{display:none}.login-box{width:100%;padding:22px}.student-heading span{font-size:12px}.portal-main{padding:18px 14px}.student-top .brand img{width:30px;height:30px}.student-top nav a{font-size:13px}.student-top button{padding:8px;min-height:38px}}@media(max-height:650px) and (min-width:761px){.login-box{padding:18px 24px}.login-box h2{font-size:24px;margin-bottom:12px}.login-box input:not([type=checkbox]){min-height:38px;padding:8px}.login-box .button{min-height:38px;padding:8px 14px}.compact-login{padding:12px}}@media(prefers-reduced-motion:reduce){.login-rings i,.celebration{animation:none}}

.banner-emblem img{width:100%;height:100%;object-fit:cover;filter:grayscale(1)}

.course-picker{margin-top:24px}.score-summary strong{display:block;font-size:30px;color:#f4e51a}.enrollment-list{margin-top:20px}

/* v5: restrained brand motion and compact account workspace. */
.original-banner{position:relative;isolation:isolate;overflow:hidden}.original-banner h1,.banner-emblem{position:relative;z-index:1}.hero-orbits{position:absolute;right:2%;top:-80px;width:390px;height:390px;opacity:.2;pointer-events:none}.hero-orbits i,.profile-orbits i{position:absolute;inset:0;border:1px solid var(--green);border-radius:50%;animation:orbit-turn 24s linear infinite}.hero-orbits i:nth-child(2),.profile-orbits i:nth-child(2){inset:22px;border-color:var(--yellow);transform:rotateX(55deg);animation-direction:reverse}.hero-orbits i:nth-child(3),.profile-orbits i:nth-child(3){inset:45px;animation-duration:32s}.hero-orbits i:before,.profile-orbits i:before{content:'';position:absolute;top:15%;left:15%;width:7px;height:7px;border-radius:50%;background:var(--yellow);box-shadow:0 0 16px var(--yellow)}@keyframes orbit-turn{to{rotate:360deg}}@keyframes settle-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.original-card{transition:transform .2s,border-color .2s,box-shadow .2s;animation:settle-in .5s both}.original-card:nth-child(2){animation-delay:.06s}.original-card:nth-child(3){animation-delay:.12s}.original-card:nth-child(4){animation-delay:.18s}.original-card:hover{transform:translateY(-4px);border-color:var(--green);box-shadow:0 12px 28px #0004}.original-card .card-symbol{width:64px;height:64px;display:grid;place-items:center;background:#173d29;border:1px solid #33613f;border-radius:18px;margin:14px auto}.course-picker{animation:settle-in .65s both}.question-kind{display:block;color:var(--muted);font-size:11px;margin-top:4px}.option-editor{display:flex;align-items:center;gap:14px}.option-editor .answer-key{display:flex;align-items:center;gap:8px;margin:20px 0 0}.option-field{flex:1}.bank-image{display:block;max-width:100%;max-height:230px;object-fit:contain;margin:12px 0;border-radius:10px}.edit-dialog{width:min(680px,94vw)}
.profile-workspace{max-width:1180px;margin:auto;animation:settle-in .4s both}.profile-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.profile-heading h1{font-size:30px;margin:6px 0}.profile-heading .eyebrow{margin-bottom:0}.profile-grid{display:grid;grid-template-columns:.95fr 1.2fr 1fr;gap:18px}.profile-grid .panel{padding:24px;margin:0;position:relative}.profile-identity{text-align:center;overflow:hidden;isolation:isolate;display:flex;align-items:center;flex-direction:column;justify-content:center}.profile-orbits{position:absolute;inset:18px;opacity:.18;z-index:-1;pointer-events:none}.profile-avatar{position:relative;width:90px;height:90px;padding:5px;border:1px solid #69933d;border-radius:50%;background:#153522;box-shadow:0 0 35px #5fd37f15;margin:10px 0 18px}.profile-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.profile-avatar>span:first-child{display:grid;place-items:center;height:100%;font-size:34px;color:var(--yellow)}.online-dot{position:absolute;right:5px;bottom:8px;width:13px;height:13px;border:3px solid #0b291e;border-radius:50%;background:var(--green)}.profile-identity h2{font-size:21px;overflow-wrap:anywhere}.profile-email{font-size:12px;overflow-wrap:anywhere;margin:14px 0}.profile-membership{border-top:1px solid var(--line);padding:12px;width:100%}.profile-membership span{display:block;font-size:9px;letter-spacing:2px;color:var(--muted)}.profile-membership strong{font-size:14px}.profile-identity .small{margin:0}.profile-grid h2{font-size:21px}.profile-hint{margin:12px 0 0}.profile-security .security-symbol{color:var(--green);margin-bottom:10px}.google-status{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:12px;padding:18px 0 12px}.google-connect summary{font-size:13px;color:var(--green);cursor:pointer}.google-connect form{margin-top:12px}.profile-history-link{margin-top:18px}.profile-security .eyebrow{margin-bottom:8px}
body:has(.profile-workspace) .portal-main{padding-top:22px;padding-bottom:20px}body:has(.profile-workspace) .portal-footer{margin-top:20px;padding-top:12px}
@media(min-width:1000px) and (min-height:700px){body:has(.profile-workspace) .portal-side{padding:18px 14px}body:has(.profile-workspace) .portal-side .brand{margin-bottom:18px}body:has(.profile-workspace) .portal-side nav a{padding:7px 10px;margin:2px 0}body:has(.profile-workspace) .side-bottom{margin-top:15px;padding-top:12px}}
@media(max-width:1150px){.profile-grid{grid-template-columns:1fr 1fr}.profile-security{grid-column:1/-1}.profile-security .security-symbol{display:none}}@media(max-width:650px){.profile-grid{grid-template-columns:1fr}.profile-security{grid-column:auto}.profile-grid .panel{padding:20px}.profile-heading h1{font-size:26px}.profile-identity{padding:20px!important}.profile-avatar{width:76px;height:76px;margin:0 0 12px}.profile-membership{padding:7px}.profile-email{margin:8px 0}.hero-orbits{width:240px;height:240px}.original-card .card-symbol{width:52px;height:52px}.option-editor{gap:8px}.profile-heading{gap:10px}.profile-heading .pill{font-size:10px}}
@media(prefers-reduced-motion:reduce){.hero-orbits i,.profile-orbits i,.original-card,.course-picker,.profile-workspace{animation:none!important;transition:none!important}}

@media(min-width:1151px) and (min-height:700px){body:has(.profile-workspace) .portal-side nav a{padding:5px 10px}body:has(.profile-workspace) .portal-side .brand{margin-bottom:14px}body:has(.profile-workspace) .side-bottom{margin-top:10px;padding-top:10px}}

.option-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}body:has(.edit-overlay){overflow:hidden}.edit-dialog .bank-image{max-height:110px}@media(max-width:650px){.option-grid{grid-template-columns:1fr}}
