
.docs-page{position:relative;z-index:1}.docs-hero{min-height:620px;padding:150px 24px 90px;display:grid;place-items:center;background:linear-gradient(rgba(20,14,8,.36),rgba(20,14,8,.55)),url('../images/dirt.webp') center/cover fixed}.docs-hero-content{width:min(980px,100%);text-align:center;color:#fff}.docs-logo{width:min(330px,72vw);filter:drop-shadow(0 16px 28px rgba(0,0,0,.32));margin-bottom:16px}.docs-eyebrow{display:inline-flex;gap:10px;align-items:center;padding:10px 18px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(12px);font-weight:700}.docs-hero h1{font-size:clamp(2.5rem,7vw,5.2rem);line-height:1;margin:18px 0;text-shadow:0 6px 24px rgba(0,0,0,.35)}.docs-hero p{max-width:800px;margin:0 auto 28px;font-size:1.05rem;line-height:1.8}.docs-search-wrap{max-width:760px;margin:auto;display:flex;align-items:center;gap:14px;background:#fff;color:#28221d;border-radius:22px;padding:8px 12px 8px 20px;box-shadow:0 20px 50px rgba(0,0,0,.28)}.docs-search-wrap input{width:100%;border:0;outline:0;padding:15px 0;font:inherit;background:transparent}.docs-search-wrap kbd{background:#f0e7da;padding:7px 10px;border-radius:9px;font-weight:800}.docs-stats{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:20px}.docs-stats span{padding:8px 13px;border-radius:999px;background:rgba(0,0,0,.25);backdrop-filter:blur(8px)}.docs-shell{width:min(1450px,calc(100% - 32px));margin:-38px auto 90px;display:grid;grid-template-columns:270px minmax(0,1fr);gap:25px;align-items:start}.docs-sidebar,.docs-content{background:rgba(255,255,255,.88);border:1px solid rgba(255,255,255,.55);box-shadow:0 18px 55px rgba(79,52,19,.16);backdrop-filter:blur(18px);border-radius:28px}.docs-sidebar{padding:20px;position:sticky;top:92px}.docs-sidebar-title{font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;font-weight:900;opacity:.6;padding:8px 10px}.docs-sidebar nav{display:grid;gap:6px}.docs-category-btn{border:0;background:transparent;text-align:left;border-radius:14px;padding:12px 13px;font:inherit;font-weight:700;cursor:pointer;display:flex;justify-content:space-between;gap:12px}.docs-category-btn:hover,.docs-category-btn.active{background:#ffbf6c;color:#35220c}.docs-category-btn span:last-child{opacity:.65}.docs-ticket-link{margin-top:18px;padding:15px;border-radius:18px;background:#5865f2;color:white;display:flex;gap:12px;align-items:center;text-decoration:none}.docs-ticket-link i{font-size:1.8rem}.docs-ticket-link span{font-weight:800}.docs-ticket-link small{display:block;font-weight:500;opacity:.85}.docs-content{padding:28px}.docs-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:24px}.docs-toolbar h2{margin:0;font-size:clamp(1.7rem,4vw,2.5rem)}.docs-toolbar p{margin:5px 0 0;opacity:.65}.docs-toolbar button{border:0;border-radius:13px;padding:11px 15px;font:inherit;font-weight:700;cursor:pointer}.docs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.doc-card{border:1px solid rgba(69,42,13,.11);background:rgba(255,255,255,.72);border-radius:22px;overflow:hidden;display:flex;flex-direction:column;min-width:0;transition:transform .25s ease,box-shadow .25s ease}.doc-card:hover{transform:translateY(-5px);box-shadow:0 18px 38px rgba(74,45,12,.15)}.doc-card-media{aspect-ratio:16/8.5;background:#e9dece;overflow:hidden}.doc-card-media img{width:100%;height:100%;object-fit:cover;display:block}.doc-card-body{padding:19px;display:flex;flex-direction:column;flex:1}.doc-card-category{font-size:.7rem;text-transform:uppercase;letter-spacing:.09em;font-weight:900;color:#a26414}.doc-card h3{font-size:1.16rem;line-height:1.35;margin:8px 0 10px}.doc-triggers{display:flex;gap:6px;flex-wrap:wrap}.doc-triggers code{padding:5px 8px;border-radius:8px;background:#f3e8d7;font-size:.76rem}.doc-card p{opacity:.72;line-height:1.65;font-size:.91rem;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.doc-open{margin-top:auto;border:0;background:#ffbf6c;border-radius:12px;padding:11px 13px;font:inherit;font-weight:800;cursor:pointer}.docs-empty{text-align:center;padding:70px 20px}.docs-empty i{font-size:3rem;opacity:.35}.docs-modal{position:fixed;inset:0;z-index:9999;background:rgba(15,10,6,.72);display:none;place-items:center;padding:22px}.docs-modal.open{display:grid}.docs-modal-dialog{position:relative;width:min(850px,100%);max-height:88vh;overflow:auto;border-radius:28px;background:#fff;padding:32px;box-shadow:0 24px 80px rgba(0,0,0,.4)}.docs-modal-close{position:sticky;float:right;top:0;border:0;width:42px;height:42px;border-radius:50%;cursor:pointer;font-size:1.1rem}.docs-modal-image{width:100%;max-height:430px;object-fit:contain;background:#efe8df;border-radius:20px;margin:16px 0}.docs-modal-category{text-transform:uppercase;letter-spacing:.1em;font-weight:900;font-size:.78rem;color:#a26414}.docs-modal-dialog h2{font-size:clamp(1.8rem,5vw,3rem);line-height:1.1;margin:8px 50px 12px 0}.docs-modal-description{line-height:1.8;word-break:break-word}.docs-modal-description code{background:#f3e8d7;padding:2px 6px;border-radius:6px}.docs-modal-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.docs-modal-actions a{padding:11px 15px;border-radius:12px;background:#ffbf6c;color:#2c1d0a;text-decoration:none;font-weight:800}.docs-modal-actions a.discord{background:#5865f2;color:#fff}body.dark-mode .docs-sidebar,body.dark-mode .docs-content,body.dark-mode .docs-modal-dialog{background:rgba(39,39,39,.94);color:#f5f5f5}body.dark-mode .doc-card{background:rgba(52,52,52,.8);border-color:rgba(255,255,255,.08)}body.dark-mode .doc-triggers code,body.dark-mode .docs-modal-description code{background:#4b4032;color:#fff}body.dark-mode .docs-toolbar button{background:#444;color:#fff}@media(max-width:1080px){.docs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.docs-shell{grid-template-columns:1fr}.docs-sidebar{position:relative;top:auto}.docs-sidebar nav{display:flex;overflow:auto;padding-bottom:4px}.docs-category-btn{white-space:nowrap}}@media(max-width:650px){.docs-hero{padding-top:125px}.docs-grid{grid-template-columns:1fr}.docs-content{padding:18px}.docs-shell{width:min(100% - 18px,1450px)}.docs-toolbar{align-items:flex-start}.docs-toolbar button{font-size:0}.docs-toolbar button i{font-size:1rem}.docs-modal-dialog{padding:22px}.docs-modal-dialog h2{margin-right:35px}.docs-search-wrap kbd{display:none}}

/* =========================================================
   Documentation page polish — centered branding, motion,
   resilient footer layout, and responsive interaction
   ========================================================= */
html{scroll-behavior:smooth}
body:has(.docs-page){min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden}
body:has(.docs-page) .docs-page{flex:1;width:100%}
body:has(.docs-page) .site-footer{margin-top:auto}

.docs-hero{position:relative;isolation:isolate;overflow:hidden;background-attachment:scroll}
.docs-hero::before,.docs-hero::after{content:"";position:absolute;pointer-events:none;border-radius:50%;filter:blur(2px);z-index:-1}
.docs-hero::before{width:460px;height:460px;left:-140px;top:90px;background:radial-gradient(circle,rgba(255,191,108,.32),transparent 68%);animation:docsOrbFloat 9s ease-in-out infinite}
.docs-hero::after{width:520px;height:520px;right:-180px;bottom:-170px;background:radial-gradient(circle,rgba(255,216,79,.24),transparent 67%);animation:docsOrbFloat 11s ease-in-out infinite reverse}
.docs-hero-content{display:flex;flex-direction:column;align-items:center;justify-content:center;margin-inline:auto;animation:docsHeroEnter .9s cubic-bezier(.2,.8,.2,1) both}
.docs-logo{display:block;margin:0 auto 16px;transform-origin:center;animation:docsLogoFloat 4.8s ease-in-out infinite;will-change:transform;max-width:100%;height:auto}
.docs-logo:hover{animation-play-state:paused;transform:scale(1.035) rotate(-1deg)}
.docs-eyebrow{animation:docsFadeUp .75s .1s both}
.docs-hero h1{animation:docsFadeUp .75s .2s both;background:linear-gradient(180deg,#fff 15%,#ffe3a7 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.docs-hero p{animation:docsFadeUp .75s .3s both}
.docs-search-wrap{position:relative;overflow:hidden;animation:docsFadeUp .75s .4s both;transition:transform .3s ease,box-shadow .3s ease}
.docs-search-wrap::after{content:"";position:absolute;inset:-2px;z-index:-1;border-radius:24px;background:linear-gradient(110deg,transparent 20%,rgba(255,191,108,.75),transparent 80%);transform:translateX(-110%);animation:docsSearchShine 5.5s ease-in-out infinite}
.docs-search-wrap:focus-within{transform:translateY(-3px) scale(1.01);box-shadow:0 25px 65px rgba(0,0,0,.34),0 0 0 4px rgba(255,191,108,.28)}
.docs-stats{animation:docsFadeUp .75s .5s both}
.docs-stats span{transition:transform .25s ease,background .25s ease}
.docs-stats span:hover{transform:translateY(-3px);background:rgba(0,0,0,.38)}

.docs-shell{position:relative;z-index:3}
.docs-sidebar,.docs-content{animation:docsPanelEnter .75s cubic-bezier(.2,.8,.2,1) both}
.docs-content{animation-delay:.08s;overflow:hidden}
.docs-sidebar{transition:transform .3s ease,box-shadow .3s ease}
.docs-sidebar:hover{transform:translateY(-4px);box-shadow:0 24px 65px rgba(79,52,19,.22)}
.docs-category-btn{position:relative;overflow:hidden;transition:transform .22s ease,background .22s ease,color .22s ease}
.docs-category-btn::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.28),transparent);transform:translateX(-105%);transition:transform .45s ease}
.docs-category-btn:hover::before,.docs-category-btn.active::before{transform:translateX(0)}
.docs-category-btn:hover{transform:translateX(4px)}
.docs-ticket-link{transition:transform .25s ease,box-shadow .25s ease;box-shadow:0 12px 28px rgba(88,101,242,.24)}
.docs-ticket-link:hover{transform:translateY(-4px) scale(1.01);box-shadow:0 18px 38px rgba(88,101,242,.35)}
.docs-ticket-link i{animation:docsDiscordPulse 2.4s ease-in-out infinite}
.docs-toolbar{position:relative}
.docs-toolbar button{transition:transform .22s ease,background .22s ease,box-shadow .22s ease}
.docs-toolbar button:hover{transform:translateY(-2px) rotate(-1deg);box-shadow:0 10px 22px rgba(0,0,0,.12)}

