/* Shared interaction and reading improvements across the Kingdom Brasil site. */
:root{--surface:#fbf8ef;--forest:#233d32;--forest-soft:#e7eadf;--brass:#b89250;--focus:#a87429}
html{scroll-padding-top:112px}
body{overflow-x:clip;line-height:1.75}
main{min-height:45vh}
header{background:rgba(244,240,230,.97);box-shadow:0 5px 20px rgba(35,61,50,.045);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
header nav a{min-height:44px;border-radius:2px;transition:color .18s ease,background-color .18s ease,border-color .18s ease}
header nav a:hover,header nav a:focus-visible{color:#755820;background:rgba(184,146,80,.08)}
header nav a.active{color:#8d6725;border-bottom-color:var(--brass)}
header .language-picker{min-height:42px;border-radius:3px;transition:background-color .18s ease}
header .language-picker:hover{background:rgba(35,61,50,.05)}
header .menu{min-width:44px;min-height:44px;display:none;place-items:center;border-radius:3px}
@media(max-width:1280px){header .menu{display:grid}}
header .menu svg{width:22px;height:22px}
.button{min-height:44px;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,border-color .18s ease,color .18s ease}
.button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 5px 14px rgba(35,61,50,.13)}
.button:active:not(:disabled){transform:translateY(0);box-shadow:none}
.button:disabled{cursor:not-allowed;opacity:.55;filter:saturate(.65)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
input:not([type=checkbox]):not([type=radio]),select,textarea{transition:border-color .18s ease,box-shadow .18s ease}
input:not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus{border-color:#8c9a7c;box-shadow:0 0 0 3px rgba(99,126,89,.12)}
select,button,a{touch-action:manipulation}
.page-top{padding-block:clamp(38px,5.2vw,70px) clamp(30px,4vw,52px)}
.page-top h1{font-size:clamp(38px,5vw,64px);line-height:1.12;text-wrap:balance}
.page-top p{max-width:68ch;line-height:1.8}
.page-top :is(.breadcrumb,.eyebrow){text-wrap:pretty}
.section-title{gap:clamp(22px,4vw,58px)}
.section-title h2,.section h2,.article h1,.article h2,.article h3,.guide-step-heading h2,.guide-faq h2{text-wrap:balance}
.section-title p,.article p,.article li,.guide-lead,.guide-faq details p{line-height:1.85}
.article :is(h2,h3,[id]){scroll-margin-top:112px}
.article>p,.article>ul,.article>ol,.article>blockquote{max-width:78ch}
.breadcrumb a{text-underline-offset:3px}
.breadcrumb a:hover,.text-link:hover,.community-links a:hover{color:#8b672d;text-decoration:underline;text-underline-offset:4px}
.wiki-card,.path,.gateway>a,.directory-card,.game-stores>a,.rules-index a,.community-links a{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background-color .2s ease}
.wiki-card:hover,.path:hover,.gateway>a:hover,.directory-card:hover,.game-stores>a:hover{box-shadow:0 12px 26px rgba(38,54,42,.12)}
.wiki-card:focus-visible,.path:focus-visible,.gateway>a:focus-visible,.directory-card:focus-visible,.game-stores>a:focus-visible{outline-offset:5px}
.rules-index a:hover{background:rgba(130,147,109,.12)}
.guide-progress{scrollbar-width:thin;scrollbar-color:#aa925d transparent}
.guide-progress a{min-height:56px;transition:background-color .18s ease,color .18s ease}
.guide-progress a:hover,.guide-progress a:focus-visible{background:#f4f0e6;color:#7c5d25}
.live-filters{position:relative}
.lives-section-actions{display:flex;align-items:center;gap:9px;flex-shrink:0}
.lives-section-actions .button{margin-top:0}
.platform-filters button,.game-filter select{min-height:44px}
#lives-status{margin-block:18px;padding:16px 19px;border-left:2px solid var(--brass);background:#ebe7d9;color:#596353;font-size:12px;line-height:1.75}
.lives-updated{font-variant-numeric:tabular-nums}
.notice,.form-feedback{line-height:1.75}
footer{row-gap:16px}
footer a{min-height:40px;display:inline-flex;align-items:center}
#reading-progress{--header-height:92px;position:fixed;z-index:25;top:var(--header-height);left:0;right:0;height:3px;pointer-events:none;opacity:0;transition:opacity .2s ease}
#reading-progress.is-visible{opacity:1}
#reading-progress-fill{display:block;width:100%;height:100%;background:linear-gradient(90deg,#859773,#b89250);transform:scaleX(0);transform-origin:left center;will-change:transform}
#back-to-top{position:fixed;right:24px;bottom:24px;z-index:19;width:46px;height:46px;display:grid;place-items:center;padding:0;border:1px solid #bba66e;border-radius:50%;background:#233d32;color:#f0d999;box-shadow:0 5px 18px rgba(20,38,29,.2);opacity:0;visibility:hidden;transform:translateY(7px);transition:opacity .2s ease,visibility .2s ease,transform .2s ease,background-color .2s ease;cursor:pointer}
#back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}
#back-to-top:hover{background:#355444}
#back-to-top svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.community-journey{padding:clamp(34px,5vw,68px) clamp(22px,7%,110px);background:linear-gradient(180deg,#e9e6d9 0%,#f4f0e6 100%)}
.community-layout{width:min(1240px,100%);margin:0 auto;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(330px,.9fr);gap:clamp(36px,7vw,100px);align-items:center}
.community-story .breadcrumb{margin-bottom:28px;color:#7b806d;font-size:10px}
.community-wordmark{display:block;width:min(270px,70%);height:auto;max-height:125px;object-fit:contain;object-position:left center;margin:0 0 18px}
.community-story>.eyebrow{margin-bottom:14px}
.community-story h1{max-width:14ch;margin:0 0 17px;color:#263c31;font:400 clamp(40px,5.2vw,66px)/1.08 'Libre Caslon Display',Georgia,serif;text-wrap:balance}
.community-story>p:not(.community-note){max-width:56ch;margin:0;color:#66705f;font-size:14px;line-height:1.9}
.community-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:25px}
.community-actions .button{gap:10px}
.community-actions .kb-icon{width:18px;height:18px}
.community-note{margin:22px 0 0;color:#858875;font-size:10px}
.community-guide{padding:clamp(24px,4vw,42px);border:1px solid #d5d6c4;border-left:3px solid #82936d;background:rgba(251,248,239,.82);box-shadow:0 14px 38px rgba(35,61,50,.07)}
.community-guide>.eyebrow{color:#8b6b31}
.community-guide h2{margin:9px 0 23px;color:#263c31;font:400 clamp(28px,3vw,39px)/1.15 'Libre Caslon Display',Georgia,serif}
.community-guide ol{list-style:none;padding:0;margin:0}
.community-guide li{display:grid;grid-template-columns:42px minmax(0,1fr);gap:13px;padding:16px 0;border-top:1px solid #e2decf}
.community-guide li>span{color:#a38445;font:24px/1 'Libre Caslon Display',Georgia,serif}
.community-guide li strong{display:block;color:#2f4738;font-size:12px;font-weight:600}
.community-guide li small{display:block;margin-top:4px;color:#74796a;font-size:11px;line-height:1.65}
.community-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:19px;padding-top:18px;border-top:1px solid #e2decf}
.community-links a{display:flex;justify-content:space-between;align-items:center;gap:6px;padding:10px 9px;background:#eff0e6;color:#435540;font-size:10px}
.community-links a:hover{transform:translateY(-1px);background:#e3e8da}
@media(max-width:1280px){#reading-progress{--header-height:80px}}
@media(max-width:900px){.community-layout{grid-template-columns:1fr;gap:35px}.community-story h1{max-width:16ch}.community-guide{max-width:720px}.article>p,.article>ul,.article>ol,.article>blockquote{max-width:none}}
@media(max-width:760px){html{scroll-padding-top:92px}.page-top{padding:34px 6% 30px}.page-top h1{font-size:clamp(34px,9vw,46px)}.section-title{align-items:flex-start}.community-journey{padding:30px 6% 42px}.community-story .breadcrumb{margin-bottom:22px}.community-story h1{font-size:clamp(39px,11vw,56px)}.community-actions{align-items:stretch}.community-actions .button{flex:1 1 220px}.community-links{grid-template-columns:1fr}.community-links a{min-height:42px;padding:10px 12px}.lives-section-actions{width:100%;flex-wrap:wrap}#back-to-top{right:15px;bottom:calc(15px + env(safe-area-inset-bottom));width:44px;height:44px}}
@media(max-width:500px){.community-guide{padding:22px 19px}.community-guide li{grid-template-columns:34px minmax(0,1fr);gap:10px}.community-guide li>span{font-size:21px}.community-actions .button{width:100%;flex-basis:100%}.section-title h2{font-size:clamp(27px,8vw,36px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.wiki-card,.path,.gateway>a,.directory-card,.game-stores>a,.rules-index a,.community-links a,#reading-progress,#back-to-top{transition:none!important}.path img{animation:none!important}.hero-video,.intro-video{visibility:hidden!important}}
