:root{--vr5-bg:#080706;--vr5-bg-soft:#0d0b09;--vr5-surface:#151310;--vr5-surface-2:#1b1814;--vr5-surface-3:#231e18;--vr5-ink:#f1e8d7;--vr5-copy:#c7b9a3;--vr5-muted:#958773;--vr5-faint:#6f6455;--vr5-gold:var(--campaign-primary,#c89d5c);--vr5-gold-2:var(--campaign-accent,#dfbd7e);--vr5-red:#a55b4c;--vr5-green:#789873;--vr5-blue:#718fa0;--vr5-line:color-mix(in srgb,var(--vr5-gold) 18%,transparent);--vr5-line-strong:color-mix(in srgb,var(--vr5-gold) 34%,transparent);--vr5-glow:color-mix(in srgb,var(--vr5-gold) 12%,transparent);--vr5-radius-xs:7px;--vr5-radius-sm:10px;--vr5-radius-md:14px;--vr5-radius-lg:20px;--vr5-shadow-1:0 8px 24px #00000038;--vr5-shadow-2:0 18px 48px #00000052;--vr5-shadow-3:0 32px 90px #0000007a;--vr5-page:min(1440px,calc(100vw - 48px));--vr5-gutter:clamp(16px,2.3vw,32px);--vr5-header:64px;--vr5-touch:44px}html{scrollbar-color:#5d4931 #0b0907;scrollbar-width:thin}body.drakkenheimApp{min-height:100dvh;color:var(--vr5-ink);background:radial-gradient(900px 420px at 50% -120px,color-mix(in srgb,var(--vr5-gold) 13%,transparent),transparent 72%), radial-gradient(600px 400px at 100% 0,#5f371c1f,transparent 72%), linear-gradient(180deg,#0e0b09 0,var(--vr5-bg) 48%,#060504 100%);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.55}body.drakkenheimApp:before{opacity:.11;background-image:linear-gradient(#ffffff04 1px,#0000 1px),linear-gradient(90deg,#ffffff03 1px,#0000 1px),radial-gradient(#ffffff1f .45px,#0000 .6px);background-size:42px 42px,42px 42px,6px 6px;-webkit-mask-image:linear-gradient(#000 0,#000000a6 45%,#0000 100%);mask-image:linear-gradient(#000 0,#000000a6 45%,#0000 100%)}body.drakkenheimApp ::selection{background:color-mix(in srgb,var(--vr5-gold) 40%,#553319);color:#fff9ed}body.drakkenheimApp :where(h1,h2,h3,h4){color:var(--vr5-ink);font-weight:600}body.drakkenheimApp :where(p,li){color:var(--vr5-copy)}body.drakkenheimApp :where(small,.mutedCopy){color:var(--vr5-muted)}body.drakkenheimApp :where(a){text-underline-offset:3px}body.drakkenheimApp :where(button,a,input,select,textarea){transition:border-color .16s,background-color .16s,color .16s,box-shadow .16s,transform .16s,opacity .16s}body.drakkenheimApp :where(button:disabled,input:disabled,select:disabled,textarea:disabled){opacity:.48;filter:saturate(.7);cursor:not-allowed!important}body.drakkenheimApp :where(input,textarea,select){border:1px solid var(--vr5-line-strong);color:var(--vr5-ink);background:linear-gradient(#0e0c0a,#0b0908);box-shadow:inset 0 1px #ffffff05}body.drakkenheimApp :where(input,textarea,select)::placeholder{color:#776b5c}body.drakkenheimApp :where(input,textarea,select):hover:not(:disabled){border-color:color-mix(in srgb,var(--vr5-gold) 48%,transparent)}body.drakkenheimApp :where(input,textarea,select):focus-visible{border-color:color-mix(in srgb,var(--vr5-gold) 72%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--vr5-gold) 11%,transparent),inset 0 1px #ffffff06}body.drakkenheimApp :where(button,a):focus-visible{outline:2px solid color-mix(in srgb,var(--vr5-gold-2) 88%,white 5%);outline-offset:3px}body.drakkenheimApp .platformBrand{border-color:var(--vr5-line);-webkit-backdrop-filter:blur(16px)saturate(1.25);backdrop-filter:blur(16px)saturate(1.25);letter-spacing:.17em;color:#d3b985;background:#0a0806d1;border-radius:999px;min-height:32px;padding:7px 11px;top:12px;left:16px;box-shadow:0 10px 30px #0000004d,inset 0 1px #ffffff06}body.drakkenheimApp .platformBrandMark{border:1px solid var(--vr5-line-strong);background:color-mix(in srgb,var(--vr5-gold) 8%,transparent);border-radius:50%;place-items:center;width:19px;height:19px;font-size:11px;display:grid}body.drakkenheimApp :where(.dashboardV7,.campaignHome11,.campaignIntelligence10,.calendarWorkspace,.tbf-chronicle,.factions52,.f52DetailWorkspace,.archive-shell,.downtimeShell,.recipeLedger,.campaignOps,.world4,.randomEvent11,.tbf-session-workspace,.handouts-page,.quality,.campaignAtlas,.characterManager,.currencyManager,.playerKnowledgePanel,.playerSectionShell,.livingCampaignHome){width:var(--vr5-page);max-width:100%;margin-inline:auto}body.drakkenheimApp :where(.adminPage,.townPage){isolation:isolate}body.drakkenheimApp .adminPage{background:radial-gradient(700px 300px at 50% 0,color-mix(in srgb,var(--vr5-gold) 9%,transparent),transparent 72%), transparent}body.drakkenheimApp .adminPage>.panel,body.drakkenheimApp .panel{border-color:var(--vr5-line);border-radius:var(--vr5-radius-md);box-shadow:inset 0 1px #ffffff06,var(--vr5-shadow-1);background:linear-gradient(155deg,#1b1713f5,#0e0d0bfa)}body.drakkenheimApp .panel h2{letter-spacing:.05em}body.drakkenheimApp :where(.dashboardWelcome,.campaignHomeHero,.ci10Hero,.campaignOpsHero,.world4Hero,.re11Header,.tbf-session-hero,.calendarHero,.f52Hero,.archive-hero,.immersiveHeader,.quality .hero,.lchHero,.campaignAtlas>header,.playerSectionShell>header){border:1px solid var(--vr5-line-strong);border-radius:var(--vr5-radius-lg);background:radial-gradient(520px 220px at 95% 0,color-mix(in srgb,var(--vr5-gold) 12%,transparent),transparent 72%), linear-gradient(145deg,#261e17f7,#0f0e0cfc);box-shadow:inset 0 1px #ffffff09,var(--vr5-shadow-2);position:relative;overflow:hidden}body.drakkenheimApp :where(.dashboardWelcome,.campaignOpsHero,.world4Hero,.re11Header,.tbf-session-hero,.calendarHero,.f52Hero,.archive-hero,.immersiveHeader,.quality .hero,.campaignAtlas>header,.playerSectionShell>header):after{content:"";background:radial-gradient(ellipse,color-mix(in srgb,var(--vr5-gold) 7%,transparent),transparent 65%);pointer-events:none;height:120%;position:absolute;inset:auto -10% -65% 35%}body.drakkenheimApp :where(.dashboardWelcome,.campaignOpsHero,.world4Hero,.re11Header,.tbf-session-hero,.calendarHero,.f52Hero,.archive-hero,.immersiveHeader,.quality .hero,.playerSectionShell>header){padding:clamp(22px,2.6vw,36px)}body.drakkenheimApp :where(.dashboardWelcome,.campaignOpsHero,.world4Hero,.re11Header,.tbf-session-hero,.calendarHero,.f52Hero,.archive-hero,.immersiveHeader,.quality .hero) h2{letter-spacing:-.025em;margin:.22em 0 .25em;font-size:clamp(1.9rem,3vw,3rem);line-height:1.02}body.drakkenheimApp :where(.sectionKicker,.opsKicker,.tbf-eyebrow,.lchEyebrow,.handLabel){color:color-mix(in srgb,var(--vr5-gold-2) 90%,#fff 5%)}body.drakkenheimApp :where(.tbf-card,.campaignHomeCard,.lchCard,.downtimeCard,.recipeCard,.opsCard,.w4Card,.re11QuickCard,.engine5Card,.f52Card,.compendiumCard,.archiveAssetCard,.handoutCard,.character20Card,.campaignPlayerLinkManager,.currencyManager .character20Card,.accountDirectoryState){border:1px solid var(--vr5-line);border-radius:var(--vr5-radius-md);box-shadow:inset 0 1px #ffffff06,var(--vr5-shadow-1);background:linear-gradient(150deg,#1c1814f2,#0f0e0cfa)}@media (hover:hover) and (pointer:fine){body.drakkenheimApp :where(.tbf-card,.campaignHomeCard,.lchCard,.downtimeCard,.recipeCard,.opsCard,.w4Card,.re11QuickCard,.engine5Card,.f52Card,.compendiumCard,.archiveAssetCard,.handoutCard):hover{border-color:color-mix(in srgb,var(--vr5-gold) 34%,transparent);box-shadow:inset 0 1px #ffffff08,0 14px 36px #00000045}}body.drakkenheimApp :where(.tbf-card,.lchCard,.w4Card,.engine5Card,.f52Panel,.character20Section){min-width:0}body.drakkenheimApp :where(.dashboardCardHeading,.campaignHomeCardHead,.lchCardHeader,.w4Head,.engine5Head,.f52Top){gap:14px}body.drakkenheimApp :where(.dashboardCardHeading h3,.campaignHomeCardHead h3,.lchCardHeader h2,.w4Head h3,.engine5Head h3){text-wrap:balance;line-height:1.15}body.drakkenheimApp :where(button,.tbf-btn,.opsPrimary,.lchAction,.campaignHomeQuickActions button,.w4Actions button,.w4Form button,.engine5Actions button,.f52Actions button,.archive-shell button){min-height:var(--vr5-touch);border-radius:var(--vr5-radius-xs)}body.drakkenheimApp :where(.tbf-btn,.opsPrimary,.lchAction){letter-spacing:.035em;font-weight:750}body.drakkenheimApp .tbf-btn-primary,body.drakkenheimApp :where(.opsPrimary,.submitOrder,.creatorSave){border-color:color-mix(in srgb,var(--vr5-gold) 58%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--vr5-gold) 38%,#392414),color-mix(in srgb,var(--vr5-gold) 22%,#21150f));color:#fff3da;box-shadow:inset 0 1px #ffffff14,0 7px 18px #0003}@media (hover:hover) and (pointer:fine){body.drakkenheimApp :where(button,.tbf-btn,a.lchAction):not(:disabled):hover{transform:translateY(-1px)}body.drakkenheimApp :where(.tbf-btn-primary,.opsPrimary,.submitOrder,.creatorSave):not(:disabled):hover{border-color:color-mix(in srgb,var(--vr5-gold-2) 72%,transparent);box-shadow:inset 0 1px #ffffff1a,0 10px 24px #00000047,0 0 22px var(--vr5-glow)}}body.drakkenheimApp :where(button,.tbf-btn):active:not(:disabled){transform:translateY(0)scale(.985)}body.drakkenheimApp :where(.tbf-global-nav-dm,.tbf-global-nav-player,.tbf-global-nav){border-color:var(--vr5-line);background:linear-gradient(#140f0cfa,#0a0908fc);box-shadow:inset -1px 0 #ffffff05,12px 0 36px #00000038}body.drakkenheimApp .tbf-nav-group-label{color:#796c5c;letter-spacing:.19em;font-size:.64rem}body.drakkenheimApp .tbf-nav-item{color:#b6aa97;border:1px solid #0000;border-radius:9px;min-height:48px}body.drakkenheimApp .tbf-nav-item .tbf-nav-icon{border:1px solid var(--vr5-line);background:#ffffff05;border-radius:8px}body.drakkenheimApp .tbf-nav-item.is-active{color:#f0ddba;border-color:var(--vr5-line-strong);background:linear-gradient(90deg,color-mix(in srgb,var(--vr5-gold) 16%,transparent),#ffffff03);box-shadow:inset 3px 0 var(--vr5-gold),0 8px 22px #0000001f}body.drakkenheimApp .tbf-nav-item.is-active .tbf-nav-icon{border-color:color-mix(in srgb,var(--vr5-gold) 45%,transparent);background:color-mix(in srgb,var(--vr5-gold) 11%,transparent)}body.drakkenheimApp .dashboardV7{padding-top:12px}body.drakkenheimApp .dashboardWelcome{border-bottom:1px solid var(--vr5-line-strong);align-items:center}body.drakkenheimApp .dashboardSearch{border-color:var(--vr5-line);background:#0e0c0af0;border-radius:12px;margin-top:16px;box-shadow:0 10px 30px #00000029}body.drakkenheimApp .dashboardQuickActions{gap:10px}body.drakkenheimApp .dashboardQuickActions button{border-color:var(--vr5-line);background:linear-gradient(145deg,#1f1a15f0,#0f0e0cf5);border-radius:12px;min-height:68px}body.drakkenheimApp .dashboardIcon{border:1px solid var(--vr5-line-strong);background:var(--vr5-glow);border-radius:9px}body.drakkenheimApp .attentionGrid button,body.drakkenheimApp .snapshotList button,body.drakkenheimApp .sessionHistory button{border-color:var(--vr5-line);background:#ffffff05}body.drakkenheimApp .attentionGrid button b{color:var(--vr5-gold-2)}body.drakkenheimApp .livingCampaignHome{padding-block:12px 90px}body.drakkenheimApp .lchHero{isolation:isolate;flex-direction:column;justify-content:flex-end;min-height:clamp(250px,32vw,390px);padding:clamp(28px,5vw,64px);display:flex}body.drakkenheimApp .lchHero:after{content:"";z-index:-1;background:linear-gradient(90deg,#070605f5 0,#080706cc 47%,#0807064d 80%,#08070685 100%),linear-gradient(#00000005,#0009);position:absolute;inset:0}body.drakkenheimApp .lchHero h1{letter-spacing:-.04em;max-width:900px;margin:.12em 0;font-size:clamp(2.4rem,6vw,5.4rem);line-height:.93}body.drakkenheimApp .lchHero>p{max-width:720px;font-size:clamp(.95rem,1.4vw,1.12rem)}body.drakkenheimApp .lchGrid{gap:14px}body.drakkenheimApp .lchCard{padding:clamp(18px,2.2vw,28px)}body.drakkenheimApp .lchActivity article,body.drakkenheimApp .lchThread,body.drakkenheimApp .lchEntity{border-color:var(--vr5-line);background:#ffffff05;border-radius:10px}body.drakkenheimApp .lchEntityVisual{border-color:var(--vr5-line-strong);background:#100d0a}body.drakkenheimApp .lchMetric{border-color:var(--vr5-line);background:#ffffff04}body.drakkenheimApp .lchNext{border:1px solid var(--vr5-line-strong);border-radius:var(--vr5-radius-md);background:linear-gradient(110deg,color-mix(in srgb,var(--vr5-gold) 9%,#16110d),#0e0c0a 70%);box-shadow:var(--vr5-shadow-1)}body.drakkenheimApp .playerSectionShell{box-shadow:none;background:0 0;border:0;padding:0 0 90px}body.drakkenheimApp .playerSectionShell>header{margin-bottom:18px}body.drakkenheimApp .playerSectionSeal{border:1px solid var(--vr5-line-strong);background:var(--vr5-glow);box-shadow:0 12px 30px #00000047}body.drakkenheimApp .boardShell{border-radius:var(--vr5-radius-md);border-color:var(--vr5-line);background:linear-gradient(150deg,#301f14c7,#0c0b09fa);overflow:hidden}body.drakkenheimApp .boardWood{box-shadow:inset 0 0 45px #00000075}body.drakkenheimApp .noticeCard{border-radius:4px;box-shadow:4px 12px 28px #00000070,0 0 0 1px #6b4e2be6}body.drakkenheimApp .filter{background:#120d0ac7;border-radius:999px}body.drakkenheimApp :where(.world4Tabs,.engine5Tabs){border:1px solid var(--vr5-line);background:#0000002e;border-radius:12px;gap:7px;padding:5px}body.drakkenheimApp :where(.world4Tabs button,.engine5Tabs button){background:0 0;border-color:#0000;min-height:48px}body.drakkenheimApp :where(.world4Tabs button.active,.engine5Tabs button.active){border-color:var(--vr5-line-strong);background:linear-gradient(180deg,color-mix(in srgb,var(--vr5-gold) 10%,#242019),#171512);box-shadow:0 8px 20px #0000002e}body.drakkenheimApp .w4List article{border-color:var(--vr5-line);background:#ffffff04}body.drakkenheimApp .f52Card{grid-template-columns:72px minmax(0,1fr) auto;padding:18px 20px}body.drakkenheimApp .f52Icon{border-color:var(--vr5-line-strong);background:var(--vr5-glow)}body.drakkenheimApp :where(.f52Modal,.f52Editor,.compendiumEdit,.calendarEditor){border-color:var(--vr5-line-strong);box-shadow:var(--vr5-shadow-3);background:linear-gradient(150deg,#211d18,#100f0d)}body.drakkenheimApp .campaignAtlas{padding-bottom:90px}body.drakkenheimApp .atlasTabs{border:1px solid var(--vr5-line);background:#0000002b;border-radius:12px;padding:5px}body.drakkenheimApp .atlasTabs button{border-radius:8px}body.drakkenheimApp .atlasWebSheet,body.drakkenheimApp .atlasNodePanel,body.drakkenheimApp .atlasTimelineWrap,body.drakkenheimApp .atlasWallToolbar{border-color:var(--vr5-line);border-radius:var(--vr5-radius-md);background:linear-gradient(150deg,#1c1814f2,#0e0d0bfa)}body.drakkenheimApp .atlasWall{border-color:var(--vr5-line);background:radial-gradient(circle at 20% 15%,color-mix(in srgb,var(--vr5-gold) 5%,transparent),transparent 35%), linear-gradient(#15110e,#0d0b09)}body.drakkenheimApp .archive-toolbar{z-index:9;border:1px solid var(--vr5-line);box-shadow:var(--vr5-shadow-1);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0d0b09e6;border-radius:12px;padding:10px;position:sticky;top:8px}body.drakkenheimApp .archive-shell .asset-card{border-radius:12px;overflow:hidden}body.drakkenheimApp .tbf-docx-viewer{border:1px solid var(--vr5-line-strong);background:#15110d;box-shadow:inset 0 1px #ffffff06}body.drakkenheimApp :where(table){border-collapse:separate;border-spacing:0;width:100%}body.drakkenheimApp :where(th){z-index:1;color:#a99678;border-bottom:1px solid var(--vr5-line-strong);text-align:left;letter-spacing:.08em;text-transform:uppercase;background:#12100d;padding:10px 12px;font-size:.68rem;position:sticky;top:0}body.drakkenheimApp :where(td){border-bottom:1px solid var(--vr5-line);color:var(--vr5-copy);padding:11px 12px}body.drakkenheimApp :where(tr:last-child td){border-bottom:0}body.drakkenheimApp :where(.modal,.tbf-modal,.modal-backdrop,.campaignPlayerAccessBackdrop,.npcModalBackdrop){-webkit-backdrop-filter:blur(10px)saturate(.85);backdrop-filter:blur(10px)saturate(.85)}body.drakkenheimApp :where(.tbf-modal-panel,.f52Modal,.f52Editor,.downtimeModalCard,.quality .modal,.accountModal,.campaignPlayerAccessModal){border:1px solid var(--vr5-line-strong);border-radius:var(--vr5-radius-lg);box-shadow:var(--vr5-shadow-3);background:linear-gradient(150deg,#231e18,#100f0d)}body.drakkenheimApp :where(.closeSeal,.tbf-modal-close){border:1px solid var(--vr5-line-strong);color:#d8bb82;background:#18130f;border-radius:50%;place-items:center;width:42px;min-width:42px;height:42px;min-height:42px;display:grid}body.drakkenheimApp :where(.hubToast,.toast){border:1px solid var(--vr5-line-strong);box-shadow:var(--vr5-shadow-2);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#110e0bf0;border-radius:10px}body.drakkenheimApp :where(.tbf-empty-state,.emptyNotice,.lchEmpty,.accountDirectoryState,.atlasLoading){border-radius:12px}body.drakkenheimApp .tbf-loading-block,body.drakkenheimApp .tbf-loading-grid>div{background:linear-gradient(90deg,#ffffff06,var(--vr5-glow),#ffffff06);background-size:220% 100%;border-radius:12px}@media (max-width:1100px){:root{--vr5-page:min(100%,calc(100vw - 30px))}body.drakkenheimApp .dashboardPrimaryGrid{grid-template-columns:1fr}body.drakkenheimApp .dashboardRail{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}body.drakkenheimApp .dashboardQuickActions{grid-template-columns:repeat(2,minmax(0,1fr))}body.drakkenheimApp .lchGrid{grid-template-columns:1fr}body.drakkenheimApp .archive-toolbar{top:6px}body.drakkenheimApp .f52Card{grid-template-columns:58px minmax(0,1fr)}body.drakkenheimApp .f52Actions{grid-column:1/-1}}@media (max-width:700px){:root{--vr5-page:100%;--vr5-gutter:14px;--vr5-radius-md:12px;--vr5-radius-lg:15px}body.drakkenheimApp{padding-bottom:calc(72px + env(safe-area-inset-bottom));background:radial-gradient(430px 230px at 50% -60px,color-mix(in srgb,var(--vr5-gold) 10%,transparent),transparent 75%), linear-gradient(180deg,#0d0a08,#070605 70%);font-size:14px}body.drakkenheimApp .platformBrand{display:none}body.drakkenheimApp :where(.dashboardV7,.campaignHome11,.campaignIntelligence10,.calendarWorkspace,.tbf-chronicle,.factions52,.f52DetailWorkspace,.archive-shell,.downtimeShell,.recipeLedger,.campaignOps,.world4,.randomEvent11,.tbf-session-workspace,.handouts-page,.quality,.campaignAtlas,.characterManager,.currencyManager,.playerKnowledgePanel,.playerSectionShell,.livingCampaignHome){width:100%;padding-left:var(--vr5-gutter);padding-right:var(--vr5-gutter)}body.drakkenheimApp .adminPage .panel{width:calc(100% - 28px)}body.drakkenheimApp :where(.dashboardWelcome,.campaignOpsHero,.world4Hero,.re11Header,.tbf-session-hero,.calendarHero,.f52Hero,.archive-hero,.immersiveHeader,.quality .hero,.playerSectionShell>header){border-radius:14px;padding:20px 18px}body.drakkenheimApp :where(.dashboardWelcome,.campaignOpsHero,.world4Hero,.re11Header,.tbf-session-hero,.calendarHero,.f52Hero,.archive-hero,.immersiveHeader,.quality .hero) h2{font-size:clamp(1.65rem,8vw,2.2rem)}body.drakkenheimApp .dashboardWelcome{flex-direction:column;align-items:flex-start;gap:18px}body.drakkenheimApp .dashboardWelcomeActions{grid-template-columns:1fr;width:100%;display:grid}body.drakkenheimApp .dashboardWelcomeActions>*{width:100%}body.drakkenheimApp .dashboardSearch{z-index:25;margin:12px 0;position:sticky;top:8px}body.drakkenheimApp .dashboardSearch kbd{display:none}body.drakkenheimApp .dashboardSearchResults{max-height:min(62dvh,520px);overflow:auto}body.drakkenheimApp .dashboardSearchResults button{grid-template-columns:1fr;gap:3px;min-height:66px}body.drakkenheimApp .dashboardSearchResults strong{display:none}body.drakkenheimApp .dashboardQuickActions{grid-template-columns:1fr 1fr;gap:8px}body.drakkenheimApp .dashboardQuickActions button{align-items:flex-start;min-height:78px;padding:12px}body.drakkenheimApp .dashboardPrimaryGrid{gap:12px}body.drakkenheimApp .dashboardRail{grid-template-columns:1fr;gap:12px}body.drakkenheimApp .attentionGrid{grid-template-columns:1fr 1fr}body.drakkenheimApp .captureGrid,body.drakkenheimApp .captureActions{grid-template-columns:1fr}body.drakkenheimApp .lchHero{background-position:50%;border-radius:14px;min-height:290px;margin-inline:0;padding:24px 20px}body.drakkenheimApp .lchHero h1{max-width:100%;font-size:clamp(2.15rem,12vw,3.35rem)}body.drakkenheimApp .lchHero>p{font-size:.92rem}body.drakkenheimApp .lchDate{gap:5px}body.drakkenheimApp .lchPill{white-space:normal;max-width:100%}body.drakkenheimApp .lchCard{padding:17px}body.drakkenheimApp .lchCardHeader{flex-direction:column;align-items:flex-start}body.drakkenheimApp .lchCardHeader>.lchAction{width:100%}body.drakkenheimApp .lchActivity article{grid-template-columns:28px minmax(0,1fr)}body.drakkenheimApp .lchThreads,body.drakkenheimApp .lchEntities{grid-template-columns:1fr}body.drakkenheimApp .lchSnapshot{grid-template-columns:repeat(2,minmax(0,1fr))}body.drakkenheimApp .lchNext{flex-direction:column;align-items:flex-start;padding:18px}body.drakkenheimApp .lchNext .lchAction{width:100%}body.drakkenheimApp .playerSectionShell>header{align-items:flex-start;gap:14px}body.drakkenheimApp .playerSectionSeal{width:44px;height:44px}body.drakkenheimApp :where(.world4Tabs,.engine5Tabs,.atlasTabs){overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;padding:5px;display:flex;overflow-x:auto}body.drakkenheimApp :where(.world4Tabs,.engine5Tabs,.atlasTabs)::-webkit-scrollbar{display:none}body.drakkenheimApp :where(.world4Tabs button,.engine5Tabs button,.atlasTabs button){scroll-snap-align:start;flex:none;min-width:132px}body.drakkenheimApp .world4Grid,body.drakkenheimApp .engine5Grid{grid-template-columns:1fr}body.drakkenheimApp :where(.w4Card,.engine5Card){padding:16px}body.drakkenheimApp .w4List{max-height:none}body.drakkenheimApp .w4List article{gap:10px}body.drakkenheimApp .w4Actions{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));width:100%;display:grid}body.drakkenheimApp .f52Toolbar{gap:8px}body.drakkenheimApp .f52Toolbar>*{width:100%}body.drakkenheimApp .f52Card{grid-template-columns:48px minmax(0,1fr);gap:12px;padding:14px}body.drakkenheimApp .f52Icon{width:46px;height:46px}body.drakkenheimApp .f52Top{flex-direction:column;gap:3px}body.drakkenheimApp .f52Actions{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;display:grid}body.drakkenheimApp .f52Actions button{min-width:0;padding-inline:6px}body.drakkenheimApp .archive-toolbar{scrollbar-width:none;flex-wrap:nowrap;gap:7px;margin-inline:-4px;display:flex;position:sticky;top:6px;overflow-x:auto}body.drakkenheimApp .archive-toolbar::-webkit-scrollbar{display:none}body.drakkenheimApp .archive-toolbar>*{flex:none}body.drakkenheimApp :where(.tbf-modal,.modal,.modal-backdrop){align-items:flex-end;padding:0!important}body.drakkenheimApp :where(.tbf-modal-panel,.f52Modal,.f52Editor,.downtimeModalCard,.quality .modal,.accountModal,.campaignPlayerAccessModal){overscroll-behavior:contain;width:100%!important;max-width:none!important;max-height:92dvh!important;padding-bottom:max(18px,env(safe-area-inset-bottom))!important;border-radius:18px 18px 0 0!important;margin:0!important}body.drakkenheimApp :where(.closeSeal,.tbf-modal-close){margin-left:auto;position:sticky;top:10px}body.drakkenheimApp :where(table){min-width:640px}body.drakkenheimApp :where(.tableWrap,.table-wrap,.responsiveTable,.accountTableWrap){overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;overflow-x:auto}body.drakkenheimApp .mobilePlayerBottomNav{min-height:calc(68px + env(safe-area-inset-bottom));padding:7px 8px calc(7px + env(safe-area-inset-bottom));border-top:1px solid var(--vr5-line-strong);-webkit-backdrop-filter:blur(20px)saturate(1.25);backdrop-filter:blur(20px)saturate(1.25);background:linear-gradient(#120e0beb,#080706fb);box-shadow:0 -16px 42px #00000080}body.drakkenheimApp .mobilePlayerBottomNav button{border-radius:11px;min-height:54px}body.drakkenheimApp .mobilePlayerBottomNav button.active{background:linear-gradient(180deg,color-mix(in srgb,var(--vr5-gold) 13%,transparent),#ffffff05);box-shadow:inset 0 0 0 1px var(--vr5-line)}body.drakkenheimApp .mobilePlayerMore{left:8px;right:8px;bottom:calc(78px + env(safe-area-inset-bottom));border-color:var(--vr5-line-strong);max-height:min(75dvh,680px);box-shadow:var(--vr5-shadow-3);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(150deg,#211a14,#0d0b09);border-radius:18px}body.drakkenheimApp .mobilePlayerMoreGrid>button{min-height:58px}body.drakkenheimApp .townFooter{padding-bottom:calc(92px + env(safe-area-inset-bottom))}}@media (max-width:390px){:root{--vr5-gutter:10px}body.drakkenheimApp{font-size:13.5px}body.drakkenheimApp .dashboardQuickActions{grid-template-columns:1fr}body.drakkenheimApp .attentionGrid{grid-template-columns:1fr 1fr}body.drakkenheimApp .lchHero{min-height:270px;padding:20px 16px}body.drakkenheimApp .lchHero h1{font-size:clamp(2rem,12vw,2.9rem)}body.drakkenheimApp .lchSnapshot{grid-template-columns:1fr 1fr}body.drakkenheimApp .f52Actions{grid-template-columns:1fr}body.drakkenheimApp :where(.world4Tabs button,.engine5Tabs button,.atlasTabs button){min-width:118px}}@media (min-width:1600px){:root{--vr5-page:min(1480px,calc(100vw - 96px))}body.drakkenheimApp .dashboardPrimaryGrid{gap:20px}body.drakkenheimApp .lchGrid{gap:18px}body.drakkenheimApp :where(.tbf-card,.lchCard,.w4Card,.engine5Card){padding:22px}}@media (prefers-reduced-motion:no-preference){@keyframes vr5-rise{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}body.drakkenheimApp .panelAnimated{animation:.32s cubic-bezier(.2,.7,.2,1) both vr5-rise}body.drakkenheimApp .hubToast,body.drakkenheimApp .toast{animation:.2s both vr5-rise}}@media (prefers-reduced-motion:reduce){body.drakkenheimApp *,body.drakkenheimApp :before,body.drakkenheimApp :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body.drakkenheimApp .playerHomeV3{width:var(--vr5-page);gap:16px;max-width:100%;margin-inline:auto;padding:12px 0 96px;display:grid}body.drakkenheimApp .playerCurrentLocationCard{border:1px solid var(--vr5-line-strong);background:linear-gradient(100deg,color-mix(in srgb,var(--vr5-gold) 8%,transparent),#ffffff03);border-radius:12px;margin:0;padding:16px 18px;box-shadow:inset 0 1px #ffffff06}body.drakkenheimApp .playerLocationDanger{border-color:color-mix(in srgb,var(--vr5-red) 46%,transparent);background:color-mix(in srgb,var(--vr5-red) 10%,transparent);color:#dbb2a7}body.drakkenheimApp .campaignHomeStats{border-color:var(--vr5-line-strong);background:var(--vr5-line);box-shadow:var(--vr5-shadow-1);border-radius:12px;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;padding:1px}body.drakkenheimApp .campaignHomeStat{background:linear-gradient(#1c1712fa,#0e0c0afc);min-height:88px;padding:14px 16px}body.drakkenheimApp .campaignHomeStatIcon{border:1px solid var(--vr5-line);background:var(--vr5-glow);border-radius:9px;place-items:center;width:36px;height:36px;font-size:17px;display:grid}body.drakkenheimApp .campaignHomeStat b{color:#f0dab0;letter-spacing:-.02em;font-size:clamp(1.05rem,1.5vw,1.42rem)}body.drakkenheimApp .campaignHomeStat small{letter-spacing:.09em;font-size:.66rem}body.drakkenheimApp .campaignHomeGrid{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(280px,340px);align-items:start;gap:14px;display:grid}body.drakkenheimApp .campaignHomeGrid>.campaignHomeCard{min-height:0;padding:20px}body.drakkenheimApp .campaignHomeGrid>.campaignHomeCard:first-of-type{grid-column:1}body.drakkenheimApp .campaignHomeGrid>.campaignHomeCard:nth-of-type(2){grid-column:2}body.drakkenheimApp .campaignHomeGrid>.campaignHomeCard:nth-of-type(3){grid-column:1}body.drakkenheimApp .campaignHomeGrid>.campaignHomeCard:nth-of-type(4){grid-column:2}body.drakkenheimApp .campaignHomeGrid>.homeSidebar{grid-area:1/3/span 2;gap:12px;display:grid;position:sticky;top:14px}body.drakkenheimApp .campaignHomeGrid>.homeSidebar>*{margin-top:0}body.drakkenheimApp .campaignHomeCardHead{border-color:var(--vr5-line);align-items:flex-start;margin-bottom:4px;padding-bottom:13px}body.drakkenheimApp .campaignHomeCardHead h3{color:var(--vr5-ink);font-size:1.22rem;line-height:1.16}body.drakkenheimApp .campaignHomeCardHead small{color:var(--vr5-muted);letter-spacing:.13em;font-size:.65rem}body.drakkenheimApp .campaignHomeCardHead button,body.drakkenheimApp .campaignHomeLink{min-height:34px;color:var(--vr5-gold-2);border-radius:7px;padding:6px 8px}body.drakkenheimApp .campaignHomeCardHead button:hover,body.drakkenheimApp .campaignHomeLink:hover{background:var(--vr5-glow)}body.drakkenheimApp .homeContractRow,body.drakkenheimApp .homeJournalRow{border-color:var(--vr5-line);border-radius:9px;margin-inline:-4px;padding:10px}body.drakkenheimApp .homeContractRow{grid-template-columns:46px minmax(0,1fr) auto}body.drakkenheimApp .homeContractThumb{border-color:var(--vr5-line-strong);background:linear-gradient(145deg,#2a2018,#100d0a);border-radius:9px;width:46px;height:46px}body.drakkenheimApp .homeContractRow b,body.drakkenheimApp .homeJournalRow b{color:#e5d0aa;font-size:.78rem}body.drakkenheimApp .homeContractRow small,body.drakkenheimApp .homeJournalRow p{color:var(--vr5-muted);font-size:.7rem}@media (hover:hover) and (pointer:fine){body.drakkenheimApp .homeContractRow:hover,body.drakkenheimApp .homeJournalRow:hover{background:#ffffff06}}body.drakkenheimApp .homeMarketCard,body.drakkenheimApp .homeQuickLinks,body.drakkenheimApp .partyOverviewCard,body.drakkenheimApp .campaignSnapshotCard{border:1px solid var(--vr5-line);border-radius:var(--vr5-radius-md);box-shadow:var(--vr5-shadow-1);background:linear-gradient(150deg,#1d1814f5,#0e0d0bfa)}body.drakkenheimApp .homeMarketCard{background:radial-gradient(circle at 100% 0,var(--vr5-glow),transparent 45%), linear-gradient(150deg,#241a13,#100d0a);min-height:0;padding:18px}body.drakkenheimApp .homeQuickLinks button{border-color:var(--vr5-line);min-height:48px;color:var(--vr5-copy);font-size:.72rem}body.drakkenheimApp .homeStatusRow{border-color:var(--vr5-line);align-items:center;min-height:43px}body.drakkenheimApp .homeStatusRow span{color:var(--vr5-muted);font-size:.71rem}body.drakkenheimApp .homeStatusRow b{color:var(--vr5-gold-2);font-size:.76rem}body.drakkenheimApp .campaignPartyOverview{grid-template-columns:minmax(0,1.35fr) minmax(300px,.8fr);gap:14px}body.drakkenheimApp .partyPortrait{border-color:var(--vr5-line);background:#ffffff05;border-radius:10px}body.drakkenheimApp .partyPortrait img,body.drakkenheimApp .partyPortrait>span{border-color:var(--vr5-line-strong);width:56px;height:56px}body.drakkenheimApp .partyPortrait b{color:var(--vr5-ink);font-size:.7rem}body.drakkenheimApp .partyPortrait small{color:var(--vr5-muted);font-size:.62rem}body.drakkenheimApp .snapshotStat{border-color:var(--vr5-line);background:#ffffff05;border-radius:9px}body.drakkenheimApp .snapshotStat b{color:var(--vr5-gold-2)}body.drakkenheimApp .playerBottomActions{gap:10px}body.drakkenheimApp .playerBottomActions button{border:1px solid var(--vr5-line);min-height:70px;color:var(--vr5-copy);box-shadow:var(--vr5-shadow-1);background:linear-gradient(145deg,#1f1914f5,#0e0d0bfa);border-radius:12px;padding:13px}body.drakkenheimApp .playerBottomActions button>span{border:1px solid var(--vr5-line);background:var(--vr5-glow);border-radius:9px;place-items:center;width:38px;height:38px;font-size:18px;display:grid}body.drakkenheimApp .playerBottomActions b{color:var(--vr5-ink);font-size:.73rem}body.drakkenheimApp .playerBottomActions small{color:var(--vr5-muted);font-size:.64rem}body.drakkenheimApp .dashboardPrimaryGrid{grid-template-columns:minmax(0,1.55fr) minmax(300px,.72fr);gap:16px}body.drakkenheimApp .dashboardMainColumn,body.drakkenheimApp .dashboardRail{gap:14px}body.drakkenheimApp .dashboardRail{align-self:start;position:sticky;top:14px}body.drakkenheimApp .continueCard{border-color:var(--vr5-line-strong);background:radial-gradient(circle at 95% 0,var(--vr5-glow),transparent 42%), linear-gradient(145deg,#251e17fa,#100e0cfc)}body.drakkenheimApp .continueDetails{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}body.drakkenheimApp .continueDetails span{border:1px solid var(--vr5-line);background:#ffffff05;border-radius:9px;padding:11px}body.drakkenheimApp .continueDetails b{color:var(--vr5-muted);letter-spacing:.09em;text-transform:uppercase;margin-bottom:3px;font-size:.62rem;display:block}body.drakkenheimApp .sessionFormGrid{gap:8px}body.drakkenheimApp .dashboardRail>.tbf-card{background:linear-gradient(150deg,#1b1713f5,#0d0c0afc)}body.drakkenheimApp .snapshotList button,body.drakkenheimApp .sessionHistory button{border-radius:8px;min-height:48px}body.drakkenheimApp .captureCard{border-color:var(--vr5-line-strong);margin-top:16px}body.drakkenheimApp .captureGrid{gap:10px}@media (max-width:1180px){body.drakkenheimApp .campaignHomeGrid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}body.drakkenheimApp .campaignHomeGrid>.homeSidebar{grid-area:auto/1/auto/-1;grid-template-columns:repeat(3,minmax(0,1fr));position:static}body.drakkenheimApp .campaignHomeGrid>.campaignHomeCard:nth-of-type(n){grid-column:auto}body.drakkenheimApp .campaignHomeStats{scrollbar-width:thin;grid-template-columns:repeat(5,minmax(140px,1fr));overflow-x:auto}body.drakkenheimApp .campaignHomeStat{min-width:140px}body.drakkenheimApp .dashboardRail{position:static}}@media (max-width:700px){body.drakkenheimApp .playerHomeV3{width:100%;padding:8px var(--vr5-gutter) calc(92px + env(safe-area-inset-bottom));gap:12px}body.drakkenheimApp .campaignHomeHero{border-radius:14px;min-height:315px}body.drakkenheimApp .campaignHomeHeroContent{align-items:flex-end;min-height:315px;padding:22px 18px}body.drakkenheimApp .campaignHomeSeal{display:none}body.drakkenheimApp .campaignHomeHeroCopy h2{letter-spacing:.015em;font-size:clamp(2rem,11vw,3rem);line-height:.95}body.drakkenheimApp .campaignHomeHeroCopy p{letter-spacing:.12em;font-size:.68rem}body.drakkenheimApp .campaignHomeHeroCopy small{font-size:.78rem}body.drakkenheimApp .campaignHomeHeroQuote{display:none}body.drakkenheimApp .playerCurrentLocationCard{flex-direction:row;align-items:center;padding:13px 14px}body.drakkenheimApp .playerCurrentLocationCard h3{font-size:1.05rem}body.drakkenheimApp .playerCurrentLocationCard p{font-size:.7rem}body.drakkenheimApp .playerLocationDanger{flex:none}body.drakkenheimApp .campaignHomeStats{scroll-snap-type:x mandatory;scrollbar-width:none;display:flex;overflow-x:auto}body.drakkenheimApp .campaignHomeStats::-webkit-scrollbar{display:none}body.drakkenheimApp .campaignHomeStat{scroll-snap-align:start;flex:0 0 150px;min-height:78px;padding:11px 12px}body.drakkenheimApp .campaignHomeStatIcon{width:32px;height:32px}body.drakkenheimApp .campaignHomeGrid{grid-template-columns:1fr;gap:12px}body.drakkenheimApp .campaignHomeGrid>.campaignHomeCard:nth-of-type(n),body.drakkenheimApp .campaignHomeGrid>.homeSidebar{grid-area:auto}body.drakkenheimApp .campaignHomeGrid>.homeSidebar{grid-template-columns:1fr;gap:12px;display:grid;position:static}body.drakkenheimApp .campaignHomeGrid>.campaignHomeCard{padding:16px}body.drakkenheimApp .campaignHomeCardHead{margin-bottom:2px}body.drakkenheimApp .homeContractRow{grid-template-columns:42px minmax(0,1fr);gap:9px}body.drakkenheimApp .homeContractThumb{width:42px;height:42px}body.drakkenheimApp .homeContractReward{text-align:left;white-space:normal;color:var(--vr5-gold-2);grid-column:2}body.drakkenheimApp .campaignPartyOverview{grid-template-columns:1fr;gap:12px}body.drakkenheimApp .partyPortraits{scroll-snap-type:x proximity;scrollbar-width:none;gap:8px;display:flex;overflow-x:auto}body.drakkenheimApp .partyPortraits::-webkit-scrollbar{display:none}body.drakkenheimApp .partyPortrait{scroll-snap-align:start;flex:0 0 112px}body.drakkenheimApp .snapshotStats{grid-template-columns:1fr 1fr}body.drakkenheimApp .playerBottomActions{grid-template-columns:1fr 1fr;gap:8px}body.drakkenheimApp .playerBottomActions button{align-items:flex-start;min-height:76px}body.drakkenheimApp .dashboardPrimaryGrid,body.drakkenheimApp .continueDetails{grid-template-columns:1fr}}@media (max-width:390px){body.drakkenheimApp .playerCurrentLocationCard{flex-direction:column;align-items:flex-start}body.drakkenheimApp .playerBottomActions{grid-template-columns:1fr}body.drakkenheimApp .campaignHomeStat{flex-basis:140px}}body.drakkenheimApp .townPage>.townHeader,body.drakkenheimApp .adminPage>.townHeader{min-height:118px;padding:22px var(--vr5-gutter);border-bottom:1px solid var(--vr5-line-strong);background:radial-gradient(420px 160px at 50% 0,var(--vr5-glow),transparent 72%), linear-gradient(180deg,#130e0bfa,#0a0908fc);margin-top:52px;position:relative;box-shadow:0 12px 34px #0000003d}body.drakkenheimApp .townHeaderTitle h1{color:#f0dfbd;text-shadow:0 5px 22px #0000006b}body.drakkenheimApp .townHeader :where(.eyebrow,.headerSub){color:var(--vr5-muted)}body.drakkenheimApp .townHeaderActions{align-items:center;gap:8px;display:flex}body.drakkenheimApp .townHeaderActions :where(button,a){border-radius:9px;min-height:42px}body.drakkenheimApp .campaignSwitcherButton,body.drakkenheimApp .characterSwitcherButton{border:1px solid var(--vr5-line);background:#ffffff05;box-shadow:inset 0 1px #ffffff05}body.drakkenheimApp .campaignSwitcherButton:hover,body.drakkenheimApp .characterSwitcherButton:hover{border-color:var(--vr5-line-strong);background:var(--vr5-glow)}@media (min-width:701px) and (max-width:1180px){body.drakkenheimApp :where(.tbf-global-nav-dm,.tbf-global-nav-player){box-shadow:var(--vr5-shadow-1);border-radius:12px;padding:8px}body.drakkenheimApp .tbf-nav-group-label{display:none}body.drakkenheimApp .tbf-nav-items{gap:4px}body.drakkenheimApp .tbf-nav-item{min-height:46px}}@media (max-width:700px){body.drakkenheimApp .townPage>.townHeader,body.drakkenheimApp .adminPage>.townHeader{border-bottom-color:var(--vr5-line);background:linear-gradient(#120e0bfb,#090807fe);min-height:0;padding:12px 14px 13px;box-shadow:0 8px 24px #0003;margin-top:0!important}body.drakkenheimApp .townHeaderTitle h1{letter-spacing:.035em!important;font-size:clamp(1.35rem,7vw,1.85rem)!important;line-height:1!important}body.drakkenheimApp .townHeader .eyebrow{letter-spacing:.12em;font-size:.6rem}body.drakkenheimApp .townHeaderActions{gap:6px;overflow:visible}body.drakkenheimApp .townHeaderActions :where(button,a){min-height:40px}}@media (hover:hover) and (pointer:fine){body.drakkenheimApp :where(.homeQuickLinks button,.playerBottomActions button,.dashboardQuickActions button,.snapshotList button,.sessionHistory button):hover{border-color:var(--vr5-line-strong);background-color:var(--vr5-glow)}}@media (hover:none){body.drakkenheimApp :where(button,a,.noticeCard,.campaignHomeCard,.playerPanel,.playerPanelWide):hover{transform:none!important}}body.drakkenheimApp .joinPage{min-height:100dvh;padding:clamp(24px,5vw,64px) var(--vr5-gutter);background:radial-gradient(600px 360px at 50% 18%,color-mix(in srgb,var(--vr5-gold) 12%,transparent),transparent 70%);place-items:center;display:grid}body.drakkenheimApp .joinCard{border:1px solid var(--vr5-line-strong);background:radial-gradient(circle at 100% 0,var(--vr5-glow),transparent 38%), linear-gradient(150deg,#221b15fa,#0d0c0afe);width:min(660px,100%);box-shadow:var(--vr5-shadow-3),inset 0 1px #ffffff09;border-radius:22px;padding:clamp(24px,4vw,42px)}body.drakkenheimApp .joinCrest{border:1px solid var(--vr5-line-strong);background:var(--vr5-glow);width:64px;height:64px;color:var(--vr5-gold-2);border-radius:18px;place-items:center;margin-bottom:18px;display:grid;box-shadow:0 12px 30px #0000003d}body.drakkenheimApp .joinChoicePanel{gap:10px;margin-top:20px;display:grid}body.drakkenheimApp .joinOption{border-color:var(--vr5-line);background:linear-gradient(145deg,#1c1713f0,#0e0d0bfa);border-radius:13px;min-height:92px;padding:16px}body.drakkenheimApp .joinOptionPrimary{border-color:var(--vr5-line-strong);background:radial-gradient(circle at 100% 0,var(--vr5-glow),transparent 45%), linear-gradient(145deg,#2a1f16f7,#0f0d0bfc)}body.drakkenheimApp .joinOptionHeading{color:var(--vr5-ink);font-size:.78rem}body.drakkenheimApp .joinOptionDescription{color:var(--vr5-muted);font-size:.74rem}body.drakkenheimApp .joinLoginForm{gap:13px;margin-top:22px;display:grid}body.drakkenheimApp .joinFieldLabel{color:#aa987f;letter-spacing:.075em;text-transform:uppercase;gap:7px;font-size:.68rem;font-weight:750;display:grid}body.drakkenheimApp .joinFieldHint{color:var(--vr5-faint);font-size:.68rem;line-height:1.45}body.drakkenheimApp .joinPrimary,body.drakkenheimApp .joinSecondary{border-radius:9px;min-height:46px}body.drakkenheimApp .joinPrimary{border:1px solid color-mix(in srgb,var(--vr5-gold) 58%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--vr5-gold) 35%,#3b2718),color-mix(in srgb,var(--vr5-gold) 19%,#20150f));color:#fff1d6;font-weight:800}body.drakkenheimApp .joinSecondary{border:1px solid var(--vr5-line);color:var(--vr5-copy);background:#ffffff05}body.drakkenheimApp .joinSuccessPanel,body.drakkenheimApp .joinCharacterStep,body.drakkenheimApp .joinContinuePanel{border:1px solid var(--vr5-line);background:#ffffff05;border-radius:12px;margin-top:18px;padding:17px}body.drakkenheimApp .joinSuccessBadge,body.drakkenheimApp .accountAccessBadge{border:1px solid color-mix(in srgb,var(--vr5-green) 48%,transparent);background:color-mix(in srgb,var(--vr5-green) 10%,transparent);color:#bdd3b9;letter-spacing:.07em;text-transform:uppercase;border-radius:999px;align-items:center;min-height:28px;padding:5px 9px;font-size:.65rem;font-weight:800;display:inline-flex}body.drakkenheimApp .accountWorkspace{width:var(--vr5-page);max-width:100%;margin-inline:auto;padding:18px 0 90px}body.drakkenheimApp .accountHero{border:1px solid var(--vr5-line-strong);border-radius:var(--vr5-radius-lg);background:radial-gradient(circle at 90% 0,var(--vr5-glow),transparent 38%), linear-gradient(145deg,#251d17fa,#0e0d0bfe);box-shadow:var(--vr5-shadow-2);justify-content:space-between;align-items:center;gap:24px;padding:clamp(24px,3vw,38px);display:flex}body.drakkenheimApp .accountHeroMark{border:1px solid var(--vr5-line-strong);background:var(--vr5-glow);width:68px;height:68px;color:var(--vr5-gold-2);border-radius:18px;flex:none;place-items:center;font-size:28px;display:grid}body.drakkenheimApp .accountHeroMain{flex:1;min-width:0}body.drakkenheimApp .accountHeroMain h1{margin:.12em 0;font-size:clamp(2rem,4vw,3.3rem);line-height:1}body.drakkenheimApp .accountRole{border:1px solid var(--vr5-line);min-height:28px;color:var(--vr5-gold-2);background:var(--vr5-glow);letter-spacing:.08em;border-radius:999px;align-items:center;padding:5px 9px;font-size:.66rem;font-weight:800;display:inline-flex}body.drakkenheimApp .accountSections{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px;display:grid}body.drakkenheimApp .accountSection{border:1px solid var(--vr5-line);border-radius:var(--vr5-radius-md);box-shadow:var(--vr5-shadow-1);background:linear-gradient(150deg,#1c1814f5,#0e0d0bfc);overflow:hidden}body.drakkenheimApp .accountSectionHead{border-bottom:1px solid var(--vr5-line);padding:17px 18px 12px}body.drakkenheimApp .accountSectionHead h2{margin:4px 0 0;font-size:1.25rem}body.drakkenheimApp .accountSectionBody{padding:18px}body.drakkenheimApp .accountGrid2{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}body.drakkenheimApp .accountField{color:var(--vr5-muted);letter-spacing:.07em;text-transform:uppercase;gap:6px;font-size:.68rem;font-weight:750;display:grid}body.drakkenheimApp .accountActions{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}body.drakkenheimApp .accountActions button,body.drakkenheimApp .accountSecondary,body.drakkenheimApp .accountDanger{border-radius:8px;min-height:44px}body.drakkenheimApp .accountInfoRow,body.drakkenheimApp .accountCampaign{border-color:var(--vr5-line);background:#ffffff04}body.drakkenheimApp .accountCampaign{border-radius:10px;padding:12px}body.drakkenheimApp .accountCampaignMark,body.drakkenheimApp .accountMiniAvatar{border-color:var(--vr5-line-strong);background:var(--vr5-glow)}body.drakkenheimApp .accountDangerBox{border-color:color-mix(in srgb,var(--vr5-red) 35%,transparent);background:color-mix(in srgb,var(--vr5-red) 7%,transparent)}body.drakkenheimApp .accountDanger{border-color:color-mix(in srgb,var(--vr5-red) 48%,transparent)!important;background:color-mix(in srgb,var(--vr5-red) 13%,#19100d)!important;color:#e7b7ad!important}body.drakkenheimApp .accountModalBackdrop{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#040303c7}body.drakkenheimApp .accountModal{padding:24px}body.drakkenheimApp .accountModalActions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}@media (max-width:900px){body.drakkenheimApp .accountSections{grid-template-columns:1fr}}@media (max-width:700px){body.drakkenheimApp .joinPage{place-items:start center;padding:14px 10px}body.drakkenheimApp .joinCard{margin-top:max(8px,env(safe-area-inset-top));border-radius:16px;padding:22px 17px}body.drakkenheimApp .joinCrest{border-radius:14px;width:52px;height:52px}body.drakkenheimApp .joinOption{min-height:86px;padding:14px}body.drakkenheimApp .joinPrimary,body.drakkenheimApp .joinSecondary,body.drakkenheimApp .joinLinkButton{width:100%}body.drakkenheimApp .accountWorkspace{width:100%;padding:10px var(--vr5-gutter) calc(88px + env(safe-area-inset-bottom))}body.drakkenheimApp .accountHero{border-radius:14px;align-items:flex-start;padding:20px 17px}body.drakkenheimApp .accountHeroMark{border-radius:13px;width:48px;height:48px;font-size:20px}body.drakkenheimApp .accountHeroMain h1{font-size:clamp(1.8rem,9vw,2.5rem)}body.drakkenheimApp .accountSections{gap:10px;margin-top:10px}body.drakkenheimApp .accountSectionHead{padding:15px 15px 10px}body.drakkenheimApp .accountSectionBody{padding:15px}body.drakkenheimApp .accountGrid2{grid-template-columns:1fr}body.drakkenheimApp .accountActions{grid-template-columns:1fr;display:grid}body.drakkenheimApp .accountActions>*{width:100%}body.drakkenheimApp .accountModalActions{grid-template-columns:1fr;display:grid}body.drakkenheimApp .accountModalActions>*{width:100%}}body.drakkenheimApp .publicWelcome{isolation:isolate;background:radial-gradient(900px 520px at 18% 35%,color-mix(in srgb,var(--vr5-gold) 11%,transparent),transparent 72%), radial-gradient(650px 420px at 95% 18%,#68371d21,transparent 70%), linear-gradient(135deg,#0d0a08 0,#080706 58%,#050403 100%);grid-template-rows:auto 1fr auto;gap:28px;min-height:100dvh;padding:clamp(24px,4vw,54px);display:grid;position:relative;overflow:hidden}body.drakkenheimApp .publicWelcome:before{content:"";z-index:-3;background:linear-gradient(90deg,#0000003d,#0000 35%,#0000004d),repeating-linear-gradient(90deg,#4a2b1814 0 2px,#0000 2px 62px);position:absolute;inset:0}body.drakkenheimApp .publicWelcome:after{content:"";z-index:-2;background:radial-gradient(ellipse at center,color-mix(in srgb,var(--vr5-gold) 8%,transparent),transparent 68%);filter:blur(16px);height:70%;position:absolute;inset:auto -10% -30% 30%}body.drakkenheimApp .publicWelcomeAtmosphere{z-index:-1;pointer-events:none;position:absolute;inset:0;overflow:hidden}body.drakkenheimApp .publicWelcomeAtmosphere span{filter:blur(70px);opacity:.18;border-radius:50%;width:360px;height:360px;position:absolute}body.drakkenheimApp .publicWelcomeAtmosphere span:first-child{background:#8b552a;top:18%;left:-170px}body.drakkenheimApp .publicWelcomeAtmosphere span:nth-child(2){background:#6f3824;top:5%;right:-210px}body.drakkenheimApp .publicWelcomeAtmosphere span:nth-child(3){opacity:.1;background:#a1743f;bottom:-230px;left:38%}body.drakkenheimApp .publicWelcomeBrand{align-items:center;gap:12px;width:min(1440px,100%);margin:0 auto;display:flex}body.drakkenheimApp .publicWelcomeMark{border:1px solid var(--vr5-line-strong);background:linear-gradient(145deg,color-mix(in srgb,var(--vr5-gold) 13%,#21150e),#0e0b09);color:#e0b873;border-radius:13px;place-items:center;width:46px;height:46px;font-size:20px;display:grid;box-shadow:0 14px 30px #0000004d,inset 0 1px #ffffff0a}body.drakkenheimApp .publicWelcomeBrand strong{color:#ead9b8;letter-spacing:.19em;font-size:.82rem;display:block}body.drakkenheimApp .publicWelcomeBrand small{color:#7f715f;letter-spacing:.2em;margin-top:3px;font-size:.58rem;display:block}body.drakkenheimApp .publicWelcomeHero{grid-template-columns:minmax(0,1.25fr) minmax(360px,.72fr);align-items:center;gap:clamp(34px,6vw,90px);width:min(1340px,100%);margin:auto;display:grid}body.drakkenheimApp .publicWelcomeCopy{max-width:760px;padding-block:30px}body.drakkenheimApp .publicWelcomeCopy h1{color:#f0e1c4;letter-spacing:-.055em;text-shadow:0 18px 50px #0000008c;max-width:780px;margin:.16em 0 .28em;font-size:clamp(3.2rem,7vw,7rem);line-height:.88}body.drakkenheimApp .publicWelcomeCopy>p{color:#bbaa91;max-width:680px;margin:0;font-size:clamp(.98rem,1.45vw,1.18rem);line-height:1.75}body.drakkenheimApp .publicWelcomeFeatures{flex-wrap:wrap;gap:8px;margin-top:28px;display:flex}body.drakkenheimApp .publicWelcomeFeatures span{border:1px solid var(--vr5-line);color:#9e907c;letter-spacing:.045em;background:#ffffff05;border-radius:999px;align-items:center;gap:7px;min-height:36px;padding:7px 10px;font-size:.68rem;display:inline-flex}body.drakkenheimApp .publicWelcomeFeatures b{color:#cda661;font-size:.78rem}body.drakkenheimApp .publicWelcomeGate{border:1px solid var(--vr5-line-strong);background:radial-gradient(circle at 100% 0,var(--vr5-glow),transparent 38%), linear-gradient(150deg,#1f1914f7,#0d0c0afc);width:100%;box-shadow:var(--vr5-shadow-3),inset 0 1px #ffffff09;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:20px;padding:clamp(22px,3vw,34px);position:relative}body.drakkenheimApp .publicWelcomeGate:before{content:"";pointer-events:none;border:1px solid #d0aa6b0f;border-radius:14px;position:absolute;inset:8px}body.drakkenheimApp .publicGateHead{position:relative}body.drakkenheimApp .publicGateHead h2{color:#eddabd;margin:5px 0 7px;font-size:clamp(1.55rem,2.5vw,2rem);line-height:1.08}body.drakkenheimApp .publicGateHead p{color:#998a75;margin:0 0 20px;font-size:.78rem;line-height:1.6}body.drakkenheimApp .publicSignInForm,body.drakkenheimApp .publicInviteBlock{gap:7px;display:grid;position:relative}body.drakkenheimApp .publicSignInForm label,body.drakkenheimApp .publicInviteBlock>label{color:#917d61;letter-spacing:.14em;margin-top:4px;font-size:.61rem;font-weight:800}body.drakkenheimApp .publicSignInForm input,body.drakkenheimApp .publicInviteBlock input{border-radius:9px;width:100%;min-height:48px;padding:11px 13px}body.drakkenheimApp .publicPrimary{border:1px solid color-mix(in srgb,var(--vr5-gold) 60%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--vr5-gold) 43%,#422816),color-mix(in srgb,var(--vr5-gold) 22%,#24150e));color:#fff0d2;letter-spacing:.11em;cursor:pointer;border-radius:9px;width:100%;min-height:50px;margin-top:7px;font-size:.73rem;font-weight:800;box-shadow:inset 0 1px #ffffff14,0 10px 24px #0000003d}body.drakkenheimApp .publicGateDivider{place-items:center;height:29px;margin:13px 0 9px;display:grid;position:relative}body.drakkenheimApp .publicGateDivider:before{content:"";background:var(--vr5-line);height:1px;position:absolute;top:50%;left:0;right:0}body.drakkenheimApp .publicGateDivider span{color:#665c4e;letter-spacing:.13em;background:#17130f;padding:0 10px;font-size:.58rem;position:relative}body.drakkenheimApp .publicInviteBlock>div{grid-template-columns:minmax(0,1fr) auto;gap:7px;display:grid}body.drakkenheimApp .publicInviteBlock button{border:1px solid var(--vr5-line-strong);color:#d8b777;letter-spacing:.08em;cursor:pointer;background:#ffffff06;border-radius:9px;min-height:48px;padding:0 13px;font-size:.65rem;font-weight:800}body.drakkenheimApp .publicInviteBlock small{color:#746959;margin-top:2px;font-size:.65rem;line-height:1.45}body.drakkenheimApp .publicWelcomeMessage{color:#d6a699;background:#6f2a1f1f;border:1px solid #af534159;border-radius:8px;margin-top:12px;padding:10px 11px;font-size:.72rem;position:relative}body.drakkenheimApp .publicGateLinks{border-top:1px solid var(--vr5-line);justify-content:space-between;align-items:center;gap:12px;margin-top:20px;padding-top:16px;display:flex;position:relative}body.drakkenheimApp .publicGateLinks a{color:#978773;font-size:.68rem;text-decoration:none}body.drakkenheimApp .publicGateLinks a strong{color:#d0aa69}body.drakkenheimApp .publicGateLinks button{border:1px solid var(--vr5-line);color:#9b8870;letter-spacing:.08em;background:0 0;border-radius:7px;min-height:36px;padding:6px 10px;font-size:.62rem;font-weight:800}body.drakkenheimApp .publicWelcomeFooter{color:#5f5549;letter-spacing:.16em;justify-content:center;align-items:center;gap:14px;width:min(1440px,100%);margin:0 auto;font-size:.56rem;display:flex}body.drakkenheimApp .publicWelcomeFooter i{background:#8e7147;border-radius:50%;width:3px;height:3px}@media (hover:hover) and (pointer:fine){body.drakkenheimApp .publicPrimary:hover{box-shadow:inset 0 1px #ffffff1a,0 13px 30px #00000052,0 0 26px var(--vr5-glow);border-color:#e0bc7b}body.drakkenheimApp .publicInviteBlock button:hover{background:var(--vr5-glow)}body.drakkenheimApp .publicGateLinks a:hover strong{color:#efd299}}@media (max-width:900px){body.drakkenheimApp .publicWelcome{padding:22px}body.drakkenheimApp .publicWelcomeHero{grid-template-columns:1fr;align-items:start;gap:18px}body.drakkenheimApp .publicWelcomeCopy{max-width:720px;padding:24px 0 6px}body.drakkenheimApp .publicWelcomeCopy h1{font-size:clamp(3rem,11vw,5rem)}body.drakkenheimApp .publicWelcomeGate{max-width:620px}}@media (max-width:600px){body.drakkenheimApp .publicWelcome{min-height:100dvh;padding:18px 14px calc(18px + env(safe-area-inset-bottom));gap:20px}body.drakkenheimApp .publicWelcomeBrand{gap:9px}body.drakkenheimApp .publicWelcomeMark{border-radius:10px;width:38px;height:38px}body.drakkenheimApp .publicWelcomeBrand strong{letter-spacing:.13em;font-size:.69rem}body.drakkenheimApp .publicWelcomeBrand small{letter-spacing:.13em;font-size:.52rem}body.drakkenheimApp .publicWelcomeHero{gap:15px}body.drakkenheimApp .publicWelcomeCopy{padding:18px 2px 3px}body.drakkenheimApp .publicWelcomeCopy h1{letter-spacing:-.045em;font-size:clamp(2.65rem,14vw,4rem);line-height:.91}body.drakkenheimApp .publicWelcomeCopy>p{font-size:.88rem;line-height:1.65}body.drakkenheimApp .publicWelcomeFeatures{grid-template-columns:1fr 1fr;margin-top:18px;display:grid}body.drakkenheimApp .publicWelcomeFeatures span{border-radius:9px;justify-content:flex-start;min-height:40px}body.drakkenheimApp .publicWelcomeGate{border-radius:15px;padding:20px 16px}body.drakkenheimApp .publicGateHead h2{font-size:1.5rem}body.drakkenheimApp .publicSignInForm input,body.drakkenheimApp .publicInviteBlock input,body.drakkenheimApp .publicInviteBlock button{min-height:48px}body.drakkenheimApp .publicInviteBlock>div{grid-template-columns:1fr}body.drakkenheimApp .publicInviteBlock button{width:100%}body.drakkenheimApp .publicGateLinks{flex-direction:column;align-items:flex-start}body.drakkenheimApp .publicGateLinks button{width:100%}body.drakkenheimApp .publicWelcomeFooter{flex-wrap:wrap;justify-content:flex-start;gap:8px;padding-inline:2px}}@media (max-width:370px){body.drakkenheimApp .publicWelcomeFeatures{grid-template-columns:1fr}body.drakkenheimApp .publicWelcomeCopy h1{font-size:2.55rem}}body.drakkenheimApp .publicNewAccount{border:1px solid var(--vr5-line);background:radial-gradient(circle at 100% 0,color-mix(in srgb,var(--vr5-gold) 8%,transparent),transparent 42%), #ffffff04;border-radius:11px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;margin-top:14px;padding:14px;display:grid;position:relative}body.drakkenheimApp .publicNewAccount>div{min-width:0}body.drakkenheimApp .publicNewAccount strong{color:#d9bd88;letter-spacing:.11em;margin-bottom:4px;font-size:.66rem;display:block}body.drakkenheimApp .publicNewAccount span{color:#8f816e;font-size:.69rem;line-height:1.5;display:block}body.drakkenheimApp .publicNewAccount a{border:1px solid var(--vr5-line-strong);background:linear-gradient(180deg,color-mix(in srgb,var(--vr5-gold) 15%,#251910),#17110d);color:#edcf96;letter-spacing:.08em;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;min-height:44px;padding:9px 12px;font-size:.64rem;font-weight:800;text-decoration:none;display:inline-flex}body.drakkenheimApp .publicInviteBlock small strong{color:#c8a768}body.drakkenheimApp .campaignPlayerLinkManager{border-color:var(--vr5-line-strong);background:radial-gradient(circle at 100% 0,var(--vr5-glow),transparent 38%), linear-gradient(150deg,#1f1914f7,#0d0c0afc);box-shadow:var(--vr5-shadow-1);padding:20px}body.drakkenheimApp .campaignPlayerLinkManager h3{color:var(--vr5-ink);margin:.25rem 0 .45rem;font-size:1.2rem}body.drakkenheimApp .campaignPlayerLinkManager>p{max-width:760px;color:var(--vr5-muted)}body.drakkenheimApp .campaignJoinCodeCard{border:1px solid color-mix(in srgb,var(--vr5-gold) 42%,transparent);background:radial-gradient(circle at 90% 0,color-mix(in srgb,var(--vr5-gold) 10%,transparent),transparent 48%), linear-gradient(135deg,#241b13,#110e0b);border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;margin:12px 0;padding:16px;display:grid;box-shadow:inset 0 1px #ffffff09}body.drakkenheimApp .campaignJoinCodeCard>div{min-width:0}body.drakkenheimApp .campaignJoinCodeCard small{color:#9a886e;letter-spacing:.14em;font-size:.62rem;font-weight:800;display:block}body.drakkenheimApp .campaignJoinCodeCard strong{color:#f0d6a2;letter-spacing:.08em;overflow-wrap:anywhere;margin:5px 0 3px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:clamp(1.25rem,2.5vw,1.75rem);display:block}body.drakkenheimApp .campaignJoinCodeCard span{color:#8c7d69;font-size:.68rem;display:block}body.drakkenheimApp .campaignJoinCodeCard button,body.drakkenheimApp .campaignPlayerLinkShare button,body.drakkenheimApp .playerLinkActions button{border:1px solid var(--vr5-line-strong);color:#e1c28c;letter-spacing:.055em;background:#1c1510;border-radius:8px;min-height:44px;font-weight:800}body.drakkenheimApp .campaignJoinCodeCard button{min-width:112px}body.drakkenheimApp .campaignPlayerLinkShare{border-color:var(--vr5-line-strong);background:#09080799}body.drakkenheimApp .campaignPlayerLinkShare input{min-height:44px;font-size:.72rem}body.drakkenheimApp .playerLinkActions .danger{color:#d6a399;border-color:#a55b4c6b}body.drakkenheimApp .playerLinkStatus{background:#50704c1f;border-color:#78987347}body.drakkenheimApp .joinCard{border-color:var(--vr5-line-strong);background:radial-gradient(circle at 100% 0,var(--vr5-glow),transparent 38%), linear-gradient(145deg,#251d16f7,#0e0c0afc)}body.drakkenheimApp .joinFieldHint{color:var(--vr5-muted);text-align:left}body.drakkenheimApp .joinBackRow a{color:#ad997c;text-decoration:none}@media (hover:hover) and (pointer:fine){body.drakkenheimApp .publicNewAccount a:hover,body.drakkenheimApp .campaignJoinCodeCard button:hover,body.drakkenheimApp .campaignPlayerLinkShare button:hover,body.drakkenheimApp .playerLinkActions button:hover{border-color:color-mix(in srgb,var(--vr5-gold) 58%,transparent);background:var(--vr5-glow);color:#f3d8a5}}@media (max-width:700px){body.drakkenheimApp .publicNewAccount{grid-template-columns:1fr;gap:10px}body.drakkenheimApp .publicNewAccount a{width:100%}body.drakkenheimApp .campaignPlayerLinkManager{padding:16px}body.drakkenheimApp .campaignJoinCodeCard{grid-template-columns:1fr;gap:11px}body.drakkenheimApp .campaignJoinCodeCard button{width:100%}body.drakkenheimApp .playerLinkActions{grid-template-columns:1fr;display:grid}body.drakkenheimApp .playerLinkActions button{width:100%;min-width:0}body.drakkenheimApp .campaignPlayerLinkShare{grid-template-columns:1fr}body.drakkenheimApp .campaignPlayerLinkShare button{width:100%}}