.doc-card{opacity:0;transform:translateY(24px) scale(.98);will-change:transform,opacity}
.doc-card.is-visible{animation:docsCardReveal .6s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:var(--card-delay,0ms)}
.doc-card::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(120deg,transparent 35%,rgba(255,255,255,.42),transparent 65%);transform:translateX(-120%);transition:transform .7s ease}
.doc-card{position:relative}
.doc-card:hover::after{transform:translateX(120%)}
.doc-card:hover{transform:translateY(-8px) scale(1.012);box-shadow:0 22px 44px rgba(74,45,12,.2)}
.doc-card-media img{transition:transform .65s cubic-bezier(.2,.8,.2,1),filter .4s ease}
.doc-card:hover .doc-card-media img{transform:scale(1.07);filter:saturate(1.08)}
.doc-open{position:relative;overflow:hidden;transition:transform .22s ease,box-shadow .22s ease}
.doc-open::before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);transform:translateX(-120%);transition:transform .55s ease}
.doc-open:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(184,112,18,.22)}
.doc-open:hover::before{transform:translateX(120%)}
.doc-open i{transition:transform .22s ease}.doc-open:hover i{transform:translateX(5px)}

.docs-modal.open{animation:docsModalFade .25s ease both}
.docs-modal.open .docs-modal-dialog{animation:docsModalPop .38s cubic-bezier(.2,.8,.2,1) both}
.docs-modal-close{transition:transform .25s ease,background .25s ease}
.docs-modal-close:hover{transform:rotate(90deg) scale(1.08)}
.docs-modal-image{animation:docsImageReveal .55s ease both}
.docs-empty:not([hidden]){animation:docsFadeUp .45s ease both}

