/* Coach Cosmic shared interaction and motion layer. Kept last in the page cascade. */
:root{--cosmic-glow:#65e6dc;--cosmic-gold:#dfc276;--cosmic-panel:#142019;--cosmic-border:#52644d;--cosmic-ink:#101310;--cosmic-copy:#e9eadf}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid #82e6db!important;outline-offset:3px!important}
::selection{background:#dfc276;color:#101310}
img,video,canvas,svg{max-width:100%}
button,a{-webkit-tap-highlight-color:transparent}
@media(hover:none){main :is(.feature,.guide-card,.work-card,.post-card,.metric-card,.community-card,.trend-card,.person-card,.fgc-column,.hx-weapon,.bank-card):hover{transform:none;box-shadow:none}}
:root{--cosmic-glow:#65e6dc;--cosmic-gold:#dfc276;--cosmic-panel:#142019;--cosmic-border:#52644d}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{background:radial-gradient(ellipse at 12% 2%,#26342145,transparent 35rem),radial-gradient(ellipse at 96% 34%,#17413b20,transparent 42rem),#101310}
body:has(.hero, .page-hero, .about-hero, .fgc-hero) main{position:relative}
body:has(.hero, .page-hero, .about-hero, .fgc-hero) main::before{content:"";position:absolute;z-index:-1;pointer-events:none;inset:-2rem -4vw auto;height:min(62rem,85vh);background:radial-gradient(ellipse at 15% 8%,#d9bd7120,transparent 35%),radial-gradient(ellipse at 85% 24%,#4ce6d522,transparent 34%);background-size:100% 100%;mask-image:linear-gradient(#000 0%,#000 62%,transparent 100%);animation:cosmic-halo-drift 20s ease-in-out infinite alternate}
@keyframes cosmic-halo-drift{from{filter:hue-rotate(-8deg);transform:translate3d(0,0,0)}to{filter:hue-rotate(9deg);transform:translate3d(0,8px,0)}}
main :is(.section,.portal-card,.feature,.guide-card,.work-card,.post-card,.metric-card,.community-card,.trend-card,.person-card,.fgc-column,.hx-weapon,.fc-page,.bank-card,.resource-card,.scholastic-card){transition:border-color .22s ease,background-color .22s ease,transform .22s ease,box-shadow .22s ease}
main :is(.feature,.guide-card,.work-card,.post-card,.metric-card,.community-card,.trend-card,.person-card,.fgc-column,.hx-weapon,.bank-card):hover{border-color:#96b78c88;box-shadow:0 18px 52px #0003}
main :is(.hero,.page-hero,.about-hero,.fgc-hero){isolation:isolate}
main h1{text-wrap:balance}
main :is(.hero,.page-hero,.about-hero) h1{background:linear-gradient(105deg,#f3efe5 8%,#f3efe5 55%,#dfc276 100%);background-clip:text;-webkit-background-clip:text;color:transparent}
main :is(.section,.feature,.post-card,.portal-card,.community-card,.fgc-column){scroll-margin-top:100px}

/* One predictable desktop header and one contained mobile drawer. */
body.site-enhanced header:not(.menu-open) .menu-toggle{display:inline-flex!important;align-items:center;justify-content:center;white-space:nowrap}
body.site-enhanced header:not(.menu-open) #main-navigation{visibility:visible!important}
body.site-enhanced header.menu-open{position:relative!important;z-index:120!important}
body.site-enhanced header.menu-open .nav-backdrop{position:fixed!important;inset:0!important;z-index:121!important;display:block!important;width:100vw!important;height:100dvh!important;margin:0!important;padding:0!important;border:0!important;background:#030705d9!important;backdrop-filter:blur(3px);cursor:default!important}
body.site-enhanced header.menu-open #main-navigation{z-index:122!important;box-shadow:-16px 0 44px #0008!important}
body.site-enhanced header.menu-open #main-navigation>.nav-close{box-shadow:0 8px 24px #0003}
body.site-enhanced header.menu-open #main-navigation>.nav-primary{box-shadow:inset 0 1px #ffffff08;transition:background .18s ease,border-color .18s ease,transform .18s ease}
body.site-enhanced header.menu-open #main-navigation>.nav-primary:hover{transform:translateY(-1px)}
body.site-enhanced header.menu-open .nav-section>summary{transition:color .18s ease,background .18s ease}
body.site-enhanced header.menu-open .nav-section[open]>summary{color:#f4d78b!important}
body.site-enhanced header.menu-open .nav-section[open] .nav-expand-icon{transform:rotate(45deg)}
body.site-enhanced header.menu-open #main-navigation>.nav-directory{min-width:0}
body.site-enhanced header.menu-open .nav-section-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 10px}
body.site-enhanced header.menu-open .nav-destination{min-width:0;min-height:44px;padding:10px 12px;border:1px solid #ffffff12;border-radius:8px;background:#0c1510;color:#f1d78f;line-height:1.35}
body.site-enhanced header.menu-open .nav-destination:hover,body.site-enhanced header.menu-open .nav-destination:focus-visible{background:#203026;border-color:#79d7cd88;color:#fff}
body.site-enhanced header.menu-open .nav-section>summary{min-height:48px;padding:12px 14px;border:1px solid #61745866;border-radius:10px;background:#142019;color:#edcf7d;cursor:pointer;list-style:none}
body.site-enhanced header.menu-open .nav-section>summary::-webkit-details-marker{display:none}
body.site-enhanced header.menu-open .nav-section-links{padding:8px 2px 12px}
body.site-enhanced header.menu-open .nav-directory{padding-bottom:env(safe-area-inset-bottom)}

/* Search stays easy to open and its input stays above the mobile keyboard. */
dialog.search-dialog{box-sizing:border-box;width:min(820px,calc(100vw - 24px));max-width:820px;max-height:min(88dvh,900px);margin:auto;overflow:hidden}
dialog.search-dialog .dialog-shell{box-sizing:border-box;max-height:min(88dvh,900px);overflow:auto;overscroll-behavior:contain}
dialog.search-dialog .site-search-input{box-sizing:border-box;width:100%;min-height:52px;font-size:16px}
dialog.search-dialog .search-results{max-height:min(58dvh,620px);padding-bottom:env(safe-area-inset-bottom)}
.local-search-portal{min-height:42px}
@media(min-width:1081px){body.site-enhanced header:not(.menu-open) #main-navigation{display:flex!important}}
@media(max-width:1080px){body.site-enhanced header:not(.menu-open) #main-navigation{display:none!important;visibility:hidden!important}}
@media(max-width:760px){
 html{scroll-padding-top:80px}
 body.site-enhanced header.menu-open #main-navigation{grid-template-columns:minmax(0,1fr)!important;width:min(440px,100vw)!important;gap:7px!important;padding:12px 18px calc(24px + env(safe-area-inset-bottom))!important}
 body.site-enhanced header.menu-open #main-navigation>.nav-primary{min-height:48px!important;padding:10px 13px!important}
 body.site-enhanced header.menu-open #main-navigation>.nav-directory{margin-top:8px!important}
 body.site-enhanced header.menu-open .nav-section>summary{min-height:48px!important}
 dialog.search-dialog{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:100dvh;margin:0;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);border-radius:0;border-inline:0}
 dialog.search-dialog .dialog-shell{max-height:100%;padding:18px max(18px,env(safe-area-inset-right)) 24px max(18px,env(safe-area-inset-left))}
 dialog.search-dialog .dialog-top{position:sticky;top:-18px;z-index:2;padding:12px 0;background:#141b13}
 dialog.search-dialog .search-results{max-height:none;overflow:visible}
 .local-search-portal{display:flex;width:100%;justify-content:center;margin:.5rem 0}
 .fgc-title-row{align-items:flex-start}
 .fgc-sources{margin:0}
 .fgc-source-panel{position:fixed;inset:auto 10px 10px;width:auto;max-height:min(78dvh,680px);overflow:auto;z-index:130;padding:18px;background:#17231c;border-color:#8b9c6b}
 .fgc-service-note{display:block}
 body.site-enhanced header.menu-open #main-navigation>.nav-primary{min-height:56px!important}
 body.site-enhanced header.menu-open .nav-section-links{grid-template-columns:minmax(0,1fr)}
 body.site-enhanced header.menu-open .nav-destination{min-height:46px}
}
@media(max-width:440px){body.site-enhanced header.menu-open #main-navigation{width:100vw!important}}
@media(max-width:420px){body.site-enhanced header:not(.menu-open) .header-tools .search-open{font-size:0!important;min-width:40px!important;padding:7px!important}body.site-enhanced header:not(.menu-open) .header-tools .search-open span{display:inline!important;font-size:20px!important;line-height:1!important}}

/* A timeline with clear states, readable posts and controls that do not drift. */
.timeline-service-note{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px 14px;margin:18px 0;padding:14px 16px;border:1px solid #d9bd714f;border-left:3px solid var(--cosmic-gold);border-radius:10px;background:linear-gradient(100deg,#d9bd7114,#142019 62%);color:#d8dfd2;font-size:13px;line-height:1.6}
.timeline-service-note strong{color:#f1d78f;white-space:nowrap}
.timeline-service-note a{color:#8debe1;font-weight:650;white-space:nowrap}
.fgc-board{align-items:stretch}
.fgc-column{box-shadow:0 12px 40px #0002}
.fgc-column>h2{background:linear-gradient(105deg,#d9bd7111,#54e2d40a 70%,transparent)}
.fgc-column-posts{scrollbar-gutter:stable;overscroll-behavior:contain}
.fgc-post{transition:background .18s ease,border-color .18s ease}
.fgc-post:hover{background:linear-gradient(110deg,#d9bd7108,#65e6dc06)}
.fgc-pagination{z-index:2}
.fgc-pagination button{min-height:42px;border-radius:7px}
.fgc-empty-state{padding:28px 20px;background:radial-gradient(ellipse at 80% 0%,#58dacf12,transparent 60%)}

/* Profile becomes a compact player card, then a clearly separate private editor. */
#community-profile{position:relative}
#community-profile>.eyebrow{color:#8be5db}
#profile-root .cosmic-profile-card{position:relative;overflow:hidden;max-width:1050px;padding:clamp(20px,4vw,38px);border:1px solid #6f8a6577;border-radius:20px;background:radial-gradient(ellipse at 92% 4%,#62e3d817,transparent 38%),linear-gradient(135deg,#1b2a20,#111a15 72%);box-shadow:0 24px 70px #0003}
#profile-root .cosmic-profile-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px}
#profile-root .cosmic-profile-avatar{width:88px;height:88px;object-fit:cover;border-radius:50%;border:2px solid #dfc276;box-shadow:0 0 0 6px #dfc27612,0 12px 30px #0005}
#profile-root .cosmic-profile-head h3{margin:0;font:400 clamp(25px,3vw,36px)/1.1 Georgia,serif;color:#f2e8d0}
#profile-root .cosmic-profile-kicker{margin:0 0 5px;color:#81e2d8;font:750 10px/1.4 system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase}
#profile-root .cosmic-profile-about{max-width:64ch;margin:9px 0 0;color:#c2d0c1;font-size:14px;line-height:1.7}
#profile-root .cosmic-profile-private{justify-self:end;padding:7px 10px;border:1px solid #87977866;border-radius:99px;color:#d8d9c8;font-size:10px;letter-spacing:.05em;white-space:nowrap}
#profile-root .community-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:24px 0}
#profile-root .community-stats span{display:grid;gap:5px;min-height:66px;padding:13px;border:1px solid #ffffff18;border-radius:11px;background:#0b120d66;color:#9ce7de;font:650 20px/1.1 Georgia,serif}
#profile-root .community-stats span::first-line{color:#e0c77e}
#profile-root .community-stats span{font-size:0}
#profile-root .community-stats span::after{content:attr(data-label);font:500 10px/1.4 system-ui,sans-serif;color:#b6c3b3}
#profile-root .community-stats span strong{font:400 22px/1 Georgia,serif;color:#dfc276}
#profile-root .cosmic-profile-actions{display:flex;gap:9px;flex-wrap:wrap}
#profile-root .profile-settings{margin-top:20px;border-top:1px solid #ffffff20;padding-top:16px}
#profile-root .profile-settings>summary{display:inline-flex;align-items:center;gap:8px;min-height:42px;cursor:pointer;color:#ecd58e;font-weight:650}
#profile-root .profile-settings form{margin-top:18px;padding:clamp(16px,3vw,24px);border:1px solid #64734e66;border-radius:14px;background:#0d1510a8}
#profile-root .profile-settings :is(input:not([type=checkbox]),textarea,select){box-sizing:border-box;width:100%;font-size:16px}
#profile-root .profile-settings label{display:grid;gap:7px}
#profile-root .profile-settings label.checkline{display:flex;align-items:flex-start;gap:10px}
.player-heading{display:flex;align-items:center;gap:18px;margin:0 0 18px;padding:20px;border:1px solid #627c6377;border-radius:16px;background:linear-gradient(120deg,#1e3024,#121a16 72%)}
.player-heading img{width:80px;height:80px;border:2px solid #dfc276;border-radius:50%;object-fit:cover;box-shadow:0 0 0 5px #dfc27615}
.player-heading h2{margin:0;font:400 clamp(25px,4vw,38px)/1.15 Georgia,serif}
#player-detail{scroll-margin-top:100px}

@media(max-width:700px){
 .timeline-service-note{grid-template-columns:1fr;gap:4px}
 .timeline-service-note strong,.timeline-service-note a{white-space:normal}
 #profile-root .cosmic-profile-head{grid-template-columns:auto minmax(0,1fr);gap:14px}
 #profile-root .cosmic-profile-avatar{width:68px;height:68px}
 #profile-root .cosmic-profile-private{grid-column:1/-1;justify-self:start}
 #profile-root .community-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:18px 0}
 #profile-root .community-stats span{min-height:58px;padding:11px}
 .player-heading{padding:16px;gap:14px}
 .player-heading img{width:64px;height:64px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}body:has(.hero, .page-hero, .about-hero, .fgc-hero) main::before{animation:none}.fgc-post,main :is(.feature,.guide-card,.work-card,.post-card,.metric-card,.community-card,.trend-card,.person-card,.fgc-column,.hx-weapon,.bank-card){transition:none!important}}

/* Final visual pass: stronger page rhythm, readable cards, and a cinematic but quiet landing. */
body{color:var(--cosmic-copy);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;overflow-x:clip}
main{isolation:isolate}
main :is(.hero,.page-hero,.about-hero,.fgc-hero){position:relative}
main :is(.hero,.page-hero,.about-hero,.fgc-hero)::after{content:"";position:absolute;z-index:-1;pointer-events:none;inset:0 -5vw auto;height:100%;max-height:680px;background:radial-gradient(ellipse at 78% 28%,#65e6dc12,transparent 32%),radial-gradient(ellipse at 12% 70%,#dfc2760d,transparent 38%);mask-image:linear-gradient(#000,transparent 90%)}
body.home-page main .hero{min-height:min(70vh,740px);align-items:center;position:relative;overflow:hidden}
body.home-page main .hero::before{content:"";position:absolute;z-index:-1;inset:4% -8% 4% 44%;background:url('/assets/photos/cosmic-competition.jpg') center 38%/cover no-repeat;opacity:.19;filter:saturate(.72);mask-image:linear-gradient(90deg,transparent,#000 22%,#000 78%,transparent);animation:landing-drift 24s ease-in-out infinite alternate}
body.home-page main .hero>div:first-child{max-width:760px}
body.home-page main .hero h1{font-size:clamp(48px,7.2vw,96px);line-height:.99;letter-spacing:-.055em}
body.home-page main .hero .intro{font-size:clamp(18px,2vw,23px);line-height:1.6}
body.home-page main .hero .actions .btn:first-child{box-shadow:0 8px 30px #dfc27622}
body.home-page main .hero .actions .btn:first-child:hover{box-shadow:0 12px 36px #dfc27638}
main :is(.feature,.guide-card,.work-card,.post-card,.metric-card,.community-card,.trend-card,.person-card,.fgc-column,.hx-weapon,.bank-card,.resource-card,.profile){backdrop-filter:blur(8px)}
main :is(.section,.section-heading){position:relative}
main .section-heading{align-items:end;gap:18px}
main :is(.feature,.guide-card,.work-card,.post-card,.community-card,.trend-card,.resource-card){transition:transform .24s cubic-bezier(.2,.75,.25,1),border-color .24s,box-shadow .24s}
main :is(.feature,.guide-card,.work-card,.post-card,.community-card,.trend-card,.resource-card):hover{transform:translateY(-3px);border-color:#72dcd280;box-shadow:0 20px 48px #0004}
.welcome-veil{background-color:#08110e}
.welcome-card{border-color:#d9bd7180}
.welcome-card .welcome-story{background:linear-gradient(105deg,#08120eef,#101c17c7 72%,transparent)}
.welcome-card .welcome-entry{background:linear-gradient(155deg,#14231beF,#0b1512ee)}
.welcome-card .welcome-mark{animation:welcome-mark-float 6s ease-in-out infinite}
.welcome-card .welcome-actions .btn:focus-visible,.welcome-shortcuts a:focus-visible{outline-offset:4px!important}
@keyframes landing-drift{from{transform:scale(1) translate3d(0,0,0)}to{transform:scale(1.035) translate3d(-8px,6px,0)}}
@keyframes welcome-mark-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@media(max-width:760px){body.home-page main .hero{min-height:0;padding-block:54px}body.home-page main .hero::before{inset:0 -25% 0 15%;opacity:.12}body.home-page main .hero h1{font-size:clamp(42px,12vw,68px)}main .section-heading{align-items:flex-start}body.site-enhanced header.menu-open #main-navigation>.nav-primary{min-height:52px!important}}
@media(prefers-reduced-motion:reduce){body.home-page main .hero::before,.welcome-card .welcome-mark{animation:none!important}main :is(.feature,.guide-card,.work-card,.post-card,.community-card,.trend-card,.resource-card){transition:none!important}}

.ped-home-entry{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;margin:18px 0 42px;padding:20px clamp(18px,4vw,34px);border:1px solid #78b9a977;border-radius:14px;background:radial-gradient(circle at 85% 20%,#67dfcf18,transparent 32%),linear-gradient(120deg,#17251d,#101611);color:#f2ead7;text-decoration:none}.ped-home-entry span{color:#7edfd4;font:800 10px/1.4 system-ui;letter-spacing:.14em}.ped-home-entry strong{font:400 clamp(1.25rem,3vw,2rem)/1.15 Georgia,serif}.ped-home-entry em{color:#dfc276;font-style:normal;font-weight:700}.ped-home-entry:hover{border-color:#dfc276;box-shadow:0 18px 48px #0004}@media(max-width:680px){.ped-home-entry{grid-template-columns:1fr;gap:7px}}
