/* Luminous learning workspace. Motion is transform-only and independently pausable. */
body[data-portal],body[data-login]{--portal-blue:#5888dc;--portal-soft:#edf4ff;--portal-line:#e6ebf3;--portal-ink:#202438;--portal-muted:#777c92;background:#f5f8fc!important;isolation:isolate}
.portal-ambient{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;contain:strict;background:#f6f8fc}
.portal-ambient>i{position:absolute;width:min(600px,65vw);height:min(600px,65vw);border-radius:50%;background:radial-gradient(ellipse,#bbd1f799,transparent 67%);top:-220px;left:24%;animation:ambient-drift 24s ease-in-out infinite alternate;will-change:transform}
.portal-ambient>i:nth-child(2){left:auto;right:-160px;top:32%;background:radial-gradient(ellipse,#b5eae68a,transparent 66%);animation-duration:31s;animation-delay:-11s}
.portal-ambient>i:nth-child(3){left:10%;top:auto;bottom:-240px;background:radial-gradient(ellipse,#f5cddd7a,transparent 66%);animation-duration:28s;animation-delay:-9s}
.ambient-grid{position:absolute;inset:0;background-image:radial-gradient(#52617c17 .6px,transparent .7px);background-size:24px 24px;mask-image:linear-gradient(#0007,transparent 70%)}
@keyframes ambient-drift{to{transform:translate3d(85px,75px,0) scale(1.12)}}
/* An original, layered CSS light sculpture, shared by the learning and AI views. */
.ai-orb{position:relative;width:200px;aspect-ratio:1;flex:none;pointer-events:none;isolation:isolate}
.ai-orb-core{position:absolute;inset:21%;border-radius:50%;overflow:hidden;background:radial-gradient(circle at 29% 22%,#ffffff 0,#d8f8ff 7%,#9cc0ff 24%,#709fef 45%,#345b9e 74%,#101d33 100%);box-shadow:inset -7px -12px 18px #19356666,inset 3px 3px 8px #fff7,0 0 35px #9abfff55,0 18px 45px #07204b55;animation:orb-breathe 7s ease-in-out infinite;will-change:transform}
.ai-orb-core::after{content:'';position:absolute;inset:5%;border:1px solid #ffffff50;border-radius:50%;transform:rotate(-32deg) scaleX(.5)}
.ai-orb-core svg{position:absolute;inset:18%;width:64%;height:64%;color:#ffffffda;filter:drop-shadow(0 2px 6px #fff4);z-index:1}
.ai-orb-light{position:absolute;inset:-35%;background:conic-gradient(from 90deg,transparent,#ddf8ff66,transparent,#cddfff40,transparent);animation:orb-spin 13s linear infinite}
.ai-orb-halo{position:absolute;inset:-12%;border-radius:50%;background:radial-gradient(circle,#7daaf849,transparent 67%)}
.ai-orb-ring{position:absolute;inset:6%;border:1px solid #b8c7ff80;border-radius:50%;transform:rotate(-28deg) scaleY(.5);z-index:2;box-shadow:0 0 10px #adcbff1a}
.ai-orb-ring::after{content:'';width:7px;height:7px;border-radius:50%;position:absolute;left:14%;top:14%;background:#d6ffed;box-shadow:0 0 12px #c0ffe5}
.ring-one{animation:orb-ring-one 22s linear infinite}.ring-two{inset:1%;border-color:#b4d0ff42;animation:orb-ring-two 29s linear infinite}.ring-two::after{width:4px;height:4px;background:#d6e5ff;left:auto;right:14%}
.orb-satellite{position:absolute;width:4px;height:4px;background:#d9e7ff;left:18%;bottom:15%;border-radius:50%;box-shadow:8px -100px 0 #fff6,130px -65px 0 #c4ffed88}
@keyframes orb-breathe{50%{transform:translate3d(0,-7px,0) scale(1.045)}}
@keyframes orb-spin{to{transform:rotate(360deg)}}
@keyframes orb-ring-one{from{transform:rotate(-28deg) scaleY(.5) rotate(0deg)}to{transform:rotate(-28deg) scaleY(.5) rotate(360deg)}}
@keyframes orb-ring-two{from{transform:rotate(43deg) scaleY(.68) rotate(0deg)}to{transform:rotate(43deg) scaleY(.68) rotate(-360deg)}}
/* Header and navigation */
body[data-portal] .nav,body[data-portal] .dash-nav{background:#fafcffee!important;border-bottom:1px solid #e5e9f1!important;box-shadow:0 4px 22px #333d4d04!important;color:#262a40!important;min-height:64px;z-index:460}
body[data-portal] .logo,body[data-login] .login-nav .logo{display:inline-flex;align-items:center;gap:5px;font-weight:700!important;color:#293345!important;letter-spacing:-.6px!important}
body[data-portal] .logo>span:not(.portal-brand-mark),body[data-login] .logo>span:not(.portal-brand-mark){color:#5b7ebb!important}
.portal-brand-mark{width:29px;height:29px;border-radius:10px;display:inline-grid;place-items:center;background:linear-gradient(140deg,#78a3ed,#547abc);color:#fff!important;margin-right:6px;box-shadow:0 4px 10px #6c97e22a;flex-shrink:0}.portal-brand-mark svg{width:20px;height:20px}
body[data-portal] .logo>.portal-brand-mark,body[data-login] .logo>.portal-brand-mark{color:#fff!important}
body[data-portal] .menu-toggle{background:transparent!important;border:0!important;box-shadow:none!important}body[data-portal] .menu-toggle span{background:#626780!important}
body[data-portal] :is(.nav,.dash-nav) :is(.teacher-name,.student-name){color:#353f4f!important;text-shadow:none}
body[data-portal] :is(.class-badge,.teacher-badge,.admin-badge){background:#edf2fb!important;border:1px solid #e0e8f7!important;color:#536e9e!important;box-shadow:none!important}
body[data-portal] .class-badge{font-size:11px!important;letter-spacing:.2px!important}
body[data-portal] .nav a:not(.logo){color:#445675!important;background:#edf2fb!important;border-color:#d8e0ef!important}
body[data-portal] .nav a:not(.logo):hover{color:#273e66!important;background:#e0e8f7!important}
body[data-portal] .nav #logoutBtn{color:#903e54!important;background:#fff1f4!important;border:1px solid #ecd2dc!important}
body[data-portal] .nav #logoutBtn:hover{color:#732b40!important;background:#fbe2e9!important}
body[data-portal] .ntc-pf-btn{width:38px!important;height:38px!important;background:linear-gradient(135deg,#80a4e2,#577dbe)!important;border:2px solid #fff!important;box-shadow:0 3px 10px #6482b52b!important;border-radius:13px!important;font-family:inherit!important}
body[data-portal] .sidebar{background:linear-gradient(170deg,#202b3d,#171b30)!important;border:1px solid #ffffff12!important;border-radius:18px!important;box-shadow:0 16px 35px -22px #232b3970!important;margin:16px 0 16px 16px;top:80px!important;height:calc(100dvh - 96px)!important;padding:20px 0!important;scrollbar-color:#5e6b8240 transparent}
body[data-portal] .sidebar-heading{color:#727891!important;font-size:9px!important;letter-spacing:1.5px!important}
body[data-portal] .sidebar-item{color:#b4b8ce!important;font-size:12px!important;font-weight:500!important;position:relative}
body[data-portal] .sidebar-item.active{background:linear-gradient(100deg,#6591dc30,#5b81c31c)!important;color:#f2f7ff!important;border:1px solid #9cb8e72b!important;margin-top:2px!important;margin-bottom:2px!important}
body[data-portal] .sidebar-item.active::after{display:block!important;content:'';position:absolute;left:-12px;top:13px;bottom:13px;width:3px;background:#9fbff6;border-radius:2px}
body[data-portal] .sidebar-item .icon{width:22px!important;height:22px!important;color:#8a8fa9!important;border:0!important;box-shadow:none!important;flex:none}.sidebar-item .icon svg{width:19px;height:19px}.sidebar-item.active .icon{color:#b2ceff!important}
body[data-portal] .sidebar .portal-tool-search{border:1px solid #ffffff15!important;background:#ffffff05!important;color:#dde0f1!important;border-radius:10px!important;font-size:12px!important;min-height:40px!important}.portal-tool-search::placeholder{color:#80869f}
.atmosphere-toggle{display:flex;align-items:center;gap:8px;margin:10px 22px 6px;padding:8px 0;border:0;background:none;color:#9aa4b6;font:500 10px 'DM Sans',system-ui,sans-serif;cursor:pointer;min-height:40px}.atmosphere-toggle svg{width:16px;height:16px}.atmosphere-toggle[aria-pressed=true]{color:#b8d2ff}
/* Strong focal areas, with quieter surfaces around the content. */
body[data-portal] .main-content{background:transparent!important;padding-top:24px!important}
body[data-portal=student][data-active-section=attendance] .page-header{display:none!important}
body[data-portal] .breadcrumb{background:transparent!important;padding:0!important;border:0!important;font-size:10px!important;box-shadow:none!important;margin-bottom:14px!important}.breadcrumb-home{color:#919bab}
body[data-portal] .page-header.atmosphere-hero,body[data-portal] .teacher-studio-hero.atmosphere-hero{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 85% 5%,#607cac70,transparent 52%),linear-gradient(115deg,#222d3f,#2b3950)!important;border:1px solid #414c5e!important;border-radius:22px!important;padding:30px!important;min-height:150px;margin-bottom:20px!important;display:flex;flex-direction:column;align-items:flex-start!important;justify-content:center!important;box-shadow:0 14px 35px -24px #242f4190!important}
.atmosphere-hero::before,.atmosphere-feature::before{content:'';position:absolute;inset:0;z-index:-1;background-image:radial-gradient(#ffffff19 .6px,transparent .8px);background-size:18px 18px;mask-image:linear-gradient(90deg,transparent,#0009)}
body[data-portal] .atmosphere-hero h1,body[data-portal] .atmosphere-hero .teacher-studio-copy h1{color:#fff!important;font-size:clamp(25px,3vw,36px)!important;font-weight:600!important;letter-spacing:-1.2px!important;max-width:calc(100% - 150px);line-height:1.15!important}
body[data-portal] .atmosphere-hero p,body[data-portal] .atmosphere-hero .teacher-studio-copy p{color:#b6bfce!important;font-size:12px!important;max-width:calc(100% - 160px);line-height:1.6!important;margin-top:10px!important;background:none!important}
.atmosphere-hero>p::after{display:none!important}
.atmosphere-hero>.ai-orb{position:absolute;width:190px;right:20px;top:50%;margin-top:-95px}
body[data-portal] .atmosphere-hero .teacher-studio-copy{width:100%;z-index:1}.atmosphere-hero .teacher-studio-stats{display:none!important}.atmosphere-hero .studio-kicker{color:#c1d4f4!important}
body[data-portal] .experience-hero{background:radial-gradient(ellipse at 100% 10%,#5c76a467,transparent 55%),linear-gradient(115deg,#222d3f,#2b3950)!important;border-color:#424c5d;border-radius:20px}
.atmosphere-feature>.ai-orb{position:absolute;right:4px;top:50%;margin-top:-78px;width:156px;opacity:.95}.atmosphere-feature h2,.atmosphere-feature p,.atmosphere-feature .experience-kicker{max-width:calc(100% - 130px)}.atmosphere-feature::after{display:none}
body[data-portal] .card,body[data-portal] .test-card,body[data-portal] .attn-card,body[data-portal] .teacher-profile-shell,.portal-browser,.result-overview{background:#ffffffeb!important;border:1px solid #e4e8f0!important;box-shadow:0 8px 28px -20px #34435c35!important;border-radius:18px!important}
body[data-portal] .card-title{font-weight:600!important}
.portal-browser{padding:24px}.portal-browser h2{font-size:22px;letter-spacing:-.7px;color:#273142;font-weight:600}.portal-eyebrow{font-size:9px;letter-spacing:1.5px;color:#8793a9}
.portal-browser-top{margin-bottom:20px}.portal-browser .portal-search{background:#f7f9fc;border-color:#e6ebf3;border-radius:12px;padding:2px 12px}.portal-search>span{color:#9ba6b9}
.portal-reset{background:#f0f4fa;color:#707b8f;border:1px solid #e5eaf3;font-weight:500}
.portal-steps{display:flex;align-items:center;gap:0;margin:0 0 20px;list-style:none;padding:0}.portal-steps li{display:flex;align-items:center;gap:7px;flex:1;font-size:10px;color:#979fae;white-space:nowrap}.portal-steps li:not(:last-child)::after{content:'';height:1px;flex:1;background:#e5eaf2;margin:0 10px}.portal-steps b{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#f2f5f9;border:1px solid #e4e9f1;font-size:9px;font-weight:500}.portal-steps [aria-current=step]{color:#537bbf}.portal-steps [aria-current=step] b{background:#638dd5;color:white;border-color:#638dd5;box-shadow:0 0 0 4px #e8effb}.portal-steps .complete b{background:#e9f4ef;border-color:#d7eade;color:#568872}
.portal-task-tabs{background:#e9edf5;border:1px solid #dfe4ee;border-radius:12px;padding:5px;gap:5px}.portal-task-tabs button{color:#828d9f;font-weight:500;transition:background .18s,color .18s,box-shadow .18s}.portal-study-tabs button[aria-pressed=true],.portal-task-tabs button[aria-selected=true]{background:#fff;color:#557dc1;box-shadow:0 3px 9px #3b4f7112}
.portal-choice{position:relative;overflow:hidden;min-height:106px;border-radius:15px;background:linear-gradient(125deg,#f9fbff,#f2f6fd);border:1px solid #e0e7f2;padding:19px;gap:14px;transition:translate .2s ease,box-shadow .2s,border-color .2s}
.portal-choice::after{content:'';position:absolute;width:90px;height:90px;border:1px solid #97a9c719;right:-28px;bottom:-48px;border-radius:50%;box-shadow:0 0 0 16px #97a9c708;pointer-events:none}
.portal-choice:nth-child(2n){background:linear-gradient(125deg,#f7fcfb,#eff8f5);border-color:#dceee6}.portal-choice:nth-child(3n){background:linear-gradient(125deg,#fcfaf5,#faf4e9);border-color:#efe6d6}
.portal-choice strong{font-size:15px;font-weight:600;color:#364256}.portal-choice small{font-size:10px;color:#929cac;margin-top:6px}
.portal-choice-icon{width:48px;height:48px;border-radius:15px;background:linear-gradient(145deg,#dfebff,#c2d4f4);color:#6182ba;border:1px solid #f4f8ff;box-shadow:0 6px 13px -7px #647da880;font-weight:500}.portal-choice-icon svg{width:28px;height:28px}
.portal-choice:nth-child(2n) .portal-choice-icon{background:linear-gradient(145deg,#e0f4ed,#c2e8d9);color:#579a7e;border-color:#f2fff8}.portal-choice:nth-child(3n) .portal-choice-icon{background:linear-gradient(145deg,#fcf0d8,#efdbb1);color:#b09051;border-color:#fffaf0}
.portal-choice>span:last-child{width:26px;height:26px;background:#ffffffa3;border-radius:50%;display:grid;place-items:center;font-size:13px;color:#8292ae}
@media(hover:hover) and (prefers-reduced-motion:no-preference){body:not(.motion-paused) .portal-choice:hover{translate:0 -3px;border-color:#a5badf;box-shadow:0 12px 22px -16px #516b9888}body[data-portal]:not(.motion-paused) .test-card:hover{translate:0 -2px;box-shadow:0 12px 24px -18px #43587b66!important}.portal-choice:active{translate:0 0}}
body[data-portal] .test-card{transition:translate .2s,border-color .2s,box-shadow .2s!important}body[data-portal] .test-card h3{font-weight:600!important}.portal-pagination{color:#919bac}
body[data-portal] .btn-primary{background:linear-gradient(115deg,#6994dd,#567fc7)!important;border:1px solid #608bd4!important;box-shadow:0 4px 12px #678dcf26!important}
body[data-portal] input:not([type=checkbox]):not([type=radio]):not([type=file]),body[data-portal] select,body[data-portal] textarea{border-color:#dfe4ee!important;background:#fcfdff!important}
body[data-portal] .empty-state{margin:20px auto 0!important;max-width:620px;padding:36px!important;border:1px dashed #d7dfec!important;border-radius:20px;background:#ffffffa3!important;box-shadow:none!important;backdrop-filter:none!important}.empty-state .empty-icon{background:#e8eef9!important;width:52px!important;height:52px!important;border-radius:16px!important;box-shadow:none!important;color:#879dc2}.empty-icon svg{width:26px;height:26px}.empty-state h3{font-weight:600!important}.empty-state p{font-size:12px!important}
/* Identity and the AI workspace share the same illuminated accent. */
body[data-portal] .teacher-profile-hero,body[data-portal] .ntc-pf-modal::before{background:radial-gradient(ellipse at 85% 20%,#5d78a788,transparent 60%),#263040!important}.teacher-profile-hero>.ai-orb{position:absolute;right:20px;top:15px;width:140px}.teacher-profile-hero>div:not(.ai-orb){z-index:1}.teacher-profile-hero::after{display:none}.teacher-profile-hero h2{max-width:100%}.teacher-profile-avatar{box-shadow:inset 0 1px 0 #fff2!important}
body[data-portal] .teacher-profile-hero>.ai-orb{position:absolute;pointer-events:none;z-index:0}
body[data-portal] .ada-header{background:linear-gradient(105deg,#242e3e,#303c52)!important}.ada-avatar-core svg{width:25px;height:25px}
body[data-portal] .ada-shell{border-color:#dbe2ef!important;box-shadow:0 14px 40px -30px #31446545!important}.ada-messages{background:transparent!important}
body[data-portal] .ada-welcome-icon{width:116px!important;height:105px!important;background:transparent!important;border-radius:0!important;margin-bottom:6px!important;overflow:visible!important}.ada-welcome-icon>.ai-orb{width:138px;position:relative;left:-11px;top:-14px}.ada-welcome-icon .ai-orb-core{box-shadow:inset -7px -12px 18px #19356666,inset 3px 3px 8px #fff7,0 8px 25px #6888be33}
body[data-portal] .ada-welcome-title{font-size:27px!important;color:#333d4f!important;letter-spacing:-1px!important}.ada-welcome-sub{max-width:430px!important}
body[data-portal] .ada-chip{background:linear-gradient(140deg,#fff,#f9fbff)!important;border-color:#e0e6f1!important;border-radius:14px!important;color:#606f89;min-height:58px;transition:border-color .2s,box-shadow .2s!important}.ada-chip:hover{border-color:#a4b6d5!important;box-shadow:0 4px 14px #566a8c0a!important}
body[data-portal] .ada-msg-user,body[data-portal] .ada-send{background:linear-gradient(120deg,#7199dd,#567bbc)!important}.ada-act-btn{font-size:11px!important;font-weight:500!important}.ada-composer{border-top-color:#e4e9f1!important}
/* Login: a larger light sculpture behind a focused, readable sign-in card. */
body[data-login] .login-wrapper{background:#ffffffdf!important;border-color:#fff!important;box-shadow:0 28px 80px -40px #53678955!important;border-radius:28px!important}
body[data-login] .login-story{background:radial-gradient(ellipse at 15% 5%,#52699070,transparent 48%),radial-gradient(ellipse at 90% 85%,#29726a35,transparent 55%),#222c3c;padding:42px;position:relative;isolation:isolate}
.login-story::before{content:'';position:absolute;inset:0;z-index:-1;background-image:radial-gradient(#ffffff20 .6px,transparent .8px);background-size:20px 20px;mask-image:linear-gradient(transparent,#0008)}
.login-story h2{font-size:clamp(30px,3.4vw,44px);letter-spacing:-1.8px;line-height:1.12}.login-story h2 em{color:#c3d9ff}.login-story .experience-kicker{color:#a1b1cc;letter-spacing:2px;font-size:9px}.login-story p{color:#a2adbf;font-size:13px}.login-story-footer{color:#909aac;border-color:#ffffff12;font-size:10px}
.study-scene{height:320px;aspect-ratio:auto;max-width:440px;margin:12px auto}.study-scene>.ai-orb{width:300px;position:absolute;top:5px;left:50%;margin-left:-150px}
.orbit-label{position:absolute;display:inline-flex;align-items:center;gap:8px;border:1px solid #ffffff24;border-radius:12px;padding:10px 13px;background:#38404fee;color:#d3dae5;font-size:11px;box-shadow:0 10px 25px #080f1c30;animation:label-float 8s ease-in-out infinite}.orbit-label svg{width:17px;height:17px;color:#b0cbfa}.orbit-label-one{left:0;top:65px;rotate:-5deg}.orbit-label-two{right:-8px;top:190px;rotate:5deg;animation-delay:-3s;background:#404856ee}.orbit-label-three{left:15px;bottom:6px;rotate:-3deg;animation-delay:-5s}.orbit-label-three svg{color:#a8e2ce}
@keyframes label-float{50%{transform:translate3d(0,-9px,0)}}
body[data-login] .login-card{background:transparent!important}.login-role-switch{background:#eff2f8;border-color:#e4eaf3}.login-role-switch a[aria-current=page]{color:#5d81c0}.login-header .experience-kicker{color:#97a2b4;font-size:9px}.login-header h1{color:#2b3443!important}
body[data-login] .login-btn{background:linear-gradient(110deg,#709ae2,#567fc5)!important;box-shadow:0 7px 18px #668ccf33!important}.login-nav .back-link{color:#828c9c!important}
.login-story>.atmosphere-toggle{margin:0;padding:0;color:#a0aaba;align-self:flex-start;font-size:9px}
/* Motion control covers ambient layers, spheres and one-shot interactions. */
.motion-paused .portal-ambient *,.motion-paused .ai-orb *,.motion-paused .orbit-label,.motion-sleeping .portal-ambient *,.motion-sleeping .ai-orb *,.motion-sleeping .orbit-label{animation-play-state:paused!important}
@media(min-width:901px){body[data-portal] .dash-body{max-width:1560px;gap:4px}body[data-portal] .sidebar{width:218px!important}body[data-portal] .main-content{padding-left:30px!important;padding-right:30px!important}}
@media(max-width:900px){
 body[data-portal] .nav,body[data-portal] .dash-nav{min-height:58px;padding:9px 16px!important}body[data-portal] .logo{font-size:14px!important;gap:3px}.portal-brand-mark{width:25px;height:25px;border-radius:8px;margin-right:3px}.portal-brand-mark svg{width:18px;height:18px}body[data-portal] .dash-nav>div:first-child{gap:9px!important}
 body[data-portal] .sidebar{margin:0;border-radius:24px 24px 0 0!important;top:auto!important;height:min(72dvh,640px)!important;bottom:calc(70px + env(safe-area-inset-bottom))!important;left:0!important;width:100%!important;max-width:none!important;transform:translateY(24px)!important;opacity:0;visibility:hidden;pointer-events:none;padding:26px 4px 12px!important;transition:transform .24s cubic-bezier(.2,.8,.2,1),opacity .18s,visibility .24s!important;overscroll-behavior:contain}
 body[data-portal] .sidebar::before{content:'';position:absolute;top:10px;left:calc(50% - 19px);width:38px;height:4px;background:#777f8e66;border-radius:4px}
 body[data-portal] .sidebar.open{transform:translateY(0)!important;opacity:1;visibility:visible;pointer-events:auto}
 body[data-portal] .sidebar-section{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;margin-bottom:14px!important}body[data-portal] .sidebar-heading{grid-column:1/-1;margin-bottom:5px!important}body[data-portal] .sidebar-item{margin:2px 9px!important;padding:10px 8px!important;min-height:46px;gap:7px!important;font-size:11px!important}body[data-portal] .sidebar-item.active::after{display:none!important}body[data-portal] .sidebar .portal-tool-search{margin-bottom:16px}
 body[data-portal] .breadcrumb{display:none!important}
 .portal-study-tabs{position:sticky;top:64px;z-index:20;box-shadow:0 8px 16px -14px #23355540}
 .portal-bottom-nav{background:#fefefff5;border:1px solid #e2e7f0;box-shadow:0 -6px 25px #44526a08;border-radius:20px 20px 0 0;padding-top:7px;gap:3px}.portal-bottom-nav button{color:#969faf;font-size:9px;border-radius:13px}.portal-bottom-nav button[aria-current=page]{background:linear-gradient(#e5edfc,#f1f6ff);color:#6182ba}.portal-bottom-nav svg{width:21px;height:21px}
 body[data-portal] .page-header.atmosphere-hero,body[data-portal] .teacher-studio-hero.atmosphere-hero{padding:23px 20px!important;min-height:143px;border-radius:18px!important;margin-bottom:16px!important}
 body[data-portal] .atmosphere-hero h1,body[data-portal] .atmosphere-hero .teacher-studio-copy h1{font-size:25px!important;max-width:calc(100% - 82px);letter-spacing:-.8px!important}body[data-portal] .atmosphere-hero p{font-size:11px!important;max-width:calc(100% - 84px)}.atmosphere-hero>.ai-orb{width:130px;right:-16px;margin-top:-65px}
 body[data-portal] .main-content{padding:20px 16px 28px!important}.portal-browser{padding:18px}.portal-browser h2{font-size:20px}.portal-steps{margin-bottom:18px}.portal-steps li{font-size:9px;gap:5px}.portal-steps li:not(:last-child)::after{margin:0 7px}.portal-steps b{width:20px;height:20px}
 .portal-choice{min-height:89px;padding:15px;gap:13px}.portal-choice strong{font-size:14px}.portal-choice-icon{width:43px;height:43px;border-radius:13px}.portal-choice-icon svg{width:25px;height:25px}
 .portal-browser:is([data-stage=subject],[data-stage=class]) .portal-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.portal-browser:is([data-stage=subject],[data-stage=class]) .portal-choice{flex-direction:column;align-items:flex-start;min-height:141px;gap:13px}.portal-browser:is([data-stage=subject],[data-stage=class]) .portal-choice>span:last-child{position:absolute;right:10px;top:15px;width:22px;height:22px}.portal-browser:is([data-stage=subject],[data-stage=class]) .portal-choice>span:nth-child(2){width:100%}.portal-choice strong{font-size:13px}
 .atmosphere-feature>.ai-orb{width:126px;right:-24px;margin-top:-63px}.atmosphere-feature h2,.atmosphere-feature p,.atmosphere-feature .experience-kicker{max-width:calc(100% - 75px)}.atmosphere-feature h2{font-size:23px}.atmosphere-feature p{font-size:11px}
 .teacher-profile-hero>.ai-orb{width:146px;right:4px;top:12px}.teacher-profile-hero>div:nth-child(2){max-width:100%;padding-right:0}
 body[data-portal] .empty-state{padding:28px 20px!important;margin-top:6px!important}
 .portal-ambient>i{width:380px;height:380px;top:-140px;left:-90px}.portal-ambient>i:nth-child(2){right:-150px;left:auto;top:40%}.portal-ambient>i:nth-child(3){display:none}
 body[data-portal] .ada-welcome{margin:0 auto!important;padding:12px 0!important}body[data-portal] .ada-welcome-title{font-size:23px!important}.ada-welcome-icon>.ai-orb{width:118px;left:0;top:-8px}body[data-portal] .ada-welcome-icon{height:88px!important}.ada-chips{grid-template-columns:1fr 1fr!important}body[data-portal] .ada-chip{font-size:11px!important;min-height:72px;padding:12px!important;line-height:1.5!important}.ada-welcome-sub{font-size:12px!important}
}
@media(max-width:700px){
 body[data-login] .login-nav{padding:18px 18px!important}body[data-login] .login-nav .logo{font-size:14px!important;gap:3px}.login-nav .back-link{font-size:10px!important}
 body[data-login] .login-story{padding:24px!important;min-height:190px}.login-story h2{font-size:25px;max-width:220px;letter-spacing:-1px}.login-story .experience-kicker{font-size:8px;max-width:180px;line-height:1.5;letter-spacing:1.3px;margin-bottom:13px}
 .login-story .study-scene{width:150px;height:160px;right:-26px;bottom:0;opacity:1;z-index:-1}.study-scene>.ai-orb{width:175px;top:0;margin-left:-87px}.orbit-label{display:none}.login-story>.atmosphere-toggle{position:absolute;bottom:9px;left:24px;right:auto;font-size:8px;min-height:30px;gap:5px}.login-story>.atmosphere-toggle svg{width:13px;height:13px}.login-story h2{padding-bottom:18px}
 body[data-login] .login-card{padding:26px 24px!important}body[data-login] .login-wrapper{border-radius:22px!important}.login-role-switch{margin-bottom:24px}
}
@media(max-width:360px){body[data-portal] .logo{font-size:12px!important}.portal-brand-mark{width:22px;height:22px;margin-right:1px}body[data-portal] .dash-nav>div:first-child{gap:5px!important}.portal-steps li{font-size:8px}.portal-steps li:not(:last-child)::after{margin:0 5px}.login-story h2{max-width:185px;font-size:23px}.login-story .study-scene{right:-47px;opacity:.75}body[data-login] .login-nav .logo{font-size:12px!important}body[data-login] .login-nav .back-link{font-size:9px!important}}
@media(prefers-reduced-motion:reduce){.portal-ambient *,.ai-orb *,.orbit-label{animation:none!important;transition:none!important}.atmosphere-toggle{display:none!important}.portal-choice{transition:none!important}}

/* Performance. These blurs sat on large or near-opaque surfaces (the whole
   transparent main area, white cards, 93-96% opaque bars), so they changed
   almost nothing visually but forced a full-screen blur on every frame while
   the ambient background animated, which made phones stutter. The header sheen
   animated background-position, repainting the header forever. */
body[data-portal] .main-content,body[data-portal] .cat-section,body[data-portal] .profile-strip,body[data-portal] .stat-box,body[data-portal] .dash-nav,body[data-portal] .portal-bottom-nav{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
body[data-portal] .dash-nav::before,body[data-portal] .ada-header-bg::before{animation:none!important}