/* Footer is fully centered, consistent, and pinned after short content. */
body:has(.docs-page) .site-footer{position:relative;width:100%;padding:68px 0 28px;overflow:hidden}
body:has(.docs-page) .site-footer::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 0,rgba(255,191,108,.14),transparent 42%);pointer-events:none}
body:has(.docs-page) .footer-container{position:relative;width:min(1180px,calc(100% - 40px));margin:0 auto}
body:has(.docs-page) .footer-top{display:grid;grid-template-columns:minmax(260px,1.35fr) repeat(2,minmax(170px,.75fr));gap:42px;align-items:start}
body:has(.docs-page) .footer-brand,body:has(.docs-page) .footer-column{text-align:center;display:flex;flex-direction:column;align-items:center}
body:has(.docs-page) .footer-logo{display:block;width:min(180px,60vw);height:auto;margin:0 auto 18px;filter:drop-shadow(0 12px 26px rgba(0,0,0,.3));animation:docsLogoFloat 5.4s ease-in-out infinite}
body:has(.docs-page) .footer-brand p{max-width:390px;margin:0 auto;line-height:1.75}
body:has(.docs-page) .footer-column h4{margin:4px 0 18px}
body:has(.docs-page) .footer-button-list{width:100%;display:flex;flex-direction:column;align-items:center;gap:10px}
body:has(.docs-page) .footer-pill{width:min(200px,100%);transition:transform .22s ease,background .22s ease,border-color .22s ease}
body:has(.docs-page) .footer-pill:hover{transform:translateY(-3px)}
body:has(.docs-page) .footer-divider{height:1px;margin:38px 0 22px}
body:has(.docs-page) .footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;text-align:center}

