:root{--site-max-width:1480px;--page-gutter:clamp(16px,2.5vw,36px)}html{scrollbar-gutter:stable}body{min-width:0}.nav,.hero-container,.section-wrap,.foot,main.page{width:100%;max-width:var(--site-max-width);margin-inline:auto;padding-inline:var(--page-gutter);box-sizing:border-box}.member-layout{width:100%;min-width:0}.member-content{width:100%;min-width:0;align-content:start}.member-content>.card,.member-content>section,.member-content>div{min-width:0;max-width:100%}.track-page{max-width:640px;margin:32px auto;min-width:0}.track-heading{text-align:center;margin-bottom:28px}.track-heading>span:first-child{display:block;margin-bottom:14px}.track-heading .eyebrow{color:var(--pink);font-size:10px}.track-heading h1{font-size:32px;margin:8px 0}.track-heading p,.track-note{color:#887593;font-size:14px;line-height:1.65}.track-note{text-align:center;margin-top:20px}.track-note a{color:var(--pink);font-weight:700}.track-result{border-top:1px solid #ede1f1;margin-top:24px;padding-top:24px}.track-result h2{font-size:18px;overflow-wrap:anywhere}.track-summary{display:grid;grid-template-columns:100px minmax(0,1fr);gap:12px;font-size:14px}.track-summary dt{color:#8b7995}.track-summary dd{margin:0;text-align:right;overflow-wrap:anywhere}.track-page .member-alert{margin-top:20px}
.site-petals{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:2;contain:strict}.site-petal{position:absolute;top:-30px;width:13px;height:9px;border-radius:85% 5% 80% 12%;background:linear-gradient(135deg,#ffd5e6,#e889b585);animation:site-petal-fall var(--fall-duration,16s) linear infinite;animation-delay:var(--fall-delay,0s);will-change:transform;opacity:0;pointer-events:none}@keyframes site-petal-fall{0%{transform:translate3d(0,-25px,0) rotate(0);opacity:0}8%{opacity:.55}25%{transform:translate3d(var(--drift-a,35px),calc(25vh + 30px),0) rotate(90deg)}50%{transform:translate3d(var(--drift-b,-30px),calc(50vh + 40px),0) rotate(180deg)}75%{transform:translate3d(var(--drift-c,40px),calc(75vh + 50px),0) rotate(270deg);opacity:.4}100%{transform:translate3d(var(--drift-end,0px),calc(100vh + 80px),0) rotate(390deg);opacity:0}}
.logo-t b{display:inline-block;position:relative}.logo-effect-typing .logo-t b{animation:logo-type 7s steps(6,end) infinite}.logo-effect-shine .logo-t b,.logo-effect-typing_shine .logo-t b{color:#bb538e;background:linear-gradient(110deg,#bd5a91 0%,#bd5a91 35%,#fff1cc 48%,#ed9dc2 52%,#bd5a91 65%,#bd5a91 100%);background-size:240% 100%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:logo-shine 3.2s linear infinite}.logo-effect-typing_shine .logo-t b{animation:logo-type 7s steps(6,end) infinite,logo-shine 3.2s linear infinite}.logo-effect-breathe .logo-t b{animation:logo-breathe 3s ease-in-out infinite}@keyframes logo-type{0%,8%{clip-path:inset(0 100% 0 0)}32%,88%{clip-path:inset(0)}99%,100%{clip-path:inset(0 100% 0 0)}}@keyframes logo-shine{0%,60%{background-position:150% 0}85%,100%{background-position:-120% 0}}@keyframes logo-breathe{50%{opacity:.72;filter:drop-shadow(0 0 5px #ec95bd99)}}
body.sakura-off .petal,body.sakura-off #petals,body.sakura-off #hpet{display:none!important}.petal{animation-timing-function:linear!important}
@media(max-width:767px){.track-page{margin:12px auto}.track-heading h1{font-size:27px}.track-summary{grid-template-columns:80px minmax(0,1fr);font-size:13px}.track-page .card{padding:22px 16px}.site-petal{width:10px;height:7px}body{background-attachment:scroll!important}}
@media(prefers-reduced-motion:reduce){.site-petals,.petal,#petals,#hpet{display:none!important}.logo-t b{animation:none!important;clip-path:none!important;background-position:0!important}.auth-page{background-attachment:scroll}}

/* Keep the admin settings usable at the same mobile breakpoints. */
.admin-layout .main,.admin-layout .content,.admin-layout .topbar .search{min-width:0}.admin-layout .topbar .search input{width:100%;min-width:0}.admin-layout .topbar>button{flex-shrink:0}
@media(max-width:767px){.admin-layout .topbar{gap:10px;padding:0 14px}.admin-layout .topbar .search{flex:1;min-width:0;padding:0 10px}.admin-layout .topbar .profile{flex-shrink:0}.admin-layout .hero{min-height:170px}.admin-layout .hero-text{position:relative;left:auto;top:auto;transform:none;max-width:none;padding:24px 20px;margin-right:0}.admin-layout .hero h1{font-size:25px;line-height:1.3;overflow-wrap:anywhere}.admin-layout .hero .hello{font-size:12px}.admin-layout .hero .sub{font-size:12px;max-width:290px;line-height:1.6}.admin-layout .hero-clock{display:none}.admin-layout .hero-scrim{background:linear-gradient(90deg,#ffffffed,#ffffff99 70%,#ffffff44)}}
