:root{color-scheme:light;font-family:Nunito,ui-rounded,Segoe UI,sans-serif;--ink: #3b2847;--ink-soft: #6c5374;--cream: #fff5d7;--paper: #fffaf0;--gold: #f5b940;--gold-dark: #ba702d;--berry: #a83c67;--leaf: #4e9b62;--sky: #5ca8ce;--border: #65404b;--shadow: 0 6px 0 #c98645, 0 10px 22px #4b27352e;--asset-character: #66aee8;--asset-enemy: #e66a67;--asset-item: #9a77d6;--asset-skill: #e89a4c;--asset-building: #a87950;--asset-resource: #67a865;--asset-zone: #4bb9ae;--asset-background: #8299ac;--asset-pet: #dc7eae}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:radial-gradient(circle at top,#fff4b7 0,#f3d891 35%,#9bc57e);min-width:320px;min-height:100vh}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.fantasy-panel{background:var(--paper);border:3px solid var(--border);border-radius:24px;box-shadow:var(--shadow)}.fantasy-button{min-height:48px;padding:.75rem 1.2rem;border:3px solid var(--border);border-radius:15px;color:#fff;background:linear-gradient(#d7657f,var(--berry));box-shadow:0 4px #702842;font-weight:900;cursor:pointer}.fantasy-button:hover{filter:brightness(1.08);transform:translateY(-1px)}.fantasy-button:active{transform:translateY(3px);box-shadow:0 1px #702842}.fantasy-button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:4px solid #3e9fc8;outline-offset:3px}.fantasy-button--secondary{background:linear-gradient(#70bc75,#438a55);box-shadow:0 4px #2c643b}.fantasy-placeholder{display:grid;place-items:center;align-content:center;gap:.2rem;padding:.65rem;border:3px solid var(--border);border-radius:20px;color:#fff;text-align:center;text-shadow:0 2px #49323b;overflow:hidden}.fantasy-placeholder small{text-transform:uppercase;letter-spacing:.1em;opacity:.82}.fantasy-placeholder__rune{font-size:1.6rem}.fantasy-placeholder--square{aspect-ratio:1}.fantasy-placeholder--portrait{aspect-ratio:3 / 4}.fantasy-placeholder--landscape{aspect-ratio:16 / 9}.fantasy-placeholder--icon{width:52px;aspect-ratio:1;border-radius:14px}.fantasy-placeholder--character{background:var(--asset-character)}.fantasy-placeholder--enemy{background:var(--asset-enemy)}.fantasy-placeholder--item{background:var(--asset-item)}.fantasy-placeholder--skill{background:var(--asset-skill)}.fantasy-placeholder--building{background:var(--asset-building)}.fantasy-placeholder--resource{background:var(--asset-resource)}.fantasy-placeholder--zone{background:var(--asset-zone)}.fantasy-placeholder--background{background:var(--asset-background)}.fantasy-placeholder--pet{background:var(--asset-pet)}.arena-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:grid;place-items:center;padding:1.25rem;background:#1f122aad;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:arena-dialog-fade .16s ease-out}.arena-dialog{position:relative;width:min(500px,100%);padding:1.65rem;color:var(--ink, #352044);text-align:left;animation:arena-dialog-rise .19s ease-out}.arena-dialog__emblem{position:absolute;top:-22px;left:50%;display:grid;width:44px;height:44px;place-items:center;transform:translate(-50%);border:3px solid var(--border);border-radius:50%;color:#fff;background:linear-gradient(#d7657f,var(--berry));box-shadow:0 4px #702842}.arena-dialog header span{color:var(--berry);font-size:.72rem;font-weight:900;letter-spacing:.16em}.arena-dialog header h2{margin:.25rem 0 0}.arena-dialog>p{margin:1.1rem 0;line-height:1.55;white-space:pre-line}.arena-dialog__input{box-sizing:border-box;width:100%;min-height:48px;padding:.7rem .85rem;border:2px solid var(--border);border-radius:12px;background:#fffdf6}.arena-dialog footer{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.25rem}.arena-dialog--danger{border-color:#8f2948}.arena-dialog--danger .arena-dialog__emblem{background:linear-gradient(#cc526d,#8f2948)}@keyframes arena-dialog-fade{0%{opacity:0}}@keyframes arena-dialog-rise{0%{opacity:0;transform:translateY(12px) scale(.98)}}@media(max-width:560px){.arena-dialog{padding:1.35rem 1rem 1rem}.arena-dialog footer{flex-direction:column-reverse}.arena-dialog footer .fantasy-button{width:100%}}@media(prefers-reduced-motion:reduce){.arena-dialog-backdrop,.arena-dialog{animation:none}}a{color:var(--berry);font-weight:800}.global-announcement-overlay{position:fixed;z-index:5000;top:0;right:0;bottom:0;left:0;display:grid;place-items:start center;overflow-y:auto;padding:max(4rem,calc(2rem + env(safe-area-inset-top))) 1rem 2rem;background:#23141fb8;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.global-announcement{position:relative;width:min(680px,100%);padding:clamp(1.4rem,4vw,2.4rem);border-width:4px;box-shadow:0 10px #8e552c,0 24px 60px #0000006b;white-space:pre-wrap}.global-announcement h2{margin:.45rem 2.5rem 1rem 0;font-size:clamp(1.5rem,4vw,2.3rem)}.global-announcement p{max-height:55vh;overflow-y:auto;line-height:1.6}.global-announcement small{display:block;margin-bottom:1.2rem;color:var(--ink-soft)}.global-announcement-close{position:absolute;top:.8rem;right:.8rem;display:grid;place-items:center;width:44px;height:44px;border:2px solid var(--border);border-radius:50%;color:var(--ink);background:#fff6d8;font-size:1.8rem;font-weight:900;cursor:pointer}.connectivity-announcer{position:fixed;z-index:1000;inset:0 0 auto;pointer-events:none}.offline-banner{padding:calc(.7rem + env(safe-area-inset-top)) 1rem .7rem;color:#fff;background:#8f2633;box-shadow:0 3px 12px #2a101859;font-weight:900;text-align:center}html[data-platform=android] .topbar,html[data-platform=ios] .topbar{padding-top:calc(.7rem + env(safe-area-inset-top))}h1,h2,p{margin-top:0}h1{font-size:clamp(2rem,5vw,3.8rem);line-height:.98}input{width:100%;min-height:48px;margin-top:.35rem;padding:.7rem 1rem;border:3px solid #bda075;border-radius:13px;background:#fffef8;color:var(--ink)}select{min-height:44px;margin-top:.35rem;padding:.5rem;border:3px solid #bda075;border-radius:12px;background:#fffef8}label{font-weight:850}.brand{display:flex;align-items:center;gap:.7rem;font-size:1.25rem}.brand>span{display:grid;place-items:center;width:48px;aspect-ratio:1;border:3px solid var(--border);border-radius:50%;color:#fff;background:var(--berry);box-shadow:0 3px 0 var(--gold-dark)}.brand strong,.brand small{display:block}.brand small{color:var(--ink-soft);font-size:.7rem;text-transform:uppercase;letter-spacing:.12em}.eyebrow{color:var(--berry);font-weight:1000;text-transform:uppercase;letter-spacing:.12em}.auth-page{min-height:100vh;display:grid;grid-template-columns:1.1fr minmax(340px,.9fr);align-items:center;gap:clamp(2rem,6vw,6rem);padding:clamp(1.2rem,5vw,5rem)}.auth-art{max-width:650px}.auth-art .brand,.auth-art .fantasy-placeholder{margin-bottom:2rem}.auth-art p{font-size:1.2rem;max-width:42rem}.auth-card{position:relative;max-width:480px;width:100%;padding:clamp(1.5rem,4vw,3rem)}.auth-card h1{font-size:2.3rem}.auth-card form{display:grid;gap:1rem;margin:2rem 0}.auth-rune{position:absolute;right:1.2rem;top:1rem;color:var(--gold-dark);font-size:2rem}.form-error{padding:.7rem;border-radius:10px;background:#ffd9d4;color:#8f2633}.selection-page,.creation-page{min-height:100vh;max-width:1280px;margin:auto;padding:clamp(1.2rem,4vw,4rem)}.selection-page>.brand{margin-bottom:3rem}.selection-page>header,.creation-page>header{text-align:center;max-width:680px;margin:0 auto 2.5rem}.world-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.character-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.character-card{display:grid;align-content:start;gap:1rem;padding:1rem}.character-card .fantasy-placeholder{max-height:230px}.character-card--new{place-items:center;align-content:center;min-height:360px;text-align:center}.new-character-rune{display:grid;place-items:center;width:90px;aspect-ratio:1;border:4px dashed var(--gold-dark);border-radius:50%;color:var(--berry);font-size:4rem}.world-card{display:grid;gap:1rem;padding:1rem}.world-card button:disabled{filter:grayscale(1);cursor:not-allowed}.status,.season-tag{display:inline-block;margin:.3rem .4rem .5rem 0;padding:.25rem .55rem;border-radius:99px;color:#fff;background:#8b7894;font-size:.72rem;font-weight:900}.status--online{background:var(--leaf)}.status--maintenance{background:#cf7a42}.season-tag{background:var(--berry)}.creation-page form{display:grid;gap:2rem}.choice-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.choice-card{position:relative;display:grid;gap:.6rem;padding:.7rem;color:var(--ink);cursor:pointer;text-align:left;overflow:hidden;transition:transform .16s ease,box-shadow .16s ease,outline-color .16s ease}.choice-card:hover{transform:translateY(-3px)}.choice-card[aria-pressed=true]{outline:4px solid var(--gold);transform:translateY(-4px);box-shadow:0 7px #b66d35,0 12px 24px #391c3038}.choice-card strong{font-size:1.3rem}.choice-card em{color:var(--berry);font-size:.8rem;font-weight:800}.choice-card__type{width:fit-content;margin-top:.1rem;padding:.2rem .5rem;color:#7e3657;border-radius:999px;background:#f2d7ac;font-size:.68rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.choice-selected-mark{position:absolute;top:.65rem;right:.65rem;z-index:5;display:grid;place-items:center;width:2rem;height:2rem;color:#fff;border:2px solid #fff1bd;border-radius:50%;background:var(--berry);box-shadow:0 3px #71344e;opacity:0;transform:scale(.6);transition:opacity .15s ease,transform .15s ease}.choice-card[aria-pressed=true] .choice-selected-mark{opacity:1;transform:scale(1)}.race-choice-visual,.class-choice-visual{position:relative;display:grid;place-items:center;width:100%;min-height:clamp(11rem,18vw,15rem);overflow:hidden;border:2px solid rgba(83,43,60,.72);border-radius:1rem;isolation:isolate}.race-choice-visual{background:linear-gradient(155deg,#fff4d0,#dfbd72)}.race-choice-visual--orc{background:linear-gradient(155deg,#e6efbd,#94b26f)}.race-choice-visual--dwarf{background:linear-gradient(155deg,#f4d9ad,#bd7c50)}.race-choice-visual--undead{background:linear-gradient(155deg,#dcd7eb,#8d7da7)}.race-choice-visual__halo{position:absolute;top:12%;right:20%;bottom:12%;left:20%;z-index:-1;border-radius:50%;background:radial-gradient(circle,#fffadcf2,#ffefae00 68%)}.race-choice-visual .character-avatar{width:min(94%,14rem);border-radius:0;background:transparent;transform:translateY(4%)}.class-choice-visual{color:#fff5d5;background:linear-gradient(145deg,#7b3d58,#4b2844)}.choice-card--assassin .class-choice-visual{background:linear-gradient(145deg,#42425c,#25243b)}.choice-card--mage .class-choice-visual{background:linear-gradient(145deg,#56529a,#302a69)}.choice-card--beastmaster .class-choice-visual{background:linear-gradient(145deg,#5e814d,#334c35)}.class-choice-visual__rays{position:absolute;top:-35%;right:-35%;bottom:-35%;left:-35%;z-index:-1;opacity:.24;background:repeating-conic-gradient(from 10deg,#fff2b5 0 7deg,transparent 7deg 21deg);animation:class-choice-rays 28s linear infinite}.class-choice-visual:after{content:"";position:absolute;top:12%;right:12%;bottom:12%;left:12%;z-index:-1;border:1px solid rgba(255,238,181,.46);border-radius:50%;box-shadow:inset 0 0 30px #ffe8a133,0 0 24px #ffd87433}.class-choice-visual svg{width:min(58%,8.5rem);height:auto;overflow:visible;fill:#fff0be1f;stroke:currentColor;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 5px 0 rgba(41,20,38,.45));transition:transform .18s ease}.choice-card:hover .class-choice-visual svg,.choice-card[aria-pressed=true] .class-choice-visual svg{transform:scale(1.07) rotate(-2deg)}@keyframes class-choice-rays{to{transform:rotate(360deg)}}.finalize{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:2rem;padding:1.5rem}.finalize dl{display:flex;flex-wrap:wrap;gap:.5rem;margin:0}.finalize dl div{padding:.4rem .7rem;border-radius:10px;background:#f5dfaa}.finalize dt{text-transform:capitalize;font-size:.7rem}.finalize dd{margin:0;font-weight:1000}.app-shell{position:relative;isolation:isolate;min-height:100vh;display:grid;grid-template:auto 1fr / 210px minmax(0,1fr) 260px;gap:1.2rem;padding:1rem}.site-parallax{position:fixed;z-index:-2;top:-44px;right:-44px;bottom:-44px;left:-44px;pointer-events:none;background-position:center;background-size:cover;background-repeat:no-repeat;transform:translateZ(0) scale(1.07);transform-origin:center;will-change:transform}.site-parallax:after{position:absolute;top:0;right:0;bottom:0;left:0;content:"";background:linear-gradient(180deg,#fff8d757,#acc47447)}.main-nav,.topbar{border-radius:18px;background:#fff9e09e;box-shadow:0 8px 24px #2f31261a;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.topbar{padding:.5rem .75rem}@media(prefers-reduced-motion:reduce){.site-parallax{transform:scale(1.07)!important;will-change:auto}}.app-shell--wide{grid-template-columns:210px minmax(0,1fr)}.topbar{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between}.world-chip{padding:.5rem .8rem;border-radius:99px;background:#fff8dc;border:2px solid var(--border);font-weight:900}.main-nav{display:flex;flex-direction:column;gap:.25rem;padding:.5rem}.main-nav a{display:flex;gap:.75rem;align-items:center;min-height:46px;padding:.6rem .8rem;color:var(--ink);border-radius:13px;text-decoration:none}.main-nav a.active,.main-nav a:hover{color:#fff;background:var(--berry)}.app-content{min-width:0}.hero-card{align-self:start;padding:1rem;text-align:center}.hero-card .fantasy-placeholder{max-height:220px}.hero-card h2{margin:1rem 0 .2rem}.hero-identity{display:flex;align-items:center;justify-content:center;gap:.5rem;flex-wrap:wrap}.ascension-badge{display:inline-flex;align-items:center;padding:.18rem .45rem;border:1px solid var(--berry);border-radius:999px;color:var(--berry);font-size:.72rem;line-height:1;white-space:nowrap}.hero-card label{display:grid;grid-template-columns:1fr;gap:.3rem;margin:1rem 0;text-align:left}.hero-card progress{width:100%;accent-color:var(--leaf)}.hero-card label small{color:var(--ink-soft);text-align:right}.dashboard header{margin:1.5rem 0 2rem}.game-section>header{margin:1.5rem 0 2rem}.stats-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem}.progression-panel{display:grid;grid-template-columns:auto minmax(220px,1fr) auto;align-items:center;gap:1.5rem;margin-bottom:1rem;padding:1rem}.progression-panel div,.progression-panel label{display:grid;gap:.3rem}.progression-panel progress{width:100%;accent-color:var(--berry)}.ascension-gauge,.ascension-confirmation,.ascension-history{display:grid;gap:1rem;padding:1.25rem}.ascension-gauge>div,.ascension-history li{display:flex;align-items:center;justify-content:space-between;gap:1rem}.ascension-gauge progress{width:100%;accent-color:var(--gold)}.ascension-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.ascension-summary article{padding:1.25rem}.ascension-confirmation fieldset{display:grid;gap:.6rem;border:1px solid rgb(213 168 75 / 35%);padding:1rem}.ascension-skill,.ascension-consent{display:flex;align-items:center;gap:.65rem}.ascension-history ol{display:grid;gap:.75rem;margin:0;padding-left:1.4rem}.ascension-page-v2{max-width:1500px;margin:0 auto}.ascension-page-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem}.ascension-page-heading p{max-width:700px;margin-bottom:0}.ascension-readiness{display:grid;min-width:220px;padding:.7rem 1rem;border:2px solid #9b7655;border-radius:15px;color:var(--ink-soft);background:#efe0b8;text-align:center}.ascension-readiness.is-ready{border-color:#6d3450;color:#fff;background:linear-gradient(145deg,#aa4672,#653048);box-shadow:0 4px #4c2839}.ascension-readiness small{font-size:.65rem;font-weight:900;text-transform:uppercase}.ascension-ritual{display:grid;grid-template-columns:145px minmax(300px,1fr) minmax(260px,.7fr);align-items:center;gap:1.25rem;padding:1.25rem;background:radial-gradient(circle at 7% 50%,rgb(191 72 116 / 24%),transparent 18%),var(--panel)}.ascension-orb{display:grid;place-items:center;width:120px;height:120px;border:5px solid #d5a949;border-radius:50%;color:#fff;background:radial-gradient(circle at 35% 28%,#d75d91,#71344f 55%,#3f2433);box-shadow:0 0 24px #c2417359,0 6px #502a3b}.ascension-orb span{font-size:2.2rem;line-height:1}.ascension-orb strong{font-size:1.05rem}.ascension-gauge-v2{display:grid;gap:.5rem}.ascension-gauge-v2>div{display:flex;justify-content:space-between;gap:1rem;font-weight:900}.ascension-gauge-v2 progress{width:100%;height:15px;accent-color:var(--berry)}.ascension-gauge-v2 p{margin:0;color:var(--ink-soft);font-size:.78rem}.ascension-requirements{display:grid;gap:.55rem;margin:0;padding:0;list-style:none}.ascension-requirements li{display:grid;grid-template-columns:32px 1fr;align-items:center;gap:.6rem;padding:.6rem;border:1px solid #c1a275;border-radius:12px;background:#ebd9ad73}.ascension-requirements li>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;color:#fff;background:#947a69}.ascension-requirements li.is-complete>span{background:#43835a}.ascension-requirements li>div{display:grid}.ascension-requirements small{color:var(--ink-soft)}.ascension-tradeoff{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin:.9rem 0}.ascension-tradeoff article{display:grid;grid-template-columns:48px 1fr;gap:.75rem;padding:1rem}.ascension-tradeoff-icon{display:grid;place-items:center;width:45px;height:45px;border-radius:14px;color:#fff;font-size:1.4rem;font-weight:1000}.ascension-tradeoff .is-loss .ascension-tradeoff-icon{background:#9d4e50}.ascension-tradeoff .is-kept .ascension-tradeoff-icon{background:#4f739a}.ascension-tradeoff .is-gain .ascension-tradeoff-icon{background:#3f8257}.ascension-tradeoff small{color:var(--berry);font-weight:1000;text-transform:uppercase}.ascension-tradeoff h2{margin:.18rem 0 .35rem;font-size:1.05rem}.ascension-tradeoff p{margin:0;color:var(--ink-soft);font-size:.78rem;line-height:1.4}.ascension-content-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);align-items:start;gap:.9rem}.ascension-preparation,.ascension-history-v2{padding:1rem}.ascension-preparation>header h2,.ascension-history-v2 h2{margin:.15rem 0}.ascension-preparation>header p{margin-top:.35rem;color:var(--ink-soft)}.ascension-skill-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;max-height:360px;overflow-y:auto;padding:.15rem}.ascension-skill-card{display:grid;grid-template-columns:34px 1fr;gap:.55rem;padding:.7rem;border:2px solid #c6aa78;border-radius:12px;background:#fff8df;cursor:pointer}.ascension-skill-card.is-selected{border-color:var(--berry);box-shadow:0 0 0 3px #ae3e6824;background:#f8e2e8}.ascension-skill-card input{position:absolute;opacity:0}.ascension-skill-card>span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;color:#fff;background:var(--berry)}.ascension-skill-card>div{display:grid}.ascension-skill-card small{color:var(--ink-soft);font-size:.68rem}.ascension-skill-card p{margin:.35rem 0 0;color:var(--ink-soft);font-size:.72rem}.ascension-consent-v2{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.7rem;margin:.85rem 0;padding:.75rem;border:1px solid #c8aa76;border-radius:12px;background:#f2e2b9}.ascension-consent-v2>span{display:grid}.ascension-consent-v2 small{color:var(--ink-soft)}.ascension-submit{width:100%}.ascension-history-v2>header{display:flex;align-items:center;justify-content:space-between}.ascension-history-v2>header>strong{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;color:#fff;background:var(--berry);font-size:1.35rem}.ascension-history-v2 ol{display:grid;gap:.5rem;margin:1rem 0 0;padding:0;list-style:none}.ascension-history-v2 li{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:.55rem;padding:.65rem;border-radius:11px;background:#f1dfae}.ascension-history-number{color:var(--berry);font-weight:1000}.ascension-history-v2 li>div{display:grid}.ascension-history-v2 li small,.ascension-history-v2 time{color:var(--ink-soft);font-size:.66rem}.ascension-empty-history{display:grid;place-items:center;min-height:180px;color:var(--ink-soft);text-align:center}.ascension-empty-history span{color:#bc7a98;font-size:3rem}@media(max-width:760px){.ascension-summary{grid-template-columns:1fr}.ascension-history li{align-items:flex-start;flex-direction:column}}.stat-tile{display:grid;gap:.4rem;padding:1rem;text-align:center}.stat-tile strong{color:var(--berry);font-size:2.5rem}.character-page{max-width:1500px;margin:0 auto}.character-page-heading{display:flex;align-items:end;justify-content:space-between;gap:1.5rem}.character-page-heading h1{margin-bottom:.25rem}.character-page-heading p{max-width:680px;margin:0}.character-heading-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem}.character-heading-badges span,.character-heading-badges strong{padding:.48rem .75rem;border:1px solid #9b6278;border-radius:999px;color:#5c2b44;background:#fff8e2c2;font-size:.78rem;font-weight:900}.character-heading-badges strong{border-color:#71364f;color:#fff;background:linear-gradient(145deg,#a84770,#71364f)}.character-overview{display:grid;grid-template-columns:190px minmax(0,1fr) 220px;gap:1.5rem;align-items:stretch;padding:1.25rem;overflow:hidden;background:radial-gradient(circle at 8% 10%,rgb(245 196 100 / 28%),transparent 28%),var(--panel)}.character-portrait-frame{position:relative;min-height:220px}.character-portrait-frame .fantasy-placeholder{width:100%;height:100%;min-height:220px}.character-portrait-frame>span{position:absolute;right:.65rem;bottom:.65rem;left:.65rem;padding:.5rem;border:2px solid #fff0bd;border-radius:999px;color:#fff;background:#48233ae5;box-shadow:0 3px #48233a59;font-size:.8rem;font-weight:1000;text-align:center}.character-progression-summary{display:grid;align-content:center;gap:1.1rem;min-width:0}.character-progress-title{display:flex;align-items:center;justify-content:space-between;gap:1rem}.character-progress-title>div{display:grid;gap:.18rem}.character-progress-title small{color:var(--berry);font-size:.72rem;font-weight:1000;letter-spacing:.08em;text-transform:uppercase}.character-progress-title strong{font-size:1.65rem}.character-progress-title b{display:grid;place-items:center;width:58px;height:58px;border:3px solid #d7a64a;border-radius:50%;color:#71364f;background:#fff4cf;font-size:.85rem}.character-experience-bar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.7rem;font-weight:900}.character-experience-bar progress{width:100%;height:13px;accent-color:var(--berry)}.character-experience-bar small{color:var(--ink-soft);white-space:nowrap}.character-point-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.character-point-summary>div{display:grid;grid-template-columns:1fr auto;gap:.15rem .75rem;padding:.75rem;border:1px solid rgb(117 62 86 / 28%);border-radius:14px;background:#f5dfaa61}.character-point-summary span{font-size:.8rem;font-weight:900}.character-point-summary strong{grid-row:1 / 3;grid-column:2;align-self:center;color:var(--berry);font-size:1.55rem}.character-point-summary small{color:var(--ink-soft);font-size:.68rem}.available-points{display:grid;align-content:center;justify-items:center;gap:.4rem;padding:1rem;border:2px dashed #b78a51;border-radius:18px;color:var(--ink-soft);background:#e5cf8e4d;text-align:center}.available-points.has-points{border-style:solid;border-color:#7e3d5a;color:#fff;background:linear-gradient(155deg,#a84770,#653047);box-shadow:0 5px #4c2638}.available-points span{font-size:.72rem;font-weight:1000;letter-spacing:.06em;text-transform:uppercase}.available-points strong{color:inherit;font-size:3.4rem;line-height:1}.available-points small{max-width:170px;line-height:1.35}.character-stats-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin:2rem 0 1rem}.character-stats-heading h2{margin:.15rem 0 0;font-size:clamp(1.6rem,2.8vw,2.25rem)}.character-stats-heading p{max-width:500px;margin:0;color:var(--ink-soft);text-align:right}.character-stats-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.85rem}.character-stat-card{display:flex;flex-direction:column;gap:.8rem;min-width:0;padding:1rem}.character-stat-card>header{display:flex;align-items:center;gap:.75rem}.character-stat-card>header>div{display:grid}.character-stat-card>header span:not(.character-stat-icon){color:var(--ink-soft);font-size:.75rem;font-weight:1000;text-transform:uppercase}.character-stat-card>header strong{color:var(--berry);font-size:2.25rem;line-height:1}.character-stat-icon{display:grid;flex:0 0 46px;place-items:center;width:46px;height:46px;border:2px solid #8f536c;border-radius:14px;color:#fff;background:linear-gradient(145deg,#b44b77,#73364f);box-shadow:0 3px #51283c;font-size:1.25rem}.character-stat-card>p{flex:1;min-height:2.7em;margin:0;color:var(--ink-soft);font-size:.78rem;line-height:1.35}.character-stat-card dl{display:grid;gap:.35rem;margin:0}.character-stat-card dl>div{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.4rem .55rem;border-radius:9px;background:#e6cf9657;font-size:.75rem}.character-stat-card dt{color:var(--ink-soft)}.character-stat-card dd{margin:0;font-weight:1000}.character-stat-card dl .has-bonus{color:#22653b;background:#5bae6b29}.character-stat-action{width:100%;min-height:43px;margin-top:.15rem;padding-inline:.5rem;font-size:.76rem}@media(max-width:1250px){.character-overview{grid-template-columns:170px minmax(0,1fr)}.available-points{grid-column:1 / -1;grid-template-columns:auto auto minmax(180px,1fr);justify-content:start;justify-items:start;text-align:left}.available-points strong{font-size:2rem}.available-points small{max-width:none}.character-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.item-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.item-card{display:grid;grid-template-columns:120px 1fr;gap:1rem;padding:1rem}.item-card>button,.item-card>label{grid-column:1 / -1}.collection-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1rem}.collection-heading p{max-width:720px;margin-bottom:0}.collection-counter{display:flex;flex:0 0 auto;align-items:baseline;gap:.35rem;padding:.7rem 1rem;border:2px solid #78415a;border-radius:16px;color:#fff;background:linear-gradient(145deg,#a84770,#71364f);box-shadow:0 4px #51283c}.collection-counter strong{font-size:1.7rem}.collection-counter span{font-size:.78rem;font-weight:900}.collection-toolbar{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin:1rem 0;padding:.8rem;border:2px solid #b48b62;border-radius:16px;background:#fff8ddd1}.collection-search{display:grid;flex:1 1 280px;gap:.3rem;font-size:.72rem;font-weight:900}.collection-search input{min-height:42px}.collection-filters{display:flex;flex-wrap:wrap;gap:.35rem}.collection-filters button{padding:.55rem .75rem;border:2px solid #86566a;border-radius:999px;color:#43263a;background:#fff8dd;font:inherit;font-size:.75rem;font-weight:900;cursor:pointer}.collection-filters button.is-active{color:#fff;background:var(--berry)}.collection-badges{display:flex;flex-wrap:wrap;gap:.35rem}.collection-badges span{padding:.25rem .5rem;border-radius:999px;color:#694456;background:#f1dfb9;font-size:.66rem;font-weight:900;text-transform:uppercase}.collection-empty{grid-column:1 / -1;padding:2rem;border:2px dashed #b7926b;border-radius:16px;text-align:center}.skill-loadout,.equipment-loadout{padding:1rem;border-width:3px;background:linear-gradient(145deg,#fff9e7,#ead8ac)}.skill-loadout>header,.equipment-loadout>header{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.skill-loadout h2,.equipment-loadout h2{margin:.2rem 0 0}.skill-loadout ol{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.55rem;margin:0;padding:0;list-style:none}.skill-loadout li{position:relative;display:grid;align-content:center;min-height:92px;padding:.7rem .55rem .55rem 2.2rem;border:2px dashed #b79a70;border-radius:13px;background:#fffae294}.skill-loadout li.is-filled{border-style:solid;border-color:#8c4565;background:#fff7da;box-shadow:inset 0 -4px #83415e1a}.skill-slot-number{position:absolute;top:.45rem;left:.45rem;display:grid;place-items:center;width:24px;aspect-ratio:1;border-radius:50%;color:#fff;background:#74405a;font-size:.7rem;font-weight:900}.skill-loadout li strong,.skill-loadout li small{display:block}.skill-loadout li small,.skill-slot-empty{margin-top:.2rem;color:#806776;font-size:.68rem}.skill-loadout li button{justify-self:start;margin-top:.45rem;padding:0;border:0;color:#a1355c;background:transparent;font-size:.7rem;font-weight:900;cursor:pointer}.skill-library{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.skill-card{display:grid;grid-template-columns:92px minmax(0,1fr);gap:.8rem;overflow:hidden;padding:.8rem;border-width:3px}.skill-card.is-equipped{border-color:#a13f69;box-shadow:0 5px #a06a3d,0 0 0 3px #b9386f1a}.skill-card .fantasy-placeholder{min-height:92px}.skill-card-copy h2{margin:.35rem 0;font-size:1.25rem}.skill-card-copy p{margin:0 0 .4rem;font-size:.82rem}.skill-card footer{display:flex;grid-column:1 / -1;align-items:end;justify-content:flex-end;gap:.6rem;padding-top:.65rem;border-top:1px dashed #c6a278}.skill-card footer label{display:grid;gap:.2rem;font-size:.68rem;font-weight:900}.skill-card footer select{min-width:80px;min-height:42px}.skill-card footer .fantasy-button{width:auto;min-width:145px;margin:0}.equipment-loadout ul{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.45rem;margin:0;padding:0;list-style:none}.equipment-loadout li button{display:grid;justify-items:center;width:100%;min-height:105px;padding:.55rem;border:2px dashed #b79a70;border-radius:13px;color:inherit;background:#fffae294;font:inherit;text-align:center;cursor:pointer}.equipment-loadout li.is-filled button{border-style:solid;border-color:#8c4565;background:#fff7da}.equipment-slot-icon{font-size:1.4rem}.equipment-loadout small,.equipment-loadout strong,.equipment-loadout em{display:block}.equipment-loadout small{color:#806776;font-size:.64rem}.equipment-loadout strong{margin-top:.15rem;font-size:.72rem}.equipment-loadout em{margin-top:.35rem;color:#a1355c;font-size:.65rem;font-style:normal;font-weight:900}.inventory-toolbar{align-items:center}.inventory-filters{justify-content:flex-end}.inventory-summary{margin:-.35rem 0 .8rem;color:#755a69;font-size:.78rem}.inventory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.inventory-card{display:grid;grid-template-columns:110px minmax(0,1fr);gap:.9rem;overflow:hidden;padding:.9rem;border-width:3px}.inventory-card.is-equipped{border-color:#a13f69}.inventory-card-visual{position:relative}.inventory-card-visual .fantasy-placeholder{min-height:110px}.inventory-card-visual>img,.skill-card-image{width:100%;aspect-ratio:1;object-fit:contain;border:2px solid #9b6276;border-radius:15px;background:#fffcf0d9}.inventory-card-visual>span{position:absolute;right:5px;bottom:5px;padding:.25rem .45rem;border-radius:999px;color:#fff;background:#a43f68;font-size:.62rem;font-weight:900}.inventory-card-copy h2{margin:.4rem 0;font-size:1.3rem}.inventory-card-copy>p{margin:0 0 .65rem;font-size:.82rem}.item-rank{padding:.6rem;border-radius:12px;background:#f1e2b9}.item-rank>div:first-child{display:flex;justify-content:space-between;gap:1rem;font-size:.72rem}.item-rank-pips{display:grid;grid-template-columns:repeat(5,1fr);gap:.25rem;margin:.45rem 0}.item-rank-pips i{height:8px;border-radius:999px;background:#c9b48c}.item-rank-pips i.is-filled{background:linear-gradient(90deg,#b83f70,#e49a47)}.item-rank small{color:#715463;font-size:.65rem}.item-stats{display:flex;flex-wrap:wrap;gap:.35rem;margin:.6rem 0 0;padding:0;list-style:none}.item-stats li{display:flex;gap:.35rem;padding:.3rem .5rem;border-radius:8px;background:#fff7dd;font-size:.7rem}.item-stats strong{color:#318254}.inventory-card footer{display:flex;grid-column:1 / -1;align-items:center;justify-content:space-between;gap:.7rem;padding-top:.65rem;border-top:1px dashed #c6a278}.inventory-card footer>span{color:#86405f;font-size:.75rem;font-weight:900}.inventory-card footer .fantasy-button{width:auto;min-width:130px;margin:0}.adventure-zones{display:grid;gap:1rem}.adventure-zone{display:grid;grid-template-columns:minmax(180px,280px) 1fr;gap:1rem;padding:1rem}.adventure-zone>ul{grid-column:1 / -1;margin:0;padding:0;list-style:none}.adventure-zone li{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 0;border-top:2px dashed #d8bd8f}.adventure-zone li div,.adventure-zone li small{display:block}.adventure-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem}.adventure-heading>div{max-width:760px}.adventure-offers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.25rem}.adventure-offer{display:flex;min-width:0;flex-direction:column;gap:.9rem;padding:1rem}.adventure-offer-image{width:100%;aspect-ratio:16 / 9;border:3px solid var(--border);border-radius:14px;object-fit:cover;background:#d8c08b;box-shadow:0 4px #b98244}.adventure-offer-copy{flex:1}.adventure-offer-copy h2{margin:.25rem 0 .5rem}.adventure-offer-copy p{margin:0}.adventure-offer-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin:0}.adventure-offer-stats div{padding:.55rem;border-radius:10px;background:#f5dfaa}.adventure-offer-stats .channel-duration{grid-column:1 / -1;background:#dce9b4}.adventure-offer-stats .skill-drop-hint{background:linear-gradient(135deg,#eadcf6,#f6dfef)}.adventure-offer-stats .skill-drop-hint dd{color:#7d315e}.adventure-offer-stats dt{color:#6d4b3d;font-size:.75rem;font-weight:900;text-transform:uppercase}.adventure-offer-stats dd{margin:.15rem 0 0;font-weight:900}.adventure-channeling{margin-top:1.25rem;padding:1.2rem;border-color:#7b8e3f;background:linear-gradient(135deg,#fffaf0,#edf3cf)}.adventure-channeling-title,.adventure-channeling-meta{display:flex;align-items:center;justify-content:space-between;gap:1rem}.adventure-channeling-title h2{margin:.2rem 0 .7rem}.adventure-channeling-title>strong{color:var(--berry);font-size:1.3rem}.adventure-channeling progress{width:100%;height:20px;accent-color:#5c8f45}.adventure-channeling-meta{margin-top:.35rem;font-size:.85rem}.combat-replay{margin-top:1.5rem;padding:1rem}.combatants{display:flex;justify-content:center;gap:1rem;padding:1rem;border-radius:16px;background:#f5dfaa;font-size:1.2rem}.combat-log{max-height:360px;overflow:auto;padding-left:1.5rem}.combat-canvas{width:100%;max-width:800px;aspect-ratio:40 / 17;margin:1rem auto;overflow:hidden;border:3px solid var(--border);border-radius:16px;background:#2c1d18}.combat-stage{position:relative;display:grid;grid-template-columns:1fr auto 1fr;align-items:end;min-height:340px;padding:1rem clamp(1rem,5vw,3rem) 3.8rem;isolation:isolate;color:#fff9df;background:linear-gradient(180deg,#36454b14,#1923199e),url(/assets/backgrounds/world-background.png) center 62% / cover}.combat-stage__sky{position:absolute;z-index:-1;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 25%,rgb(255 249 206 / 30%),transparent 45%)}.combat-stage__versus{align-self:center;padding:.45rem;color:#fff4c2;text-shadow:0 3px 0 #713247;font-size:clamp(1.2rem,4vw,2rem);font-weight:1000}.combat-fighter{position:relative;display:grid;justify-items:center;min-width:0;transform-origin:bottom}.combat-fighter>strong{width:min(190px,100%);overflow:hidden;margin-bottom:.25rem;text-align:center;text-overflow:ellipsis;text-shadow:0 2px 2px #25151d;white-space:nowrap}.combat-fighter__avatar{width:clamp(100px,16vw,170px);filter:drop-shadow(0 12px 8px rgb(24 20 17 / 45%))}.combat-enemy-visual{display:block;width:100%;aspect-ratio:1;object-fit:contain}.combat-fighter--enemy .combat-fighter__avatar{transform:scaleX(-1)}.combat-fighter--player.is-attacking{animation:combatLungeRight .7s ease-in-out}.combat-fighter--enemy.is-attacking{animation:combatLungeLeft .7s ease-in-out}.combat-fighter.is-hit .combat-fighter__avatar{animation:combatHit .55s ease-out}.combat-health{width:min(190px,90%);height:14px;overflow:hidden;border:2px solid #3d2731;border-radius:999px;background:#492e36;box-shadow:0 2px #00000059}.combat-health i{display:block;height:100%;background:linear-gradient(90deg,#388f4e,#77c96c);transition:width .35s ease}.combat-fighter>small{margin-top:.15rem;text-shadow:0 1px 2px #25151d}.combat-impact{position:absolute;top:42%;color:#fff5a9;text-shadow:0 0 18px #ff6b3d;font-size:3.4rem;animation:combatImpact .55s ease-out}.combat-stage__action{position:absolute;right:1rem;bottom:.7rem;left:1rem;display:flex;align-items:center;justify-content:center;gap:.75rem;min-height:42px;padding:.45rem .8rem;border:2px solid rgb(255 234 174 / 70%);border-radius:12px;color:#3d2731;background:#fff8dce5;animation:combatActionIn .25s ease-out}.combat-stage__action span{color:#bd3737;font-size:1.2rem;font-weight:1000}.combat-stage__action span.is-critical{color:#e34b21;font-size:1.45rem}.combat-stage__action span.is-heal{color:#348b4a}@keyframes combatLungeRight{45%{transform:translate(clamp(35px,8vw,95px)) scale(1.04)}}@keyframes combatLungeLeft{45%{transform:translate(clamp(-95px,-8vw,-35px)) scale(1.04)}}@keyframes combatHit{20%,60%{transform:translate(-8px);filter:brightness(1.8) sepia(1) saturate(4)}40%,80%{transform:translate(8px)}}@keyframes combatImpact{0%{opacity:1;transform:scale(.4) rotate(-25deg)}to{opacity:0;transform:scale(1.7) rotate(20deg)}}@keyframes combatActionIn{0%{opacity:0;transform:translateY(8px)}}@media(max-width:600px){.combat-stage{min-height:280px;padding-inline:.5rem}.combat-fighter__avatar{width:92px}.combat-stage__versus{padding:.15rem}}.arena-profile{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.2rem;padding:1rem}.arena-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:1.2rem}.arena-grid>section{padding:1rem}.arena-history,.arena-notifications{grid-column:1 / -1}.arena-section-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.arena-opponent-selection .arena-section-heading{align-items:flex-start;margin-bottom:.35rem}.arena-opponent-selection .arena-section-heading h2{margin:.15rem 0 0}@media(max-width:560px){.arena-opponent-selection .arena-section-heading{flex-direction:column}.arena-opponent-selection .arena-section-heading .fantasy-button{width:100%}}.arena-list li.unread{padding-inline:.75rem;border-left:4px solid var(--gold);background:#ffecae59}.arena-list,.arena-ranking{margin:0;padding:0;list-style:none}.arena-list li,.arena-ranking li{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.75rem 0;border-bottom:2px dashed #d8bd8f}.arena-list small{display:block}.arena-list li.arena-opponent{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.55rem .75rem;padding:.8rem 0}.arena-opponent-identity{min-width:0}.arena-difficulty{display:inline-flex;align-items:center;justify-content:center;padding:.25rem .55rem;border:1px solid currentColor;border-radius:999px;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.arena-difficulty.difficulty-easy{color:#397b46;background:#e2f1d7}.arena-difficulty.difficulty-normal{color:#86571d;background:#f8e2aa}.arena-difficulty.difficulty-hard{color:#a22f48;background:#f5d2d8}.arena-stakes{display:flex;grid-column:1 / -1;align-items:center;justify-content:space-between;gap:.75rem;padding:.55rem .65rem;border-radius:9px;background:#efdcb58c}.arena-stakes>span{display:grid}.arena-stakes>span:last-child{text-align:right}.arena-stakes small{color:#745a67;font-size:.68rem}.arena-opponent>.fantasy-button{grid-column:1 / -1;width:100%}.arena-result-stakes{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem 1rem;margin-top:.65rem;padding:.65rem;border-radius:10px;background:#f2deb48c}.arena-result-stakes>span:not(.arena-difficulty){padding-left:.75rem;border-left:1px solid #c59d78}@media(max-width:560px){.arena-stakes{align-items:flex-start;flex-direction:column}.arena-stakes>span:last-child{text-align:left}.arena-result-stakes{align-items:flex-start;flex-direction:column}.arena-result-stakes>span:not(.arena-difficulty){padding-left:0;border-left:0}}.rating-up{color:#287247;font-weight:900}.rating-down{color:var(--berry);font-weight:900}.combat-log li{padding:.55rem;border-bottom:1px dashed #d8bd8f}.combat-log li span{display:inline-block;min-width:70px;color:var(--berry);font-weight:900}.dashboard-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:1.2rem}.dashboard-grid article{padding:1rem}.quest-card{grid-row:span 2}.quest-card .fantasy-placeholder{margin-bottom:1rem}.stat-card li{display:flex;justify-content:space-between;gap:1rem;padding:.75rem 0;border-bottom:2px dashed #d8bd8f}.preparation-card{overflow:hidden;padding:1rem}.preparation-card>header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.65rem}.preparation-card h2{margin:.15rem 0 0}.preparation-card>p{color:var(--ink-soft);line-height:1.45}.preparation-level{padding:.45rem .7rem;border:2px solid var(--berry);border-radius:999px;color:var(--berry);background:#fff2c7;font-size:.8rem;font-weight:1000}.preparation-experience{display:grid;gap:.45rem;margin:.9rem 0;padding:.7rem;border-radius:12px;background:#f2e2b7}.preparation-experience>span{display:flex;justify-content:space-between;gap:1rem}.preparation-experience progress{width:100%;accent-color:var(--berry)}.preparation-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin:0;padding:0;list-style:none}.stat-card .preparation-stats li{display:grid;grid-template-columns:1fr auto;align-content:start;gap:.25rem .5rem;min-width:0;padding:.65rem;border:2px solid #ddc293;border-radius:11px;background:#fff8df}.preparation-stats li>span{min-width:0;font-weight:800}.preparation-stats i{display:inline-grid;place-items:center;width:20px;color:var(--berry);font-style:normal}.preparation-stats li>strong{text-align:right}.preparation-stats li>small{grid-column:1 / -1;color:var(--ink-soft);text-align:right}.dashboard-character-link{width:100%;margin-top:.8rem;padding:.55rem;border:0;color:var(--berry);background:transparent;font-weight:900;cursor:pointer;text-align:right}.dashboard-character-link:hover,.dashboard-character-link:focus-visible{text-decoration:underline}.ranking-page{max-width:1500px;margin:0 auto}.ranking-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem}.ranking-heading p{max-width:720px;margin-bottom:0}.ranking-own-position{display:grid;min-width:150px;padding:.75rem 1rem;border:2px solid #77405a;border-radius:16px;color:#fff;background:linear-gradient(145deg,#a84770,#683148);box-shadow:0 4px #4c2638;text-align:center}.ranking-own-position span{font-size:.7rem;font-weight:900;text-transform:uppercase}.ranking-own-position strong{font-size:1.8rem}.ranking-scope-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-bottom:.9rem}.ranking-scope-tabs button{display:grid;grid-template-columns:48px 1fr;gap:.1rem .75rem;padding:.85rem 1rem;border:2px solid #9b6b78;border-radius:16px;color:var(--ink);background:#fff8e2bd;cursor:pointer;text-align:left}.ranking-scope-tabs button>span{grid-row:1 / 3;align-self:center;color:var(--berry);font-size:2rem;text-align:center}.ranking-scope-tabs button strong{font-size:1rem}.ranking-scope-tabs button small{color:var(--ink-soft)}.ranking-scope-tabs button.is-active{border-color:#5b2b42;color:#fff;background:linear-gradient(145deg,#a84770,#683148);box-shadow:0 4px #4c2638}.ranking-scope-tabs button.is-active>span,.ranking-scope-tabs button.is-active small{color:#fff3c8}.ranking-category-tabs{display:flex;gap:.5rem;overflow-x:auto;margin-bottom:1.25rem;padding:.35rem .1rem .5rem}.ranking-category-tabs button{display:flex;flex:0 0 auto;align-items:center;gap:.45rem;min-height:40px;padding:.5rem .8rem;border:2px solid #815067;border-radius:999px;color:var(--ink);background:#fff7dc;font-weight:900;cursor:pointer}.ranking-category-tabs button.is-active{color:#fff;background:#71364f}.ranking-podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:.8rem;max-width:980px;margin:0 auto 1.2rem;padding-top:1rem}.ranking-podium-place{position:relative;display:grid;justify-items:center;padding:1rem;border:3px solid #744359;border-radius:20px;background:linear-gradient(180deg,#fff9e9,#eedda9);box-shadow:0 6px #9b683a;text-align:center}.ranking-podium-place.rank-1{grid-column:2;grid-row:1;min-height:190px;border-color:#b58120;background:linear-gradient(180deg,#fff9d8,#edc969);box-shadow:0 8px #9c681c}.ranking-podium-place.rank-2{grid-column:1;grid-row:1}.ranking-podium-place.rank-3{grid-column:3;grid-row:1}.ranking-medal{display:grid;place-items:center;width:48px;height:48px;margin-top:-2rem;border:3px solid #fff1bd;border-radius:50%;color:#fff;background:#8d4262;box-shadow:0 3px #5b2d42;font-size:1.35rem}.rank-1 .ranking-medal{background:#c58d20;box-shadow:0 3px #895d15}.ranking-podium-place small{margin-top:.45rem;color:var(--ink-soft);font-weight:900}.ranking-podium-place h2{margin:.2rem 0;font-size:1.15rem}.ranking-podium-place>strong{color:var(--berry)}.ranking-podium-place p{margin:.35rem 0 0;color:var(--ink-soft);font-size:.75rem}.ranking-board{overflow:hidden;padding:0}.ranking-board>header{display:flex;align-items:end;justify-content:space-between;gap:1rem;padding:1rem 1.15rem;border-bottom:2px solid #d4b575;background:#f0d89f73}.ranking-board>header h2{margin:.15rem 0 0}.ranking-board>header>small{color:var(--ink-soft)}.ranking-table{overflow-x:auto}.ranking-table-header,.ranking-row{display:grid;grid-template-columns:70px minmax(210px,1.5fr) repeat(4,minmax(80px,.55fr));align-items:center;min-width:780px;gap:.5rem;padding:.7rem 1rem}.ranking-table-header{color:#fff;background:#633047;font-size:.68rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.ranking-row{border-bottom:1px dashed #d8bd8f}.ranking-row:nth-child(odd){background:#eedcae40}.ranking-row.is-own{box-shadow:inset 4px 0 0 var(--berry);background:#bc406f1a}.ranking-number{color:var(--ink-soft)}.ranking-number.top-three{color:#a0601f;font-size:1.1rem}.ranking-identity{display:grid;gap:.15rem}.ranking-identity small{overflow:hidden;color:var(--ink-soft);font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}.dashboard-v2{max-width:1500px;margin:0 auto}.dashboard-welcome{display:flex;align-items:end;justify-content:space-between;gap:1rem}.dashboard-welcome p{margin-bottom:0}.dashboard-hero-strip{display:grid;grid-template-columns:130px minmax(260px,1fr) minmax(330px,.85fr);align-items:center;gap:1.25rem;padding:1rem 1.25rem;background:radial-gradient(circle at 7% 50%,rgb(197 130 40 / 25%),transparent 17%),var(--panel)}.dashboard-level-emblem{display:grid;place-items:center;width:105px;height:105px;border:4px solid #d4a74c;border-radius:50%;color:#fff;background:linear-gradient(145deg,#a84770,#603047);box-shadow:0 5px #4b2939;line-height:1}.dashboard-level-emblem small,.dashboard-level-emblem span{font-size:.65rem;font-weight:900;text-transform:uppercase}.dashboard-level-emblem strong{font-size:2.3rem}.dashboard-main-progress{display:grid;gap:.4rem}.dashboard-main-progress>div{display:flex;justify-content:space-between;gap:1rem;font-weight:900}.dashboard-main-progress progress{width:100%;height:15px;accent-color:var(--berry)}.dashboard-main-progress small{color:var(--ink-soft);text-align:right}.dashboard-key-resources{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.dashboard-key-resources>div{display:grid;grid-template-columns:auto 1fr;gap:.05rem .45rem;padding:.65rem;border:1px solid #c5a36c;border-radius:12px;background:#f5dfaa73}.dashboard-key-resources>div>span{grid-row:1 / 3;align-self:center;color:var(--berry);font-size:1.2rem}.dashboard-key-resources small{color:var(--ink-soft);font-size:.65rem;font-weight:900;text-transform:uppercase}.dashboard-key-resources strong{font-size:1rem}.dashboard-alert{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:.8rem;width:100%;margin:.85rem 0;padding:.75rem 1rem;border:2px solid #754059;border-radius:15px;color:#fff;background:linear-gradient(100deg,#7c3856,#a84871);box-shadow:0 4px #52293c;cursor:pointer;text-align:left}.dashboard-alert>span:first-child{font-size:1.7rem;text-align:center}.dashboard-alert>span:nth-child(2){display:grid}.dashboard-alert small{color:#ffecc5}.dashboard-action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;margin-top:1rem}.dashboard-action{display:grid;grid-template-columns:50px 1fr;gap:.75rem;padding:1rem}.dashboard-action.is-featured{border-color:#9d6d24;background:linear-gradient(150deg,#fff8df,#efd08a)}.dashboard-action.has-attention{box-shadow:0 6px #a9682d,0 0 0 3px #dd9a3c2e}.dashboard-action-icon{display:grid;place-items:center;width:48px;height:48px;border:2px solid #855069;border-radius:14px;color:#fff;background:linear-gradient(145deg,#ab4772,#6a344c);box-shadow:0 3px #4f293a;font-size:1.35rem}.dashboard-action>div>small{color:var(--berry);font-size:.65rem;font-weight:1000;letter-spacing:.06em;text-transform:uppercase}.dashboard-action h2{margin:.15rem 0 .35rem;font-size:1.15rem}.dashboard-action p{margin:0;color:var(--ink-soft);font-size:.78rem;line-height:1.4}.dashboard-action footer{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding-top:.7rem;border-top:1px dashed #cfb07d;font-size:.72rem}.dashboard-action footer button{border:0;color:var(--berry);background:transparent;font-weight:1000;cursor:pointer}.dashboard-lower-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin-top:.85rem}.dashboard-ascension-card,.dashboard-ranking-preview{padding:1rem}.dashboard-ascension-card>header{display:flex;align-items:center;justify-content:space-between}.dashboard-ascension-card h2,.dashboard-ranking-preview h2{margin:.15rem 0}.dashboard-ascension-card>header>strong{color:var(--berry);font-size:1.5rem}.dashboard-ascension-card progress{width:100%;accent-color:#b07a26}.dashboard-ranking-preview{display:grid;grid-template-columns:1fr auto;gap:.75rem 1rem}.dashboard-ranking-preview>div>p{margin:.35rem 0 0;color:var(--ink-soft)}.dashboard-rank-values{display:flex;gap:.55rem}.dashboard-rank-values>span{display:grid;min-width:85px;place-items:center;padding:.55rem;border-radius:12px;background:#f2dfab}.dashboard-rank-values small{color:var(--ink-soft);font-size:.6rem;text-transform:uppercase}.dashboard-rank-values strong{color:var(--berry);font-size:1.25rem}.dashboard-ranking-preview>button{grid-column:1 / -1}.village-preview{display:grid;grid-template-columns:110px 1fr;gap:1rem}.village-preview .fantasy-placeholder{grid-row:span 2}.village-resources{display:grid;grid-template-columns:1fr minmax(280px,1fr) auto;align-items:center;gap:1rem;margin-bottom:1.2rem;padding:1rem}.village-resources ul{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem;margin:0;padding:0;list-style:none}.village-resources li{display:grid;padding:.6rem;border-radius:12px;background:#f5dfaa;text-align:center}.village-bonuses{margin-bottom:1.2rem;padding:1rem}.village-bonuses ul{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem;margin:1rem 0 0;padding:0;list-style:none}.village-bonuses li{display:grid;gap:.3rem;padding:.8rem;border-radius:12px;background:#f5dfaa}.upgrade-prerequisite{color:var(--berry);font-weight:800}.village-buildings{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem}.village-building{display:grid;grid-template-columns:150px 1fr;gap:1rem;padding:1rem}.upgrade-status{color:var(--berry);font-weight:900}.village-page-heading{display:flex;align-items:end;justify-content:space-between;gap:1.5rem;margin-bottom:1.2rem}.village-page-heading h1{margin-bottom:.55rem}.village-page-heading p{max-width:680px;margin-bottom:0}.village-collect-button{display:inline-flex;flex:0 0 auto;align-items:center;gap:.5rem}.village-resource-bar{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:1.2rem;margin-bottom:1rem;padding:.8rem 1rem;border:3px solid #7e5539;border-radius:18px;background:linear-gradient(180deg,#fff8df,#ead6a5);box-shadow:0 5px #9d6a3e,0 10px 28px #422a1829}.village-resource-title{min-width:115px;padding-right:1rem;border-right:2px solid #c5a877}.village-resource-title small{display:block;margin-top:.2rem;color:var(--ink-soft)}.village-resource-bar ul{display:grid;grid-template-columns:repeat(6,minmax(85px,1fr));gap:.55rem;margin:0;padding:0;list-style:none}.village-resource-bar li{display:flex;align-items:center;gap:.5rem;min-width:0;padding:.5rem .6rem;border:1px solid rgb(112 76 45 / 28%);border-radius:12px;background:#fffce7ad}.village-resource-bar li>span:last-child{min-width:0}.village-resource-bar small,.village-resource-bar strong{display:block;overflow:hidden;text-overflow:ellipsis}.village-resource-bar small{color:var(--ink-soft);font-size:.72rem;text-transform:capitalize}.resource-symbol{display:grid;flex:0 0 auto;place-items:center;width:31px;aspect-ratio:1;border-radius:50%;color:#fff;background:#8c6b4a;box-shadow:inset 0 -3px #0000002e}.resource-symbol--wood{background:#8a5431}.resource-symbol--stone{background:#69757b}.resource-symbol--food{background:#b88922}.resource-symbol--gold{background:#d49b19}.resource-symbol--iron{background:#53646d}.resource-symbol--crystal{background:#6284c7}.village-workspace{display:grid;grid-template-columns:minmax(560px,1.65fr) minmax(300px,.7fr);align-items:start;gap:1rem}.village-map-frame{position:relative;container-name:village-map;container-type:inline-size;overflow:hidden;padding:0;border:3px solid #70472d;border-radius:24px;background:#4f391f;box-shadow:0 7px #8b5a34,0 18px 40px #35211240,inset 0 0 0 2px #efd598}.village-map{position:relative;overflow:hidden;width:100%;aspect-ratio:4 / 3;min-height:500px;border-radius:20px;background:#49682d url(/assets/village/village-background.webp) center / 100% 100% no-repeat;isolation:isolate}.village-map:after{position:absolute;z-index:1;top:0;right:0;bottom:0;left:0;border:1px solid rgb(255 236 161 / 34%);border-radius:inherit;box-shadow:inset 0 0 32px #22180c3d;pointer-events:none;content:""}.village-hills{position:absolute;z-index:0;top:-12%;right:-8%;width:44%;height:43%;border-radius:48%;background:radial-gradient(ellipse at 45% 65%,#829f55 0 52%,#668144 54% 72%,transparent 74%);filter:drop-shadow(-10px 12px 8px rgb(36 64 29 / 20%))}.village-river{position:absolute;z-index:1;right:-7%;bottom:-22%;width:64%;height:51%;border:5px solid rgb(72 131 141 / 32%);border-radius:50% 0 0;background:repeating-linear-gradient(170deg,transparent 0 18px,rgb(255 255 255 / 16%) 19px 21px),linear-gradient(160deg,#78c5c3,#4f9fae);transform:rotate(-8deg);box-shadow:inset 8px 10px #ffffff1a}.village-road{position:absolute;z-index:2;border:2px dashed rgb(130 94 51 / 24%);background:#d1b676;box-shadow:inset 0 0 0 3px #fff2b42b,0 2px 4px #41311b29}.village-road--horizontal{top:47%;left:4%;width:88%;height:10%;border-radius:48%;transform:rotate(-3deg)}.village-road--vertical{top:8%;left:46%;width:9%;height:82%;border-radius:48%;transform:rotate(7deg)}.village-plaza{position:absolute;z-index:3;top:45%;left:49%;width:15%;aspect-ratio:1;border:3px solid #9d8052;border-radius:50%;background:repeating-conic-gradient(#c9af77 0,#c9af77 10deg,#bba169 10deg,#bba169 20deg);transform:translate(-50%,-50%) rotate(-6deg);box-shadow:0 5px 8px #3a2b1638}.village-bridge{position:absolute;z-index:4;right:19%;bottom:19%;width:17%;height:6%;border:3px solid #67452f;border-radius:8px;background:repeating-linear-gradient(90deg,#aa7042 0,#aa7042 10px,#70472d 11px,#70472d 13px);transform:rotate(-12deg);box-shadow:0 5px 6px #1c362f47}.village-trees i{position:absolute;z-index:3;width:34px;height:44px;border:3px solid #355d35;border-radius:55% 55% 45% 45%;background:radial-gradient(circle at 34% 28%,#8bc35f 0,#8bc35f 16%,#4c8a47 17%,#4c8a47 64%,#386e3c 65%);box-shadow:0 7px 0 -3px #735034,4px 8px 8px #25451f4d}.village-trees i:nth-child(1){top:8%;left:4%}.village-trees i:nth-child(2){top:39%;left:4%;transform:scale(.8)}.village-trees i:nth-child(3){top:83%;left:27%;transform:scale(.75)}.village-trees i:nth-child(4){top:6%;left:66%;transform:scale(.7)}.village-trees i:nth-child(5){top:45%;right:3%;transform:scale(.9)}.village-building-slot{position:absolute;z-index:8;display:grid;justify-items:center;width:min(360px,30cqw);padding:0;border:0;color:#33231d;background:transparent;font:inherit;line-height:1;text-align:center;transform:translate(-50%,-50%);cursor:pointer;filter:drop-shadow(0 5px 4px rgb(54 35 18 / 28%));transition:transform .16s ease,filter .16s ease}.village-building-slot:hover,.village-building-slot:focus-visible,.village-building-slot.is-selected{z-index:12;transform:translate(-50%,-53%) scale(1.08);filter:drop-shadow(0 7px 5px rgb(54 35 18 / 32%));outline:none}.village-building-slot.is-selected .building-art{border-color:transparent;background:radial-gradient(circle,rgb(255 238 142 / 38%),transparent 70%);box-shadow:none;filter:drop-shadow(0 0 3px #fff5bd) drop-shadow(0 0 8px #c94177)}.village-building-slot>strong{position:relative;z-index:6;max-width:min(190px,25cqw);margin-top:clamp(-3px,-.25cqw,-1px);padding:clamp(3px,.42cqw,5px) clamp(5px,.84cqw,10px);border:2px solid #64452f;border-radius:8px;background:linear-gradient(180deg,#fff7d8,#ead49d);box-shadow:0 3px #9a693d,0 5px 10px #4029172e;font-size:clamp(.55rem,1cqw,.76rem);white-space:nowrap}.building-level{position:absolute;z-index:12;top:clamp(1px,.34cqw,4px);right:0;padding:clamp(2px,.34cqw,4px) clamp(3px,.5cqw,6px);border:2px solid #fff4c7;border-radius:20px;color:#fff;background:var(--berry);box-shadow:0 2px #5e263d;font-size:clamp(.5rem,.86cqw,.65rem);font-weight:1000}.building-art{position:relative;display:block;overflow:hidden;width:min(340px,28.333cqw);height:min(290px,24.167cqw);border:2px solid transparent;border-radius:36% 36% 43% 43%;transition:background .16s ease,box-shadow .16s ease}.building-image{display:block;width:100%;height:100%;object-fit:contain;-webkit-user-select:none;user-select:none}.village-building-slot--sanctuary .building-image,.village-building-slot--library .building-image{transform:scale(.94)}.building-shadow{position:absolute;right:2px;bottom:0;left:2px;height:18px;border-radius:50%;background:#323c1f47}.building-body{position:absolute;z-index:2;right:13px;bottom:8px;left:13px;height:42px;border:3px solid #64442f;border-radius:8px 8px 11px 11px;background:repeating-linear-gradient(90deg,#d8b075 0,#d8b075 17px,#bd8b57 18px,#bd8b57 21px);box-shadow:inset 0 -8px #5c3a231f}.building-roof{position:absolute;z-index:4;top:5px;left:17px;width:55px;height:43px;border:3px solid #653829;border-radius:7px;background:repeating-linear-gradient(135deg,#ae4938 0,#ae4938 9px,#873326 10px,#873326 13px);transform:rotate(45deg) skew(-5deg,-5deg)}.building-symbol{position:absolute;z-index:7;top:31px;left:50%;display:grid;place-items:center;width:28px;height:28px;border:2px solid #694832;border-radius:50%;background:#ffe6a5;font-size:1rem;transform:translate(-50%)}.building-chimney{position:absolute;z-index:3;top:5px;right:15px;width:10px;height:23px;border:2px solid #5d4030;background:#9b6850}.building-smoke{position:absolute;z-index:2;top:-7px;right:7px;width:16px;height:18px;border-radius:50%;background:#f2edd6b8;animation:villageSmoke 2.8s ease-in-out infinite}.village-building-slot--mine .building-body{right:5px;left:5px;height:46px;border-radius:48% 48% 10px 10px;background:radial-gradient(ellipse at 50% 72%,#302a28 0 26%,transparent 27%),linear-gradient(135deg,#8a8174,#504d49)}.village-building-slot--mine .building-roof,.village-building-slot--mine .building-chimney,.village-building-slot--mine .building-smoke{display:none}.village-building-slot--farm .building-body{background:repeating-linear-gradient(90deg,#e2c47e 0,#e2c47e 10px,#ba8c4d 11px,#ba8c4d 14px)}.village-building-slot--farm .building-roof{background:repeating-linear-gradient(135deg,#e6be52 0,#e6be52 6px,#bd8b2f 7px,#bd8b2f 10px)}.village-building-slot--forge .building-body{background:repeating-linear-gradient(90deg,#9b7d68 0,#9b7d68 15px,#725949 16px,#725949 19px)}.village-building-slot--forge .building-smoke{background:#5a5a569e}.village-building-slot--barracks .building-body{background:repeating-linear-gradient(90deg,#b7795e 0,#b7795e 18px,#88513e 19px,#88513e 22px)}.village-building-slot--library .building-body{background:repeating-linear-gradient(90deg,#c99a68 0,#c99a68 14px,#a57448 15px,#a57448 18px)}.village-building-slot--library .building-roof{background:repeating-linear-gradient(135deg,#5e789c 0,#5e789c 9px,#435c80 10px,#435c80 13px)}.village-building-slot--sanctuary .building-body{right:18px;left:18px;border-radius:24px 24px 8px 8px;background:linear-gradient(90deg,#e4d9c1,#fff7e4,#c9bea8)}.village-building-slot--sanctuary .building-roof{left:24px;width:40px;height:40px;border-color:#856722;background:linear-gradient(135deg,#f2d65f,#bd8e24)}.village-building-slot--sanctuary .building-symbol{color:#8b3761}.building-work-badge{position:absolute;z-index:15;bottom:clamp(9px,2cqw,24px);padding:clamp(2px,.25cqw,3px) clamp(3px,.5cqw,6px);border-radius:10px;color:#fff;background:#a46127;font-size:clamp(.48rem,.8cqw,.6rem);font-weight:900;animation:villageWorkPulse 1.2s ease-in-out infinite}.village-map-help{position:absolute;z-index:30;right:18px;bottom:12px;margin:0;padding:6px 10px;border-radius:14px;color:#fff;background:#30231ab8;font-size:.72rem;pointer-events:none}.village-resident{position:absolute;z-index:20;display:block;width:17px;height:28px;filter:drop-shadow(2px 3px 2px rgb(41 31 20 / 30%));pointer-events:none}.resident-head{position:absolute;z-index:2;top:0;left:4px;width:10px;height:10px;border:2px solid #5f3d29;border-radius:50%;background:#efbd87}.resident-body{position:absolute;top:9px;left:2px;width:14px;height:15px;border:2px solid #553b31;border-radius:6px 6px 4px 4px;background:#8b3f59}.resident-body:before,.resident-body:after{position:absolute;bottom:-7px;width:4px;height:8px;border-radius:3px;background:#50382e;content:""}.resident-body:before{left:1px}.resident-body:after{right:1px}.village-resident--porter{animation:residentPorter 17s linear infinite}.village-resident--farmer{animation:residentFarmer 14s linear -5s infinite}.village-resident--farmer .resident-body{background:#d19b3a}.village-resident--smith{animation:residentSmith 12s linear -2s infinite}.village-resident--smith .resident-body{background:#596b72}.village-resident--scholar{animation:residentScholar 19s linear -9s infinite}.village-resident--scholar .resident-body{background:#506b9a}.village-resident--guard{animation:residentGuard 15s linear -7s infinite}.village-resident--guard .resident-body{background:#8f3d38}.village-building-panel{position:sticky;top:1rem;overflow:hidden;padding:1rem;border-width:3px}.village-building-panel>header{display:flex;align-items:center;gap:.8rem;margin:-1rem -1rem 1rem;padding:1rem;color:#fff;background:radial-gradient(circle at 100% 0,rgb(255 229 139 / 18%),transparent 36%),linear-gradient(135deg,#5f3048,#9b496d)}.village-building-panel h2{margin:.15rem 0 .25rem;color:#fff;font-size:1.65rem}.village-building-panel header .eyebrow{color:#ffe58c;font-size:.65rem}.panel-building-icon{display:grid;flex:0 0 auto;place-items:center;overflow:hidden;width:92px;aspect-ratio:1;border:3px solid #ffe6a0;border-radius:22px;color:#542f41;background:#fff0ba;box-shadow:0 4px #5b293e;font-size:1.8rem}.panel-building-icon img{display:block;width:100%;height:100%;object-fit:contain}.building-panel-level{display:inline-block;padding:3px 8px;border-radius:20px;color:#432635;background:#ffe8a2;font-size:.75rem;font-weight:900}.building-characteristics{display:grid;grid-template-columns:repeat(2,1fr);gap:.55rem;margin:1rem 0}.building-characteristics>div{padding:.7rem;border:2px solid #dec69a;border-radius:12px;background:#fff7dc}.building-characteristics small,.building-characteristics strong{display:block}.building-characteristics small{margin-bottom:.25rem;color:var(--ink-soft)}.building-effect-card{grid-column:1 / -1}.building-tip,.building-max-level{padding:.65rem;border-radius:10px;background:#efe2bb;font-weight:800}.building-next-upgrade{padding-top:.9rem;border-top:2px dashed #d0ae78}.building-next-heading{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.building-costs{display:grid;grid-template-columns:repeat(2,1fr);gap:.45rem;margin:.8rem 0;padding:0;list-style:none}.building-costs li{padding:.5rem;border-radius:9px;background:#eddfb8;font-size:.78rem}.building-costs li.is-missing{border-color:#b65454;color:#7d3131;background:#f8d8cf}.building-costs li.is-sufficient{border-color:#78a26b;background:#e4efcb}.building-costs li>span:nth-child(2){display:grid}.building-costs li>small{grid-column:1 / -1;font-size:.62rem;font-weight:900}.upgrade-missing-resources{display:grid;gap:.2rem;margin-top:.7rem;padding:.65rem .75rem;border:2px solid #b65454;border-radius:11px;color:#7d3131;background:#f8d8cf;font-size:.75rem}.building-upgrade-button{width:100%;margin-top:.35rem}.building-upgrade-progress{margin-top:1rem;padding:.8rem;border-radius:12px;color:#fff;background:#77513e}.building-upgrade-progress>div{display:flex;justify-content:space-between;gap:1rem}.building-progress-track{display:block;overflow:hidden;height:12px;margin-top:.65rem;border:2px solid #4d3429;border-radius:10px;background:#3f302b}.building-progress-track span{display:block;width:45%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#eab94c,#fff29c,#eab94c);animation:buildingProgressSweep 1.8s ease-in-out infinite}.village-bonus-strip{display:grid;grid-template-columns:180px 1fr;align-items:center;gap:1rem;margin-top:1rem;padding:1rem;border:3px solid #856040;border-radius:18px;background:linear-gradient(135deg,#f4e6bd,#ddc591);box-shadow:0 4px #a36f42}.village-bonus-strip h2{margin:.25rem 0 0}.village-bonus-strip ul{display:grid;grid-template-columns:repeat(4,1fr);gap:.55rem;margin:0;padding:0;list-style:none}.village-bonus-strip button{display:flex;align-items:center;gap:.55rem;width:100%;min-height:64px;padding:.55rem;border:2px solid #b99762;border-radius:12px;color:inherit;background:#fff9e0c2;text-align:left;cursor:pointer}.village-bonus-strip button:hover,.village-bonus-strip button:focus-visible{border-color:var(--berry);background:#fff8dc}.village-bonus-image{display:grid;flex:0 0 auto;place-items:center;overflow:hidden;width:48px;aspect-ratio:1;border:1px solid #c4a46e;border-radius:12px;background:#fff7d7}.village-bonus-image img{display:block;width:100%;height:100%;object-fit:contain}.village-bonus-strip strong,.village-bonus-strip small{display:block}.village-bonus-strip small{margin-top:.25rem;color:var(--ink-soft);line-height:1.15}@keyframes villageSmoke{0%{opacity:0;transform:translateY(5px) scale(.6)}45%{opacity:.8}to{opacity:0;transform:translate(7px,-15px) scale(1.25)}}@keyframes villageWorkPulse{50%{transform:scale(1.08)}}@keyframes buildingProgressSweep{0%{transform:translate(-105%)}to{transform:translate(235%)}}@keyframes residentPorter{0%{left:27%;top:33%;transform:scaleX(1)}38%{left:49%;top:47%;transform:scaleX(1)}42%{transform:scaleX(-1)}80%{left:22%;top:65%;transform:scaleX(-1)}to{left:27%;top:33%;transform:scaleX(1)}}@keyframes residentFarmer{0%{left:49%;top:48%;transform:scaleX(-1)}48%{left:18%;top:65%;transform:scaleX(-1)}52%{transform:scaleX(1)}to{left:49%;top:48%;transform:scaleX(1)}}@keyframes residentSmith{0%{left:50%;top:48%;transform:scaleX(1)}45%{left:41%;top:75%;transform:scaleX(1)}50%{transform:scaleX(-1)}to{left:50%;top:48%;transform:scaleX(-1)}}@keyframes residentScholar{0%{left:46%;top:21%;transform:scaleX(1)}45%{left:49%;top:45%;transform:scaleX(1)}50%{transform:scaleX(-1)}to{left:46%;top:22%;transform:scaleX(-1)}}@keyframes residentGuard{0%{left:72%;top:64%;transform:scaleX(-1)}48%{left:50%;top:49%;transform:scaleX(-1)}52%{transform:scaleX(1)}to{left:72%;top:64%;transform:scaleX(1)}}.guild-discovery,.guild-profile-grid{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(360px,1.2fr);gap:1.2rem}.guild-page-v2{max-width:1500px;margin:0 auto}.guild-page-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem}.guild-page-heading p{max-width:700px;margin-bottom:0}.guild-header-rank{display:grid;min-width:150px;place-items:center;padding:.65rem 1rem;border:2px solid #744158;border-radius:16px;color:#fff;background:linear-gradient(145deg,#a94771,#673048);box-shadow:0 4px #4d2738}.guild-header-rank small{font-size:.62rem;font-weight:900;text-transform:uppercase}.guild-header-rank strong{font-size:1.7rem}.guild-discovery-v2{grid-template-columns:minmax(300px,.7fr) minmax(420px,1.3fr)}.guild-discovery-v2 .guild-create{position:relative;display:grid;align-content:start;gap:.65rem;overflow:hidden}.guild-form-icon{position:absolute;top:-22px;right:-10px;color:#a9406c21;font-size:8rem}.guild-discovery-v2 .guild-create h2{margin:0}.guild-discovery-v2 .guild-create>p{margin:0 0 .5rem;color:var(--ink-soft)}.guild-creation-cost{display:flex;align-items:center;gap:.65rem;width:fit-content;padding:.55rem .8rem;border:2px solid #b77a26;border-radius:14px;background:linear-gradient(135deg,#fff0b5,#f1cf70);box-shadow:0 3px #b77a26}.guild-creation-cost>span{color:#a76218;font-size:1.35rem}.guild-creation-cost div{display:grid}.guild-creation-cost small{color:#704117;font-size:.65rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.guild-creation-cost strong{color:#512b14;font-size:1.05rem}.guild-discovery-v2 .guild-create label{display:grid;gap:.3rem;font-weight:900}.guild-discovery-v2 textarea{min-height:115px;resize:vertical}.guild-list>header{display:flex;justify-content:space-between}.guild-list>header h2{margin:.15rem 0 0}.guild-profile-v2{grid-template-columns:minmax(320px,.8fr) minmax(420px,1.2fr)}.guild-tabs{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:.45rem;padding:.45rem;border:2px solid #744158;border-radius:16px;background:#fff8e2bf}.guild-tabs button{flex:1 1 180px;padding:.7rem .85rem;border:0;border-radius:11px;color:var(--ink);background:transparent;font-weight:900;cursor:pointer}.guild-tabs button.active{color:#fff;background:linear-gradient(145deg,#b44275,#79334f);box-shadow:0 3px #56283c}.guild-profile-v2>.guild-members{grid-column:1 / -1}.guild-identity-v2{grid-column:1 / -1;display:grid;grid-template-columns:110px minmax(240px,1fr) auto auto;align-items:center;gap:1rem;overflow:hidden;background:radial-gradient(circle at 4% 50%,rgb(194 68 113 / 20%),transparent 16%),var(--panel)}.guild-emblem{display:grid;place-items:center;width:90px;height:105px;border:4px solid #d4a94f;border-radius:45% 45% 50% 50%/24% 24% 65% 65%;color:#fff;background:linear-gradient(145deg,#ac4774,#5e2e45);box-shadow:0 5px #482536;font-size:1.55rem;font-weight:1000}.guild-identity-copy h2{margin:.15rem 0;font-size:1.8rem}.guild-identity-copy>p{margin:.2rem 0;color:var(--ink-soft)}.guild-identity-copy blockquote{margin:.5rem 0 0;padding-left:.7rem;border-left:3px solid var(--berry);color:#71364f;font-style:italic}.guild-overview-stats{display:flex;gap:.55rem;margin:0}.guild-overview-stats>div{display:grid;min-width:90px;place-items:center;padding:.55rem;border:1px solid #c5a26c;border-radius:12px;background:#f2dfad}.guild-overview-stats dt{color:var(--ink-soft);font-size:.62rem;font-weight:900;text-transform:uppercase}.guild-overview-stats dd{margin:.15rem 0 0;color:var(--berry);font-weight:1000}.guild-leave-button{padding:.45rem;border:0;color:#8b405e;background:transparent;font-weight:900;cursor:pointer}.guild-leave-button:hover{text-decoration:underline}.guild-members>header{display:flex;align-items:center;justify-content:space-between}.guild-members>header h2{margin:.15rem 0}.guild-members>header>strong{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;color:#fff;background:var(--berry)}.guild-profile-v2 .guild-members li{display:grid;grid-template-columns:minmax(130px,1fr) auto;align-items:center;gap:.5rem}.guild-role-pill{padding:.28rem .5rem;border-radius:999px;color:#fff;background:#857269;font-size:.62rem;font-weight:900}.guild-role-pill.role-leader{background:#9d6e21}.guild-role-pill.role-officer{background:#75405a}.guild-member-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:.35rem}.guild-officer-permissions{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:.4rem 1rem;margin:.3rem 0;padding:.6rem;border:1px solid rgb(116 65 88 / 35%);border-radius:10px}.guild-officer-permissions label{display:flex;gap:.35rem;align-items:center;font-size:.78rem;font-weight:800}.guild-profile-v2 .guild-dungeon,.guild-profile-v2 .guild-chat{min-width:0}.guild-profile-v2 .guild-chat ol{min-height:230px;max-height:330px}.guild-create,.guild-list,.guild-identity,.guild-members,.guild-dungeon,.guild-chat{padding:1rem}.guild-village{grid-column:1 / -1;padding:1rem}.guild-village>header{display:flex;align-items:start;justify-content:space-between;gap:1rem}.guild-village>header h2{margin:.25rem 0}.guild-village>header p{max-width:760px;margin-bottom:0}.guild-village-role{flex:0 0 auto;padding:.4rem .65rem;border-radius:99px;color:#fff;background:var(--berry);font-size:.72rem;font-weight:900}.guild-bank{display:grid;grid-template-columns:180px minmax(320px,1fr) auto;align-items:end;gap:.8rem;margin:1rem 0;padding:.9rem;border:2px solid #b99055;border-radius:14px;background:linear-gradient(135deg,#f4dfaa,#e4c37e)}.guild-bank h3{margin:.25rem 0 0}.guild-bank ul{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem;margin:0;padding:0;list-style:none}.guild-bank li{display:flex;justify-content:space-between;gap:.5rem;padding:.45rem;border-radius:8px;background:#fff9e0bf;font-size:.75rem}.guild-bank form{display:grid;grid-template-columns:120px 100px auto;align-items:end;gap:.45rem}.guild-bank form label{font-size:.72rem}.guild-bank form input,.guild-bank form select{min-height:40px;margin-top:.25rem;padding:.35rem;border-width:2px}.guild-village-buildings{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.guild-village-buildings>article{display:flex;min-width:0;flex-direction:column;padding:.8rem;border:2px solid #c5a46f;border-radius:13px;background:#fff8df}.guild-village-buildings h3{margin:.6rem 0 .3rem}.guild-village-buildings p{font-size:.82rem}.guild-village-buildings .fantasy-button{margin-top:auto}.guild-building-visual{position:relative;display:grid;place-items:center;overflow:hidden;min-height:100px;border:2px solid #8f6845;border-radius:11px;background:radial-gradient(circle,#e8db9d,#93b665);font-size:3rem}.guild-building-visual img{width:100%;height:110px;object-fit:cover}.guild-building-visual strong{position:absolute;right:6px;bottom:6px;padding:3px 6px;border-radius:20px;color:#fff;background:var(--berry);font-size:.68rem}.guild-building-bonus{padding:.5rem;border-radius:8px;background:#e5edbd}.guild-building-costs{display:grid;gap:.25rem;margin:0 0 .7rem;padding:0;list-style:none;color:var(--ink-soft);font-size:.72rem}.guild-donation-history{margin-top:1rem}.guild-donation-history summary{color:var(--berry);font-weight:900;cursor:pointer}.guild-donation-history ul{display:grid;gap:.35rem;padding:0;list-style:none}.guild-donation-history li{display:grid;grid-template-columns:1fr auto auto;gap:.8rem;padding:.45rem;border-bottom:1px dashed #c5a46f}.guild-donation-history time{color:var(--ink-soft);font-size:.72rem}.guild-create,.guild-create label{display:grid;gap:.55rem}.guild-create textarea{min-height:120px}.guild-list ul,.guild-members ul{display:grid;gap:.7rem;margin:0;padding:0;list-style:none}.guild-list li,.guild-members li{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.75rem;border-radius:12px;background:#f5dfaa}.guild-members small,.guild-members li>span:first-child{display:grid}.guild-member-actions{display:flex;flex-wrap:wrap;gap:.35rem}.guild-dungeon,.guild-chat{grid-column:1 / -1}.guild-dungeon>header,.guild-boss-card,.guild-dungeon-lists{display:grid;gap:1rem}.guild-dungeon>header{grid-template-columns:1fr auto;align-items:center}.guild-boss-card{grid-template-columns:minmax(220px,.8fr) minmax(280px,1.2fr);align-items:center}.guild-boss-image{width:100%;max-height:22rem;object-fit:contain;border:3px solid var(--ink);border-radius:18px;background:#ffffff94}.guild-boss-status{display:grid;gap:.2rem;margin-top:.85rem;padding:.75rem;border-radius:12px;background:#f3dda2}.guild-boss-status.resolved{background:#dcebad}.guild-boss-cycle-note{max-width:68ch}.guild-boss-health{height:18px;overflow:hidden;border:3px solid var(--ink);border-radius:999px;background:#efd7bd}.guild-boss-health>span{display:block;height:100%;background:linear-gradient(90deg,#bf332e,#ef7555);transition:width .25s ease}.guild-dungeon-replay{margin-top:1rem}.guild-dungeon-lists{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1rem}.guild-dungeon-lists ol{display:grid;gap:.45rem;margin:0;padding:0;list-style:none}.guild-dungeon-lists li{display:flex;justify-content:space-between;gap:.75rem;padding:.55rem .7rem;border-radius:10px;background:#fff4cf}.guild-dungeon-lists li button{align-self:center}.guild-chat>header,.guild-chat form{display:flex;align-items:center;justify-content:space-between;gap:.8rem}.guild-chat ol{display:grid;gap:.4rem;min-height:180px;max-height:360px;overflow-y:auto;margin:.8rem 0;padding:0;list-style:none}.guild-chat li{display:grid;grid-template-columns:150px 1fr auto;align-items:start;gap:.6rem;padding:.45rem .65rem;border-radius:10px;background:#fff4cf}.guild-chat li>div{display:grid}.guild-chat li small{color:var(--ink-soft);font-size:.68rem}.guild-chat li p{margin:0;overflow-wrap:anywhere;line-height:1.45}.guild-chat-delete{border:0;color:#9b3159;background:transparent;font-size:.7rem;font-weight:900;cursor:pointer}.world-chat-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.floating-world-chat{position:fixed;z-index:1200;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;overflow:hidden;width:min(380px,calc(100vw - 24px));height:min(520px,calc(100vh - 24px));padding:0;border-width:3px;box-shadow:0 8px #8e552c,0 18px 42px #2c192352}.floating-chat-header{position:relative;display:flex;align-items:center;gap:.6rem;min-height:60px;padding:.6rem;color:#fff;background:linear-gradient(135deg,#71344f,#a94872);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.floating-chat-header:active{cursor:grabbing}.floating-chat-header>div{display:flex;min-width:0;align-items:center;gap:.5rem}.floating-chat-header>div span:last-child,.floating-chat-header>div strong,.floating-chat-header>div small{display:block;min-width:0}.floating-chat-header>div small{overflow:hidden;color:#f3d4e1;font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}.floating-chat-icon{display:grid;flex:0 0 auto;place-items:center;width:37px;aspect-ratio:1;border:2px solid #ffe7a4;border-radius:50%;color:#6d304b;background:#fff1b9}.floating-chat-header>button{display:grid;flex:0 0 auto;place-items:center;width:34px;height:34px;margin-left:auto;border:2px solid rgb(255 255 255 / 65%);border-radius:50%;color:#fff;background:#3a162847;font-size:1.35rem;font-weight:900;cursor:pointer}.floating-chat-status{display:flex;flex:0 0 auto;align-items:center;gap:.3rem;color:#f4d5dc;font-size:.65rem;font-weight:800}.floating-chat-status:before{width:7px;aspect-ratio:1;border-radius:50%;background:#d99375;content:""}.floating-chat-status.is-online:before{background:#7fdf78;box-shadow:0 0 7px #7fdf78}.floating-world-chat>ol{display:grid;align-content:start;gap:.45rem;min-height:0;margin:0;padding:.75rem;overflow-y:auto;list-style:none;background:linear-gradient(#fffae6eb,#f2dfb1eb),repeating-linear-gradient(135deg,transparent 0 20px,rgb(120 78 43 / 5%) 21px 23px)}.floating-world-chat li{width:88%;padding:.5rem .6rem;border:1px solid #d3b780;border-radius:12px 12px 12px 3px;background:#fffdf5;box-shadow:0 2px #d3b780}.floating-world-chat li.own-message{justify-self:end;border-color:#b789a0;border-radius:12px 12px 3px;background:#f7dfeb;box-shadow:0 2px #b789a0}.floating-world-chat li>header{display:flex;align-items:baseline;gap:.4rem;font-size:.74rem}.floating-world-chat li>header span{color:var(--berry);font-size:.63rem;font-weight:900}.floating-world-chat li time{margin-left:auto;color:var(--ink-soft);font-size:.62rem}.floating-world-chat li p{margin:.25rem 0 0;overflow-wrap:anywhere;font-size:.82rem;white-space:pre-wrap}.floating-world-chat li.floating-chat-empty{width:100%;text-align:center;background:transparent;box-shadow:none}.floating-world-chat>form{display:grid;grid-template-columns:1fr auto;gap:.45rem;padding:.65rem;border-top:2px solid #cfaf79;background:#fff5d2}.floating-world-chat>form input{min-height:40px;margin:0;padding:.5rem .7rem;border-width:2px}.floating-chat-send{width:42px;border:2px solid #652c48;border-radius:12px;color:#fff;background:var(--berry);font-size:1rem;cursor:pointer}.floating-chat-send:disabled{opacity:.55;cursor:not-allowed}.floating-chat-rule{padding:0 .7rem .55rem;color:var(--ink-soft);background:#fff5d2;font-size:.62rem}.floating-chat-error{margin:0;padding:.45rem .6rem;color:#8f2633;background:#ffd9d4;font-size:.72rem}.world-chat-bubble{position:fixed;z-index:1200;display:grid;place-items:center;width:64px;height:64px;border:4px solid #ffe49b;border-radius:50%;color:#fff;background:linear-gradient(145deg,#ad4a75,#71324e);box-shadow:0 5px #64334a,0 10px 24px #30182459;font-size:1.55rem;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.world-chat-bubble:active{cursor:grabbing}.world-chat-bubble>i{position:absolute;right:1px;bottom:1px;width:13px;height:13px;border:2px solid #fff5ce;border-radius:50%;background:#b66c5d}.world-chat-bubble>i.is-online{background:#60be60}.world-chat-unread{position:absolute;z-index:3;top:-8px;right:-8px;display:grid;place-items:center;min-width:25px;height:25px;padding:0 5px;border:3px solid #fff5d0;border-radius:99px;color:#fff;background:#d52f42;box-shadow:0 2px #7d1f2a;font-size:.72rem;animation:chatUnreadPulse 1.6s ease-in-out infinite}.floating-chat-header .world-chat-unread{top:4px;right:43px}@keyframes chatUnreadPulse{50%{transform:scale(1.12)}}.world-chat-panel{overflow:hidden}.world-chat-panel>ol{display:grid;align-content:start;gap:.55rem;height:min(62vh,640px);margin:0;padding:1rem;overflow-y:auto;list-style:none;background:linear-gradient(#fff8dc,#f7e5b7)}.world-chat-panel li{width:min(78%,720px);padding:.65rem .8rem;border:2px solid #d8bd8f;border-radius:14px 14px 14px 4px;background:#fffdf7;box-shadow:0 2px #d8bd8f}.world-chat-panel li.own-message{justify-self:end;border-color:#b78bc8;border-radius:14px 14px 4px;background:#f3ddff}.world-chat-panel li>header{display:flex;align-items:baseline;gap:.55rem}.world-chat-panel li>header span{color:var(--berry);font-size:.72rem;font-weight:900}.world-chat-panel li time{margin-left:auto;color:var(--ink-soft);font-size:.72rem}.world-chat-panel li p{margin:.3rem 0 0;overflow-wrap:anywhere;white-space:pre-wrap}.world-chat-panel li.world-chat-empty{width:100%;text-align:center;background:transparent;box-shadow:none}.world-chat-panel form{display:grid;grid-template-columns:1fr auto;align-items:end;gap:.7rem;padding:1rem}.world-chat-panel form label{display:grid;gap:.3rem}.world-chat-panel form input{margin:0}.world-chat-rule{display:block;padding:0 1rem 1rem;color:var(--ink-soft)}.guild-chat form input{flex:1}.settings-page{display:grid;gap:1rem}.settings-heading,.settings-card-title{display:flex;align-items:center;justify-content:space-between;gap:1rem}.settings-heading h1,.settings-card h2,.danger-zone h2{margin:.15rem 0 .35rem}.settings-heading p,.settings-hint,.danger-zone p{margin:0;color:var(--ink-soft)}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.settings-card{display:grid;align-content:start;gap:.8rem;padding:1.15rem}.settings-audio{grid-column:1 / -1}.settings-account-details{display:grid;gap:.6rem;margin:0}.settings-account-details div{display:flex;justify-content:space-between;gap:1rem;padding-bottom:.5rem;border-bottom:1px dashed #d6ae72}.settings-account-details dd{margin:0;font-weight:900}.settings-switch{display:flex!important;align-items:center;gap:.5rem}.settings-switch input{width:1.2rem;height:1.2rem;margin:0}.volume-control{display:grid;gap:.4rem}.volume-control span{display:flex;justify-content:space-between}.volume-control input{width:100%;accent-color:var(--berry)}.settings-save{justify-self:end}.form-success{margin:0;padding:.7rem 1rem;border:2px solid #5d9e68;border-radius:10px;color:#285f35;background:#e6f5d8}.danger-zone{padding:1.15rem;border-color:#9a3944;background:linear-gradient(145deg,#fff7ea,#f8d9cf)}.delete-account-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-top:1rem}.delete-account-form label{display:grid;gap:.35rem}.delete-account-form>div{grid-column:1 / -1;display:flex;gap:.7rem}@media(max-width:900px){.auth-page{grid-template-columns:1fr}.auth-art>.fantasy-placeholder{display:none}.world-grid{grid-template-columns:1fr}.character-grid,.choice-grid{grid-template-columns:repeat(2,1fr)}.character-grid,.finalize{grid-template-columns:1fr}.app-shell{grid-template:auto 1fr auto / 1fr;padding-bottom:calc(82px + env(safe-area-inset-bottom))}.topbar{grid-column:1}.main-nav{position:fixed;z-index:5;inset:auto 0 0;flex-direction:row;overflow-x:auto;padding:.5rem max(.5rem,env(safe-area-inset-left)) calc(.5rem + env(safe-area-inset-bottom));background:#fff6d8;border-top:3px solid var(--border)}.main-nav a{min-width:74px;flex-direction:column;gap:.1rem;font-size:.68rem}.main-nav a span{font-size:1.2rem}.hero-card{display:none}.dashboard-grid{grid-template-columns:1fr}.floating-world-chat{height:min(440px,calc(100vh - 120px))}.stats-grid{grid-template-columns:repeat(2,1fr)}.progression-panel{grid-template-columns:1fr}.character-page-heading,.character-stats-heading{align-items:flex-start;flex-direction:column}.character-heading-badges{justify-content:flex-start}.character-stats-heading p{text-align:left}.character-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.item-grid{grid-template-columns:1fr}.collection-heading,.skill-loadout>header,.equipment-loadout>header,.collection-toolbar{align-items:stretch;flex-direction:column}.collection-counter{align-self:flex-start}.skill-loadout ol{grid-template-columns:repeat(2,minmax(0,1fr))}.skill-library,.inventory-grid{grid-template-columns:1fr}.equipment-loadout ul{grid-template-columns:repeat(4,minmax(0,1fr))}.inventory-filters{justify-content:flex-start}.adventure-zone{grid-template-columns:1fr}.adventure-heading{align-items:stretch;flex-direction:column}.adventure-offers,.arena-grid,.village-resources,.village-bonuses ul,.village-buildings,.village-building{grid-template-columns:1fr}.village-page-heading{align-items:stretch;flex-direction:column}.village-collect-button{justify-content:center;width:100%}.village-resource-bar{grid-template-columns:1fr}.village-resource-title{padding:0 0 .6rem;border-right:0;border-bottom:2px solid #c5a877}.village-resource-bar ul{grid-template-columns:repeat(3,1fr)}.village-workspace{grid-template-columns:1fr}.village-map{min-height:450px}.village-building-panel{position:static}.village-bonus-strip{grid-template-columns:1fr}.village-bonus-strip ul{grid-template-columns:repeat(2,1fr)}.guild-discovery,.guild-profile-grid,.settings-grid,.delete-account-form,.guild-bank{grid-template-columns:1fr}.guild-village-buildings{grid-template-columns:repeat(2,1fr)}.guild-boss-card,.guild-dungeon-lists{grid-template-columns:1fr}.arena-history{grid-column:auto}.adventure-zone li{align-items:stretch;flex-direction:column}.quest-card{grid-row:auto}}@media(max-width:520px){.character-overview{grid-template-columns:1fr;padding:.85rem}.character-portrait-frame{min-height:250px}.character-point-summary,.character-stats-grid{grid-template-columns:1fr}.character-experience-bar{grid-template-columns:1fr auto}.character-experience-bar progress{grid-column:1 / -1;grid-row:2}.available-points{grid-column:auto;grid-template-columns:auto 1fr;align-items:center}.available-points small{grid-column:1 / -1}.skill-loadout ol,.equipment-loadout ul{grid-template-columns:repeat(2,minmax(0,1fr))}.skill-card,.inventory-card{grid-template-columns:76px minmax(0,1fr)}.skill-card footer,.inventory-card footer{align-items:stretch;flex-direction:column}.skill-card footer .fantasy-button,.inventory-card footer .fantasy-button{width:100%}.auth-page{padding:1rem}.auth-art p{display:none}.auth-art h1{font-size:2rem}.choice-grid{grid-template-columns:1fr 1fr}.choice-card{font-size:.82rem}.preparation-stats{grid-template-columns:1fr}.floating-world-chat{width:calc(100vw - 24px)}.floating-chat-status,.floating-chat-rule{display:none}.selection-page,.creation-page{padding:1rem}.village-resource-bar ul{grid-template-columns:repeat(2,1fr)}.village-resource-bar li{padding:.4rem}.village-map-frame{padding:5px;border-width:3px;border-radius:18px}.village-map{min-height:0}.village-map-help{display:none}.building-characteristics,.building-costs,.village-bonus-strip ul{grid-template-columns:1fr}.guild-village>header{flex-direction:column}.guild-bank ul,.guild-bank form,.guild-village-buildings,.guild-donation-history li{grid-template-columns:1fr}}.ingredient-pouch ul,.recipe-card ul,.premium-card ul{list-style:none;padding:0}.ingredient-pouch li{display:grid;grid-template-columns:1fr auto auto;gap:1rem;padding:.55rem;border-bottom:1px dashed var(--border-color, #9d715d)}.recipe-grid,.market-grid,.premium-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin-top:1rem}.recipe-card,.market-card,.premium-card{display:flex;flex-direction:column;gap:.65rem}.recipe-card .button-row{display:flex;gap:.6rem;margin-top:auto}.recipe-card .has-enough{color:#287a42}.recipe-card .is-missing{color:#a83d3d}.crafting-page{max-width:1220px;margin:0 auto}.alchemy-icon{width:20px;height:20px;flex:0 0 auto}.alchemy-hero{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;padding:.7rem 0 1.4rem}.alchemy-hero h1{margin:.1rem 0 .35rem}.alchemy-hero p{max-width:700px;margin:0}.alchemy-hero-icon{display:grid;place-items:center;width:70px;height:70px;color:#fff2cb;border:3px solid #f1c56b;border-radius:20px;background:linear-gradient(145deg,#7a4056,#4e2b44);box-shadow:0 5px #a76532;transform:rotate(-3deg)}.alchemy-hero-icon .alchemy-icon{width:39px;height:39px}.alchemy-summary{display:flex;gap:.55rem}.alchemy-summary>span{display:grid;grid-template-columns:auto auto;align-items:center;gap:0 .45rem;min-width:116px;padding:.65rem .8rem;border:1px solid rgba(102,55,73,.35);border-radius:13px;background:#fff9e6ad}.alchemy-summary .alchemy-icon{grid-row:1 / 3;color:#a24568}.alchemy-summary small{color:#77576a;font-size:.7rem}.alchemy-summary strong{font-size:1.15rem}.ingredient-pouch{padding:1rem}.ingredient-pouch>header{display:flex;align-items:end;justify-content:space-between;gap:1rem;padding-bottom:.8rem;border-bottom:1px dashed #c59b7a}.ingredient-pouch h2{margin:.1rem 0 0}.ingredient-total{padding:.3rem .65rem;border-radius:999px;background:#efe0b8;font-size:.8rem;font-weight:800}.ingredient-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.65rem;padding-top:.8rem}.ingredient-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.65rem;padding:.7rem;border:1px solid #c6a277;border-radius:12px;background:linear-gradient(145deg,#fffaf0,#f4e8ca)}.ingredient-card p{margin:.15rem 0 .35rem;color:#66515b;font-size:.78rem;line-height:1.3}.ingredient-card small{display:flex;align-items:center;gap:.3rem;color:#7b5968}.ingredient-card small .alchemy-icon{width:14px;height:14px}.ingredient-icon{display:grid;place-items:center;width:42px;height:42px;color:#f5ffe7;border-radius:12px;background:#598f4d}.ingredient-icon.source-adventure{background:#8c4d68}.ingredient-quantity{padding:.3rem .5rem;color:#713951;font-weight:900;border-radius:999px;background:#eed3dc}.alchemy-loading{padding:1.4rem;text-align:center;color:#745769}.alchemy-empty{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1rem .2rem .1rem}.alchemy-empty>span{display:grid;place-items:center;width:54px;height:54px;color:#79644e;border-radius:16px;background:#eadbb8}.alchemy-empty>span .alchemy-icon{width:30px;height:30px}.alchemy-empty h3,.alchemy-empty p{margin:.1rem 0}.alchemy-empty-actions{display:flex;gap:.5rem}.alchemy-empty-actions .fantasy-button{display:inline-flex;align-items:center;gap:.4rem;text-decoration:none;white-space:nowrap}.recipe-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin:1.6rem 0 .75rem}.recipe-heading h2,.recipe-heading p{margin:.1rem 0}.recipe-heading p{color:#634a59;font-size:.88rem}.crafting-page .recipe-grid{grid-template-columns:repeat(auto-fit,minmax(360px,1fr));align-items:stretch;margin-top:0}.crafting-page .recipe-card{display:flex;gap:.8rem;min-width:0;padding:1rem;overflow:hidden}.recipe-card-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:.8rem}.recipe-card-header h3{margin:.18rem 0 .25rem;font-size:1.3rem}.recipe-card-header p{margin:0;color:#624d59;font-size:.88rem}.potion-visual{position:relative;display:grid;place-items:center;width:66px;height:76px;color:#fff5c9;border:2px solid #713d55;border-radius:18px 18px 24px 24px;background:linear-gradient(180deg,#813f66 0,#813f66 28%,#d84879 29%,#d84879);box-shadow:inset 0 0 0 4px #ffffff29,0 4px #a76a32}.recipe-card--minor .potion-visual{background:linear-gradient(180deg,#704967 0,#704967 28%,#698ec8 29%,#698ec8)}.potion-visual .alchemy-icon{width:34px;height:34px}.potion-visual i{position:absolute;top:9px;right:10px;width:9px;height:9px;border-radius:50%;background:#ffffffa6}.potion-stock{display:grid;min-width:72px;padding:.45rem .55rem;text-align:center;border-radius:11px;background:#efe0b8}.potion-stock small{font-size:.68rem}.potion-stock strong{font-size:1.25rem}.potion-effect{display:flex;align-items:center;gap:.45rem;padding:.6rem .75rem;color:#704022;border:1px solid #d0a554;border-radius:11px;background:linear-gradient(90deg,#f8e5aa,#f3d17a)}.potion-effect .alchemy-icon{color:#b96e1f}.potion-effect strong{margin-left:auto}.recipe-requirements{padding:.7rem;border:1px solid #d4b997;border-radius:12px;background:#f8efdaa6}.recipe-requirements>header{display:flex;justify-content:space-between;gap:.7rem;padding-bottom:.55rem}.recipe-requirements>header span{color:#a03f4c;font-size:.75rem;font-weight:900}.recipe-requirements>header span.is-ready{color:#397b46}.recipe-requirements ul{display:grid;gap:.45rem;margin:0}.recipe-requirements li{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.5rem}.requirement-status{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#efd3d0}.has-enough .requirement-status{color:#fff;background:#4f965b}.is-missing .requirement-status{color:#9b4248}.requirement-status .alchemy-icon{width:15px;height:15px}.recipe-requirements li>div>span{display:flex;justify-content:space-between;gap:.5rem;font-size:.8rem}.recipe-requirements li b{white-space:nowrap}.recipe-requirements progress{display:block;width:100%;height:7px;margin-top:.2rem;accent-color:#4f965b}.is-missing progress{accent-color:#c05a62}.recipe-actions{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;margin-top:auto;padding-top:.15rem}.recipe-actions .fantasy-button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem}.recipe-actions small{grid-column:1 / -1;text-align:center;color:#715463}.recipe-actions button:disabled{filter:grayscale(.45);opacity:.62;cursor:not-allowed}.recipe-actions button:disabled:hover{transform:none}.market-lock{color:#a23c58}@media(max-width:1100px){.alchemy-hero{grid-template-columns:auto 1fr}.alchemy-summary{grid-column:1 / -1}.alchemy-empty{grid-template-columns:auto 1fr}.alchemy-empty-actions{grid-column:1 / -1;padding-left:70px}}@media(max-width:680px){.alchemy-hero{grid-template-columns:1fr}.alchemy-hero-icon{width:58px;height:58px}.alchemy-summary{display:grid;grid-template-columns:1fr 1fr}.alchemy-summary>span{min-width:0}.ingredient-pouch>header,.recipe-heading{align-items:flex-start;flex-direction:column}.alchemy-empty{justify-items:center;grid-template-columns:1fr;text-align:center}.alchemy-empty-actions{grid-column:auto;padding-left:0;flex-direction:column;width:100%}.crafting-page .recipe-grid{grid-template-columns:1fr}.recipe-card-header{grid-template-columns:auto 1fr}.potion-stock{grid-column:1 / -1;grid-template-columns:1fr auto;text-align:left}}.market-page{max-width:1480px;margin:0 auto}.market-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;padding:.5rem 0 1.5rem}.market-hero h1{margin:.15rem 0 .4rem}.market-hero p{margin:0;max-width:660px}.market-wallet{display:flex;align-items:center;gap:.75rem;min-width:150px;padding:.7rem 1rem;color:#fff8e6;background:linear-gradient(145deg,#754052,#4d2a43);border:2px solid #f0cc73;border-radius:16px;box-shadow:0 5px #9b6734}.market-wallet .shop-icon{width:28px;height:28px;color:#f4ce67}.market-wallet span{display:grid}.market-wallet small{color:#f5dfb0}.market-wallet strong{font-size:1.1rem}.shop-icon{width:20px;height:20px;flex:0 0 auto}.shop-tabs{display:inline-flex;gap:.35rem;margin:0 0 1.25rem;padding:.3rem;border:1px solid rgba(89,46,64,.35);border-radius:14px;background:#fff9e68c}.shop-tabs button{display:inline-flex;align-items:center;gap:.55rem;padding:.7rem 1rem;border:0;border-radius:10px;color:#4d2944;background:transparent;cursor:pointer;font-weight:800;transition:transform .15s ease,background .15s ease}.shop-tabs button:hover{transform:translateY(-1px);background:#ffffff8c}.shop-tabs button.is-active{color:#fff;background:linear-gradient(145deg,#7a4056,#5d304b);box-shadow:0 3px #bd7a37}.shop-tabs button .shop-icon{width:18px;height:18px}.shop-panel{animation:shop-panel-in .2s ease-out}@keyframes shop-panel-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.tax-explainer{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.9rem;padding:.85rem 1rem;margin-bottom:1rem;color:#53341e;border:1px solid #c18a31;border-radius:14px;background:linear-gradient(90deg,#fff1c8,#f7dda0);box-shadow:0 3px #a6682273}.tax-explainer p{margin:.2rem 0 0;font-size:.92rem}.tax-icon,.section-icon{display:grid;place-items:center;width:42px;height:42px;color:#fff;border-radius:12px;background:#9a5f2c}.tax-rate{display:grid;min-width:120px;padding-left:1rem;text-align:right;border-left:1px solid rgba(105,64,32,.3)}.tax-rate strong{font-size:1.35rem}.tax-rate small{white-space:nowrap}.sell-form{display:grid;grid-template-columns:minmax(0,1fr) 220px auto;gap:1rem;align-items:end;padding:1.1rem}.sell-form-intro{display:flex;grid-column:1 / -1;gap:.8rem;align-items:center;padding-bottom:.9rem;border-bottom:1px dashed #c49a78}.sell-form-intro h2,.sell-form-intro p{margin:.1rem 0}.section-icon{color:#fff9e9;background:#74394f}.sale-kind-switch{display:flex;grid-column:1 / -1;gap:.45rem}.sale-kind-switch button,.market-categories button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:42px;padding:.55rem .8rem;border:2px solid #9d715d;border-radius:999px;color:var(--ink);background:#fffaf0d1;font-weight:900;cursor:pointer}.sale-kind-switch button.is-active,.market-categories button.is-active{color:#fff;border-color:#713b53;background:linear-gradient(145deg,#a84169,#71364f)}.sell-fields{display:grid;grid-template-columns:minmax(240px,2fr) minmax(150px,1fr);gap:.8rem}.sell-form label{display:grid;gap:.35rem;font-weight:800}.sell-form select,.sell-form input{width:100%;min-height:46px;padding:.65rem .8rem;border:2px solid #9d715d;border-radius:10px;color:#38213c;background:#fffaf0}.sell-form select:focus,.sell-form input:focus{outline:3px solid rgba(188,58,107,.18);border-color:#b9366e}.gold-input{position:relative}.gold-input input{padding-right:45px}.gold-input span{position:absolute;right:.8rem;top:50%;transform:translateY(-50%);font-weight:800;color:#825020}.sale-summary{display:grid;align-content:center;min-height:66px;padding:.55rem .8rem;border-radius:10px;background:#f5e4b7}.sale-summary span,.sale-summary small{font-size:.78rem}.sale-summary strong{color:#813b2b;font-size:1.15rem}.sell-submit{min-height:48px;white-space:nowrap}.market-list-heading{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin:1.8rem 0 .8rem}.market-list-heading h2{margin:.1rem 0 0}.market-list-heading>span{padding:.35rem .65rem;border-radius:999px;background:#fffaeba6}.market-browser{margin-top:1.8rem;padding:1rem;border:1px solid rgb(101 64 75 / 35%);border-radius:18px;background:#fffaebad;box-shadow:0 8px 24px #362a221a;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.market-browser .market-list-heading{margin:0 0 .9rem}.market-filters{display:grid;grid-template-columns:minmax(310px,1fr) repeat(3,minmax(120px,170px));gap:.65rem;align-items:end}.market-categories{display:flex;flex-wrap:wrap;gap:.4rem}.market-filters label{display:grid;gap:.2rem;font-size:.78rem}.market-filters input,.market-filters select{width:100%;min-height:42px;margin:0;padding:.45rem .6rem;border-width:2px;background:#fffdf4eb}.market-grid{margin-top:1rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));align-items:stretch}.market-card{display:grid;grid-template-columns:72px 1fr;gap:.85rem;padding:.9rem;overflow:hidden}.market-item-visual{position:relative;display:grid;place-items:center;width:72px;height:72px;color:#713b53;border:2px solid #9b6276;border-radius:15px;background:linear-gradient(145deg,#f5ddad,#dcb97e)}.market-item-visual .shop-icon{width:38px;height:38px}.market-item-visual>img{width:100%;height:100%;object-fit:contain;border-radius:inherit}.market-item-visual span{position:absolute;right:-6px;bottom:-6px;min-width:28px;padding:.2rem;color:#fff;text-align:center;border-radius:999px;background:#b9366e}.market-item-copy{min-width:0}.market-item-copy h3{margin:.35rem 0 .25rem}.market-item-copy p{margin:0 0 .55rem;font-size:.9rem}.listing-date{display:flex;align-items:center;gap:.3rem;margin-top:.35rem;color:var(--ink-soft)}.listing-date .shop-icon{width:14px;height:14px}.market-card--ingredient .market-item-visual{color:#396b3e;border-color:#63966a;background:linear-gradient(145deg,#e5edb7,#a9ca85)}.item-tags{display:flex;flex-wrap:wrap;gap:.35rem}.item-tags span{padding:.18rem .45rem;font-size:.7rem;font-weight:900;border-radius:999px;background:#ecd9b0}.market-card footer{display:flex;grid-column:1 / -1;align-items:center;justify-content:space-between;gap:.8rem;padding-top:.75rem;border-top:1px dashed #c49a78}.listing-price{display:grid}.listing-price strong{display:flex;align-items:center;gap:.25rem;color:#713b24;font-size:1.15rem}.listing-price .shop-icon{width:17px;height:17px}.market-empty{display:grid;justify-items:center;padding:2.5rem;text-align:center;border-style:dashed}.market-empty .shop-icon{width:48px;height:48px;color:#8e5871}.market-empty h3{margin:.7rem 0 .2rem}.premium-warning{display:flex;align-items:center;gap:.8rem;padding:.85rem 1rem;border-radius:12px;background:#f8e6ad;border:1px solid #b77a27}.premium-warning .shop-icon{width:28px;height:28px;color:#8c5726}.premium-warning p{margin:.15rem 0 0}.premium-grid{grid-template-columns:repeat(auto-fit,minmax(300px,460px));justify-content:center;align-items:stretch;margin-top:1rem}.premium-card{position:relative;padding:1.25rem;border-width:3px}.premium-card.is-featured{border-color:#b9366e;box-shadow:0 7px #bd7a37,0 12px 25px #49253a2e}.premium-ribbon{position:absolute;top:12px;right:-5px;padding:.35rem .7rem;color:#fff;font-size:.75rem;font-weight:900;border-radius:999px 0 0 999px;background:#b9366e}.premium-card-icon{display:grid;place-items:center;width:50px;height:50px;margin-bottom:.5rem;color:#fff6cc;border-radius:15px;background:linear-gradient(145deg,#9b4668,#613249)}.premium-card-icon .shop-icon{width:29px;height:29px}.premium-card h2{margin:.2rem 0}.premium-card ul{display:grid;gap:.55rem;margin:.8rem 0}.premium-card li{display:flex;align-items:center;gap:.55rem;padding:.5rem;border-radius:8px;background:#f0dcb373}.premium-card li .shop-icon{width:18px;height:18px;color:#38814a}.premium-price{display:grid;margin-top:auto;padding:.75rem 0}.premium-price strong{color:#713b24;font-size:1.65rem}.premium-card button{margin-top:0}.loot-notice{padding:.45rem .7rem;border-radius:8px;background:#e5f4d8;color:#29592b}.loot-notice--skill{color:#64254e;border:1px solid #cb87b2;background:linear-gradient(135deg,#f6dcef,#eee0ff);box-shadow:inset 4px 0 #a83c67}@media(max-width:900px){.market-hero{align-items:stretch;flex-direction:column}.market-wallet{align-self:flex-start}.sell-form,.sell-fields{grid-template-columns:1fr}.sell-form-intro,.sale-kind-switch{grid-column:auto}.market-filters{grid-template-columns:repeat(3,1fr)}.market-categories{grid-column:1 / -1}}@media(max-width:600px){.shop-tabs{display:grid;width:100%}.shop-tabs button{justify-content:center}.tax-explainer{grid-template-columns:auto 1fr}.tax-rate{grid-column:1 / -1;padding:.6rem 0 0;text-align:left;border-top:1px solid rgba(105,64,32,.3);border-left:0}.sale-kind-switch,.market-categories{display:grid;grid-template-columns:1fr}.market-filters{grid-template-columns:1fr 1fr}.market-filters label:last-child{grid-column:1 / -1}.market-card{grid-template-columns:58px 1fr}.market-item-visual{width:58px;height:58px}.market-card footer{align-items:stretch;flex-direction:column}}@media(max-width:1100px){.dashboard-hero-strip{grid-template-columns:120px 1fr}.dashboard-key-resources{grid-column:1 / -1}.dashboard-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ascension-ritual{grid-template-columns:130px 1fr}.ascension-requirements{grid-column:1 / -1;grid-template-columns:repeat(2,minmax(0,1fr))}.guild-identity-v2{grid-template-columns:100px 1fr}.guild-overview-stats,.guild-leave-button{grid-column:1 / -1}.guild-overview-stats{justify-content:center}}@media(max-width:900px){.dashboard-welcome,.ranking-heading,.ascension-page-heading,.guild-page-heading{align-items:stretch;flex-direction:column}.dashboard-lower-grid,.ascension-content-grid,.ascension-tradeoff{grid-template-columns:1fr}.ranking-own-position,.ascension-readiness,.guild-header-rank{align-self:flex-start}}@media(max-width:600px){.dashboard-hero-strip,.ascension-ritual,.guild-identity-v2{grid-template-columns:1fr}.dashboard-level-emblem,.ascension-orb,.guild-emblem{justify-self:center}.dashboard-key-resources,.dashboard-action-grid,.ascension-requirements,.ascension-skill-grid{grid-template-columns:1fr}.dashboard-key-resources,.ascension-requirements,.guild-overview-stats,.guild-leave-button{grid-column:auto}.dashboard-alert{grid-template-columns:38px 1fr}.dashboard-alert b{grid-column:1 / -1;text-align:right}.dashboard-ranking-preview{grid-template-columns:1fr}.dashboard-rank-values,.guild-overview-stats{flex-wrap:wrap}.ranking-scope-tabs,.ranking-podium{grid-template-columns:1fr}.ranking-podium-place.rank-1,.ranking-podium-place.rank-2,.ranking-podium-place.rank-3{grid-column:auto;grid-row:auto;min-height:0}.ranking-board>header{align-items:flex-start;flex-direction:column}.guild-identity-copy{text-align:center}.guild-discovery-v2{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}.village-resident,.building-smoke,.building-work-badge,.building-progress-track span,.world-chat-unread{animation:none!important}}.skill-scaling{display:inline-flex;width:fit-content;margin-top:.45rem;padding:.35rem .6rem;border-radius:999px;background:color-mix(in srgb,var(--color-accent, #b63870) 14%,transparent);font-weight:700}.character-combat-scaling{display:grid;gap:1rem;margin-bottom:1.25rem;padding:clamp(1rem,2vw,1.5rem)}.character-combat-scaling>header{display:flex;align-items:end;justify-content:space-between;gap:1rem}.character-combat-scaling h2,.character-combat-scaling p{margin:0}.character-combat-values{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.65rem}.character-combat-values span{display:grid;gap:.15rem;padding:.75rem;border:1px solid color-mix(in srgb,var(--color-accent, #b63870) 35%,transparent);border-radius:.8rem;background:#ffffff59}.character-combat-values strong{font-size:1.25rem}.class-scaling-list{display:flex;flex-wrap:wrap;gap:.5rem}.class-scaling-list span{padding:.35rem .6rem;border-radius:999px;background:#6f29451a;font-size:.84rem;font-weight:700}@media(max-width:900px){.character-combat-values{grid-template-columns:repeat(3,minmax(0,1fr))}.character-combat-scaling>header{align-items:start;flex-direction:column}}.character-avatar{position:relative;width:min(100%,25rem);aspect-ratio:1;overflow:hidden;border-radius:1.2rem;background:radial-gradient(circle at 50% 38%,#fff8dc 0,#fff8dc 35%,#e8c77d);isolation:isolate}.character-avatar img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;-webkit-user-select:none;user-select:none}.character-avatar__layer{z-index:2;box-sizing:border-box}.character-avatar img.character-avatar__layer--hair{--hair-offset-y: 0%;padding:10%;transform:translateY(var(--hair-offset-y)) scaleX(.96)}.character-avatar img.character-avatar__layer--beard,.character-avatar img.character-avatar__layer--face{padding:10%}.character-avatar img.character-avatar__layer--beard{--beard-offset-y: 3%;--beard-scale: .9;transform:translateY(var(--beard-offset-y)) scale(var(--beard-scale))}.character-avatar--human img.character-avatar__layer--hair,.character-avatar--orc img.character-avatar__layer--hair,.character-avatar--undead img.character-avatar__layer--hair{--hair-offset-y: -11.5%}.character-avatar--dwarf img.character-avatar__layer--hair{--hair-offset-y: -2%}.character-avatar img.character-avatar__layer--hair-2,.character-avatar img.character-avatar__layer--hair-3,.character-avatar img.character-avatar__layer--hair-4,.character-avatar img.character-avatar__layer--hair-5,.character-avatar img.character-avatar__layer--hair-6{transform:translateY(calc(var(--hair-offset-y) - 1.5%)) scaleX(.96)}.character-avatar--male img.character-avatar__layer--hair-2,.character-avatar--male img.character-avatar__layer--hair-3,.character-avatar--male img.character-avatar__layer--hair-4,.character-avatar--male img.character-avatar__layer--hair-6{transform:translateY(calc(var(--hair-offset-y) - 3%)) scaleX(.96)}.character-avatar--male img.character-avatar__layer--hair-2,.character-avatar--male img.character-avatar__layer--hair-3{transform:translateY(calc(var(--hair-offset-y) - 3.75%)) scaleX(.96)}.character-avatar--dwarf.character-avatar--male img.character-avatar__layer--hair-2,.character-avatar--dwarf.character-avatar--male img.character-avatar__layer--hair-3{transform:translateY(calc(var(--hair-offset-y) - 4.5%)) scaleX(.96)}.character-avatar--human img.character-avatar__layer--beard,.character-avatar--orc img.character-avatar__layer--beard{--beard-offset-y: -5%}.character-avatar--dwarf img.character-avatar__layer--beard{--beard-offset-y: 6%}.character-avatar img.character-avatar__layer--beard-1{transform:translateY(calc(var(--beard-offset-y) + .5%)) scale(var(--beard-scale))}.character-avatar img.character-avatar__layer--beard-3{transform:translateY(calc(var(--beard-offset-y) + 2%)) scale(var(--beard-scale))}.character-avatar img.character-avatar__layer--beard-4{--beard-scale: .85}.character-avatar--human img.character-avatar__layer--beard-2{transform:translateY(calc(var(--beard-offset-y) - 2%)) scale(var(--beard-scale))}.character-avatar--human img.character-avatar__layer--beard-3{transform:translateY(var(--beard-offset-y)) scale(var(--beard-scale))}.character-avatar--human img.character-avatar__layer--beard-4{transform:translateY(calc(var(--beard-offset-y) - 2%)) scale(var(--beard-scale))}.character-avatar--female:not(.character-avatar--dwarf) img.character-avatar__layer--hair-1{transform:translate(2%,calc(var(--hair-offset-y) + 2.5%)) scaleX(1)}.character-avatar--female:not(.character-avatar--dwarf) img.character-avatar__layer--hair-2{transform:translateY(calc(var(--hair-offset-y) + 3%)) scaleX(1.22)}.character-avatar--female:not(.character-avatar--dwarf) img.character-avatar__layer--hair-3{transform:translateY(calc(var(--hair-offset-y) + 2%)) scaleX(1.1)}.character-avatar--female:not(.character-avatar--dwarf) img.character-avatar__layer--hair-4{transform:translateY(calc(var(--hair-offset-y) - 1%)) scaleX(1.1)}.character-avatar--female:not(.character-avatar--dwarf) img.character-avatar__layer--hair-5{transform:translateY(calc(var(--hair-offset-y) + 2%)) scaleX(1.1)}.character-avatar--female:not(.character-avatar--dwarf) img.character-avatar__layer--hair-6{transform:translateY(calc(var(--hair-offset-y) + 1%)) scaleX(.96)}.character-avatar--human.character-avatar--female img.character-avatar__layer--hair-1{transform:translate(3%,calc(var(--hair-offset-y) + 2.5%)) scaleX(1)}.character-avatar--human.character-avatar--female img.character-avatar__layer--hair-2{transform:translateY(calc(var(--hair-offset-y) + 4%)) scaleX(1.3)}.character-avatar--human.character-avatar--female img.character-avatar__layer--hair-3{transform:translateY(calc(var(--hair-offset-y) + 2%)) scaleX(1.14)}.character-avatar--human.character-avatar--female img.character-avatar__layer--hair-4{transform:translateY(calc(var(--hair-offset-y) - 1%)) scaleX(1.2)}.character-avatar--human.character-avatar--female img.character-avatar__layer--hair-5{transform:translateY(calc(var(--hair-offset-y) + 3%)) scaleX(1.14)}.character-avatar--dwarf.character-avatar--female img.character-avatar__layer--hair-1{transform:translate(2%,var(--hair-offset-y)) scaleX(1.04)}.character-avatar--dwarf.character-avatar--female img.character-avatar__layer--hair-2{transform:translateY(calc(var(--hair-offset-y) + 2%)) scaleX(1.16)}.character-avatar--dwarf.character-avatar--female img.character-avatar__layer--hair-3{transform:translateY(calc(var(--hair-offset-y) - 1.5%)) scaleX(1.04)}.character-avatar--dwarf.character-avatar--female img.character-avatar__layer--hair-4{transform:translateY(calc(var(--hair-offset-y) - 3%)) scaleX(1.16)}.character-avatar--dwarf.character-avatar--female img.character-avatar__layer--hair-5{transform:translateY(calc(var(--hair-offset-y) - .5%)) scaleX(1.08)}.character-avatar--dwarf.character-avatar--male img.character-avatar__layer--hair-2{transform:translateY(calc(var(--hair-offset-y) - 4.5%)) scaleX(1.05)}.character-avatar--dwarf.character-avatar--female img.character-avatar__layer--hair-2{transform:translateY(calc(var(--hair-offset-y) + 2%)) scaleX(1.24)}.character-avatar--undead img.character-avatar__layer--face{transform:translateY(1%)}.character-avatar--compact{width:100%;max-width:14rem}.appearance-editor{display:grid;grid-template-columns:minmax(17rem,25rem) 1fr;gap:clamp(1rem,3vw,2rem);align-items:start}.appearance-preview{position:sticky;top:1rem;display:grid;place-items:center;gap:.5rem;padding:1rem}.appearance-preview small{font-weight:800;color:var(--wine, #6f2945);text-transform:uppercase;letter-spacing:.08em}.appearance-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.appearance-controls fieldset{min-width:0;margin:0;padding:.85rem;border:1px solid rgba(111,41,69,.28);border-radius:.9rem;background:#fffbefb8}.appearance-controls legend{padding:0 .35rem;font-weight:900}.appearance-controls fieldset>small{display:block;margin-top:.5rem;color:#744f55}.appearance-segmented,.appearance-number-options,.appearance-colors{display:flex;flex-wrap:wrap;gap:.45rem}.appearance-segmented button,.appearance-number-options button{min-height:2.35rem;padding:.45rem .7rem;border:1px solid rgba(111,41,69,.45);border-radius:.7rem;background:#fff9eb;font-weight:750}.appearance-segmented button[aria-pressed=true],.appearance-number-options button[aria-pressed=true]{color:#fff;background:#b63870;box-shadow:inset 0 -3px #4c182e40}.appearance-colors button{width:2.5rem;height:2.5rem;padding:0;border:3px solid #fff9eb;border-radius:50%;background:var(--swatch);box-shadow:0 0 0 1px #45203280}.appearance-colors button[aria-pressed=true]{box-shadow:0 0 0 3px #b63870}.character-customize-button{position:relative;z-index:3;margin-top:.5rem}.character-appearance-panel{display:grid;gap:1rem;margin-bottom:1.25rem;padding:clamp(1rem,2vw,1.5rem)}.character-appearance-panel>header{display:flex;justify-content:space-between;align-items:end;gap:1rem}.character-appearance-panel h2,.character-appearance-panel p{margin:0}.hero-card>.character-avatar{width:100%}.character-card>.character-avatar{align-self:stretch}.auth-legal-notice{margin:0;padding:.75rem;border-radius:12px;background:#f7e8bd;color:var(--ink-soft);font-size:.82rem;line-height:1.45}.site-footer{position:relative;z-index:2;display:grid;grid-template-columns:auto minmax(180px,.7fr) minmax(320px,1.3fr);align-items:center;gap:.8rem 1rem;padding:1.15rem clamp(1rem,4vw,4rem) calc(1.15rem + env(safe-area-inset-bottom));color:#fff8df;border-top:4px solid #d69643;background:radial-gradient(circle at 12% 0,rgb(216 94 128 / 24%),transparent 28%),linear-gradient(135deg,#34243d,#5b2c49 58%,#3c273f);box-shadow:0 -8px 26px #361e2d33}.site-footer__rune{display:grid;place-items:center;width:46px;aspect-ratio:1;border:2px solid #f4cd79;border-radius:50%;background:#a83c67;box-shadow:0 3px #9c5c2c}.site-footer__intro{display:grid;gap:.15rem}.site-footer__intro strong{color:#fff;font-size:1.05rem}.site-footer__intro span,.site-footer__meta{color:#decbd5;font-size:.78rem}.site-footer nav{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.45rem 1rem}.site-footer a{color:#fff4c7;text-decoration-color:#f4cd797f;text-underline-offset:.2rem}.site-footer a:hover{color:#fff;text-decoration-color:#f4cd79}.site-footer__meta{grid-column:2 / -1;display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.35rem}.legal-page{min-height:90vh;width:min(1080px,calc(100% - 2rem));margin:0 auto;padding:clamp(1.2rem,4vw,3.5rem) 0}.legal-hero{position:relative;padding:clamp(1rem,3vw,2rem) clamp(1rem,4vw,3rem) 1.5rem;color:#fff8df;border:3px solid #6b3b4d;border-radius:24px 24px 0 0;background:radial-gradient(circle at 88% 22%,rgb(245 185 64 / 32%),transparent 22%),linear-gradient(135deg,#3b2847,#873b60);overflow:hidden}.legal-hero:after{position:absolute;right:clamp(1rem,5vw,4rem);bottom:-2.2rem;content:"⚔";color:#fff6d21a;font-size:clamp(7rem,18vw,13rem);transform:rotate(-12deg)}.legal-hero>*{position:relative;z-index:1}.legal-hero>a{display:inline-block;margin-bottom:2.5rem;color:inherit;text-decoration:none}.legal-hero .brand small,.legal-hero .eyebrow,.legal-hero p{color:#f3d49b}.legal-hero h1{max-width:800px;margin:.45rem 0 .8rem}.legal-hero p{margin:0}.legal-document{display:grid;gap:0;padding:clamp(1.1rem,4vw,3rem);border-top:0;border-radius:0 0 24px 24px}.legal-document section{padding:1.4rem 0;border-bottom:2px dashed #d8bd8f}.legal-document section:first-child{padding-top:0}.legal-document section:last-child{padding-bottom:0;border-bottom:0}.legal-document h2{margin-bottom:.75rem;font-size:clamp(1.25rem,3vw,1.65rem)}.legal-document p,.legal-document li{line-height:1.65}.legal-document p:last-child{margin-bottom:0}.legal-summary{margin-bottom:1.2rem;padding:1.2rem!important;border:2px solid #dab66d!important;border-radius:16px;background:linear-gradient(135deg,#fff0bd,#f4dfaa)}.legal-warning{margin-bottom:1rem;padding:1rem;color:#792a39;border:2px solid #ca6570;border-radius:14px;background:#ffded9}.legal-warning p{margin:.35rem 0 0}.legal-warning code,.legal-document code{padding:.12rem .35rem;border-radius:5px;background:#58364317;font-size:.9em}.legal-definitions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin:0}.legal-definitions>div{padding:.8rem;border-radius:12px;background:#f8e8bd}.legal-definitions dt{color:var(--berry);font-size:.72rem;font-weight:1000;letter-spacing:.08em;text-transform:uppercase}.legal-definitions dd{margin:.25rem 0 0;font-weight:800;overflow-wrap:anywhere}.legal-table-wrap{overflow-x:auto;margin:1rem 0;border:2px solid #d8bd8f;border-radius:14px}.legal-table-wrap table{width:100%;min-width:650px;border-collapse:collapse;background:#fffdf5}.legal-table-wrap th,.legal-table-wrap td{padding:.8rem;border-bottom:1px solid #dfc99f;text-align:left;vertical-align:top}.legal-table-wrap th{color:#fff;background:#75405a}.legal-table-wrap tr:last-child td{border-bottom:0}.legal-contact-card{display:flex;align-items:center;gap:1rem}.legal-contact-card__icon{display:grid;flex:0 0 auto;place-items:center;width:64px;aspect-ratio:1;color:#fff;border:3px solid var(--border);border-radius:50%;background:var(--berry);font-size:1.6rem;box-shadow:0 4px #9c5c2c}.legal-contact-card .fantasy-button{display:inline-flex;align-items:center;color:#fff;text-decoration:none}.legal-back{display:inline-block;margin:1.5rem 0 0 .5rem}@media(max-width:800px){.appearance-editor,.appearance-controls{grid-template-columns:1fr}.appearance-preview{position:static}.character-appearance-panel>header{align-items:start;flex-direction:column}.site-footer{grid-template-columns:auto 1fr}.site-footer nav,.site-footer__meta{grid-column:1 / -1;justify-content:flex-start}.legal-definitions{grid-template-columns:1fr}}@media(max-width:520px){.site-footer__rune{display:none}.site-footer{grid-template-columns:1fr}.site-footer--in-game{padding-bottom:calc(5.8rem + env(safe-area-inset-bottom))}.site-footer nav,.site-footer__meta{grid-column:1}.legal-contact-card{align-items:flex-start;flex-direction:column}}