@keyframes docsHeroEnter{from{opacity:0;transform:translateY(22px) scale(.985)}to{opacity:1;transform:none}}
@keyframes docsFadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes docsPanelEnter{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@keyframes docsLogoFloat{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-12px) rotate(.7deg)}}
@keyframes docsOrbFloat{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(35px,-24px,0) scale(1.08)}}
@keyframes docsSearchShine{0%,60%{transform:translateX(-110%)}85%,100%{transform:translateX(110%)}}
@keyframes docsDiscordPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.1)}}
@keyframes docsCardReveal{to{opacity:1;transform:none}}
@keyframes docsModalFade{from{opacity:0}to{opacity:1}}
@keyframes docsModalPop{from{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:none}}
@keyframes docsImageReveal{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}

@media(max-width:1080px){
 body:has(.docs-page) .footer-top{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}
 .docs-sidebar:hover{transform:none}
 .docs-category-btn:hover{transform:translateY(-2px)}
}
@media(max-width:760px){
 .docs-hero{min-height:auto;padding:118px 16px 76px}
 .docs-logo{width:min(290px,78vw)}
 .docs-hero p{font-size:.96rem;line-height:1.65}
 .docs-search-wrap{width:100%;border-radius:18px;padding-left:15px}
 .docs-stats{gap:8px}.docs-stats span{font-size:.78rem}
 .docs-shell{margin-top:-30px;margin-bottom:58px;gap:16px}
 .docs-sidebar,.docs-content{border-radius:22px}
 .docs-sidebar{padding:15px}
 .docs-sidebar nav{scroll-snap-type:x proximity}.docs-category-btn{scroll-snap-align:start}
 body:has(.docs-page) .footer-top{grid-template-columns:1fr;gap:30px}
 body:has(.docs-page) .footer-brand{grid-column:auto}
 body:has(.docs-page) .footer-bottom{justify-content:center;flex-direction:column;gap:6px}
}
@media(max-width:480px){
 .docs-hero{padding-inline:12px}.docs-eyebrow{font-size:.76rem;padding:8px 12px}
 .docs-hero h1{font-size:clamp(2.15rem,13vw,3.35rem)}
 .docs-search-wrap input{font-size:.9rem;min-width:0}
 .docs-shell{width:calc(100% - 12px)}.docs-content{padding:15px}
 .docs-toolbar{gap:10px}.docs-toolbar h2{font-size:1.55rem}.docs-toolbar p{font-size:.85rem}
 .doc-card-body{padding:16px}.docs-modal{padding:10px}.docs-modal-dialog{border-radius:20px;padding:18px}
 body:has(.docs-page) .footer-container{width:min(100% - 24px,1180px)}
 body:has(.docs-page) .site-footer{padding-top:52px}
}
@media(prefers-reduced-motion:reduce){
 .docs-logo,.footer-logo,.docs-hero::before,.docs-hero::after,.docs-ticket-link i,.docs-search-wrap::after{animation:none!important}
 .doc-card{opacity:1;transform:none}.doc-card.is-visible{animation:none}
 *,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}
