/* The shared material and motion layer. Reading surfaces stay opaque. */
:root{--ds-glass:linear-gradient(135deg,#fffdf9ed,#f4f0e8df);--ds-glass-line:#fffdf9;--ds-fluid:cubic-bezier(.22,.68,.18,1);--ds-floating-shadow:0 1px 0 #fff inset,0 12px 38px -24px #49311f80}
body[data-surface]>.site-navigation{background:var(--ds-glass);border-color:var(--ds-glass-line);border-bottom-color:#cbbb9f8c;border-radius:24px;box-shadow:var(--ds-floating-shadow)}
body[data-surface] .site-navigation nav a{border-radius:14px}
body[data-surface] .site-navigation nav a[aria-current=page]{background:linear-gradient(135deg,#fffdf9,#eaddc9);box-shadow:0 1px 0 #fff inset,0 5px 12px -8px #77563477}
body.platform-private .platform-header{background:var(--ds-glass);border-bottom:1px solid #d6c6ae80}
body.platform-private .platform-sidebar{background:radial-gradient(ellipse at 0 0,#6a4c3440,transparent 55%),linear-gradient(155deg,#35291f,#251d1a 60%);border-right:1px solid #b9966240;box-shadow:inset -1px 0 #ffffff08,8px 0 35px -28px #3e2a21}
body.platform-private .platform-sidebar nav [aria-current=page]{background:linear-gradient(135deg,#fffaf2,#e6d6bd);box-shadow:0 1px 0 #fff8 inset,0 5px 18px -12px #0009}
body[data-surface] :is(.member-box,.social-card,.capture-feature-list>article,.capture-step-grid>article,.article-card){border:1px solid #ddcfbb;border-radius:22px;box-shadow:0 1px 0 #fff inset,0 14px 38px -30px #563e2c60}
body[data-surface] :is(.social-compose,.community-filters,.member-tools,.content-tools){border:1px solid #ddd0bf;border-radius:18px;box-shadow:0 1px 0 #fff9 inset}
body[data-surface] :is(.button,.course-button,.member-button,.school-primary,.diagnostic-button,.social-button){position:relative;isolation:isolate}
body[data-surface] :is(input,textarea,select):focus-visible{border-color:#957043;box-shadow:0 0 0 4px #aa876023}
body[data-surface] .ds-chess-icon{width:28px;height:32px;display:block}
body[data-surface] .chess-accent{background:linear-gradient(135deg,#fffaf2,#e8d7bc);box-shadow:0 1px 0 #fff inset,0 8px 20px -16px #6c482b80;border:1px solid #cbb391;border-radius:15px}
body[data-surface] .chess-accent-light{background:linear-gradient(135deg,#654b35,#38291e);color:#e7cda4;box-shadow:0 1px 0 #dfc39b33 inset}
body[data-surface] .ds-aurora{position:relative;isolation:isolate}
.ds-ambient-light{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1;border-radius:inherit}
.ds-ambient-light::before,.ds-ambient-light::after{content:"";position:absolute;width:55%;aspect-ratio:1;max-width:600px;border-radius:50%;background:radial-gradient(ellipse,#bc935830,transparent 68%);top:-15%;right:-10%}
.ds-ambient-light::after{top:auto;bottom:-25%;left:5%;background:radial-gradient(ellipse,#f0d6ab29,transparent 70%)}
body[data-surface] .ds-motion-settings{display:flex;justify-content:flex-end;max-width:1440px;margin:0 auto;padding:12px 24px 28px}
body[data-surface] .ds-motion-control{border:1px solid #c9b99f;border-radius:999px;background:#fffaf2;color:#57412f;font:500 .875rem/1.4 Manrope,sans-serif;min-height:44px;padding:10px 16px;cursor:pointer;display:inline-flex;gap:9px;align-items:center}
.ds-motion-control svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6}
body[data-surface] .ds-motion-control[aria-pressed=true]{background:#eaddc9;color:#251d1a}
/* Native modal semantics, with a soft entry and progressive close where supported. */
body[data-surface] dialog{box-shadow:0 1px 0 #fff6 inset,0 35px 100px -32px #251d1a99;border-color:#c9b394;border-radius:24px}
body[data-surface] dialog::backdrop{background:#251d1a7a;backdrop-filter:blur(8px)}
body[data-surface] .access-dialog-bar{background:linear-gradient(115deg,#463224,#251d1a);box-shadow:0 1px 0 #e2c59c25 inset}
body[data-surface] :is(.company-feedback,#catalog-status,.enrollment-status,[role=status]):empty{padding:0;border:0;box-shadow:none}
@supports(backdrop-filter:blur(20px)){body[data-surface]>.site-navigation,body.platform-private .platform-header{backdrop-filter:blur(20px) saturate(130%)}}
@media(hover:hover) and (pointer:fine){
}
@media(prefers-reduced-motion:no-preference){
 body[data-surface] :is(.site-navigation nav a,.platform-sidebar nav a,.platform-sidebar nav button,.platform-mobile-nav a,.account-mobile-nav button,.account-mobile-nav a,.ds-icon,.ds-chess-icon){transition:background-color .25s ease,box-shadow .35s ease,transform .35s var(--ds-fluid),color .2s ease}
 body[data-surface] :is(.platform-sidebar,.account-mobile-nav,.platform-mobile-nav) :is(a,button):hover .ds-icon{transform:translateY(-2px)}
 body[data-surface] :is(.capture-step-grid>article,.academy-steps>li):hover .ds-chess-icon{transform:translateY(-2px) rotate(-4deg)}
 body[data-surface] dialog[open]{animation:ds-dialog-enter .38s var(--ds-fluid)}
 body[data-surface] dialog[open]::backdrop{animation:ds-backdrop-enter .25s ease}
 body[data-surface] .ds-light-enter .ds-ambient-light::before{animation:ds-aurora-in 4.8s var(--ds-fluid) 1}
 body[data-surface] .ds-light-enter .ds-ambient-light::after{animation:ds-aurora-in 4.8s var(--ds-fluid) .1s 1 backwards}
}
/* Individual translation preserves the desktop access dialog centering transform. */
@keyframes ds-dialog-enter{from{translate:0 8px}to{translate:0 0}}
@keyframes ds-backdrop-enter{from{opacity:0}to{opacity:1}}
@keyframes ds-aurora-in{0%{opacity:0;transform:translateY(20px) scale(.85)}60%{opacity:1}100%{opacity:1;transform:none}}
@supports(transition-behavior:allow-discrete){
 @media(prefers-reduced-motion:no-preference){body[data-surface] dialog{transition:opacity .22s ease,translate .22s ease,display .22s allow-discrete,overlay .22s allow-discrete}body[data-surface] dialog:not([open]){opacity:0;translate:0 8px}}
}
@media(max-width:900px){
 body[data-surface] .site-navigation nav{background:var(--ds-glass);border-color:#e1d2ba;box-shadow:var(--ds-floating-shadow);backdrop-filter:blur(22px)}
 body.platform-private :is(.platform-mobile-nav,.account-mobile-nav){background:var(--ds-glass);backdrop-filter:blur(22px) saturate(135%);border-color:#fffdf9;border-bottom-color:#c4ac8680;border-radius:25px;box-shadow:0 1px 0 #fff inset,0 15px 35px -18px #3e2c2580}
 body.platform-private :is(.platform-mobile-nav,.account-mobile-nav) :is(button,a){font-size:.875rem;min-height:58px;gap:4px}
 body.platform-private .account-mobile-nav [aria-current=page],body.platform-private .account-mobile-nav #account-more[aria-expanded=true]{background:linear-gradient(135deg,#59412d,#251d1a);box-shadow:0 1px 0 #efd1a540 inset,0 6px 16px -12px #251d1a}
 body.platform-private .ds-motion-settings{padding-bottom:120px}
}
@media(prefers-reduced-motion:reduce){.ds-pointer-light{display:none!important}body[data-surface] *,body[data-surface] *::before,body[data-surface] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
html.motion-paused body[data-surface] *,html.motion-paused body[data-surface] *::before,html.motion-paused body[data-surface] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(prefers-reduced-transparency:reduce){body[data-surface]>.site-navigation,body.platform-private .platform-header,body.platform-private :is(.account-mobile-nav,.platform-mobile-nav),body[data-surface] .site-navigation nav{background:#fffaf2;backdrop-filter:none}}
@media(forced-colors:active){.ds-pointer-light,.ds-ambient-light{display:none!important}body[data-surface]>.site-navigation,body.platform-private :is(.platform-header,.platform-sidebar,.account-mobile-nav,.platform-mobile-nav){background:Canvas;color:CanvasText;border:1px solid CanvasText;box-shadow:none}body[data-surface] .chess-accent{background:Canvas;color:CanvasText}}
@media print{.ds-pointer-light,.ds-ambient-light,.ds-motion-settings{display:none!important}}
body[data-surface] .course-button[aria-disabled=true]::before{content:"";width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;flex:none}
@media(prefers-reduced-motion:no-preference){body[data-surface] .course-button[aria-disabled=true]::before{animation:ds-busy-spin .8s linear infinite}}
@keyframes ds-busy-spin{to{transform:rotate(360deg)}}
/* Avoid compounding legacy transform and translate hover effects. */
@media(hover:hover) and (pointer:fine){body[data-surface] .catalog-card:hover{transform:none}}
/* One transition owns each panel; avoid stacking earlier entrance effects. */
body.platform-private .member-dashboard>section:not([hidden]){animation:none}
html.motion-paused :is(.ds-icon,.ds-chess-icon){transform:none!important}
@media(prefers-reduced-motion:reduce){body[data-surface] :is(.ds-icon,.ds-chess-icon){transform:none!important}}
@media(max-width:480px){body[data-surface] .site-navigation-brand img{width:100px}body[data-surface]>.site-navigation{padding-inline:10px;gap:6px}.ds-demo-controls{flex-wrap:wrap}.ds-demo-controls button{max-width:100%}}

/* Stable button surfaces: hover never removes a gradient or adds a white overlay. */
body[data-surface] :is(.course-button,.member-button,.school-primary,.diagnostic-button,.social-button),
body[data-surface] :is(.course-button,.member-button,.school-primary,.diagnostic-button,.social-button):hover{background:#493526;color:#fffaf3}
@media(hover:hover) and (pointer:fine){
 body[data-surface] :is(.course-button,.member-button,.school-primary,.diagnostic-button,.social-button):hover{border-color:#aa8760;box-shadow:0 4px 12px -7px #251d1a80;transform:none}
 body[data-surface] .button:hover{transform:none}
}

@media(forced-colors:active){body[data-surface] :is(.course-button,.member-button,.school-primary,.diagnostic-button,.social-button),body[data-surface] :is(.course-button,.member-button,.school-primary,.diagnostic-button,.social-button):hover{background:ButtonFace;color:ButtonText;border:1px solid ButtonText;box-shadow:none}}
