.portal-body main{min-height:62vh}
.page-hero{padding-block:clamp(64px,9vw,110px) 46px}
.page-hero h1{max-width:880px;font-size:clamp(2.4rem,6vw,4.8rem)}
.page-hero .lead{max-width:780px;margin-top:18px}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;padding-bottom:clamp(70px,10vw,120px)}
.tags{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:15px}
.tag{display:inline-flex;align-items:center;padding:5px 9px;border-radius:99px;background:var(--surface-2);color:var(--muted);font-size:.73rem;font-weight:750}
.card .price{font-size:1.18rem;margin-top:21px}
.card-actions{margin-top:22px;display:flex;gap:9px;flex-wrap:wrap}
.primary-btn,.ghost-btn,.nav-button{border:0;font:inherit;cursor:pointer;min-height:45px;padding:10px 17px;border-radius:13px;font-weight:750;display:inline-flex;align-items:center;justify-content:center;transition:.2s}
.primary-btn{background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;box-shadow:0 10px 26px rgba(79,70,229,.22)}
.primary-btn:hover,.ghost-btn:hover{transform:translateY(-2px)}
.ghost-btn{background:var(--surface);border:1px solid var(--line);color:var(--text)}
.wide{width:100%}
.account-grid{display:grid;grid-template-columns:300px 1fr;align-items:start;gap:24px;padding-bottom:100px}
.account-sidebar{position:sticky;top:98px}
.account-card{background:var(--surface-solid);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-xs);padding:25px;margin-bottom:20px}
.account-card>h2{font-size:1.2rem;margin-bottom:18px}
.account-profile{text-align:center}
.account-avatar{width:94px;height:94px;border-radius:28px;object-fit:cover;margin:0 auto 16px;background:linear-gradient(135deg,var(--brand),var(--cyan));color:#fff;display:grid;place-items:center;font-size:2rem;font-weight:900}
.account-profile p{margin-top:4px}.account-profile small{color:var(--muted)}
.dashboard-nav{display:grid;gap:5px;margin-top:21px;text-align:right}.dashboard-nav a{padding:10px 12px;border-radius:11px;color:var(--text-soft);font-weight:650}.dashboard-nav a:hover,.dashboard-nav a.active{background:var(--surface-2);color:var(--brand)}
.account-logout-form{margin-top:15px;padding-top:15px;border-top:1px solid var(--line)}.account-logout-button{width:100%;min-height:44px;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid color-mix(in srgb,var(--danger) 34%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--danger) 8%,var(--surface));color:var(--danger);font:750 .86rem/1.4 inherit;cursor:pointer;transition:.2s}.account-logout-button:hover{background:color-mix(in srgb,var(--danger) 14%,var(--surface));border-color:var(--danger);transform:translateY(-1px)}
.dashboard-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-bottom:20px}.dashboard-stat{padding:20px;background:var(--surface-solid);border:1px solid var(--line);border-radius:17px}.dashboard-stat strong{font-size:1.8rem;color:var(--brand);display:block}.dashboard-stat span{color:var(--muted);font-size:.82rem}
.course-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 0;border-bottom:1px solid var(--line)}.course-row:last-child{border:0}.course-row small{display:block;color:var(--muted);margin-top:3px}.empty{padding:20px;text-align:center;background:var(--surface-2);border-radius:13px}
.progress-track{height:8px;background:var(--surface-2);border-radius:99px;overflow:hidden;margin-top:10px}.progress-track span{display:block;height:100%;background:linear-gradient(90deg,var(--brand),var(--cyan));border-radius:inherit}
.auth-page{display:grid;place-items:center;padding:60px 20px 100px}
.auth-shell{width:min(1040px,100%);display:grid;grid-template-columns:1fr 440px;background:var(--surface-solid);border:1px solid var(--line);border-radius:30px;overflow:hidden;box-shadow:var(--shadow-lg)}
.auth-intro{padding:clamp(34px,6vw,68px);background:radial-gradient(circle at 15% 10%,rgba(34,211,238,.16),transparent 34%),linear-gradient(145deg,#07111f,#172554);color:#fff}.auth-intro h1{font-size:clamp(2.15rem,5vw,3.6rem)}.auth-intro .lead{color:#becbe0;margin-top:18px}.auth-benefits{display:grid;gap:13px;margin:28px 0 0;padding:0;list-style:none}.auth-benefits li{display:flex;gap:10px;color:#d6e0f0}.auth-benefits li::before{content:"✓";color:#34d399;font-weight:900}
.auth-panel{padding:clamp(26px,5vw,45px)}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;background:var(--surface-2);padding:5px;border-radius:13px;margin-bottom:24px}.auth-tab{border:0;background:transparent;color:var(--muted);padding:10px;border-radius:10px;font-weight:750;cursor:pointer}.auth-tab.active{background:var(--surface-solid);color:var(--text);box-shadow:var(--shadow-xs)}
.auth-form{display:none;gap:17px}.auth-form.active{display:grid}.form-error,.form-success{padding:12px 14px;margin-bottom:16px;border-radius:12px}.form-error{background:color-mix(in srgb,var(--danger) 10%,transparent);color:var(--danger);border:1px solid color-mix(in srgb,var(--danger) 25%,transparent)}.form-success{background:color-mix(in srgb,var(--mint) 10%,transparent);color:color-mix(in srgb,var(--mint) 78%,var(--text));border:1px solid color-mix(in srgb,var(--mint) 28%,transparent)}
.auth-links{display:flex;justify-content:space-between;gap:12px;font-size:.83rem}.auth-links a{color:var(--brand);font-weight:700}
.profile-form{display:grid;gap:18px}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.avatar-upload{display:flex;align-items:center;gap:17px;padding:17px;background:var(--surface-2);border-radius:16px}.avatar-upload input{max-width:100%}
.notice{padding:15px 17px;border-radius:14px;border:1px solid var(--line);background:var(--surface-2);color:var(--text-soft);margin-bottom:18px}.notice.warning{border-color:color-mix(in srgb,var(--amber) 35%,var(--line));background:color-mix(in srgb,var(--amber) 8%,var(--surface-solid))}
.lesson-list{display:grid;gap:12px}.lesson{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;padding:17px;border:1px solid var(--line);border-radius:15px}.lesson input{width:21px;height:21px;accent-color:var(--brand)}.lesson p{font-size:.84rem}.lesson .tag{white-space:nowrap}
.notification-item{display:grid;grid-template-columns:1fr auto;gap:16px;padding:18px 0;border-bottom:1px solid var(--line)}.notification-item.unread{border-right:3px solid var(--brand);padding-right:14px}.notification-item p{margin-top:5px}.notification-item time{color:var(--muted);font-size:.75rem}
.bookmark-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.bookmark{padding:19px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.bookmark small{color:var(--muted)}.bookmark-actions{display:flex;justify-content:space-between;align-items:center;margin-top:14px}
.quiz-card{max-width:800px;margin:0 auto 100px}.question{padding:22px 0;border-bottom:1px solid var(--line)}.question h3{margin-bottom:13px}.answers{display:grid;gap:9px}.answer{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--line);border-radius:12px;cursor:pointer}.answer:hover{background:var(--surface-2)}.answer input{accent-color:var(--brand)}
.certificate-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;padding-bottom:100px}.certificate-card{padding:30px;text-align:center;border:1px solid var(--line);border-radius:22px;background:linear-gradient(145deg,var(--surface-solid),color-mix(in srgb,var(--brand) 7%,var(--surface-solid)))}.certificate-seal{width:68px;height:68px;margin:0 auto 17px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--brand),var(--cyan));color:#fff;font-size:1.5rem}
pre{direction:ltr;text-align:left;background:#07101e;color:#d8e7ff;padding:16px;border-radius:13px;overflow:auto;border:1px solid rgba(129,140,248,.2)}
@media(max-width:980px){.grid{grid-template-columns:repeat(2,1fr)}.auth-shell{grid-template-columns:1fr}.auth-intro{padding-block:45px}.account-grid{grid-template-columns:1fr}.account-sidebar{position:static}.dashboard-nav{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){.grid{grid-template-columns:1fr}.page-hero{padding-top:50px}.account-card{padding:20px}.dashboard-stats{grid-template-columns:1fr}.course-row{align-items:flex-start;flex-direction:column}.course-row .primary-btn{width:100%}.dashboard-nav{grid-template-columns:1fr 1fr}.profile-grid,.bookmark-grid,.certificate-grid{grid-template-columns:1fr}.auth-page{padding:30px 12px 70px}.auth-shell{border-radius:22px}.auth-intro,.auth-panel{padding:25px}.lesson{grid-template-columns:auto 1fr}.lesson .tag{grid-column:2}}


/* === Calm account experience — 2026-07-31 === */
.portal-body{background:#f8f7fc!important;color:#17152b}
.portal-body main{animation:portalIn .35s ease both}
@keyframes portalIn{from{opacity:0;transform:translateY(8px)}}
.portal-body .auth-shell,.portal-body .auth-wrap,.portal-body .panel,.portal-body .form-card,.portal-body .account-card,.portal-body .dashboard-card{border:1px solid #e9e6f1!important;border-radius:22px!important;background:#fff!important;box-shadow:0 18px 55px rgba(35,25,80,.08)!important}
.portal-body input,.portal-body select,.portal-body textarea{min-height:50px;border:1px solid #ded9ea!important;border-radius:13px!important;background:#fbfaff!important;color:#17152b!important;transition:.2s ease}
.portal-body input:focus,.portal-body select:focus,.portal-body textarea:focus{border-color:#6d4aff!important;box-shadow:0 0 0 4px rgba(109,74,255,.11)!important;outline:0}
.portal-body label{font-weight:750;color:#3c3850}
.portal-body .button-primary,.portal-body button[type="submit"]{background:linear-gradient(135deg,#6d4aff,#8b5cf6)!important;border:0!important;color:#fff!important;border-radius:13px!important;min-height:50px;font-weight:850}
.portal-body .tabs,.portal-body .auth-tabs{background:#f2eff8!important;padding:5px!important;border-radius:14px!important}
.portal-body .tabs a,.portal-body .auth-tabs button{border-radius:10px!important}
.portal-body .tabs .active,.portal-body .auth-tabs .active{background:#fff!important;color:#6d4aff!important;box-shadow:0 3px 10px rgba(35,25,80,.08)}
.portal-body .auth-note,.portal-body .muted{color:#6f6a7f!important}
.portal-body .table-wrap{border:1px solid #e9e6f1;border-radius:16px;overflow:auto;background:#fff}
.portal-body table{border-collapse:collapse}
.portal-body th{background:#f7f5fb;color:#4d485f}
.portal-body td,.portal-body th{border-bottom:1px solid #eeebf4;padding:14px}
@media(max-width:720px){
 .portal-body .auth-shell,.portal-body .auth-wrap,.portal-body .panel,.portal-body .form-card{border-radius:18px!important;box-shadow:none!important}
 .portal-body main{padding-inline:10px}
}
[data-theme="dark"] .portal-body{background:#100d1b!important;color:#f5f2ff}
[data-theme="dark"] .portal-body .auth-shell,[data-theme="dark"] .portal-body .panel,[data-theme="dark"] .portal-body .form-card{background:#191626!important;border-color:#2f2942!important}


/* === Portal/dashboard dark surface fix — 2026-07-31 === */
html[data-theme="dark"] body.portal-body{
 --pd-bg:#100d1b;--pd-surface:#191626;--pd-surface2:#211d31;--pd-line:#39334b;
 --pd-text:#f7f4ff;--pd-muted:#bdb6cc;--pd-brand:#a99cff;
 background:var(--pd-bg)!important;color:var(--pd-text)!important
}
html[data-theme="dark"] body.portal-body .page-hero{background:transparent!important;color:var(--pd-text)!important}
html[data-theme="dark"] body.portal-body .page-hero p,
html[data-theme="dark"] body.portal-body .lead{color:var(--pd-muted)!important}
html[data-theme="dark"] body.portal-body .account-card,
html[data-theme="dark"] body.portal-body .account-profile,
html[data-theme="dark"] body.portal-body .dashboard-card,
html[data-theme="dark"] body.portal-body .dashboard-stat,
html[data-theme="dark"] body.portal-body .panel,
html[data-theme="dark"] body.portal-body .form-card,
html[data-theme="dark"] body.portal-body .card,
html[data-theme="dark"] body.portal-body .empty,
html[data-theme="dark"] body.portal-body .course-row{background:var(--pd-surface)!important;color:var(--pd-text)!important;border-color:var(--pd-line)!important;box-shadow:none!important}
html[data-theme="dark"] body.portal-body .account-card h1,
html[data-theme="dark"] body.portal-body .account-card h2,
html[data-theme="dark"] body.portal-body .account-card h3,
html[data-theme="dark"] body.portal-body .dashboard-stat strong,
html[data-theme="dark"] body.portal-body .card h3{color:var(--pd-text)!important}
html[data-theme="dark"] body.portal-body .account-card p,
html[data-theme="dark"] body.portal-body .dashboard-stat span,
html[data-theme="dark"] body.portal-body .card p,
html[data-theme="dark"] body.portal-body .empty{color:var(--pd-muted)!important}
html[data-theme="dark"] body.portal-body .dashboard-nav{background:var(--pd-surface2)!important;border-color:var(--pd-line)!important}
html[data-theme="dark"] body.portal-body .dashboard-nav a{color:var(--pd-muted)!important;border-color:transparent!important}
html[data-theme="dark"] body.portal-body .dashboard-nav a.active,
html[data-theme="dark"] body.portal-body .dashboard-nav a:hover{background:#30284a!important;color:#fff!important}
html[data-theme="dark"] body.portal-body .tag{background:#2c2542!important;color:#c9beff!important;border-color:var(--pd-line)!important}
html[data-theme="dark"] body.portal-body input,
html[data-theme="dark"] body.portal-body select,
html[data-theme="dark"] body.portal-body textarea{background:var(--pd-surface2)!important;color:var(--pd-text)!important;border-color:var(--pd-line)!important}
html[data-theme="dark"] body.portal-body input::placeholder,
html[data-theme="dark"] body.portal-body textarea::placeholder{color:#918aa5!important}
html[data-theme="dark"] body.portal-body .button-secondary,
html[data-theme="dark"] body.portal-body .primary-btn{background:var(--pd-surface2)!important;color:var(--pd-text)!important;border-color:var(--pd-line)!important}
html[data-theme="dark"] body.portal-body .account-logout-button,
html[data-theme="dark"] body.portal-body .session-logout-button{background:#3a1f31!important;color:#ffb6c5!important;border-color:#673044!important}
html[data-theme="dark"] body.portal-body .table-wrap{background:var(--pd-surface)!important;border-color:var(--pd-line)!important}
html[data-theme="dark"] body.portal-body th{background:var(--pd-surface2)!important;color:var(--pd-text)!important}
html[data-theme="dark"] body.portal-body td{color:var(--pd-muted)!important;border-color:var(--pd-line)!important}
@media(max-width:720px){
 body.portal-body .account-grid{display:grid!important;grid-template-columns:1fr!important;gap:14px!important}
 body.portal-body .account-sidebar{position:static!important;width:100%!important}
 body.portal-body .account-card{padding:18px!important;border-radius:18px!important}
 body.portal-body .dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
 body.portal-body .grid-3{grid-template-columns:1fr!important}
}

/* Authentication experience preview — local only */
.portal-body .auth-page{
  position:relative;min-height:calc(100svh - var(--header-h));overflow:hidden;isolation:isolate;
  padding:clamp(36px,6vw,82px) 20px 100px;background:
  radial-gradient(circle at 10% 16%,rgba(34,211,238,.13),transparent 28rem),
  radial-gradient(circle at 90% 82%,rgba(124,58,237,.15),transparent 30rem)
}
.auth-scene{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none;perspective:850px}
.auth-orb{position:absolute;border-radius:50%;filter:blur(1px);background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.85),transparent 12%),linear-gradient(145deg,rgba(109,74,255,.34),rgba(6,182,212,.12));box-shadow:inset -18px -22px 38px rgba(40,24,95,.16),0 35px 100px rgba(109,74,255,.16)}
.auth-orb-a{width:170px;height:170px;top:9%;right:4%;animation:authFloatA 12s ease-in-out infinite}.auth-orb-b{width:105px;height:105px;bottom:10%;left:6%;animation:authFloatB 15s ease-in-out infinite reverse}.auth-orb-c{width:58px;height:58px;top:43%;left:17%;animation:authFloatA 9s ease-in-out infinite reverse}
.auth-grid-plane{position:absolute;left:-15%;right:-15%;bottom:-42%;height:72%;transform:rotateX(67deg);transform-origin:center top;background-image:linear-gradient(rgba(109,74,255,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(8,145,178,.08) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(#000,transparent 84%);animation:authGrid 18s linear infinite}
.portal-body .auth-shell-v2{
  --rx:0deg;--ry:0deg;width:min(1120px,100%);grid-template-columns:minmax(0,1.12fr) minmax(390px,.88fr);
  border:1px solid rgba(109,74,255,.18)!important;border-radius:34px!important;overflow:visible!important;
  background:rgba(255,255,255,.74)!important;box-shadow:0 40px 110px rgba(42,31,92,.18)!important;
  backdrop-filter:blur(22px) saturate(135%);transform:perspective(1500px) rotateX(var(--rx)) rotateY(var(--ry));
  transform-style:preserve-3d;transition:transform .18s ease,box-shadow .3s ease
}
.portal-body .auth-shell-v2:hover{box-shadow:0 48px 130px rgba(42,31,92,.23)!important}
.portal-body .auth-intro{
  position:relative;min-height:640px;display:flex;flex-direction:column;justify-content:center;overflow:hidden;
  border-radius:32px 0 0 32px;padding:clamp(40px,6vw,76px)!important;background:
  radial-gradient(circle at 78% 16%,rgba(34,211,238,.25),transparent 25rem),
  linear-gradient(145deg,#071329 0%,#172554 55%,#312e81 100%)!important;
  transform:translateZ(12px)
}
.portal-body .auth-intro::before{content:"";position:absolute;inset:0;opacity:.4;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:36px 36px;mask-image:linear-gradient(140deg,#000,transparent 72%)}
.portal-body .auth-intro>*{position:relative;z-index:2}.portal-body .auth-intro .kicker{width:max-content;color:#a5f3fc;background:rgba(34,211,238,.1);border-color:rgba(34,211,238,.24)}
.portal-body .auth-intro h1{max-width:570px;font-size:clamp(2.3rem,4.4vw,4.45rem);text-wrap:balance;text-shadow:0 12px 32px rgba(2,6,23,.3)}
.portal-body .auth-intro .lead{max-width:580px;color:#cbd5e1!important}
.portal-body .auth-benefits{grid-template-columns:1fr;max-width:560px}.portal-body .auth-benefits li{padding:10px 13px;border:1px solid rgba(255,255,255,.08);border-radius:13px;background:rgba(255,255,255,.045);backdrop-filter:blur(8px);transition:transform .25s,border-color .25s}.portal-body .auth-benefits li:hover{transform:translateX(-5px);border-color:rgba(103,232,249,.28)}
.auth-cube-wrap{position:absolute!important;z-index:1!important;top:47px;left:54px;width:94px;height:94px;perspective:700px;opacity:.86}
.auth-cube-wrap::before{content:"";position:absolute;inset:-20px;border:1px solid rgba(103,232,249,.26);border-radius:50%;transform:rotateX(68deg);box-shadow:0 0 28px rgba(34,211,238,.11);animation:authOrbitRing 7s linear infinite}
.auth-cube-wrap::after{content:"";position:absolute;width:9px;height:9px;top:-10px;left:50%;border-radius:50%;background:#67e8f9;box-shadow:0 0 18px #22d3ee;transform-origin:0 57px;animation:authOrbitDot 7s linear infinite}
.auth-cube{position:relative;width:100%;height:100%;transform-style:preserve-3d;animation:authCube 13s linear infinite}.auth-cube i{position:absolute;inset:0;display:grid;place-items:center;border:1px solid rgba(165,243,252,.38);border-radius:18px;background:rgba(46,42,117,.28);color:#cffafe;font:900 1.05rem/1 ui-monospace,monospace;font-style:normal;box-shadow:inset 0 0 28px rgba(34,211,238,.08);backdrop-filter:blur(3px)}
.auth-cube .front{transform:translateZ(47px)}.auth-cube .back{transform:rotateY(180deg) translateZ(47px)}.auth-cube .right{transform:rotateY(90deg) translateZ(47px)}.auth-cube .left{transform:rotateY(-90deg) translateZ(47px)}.auth-cube .top{transform:rotateX(90deg) translateZ(47px)}.auth-cube .bottom{transform:rotateX(-90deg) translateZ(47px)}
.portal-body .auth-panel{position:relative;align-self:center;margin:22px 22px 22px 0;padding:clamp(26px,4vw,44px)!important;border:1px solid rgba(109,74,255,.13);border-radius:25px;background:rgba(255,255,255,.9);box-shadow:0 24px 75px rgba(39,29,82,.12);transform:translateZ(35px)}
.portal-body .auth-panel::before{content:"";position:absolute;top:-1px;right:10%;left:10%;height:2px;border-radius:99px;background:linear-gradient(90deg,transparent,#6d4aff,#22d3ee,transparent);background-size:220% 100%;animation:authPanelLight 4.5s ease-in-out infinite}
.auth-panel-heading{display:grid;gap:3px;margin-bottom:20px}.auth-panel-heading span{font-size:1.25rem;font-weight:900;color:var(--text)}.auth-panel-heading small{font-size:.78rem;color:var(--muted)}
.portal-body .auth-tabs{position:relative;border:1px solid rgba(109,74,255,.08);border-radius:16px!important;margin-bottom:26px!important}.portal-body .auth-tab{position:relative;min-height:45px;transition:color .25s,transform .25s}.portal-body .auth-tab:hover{transform:translateY(-1px)}.portal-body .auth-tab.active{color:#6d4aff!important;box-shadow:0 7px 22px rgba(55,42,105,.1)!important}
.portal-body .auth-tab.active::after{content:"";position:absolute;right:50%;bottom:5px;width:5px;height:5px;border-radius:50%;background:#6d4aff;box-shadow:0 0 0 0 rgba(109,74,255,.28);animation:authTabPulse 2s ease-out infinite}
.portal-body .auth-form.active{animation:authFormIn .42s cubic-bezier(.2,.8,.2,1) both}.portal-body .auth-form .field{position:relative}.portal-body .auth-form input:not([type=checkbox]){padding-inline:16px!important;background:linear-gradient(135deg,#fff,#faf9ff)!important;box-shadow:inset 0 1px 2px rgba(31,22,63,.035);transition:border-color .22s,box-shadow .22s,transform .22s!important}.portal-body .auth-form input:not([type=checkbox]):focus{transform:translateY(-2px);box-shadow:0 0 0 4px rgba(109,74,255,.11),0 12px 28px rgba(55,42,105,.08)!important}
.portal-body .auth-form.active .field{animation:authFieldIn .48s cubic-bezier(.2,.8,.2,1) both}.portal-body .auth-form.active .field:nth-child(2){animation-delay:.05s}.portal-body .auth-form.active .field:nth-child(3){animation-delay:.1s}.portal-body .auth-form.active .auth-links,.portal-body .auth-form.active>.field-help{animation:authFieldIn .48s .14s cubic-bezier(.2,.8,.2,1) both}.portal-body .auth-form.active .primary-btn{animation:authFieldIn .48s .18s cubic-bezier(.2,.8,.2,1) both,authButtonBreath 3.8s 1s ease-in-out infinite}
.portal-body .auth-form input[type=checkbox]{accent-color:#6d4aff;width:17px;height:17px}.portal-body .auth-links{align-items:center}.portal-body .auth-links label{display:flex;align-items:center;gap:7px;font-size:.8rem}.portal-body .auth-links a{transition:color .2s,transform .2s}.portal-body .auth-links a:hover{color:#7c3aed;transform:translateX(-2px)}
.portal-body .auth-form .primary-btn{position:relative;overflow:hidden;min-height:54px!important;margin-top:2px;border-radius:15px!important;box-shadow:0 15px 35px rgba(109,74,255,.26)!important;transition:transform .25s,box-shadow .25s!important}.portal-body .auth-form .primary-btn::before{content:"";position:absolute;inset:-2px auto -2px -38%;width:30%;transform:skewX(-20deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);transition:left .55s ease}.portal-body .auth-form .primary-btn:hover{transform:translateY(-3px) scale(1.01);box-shadow:0 20px 45px rgba(109,74,255,.34)!important}.portal-body .auth-form .primary-btn:hover::before{left:112%}
html[data-theme=dark] body.portal-body .auth-shell-v2{background:rgba(16,13,27,.76)!important;border-color:#39334b!important;box-shadow:0 45px 120px rgba(0,0,0,.42)!important}
html[data-theme=dark] body.portal-body .auth-panel{background:rgba(25,22,38,.92)!important;border-color:#39334b;box-shadow:0 28px 80px rgba(0,0,0,.32)}
html[data-theme=dark] body.portal-body .auth-panel-heading span{color:#f7f4ff}html[data-theme=dark] body.portal-body .auth-form input:not([type=checkbox]){background:#211d31!important;color:#f7f4ff!important}
@keyframes authFloatA{0%,100%{transform:translate3d(0,0,0) rotate(0)}50%{transform:translate3d(-28px,24px,70px) rotate(12deg)}}
@keyframes authFloatB{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(30px,-34px,80px)}}
@keyframes authGrid{to{background-position:0 54px}}
@keyframes authCube{to{transform:rotateX(360deg) rotateY(-360deg)}}
@keyframes authFormIn{from{opacity:0;transform:translateY(14px) rotateX(-4deg)}to{opacity:1;transform:none}}
@keyframes authFieldIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes authOrbitRing{to{transform:rotateX(68deg) rotateZ(360deg)}}
@keyframes authOrbitDot{to{transform:rotate(360deg)}}
@keyframes authPanelLight{0%,100%{background-position:100% 0;opacity:.45}50%{background-position:-100% 0;opacity:1}}
@keyframes authTabPulse{70%{box-shadow:0 0 0 7px rgba(109,74,255,0)}}
@keyframes authButtonBreath{0%,100%{filter:saturate(1)}50%{filter:saturate(1.15) brightness(1.04)}}
@media(max-width:980px){
 .portal-body .auth-shell-v2{grid-template-columns:1fr;max-width:720px}.portal-body .auth-intro{min-height:auto;border-radius:32px 32px 0 0;padding:52px 44px!important}.portal-body .auth-intro h1{font-size:clamp(2.1rem,7vw,3.4rem)}.portal-body .auth-panel{margin:0 20px 20px;transform:translateZ(25px)}.auth-cube-wrap{top:38px;left:48px;width:76px;height:76px}.auth-cube .front{transform:translateZ(38px)}.auth-cube .back{transform:rotateY(180deg) translateZ(38px)}.auth-cube .right{transform:rotateY(90deg) translateZ(38px)}.auth-cube .left{transform:rotateY(-90deg) translateZ(38px)}.auth-cube .top{transform:rotateX(90deg) translateZ(38px)}.auth-cube .bottom{transform:rotateX(-90deg) translateZ(38px)}
}
@media(max-width:640px){
 .portal-body .auth-page{padding:20px 10px 60px}.portal-body .auth-shell-v2{border-radius:24px!important}.portal-body .auth-intro{border-radius:23px 23px 0 0;padding:32px 24px 34px!important}.portal-body .auth-intro h1{font-size:clamp(1.9rem,10vw,2.7rem);padding-left:58px}.portal-body .auth-intro .lead{font-size:.92rem}.portal-body .auth-benefits{gap:8px;margin-top:20px}.portal-body .auth-benefits li{font-size:.8rem;padding:8px 10px}.auth-cube-wrap{top:28px;left:22px;width:56px;height:56px;opacity:.7}.auth-cube .front{transform:translateZ(28px)}.auth-cube .back{transform:rotateY(180deg) translateZ(28px)}.auth-cube .right{transform:rotateY(90deg) translateZ(28px)}.auth-cube .left{transform:rotateY(-90deg) translateZ(28px)}.auth-cube .top{transform:rotateX(90deg) translateZ(28px)}.auth-cube .bottom{transform:rotateX(-90deg) translateZ(28px)}.portal-body .auth-panel{margin:-1px 0 0;padding:24px 18px 26px!important;border-radius:0 0 23px 23px;box-shadow:none}.auth-panel-heading{margin-bottom:16px}.portal-body .auth-links{align-items:flex-start;flex-direction:column}.auth-orb-a{width:100px;height:100px}.auth-orb-c{display:none}
}
@media(prefers-reduced-motion:reduce){.auth-scene *,.auth-cube,.auth-cube-wrap::before,.auth-cube-wrap::after,.portal-body .auth-form.active,.portal-body .auth-form.active *,.portal-body .auth-panel::before,.portal-body .auth-tab.active::after{animation:none!important}.portal-body .auth-shell-v2{transform:none!important;transition:none!important}.portal-body .auth-form .primary-btn::before{display:none}}
