:root{--header-height: 58px;--haven-emphasis: #edc45f}.site-header{height:var(--header-height);display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1080px)/2));border-bottom:1px solid var(--border);background:var(--header-background);gap:11px;position:fixed;top:0;left:0;right:0;z-index:var(--layer-header);transition:transform .25s ease}.site-header.hidden{transform:translateY(-100%)}.header-brand{display:flex;align-items:center;flex:1 1 0;min-width:0;gap:6px}.header-brand>.brand{margin-right:12px}.brand{display:flex;align-items:center;font-family:var(--font-display-small);font-weight:500;font-size:14px;letter-spacing:1.5px;color:var(--foreground);white-space:nowrap}.brand-mark{display:block;flex:0 0 24px;width:24px;height:24px;color:var(--gold);overflow:visible}.save-status-mark{transform-origin:center}.save-status-mark--saving{animation:save-status-two-beat-spin 2.8s infinite}.save-status-mark--saved{animation:save-status-glow-ping 1s both}@keyframes save-status-two-beat-spin{0%{transform:rotate(0);animation-timing-function:cubic-bezier(.45,0,.9,.2)}17%{transform:rotate(125deg);animation-timing-function:cubic-bezier(.08,.75,.18,1)}25%{transform:rotate(174deg);animation-timing-function:linear}29%{transform:rotate(180deg);animation-timing-function:cubic-bezier(.45,0,.9,.2)}46%{transform:rotate(305deg);animation-timing-function:cubic-bezier(.08,.75,.18,1)}50%{transform:rotate(360deg);animation-timing-function:cubic-bezier(.45,0,.9,.2)}67%{transform:rotate(485deg);animation-timing-function:cubic-bezier(.08,.75,.18,1)}75%{transform:rotate(534deg);animation-timing-function:linear}79%{transform:rotate(540deg);animation-timing-function:cubic-bezier(.45,0,.9,.2)}96%{transform:rotate(665deg);animation-timing-function:cubic-bezier(.08,.75,.18,1)}to{transform:rotate(720deg)}}@keyframes save-status-glow-ping{0%{filter:drop-shadow(0 0 0 transparent)}40%{filter:drop-shadow(0 0 7px color-mix(in srgb,var(--gold) 82%,#fff))}to{filter:drop-shadow(0 0 0 transparent)}}.site-header.is-saving :is(.brand,.nav-trigger,.nav-burger,.nav-shortcut,.nav-link){cursor:not-allowed;opacity:.58;pointer-events:none}.navigation-disabled{cursor:not-allowed!important;opacity:.58;pointer-events:none}.app-shell.is-saving a[href],a[aria-disabled=true]{cursor:not-allowed;opacity:.58;pointer-events:none}.site-header.is-saving :is(.nav-trigger,.nav-burger,.nav-shortcut,.nav-link).navigation-loading,:is(.nav-trigger,.nav-burger,.nav-shortcut,.nav-link).navigation-loading{cursor:default;opacity:1;pointer-events:none}@media(prefers-reduced-motion:reduce){.save-status-mark--saving{animation:none;filter:drop-shadow(0 0 3px color-mix(in srgb,var(--gold) 48%,transparent))}.save-status-mark--saved{animation:none;filter:drop-shadow(0 0 6px color-mix(in srgb,var(--gold) 75%,#fff))}}.header-meta{display:flex;flex:0 0 auto;gap:14px;align-items:center}.header-meta .stat{font-size:14px;font-weight:600}.header-run-indicators,.nav-burger{display:none}.nav-trigger{display:inline-grid}.nav-shortcuts{display:flex;flex:1 1 0;align-items:center;min-width:0;gap:10.5px;margin-left:4.5px}.nav-shortcut.active{color:var(--gold);border-color:color-mix(in srgb,var(--gold) 45%,var(--quiet-border))}.nav-shortcut-badge{position:absolute;font-family:var(--font-body);top:-5px;right:-5px;display:flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;border:2px solid var(--surface-drawer);border-radius:var(--radius-pill);background:var(--gold);color:var(--button-foreground);font-size:11px;font-weight:700;line-height:1}.nav-shortcut-attention{isolation:isolate;border-color:transparent}@property --nav-attention-angle{syntax: "<angle>"; inherits: false; initial-value: 0deg;}.nav-shortcut-attention:before{position:absolute;z-index:0;inset:-1px;padding:2px;border-radius:inherit;background:conic-gradient(from var(--nav-attention-angle),var(--gold),#82d1ad,#9fc8e9,#c399ef,var(--gold));content:"";pointer-events:none;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:nav-attention 3s linear infinite}.nav-shortcut-attention>.icon{position:relative;z-index:1}.nav-shortcut-attention>.nav-shortcut-badge{z-index:2}@keyframes nav-attention{to{--nav-attention-angle: 360deg}}@media(prefers-reduced-motion:reduce){.nav-shortcut-attention:before{animation:none}}.nav-positioner{z-index:var(--layer-nav)}.nav-popup{display:flex;flex-direction:column;gap:2px;min-width:190px;padding:8px;background:linear-gradient(var(--surface),var(--surface)),var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-menu);z-index:var(--layer-nav)}.nav-link{display:block;padding:11px 14px;border-radius:6px;color:var(--muted);font-size:13px;letter-spacing:.4px}.nav-popup .nav-link:hover,.nav-popup .nav-link[data-highlighted]{background:var(--quiet-hover);color:var(--foreground-strong)}.nav-link.active{color:var(--gold)}button.nav-link,div.nav-link{width:100%;border:0;background:none;font-family:inherit;text-align:left;cursor:pointer}.nav-more-item{display:flex;align-items:center;gap:.65rem}.nav-more-item .icon{flex:0 0 auto;width:1.2rem;height:1.2rem}.nav-more-name{flex:1 1 auto}.nav-more-count{min-width:1.35rem;padding:.1rem .4rem;border-radius:var(--radius-pill);background:var(--gold);color:var(--button-foreground);font-size:.7rem;font-weight:700;line-height:1.2;text-align:center}.nav-divider{flex:0 0 1px;align-self:stretch;margin:5px 8px;background:var(--border)}.nav-sheet{position:fixed;inset:0;z-index:calc(var(--layer-nav) + 1);display:flex;flex-direction:column;padding:20px;background:linear-gradient(var(--surface),var(--surface)),var(--surface-page)}.nav-sheet-close{align-self:flex-end;margin-top:auto}.nav-sheet-links{display:flex;flex:1 1 auto;flex-direction:column;gap:4px;min-height:0;margin-top:10px;overflow-y:auto;overscroll-behavior:contain}.nav-sheet-links .nav-link{padding:17px 12px;font-size:16px;border-bottom:0}.nav-sheet-links .nav-divider{margin:7px 12px}#root{padding-top:var(--header-height)}.content{max-width:1080px;margin:0 auto;min-height:70vh;padding:35px 24px 70px}.content:has(.realm-map-screen){display:flex;flex-direction:column;height:calc(100dvh - var(--header-height));min-height:0;overflow:hidden}.content:has(.region-map-screen):not(:has(.screen)){display:flex;flex-direction:column;width:100%;max-width:1080px;height:calc(100dvh - var(--header-height));min-height:0;margin:0 auto;padding:35px 24px 70px;overflow:hidden}.content:has(.region-map-screen):not(:has(.screen))>.notice{flex:0 0 auto;margin:8px 0 0}.content.narrow{max-width:520px}.content.play{width:100%;display:flex;flex-direction:column;gap:8px;max-width:none;margin:0;min-height:0;height:calc(100dvh - var(--header-height));padding:6px 0 12px;overflow:auto}.content.play>:not(.adventure){width:calc(100% - 12px);max-width:560px;margin-inline:auto}.content:has(.screen),.content:has(.haven-home-screen){display:flex;flex-direction:column;width:100%;max-width:none;height:calc(100dvh - var(--header-height));min-height:0;margin:0;padding:0;overflow:hidden}.content:has(.screen)>.notice,.content:has(.haven-home-screen)>.notice{flex:0 0 auto;margin:8px 16px 0}.content:has(.haven-home-art):not(:has(>.notice)){height:100dvh;margin-top:calc(-1 * var(--header-height))}.content:has(.haven-home-art):not(:has(>.notice))>:is(.screen,.haven-home-screen){padding-top:var(--header-height)}.local-tools-message{position:fixed;right:16px;top:66px;max-width:320px;z-index:var(--layer-local-tools)}@media(max-width:700px){:root{--header-height: 50px}.site-header{--control-height-field: 36px;padding:0 12px 0 20px}.header-brand{gap:4px}.header-brand>.brand{margin-left:-7px;margin-right:12px}.nav-shortcuts{gap:7px;margin-left:3px}#root{padding-top:var(--header-height)}.content:has(.realm-map-screen){display:flex;flex-direction:column;height:calc(100dvh - var(--header-height));min-height:0;padding:10px 12px;overflow:hidden}.content:has(.region-map-screen):not(:has(.screen)){height:calc(100dvh - var(--header-height));padding:10px 12px}.content:has(.screen),.content:has(.haven-home-screen){height:calc(100dvh - var(--header-height))}.nav-trigger{display:none}.nav-burger{display:inline-grid}.header-meta>.badge{display:none}.header-run-indicators:has(.mobile-run-indicators){display:flex}.mobile-run-indicators{display:flex;align-items:center;flex:0 0 auto;gap:.5rem;white-space:nowrap}.mobile-run-indicators .stat{font-size:.875rem}.mobile-run-indicators .backpack-button{padding:.15rem .4rem;font-size:1rem}.app-shell:has(.mobile-run-indicators) .adventure-run-strip{display:none}}.app-page-frame{width:100%;container-name:app-page;container-type:inline-size}@media(min-width:701px){.app-shell.drawer-open{width:calc(100% - var(--drawer-width));margin-left:var(--drawer-width)}.app-shell.drawer-open .site-header{left:var(--drawer-width);right:auto;width:calc(100% - var(--drawer-width));padding:0 max(12px,calc((100vw - var(--drawer-width) - 1080px) / 2))}}@media(min-width:701px)and (max-width:1100px){.app-shell.drawer-open .site-header{--control-height-field: 36px;padding:0 12px}.app-shell.drawer-open .header-brand{gap:4px}.app-shell.drawer-open .header-brand>.brand{margin-right:8px}.app-shell.drawer-open .nav-shortcuts{gap:6px;margin-left:2px}.app-shell.drawer-open .nav-trigger{display:inline-grid}.app-shell.drawer-open .nav-burger{display:none}.app-shell.drawer-open .header-meta>.badge{display:none}}@container app-page (max-width: 840px){.app-shell.drawer-open .app-page-frame .content:not(.play){padding:24px 18px 60px}.app-shell.drawer-open .app-page-frame .content:has(.realm-map-screen),.app-shell.drawer-open .app-page-frame .content:has(.region-map-screen):not(:has(.screen)){display:flex;flex-direction:column;height:calc(100dvh - var(--header-height));min-height:0;padding:10px 12px;overflow:hidden}.app-shell.drawer-open .app-page-frame .content:has(.screen),.app-shell.drawer-open .app-page-frame .content:has(.haven-home-screen){padding:0}.app-shell.drawer-open .app-page-frame .portrait.medium{width:70px;height:80px}.app-shell.drawer-open .app-page-frame .portrait.large{height:120px}}.login{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-6);min-height:calc(100dvh - var(--header-height));padding:var(--space-6) var(--space-4);box-sizing:border-box;background:radial-gradient(ellipse 60% 45% at 50% 30%,color-mix(in srgb,var(--gold) 9%,transparent),transparent)}.login-brand{display:flex;flex-direction:column;align-items:center;gap:var(--space-4)}.login-brand h1{margin:0;color:var(--foreground-strong);font-size:calc(clamp(2rem,1.6rem + 2vw,2.75rem) + .0625rem);letter-spacing:.02em;text-align:center}.login-mark{width:5.5rem;height:5.5rem;overflow:visible;color:var(--gold);animation:login-mark-glow 4.5s ease-in-out 1.6s infinite}.login-mark-ring{fill:none;stroke:currentColor;stroke-width:1.25;stroke-dasharray:1;stroke-dashoffset:0;opacity:.55;animation:login-mark-draw 1.6s cubic-bezier(.65,0,.35,1) both}.login-mark-core{fill:currentColor;transform-box:fill-box;transform-origin:center;animation:login-mark-turn 1.2s cubic-bezier(.2,.9,.25,1) .2s both}@keyframes login-mark-draw{0%{stroke-dashoffset:1;opacity:0}to{stroke-dashoffset:0;opacity:.55}}@keyframes login-mark-turn{0%{transform:rotate(-180deg) scale(.3);opacity:0}to{transform:none;opacity:1}}@keyframes login-mark-glow{0%,to{filter:drop-shadow(0 0 0 transparent)}50%{filter:drop-shadow(0 0 14px color-mix(in srgb,var(--gold) 55%,transparent))}}.login-form{display:flex;flex-direction:column;gap:var(--space-3);width:min(100%,22rem)}.login-form form{display:flex;flex-direction:column;gap:var(--space-3)}.login-or{display:flex;align-items:center;gap:var(--space-3);margin:0;color:var(--muted);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.12em}.login-or:before,.login-or:after{content:"";flex:1;border-top:1px solid var(--border)}.login-options{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-2)}.login-local{margin-top:var(--space-3);padding-top:var(--space-4);border-top:1px dashed var(--border)}.login-local p{margin:0 0 var(--space-2);color:var(--muted);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.12em}.login-local div{display:flex;flex-wrap:wrap;gap:var(--space-2)}.login-links{display:flex;gap:var(--space-6);font-size:var(--text-md)}.login-links a{color:var(--muted)}.login-links a:hover{color:var(--gold)}@media(prefers-reduced-motion:reduce){.login-mark,.login-mark-ring,.login-mark-core{animation:none}}.login-note{margin:0;color:var(--muted);font-size:var(--text-sm);text-align:center}.onboarding{--onboarding-ink: #070d0b;--onboarding-ember: #e2a35a;--onboarding-veil: linear-gradient( 180deg, #070d0bd9, #070d0b80 40%, #070d0bf0 );--onboarding-glow: color-mix( in srgb, var(--onboarding-ember) 22%, transparent );--onboarding-ease: cubic-bezier(.2, .8, .2, 1);position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:center;gap:var(--space-5);min-height:calc(100dvh - var(--header-height));padding:var(--space-6) var(--space-4) 0;box-sizing:border-box;overflow-x:clip}.onboarding-backdrop{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:var(--onboarding-veil),url(/environments/moody-forest.jpg) center / cover no-repeat}.onboarding-recruit .onboarding-backdrop{background:radial-gradient(ellipse 70% 40% at 50% 100%,var(--onboarding-glow),transparent 70%),var(--onboarding-veil),url(/environments/moody-forest.jpg) center / cover no-repeat}.onboarding-prologue{--scene-glow: color-mix(in srgb, var(--gold) 60%, transparent);--onboarding-ash: #b8afa6;--onboarding-cinder: #ff7a3c;--onboarding-blood: #6a1204}.onboarding-prologue .onboarding-backdrop{background:none}.onboarding-prologue .onboarding-backdrop:before{content:"";position:absolute;inset:0;background:url(/environments/moody-forest.jpg) center / cover no-repeat;transition:filter 1.4s ease}.onboarding-prologue[data-scene=fall] .onboarding-backdrop:before{filter:sepia(1) saturate(5) hue-rotate(-40deg) brightness(.5) contrast(1.15)}.onboarding-prologue[data-scene=road] .onboarding-backdrop:before{filter:sepia(1) saturate(3.2) hue-rotate(178deg) brightness(.45)}.onboarding-prologue .onboarding-backdrop:after{content:"";position:absolute;inset:0;background:var(--onboarding-veil)}.onboarding-fire,.onboarding-waystone{position:absolute;inset:0;z-index:1;opacity:0;transition:opacity 1.4s ease}.onboarding-fire{background:linear-gradient(180deg,color-mix(in srgb,var(--onboarding-blood) 55%,transparent),transparent 45%),radial-gradient(ellipse 90% 45% at 50% 105%,color-mix(in srgb,var(--onboarding-cinder) 70%,transparent),transparent 70%),radial-gradient(ellipse 45% 25% at 20% 100%,color-mix(in srgb,var(--gold) 40%,transparent),transparent 70%),radial-gradient(ellipse 40% 22% at 82% 100%,color-mix(in srgb,var(--gold) 35%,transparent),transparent 70%)}.onboarding-prologue[data-scene=fall] .onboarding-fire{opacity:1;animation:onboarding-flicker 3.2s ease-in-out infinite}.onboarding-waystone{background:radial-gradient(ellipse 55% 42% at 50% 20%,var(--scene-glow),transparent 70%)}.onboarding-prologue[data-scene=road] .onboarding-waystone{opacity:1;animation:onboarding-breathe 5s ease-in-out infinite}.onboarding-prologue[data-scene=road] .prologue-mark{filter:drop-shadow(0 0 16px var(--gold))}.drifting{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}.drifting-fleck{position:absolute;animation:var(--fleck-motion) var(--fleck-time, 20s) linear var(--fleck-delay, 0s) infinite}.drifting-fleck:nth-child(1){--fleck-time: 19s;--fleck-delay: -3s;left:6%;top:72%}.drifting-fleck:nth-child(2){--fleck-time: 23s;--fleck-delay: -11s;--fleck-scale: .7;left:14%;top:30%}.drifting-fleck:nth-child(3){--fleck-time: 17s;--fleck-delay: -6s;--fleck-scale: 1.3;left:24%;top:86%}.drifting-fleck:nth-child(4){--fleck-time: 25s;--fleck-delay: -15s;--fleck-scale: .8;left:33%;top:52%}.drifting-fleck:nth-child(5){--fleck-time: 21s;--fleck-delay: -2s;left:44%;top:16%}.drifting-fleck:nth-child(6){--fleck-time: 18s;--fleck-delay: -9s;--fleck-scale: 1.2;left:52%;top:78%}.drifting-fleck:nth-child(7){--fleck-time: 24s;--fleck-delay: -17s;--fleck-scale: .7;left:61%;top:40%}.drifting-fleck:nth-child(8){--fleck-time: 20s;--fleck-delay: -5s;left:70%;top:64%}.drifting-fleck:nth-child(9){--fleck-time: 26s;--fleck-delay: -13s;--fleck-scale: .9;left:79%;top:12%}.drifting-fleck:nth-child(10){--fleck-time: 22s;--fleck-delay: -8s;--fleck-scale: 1.1;left:86%;top:88%}.drifting-fleck:nth-child(11){--fleck-time: 19s;--fleck-delay: -14s;--fleck-scale: .8;left:92%;top:46%}.drifting-fleck:nth-child(12){--fleck-time: 27s;--fleck-delay: -20s;left:3%;top:24%}.drifting-fleck:nth-child(13){--fleck-time: 21s;--fleck-delay: -4s;--fleck-scale: 1.2;left:10%;top:58%}.drifting-fleck:nth-child(14){--fleck-time: 18s;--fleck-delay: -12s;--fleck-scale: .9;left:38%;top:90%}.drifting-fleck:nth-child(15){--fleck-time: 24s;--fleck-delay: -7s;--fleck-scale: 1.1;left:48%;top:34%}.drifting-fleck:nth-child(16){--fleck-time: 20s;--fleck-delay: -16s;--fleck-scale: .8;left:74%;top:22%}.drifting-fleck:nth-child(17){--fleck-time: 23s;--fleck-delay: -1s;--fleck-scale: 1.3;left:83%;top:70%}.drifting-fleck:nth-child(18){--fleck-time: 19s;--fleck-delay: -10s;--fleck-scale: .7;left:97%;top:82%}.drifting-ash .drifting-fleck{--fleck-motion: onboarding-ash-drift;width:calc(.6rem * var(--fleck-scale, 1));height:calc(.42rem * var(--fleck-scale, 1));border-radius:45% 55% 38% 62%;background:var(--onboarding-ash);opacity:.7;filter:blur(.4px)}.drifting-ash .drifting-fleck:nth-child(5n+1){background:var(--onboarding-cinder);box-shadow:0 0 6px var(--onboarding-cinder);filter:none}.drifting-shards .drifting-fleck{--fleck-motion: onboarding-shard-drift;width:calc(.6rem * var(--fleck-scale, 1));fill:color-mix(in srgb,var(--gold) 75%,transparent);opacity:.45;filter:drop-shadow(0 0 6px var(--gold))}.shard-mark{overflow:visible}.shard-mark-ring{fill:none;stroke:currentColor;stroke-width:1.25;stroke-dasharray:1;opacity:.55;animation:onboarding-mark-draw 1.6s cubic-bezier(.65,0,.35,1) both}.shard-mark-core{fill:currentColor;transform-box:fill-box;transform-origin:center;animation:onboarding-mark-turn 1.2s cubic-bezier(.2,.9,.25,1) .2s both}.onboarding-stage{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);width:min(100%,36rem);text-align:center;animation:onboarding-stage-in .7s var(--onboarding-ease) both}.onboarding-stage h1{margin:0;color:var(--foreground-strong);font-size:calc(clamp(2rem,1.5rem + 2.4vw,3rem) + .0625rem);letter-spacing:.02em;text-shadow:0 2px 18px var(--onboarding-ink)}.onboarding-eyebrow{margin:0;color:var(--gold);font-size:var(--text-xs);font-weight:600;letter-spacing:.2em;text-transform:uppercase}.onboarding-note{margin:0;color:var(--muted);font-size:var(--text-md);line-height:1.6}.onboarding-actions{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);width:min(100%,22rem);margin-top:var(--space-3)}.onboarding-actions>.button:first-child{width:100%}.onboarding-prologue,.onboarding-name{justify-content:center;padding-bottom:var(--space-6)}.prologue-mark{width:4.5rem;height:4.5rem;color:var(--gold)}.prologue-lines{display:grid;gap:var(--space-4);max-width:32rem}.prologue-beat{--line-start: .5s;--line-step: 1.2s;--line-duration: 1.1s;--line-count: 1}.prologue-lines p{--line-index: 0;margin:0;color:var(--foreground);font-size:clamp(1rem,.95rem + .3vw,1.15rem);line-height:1.7;text-shadow:0 1px 12px var(--onboarding-ink);animation:onboarding-line-in var(--line-duration) ease both;animation-delay:calc(var(--line-start) + var(--line-index) * var(--line-step))}.prologue-lines p:nth-child(2){--line-index: 1}.prologue-lines p:nth-child(3){--line-index: 2}.prologue-lines p:nth-child(4){--line-index: 3}.prologue-lines p:nth-child(5){--line-index: 4}.prologue-lines p:nth-child(6){--line-index: 5}.prologue-lines p:nth-child(7){--line-index: 6}.prologue-lines p:nth-child(8){--line-index: 7}.prologue-beat:has(.prologue-lines p:nth-child(2):last-child){--line-count: 2}.prologue-beat:has(.prologue-lines p:nth-child(3):last-child){--line-count: 3}.prologue-beat:has(.prologue-lines p:nth-child(4):last-child){--line-count: 4}.prologue-beat:has(.prologue-lines p:nth-child(5):last-child){--line-count: 5}.prologue-beat:has(.prologue-lines p:nth-child(6):last-child){--line-count: 6}.prologue-beat:has(.prologue-lines p:nth-child(7):last-child){--line-count: 7}.prologue-beat:has(.prologue-lines p:nth-child(8):last-child){--line-count: 8}.prologue-beat .onboarding-actions{animation:onboarding-line-in .8s ease both;animation-delay:calc(var(--line-start) + (var(--line-count) - 1) * var(--line-step) + var(--line-duration))}.prologue-progress{display:flex;gap:var(--space-3);margin:0;padding:0;list-style:none}.prologue-progress li{width:.5rem;height:.5rem;border:1px solid var(--gold);opacity:.45;transform:rotate(45deg);transition:opacity .4s ease,background-color .4s ease}.prologue-progress li.seen{background:var(--gold)}.prologue-progress li.current{background:var(--gold);opacity:1;box-shadow:0 0 10px var(--gold-glow)}.name-banner{display:grid;justify-items:center;gap:var(--space-1);width:min(100%,26rem);padding:var(--space-5) var(--space-6) var(--space-4);box-sizing:border-box;border:1px solid var(--gold-line);border-radius:var(--radius-lg);background:radial-gradient(ellipse at 50% 0%,var(--gold-wash),transparent 70%),color-mix(in srgb,var(--onboarding-ink) 72%,transparent);box-shadow:var(--shadow-raised)}.name-banner-mark{width:2.5rem;height:2.5rem;color:var(--gold)}.name-banner-name{color:var(--muted);font-family:var(--font-display);font-weight:700;font-size:calc(clamp(1.4rem,1.1rem + 1.4vw,2rem) + .0625rem);overflow-wrap:anywhere;transition:color .3s ease,text-shadow .3s ease}.name-banner.named .name-banner-name{color:var(--foreground-strong);text-shadow:0 0 18px var(--gold-glow)}.name-banner-title{color:var(--muted);font-size:var(--text-xs);letter-spacing:.18em;text-transform:uppercase}.name-form{display:flex;flex-direction:column;gap:var(--space-3);width:min(100%,26rem);text-align:left}.name-form .onboarding-actions{align-self:center}.name-count{margin:calc(-1 * var(--space-2)) 0 0;color:var(--muted);font-size:var(--text-xs);text-align:right}.onboarding-company{justify-content:center;padding-bottom:var(--space-6)}.company-stage{width:min(100%,56rem)}.company-places{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4);width:100%;margin:var(--space-2) 0 0;padding:0;list-style:none}.company-place{display:grid;min-width:0;min-height:16rem;border-radius:var(--radius-lg)}.company-place-hero{display:grid;align-content:start;justify-items:center;gap:var(--space-1);width:100%;height:100%;padding:0 0 var(--space-4);overflow:hidden;border:1px solid var(--gold-line);border-radius:var(--radius-lg);background:var(--surface-raised);box-shadow:var(--shadow-raised);color:inherit;font-family:inherit;cursor:pointer;transition:border-color .2s ease,transform .2s ease}.company-place-hero:hover{border-color:var(--gold);transform:translateY(-2px)}.company-place-hero:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.company-place.just-sworn .company-place-hero{animation:onboarding-slot-sworn 1.4s ease both}.company-place-hero .portrait.large{height:11rem;border:0;border-radius:0}.company-place-emblem{position:relative;display:grid;place-items:center;width:2.75rem;height:2.75rem;margin-top:-1.375rem;border:1px solid var(--gold);border-radius:var(--radius-pill);background:var(--surface-raised);color:var(--gold)}.company-place strong{max-width:100%;padding:0 var(--space-2);color:var(--foreground-strong);font-family:var(--font-display);font-weight:700;font-size:var(--text-display-lg);overflow-wrap:anywhere}.company-place small{color:var(--muted);font-size:var(--text-xs);letter-spacing:.08em;text-transform:capitalize}.company-place-choose{display:grid;align-content:center;justify-items:center;gap:var(--space-3);width:100%;height:100%;padding:var(--space-5) var(--space-3);border:1px dashed var(--quiet-border);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--surface) 70%,transparent);color:var(--muted);font-family:inherit;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.company-place-choose:not(:disabled){border-style:solid;border-color:var(--gold);color:var(--foreground-strong);box-shadow:0 0 0 1px var(--gold-line),0 0 28px var(--gold-wash);animation:onboarding-beckon 2.8s ease-in-out infinite}.company-place-choose:not(:disabled):hover{transform:translateY(-2px)}.company-place-choose:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.company-place-choose:disabled{opacity:.6;cursor:default}.company-place-mark{width:3.5rem;height:3.5rem;color:var(--gold)}.company-place-choose:disabled .company-place-mark{color:var(--quiet-border)}.company-place-mark .shard-mark{width:100%;height:100%}@media(max-width:600px){.company-places{gap:var(--space-2)}.company-place{min-height:12rem}.company-place-hero .portrait.large{height:7rem}.company-place strong{font-size:var(--text-display-md)}.company-place-mark{width:2.5rem;height:2.5rem}}.recruit-steps{display:flex;gap:var(--space-2);width:min(100%,68rem);margin:0;padding:0;list-style:none}.recruit-steps li{display:flex;flex:1 1 0;align-items:center;gap:var(--space-2);padding-bottom:var(--space-2);border-bottom:2px solid var(--border);color:var(--muted);font-family:var(--font-display-small);font-weight:500;font-size:var(--text-display-sm);transition:border-color .4s ease,color .4s ease}.recruit-steps li.done{border-color:var(--gold-glow);color:var(--foreground)}.recruit-steps li.current{border-color:var(--gold);color:var(--foreground-strong)}.recruit-step-number{display:grid;flex:0 0 auto;place-items:center;width:1.5rem;height:1.5rem;border:1px solid currentColor;border-radius:var(--radius-pill);font-family:var(--font-body);font-size:var(--text-xs)}.recruit-steps li.done .recruit-step-number{border-color:var(--gold);background:var(--gold);color:var(--button-foreground)}.recruit-stage{align-items:stretch;gap:var(--space-3);width:min(100%,68rem);padding-bottom:var(--space-6);text-align:left}.recruit-stage h2{margin:0;color:var(--foreground-strong);font-size:var(--text-display-title)}.onboarding-choosing{height:calc(100dvh - var(--header-height));min-height:0;gap:var(--space-3);overflow:hidden}.onboarding-choosing .recruit-steps{flex:none}.onboarding-choosing .recruit-stage{flex:1 1 auto;min-height:0;padding:var(--scroll-fade-inset) 0 var(--space-4);overflow-y:auto;-webkit-mask-image:var(--scroll-fade);mask-image:var(--scroll-fade)}.onboarding-choosing .recruit-stage.face-stage{display:flex;flex-direction:column;padding:0;overflow:hidden;-webkit-mask-image:none;mask-image:none}.recruit-classes{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:var(--space-3)}.recruit-classes>.choice{padding:0;border:0;background:none;perspective:60rem;animation:onboarding-deal .6s var(--onboarding-ease) both}.recruit-classes>.choice.selected{box-shadow:none}.recruit-classes>.choice:nth-child(2){animation-delay:.08s}.recruit-classes>.choice:nth-child(3){animation-delay:.16s}.recruit-classes>.choice:nth-child(4){animation-delay:.24s}.hero-class-soldier{--hero-class-tint: #7fa3c940}.hero-class-thief{--hero-class-tint: #c96f5a40}.hero-class-scholar{--hero-class-tint: #b98ae040}.hero-class-mystic{--hero-class-tint: #8fcf8540}.hero-class-card{display:grid;height:100%;transform-style:preserve-3d;transition:transform .7s var(--onboarding-ease)}.choice.selected .hero-class-card{transform:rotateY(180deg)}.hero-class-face{position:relative;display:flex;grid-area:1 / 1;flex-direction:column;gap:var(--space-2);padding:var(--space-4);box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius-lg);background:radial-gradient(ellipse 90% 55% at 50% 0%,var(--hero-class-tint),transparent 70%),var(--panel-background);backface-visibility:hidden}.hero-class-front{justify-content:center}.hero-class-back{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold) inset,0 0 24px var(--gold-wash);transform:rotateY(180deg)}.hero-class-emblem{display:grid;align-self:center;place-items:center;width:4.5rem;height:4.5rem;margin-bottom:var(--space-1);border:1px solid var(--gold-line);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--onboarding-ink) 50%,transparent);color:var(--gold);transition:transform .3s var(--onboarding-ease),box-shadow .3s ease}.class-emblem{width:62%;height:62%;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.class-emblem .emblem-shard{fill:currentColor;stroke:none}.hero-class-role{align-self:center;color:var(--gold);font-size:var(--text-xs);letter-spacing:.18em;text-transform:uppercase}.hero-class-card .hero-class-title{align-self:center;color:var(--foreground-strong);font-size:var(--text-xl)}.hero-class-description{color:var(--muted);font-size:var(--text-sm);line-height:1.5;text-align:center}.hero-class-stats{display:flex;justify-content:center;gap:var(--space-4);padding:var(--space-2) 0;border-block:1px solid var(--gold-line);color:var(--muted);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase}.hero-class-stats b{color:var(--foreground-strong);font-family:var(--font-display);font-weight:700;font-size:var(--text-display-lg)}.hero-class-passive{color:var(--foreground);font-size:var(--text-md);line-height:1.5}.hero-class-ability{color:var(--muted);font-size:var(--text-sm);line-height:1.5}.hero-class-ability b{color:var(--gold);font-weight:600}.hero-class-sworn{position:absolute;top:var(--space-3);right:var(--space-3);padding:var(--space-1) var(--space-2);border:1px solid var(--gold);border-radius:var(--radius-sm);color:var(--gold);font-family:var(--font-body);font-weight:700;font-size:var(--text-display-xs);letter-spacing:.12em;text-transform:uppercase;transform:rotate(8deg)}.recruit-face{flex:1 1 auto;min-height:0}.recruit-face.side-by-side{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);grid-template-rows:minmax(0,1fr);gap:var(--space-5)}.recruit-face.one-at-a-time{display:flex;flex-direction:column}.recruit-portraits{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));align-content:start;gap:var(--space-3);min-height:0;padding:var(--scroll-fade-inset) 0 var(--space-4);overflow-y:auto;-webkit-mask-image:var(--scroll-fade);mask-image:var(--scroll-fade)}.recruit-face.one-at-a-time .recruit-portraits{flex:1 1 auto;grid-template-columns:repeat(auto-fill,minmax(9rem,1fr))}.onboarding-choosing:has(.recruit-face.one-at-a-time .recruit-face-details) .recruit-steps,.face-stage:has(.recruit-face.one-at-a-time .recruit-face-details)>h2{display:none}.recruit-face.one-at-a-time .recruit-face-details{padding-top:0}.recruit-face-details{display:flex;flex:1 1 auto;flex-direction:column;gap:var(--space-3);min-height:0;padding-top:var(--space-3)}.recruit-face-details>.button{flex:none;align-self:flex-start}.recruit-face-details .appearance-editor{display:flex;flex:1 1 auto;flex-direction:column;gap:var(--space-2);min-height:0}.recruit-face-details .appearance-preview-frame{flex:none}.recruit-face-details .appearance-preview.portrait.large{width:auto;max-width:100%;height:min(30dvh,16rem)}.recruit-face-details .appearance-options{flex:1 1 auto;min-height:0;padding:var(--scroll-fade-inset) 0 var(--space-4);overflow-y:auto;-webkit-mask-image:var(--scroll-fade);mask-image:var(--scroll-fade)}.recruit-naming{display:grid;align-items:start;gap:var(--space-5)}@media(min-width:760px){.recruit-naming{grid-template-columns:minmax(0,20rem) minmax(0,1fr)}}.hero-preview{display:grid;overflow:hidden;border:1px solid var(--gold-line);border-radius:var(--radius-lg);background:var(--surface-raised);box-shadow:var(--shadow-raised)}.hero-preview .portrait.large{height:15rem;border:0;border-radius:0}.hero-preview-plate{position:relative;display:grid;justify-items:center;gap:var(--space-1);padding:var(--space-6) var(--space-4) var(--space-4);text-align:center}.hero-preview-emblem{position:absolute;top:0;left:50%;display:grid;place-items:center;width:3rem;height:3rem;border:1px solid var(--gold);border-radius:var(--radius-pill);background:var(--surface-raised);color:var(--gold);translate:-50% -50%}.hero-preview-plate strong{color:var(--muted);font-family:var(--font-display);font-weight:700;font-size:var(--text-display-xl)}.hero-preview-plate strong.named{color:var(--foreground-strong);animation:onboarding-name-settle .5s var(--onboarding-ease) both}.hero-preview-plate small{color:var(--muted);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase}.recruit-names{display:grid;justify-items:start;gap:var(--space-3)}.recruit-name-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:var(--space-2);width:100%;perspective:40rem}.recruit-name-choices>.choice{align-items:center;text-align:center;animation:onboarding-name-draw .5s var(--onboarding-ease) both}.recruit-name-choices>.choice:nth-child(2){animation-delay:.08s}.recruit-name-choices>.choice:nth-child(3){animation-delay:.16s}.onboarding .recruit-actions{position:sticky;bottom:0;align-self:stretch;margin:auto calc(-1 * var(--space-4)) 0}.oath-reveal{position:fixed;inset:0;z-index:var(--layer-backdrop);display:grid;place-items:center;padding:var(--space-4);background:color-mix(in srgb,var(--onboarding-ink) 82%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:onboarding-fade-in .4s ease both}.oath-card{position:relative;display:grid;justify-items:center;gap:var(--space-3);width:min(100%,22rem);padding:var(--space-6) var(--space-5);box-sizing:border-box;border:1px solid var(--gold);border-radius:var(--radius-lg);background:radial-gradient(ellipse at 50% 0%,var(--gold-wash),transparent 70%),var(--surface-raised);box-shadow:0 0 60px var(--gold-glow),var(--shadow-menu);text-align:center;animation:onboarding-oath-turn .9s var(--onboarding-ease) both}.oath-card .portrait.large{height:12rem}.oath-card h2{margin:0;color:var(--foreground-strong);font-size:calc(clamp(1.6rem,1.3rem + 1.2vw,2.1rem) + .0625rem)}.oath-reveal.leaving{animation:onboarding-fade-out .6s ease forwards}.oath-reveal.leaving .oath-card{animation:onboarding-oath-leave .6s var(--onboarding-ease) forwards}.oath-flare{position:absolute;top:0;left:50%;width:5rem;height:5rem;color:var(--gold);pointer-events:none;translate:-50% -50%}.oath-flare .shard-mark{width:100%;height:100%;animation:onboarding-flare 1.4s ease-out .3s both}.onboarding-arrival{--onboarding-sun: #f4dfa0}.onboarding-prologue[data-scene=glade] .onboarding-backdrop:before{filter:sepia(.25) saturate(1.25) brightness(.72)}.onboarding-glade{position:absolute;inset:0;z-index:1;background:linear-gradient(112deg,transparent 18%,color-mix(in srgb,var(--onboarding-sun) 14%,transparent) 26%,transparent 34%,transparent 52%,color-mix(in srgb,var(--onboarding-sun) 10%,transparent) 58%,transparent 66%),radial-gradient(ellipse 60% 40% at 30% 0%,color-mix(in srgb,var(--onboarding-sun) 22%,transparent),transparent 70%);animation:onboarding-breathe 7s ease-in-out infinite}.arrival-beat{--line-start: 1.8s;--line-step: 1.5s;--line-duration: 1.2s;width:min(100%,40rem)}.arrival-company{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-4);margin:var(--space-2) 0;padding:0;list-style:none}.arrival-company li{display:grid;justify-items:center;gap:var(--space-1);width:7rem;animation:onboarding-hero-rise .8s var(--onboarding-ease) .5s both}.arrival-company li:nth-child(2){animation-delay:.75s}.arrival-company li:nth-child(3){animation-delay:1s}.arrival-company .portrait{box-shadow:0 0 0 1px var(--gold-line),0 0 24px var(--gold-wash)}.arrival-company h2{margin:0;color:var(--foreground-strong);font-family:var(--font-display);font-weight:700;font-size:var(--text-display-md)}.arrival-company small{color:var(--muted);font-size:var(--text-xs);text-transform:capitalize}@media(max-width:600px){.onboarding{gap:var(--space-4);padding-top:var(--space-4)}.recruit-steps li{justify-content:center}.arrival-company{gap:var(--space-2)}.arrival-company li{width:6rem}}@keyframes onboarding-stage-in{0%{opacity:0;transform:translateY(1rem)}}@keyframes onboarding-line-in{0%{opacity:0;filter:blur(4px);transform:translateY(.5rem)}}@keyframes onboarding-fade-out{to{opacity:0}}@keyframes onboarding-oath-leave{to{opacity:0;transform:translateY(-1.5rem) scale(.92)}}@keyframes onboarding-fade-in{0%{opacity:0}}@keyframes onboarding-ash-drift{0%{opacity:0;transform:translateY(28vh) rotate(0)}15%,85%{opacity:.75}35%{transform:translate(2.5vw,10vh) rotate(110deg)}65%{transform:translate(-2vw,-12vh) rotate(220deg)}to{opacity:0;transform:translate(1.5vw,-32vh) rotate(340deg)}}@keyframes onboarding-flicker{0%,to{opacity:1}30%{opacity:.82}55%{opacity:.95}75%{opacity:.78}}@keyframes onboarding-breathe{50%{opacity:.7}}@keyframes onboarding-shard-drift{0%{opacity:0;transform:translateY(30vh) rotate(-12deg)}15%,85%{opacity:.55}to{opacity:0;transform:translateY(-45vh) rotate(24deg)}}@keyframes onboarding-mark-draw{0%{stroke-dashoffset:1;opacity:0}}@keyframes onboarding-mark-turn{0%{opacity:0;transform:rotate(-180deg) scale(.3)}}@keyframes onboarding-deal{0%{opacity:0;transform:translateY(1.5rem) rotate(-2deg)}}@keyframes onboarding-name-draw{0%{opacity:0;transform:rotateX(80deg)}}@keyframes onboarding-name-settle{0%{opacity:.4;letter-spacing:.2em}}@keyframes onboarding-slot-sworn{0%{border-color:var(--gold);box-shadow:0 0 32px var(--gold-glow);transform:scale(1.06)}}@keyframes onboarding-oath-turn{0%{opacity:0;transform:perspective(60rem) rotateY(-100deg) scale(.85)}60%{opacity:1}}@keyframes onboarding-flare{0%{opacity:0;transform:scale(.2) rotate(-90deg)}50%{opacity:1;filter:drop-shadow(0 0 24px var(--gold))}}@keyframes onboarding-beckon{50%{box-shadow:0 0 0 1px var(--gold-line),0 0 40px var(--gold-glow)}}@keyframes onboarding-hero-rise{0%{opacity:0;transform:translateY(2rem)}}.appearance-editor{display:grid;gap:var(--space-4);min-width:0}.appearance-preview-frame{display:grid;justify-items:center}.appearance-options{display:grid;gap:var(--space-4);min-width:0}.appearance-preview.portrait.large{width:min(100%,360px);height:auto}.run-sheet .appearance-preview-frame{position:sticky;top:0;z-index:1;padding-bottom:var(--space-2);background:var(--surface-raised)}.run-sheet .appearance-preview.portrait.large{width:auto;height:min(26dvh,220px)}.appearance-group{display:grid;gap:var(--space-3);min-width:0;margin:0;padding:0;border:0}.appearance-group legend{margin-bottom:var(--space-2);padding:0;font-family:var(--font-display);font-weight:700;font-size:var(--text-display-md);color:var(--foreground-strong)}.appearance-group>.button{justify-self:start}.appearance-choices{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:var(--space-2)}.appearance-choices .choice{gap:var(--space-1);padding:var(--space-1)}.appearance-choice-art.portrait.small{width:100%;height:auto}.appearance-swatches{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--space-2) var(--space-1);justify-items:center}.appearance-swatches .swatch{width:min(100%,var(--control-height));height:auto;aspect-ratio:1}.appearance-blends{display:flex;gap:var(--space-2)}.appearance-choice-name{font-size:var(--text-xs);line-height:1.25;text-align:center}.detail-hero{display:flex;gap:14px;flex-wrap:wrap;align-items:flex-start}.detail-hero .portrait{flex:0 0 140px;width:140px;height:140px}.detail-hero-portrait{display:flex;flex:0 0 140px;flex-direction:column;gap:var(--space-2)}.detail-hero-info{display:flex;flex:1 1 180px;flex-direction:column;gap:var(--space-2);min-width:0}.detail-hero-heading{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2)}.detail-hero-heading h2{margin:0;color:var(--foreground-strong);font-family:var(--font-display);font-weight:700;font-size:var(--text-display-xl)}.detail-hero-skills{padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--panel-background)}.detail-hero-skills[hidden]{display:none}.detail-skills-toggle.button{align-self:flex-start;padding-inline:var(--space-2);border-color:transparent;background:transparent;color:var(--gold);text-decoration:underline;text-underline-offset:.2em}.detail-skills-toggle.button:hover{border-color:var(--gold-line);background:var(--gold-tint)}.detail-passive-ability{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-2) var(--space-3);border-left:2px solid var(--border);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface) 72%,transparent)}.detail-passive-ability h3{margin:0;color:var(--muted);font-family:var(--font-body);font-size:var(--text-display-xs);letter-spacing:.08em;text-transform:uppercase}.detail-passive-ability .text,.detail-active-ability .text{margin:0}.detail-active-abilities{display:flex;flex-direction:column;gap:var(--space-2)}.detail-active-abilities>h3{margin:0}.detail-active-ability{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--panel-background)}.detail-active-ability-copy,.detail-active-ability-actions{display:flex;flex-direction:column;gap:var(--space-2)}.detail-active-ability-title{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--space-2)}.detail-active-ability-title strong{color:var(--foreground-strong);font-family:var(--font-display);font-weight:700;font-size:var(--text-display-lg)}.detail-active-ability-actions .row{width:100%}.detail-active-ability-actions .button{flex:1 1 0;min-width:0}.badge-medal{--medal: 52px;--medal-ribbon: var(--rarity-legendary);--medal-enamel: color-mix( in srgb, var(--medal-ribbon) 34%, var(--surface-page) );--medal-rim-dark: color-mix(in srgb, var(--gold) 45%, var(--surface-page));display:inline-grid;position:relative;flex:none;justify-items:center;width:var(--medal)}.badge-medal[data-size=sm]{--medal: 28px}.badge-medal[data-size=lg]{--medal: 72px}.badge-medal[data-size=xl]{--medal: 104px}[data-ribbon=uncommon]{--medal-ribbon: var(--rarity-uncommon)}[data-ribbon=legendary]{--medal-ribbon: var(--rarity-legendary)}[data-ribbon=rare]{--medal-ribbon: var(--rarity-rare)}[data-ribbon=epic]{--medal-ribbon: var(--rarity-epic)}.badge-medal-ribbon{width:calc(var(--medal) * .56);height:calc(var(--medal) * .46);margin-bottom:calc(var(--medal) * -.14);background:linear-gradient(90deg,color-mix(in srgb,var(--medal-ribbon) 70%,var(--surface-page)) 0 18%,var(--medal-ribbon) 18% 38%,var(--foreground) 38% 62%,var(--medal-ribbon) 62% 82%,color-mix(in srgb,var(--medal-ribbon) 70%,var(--surface-page)) 82%);clip-path:polygon(0 0,100% 0,100% 100%,50% 78%,0 100%);opacity:.92}.badge-medal-disc{position:relative;display:grid;width:var(--medal);aspect-ratio:1;place-items:center;border-radius:50%;background:radial-gradient(circle at 32% 28%,var(--foreground-strong) 0,var(--button-hover) 18%,var(--gold) 48%,var(--medal-rim-dark) 100%);box-shadow:inset 0 0 0 1px var(--gold-glow),var(--shadow-raised)}.badge-medal-disc:before{position:absolute;inset:15%;border-radius:50%;background:radial-gradient(circle at 40% 35%,color-mix(in srgb,var(--medal-ribbon) 55%,var(--surface-page)),var(--medal-enamel) 70%);box-shadow:inset 0 2px 4px var(--surface-page),0 0 0 1px var(--medal-rim-dark);content:""}.badge-medal-tier{position:absolute;z-index:1;top:calc(var(--medal) * .32);left:50%;color:var(--button-hover);font-family:var(--font-display-small);font-weight:700;font-size:max(var(--text-md),calc(var(--medal) * .22));line-height:1;letter-spacing:.02em;white-space:nowrap;transform:translate(-50%,-82%);filter:drop-shadow(0 1px 1px var(--surface-page)) drop-shadow(0 0 2px var(--surface-page));pointer-events:none}.badge-medal-emblem{position:relative;width:58%;height:58%;fill:none;stroke:var(--button-hover);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6;filter:drop-shadow(0 1px 0 var(--surface-page))}.badge-medal[data-size=sm] .badge-medal-emblem{stroke-width:2.2}.worn-badges{display:flex;flex-basis:100%;justify-content:center;gap:var(--space-3);margin:0;padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);outline:1px dashed var(--quiet-border);outline-offset:calc(var(--space-1) * -1.5);background:repeating-linear-gradient(135deg,var(--gold-tint) 0 2px,transparent 2px 7px),linear-gradient(180deg,var(--surface-raised),var(--surface-page));box-shadow:var(--shadow-raised);list-style:none}.worn-badges .badge-medal{--medal: 44px}.worn-badge{display:grid;padding:var(--space-1);border:0;border-radius:var(--radius-sm);background:none;cursor:pointer;transition:transform .15s}.worn-badge:hover{transform:translateY(-2px)}.worn-badge:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.badge-sash{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2);margin:0;padding:var(--space-5) var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);outline:1px dashed var(--quiet-border);outline-offset:calc(var(--space-1) * -1.5);background:repeating-linear-gradient(135deg,var(--gold-tint) 0 2px,transparent 2px 7px),linear-gradient(180deg,var(--surface-raised),var(--surface-page));box-shadow:var(--shadow-raised);list-style:none}.badge-sash-place{display:grid;align-content:start;justify-items:center;min-width:0;padding:var(--space-1);border-radius:var(--radius-md);text-align:center;transition:background .15s,box-shadow .15s}.badge-sash[data-dragging] .badge-sash-place{background:var(--gold-tint);box-shadow:inset 0 0 0 1px var(--gold-line)}.badge-sash[data-dragging] .badge-sash-place[data-over]{background:var(--gold-wash);box-shadow:inset 0 0 0 1px var(--gold),0 0 var(--space-5) var(--gold-glow)}.badge-sash-badge{display:grid;justify-items:center;gap:var(--space-2);width:100%;min-width:0;padding:0;border:0;background:none;color:inherit;cursor:pointer}.badge-sash-badge:focus-visible{border-radius:var(--radius-sm);outline:2px solid var(--gold);outline-offset:2px}.badge-sash-name{color:var(--gold);font-family:var(--font-display-small);font-size:var(--text-display-sm);line-height:1.15;overflow-wrap:anywhere}.badge-socket{width:72px;aspect-ratio:1;margin-top:23.04px;border:2px dashed var(--quiet-border);border-radius:50%;background:var(--gold-tint)}.badge-sash-link{display:block;border-radius:var(--radius-md);color:inherit;text-decoration:none}.badge-sash-link .badge-sash{transition:border-color .15s,box-shadow .15s}.badge-sash-link:hover .badge-sash{border-color:var(--gold-line)}.badge-sash-link:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.badge-sash-link .badge-sash-badge{cursor:inherit}@media(max-width:520px){.badge-sash{padding-inline:var(--space-2)}.badge-sash .badge-medal[data-size=lg]{--medal: 60px}.badge-socket{width:60px;margin-top:19.2px}}.badge-details{display:flex;flex-direction:column;align-items:center;overflow:hidden;padding-top:0;text-align:center}:root:has(.run-sheet) .badge-details{box-shadow:0 0 0 100vmax color-mix(in srgb,var(--surface-page) 55%,transparent),var(--shadow-menu)}.badge-details>h2{margin:var(--space-4) 0 0;padding-inline:var(--space-4);font-family:var(--font-display);font-size:var(--text-display-xl);line-height:1.1}.badge-details:has(>.dialog-close)>h2{padding-right:var(--space-4)}.badge-details>p{margin:0}.badge-details-case{position:relative;display:grid;order:-1;align-self:stretch;place-items:center;margin-inline:-28px;padding:var(--space-6) 0 var(--space-5);border-bottom:1px solid var(--gold-line);background:radial-gradient(circle at 50% 46%,color-mix(in srgb,var(--medal-ribbon) 30%,transparent),transparent 58%),radial-gradient(ellipse 34% 7% at 50% 90%,color-mix(in srgb,var(--surface-page) 80%,transparent),transparent),linear-gradient(180deg,var(--surface-page),var(--surface-raised));box-shadow:inset 0 -1px 0 var(--gold-tint)}.badge-details>.badge-details-description{margin-top:var(--space-3);color:var(--foreground);font-size:var(--text-lg)}.error-details{margin:0;font-family:var(--font-body);font-size:var(--text-sm);white-space:pre-wrap;overflow-wrap:anywhere;max-height:40vh;overflow:auto;color:var(--muted)}.background-error{position:fixed;top:calc(var(--header-height) + var(--space-2));inset-inline:var(--space-4);z-index:var(--layer-notice);max-width:480px;margin-inline:auto}.error-snackbar{position:fixed;top:calc(var(--header-height) + var(--space-2));inset-inline:var(--space-4);z-index:var(--layer-notice);display:flex;align-items:flex-start;gap:var(--space-2);max-width:480px;margin-inline:auto;padding:8px 8px 8px 16px;border:1px solid var(--notice-danger-border);border-radius:var(--radius-md);background:var(--notice-danger-surface);color:var(--notice-danger-foreground);font-size:var(--text-md);box-shadow:var(--shadow-menu)}.error-snackbar-body{flex:1 1 auto;min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3);padding-block:6px}.realm-map-screen{display:grid;flex:1 1 auto;grid-template-rows:auto minmax(0,1fr);gap:8px;min-height:0}.embark-map-screen>.region-map-screen{box-sizing:border-box;width:min(100%,1080px);margin:0 auto;padding:14px 24px 8px}@media(max-width:700px){.embark-map-screen>.region-map-screen{padding:10px 12px 6px}}.region-map-screen{display:flex;flex:1 1 auto;flex-direction:column;gap:8px;width:100%;height:auto;min-height:0;overflow:hidden}.region-map-stage{position:relative;flex:1 1 auto;min-height:0;overflow:hidden}.region-map-title{position:absolute;z-index:4;top:12px;left:14px;max-width:46%;pointer-events:none}.region-map-title h1{margin:0;color:#f3ead4;font-size:calc(clamp(18px,2.4vw,25px) + 1px);line-height:1.15;text-shadow:0 2px 5px #000,0 0 14px #000,0 0 24px #000}.region-map-actions{position:absolute;z-index:5;top:10px;right:10px;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:48%}.region-map-actions>.button{max-width:100%;min-height:30px;padding:5px 8px;font-family:var(--font-display-small);font-size:14px;background:color-mix(in srgb,var(--surface-page) 87%,transparent);box-shadow:0 3px 12px #0008}.region-map-center-control,.region-map-center-message{position:absolute;z-index:5;bottom:12px;left:50%;transform:translate(-50%)}.region-map-center-control>.button{min-height:28px;padding:4px 9px;background:color-mix(in srgb,var(--surface-page) 91%,transparent);box-shadow:0 3px 12px #0008;font-family:var(--font-display-small);font-size:14px;white-space:nowrap}.region-map-center-message{pointer-events:none;white-space:nowrap}.region-map-center-message .text{color:#e1dece;font-size:12px;line-height:1.2;text-shadow:0 2px 5px #000,0 0 12px #000}.region-map-embark-guide{position:absolute;z-index:6;right:14px;bottom:14px;left:14px;display:flex;align-items:center;gap:16px;width:min(100% - 28px,570px);margin:0 auto;padding:14px 18px;border:1px solid var(--guide-border);border-radius:14px;background:var(--guide-background);box-shadow:0 8px 28px #000b;pointer-events:none}.region-map-arrow-guide{flex:0 0 auto;width:86px;height:56px;overflow:visible}.region-map-arrow-guide-trail{fill:none;stroke:#d4c08a;stroke-dasharray:3 4;stroke-width:2.5}.region-map-arrow-guide-pin{fill:#f0ce70;stroke:#fff1b8;stroke-width:1.5;stroke-linejoin:round}.region-map-embark-guide-copy{display:flex;flex-direction:column;gap:2px}.region-map-embark-guide-copy .text.eyebrow{margin:0;color:var(--guide-eyebrow);font-size:11px;letter-spacing:.14em}.region-map-embark-guide-copy .text.normal{margin:0;color:var(--guide-foreground);font-size:16px;font-weight:600;line-height:1.35}.map-labels{pointer-events:none}.haven-map-label{fill:#f0e7d1;font-family:var(--font-display-small);font-weight:500;font-size:var(--text-display-sm);paint-order:stroke;stroke:#111a19;stroke-width:5px;stroke-linejoin:round}.you-are-here-label{fill:#ffe4a1;font-family:var(--font-body);font-size:10px;font-weight:600;paint-order:stroke;stroke:#111a19;stroke-width:4px;stroke-linejoin:round}.haven-status-label{fill:#e4dfd0;font-family:var(--font-body);font-size:10px;font-weight:600;paint-order:stroke;stroke:#111a19;stroke-width:4px;stroke-linejoin:round}.home-haven-label{fill:#8ed4e2;font-weight:700}.haven-status-separator{fill:#d4cfbd;font-size:8px}.embarked-from-label{fill:#ffe4a1}.region-map-dialog{max-height:min(82dvh,680px)}.region-map-adventure-dialog .run-sheet-head{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:6px}.region-map-path-art{position:absolute;inset:-18px -18px 0;background-image:url(/maps/path-bg.jpg);background-repeat:no-repeat;background-position:left top;background-size:auto 100%;mix-blend-mode:lighten;filter:hue-rotate(var(--path-art-hue, 0deg)) saturate(var(--path-art-saturation, 1));pointer-events:none}.region-map-adventure-dialog .run-sheet-title{position:relative;display:flex;flex-direction:column;z-index:1;flex:none;margin:0;color:var(--path-title, #f4e8c6);font-size:calc(clamp(24px,5vw,32px) + 1px);line-height:1.1}.region-map-path-eyebrow{color:#fff;font-family:var(--font-body);font-size:12px;font-weight:700;letter-spacing:.12em;line-height:1.4;text-transform:uppercase}.region-map-adventure-dialog .region-map-path-description{position:relative;z-index:1}.region-map-adventure-dialog .region-map-path-description .text{margin:0;color:var(--muted);font-size:14px;line-height:1.5}.escort-path-details{display:grid;gap:8px}.escort-path-details .text{margin:0}.region-map-dialog .map-friend-list,.map-friend-list li{min-width:0}.map-friend-button.button.quiet{display:grid;width:100%;min-width:0;grid-template-columns:minmax(0,1fr) 16px;align-items:center;gap:5px 12px;padding:12px;border-color:var(--border);border-radius:10px;background:var(--panel-background);text-align:left}.map-friend-button.button.quiet:hover{border-color:var(--quiet-border);background:var(--quiet-hover)}.map-friend-heading{display:flex;min-width:0;grid-column:1;align-items:center;justify-content:space-between;gap:10px}.map-friend-heading strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-friend-heading .friend-presence-tag{flex:none}.region-map-dialog .map-friend-location{grid-column:1;text-align:left}.map-friend-button>.icon{width:16px;height:16px;grid-column:2;grid-row:1 / span 2;color:var(--muted)}.region-map-abandon{display:grid;justify-items:end;gap:4px}.region-map-abandon .notice{max-width:220px;font-size:11px}.map-tabs{display:flex;gap:6px;border-bottom:1px solid var(--border)}.map-tab{display:block;padding:7px 10px;border-bottom:2px solid transparent;color:var(--muted);font-size:12px;text-decoration:none}.map-tab:hover{color:var(--foreground)}.map-tab.active{border-bottom-color:var(--gold);color:var(--gold)}.map-viewport{position:relative;width:100%;overflow:hidden;border:1px solid var(--border);border-radius:14px;background:var(--surface-drawer);overscroll-behavior:contain;touch-action:none;-webkit-user-select:none;user-select:none}.realm-map-viewport{height:100%;min-height:0;aspect-ratio:auto}.region-map-viewport{aspect-ratio:637 / 451}.map-viewport>svg{display:block;width:100%;height:100%;touch-action:none;cursor:grab}.map-viewport>svg:focus,.map-viewport>svg:focus-visible{outline:none}.map-viewport>svg:active{cursor:grabbing}.map-viewport.region-map-viewport.region-map-surface{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto}.map-viewport.region-map-viewport>svg{min-height:0}.map-controls{position:absolute;z-index:2;right:8px;bottom:8px;display:flex;align-items:center;gap:4px;padding:4px;border:1px solid color-mix(in srgb,var(--control-rim) 40%,transparent);border-radius:8px;background:color-mix(in srgb,var(--surface-page) 87%,transparent);box-shadow:0 4px 14px #0008;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(4px);transition:opacity .15s ease,transform .15s ease,visibility .15s}.map-controls .button{min-width:24px;min-height:24px;padding:2px 5px;border-radius:5px;font-family:var(--font-display-small);font-size:var(--text-display-sm)}.map-controls .button:last-child{min-width:32px;font-family:var(--font-display-small);font-size:11px}.map-viewport:focus-within .map-controls{opacity:1;visibility:visible;pointer-events:auto;transform:none}@media(hover:hover)and (pointer:fine){.map-viewport:hover .map-controls{opacity:1;visibility:visible;pointer-events:auto;transform:none}}@media(hover:none),(pointer:coarse){.map-controls{display:none}}.region-map-surface svg{min-height:0}.haven-map-pin.quest-highlight circle{stroke:#f2d28a;stroke-width:3;filter:drop-shadow(0 0 8px #e8b957)}.realm-region-link{cursor:pointer;-webkit-tap-highlight-color:transparent}.realm-region-link:focus,.realm-region-link:focus-visible{outline:none}.realm-region-link:focus-visible .region-pin-face{stroke:#fff2c4;stroke-width:6}.realm-region-pin .region-pin-face,.haven-map-pin circle{fill:#26332c;stroke:#c9b17a;stroke-width:3}.realm-region-pin .region-pin-center{fill:#e3c98c}.realm-region-pin .current-region-ring{fill:#f3d28622;stroke:#f3d286;stroke-width:5;stroke-dasharray:8 6}.realm-region-pin text,.realm-region-label,.haven-map-pin text{fill:#f0e7d1;font-family:var(--font-display);font-weight:700;font-size:21px;paint-order:stroke;stroke:#111a19;stroke-width:5px;stroke-linejoin:round}.realm-region-pin .you-are-here-label,.realm-region-here-label,.haven-map-pin .you-are-here-label{fill:#ffe4a1;font-family:var(--font-display);font-size:20px;font-weight:700;paint-order:stroke;stroke:#111a19;stroke-width:6px;stroke-linejoin:round}.realm-region-pin text,.realm-region-label,.realm-region-here-label,.realm-region-pin .you-are-here-label{font-size:16px}.haven-map-pin path{fill:#d3bb82;stroke:#151d1b;stroke-width:2;stroke-linejoin:round}.haven-map-pin{cursor:pointer;outline:none;-webkit-tap-highlight-color:transparent}.haven-map-pin:focus,.haven-map-pin:focus-visible{outline:none}.haven-map-pin.home circle{fill:#21424a;stroke:#8ed4e2;stroke-width:4}.haven-map-pin:focus-visible circle,.haven-map-pin.selected circle{stroke:#fff2c4;stroke-width:6}.haven-map-pin.current circle{fill:#68562f;stroke:#ffdc79;stroke-width:5;filter:drop-shadow(0 0 7px #f3d28699)}.haven-map-pin.embarked-from circle{stroke:#ffe3a0;stroke-width:4;filter:drop-shadow(0 0 6px #f3d28699)}.adventure-arrow-pin{cursor:pointer;outline:none;-webkit-tap-highlight-color:transparent}.adventure-arrow-hit{fill:#10191899;stroke:#ddc486;stroke-width:2}.adventure-arrow-shape{fill:#d7be81;stroke:#18211d;stroke-width:2;stroke-linejoin:round;filter:drop-shadow(0 2px 2px #000c)}.adventure-arrow-label{fill:#f0e7d1;font-family:var(--font-display-small);font-size:var(--text-display-sm);font-weight:500;paint-order:stroke;stroke:#111a19;stroke-width:5px;stroke-linejoin:round;pointer-events:none}.adventure-arrow-pin:focus,.adventure-arrow-pin:focus-visible{outline:none}.adventure-arrow-pin:focus-visible .adventure-arrow-hit,.adventure-arrow-pin.selected .adventure-arrow-hit{fill:#665538dd;stroke:#fff2c4;stroke-width:4}.adventure-arrow-pin.current-adventure .adventure-arrow-shape{fill:#ffe3a0;stroke:#fff2c4;stroke-width:3;filter:drop-shadow(0 0 9px #f3d286)}.adventure-arrow-pin.current-adventure .adventure-arrow-hit{fill:#665538dd;stroke:#fff2c4;stroke-width:4;filter:drop-shadow(0 0 8px #f3d28699)}.adventure-path-options{display:grid;gap:10px}.adventure-path-option{display:grid;gap:8px;padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--panel-background)}.adventure-path-option.selected{border-color:var(--gold)}.adventure-path-option h3{margin:0}.map-navigation-row{justify-content:space-between;flex-wrap:wrap}.map-friend-count{pointer-events:none}.map-friend-count circle{fill:var(--surface);stroke:var(--gold);stroke-width:1.5}.map-friend-count text{fill:var(--gold);font-family:var(--font-body);font-size:9px;font-weight:800;pointer-events:none}.map-friend-list{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none}@media(max-width:700px){.region-map-title{top:9px;left:10px;max-width:42%}.region-map-title h1{font-size:calc(clamp(15px,4.5vw,21px) + 1px)}.region-map-actions{top:7px;right:7px;max-width:52%}.region-map-actions>.button{min-height:27px;padding:4px 7px;font-family:var(--font-display-small);font-size:12px}.region-map-center-control,.region-map-center-message{bottom:max(10px,env(safe-area-inset-bottom))}.region-map-center-control>.button{min-height:26px;padding:3px 8px;font-family:var(--font-display-small);font-size:14px}.region-map-center-message .text{font-size:12px}.region-map-embark-guide{bottom:max(10px,env(safe-area-inset-bottom));gap:10px;padding:10px 12px}.region-map-arrow-guide{width:62px;height:46px}.region-map-embark-guide-copy .text.normal{font-size:14px}.haven-map-label{font-family:var(--font-display-small);font-size:14px}.you-are-here-label{font-size:9px}.realm-region-here-label{font-family:var(--font-display-small);font-size:11px}.realm-region-label{font-family:var(--font-display-small);font-size:14px}.realm-map-screen{flex:1;min-height:0;grid-template-rows:auto minmax(0,1fr)}.realm-map-viewport{height:100%;min-height:0;aspect-ratio:auto}.map-controls{display:none}}@container app-page (max-width: 840px){.app-shell.drawer-open .app-page-frame .map-controls{display:none}.app-shell.drawer-open .app-page-frame .region-map-title{top:9px;left:10px;max-width:42%}.app-shell.drawer-open .app-page-frame .region-map-title h1{font-size:calc(clamp(15px,4.5vw,21px) + 1px)}.app-shell.drawer-open .app-page-frame .region-map-actions{top:7px;right:7px;max-width:52%}.app-shell.drawer-open .app-page-frame .region-map-actions>.button{min-height:27px;padding:4px 7px;font-family:var(--font-display-small);font-size:12px}.app-shell.drawer-open .app-page-frame .region-map-center-control,.app-shell.drawer-open .app-page-frame .region-map-center-message{bottom:max(10px,env(safe-area-inset-bottom))}.app-shell.drawer-open .app-page-frame .region-map-center-control>.button{min-height:26px;padding:3px 8px;font-family:var(--font-display-small);font-size:14px}.app-shell.drawer-open .app-page-frame .region-map-center-message .text{font-size:12px}.app-shell.drawer-open .app-page-frame .region-map-embark-guide{bottom:max(10px,env(safe-area-inset-bottom));gap:10px;padding:10px 12px}.app-shell.drawer-open .app-page-frame .region-map-arrow-guide{width:62px;height:46px}.app-shell.drawer-open .app-page-frame .region-map-embark-guide-copy .text.normal{font-size:14px}.app-shell.drawer-open .app-page-frame .haven-map-label,.app-shell.drawer-open .app-page-frame .realm-region-label{font-family:var(--font-display-small);font-size:14px}.app-shell.drawer-open .app-page-frame .you-are-here-label{font-size:9px}.app-shell.drawer-open .app-page-frame .realm-region-here-label{font-family:var(--font-display-small);font-size:11px}.app-shell.drawer-open .app-page-frame .realm-map-screen{flex:1;min-height:0;grid-template-rows:auto minmax(0,1fr)}.app-shell.drawer-open .app-page-frame .realm-map-viewport{height:100%;min-height:0;aspect-ratio:auto}}.embark-flow-screen>.screen-body{width:min(100%,880px)}.embark-flow-body .screen-body-content{gap:var(--space-4)}.embark-head{display:flex;flex:0 0 auto;align-items:flex-end;justify-content:space-between;gap:var(--space-4);padding:0 var(--space-1)}.embark-head-copy{display:grid;gap:var(--space-1);min-width:0}.embark-head h1{margin:0;font-size:var(--text-display-title);line-height:1.1}.embark-road{margin:0;color:var(--gold);font-size:var(--text-xs);font-weight:600;letter-spacing:.14em;text-transform:uppercase}.formation{--escort: color-mix(in srgb, var(--rarity-legendary) 75%, var(--gold));--card-line: color-mix(in srgb, var(--gold) 22%, transparent);--card-inner: calc(var(--radius-lg) - 1px);display:grid;gap:var(--space-4)}.embark-flow-body .formation{margin-top:auto}.formation-road{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5)}.formation-lane{display:flex;flex-direction:column;gap:var(--space-2);min-width:0;container:formation-lane / inline-size}.formation-lane.lifting{position:relative;z-index:var(--layer-lifted)}.formation-lane-top{display:flex;align-items:center;gap:var(--space-2)}.formation-lane-top:before,.formation-lane-top:after{flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--card-line));content:""}.formation-lane-top:after{background:linear-gradient(90deg,var(--card-line),transparent)}.formation-lane-name{display:inline-flex;align-items:center;line-height:1;gap:6px;min-height:var(--control-height-compact);padding:0 var(--space-1);border:0;background:transparent;color:var(--muted);font-family:var(--font-body);font-size:var(--text-display-xs);font-weight:700;letter-spacing:.22em;text-transform:uppercase;white-space:nowrap;cursor:pointer}.formation-lane-number{color:var(--foreground);font-size:var(--text-md);letter-spacing:.04em}.formation-lane-name[aria-pressed=true],.formation-lane-name[aria-pressed=true] .formation-lane-number{color:var(--gold)}.formation-lane-name:disabled{cursor:default}.formation-lane-name:focus-visible,.formation-dock-name:focus-visible,.formation-handle:focus-visible,.formation-ability:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.formation-lane.escorted .formation-lane-top{--card-line: color-mix(in srgb, var(--escort) 60%, transparent)}.formation-lane.escorted .formation-lane-name,.formation-lane.escorted .formation-lane-number{color:var(--escort)}.formation-lane-tag{align-self:center;color:var(--gold);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase}.formation-lane-ground{position:relative;display:flex;flex:1;flex-direction:column}.formation-lane-ground>.formation-card,.formation-lane-ground>.formation-vacancy{flex:1}.formation-card{position:relative;display:flex;flex-direction:column;min-width:0;border:1px solid var(--card-line);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--surface-page) 92%,transparent);box-shadow:var(--shadow-raised);transition:box-shadow .15s,opacity .2s,filter .2s,translate .15s}.formation-card.movable{cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}.formation-card.escort{border-color:color-mix(in srgb,var(--escort) 75%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--escort) 22%,transparent),var(--shadow-raised)}.formation-card.held{box-shadow:0 0 0 2px var(--gold),var(--shadow-menu);translate:0 -4px}.formation-card.dragging{z-index:var(--layer-lifted);box-shadow:0 0 0 1.5px var(--gold),var(--shadow-menu);cursor:grabbing;pointer-events:none;transition:none;will-change:transform}.formation-card.displaced{opacity:.5;filter:saturate(.5)}.formation-face{position:relative}.formation-handle{display:block;width:100%;padding:0;border:0;border-radius:var(--card-inner) var(--card-inner) 0 0;background:transparent;color:inherit;cursor:inherit}.formation-handle.dragging{cursor:grabbing}.formation-card .formation-face .portrait,.formation-face .formation-crest{display:block;width:100%;height:176px;border-radius:var(--card-inner) var(--card-inner) 0 0}.formation-crest{display:grid;place-items:center;background:radial-gradient(circle,var(--gold-wash),transparent 70%);color:var(--gold)}.formation-crest .icon{width:36%;height:36%}.formation-plate{position:absolute;right:0;bottom:0;left:0;display:flex;flex-direction:column;gap:2px;padding:var(--space-6) var(--space-3) var(--space-2);border-radius:0;background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--ink) 92%,transparent) 62%);pointer-events:none}.formation-name{overflow-wrap:anywhere;color:var(--foreground-strong);font-family:var(--font-display);font-size:var(--text-display-lg);font-weight:700;line-height:1.15}.formation-class{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:var(--text-xs)}.formation-class .class-emblem{flex:none;width:14px;height:14px;color:var(--gold)}.formation-card.escort .formation-class{color:var(--escort)}.formation-badge,.formation-swap-tag{position:absolute;z-index:2;font-family:var(--font-body);display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:var(--radius-pill);color:var(--ink);font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.formation-badge{top:var(--space-2);left:var(--space-2);background:var(--escort)}.formation-swap-tag{top:0;left:50%;z-index:3;background:var(--gold);box-shadow:var(--shadow-raised);translate:-50% -50%}.formation-badge .icon,.formation-swap-tag .icon{flex:none;width:12px;height:12px}.formation-vitals{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-3) var(--space-2)}.formation-vitals .meter{flex:1;height:6px;border:0;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--meter-fill) 35%,transparent)}.formation-vitals .meter-track{overflow:hidden;border-radius:inherit}.formation-vitals .meter-text{display:none}.formation-vitals>span{color:var(--muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.formation-ability,.formation-note{display:flex;align-items:center;gap:var(--space-2);min-height:var(--control-height);margin:auto 0 0;padding:var(--space-1) var(--space-3);border:0;border-top:1px solid color-mix(in srgb,var(--gold) 12%,transparent);border-radius:0 0 var(--card-inner) var(--card-inner)}.formation-ability{width:100%;background:transparent;color:var(--foreground);font-family:var(--font-body);font-size:var(--text-md);font-weight:500;text-align:left;cursor:pointer}.formation-ability:hover{background:var(--gold-tint)}.formation-ability .icon{flex:none;width:16px;height:16px;color:var(--gold)}.formation-ability .icon:last-child{width:14px;height:14px;color:var(--muted)}.formation-ability-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.formation-note{color:var(--muted);font-size:var(--text-xs);line-height:1.3}.formation-note .icon{flex:none;width:14px;height:14px}.formation-vacancy,.formation-ghost{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-2);border:1.5px dashed color-mix(in srgb,var(--gold) 40%,transparent);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--gold) 5%,transparent);color:var(--muted);font-size:var(--text-sm);text-align:center}.formation-vacancy{min-height:260px}.formation-ghost{position:absolute;inset:0}.formation-vacancy .icon,.formation-ghost .icon{width:22px;height:22px;color:var(--gold)}.formation-vacancy strong{color:var(--foreground);font-family:var(--font-display);font-weight:700}.formation-vacancy small{font-size:var(--text-xs)}.formation.moving .formation-lane.can-drop .formation-lane-name{color:var(--gold)}.formation.moving .formation-lane.can-drop .formation-card:not(.held){box-shadow:0 0 0 1px var(--gold-glow),var(--shadow-raised)}.formation.moving .cannot-drop{opacity:.55}.formation-lane.drag-over .formation-card:not(.dragging),.formation-lane.drag-over .formation-vacancy{box-shadow:0 0 0 2px var(--gold)}.formation-lane.landed .formation-card,.formation-dock.landed{animation:formation-landed .7s ease-out}.formation-dock{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3) var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid color-mix(in srgb,var(--gold) 16%,transparent);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--surface-page) 74%,transparent);transition:border-color .2s,background-color .2s,opacity .2s}.formation-dock.attention{border-color:color-mix(in srgb,var(--escort) 60%,transparent);background:linear-gradient(90deg,color-mix(in srgb,var(--escort) 14%,transparent),color-mix(in srgb,var(--surface-page) 74%,transparent) 62%);animation:formation-attention 2.4s ease-in-out infinite}.formation.moving .formation-dock.can-drop{border-style:dashed;border-color:color-mix(in srgb,var(--gold) 45%,transparent)}.formation-dock.drag-over{border-style:dashed;border-color:var(--gold);background-color:var(--gold-wash)}.formation-dock-label{display:flex;flex:1 1 220px;align-items:center;gap:var(--space-3);min-width:0}.formation-dock-label>.icon{flex:none;width:22px;height:22px;color:var(--gold)}.formation-dock-name{display:block;padding:0;border:0;background:transparent;color:var(--foreground);font-family:var(--font-display);font-size:var(--text-display-md);font-weight:700;letter-spacing:.04em;text-align:left;cursor:pointer}.formation-dock-name[aria-pressed=true]{color:var(--gold)}.formation-dock-note{display:block;margin-top:2px;color:var(--muted);font-size:var(--text-sm)}.formation-dock.attention .formation-dock-label>.icon,.formation-dock.attention .formation-dock-note{color:var(--escort)}.formation-dock.attention .formation-dock-group{order:-1}.formation-dock-group{display:flex;flex-direction:column;gap:var(--space-1);min-width:0;max-width:100%}.formation-dock-group-label{color:var(--muted);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase}.formation-dock-items{display:flex;gap:var(--space-2);min-width:0;padding:6px;overflow-x:auto;scrollbar-width:thin}.formation-dock-empty{padding:var(--space-2) 0;color:var(--muted);font-size:var(--text-xs)}.formation-card.chip{flex:0 0 auto;flex-direction:row;align-items:center;gap:var(--space-3);padding:4px var(--space-4) 4px 4px;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--surface-raised) 95%,transparent);box-shadow:none}.formation-card.chip .formation-handle{width:auto;border-radius:var(--radius-pill)}.formation-card.chip .portrait,.formation-card.chip .formation-crest{width:44px;height:44px;border-radius:var(--radius-pill)}.formation-card.chip.hero .portrait{filter:saturate(.45) brightness(.9)}.formation-card.chip.escort .portrait{box-shadow:0 0 0 2px var(--escort),0 0 0 6px color-mix(in srgb,var(--escort) 22%,transparent)}.formation-card.chip.held{box-shadow:0 0 0 2px var(--gold);translate:none}.formation-chip-text{display:flex;flex-direction:column;min-width:0}.formation-chip-text .formation-name{font-size:var(--text-display-md);white-space:nowrap}.formation-chip-text small{color:var(--muted);font-size:var(--text-xs);white-space:nowrap}.formation-card.chip.escort .formation-chip-text small{color:var(--escort)}.formation-hint,.formation-readiness{display:flex;align-items:center;justify-content:center;gap:var(--space-2);margin:0;font-size:var(--text-sm);text-align:center}.formation-hint{color:var(--muted)}.formation-readiness{color:var(--gold)}.formation-hint .icon,.formation-readiness .icon{flex:none;width:16px;height:16px}.formation-tally{display:flex;flex-wrap:wrap;gap:var(--space-2)}.lanes-help{display:grid;gap:var(--space-3);margin:var(--space-3) 0 0;padding:0;list-style:none}.lanes-help li{display:flex;align-items:flex-start;gap:var(--space-3)}.lanes-help-mark{display:grid;flex:none;place-items:center;width:36px;height:36px;border:1px solid var(--gold-line);border-radius:var(--radius-pill);background:var(--gold-tint);color:var(--gold)}.lanes-help-mark .icon{width:18px;height:18px}.lanes-help strong{font-family:var(--font-display);font-weight:700}.lanes-help .text{margin:2px 0 0}@container formation-lane (max-width: 149px){.formation-card .formation-face .portrait,.formation-face .formation-crest{height:150px}.formation-plate{padding:var(--space-5) var(--space-2) var(--space-2)}.formation-name{font-family:var(--font-display-small);font-size:var(--text-display-sm)}.formation-class-title,.formation-max,.formation-ability .icon:last-child{display:none}.formation-vitals{gap:6px;padding:var(--space-2) var(--space-2) var(--space-1)}.formation-vitals .meter{height:5px}.formation-ability,.formation-note{gap:6px;padding:var(--space-1) var(--space-2)}.formation-ability{font-size:var(--text-sm)}.formation-ability .icon{width:14px;height:14px}.formation-badge{top:6px;left:6px;padding:2px 7px}.formation-vacancy{min-height:220px}}@container formation-lane (min-width: 230px){.formation-card .formation-face .portrait,.formation-face .formation-crest{height:212px}.formation-plate{padding:var(--space-6) var(--space-4) var(--space-3)}.formation-name{font-size:var(--text-display-xl)}.formation-class{font-size:var(--text-sm)}.formation-vitals{padding:var(--space-3) var(--space-4) var(--space-2)}.formation-ability,.formation-note{padding-inline:var(--space-4)}.formation-ability{font-size:var(--text-lg)}.formation-note{font-size:var(--text-sm)}}@container app-page (max-width: 520px){.formation-road{gap:var(--space-2)}}@container app-page (min-width: 700px){.formation-dock-items{flex-wrap:wrap;overflow:visible}}@keyframes formation-landed{0%{box-shadow:0 0 0 3px var(--gold-glow),0 0 28px var(--gold-glow)}to{box-shadow:var(--shadow-raised)}}@keyframes formation-attention{50%{box-shadow:0 0 0 3px color-mix(in srgb,var(--escort) 25%,transparent),0 0 22px color-mix(in srgb,var(--escort) 12%,transparent)}}@media(prefers-reduced-motion:reduce){.formation-dock.attention,.formation-lane.landed .formation-card,.formation-dock.landed{animation:none}.formation-card,.formation-card.held{transition:none;translate:none}}.embark-deck-status .badge{font-size:12px;letter-spacing:.04em;text-transform:uppercase}.embark-deck-emblem{position:relative;width:76px;height:62px;margin-bottom:2px}.embark-deck-emblem span{position:absolute;width:40px;height:54px;border:1px solid #e4c873;border-radius:7px;background:linear-gradient(145deg,#273731,#111a18);box-shadow:0 4px 11px #0008}.embark-deck-emblem span:after{position:absolute;inset:8px 7px;border:1px solid #d1b85e88;border-radius:4px;content:""}.embark-deck-emblem span:first-child{top:5px;left:3px;transform:rotate(-15deg)}.embark-deck-emblem span:nth-child(2){top:2px;left:18px;transform:rotate(1deg)}.embark-deck-emblem span:last-child{top:5px;right:3px;transform:rotate(15deg)}.embark-deck-count{display:flex;align-items:baseline;justify-content:center;gap:9px}.embark-deck-count h1{color:#f1d783;font-family:var(--font-display);font-weight:700;font-size:calc(clamp(42px,10vw,62px) + 1px);line-height:.9;text-shadow:0 3px 14px #000a}.embark-deck-count .text.eyebrow{margin:0;color:#e6deca}.embark-editor-button{width:min(100%,320px)}.embark-loading-state{display:inline-flex;align-items:center;justify-content:center;gap:10px;font:inherit}.embark-loading-stone{display:inline-flex;align-items:center;justify-content:center}.embark-loading-stone .icon{width:21px;height:21px;animation:embark-waystone 1.8s ease-in-out infinite}.embark-loading-trail{display:inline-flex;align-items:center;gap:4px}.embark-loading-trail i{width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.45;animation:embark-route-pulse 1s ease-in-out infinite}.embark-loading-trail i:nth-child(2){animation-delay:.15s}.embark-loading-trail i:nth-child(3){animation-delay:.3s}@keyframes embark-waystone{0%,to{transform:rotate(-12deg) scale(.92)}50%{transform:rotate(12deg) scale(1.08)}}@keyframes embark-route-pulse{0%,to{transform:translateY(0);opacity:.35}50%{transform:translateY(-3px);opacity:.95}}@media(prefers-reduced-motion:reduce){.embark-loading-stone .icon,.embark-loading-trail i{animation:none}}.embark-deck-status{display:flex;flex:1 1 auto;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:0;text-align:center}.embark-deck-status h1{margin:0;font-size:calc(clamp(22px,5vw,30px) + 1px)}.embark-deck-status .notice,.embark-deck-status>.text{width:min(100%,520px);margin:0}.formation-preview-choices{display:flex;flex-wrap:wrap;gap:var(--space-2)}.formation-preview-count{letter-spacing:normal;text-transform:none}.formation-preview-passive-list,.formation-preview-blocked,.formation-preview-cards{display:grid;gap:var(--space-2);margin:0;padding:0;list-style:none}.formation-preview-passive-list .text,.formation-preview-cards .text{margin:2px 0 0}.formation-preview-blocked{margin-top:var(--space-2)}.formation-preview-blocked .text{margin:0}.road-provisions{display:grid;gap:var(--space-3);width:100%}.road-provisions-gear,.road-provisions-imbue{display:grid;gap:var(--space-2)}.quest-journal{display:flex;min-height:100%;flex-direction:column;gap:16px}.quest-journal-tabs{flex:1 0 auto}.quest-journal-tabs>.tabs-list{position:sticky;top:0;z-index:2;padding:4px 0 8px;border-bottom:1px solid var(--border);background:var(--surface-drawer)}.quest-list{display:grid;gap:10px}.button.quiet.quest-list-item{display:flex;width:100%;min-width:0;min-height:62px;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-color:var(--border);border-radius:10px;background:var(--panel-background);text-align:left}.button.quiet.quest-list-item:hover{background:var(--quiet-hover)}.quest-list-title{min-width:0;overflow-wrap:anywhere;font-weight:700}.quest-detail-screen{display:grid;gap:16px}.quest-detail-heading{display:flex;min-width:0;align-items:center;gap:10px;padding-bottom:8px;border-bottom:1px solid color-mix(in srgb,var(--gilt) 28%,transparent)}.quest-detail-heading>.icon{width:22px;height:22px;flex:0 0 auto;color:var(--gold)}.quest-detail-heading>h2{margin:0;font-size:calc(clamp(22px,2vw,28px) + 1px);line-height:1.15;overflow-wrap:anywhere}.quest-detail-intro{display:grid;gap:8px}.quest-detail-intro>.text{margin:0;color:var(--quiet-foreground);line-height:1.5}.quest-entry-details{display:grid;gap:16px;min-width:0}.quest-outcome{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;padding:13px 15px;border:1px solid;border-radius:10px}.quest-outcome.complete{border-color:color-mix(in srgb,var(--outcome-complete) 48%,transparent);background:color-mix(in srgb,var(--outcome-complete) 9%,var(--surface));color:var(--outcome-complete-foreground)}.quest-outcome.abandoned{border-color:color-mix(in srgb,var(--danger) 48%,transparent);background:color-mix(in srgb,var(--danger) 8%,var(--surface));color:var(--danger)}.quest-outcome>.icon{width:23px;height:23px}.quest-outcome h2{margin:0;color:inherit;font-family:var(--font-display);font-weight:700;font-size:18px;line-height:1.2}.quest-choice-result{display:grid;gap:6px;padding:11px 14px;border-left:2px solid var(--gold);border-radius:0 8px 8px 0;background:color-mix(in srgb,var(--gold) 6%,transparent)}.quest-choice-result-label{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.quest-choice-result-label .icon{width:13px;height:13px;color:var(--gold)}.quest-choice-result>strong{color:var(--gold);font-family:var(--font-display);font-size:18px;font-weight:700;line-height:1.25}.quest-giver-link{display:inline-flex;width:fit-content;min-width:0;align-items:center;gap:8px;color:var(--gold);font-weight:700;text-decoration:underline;text-underline-offset:.16em}.quest-giver-link>.icon{width:17px;height:17px;flex:0 0 auto}.quest-giver-link:hover{color:var(--link-hover);text-decoration-thickness:2px}.quest-rewards,.quest-aspects{display:grid;gap:9px}.quest-rewards h2,.quest-aspects h2{margin:0;color:var(--muted);font-family:var(--font-body);font-size:11px;font-weight:700;line-height:1.3;letter-spacing:.1em;text-transform:uppercase}.quest-rewards{padding-bottom:14px;border-bottom:1px solid color-mix(in srgb,var(--gilt) 22%,transparent)}.quest-reward-list{display:flex;flex-wrap:wrap;gap:6px 16px}.quest-reward-line{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 6px;color:var(--muted);font-size:13px}.quest-reward-line strong{color:var(--gold);font-family:var(--font-display);font-size:17px;font-weight:700}.button.quiet.quest-reward-item{display:inline-flex;width:fit-content;align-items:center;justify-content:flex-start;gap:9px;padding:5px 9px}.quest-reward-item-art{flex:0 0 auto}.quest-reward-preview-content{display:grid;justify-items:center;gap:12px;text-align:center}.quest-private-notes-label,.quest-note-status{display:inline-flex;align-items:baseline;gap:7px}.quest-note-status{color:var(--muted);font-size:.88em;font-weight:400}.quest-note-status[aria-live=polite]>span:first-child{color:var(--gold)}.quest-aspect-toggle{justify-self:stretch}.button.quiet.quest-aspect-toggle{display:flex;width:100%;min-height:28px;align-items:center;justify-content:flex-start;gap:10px;padding:4px 0;border:0;border-radius:0;background:transparent;color:var(--muted);font-family:var(--font-display-small);font-size:14px;font-weight:500;letter-spacing:.02em;text-align:left}.quest-aspect-toggle:after{height:0;flex:1 1 auto;border-bottom:1px solid color-mix(in srgb,var(--gilt) 30%,transparent);content:""}.button.quiet.quest-aspect-toggle:hover{background:transparent;color:var(--gold)}.quest-aspect-toggle:focus-visible{border-radius:3px}.quest-choice-reputation{display:grid;gap:3px}.quest-choices h4{margin:0}.quest-choice{display:grid;justify-items:start;gap:8px}.quest-task{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--divider)}.quest-task>.badge{display:inline-flex;min-height:26px;box-sizing:border-box;align-items:center;justify-content:center}.quest-task>.badge .icon{width:14px;height:14px}.quest-task .button{grid-column:1 / -1;justify-self:start}.quest-task:has(+.quest-aspect-toggle){border-bottom:0}.quest-task .text{margin:4px 0 0;line-height:1.45}.quest-task .quest-clue-link{display:inline-flex;grid-column:1 / -1;align-items:center;justify-self:start;gap:6px;min-height:26px;color:var(--muted);font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:.18em}.quest-task .quest-clue-link:hover{color:var(--gold)}.quest-clue-link .icon{width:14px;height:14px}.quest-origin-haven-link{color:var(--gold);font-weight:700;text-decoration:underline;text-underline-offset:.16em}.quest-origin-haven-message{display:flex;align-items:center;gap:12px}.quest-origin-haven-message>.icon{flex:0 0 auto;width:18px;height:18px}.quest-origin-haven-message>span{min-width:0}.quest-origin-haven-link:hover{color:var(--link-hover);text-decoration-thickness:2px}.quest-entry-details.history{opacity:1}.quest-abandon-button,.quest-abandon-button>.button{width:100%}.quest-abandon-button{display:flex}.npc-conversation-layout{display:grid;grid-template-columns:minmax(245px,320px) minmax(0,1fr);gap:14px;width:100%;height:100%;min-height:0}.npc-conversation-panel{min-width:0;min-height:0;border:1px solid color-mix(in srgb,var(--gilt) 24%,transparent);border-radius:14px;background:var(--conversation-surface);box-shadow:0 14px 34px #0000003d;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden}.npc-conversation-empty .text,.npc-conversation-options .text{margin:0}.npc-roster{grid-template-columns:repeat(auto-fit,minmax(min(100%,24rem),1fr));align-items:start}.npc-resident-item{min-width:0}.npc-card.button{--npc-card-background: var(--npc-card-surface);position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;width:100%;height:96px;min-height:96px;justify-content:flex-start;gap:12px;padding:0 14px 0 0;border-radius:11px;background:var(--npc-card-background);text-align:left}.npc-card.selected{--npc-card-background: color-mix( in srgb, var(--gold) 12%, var(--npc-card-surface) );border-color:color-mix(in srgb,var(--gold) 65%,var(--border));background:var(--npc-card-background)}.npc-card .portrait.npc-card-art{position:absolute;z-index:0;top:0;left:0;width:96px;height:100%;aspect-ratio:1;max-width:none;border:0;border-radius:0;--portrait-focus: 50% 20%;clip-path:polygon(0 0,0 96px,76px 96px,96px 0)}.npc-card-copy{position:relative;z-index:2;display:grid;align-content:center;justify-items:start;min-width:0;flex:1 1 auto;margin-left:110px;gap:4px}.npc-card-copy strong{color:var(--art-title);font-size:var(--text-display-md);font-family:var(--font-display-small);line-height:1.2;text-shadow:var(--card-title-shadow)}.npc-card-copy small{color:var(--card-detail);font-family:var(--font-body);font-size:12px;line-height:1.3;font-weight:400;white-space:normal;text-shadow:var(--card-detail-shadow)}.npc-card-badges{display:flex;align-items:center;flex-wrap:wrap;gap:5px;max-width:100%;margin-top:2px}.npc-card-badges .badge{display:inline-flex;align-items:center;min-height:0;padding:3px 6px;border-radius:var(--radius-pill);font-size:10px;line-height:1;letter-spacing:.08em}.npc-card>.icon{position:relative;z-index:2;flex:0 0 auto;width:17px;height:17px;transition:transform .15s ease}.npc-card.selected>.icon{transform:rotate(90deg)}.npc-conversation-header{position:relative;display:grid;gap:14px;padding:0 10px 22px}.npc-conversation-header:after{position:absolute;right:10px;bottom:0;left:10px;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--gold) 58%,transparent) 16%,color-mix(in srgb,var(--gold) 58%,transparent) 84%,transparent);content:""}.npc-conversation-profile{display:flex;align-items:center;gap:17px;min-width:0}.npc-conversation-profile>.portrait.medium{flex:0 0 82px;width:82px;height:82px;border-color:color-mix(in srgb,var(--gold) 66%,transparent);border-radius:50% 50% 10px 10px}.npc-conversation-profile-copy{display:grid;gap:5px;min-width:0}.npc-conversation-profile-copy strong{color:var(--art-title);font-family:var(--font-display);font-size:calc(clamp(21px,2vw,28px) + 1px);font-weight:400;line-height:1.15}.npc-conversation-profile-copy small{color:var(--caption-gold-quiet);font-size:13px;letter-spacing:.08em}.npc-conversation-stream{display:flex;flex-direction:column;align-items:stretch;min-height:0;gap:12px;padding:18px 10px;overflow-y:auto;overscroll-behavior:contain;overflow-anchor:none}.npc-conversation-line{display:flex;align-items:flex-start;gap:9px;width:fit-content;max-width:min(88%,680px);align-self:flex-start}.npc-conversation-resident-line>.icon,.npc-conversation-hero-speech>.icon{flex:0 0 18px;width:18px;height:18px;margin-top:2px;color:var(--gold);stroke-width:1.6}.npc-conversation-speaker{display:block;color:var(--name-foreground);font-size:16px;line-height:1.55}.npc-conversation-narration{align-self:stretch;max-width:720px;margin:3px 0 3px 9px;padding:2px 0 2px 15px;border-left:2px solid color-mix(in srgb,var(--gold) 52%,transparent);color:var(--narration);font-family:Georgia,Times New Roman,serif;font-size:14px;font-style:italic;line-height:1.65}.npc-conversation-hero-row{display:flex;align-items:flex-start;align-self:flex-end;gap:9px;max-width:min(90%,680px);margin-top:5px}.npc-conversation-hero-row>.portrait{flex:0 0 40px;width:40px;height:40px;border-color:color-mix(in srgb,var(--gold) 58%,transparent)}.npc-conversation-hero-copy{display:grid;justify-items:end;min-width:0;gap:5px;padding-top:1px}.npc-conversation-hero-copy>small{color:var(--caption-gold);font-family:var(--font-display-small);font-size:var(--text-display-xs);font-weight:500;letter-spacing:.04em}.npc-conversation-hero-speech{display:flex;align-items:flex-start;justify-content:flex-end;min-width:0;gap:8px;color:var(--speech);font-size:var(--text-md);line-height:1.5;text-align:right}.npc-conversation-hero-speech>span{min-width:0;overflow-wrap:anywhere}.npc-conversation-options{display:grid;gap:12px}.npc-quest-accepted-message{display:flex;align-items:flex-start;gap:10px}.npc-quest-accepted-message>.icon{flex:0 0 18px;width:18px;height:18px;margin-top:1px;color:var(--gold)}.npc-quest-capacity-message{line-height:1.5}.npc-quest-journal-link.button.quiet{display:inline;min-height:0;padding:0;border:0;border-radius:0;background:transparent;color:currentColor;font:inherit;font-weight:700;line-height:inherit;text-decoration:underline;text-underline-offset:.18em;vertical-align:baseline}.npc-quest-journal-link.button.quiet:hover{background:transparent;color:var(--link-hover);text-decoration-thickness:2px}.npc-conversation-menu{display:flex;flex-wrap:wrap;gap:7px}.npc-conversation-menu .button{flex:1 1 210px}.npc-choice-button.button,.npc-quest-navigation-button.button{display:flex;align-items:center;justify-content:flex-start;width:100%;gap:10px;text-align:left;font-family:var(--font-body);font-weight:400;font-size:var(--text-lg)}.npc-choice-icon,.npc-choice-flow{display:flex;flex:0 0 18px;align-items:center;justify-content:center}.npc-choice-icon{color:var(--gold)}.npc-choice-label{flex:1 1 auto;min-width:0}.npc-choice-flow{margin-left:auto;color:var(--gold)}.npc-choice-icon .icon,.npc-choice-flow .icon{width:18px;height:18px}.npc-end-dialogue.button{justify-content:flex-start}.npc-conversation-empty{display:grid;align-content:center;justify-items:center;gap:8px;min-height:0;padding:20px;text-align:center}@media(max-width:700px){.npc-conversation-layout:not(.conversation-open) .npc-roster-panel{display:grid}.npc-conversation-layout:not(.conversation-open) .npc-conversation-panel,.npc-conversation-layout.conversation-open .npc-roster-panel{display:none}.npc-conversation-layout.conversation-open .npc-conversation-panel{display:grid}}@container app-page (max-width: 840px){.app-shell.drawer-open .app-page-frame .npc-conversation-layout:not(.conversation-open) .npc-conversation-panel,.app-shell.drawer-open .app-page-frame .npc-conversation-layout.conversation-open .npc-roster-panel{display:none}.app-shell.drawer-open .app-page-frame .npc-conversation-layout:not(.conversation-open) .npc-roster-panel,.app-shell.drawer-open .app-page-frame .npc-conversation-layout.conversation-open .npc-conversation-panel{display:grid}}.reputation-entry{display:grid;gap:5px;padding:8px 0;border-bottom:1px solid var(--border)}.reputation-entry:last-child{border-bottom:0}.reputation-entry-copy{display:flex;min-width:0;align-items:baseline;flex-wrap:wrap;gap:4px 10px}.reputation-entry-copy .text:first-child{font-weight:700}.reputation-entry-copy .muted{font-size:14px}.haven-residence-scroll{position:relative;z-index:1;display:flex;flex:1 1 auto;flex-direction:column;justify-content:safe flex-end;width:min(100%,1120px);min-height:0;margin:0 auto;padding:var(--scroll-fade-inset) 20px 12px;overflow-y:auto;overscroll-behavior:contain;-webkit-mask-image:var(--scroll-fade);mask-image:var(--scroll-fade)}.haven-residence-scroll>.stack:has(.npc-roster){min-height:100%;justify-content:safe flex-end}.haven-residence-scroll>.npc-conversation-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:20px;height:auto;min-height:0}.haven-residence-page .npc-roster-panel{display:flex;flex-direction:column;justify-content:safe flex-end;gap:14px;min-width:0}.haven-residence-page .npc-conversation-panel{min-width:0;min-height:0;padding:20px}.haven-residence-page .npc-conversation-empty{display:grid;gap:8px;margin:auto;text-align:center}.haven-residence-back-to-roster.haven-residence-back.button.quiet{display:none}.haven-stash-scroll .panel>h2:has(.haven-stash-gold-tag),.haven-stash-column>.panel>h2:has(.haven-stash-gold-tag){display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:calc(clamp(18px,2vw,24px) + 1px)}.haven-stash-title-copy{min-width:0}.haven-stash-gold-tag{display:inline-flex;flex:none;align-items:center;gap:7px;padding:5px 10px;border:1px solid color-mix(in srgb,var(--gold) 44%,transparent);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--gold) 10%,var(--surface-page));color:var(--gold);font-family:var(--font-body);font-size:.76em;font-weight:700;line-height:1;font-variant-numeric:tabular-nums;white-space:nowrap}.haven-stash-gold-tag .icon{width:17px;height:17px}.haven-player-roster{display:flex;min-height:100%;flex-direction:column;justify-content:flex-end;gap:10px;min-width:0}.haven-player-roster>.text.eyebrow{margin:0}.haven-player-list>li{min-width:0}.haven-player-row-friend .social-player-list-name strong{color:var(--name-friend)}.haven-player-row-blocked .social-player-list-name strong{color:var(--name-blocked)}.haven-player-row-muted .social-player-list-name strong{color:var(--name-muted)}.haven-player-row-location{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-xs);font-family:var(--font-body);font-weight:400}.haven-player-badges{display:flex;min-width:0;flex-wrap:wrap;justify-content:flex-start;gap:6px}.haven-player-badge-blocked{border-color:var(--danger-border);background:var(--danger-surface);color:var(--danger-foreground)}.haven-player-badge-unconnected{border-color:var(--badge-border);background:var(--chip-surface);color:var(--chip-foreground)}.haven-player-sheet-status{display:flex;flex-direction:column;gap:6px}.haven-player-sheet-status>.text{margin:0;font-size:13px}.haven-player-primary-actions,.haven-player-encounter-actions{gap:7px}.haven-player-primary-actions>.button,.haven-player-encounter-actions>.button{min-height:42px;padding-right:9px;padding-left:9px;font-family:var(--font-display-small);font-size:14px}.haven-player-request-decline.button.quiet{align-self:flex-start;min-height:36px;padding:7px 10px;font-family:var(--font-display-small);font-size:14px}.haven-player-details-sheet .haven-player-badges{justify-content:flex-start}.haven-player-safety-actions{gap:6px}@media(max-width:560px){.haven-player-primary-actions,.haven-player-encounter-actions{flex-direction:column}}@container app-page (max-width: 560px){.haven-player-primary-actions,.haven-player-encounter-actions{flex-direction:column}}.haven-home-screen{position:relative;display:flex;flex-direction:column;flex:1 1 auto;width:100%;min-height:0;overflow:hidden;isolation:isolate;background:var(--surface-page)}.haven-home-art{position:absolute;z-index:0;inset:0 0 auto;height:75%;max-height:800px;overflow:hidden;background:var(--surface-page)}.haven-subpage-screen>.haven-home-content{justify-content:flex-start;padding-top:var(--scroll-fade-inset);overflow-y:auto;overscroll-behavior:contain;-webkit-mask-image:var(--scroll-fade);mask-image:var(--scroll-fade)}.haven-subpage-screen>.haven-home-content>:first-child{margin-top:auto}.haven-home-content{position:relative;z-index:1;display:flex;flex:1 1 auto;flex-direction:column;justify-content:flex-end;width:100%;min-height:0}.haven-home-image{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center 54%}.haven-subpage-screen .haven-home-image,.haven-home-art.dimmed .haven-home-image{filter:saturate(.52) brightness(.62)}.haven-home-shade{position:absolute;inset:0;background:var(--haven-shade)}.haven-subpage-screen .haven-home-shade,.haven-home-art.dimmed .haven-home-shade{background:var(--haven-shade-dimmed)}.haven-home-copy{position:relative;z-index:1;max-width:680px;margin:0 auto;padding:0 24px 18px;text-align:center}.haven-home-copy h1{margin:0 0 8px;color:var(--art-title);font-size:calc(clamp(36px,6vw,58px) + 1px);line-height:1.08;letter-spacing:-.025em;text-shadow:var(--art-title-shadow)}.haven-home-copy p:not(.eyebrow){max-width:560px;margin:0 auto;color:var(--art-text);font-size:16px;line-height:1.45;text-shadow:var(--art-text-shadow)}.haven-home-copy .eyebrow{margin:0 0 8px;color:var(--art-eyebrow)}.haven-subpage-copy .text.normal{margin-top:0;color:var(--art-caption);font-size:14px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;text-shadow:var(--art-text-shadow)}.haven-home-menu{flex:0 0 auto;min-height:0;display:grid;grid-template-columns:minmax(0,1080px);justify-content:center;gap:8px;padding:13px 20px 17px;background:var(--surface-page)}.haven-home-options.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.haven-home-menu.tutorial{grid-template-columns:repeat(2,minmax(0,540px));align-items:stretch}.haven-home-menu.tutorial .haven-home-options.grid{grid-template-columns:minmax(0,1fr)}.haven-home-menu.tutorial .haven-home-options .option-tile{height:100%}.haven-subpage-options.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.haven-home-options .option-tile,.haven-subpage-options .option-tile{container:haven-option / inline-size;min-height:68px;margin:0;padding:9px 12px;border-color:color-mix(in srgb,var(--haven-tile-edge) 55%,transparent);border-radius:11px;background:var(--haven-tile-background)}.haven-home-options .option-tile:hover:not(:disabled),.haven-subpage-options .option-tile:hover:not(:disabled){border-color:color-mix(in srgb,var(--haven-emphasis) 70%,var(--haven-tile-edge));box-shadow:0 5px 16px #0007}.haven-home-options .option-medallion,.haven-subpage-options .option-medallion{width:44px;height:44px;color:var(--haven-emphasis);background:color-mix(in srgb,var(--haven-emphasis) 9%,transparent);border-color:color-mix(in srgb,var(--haven-emphasis) 45%,transparent)}.haven-home-options .option-medallion .icon,.haven-subpage-options .option-medallion .icon{width:23px;height:23px}.haven-home-options .option-copy strong,.haven-subpage-options .option-copy strong{color:var(--haven-tile-title);font-size:17px}.haven-home-options .option-detail,.haven-subpage-options .option-detail{color:var(--haven-tile-detail);font-size:13px;line-height:1.35}.haven-home-options .option-hint,.haven-subpage-options .option-hint{color:var(--haven-tile-hint)}.haven-options .option-detail .haven-callout{color:var(--haven-emphasis);font-family:inherit;font-size:inherit;font-weight:700;line-height:inherit}.road-preview{height:100px;display:flex;align-items:center;justify-content:space-around;background:var(--road-background);color:var(--road-preview);font-size:56px;border-radius:9px;overflow:hidden}.road-preview span:nth-child(2){font-size:35px;color:var(--gold)}.hero-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.hero-summary{text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;padding:12px;border-radius:var(--radius);border:1px solid transparent;transition:background-color .15s,border-color .15s}.hero-summary:hover{background:var(--row-hover);border-color:var(--border)}.hero-xp{display:flex;flex-direction:column;gap:6px;width:100%}.hero-xp .meter{margin-block-end:2px}.hero-summary h3{margin:0;font-size:18px}.hero-summary p{font-size:12px}@media(max-width:700px){.haven-residence-scroll>.npc-conversation-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);height:100%;min-height:0;gap:0}.haven-residence-page .npc-conversation-layout:not(.conversation-open) .npc-roster-panel{display:flex;flex-direction:column;justify-content:safe flex-end}.haven-residence-page.resident-conversation-open .haven-residence-explore{display:none}.haven-residence-page.resident-conversation-open .haven-residence-explore.onward,.haven-residence-page.resident-conversation-open .haven-residence-back-to-roster.haven-residence-back.button.quiet{display:flex}.haven-residence-page .npc-conversation-panel{padding:12px}.haven-home-screen{flex:1 1 auto;box-sizing:border-box;padding-bottom:env(safe-area-inset-bottom)}.haven-home-copy{padding:0 16px 16px}.haven-home-copy h1{font-size:calc(clamp(31px,8.6vw,42px) + 1px)}.haven-home-copy p:not(.eyebrow){font-size:var(--text-md)}.haven-home-menu{grid-template-columns:minmax(0,1fr);gap:5px;padding:4px 16px 12px}.haven-home-menu .button.button-hero{min-height:var(--control-height-button);font-size:var(--text-button)}.haven-home-options.grid,.haven-subpage-options.grid{grid-template-columns:minmax(0,1fr);gap:5px}.haven-home-options .option-tile,.haven-subpage-options .option-tile{min-height:58px;padding:6px 9px}.haven-home-options .option-medallion,.haven-subpage-options .option-medallion{width:40px;height:40px}.haven-home-options .option-copy strong,.haven-subpage-options .option-copy strong{font-size:16px}.haven-home-options .option-detail,.haven-subpage-options .option-detail{font-size:11px}.hero-grid{gap:10px}.hero-summary h3{font-size:16px}.hero-summary p{font-size:12px}}@container haven-option (width < 400px){.haven-home-options .option-detail .haven-home-detail-parts,.haven-subpage-options .option-detail .haven-detail-parts{display:grid;justify-items:start;row-gap:1px}.haven-home-options .option-detail .haven-home-detail-divider,.haven-subpage-options .option-detail .haven-detail-divider{display:none}.haven-home-options .option-detail .haven-home-detail-primary,.haven-home-options .option-detail .haven-home-detail-extra,.haven-subpage-options .option-detail .haven-detail-primary,.haven-subpage-options .option-detail .haven-detail-extra{display:block}}@media(max-width:700px)and (max-height:720px){.haven-residence-scroll{padding:var(--scroll-fade-inset) 12px 8px}.haven-home-copy{padding-bottom:12px}.haven-home-menu{gap:4px;padding:5px 12px 8px}.haven-home-options.grid,.haven-subpage-options.grid{gap:4px}.haven-home-menu .button.button-hero{min-height:var(--control-height-button);padding:7px 14px;font-size:var(--text-button)}.haven-home-options .option-tile,.haven-subpage-options .option-tile{min-height:52px;padding:5px 8px}.haven-home-options .option-medallion,.haven-subpage-options .option-medallion{width:36px;height:36px}.haven-home-options .option-copy strong,.haven-subpage-options .option-copy strong{font-size:16px}.haven-home-options .option-detail,.haven-subpage-options .option-detail{font-size:11px}}@media(max-width:700px)and (max-height:620px){.haven-home-menu{gap:3px;padding:2px 12px 4px}.haven-home-menu .button.button-hero,.haven-home-options .option-tile,.haven-subpage-options .option-tile{min-height:42px;padding-top:4px;padding-bottom:4px}.haven-home-options .option-medallion,.haven-subpage-options .option-medallion{width:32px;height:32px}.haven-home-options .option-detail,.haven-subpage-options .option-detail{display:none}}.haven-update{position:fixed;left:50%;bottom:16px;z-index:var(--layer-notice);width:min(640px,calc(100vw - 32px));transform:translate(-50%);box-shadow:0 10px 30px #00000073}.haven-update-body{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.haven-update time{font-variant-numeric:tabular-nums;font-weight:600}@container app-page (max-width: 840px){.app-shell.drawer-open .app-page-frame .haven-home-options.grid,.app-shell.drawer-open .app-page-frame .haven-subpage-options.grid{grid-template-columns:minmax(0,1fr);gap:5px}.app-shell.drawer-open .app-page-frame .haven-residence-scroll>.npc-conversation-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);height:100%;min-height:0;gap:0}.app-shell.drawer-open .app-page-frame .haven-residence-page .npc-conversation-panel{padding:12px}.app-shell.drawer-open .app-page-frame .haven-residence-page .npc-conversation-layout:not(.conversation-open) .npc-roster-panel{display:flex;flex-direction:column;justify-content:safe flex-end}.app-shell.drawer-open .app-page-frame .haven-residence-page.resident-conversation-open .haven-residence-explore{display:none}.app-shell.drawer-open .app-page-frame .haven-residence-page.resident-conversation-open .haven-residence-explore.onward,.app-shell.drawer-open .app-page-frame .haven-residence-page.resident-conversation-open .haven-residence-back-to-roster.haven-residence-back.button.quiet{display:flex}.app-shell.drawer-open .app-page-frame .haven-home-screen{flex:1 1 auto;box-sizing:border-box;padding-bottom:env(safe-area-inset-bottom)}.app-shell.drawer-open .app-page-frame .haven-home-copy{padding:0 16px 16px}.app-shell.drawer-open .app-page-frame .haven-home-copy h1{font-size:calc(clamp(31px,8.6vw,42px) + 1px)}.app-shell.drawer-open .app-page-frame .haven-home-copy p:not(.eyebrow){font-size:var(--text-md)}.app-shell.drawer-open .app-page-frame .haven-home-menu{grid-template-columns:minmax(0,1fr);gap:5px;padding:4px 16px 12px}.app-shell.drawer-open .app-page-frame .haven-home-menu .button.button-hero{min-height:var(--control-height-button);font-size:var(--text-button)}.app-shell.drawer-open .app-page-frame .haven-home-options .option-tile,.app-shell.drawer-open .app-page-frame .haven-subpage-options .option-tile{min-height:58px;padding:6px 9px}.app-shell.drawer-open .app-page-frame .haven-home-options .option-medallion,.app-shell.drawer-open .app-page-frame .haven-subpage-options .option-medallion{width:40px;height:40px}.app-shell.drawer-open .app-page-frame .haven-home-options .option-copy strong,.app-shell.drawer-open .app-page-frame .haven-subpage-options .option-copy strong{font-size:16px}.app-shell.drawer-open .app-page-frame .haven-home-options .option-detail,.app-shell.drawer-open .app-page-frame .haven-subpage-options .option-detail{font-size:11px}.app-shell.drawer-open .app-page-frame .hero-grid{gap:10px}.app-shell.drawer-open .app-page-frame .hero-summary h3{font-size:16px}.app-shell.drawer-open .app-page-frame .hero-summary p{font-size:12px}}@media(max-width:700px){.haven-stash-scroll .panel>h2:has(.haven-stash-gold-tag),.haven-stash-column>.panel>h2:has(.haven-stash-gold-tag){gap:8px;font-size:calc(clamp(16px,4.5vw,18px) + 1px)}.haven-stash-gold-tag{gap:5px;padding:5px 8px;font-size:.72em}.haven-stash-gold-tag .icon{width:15px;height:15px}}.hero-sheet{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-5);align-items:start}@container app-page (min-width: 880px){.hero-sheet{grid-template-columns:minmax(280px,360px) minmax(0,1fr)}}.hero-card{display:grid;gap:var(--space-3);min-width:0;padding:var(--space-3);border:1px solid var(--haven-border);border-radius:var(--radius-lg);background:var(--haven-background)}.hero-card-portrait{position:relative;aspect-ratio:4 / 3;overflow:hidden;border:1px solid var(--gold-line);border-radius:var(--radius-md)}@container app-page (max-width: 879px){.hero-card-portrait{aspect-ratio:16 / 9}}.hero-card-portrait:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(to top,color-mix(in srgb,var(--surface-page) 82%,transparent),transparent);pointer-events:none}.hero-crest{position:absolute;bottom:var(--space-3);left:var(--space-3);z-index:1;display:grid;place-items:center;align-content:center;width:54px;height:54px;border:2px solid var(--gold);border-radius:50%;background:radial-gradient(circle at 50% 30%,color-mix(in srgb,var(--gold) 22%,var(--surface-raised)),var(--surface-page));box-shadow:0 0 18px var(--gold-glow);color:var(--gold);font-family:var(--font-display);font-weight:700;font-size:var(--text-display-xl);line-height:1}.hero-crest small{color:var(--muted);font-size:var(--text-xs);letter-spacing:.08em}.hero-card-brush.icon-button{position:absolute;top:var(--space-2);right:var(--space-2);z-index:1;background:color-mix(in srgb,var(--surface-drawer) 82%,transparent)}.hero-card-xp{display:grid;gap:var(--space-1)}.hero-card-xp-label{color:var(--muted);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase}.hero-card-xp-label strong{color:var(--gold)}.hero-vitals{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3)}.hero-vital,.bonus-chip{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--foreground);font-size:var(--text-md);font-variant-numeric:tabular-nums;white-space:nowrap}.hero-vital .icon,.bonus-chip .icon{color:var(--gold)}.hero-vital[data-vital=health] .icon{color:var(--danger)}.bonus-chip.none,.bonus-chip.none .icon{color:var(--muted)}.bonus-chip.gain,.bonus-chip.gain .icon{color:var(--success)}.bonus-chip.loss,.bonus-chip.loss .icon{color:var(--danger)}.hero-vitals-info.icon-button{margin-left:auto}.hero-kit{display:grid;gap:var(--space-2);margin:0}.hero-kit>div{display:grid;gap:2px;padding:var(--space-1) var(--space-3);border-left:2px solid color-mix(in srgb,var(--gold) 45%,transparent)}.hero-kit dt{display:flex;align-items:center;gap:var(--space-2);color:var(--gold);font-family:var(--font-display-small);font-weight:500;font-size:var(--text-display-sm)}.hero-kit dt small{margin-left:auto;color:var(--muted);font-family:var(--font-body);font-size:var(--text-xs)}.hero-kit dd{margin:0;color:var(--quiet-foreground);font-size:var(--text-sm)}.hero-main{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-3);min-width:0}.hero-tabs .tabs-tab{flex:1 1 0;justify-content:center;padding-inline:var(--space-2);font-family:var(--font-display);font-weight:700;font-size:var(--text-display-md)}.hero-tabs .tabs-panel{padding-top:var(--space-4)}.hero-tab-count{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:var(--radius-pill);background:var(--gold);color:var(--button-foreground);font-family:var(--font-body);font-size:var(--text-xs);font-weight:700}.hero-gear,.hero-details{display:grid;gap:var(--space-3)}.hero-details .text{margin:0}.hero-bonus-table{width:100%;border-collapse:collapse;font-size:var(--text-sm);font-variant-numeric:tabular-nums}.hero-bonus-table caption{padding-bottom:var(--space-2);color:var(--gold);font-family:var(--font-display);font-weight:700;font-size:var(--text-display-md);text-align:left}.hero-bonus-table th,.hero-bonus-table td{padding:var(--space-2);border-bottom:1px solid var(--border);text-align:right}.hero-bonus-table thead th{color:var(--muted);font-size:var(--text-xs);font-weight:500;letter-spacing:.06em;text-transform:uppercase}.hero-bonus-table tbody th{font-weight:500;text-align:left;text-transform:capitalize}.hero-bonus-table tbody th .icon{margin-right:var(--space-2);color:var(--gold);vertical-align:-3px}.hero-bonus-table td strong{color:var(--gold)}.equipment-silhouette{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(16px,.4fr) minmax(0,1fr);grid-template-areas:"head head head" "neck neck neck" "chest chest chest" "leftHand . rightHand" "waist waist waist" "legs legs legs" "trinket trinket trinket";gap:var(--space-2);overflow:hidden;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-lg);background:radial-gradient(ellipse at 50% 42%,color-mix(in srgb,var(--haven-border) 75%,var(--surface-raised)),color-mix(in srgb,var(--haven-border) 35%,var(--surface-page)) 80%);container-type:inline-size}.equipment-silhouette-image{position:absolute;top:50%;left:50%;height:100%;transform:translate(-50%,-50%);opacity:.9;mix-blend-mode:multiply;pointer-events:none;-webkit-user-select:none;user-select:none}.equipment-slot{--rarity: var(--quiet-border);position:relative;z-index:1;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:var(--space-2);width:100%;min-width:0;align-self:center;height:56px;overflow:hidden;padding:0 var(--space-2) 0 0;border:1px solid color-mix(in srgb,var(--rarity) 80%,transparent);border-radius:var(--radius-md);background:color-mix(in srgb,var(--surface-page) 84%,transparent);color:var(--foreground);font:inherit;text-align:left;cursor:pointer}.equipment-slot-head{grid-area:head}.equipment-slot-neck{grid-area:neck}.equipment-slot-trinket{grid-area:trinket}.equipment-slot-chest{grid-area:chest}.equipment-slot-leftHand{grid-area:leftHand}.equipment-slot-rightHand{grid-area:rightHand}.equipment-slot-waist{grid-area:waist}.equipment-slot-legs{grid-area:legs}.equipment-slot-head,.equipment-slot-neck,.equipment-slot-chest,.equipment-slot-waist,.equipment-slot-legs,.equipment-slot-trinket{justify-self:center;width:min(100%,184px)}.gear-art{--gear-art-size: 54px;position:relative;display:block;flex:none;align-self:stretch;height:var(--gear-art-size);clip-path:polygon(0 0,100% 0,80% 100%,0 100%);color:var(--muted)}.gear-art-image{display:block;width:auto;max-width:none;height:100%}.gear-art.vacant{--gear-socket-size: 34px;display:grid;place-items:center;width:var(--gear-art-size);clip-path:none}.gear-socket{display:grid;place-items:center;width:var(--gear-socket-size);height:var(--gear-socket-size);border:1px dashed color-mix(in srgb,var(--muted) 55%,transparent);border-radius:50%;background:color-mix(in srgb,var(--surface-page) 55%,transparent);color:var(--muted)}.gear-socket .icon{width:calc(var(--gear-socket-size) * .5);height:calc(var(--gear-socket-size) * .5)}.equipment-slot-copy{display:grid;min-width:0;line-height:1.25}.equipment-slot-copy>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase}.equipment-slot-copy small{overflow:hidden;color:var(--foreground);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap}.equipment-slot:hover:not(:disabled){border-color:var(--gold);background:color-mix(in srgb,var(--surface-raised) 94%,transparent)}.equipment-slot:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.equipment-slot.selected{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold),0 0 14px var(--gold-glow)}.equipment-slot.vacant{border-style:dashed;background:color-mix(in srgb,var(--surface-page) 62%,transparent)}.equipment-slot.vacant small{color:var(--muted)}.equipment-slot.imbued:after{content:"";position:absolute;top:6px;right:6px;width:8px;height:8px;border-radius:50%;background:var(--rarity-epic);box-shadow:0 0 6px var(--rarity-epic)}.equipment-slot.inactive{opacity:.75}.equipment-slot.inactive small{color:var(--danger)}.equipment-slot.held:disabled{opacity:.75;border-style:dashed;cursor:default}.equipment-slot.drop-aimed{border-color:var(--gold);box-shadow:0 0 0 2px color-mix(in srgb,var(--gold) 55%,transparent)}.equipment-slot.drop-invalid{border-color:var(--danger);box-shadow:0 0 0 2px color-mix(in srgb,var(--danger) 55%,transparent)}@container (max-width: 300px){.equipment-slot{gap:var(--space-1);padding-right:var(--space-1)}}.equipment-silhouette.offered .equipment-slot.accepts{border-style:dashed;border-color:var(--gold);box-shadow:0 0 10px var(--gold-glow)}.equipment-silhouette.offered .equipment-slot.refuses{opacity:.45}.equipment-silhouette.offered .equipment-slot.drop-aimed{border-style:solid;background:color-mix(in srgb,var(--gold) 14%,var(--surface-raised))}.equipment-slot.drop-aimed small{color:var(--gold)}.equipment-silhouette.offered .equipment-slot.drop-invalid{opacity:1}.equipment-slot.drop-invalid small{color:var(--danger)}.equipment-slot.displaced small{color:var(--muted)}.equipment-slot.lifted{opacity:.4}.equipment-slot.equipping{animation:equipment-saving 1.2s ease-in-out infinite}@keyframes equipment-saving{0%,to{box-shadow:0 0 0 0 transparent}50%{box-shadow:0 0 14px 2px var(--gold-glow)}}@media(prefers-reduced-motion:reduce){.equipment-slot.equipping{animation:none;box-shadow:0 0 10px var(--gold-glow)}}.hero-equipment{display:grid;gap:var(--space-3);container:hero-equipment / inline-size}@container hero-equipment (max-width: 440px){.equipment-silhouette{grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "neck" "chest" "leftHand" "rightHand" "waist" "legs" "trinket"}.equipment-slot-head,.equipment-slot-neck,.equipment-slot-chest,.equipment-slot-waist,.equipment-slot-legs,.equipment-slot-trinket{width:100%}}:where(.equipment-slot,.equipment-option,.equipment-piece)[data-rarity=common]{--rarity: var(--rarity-common)}:where(.equipment-slot,.equipment-option,.equipment-piece)[data-rarity=uncommon]{--rarity: var(--rarity-uncommon)}:where(.equipment-slot,.equipment-option,.equipment-piece)[data-rarity=rare]{--rarity: var(--rarity-rare)}:where(.equipment-slot,.equipment-option,.equipment-piece)[data-rarity=epic]{--rarity: var(--rarity-epic)}:where(.equipment-slot,.equipment-option,.equipment-piece)[data-rarity=legendary]{--rarity: var(--rarity-legendary)}.gear-summary{display:grid;gap:var(--space-2)}.gear-summary-bonuses,.equipment-piece-bonuses,.equipment-option-deltas{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-3)}.equipment-piece-bonuses:empty{display:none}.slot-choices{display:grid;gap:var(--space-4)}.slot-choices .text{margin:0}.equipment-piece{--rarity: var(--rarity-common);--piece-border: 1px solid color-mix(in srgb, var(--rarity) 55%, var(--border));display:grid;gap:var(--space-3);overflow:hidden;padding:var(--space-4);border:var(--piece-border);border-radius:var(--radius-lg);background:linear-gradient(160deg,color-mix(in srgb,var(--rarity) 10%,var(--surface-raised)),var(--surface-raised) 60%)}.equipment-piece.vacant{--rarity: var(--quiet-border);grid-template-columns:auto minmax(0,1fr);align-items:center;border-style:dashed;background:none}.equipment-piece-heading{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:var(--space-3)}.equipment-piece .gear-art{--gear-art-size: 120px;align-self:start;height:var(--gear-art-size);margin:calc(-1 * var(--space-4)) 0 0 calc(-1 * var(--space-4));padding-right:0;border-right:var(--piece-border);border-bottom:var(--piece-border);border-bottom-right-radius:var(--radius-lg);clip-path:none;overflow:hidden}.equipment-piece .gear-art.vacant{--gear-art-size: auto;--gear-socket-size: 52px;height:auto;margin:0;border:0;border-radius:0}.equipment-piece-title{display:grid;justify-items:start;gap:2px;min-width:0}.equipment-piece-title .badge{margin-top:var(--space-1)}.equipment-piece-title strong{overflow-wrap:anywhere;color:var(--foreground-strong);font-family:var(--font-display);font-weight:700;font-size:var(--text-display-lg)}.equipment-piece-title span{color:var(--muted);font-size:var(--text-xs)}.equipment-compare{display:grid;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--gold-line);border-radius:var(--radius-md);background:var(--gold-tint)}.equipment-compare-cards{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-3);margin:0;padding:0;font-size:var(--text-sm);list-style:none}.equipment-compare-cards .gain{color:var(--success)}.equipment-compare-cards .loss{color:var(--danger)}.equipment-options{display:grid;gap:var(--space-2)}.equipment-option{--rarity: var(--quiet-border);display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-3);min-height:84px;overflow:hidden;padding:0;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-raised);color:var(--foreground);font:inherit;text-align:left;cursor:pointer}.equipment-option .gear-art{--gear-art-size: 100%}.equipment-option .gear-art.vacant{--gear-socket-size: 44px;width:82px}.equipment-option-body{display:grid;align-content:center;gap:var(--space-1);min-width:0;padding:var(--space-3) var(--space-3) var(--space-3) 0}.equipment-option:hover:not(:disabled),.equipment-option.selected{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 8%,var(--surface-raised))}.equipment-option:disabled{opacity:.55;cursor:not-allowed}.equipment-option.selected:disabled{opacity:1;cursor:default}.equipment-option-body>span{color:var(--muted);font-size:var(--text-xs)}.equipment-option-body>.equipment-option-heading,.equipment-option-body>.equipment-option-deltas{color:inherit;font-size:var(--text-sm)}.equipment-option-body>.equipment-requirements{color:var(--gold)}.equipment-option-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.equipment-option-deltas .bonus-chip{font-size:var(--text-sm)}.talent-tree-editor{display:grid;gap:var(--space-4)}.talent-tree-editor .text{margin:0}.talent-points{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--space-1) var(--space-3)}.talent-points [role=status]{margin:0;color:var(--muted);font-family:var(--font-display);font-weight:700;font-size:var(--text-display-lg)}.talent-points [role=status].has-points{color:var(--gold)}.talent-points-count{font-size:var(--text-title)}.talent-tree{padding:var(--space-3);overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-lg);background:radial-gradient(ellipse at 50% 0%,color-mix(in srgb,var(--gold) 8%,var(--surface-raised)),var(--surface-page) 85%)}.talent-roots,.talent-branch{display:grid;gap:var(--space-1);margin:0;padding:0;list-style:none}.talent-branch{margin-top:var(--space-1);margin-left:var(--space-4);padding-left:var(--space-3);border-left:2px dashed var(--quiet-border)}li.lit>.talent-branch{border-left-style:solid;border-left-color:var(--gold-line)}.talent-node{display:flex;align-items:center;gap:var(--space-2);width:100%;min-width:max-content;padding:0;border:0;background:none;color:var(--foreground);font:inherit;text-align:left;cursor:pointer}.talent-medallion{display:grid;flex:none;place-items:center;width:40px;height:40px;border:2px solid var(--quiet-border);border-radius:50%;background:radial-gradient(circle at 50% 35%,var(--surface-raised),var(--surface-page));color:var(--muted)}.talent-medallion .icon{width:20px;height:20px}.talent-node-name{padding:0 var(--space-1);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface-page) 78%,transparent);color:var(--quiet-foreground);font-size:var(--text-sm);line-height:1.25}.talent-node-name small{color:var(--muted);font-size:var(--text-xs)}.talent-node.invested .talent-medallion{border-color:var(--gold);background:radial-gradient(circle at 50% 35%,color-mix(in srgb,var(--gold) 32%,var(--surface-raised)),var(--surface-page));box-shadow:0 0 14px var(--gold-glow);color:var(--gold)}.talent-node.invested .talent-node-name{color:var(--foreground-strong)}.talent-node.can-add .talent-medallion{border-color:color-mix(in srgb,var(--gold) 75%,transparent);color:var(--foreground-strong);animation:talent-ready 2.4s ease-in-out infinite}.talent-node.blocked{opacity:.55}.talent-node.selected .talent-medallion{outline:2px solid var(--gold);outline-offset:3px}.talent-node:focus-visible{outline:none}.talent-node:focus-visible .talent-medallion{outline:3px solid var(--foreground-strong);outline-offset:3px}@keyframes talent-ready{0%,to{box-shadow:0 0 0 0 transparent}50%{box-shadow:0 0 14px 2px var(--gold-glow)}}@media(prefers-reduced-motion:reduce){.talent-node.can-add .talent-medallion{animation:none;box-shadow:0 0 10px var(--gold-glow)}}.talent-pips{display:flex;gap:3px}.talent-pips span{width:7px;height:7px;border:1px solid color-mix(in srgb,var(--gold) 45%,transparent);border-radius:50%}.talent-pips span.filled{border-color:var(--gold);background:var(--gold)}.talent-detail{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-raised)}.talent-detail.invested{border-color:color-mix(in srgb,var(--gold) 55%,var(--border))}.talent-detail .talent-medallion{width:44px;height:44px}.talent-detail.invested .talent-medallion{border-color:var(--gold);color:var(--gold)}.talent-detail .talent-medallion .icon{width:22px;height:22px}.talent-detail-copy{display:grid;gap:var(--space-1);min-width:0}.talent-detail h3{margin:0;color:var(--foreground-strong);font-family:var(--font-display);font-weight:700;font-size:var(--text-display-lg)}.talent-detail-rank{display:flex;align-items:center;gap:var(--space-2);color:var(--gold);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase}.talent-detail-controls{display:flex;flex-direction:column-reverse;gap:var(--space-2)}.talent-add.icon-button:not(:disabled){border-color:var(--gold);color:var(--gold)}.talent-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2)}.hero-skills{display:grid;gap:var(--space-5)}.hero-skills>.text,.hero-skill-group>.text{margin:0}.hero-skill-group{display:grid;gap:var(--space-2)}.hero-skill-group h3{display:flex;align-items:center;gap:var(--space-2);margin:0;color:var(--gold);font-family:var(--font-display);font-weight:700;font-size:var(--text-display-lg)}.hero-skill-group ul{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:var(--space-2) var(--space-4);margin:0;padding:0;list-style:none}.hero-skill{display:grid;grid-template-areas:"level name" "level meter";grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:var(--space-3);row-gap:var(--space-1);padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-raised)}.hero-skill-level{display:grid;grid-area:level;place-items:center;width:36px;height:36px;border:1px solid var(--gold);border-radius:50%;color:var(--gold);font-family:var(--font-display);font-weight:700;font-size:var(--text-display-lg)}.hero-skill-name{grid-area:name;font-size:var(--text-sm)}.hero-skill .meter{grid-area:meter}.hero-skill.untouched{opacity:.6}.hero-skill.untouched .hero-skill-level{border-color:var(--quiet-border);color:var(--muted)}.equip-step{display:grid;gap:var(--space-2)}.run-sheet-body .equip-step-title,.equip-step-title{margin:0}.equip-rows{display:grid;gap:var(--space-2)}.equip-row{--rarity: var(--quiet-border);display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-3);min-height:56px;overflow:hidden;padding:0 var(--space-3) 0 0;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-raised);color:var(--foreground);font:inherit;text-align:left;cursor:pointer}.equip-row:hover:not(:disabled){border-color:color-mix(in srgb,var(--gold) 60%,var(--border))}.equip-row:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.equip-row[aria-pressed=true]{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 8%,var(--surface-raised));box-shadow:0 0 0 1px var(--gold)}.equip-row[aria-pressed=true]>.icon{color:var(--gold)}.equip-row:disabled{opacity:.55;cursor:not-allowed}.equip-row>.icon{color:var(--muted)}.equip-row .portrait.equip-row-portrait{align-self:stretch;width:64px;height:100%;min-height:64px;border:0;border-radius:0;clip-path:polygon(0 0,100% 0,80% 100%,0 100%)}.equip-slot-row .gear-art{--gear-art-size: 56px}.equip-row-copy{display:grid;gap:2px;min-width:0;padding-block:var(--space-2)}.equip-row-copy small,.equip-row-label{color:var(--muted);font-size:var(--text-xs)}.equip-row-label{letter-spacing:.05em;text-transform:uppercase}.equip-row-note{overflow:hidden;color:var(--quiet-foreground);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap}.equip-row-note.refused{color:var(--danger)}.gear-item-sales{display:grid;gap:var(--space-2)}.gear-item-sales .text{margin:0}.run-sheet-body>.equipment-piece{flex-shrink:0}:root{--pile-shadow: 0 -8px 10px #0003, 0 -3px 8px #000b}.adventure{flex:1;display:flex;flex-direction:column;gap:8px;width:calc(100% - 12px);max-width:560px;margin-inline:auto;min-height:430px}.run-strip{display:flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid var(--run-border);border-radius:10px;background:var(--run-background)}.run-place{flex:1;min-width:0;display:flex;flex-direction:column}.run-place h1{font-family:var(--font-display);font-size:16px;font-weight:700;letter-spacing:0;line-height:1.15;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.run-place small{font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted)}.run-strip .stat{font-size:17px;font-weight:600}.run-strip .icon{width:1em;height:1em}.energy-reading,.mana-reading{gap:5px}.resource-button{padding:0;border:0;background:none;color:inherit;font:inherit;cursor:pointer}.resource-sheet .detail-modifiers{margin-top:var(--space-2)}.mobile-run-indicators .stat.energy-reading,.mobile-run-indicators .stat.mana-reading{--resource-pad-y: .15rem;font-size:1rem}.adventure-run-strip .run-place{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;min-width:0}.adventure-path-name{min-width:0;margin:0;overflow:hidden;color:var(--foreground);font-size:.95rem;font-weight:600;letter-spacing:normal;line-height:1.1;text-overflow:ellipsis;text-transform:none;white-space:nowrap}.board{flex:1;min-height:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.adventure-board{row-gap:5px}.board[data-lanes="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}.board[data-lanes="1"]{grid-template-columns:minmax(0,1fr)}.activity-clock.urgent{color:var(--danger);font-weight:700}.lane{display:flex;flex-direction:column;gap:5px;min-width:0;min-height:0;border-radius:9px}@supports (grid-template-rows: subgrid){.adventure-board{grid-template-rows:auto minmax(24px,1fr) auto}.adventure-board.has-road{grid-template-rows:auto auto minmax(24px,1fr) auto}.adventure-board .lane{display:grid;grid-row:span 3;grid-template-rows:subgrid}.adventure-board.has-road .lane{grid-row:span 4}}.lane.targeted{border-color:var(--gold);background:var(--gold-tint)}.lane.blocked{border-color:var(--danger);background:#4a232014}.lane-blocked{flex:1;min-height:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:6px 4px;border:1px dashed var(--danger);border-radius:8px;background:color-mix(in srgb,var(--discard-surface) 50%,transparent);color:var(--discard-foreground);text-align:center}.lane-blocked.over{position:absolute;inset:0;z-index:10;margin:0;pointer-events:none;background:color-mix(in srgb,var(--discard-surface) 92%,transparent)}.lane-blocked strong{font-family:var(--font-display-small);font-weight:500;font-size:14px}.lane-blocked small{font-size:10px;color:var(--discard-detail)}.lane-blocked .icon{width:18px;height:18px;color:var(--danger)}.encounter{position:relative;flex:0 0 auto;width:100%;min-width:0;height:150px;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-end;border:0;border-radius:8px;background:linear-gradient(155deg,#354435,#1a2925);color:inherit;font:inherit;padding:0;cursor:pointer}.encounter:after{content:"";position:absolute;inset:0;border:1px solid #656248;border-radius:8px;pointer-events:none}.encounter:hover:after,.encounter:focus-visible:after{border-color:var(--gold)}.encounter.enemy:after{border-color:#8a6a4a}.encounter.materials:after,.encounter.haven:after{border-color:#9a8548}.encounter>.meter.timer{position:absolute;inset:1px 1px auto;width:auto;z-index:2;border-radius:7px 7px 0 0}.encounter-art{position:absolute;inset:0;width:100%;height:100%;border-radius:inherit;object-fit:cover;object-position:50% 35%}.encounter-art.empty{display:grid;place-items:center;font-size:34px;color:#6f7f68}.encounter-face{position:relative;display:flex;flex-direction:column;justify-content:flex-end;gap:3px;padding:16px 0 5px;text-align:center;border-radius:0 0 8px 8px;background:linear-gradient(180deg,#0b110f00,#0b110fab 38%,#0b110fe8 72%)}.encounter.enemy .encounter-face,.encounter.obstacle .encounter-face{min-height:60%;justify-content:flex-start;padding-top:7px;background:linear-gradient(180deg,#0b110f00,#0b110fab 16%,#0b110fe8 38%)}.encounter-face strong{padding:0 5px;font-family:var(--font-display-small);font-weight:500;font-size:var(--text-display-sm);line-height:1.15;text-shadow:0 1px 3px #000c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.encounter-face .meter{width:auto;margin:0 6px}.encounter-marks{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;padding:0 4px;font-size:16px;font-weight:600}.encounter-marks .icon{width:15px;height:15px}.encounter-call{display:flex;align-items:center;justify-content:center;gap:4px;margin:0 4px;padding:2px 4px;border:1px solid #7b6a3e;border-radius:5px;background:#1b1710cc;color:var(--gold);font-size:11px;font-weight:700;letter-spacing:.3px}.encounter-call .icon{width:13px;height:13px}.encounter-call.decided{border-color:#5f7a4e;background:#16200fcc;color:#bcd79a}.encounter-settled{position:absolute;top:40px;left:50%;transform:translate(-50%,-50%);z-index:3;display:grid;place-items:center;color:var(--preview)}.encounter-settled .icon{width:54px;height:54px;stroke-width:.8;filter:drop-shadow(0 2px 5px #000d) drop-shadow(0 0 2px #000a)}.encounter-settled.past,.encounter-settled.lost{color:var(--danger-deep)}.encounter.settled .encounter-art{filter:grayscale(.5) brightness(.68)}.encounter.settled:after{border-color:color-mix(in srgb,var(--preview) 50%,transparent)}.encounter.settled .encounter-face strong,.encounter.settled .meter:not(.timer){opacity:.6}.encounter.urgent:after{border-color:var(--danger)}.encounter.urgent{box-shadow:0 0 0 1px #e49a9166,0 0 14px #e49a9155;animation:encounter-urgent 1.4s ease-in-out infinite}@keyframes encounter-urgent{0%,to{transform:translate(0)}20%{transform:translate(-1.5px)}40%{transform:translate(1.5px)}60%{transform:translate(-1px)}80%{transform:translate(1px)}}.encounter-marks:empty{display:none}.detail-encounter{display:flex;gap:14px;flex-wrap:wrap;align-items:flex-start}.detail-art{flex:0 0 176px;width:176px;aspect-ratio:5 / 4;height:auto;object-fit:cover;object-position:50% 18%;border:1px solid var(--border);border-radius:var(--radius-md)}.detail-encounter-info{display:flex;flex:1 1 180px;flex-direction:column;gap:var(--space-2);min-width:0}.detail-encounter-info h2{margin:0;color:var(--foreground-strong);font-family:var(--font-display);font-weight:700;font-size:var(--text-display-xl)}.detail-encounter-info .text{margin:0}.encounter-peek{flex:0 0 auto;height:24px;margin:0 7px -8px;padding:0;display:flex;align-items:center;justify-content:center;gap:2px;border:1px solid #4a5a3f;border-bottom:0;border-radius:7px 7px 0 0;background:linear-gradient(180deg,#2c3a2b,#1d2a24);color:#d8dfc0;font:inherit;font-size:16px;font-weight:600;line-height:1;cursor:pointer}.encounter-peek.none{visibility:hidden}.encounter-peek.haven{border-color:#9a8548;color:var(--gold)}.encounter-peek:hover,.encounter-peek:focus-visible{border-color:var(--gold)}.encounter-peek .icon{width:15px;height:15px}.road-landmark{display:flex;gap:10px;align-items:flex-start}.road-landmark-icon{flex:0 0 auto;display:grid;place-items:center;width:36px;height:36px;border:1px solid #4a5a3f;border-radius:8px;background:#1d2a24;color:#d8dfc0}.road-landmark-icon.haven{border-color:#9a8548;color:var(--gold)}.road-landmark-icon .icon{width:20px;height:20px}.encounter-peek.ambush{justify-content:space-between;padding:0 var(--space-2);border-color:var(--danger-border);background:var(--danger-surface);color:var(--danger-foreground)}.encounter-peek.ambush>.icon{color:var(--danger)}.encounter-peek.ambush:hover,.encounter-peek.ambush:focus-visible{border-color:var(--danger)}.peek-effects{display:flex;align-items:center;gap:var(--space-2)}.peek-effect{display:inline-flex;align-items:center;gap:1px}.ambush-detail{display:flex;gap:var(--space-3);align-items:flex-start}.ambush-detail-icon{flex:0 0 auto;display:grid;place-items:center;width:2.25em;height:2.25em;border:1px solid var(--danger-border);border-radius:var(--radius-md);background:var(--danger-surface);color:var(--danger)}.hero-on-board{flex:0 0 auto;margin-top:4px;display:flex;flex-direction:column;align-items:stretch;gap:4px;padding:0 0 4px;border:1px solid transparent;border-radius:8px;background:none;color:inherit;font:inherit;cursor:pointer;position:relative}.hero-on-board:hover{border-color:var(--quiet-border)}.hero-on-board:focus-visible{outline:2px solid var(--preview);outline-offset:2px}.hero-on-board .portrait.small{width:100%;height:auto;aspect-ratio:4.5 / 1;border-radius:8px 8px 0 0;border:1px solid #6b7150}.hero-on-board .portrait.small.ability-ready{position:relative;z-index:1;border-color:var(--gold);box-shadow:0 0 2px color-mix(in srgb,var(--gold) 70%,transparent),0 0 4px 1px color-mix(in srgb,var(--gold) 45%,transparent);animation:ability-ready-pulse 2.8s ease-in-out infinite}.hero-on-board .portrait.small.ability-using{border-color:var(--preview);box-shadow:0 0 0 2px color-mix(in srgb,var(--preview) 65%,transparent),0 0 12px color-mix(in srgb,var(--preview) 48%,transparent)}@keyframes ability-ready-pulse{0%,to{filter:drop-shadow(0 0 4px color-mix(in srgb,var(--gold) 68%,transparent))}50%{filter:drop-shadow(0 0 8px color-mix(in srgb,var(--gold) 82%,transparent))}}.hero-on-board .meter{margin-top:-4px;border-radius:0 0 4px 4px;border-top-width:0}.button.ability-progress-button{--meter-fill: color-mix(in srgb, var(--gold) 32%, var(--surface));position:relative;isolation:isolate;overflow:hidden;background:var(--surface);color:var(--quiet-foreground);border-color:var(--quiet-border)}.button.ability-progress-button:hover{background:var(--quiet-hover)}.button.ability-progress-button:disabled{opacity:.92}.button.ability-progress-button>.ability-progress-fill{position:absolute;inset:0;width:100%;height:100%;margin:0;border:0;border-radius:inherit;background:transparent;appearance:none;pointer-events:none}.button.ability-progress-button>.ability-progress-ahead{z-index:0}.button.ability-progress-button>.ability-progress-current{z-index:1}.button.ability-progress-button>.ability-progress-fill::-webkit-progress-bar{background:transparent}.button.ability-progress-button>.ability-progress-current::-webkit-progress-value{background:var(--meter-fill);transition:width .25s ease-out}.button.ability-progress-button>.ability-progress-ahead::-webkit-progress-value{background:repeating-linear-gradient(-45deg,var(--preview-progress-stripe),var(--preview-progress-stripe) 3px,var(--meter-fill) 3px,var(--meter-fill) 6px)}.button.ability-progress-button>.ability-progress-current::-moz-progress-bar{background:var(--meter-fill);transition:width .25s ease-out}.button.ability-progress-button>.ability-progress-ahead::-moz-progress-bar{background:repeating-linear-gradient(-45deg,var(--preview-progress-stripe),var(--preview-progress-stripe) 3px,var(--meter-fill) 3px,var(--meter-fill) 6px)}.button.ability-progress-button>span{position:relative;z-index:1}.button.ability-progress-button.ready{background:var(--gold);color:var(--button-foreground);border-color:var(--button-border);box-shadow:0 0 0 1px color-mix(in srgb,var(--gold) 44%,transparent),0 0 9px color-mix(in srgb,var(--gold) 22%,transparent)}.button.ability-progress-button.ready:hover{background:var(--button-hover)}.button.ability-progress-button.ready>.ability-progress-fill{display:none}.button.ability-progress-button.selected{--meter-fill: color-mix(in srgb, var(--preview) 24%, var(--surface));background:color-mix(in srgb,var(--preview) 15%,var(--surface));color:var(--preview);border-color:var(--preview);box-shadow:0 0 0 1px color-mix(in srgb,var(--preview) 26%,transparent),inset 0 0 10px color-mix(in srgb,var(--preview) 8%,transparent)}.button.ability-progress-button.selected:hover{background:color-mix(in srgb,var(--preview) 22%,var(--surface))}.ability-selection-label{display:inline-flex;align-items:center;gap:5px}.ability-selection-label .icon{width:15px;height:15px;flex:0 0 auto}.hero-on-board.doomed{border-color:var(--danger-deep);box-shadow:0 0 0 1px #ff574166,0 0 14px #ff7b6955;animation:encounter-urgent 1.4s ease-in-out infinite}.hero-on-board.fallen .portrait{filter:grayscale(1) brightness(.45)}.hero-on-board.fallen .meter{opacity:.55}.hero-fallen-mark{position:absolute;inset:0 0 auto;aspect-ratio:4.5 / 1;z-index:2;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:6px;color:var(--danger-deep);pointer-events:none}.hero-fallen-mark .fallen-side{display:flex;align-items:center}.hero-fallen-mark .fallen-side:first-child{justify-content:flex-end}.hero-fallen-mark .icon{width:26px;height:26px;filter:drop-shadow(0 1px 3px #000d) drop-shadow(0 0 2px #000a)}.encounter .hero-fallen-mark{inset:0 0 auto;height:40%;aspect-ratio:auto}.encounter-art.fallen{filter:grayscale(1) brightness(.45)}.hero-fallen-mark .fallen-side .icon{width:20px;height:20px;stroke-width:2.4}.lane.fallen .slot.locked{opacity:.7}.condition-bar{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;min-height:21px;margin:0 4px}.condition-bar .stat.chip:not(.pill){background:var(--stat-chip-fill);border-color:var(--stat-chip-edge)}.lane-tags{position:absolute;z-index:2;top:1px;left:1px;right:1px;display:flex;flex-wrap:wrap;gap:4px;pointer-events:none}.lane-tag{min-width:0;max-width:100%;padding:2px 8px;border-top-left-radius:var(--radius-sm);border-top-right-radius:0;border-bottom-left-radius:0;border-bottom-right-radius:var(--radius-md);background:var(--gold);color:var(--ink);font-family:var(--font-body);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lane-tag.escort{background:color-mix(in srgb,var(--rarity-legendary) 75%,var(--gold))}.lane-slots{position:relative;flex:1;min-width:0;min-height:24px;display:grid;grid-template-columns:minmax(0,1fr);grid-auto-rows:1fr;list-style:none;margin:0;padding:0;--slot-shut: var(--slot-locked-foreground)}.slot{display:flex;min-width:0;min-height:26px;position:relative}.slot:not(:last-child){margin-bottom:-12px}.slot.empty,.slot.locked{align-items:center;justify-content:center;gap:5px;padding:3px 5px;border:1px dashed var(--slot-line);border-radius:5px;color:var(--slot-foreground);background:var(--slot-surface);box-shadow:var(--pile-shadow)}.slot.locked{border-style:solid;border-color:var(--slot-locked-line);background:var(--slot-locked-background);color:var(--slot-shut)}.slot-badge.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:1px 5px;border-color:color-mix(in srgb,currentColor 60%,transparent);border-radius:.25em;background:none;color:var(--slot-shut);font-size:var(--text-xs);letter-spacing:0;line-height:1.2}.slot-badge .icon{width:1em;height:1em}.slot.empty.aimed{border-style:solid;border-color:var(--gold);background:var(--gold-line);box-shadow:0 0 10px var(--gold-glow)}.lane-card{position:relative;width:100%;display:flex;flex-direction:column;border:1px solid var(--card-border);border-radius:5px;background:var(--card-background);color:inherit;padding:1px;font:inherit;font-size:12px;cursor:grab;box-shadow:var(--pile-shadow);transform-origin:50% 0%;touch-action:none}.lane-card-art{flex:1 1 0;min-height:0;width:calc(100% + 2px);object-fit:cover;object-position:50% 35%;margin:0 -1px 30px;border-radius:0}.lane-card>.meter.uses{position:relative;margin:-1px -1px 0;width:calc(100% + 2px);border-radius:4px 4px 0 0}.chip-face{position:absolute;z-index:2;right:0;bottom:0;left:0;padding:var(--space-1);border-top:1px solid var(--card-border);border-radius:0 0 4px 4px;background:var(--card-background);pointer-events:none}.slot:not(:last-child)>.lane-card>.chip-face{bottom:8px;padding-bottom:10px;border-radius:0}.chip-name{flex:1;min-width:0;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-face-stats{position:relative;display:flex;align-items:center;justify-content:center;gap:var(--space-1);min-width:0;overflow:hidden;white-space:nowrap;font-size:var(--text-md);font-weight:500;color:var(--chip-foreground)}.card-face-stats.single{justify-content:center}.card-face-stats.centred{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.card-face-side{display:flex;justify-content:space-between;gap:var(--space-1);min-width:0}.card-face-side.end>:last-child{margin-inline-start:auto}.card-face-stat{display:inline-flex;flex:none;align-items:center}.card-face-stats>.dropped{position:absolute;top:0;left:0;visibility:hidden}.card-face-stats .icon{width:1em;height:1em}.chip-face .mechanic-marks{display:flex;max-width:100%;align-items:center;justify-content:center;gap:3px}.slip-maker{display:inline-flex;align-items:center;gap:.2em;color:inherit}.mechanic-marks .slip-maker>.icon{width:.95em;height:.95em}.chip-face .card-face-more{font-size:var(--text-xs)}.lane-card:disabled{cursor:default}.lane-card.inert,.hand-card.inert .game-card{border-color:var(--danger);box-shadow:0 0 0 1px color-mix(in srgb,var(--danger) 65%,transparent),var(--pile-shadow)}.chip-unattuned{color:var(--muted)}.chip-unattuned:not(.foresee) .icon[data-icon=pyre]{color:var(--element-pyre)}.chip-unattuned:not(.foresee) .icon[data-icon=miasma]{color:var(--element-miasma)}.chip-unattuned:not(.foresee) .icon[data-icon=rime]{color:var(--element-rime)}.chip-unattuned:not(.foresee) .icon[data-icon=thrall]{color:var(--element-thrall)}.chip-unattuned:not(.foresee) .icon[data-icon=levin]{color:var(--element-levin)}.chip-unattuned.foresee{color:var(--preview)}.sweep-mark{flex:0 0 auto;display:inline-flex;min-width:31px;height:29px;align-items:center;justify-content:center;gap:3px;padding:0 5px;border:1px solid color-mix(in srgb,currentColor 35%,transparent);border-radius:6px;background:#852d2d;color:#fff7f2;box-shadow:0 1px 4px #0007;font-size:12px;font-weight:800;font-variant-numeric:tabular-nums}.sweep-mark.guard{background:#78601f;color:#fff9e6}.sweep-mark .icon{width:15px;height:15px;color:currentColor}.chip-staged{position:absolute;z-index:2;top:5px;left:5px;display:grid;place-items:center;width:18px;height:18px;border-radius:var(--radius-pill);background:#0b110fcc;color:var(--gold)}.chip-staged .icon{width:12px;height:12px}.set-aside-cards{position:absolute;inset:0;display:flex;align-items:center;gap:4px;padding:3px 5px;border:1px solid var(--discard-line);border-radius:5px;background:var(--shed-surface);color:var(--shed-foreground);font:inherit;font-size:12px;cursor:grab;box-shadow:var(--pile-shadow);touch-action:none}.set-aside-cards:disabled{cursor:default}.set-aside-cards .icon{width:14px;height:14px;flex:0 0 auto}.set-aside-cards>.icon,.set-aside-cards>.chip-name{position:relative;z-index:3}.slot.empty>.set-aside-cards{flex-direction:column;justify-content:center;gap:var(--space-1)}.slot.empty>.set-aside-cards>.chip-name{flex:0 0 auto;width:100%;text-align:center}.slot.empty>.set-aside-cards>.icon,.slot.empty>.set-aside-cards>.chip-name{z-index:2}.shed-tuck{position:absolute;inset:0 auto 0 0;z-index:1;width:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:0;border:1px solid var(--discard-line);border-radius:5px 0 0 5px;background:var(--shed-surface);color:var(--shed-foreground);font:inherit;cursor:pointer;box-shadow:var(--pile-shadow)}.shed-tuck:disabled{cursor:default}.shed-tuck .icon{width:14px;height:14px}.shed-count{font-size:13px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.slot.tucked>.lane-card,.slot.tucked>.set-aside-cards{width:calc(100% - 20px);margin-left:auto}.slot.tucked>.lane-card{position:relative;z-index:2}.slot.tucked>.set-aside-cards{inset-inline-start:auto;z-index:2}.shed-list{display:flex;flex-direction:column;gap:var(--space-3)}.lane-card.touched{border-color:color-mix(in srgb,var(--preview) 50%,#526244)}.lane-card.mana-short{border-color:var(--danger);box-shadow:0 0 0 1px color-mix(in srgb,var(--danger) 65%,transparent),var(--pile-shadow)}.mana-short-mark{position:absolute;z-index:3;inset:50% auto auto 50%;display:grid;place-items:center;padding:var(--space-1);border:1px solid var(--danger-border);border-radius:50%;background:var(--danger-surface);color:var(--danger);transform:translate(-50%,-50%);pointer-events:none}.mana-short-mark .icon{width:1.4em;height:1.4em}.slot>.lane-card.aimed,.slot>.set-aside-cards.aimed{border-color:var(--gold);box-shadow:0 0 10px var(--gold-glow)}.lane-card.ghosted{cursor:grabbing;border-style:dashed;opacity:.35}.lane-card.ghosted.empty{background:none;border-color:var(--slot-line);box-shadow:none;justify-content:flex-start}.drag-ghost{position:fixed;z-index:var(--layer-ghost);pointer-events:none;filter:drop-shadow(0 10px 18px #000a)}.drag-ghost:has(>.hand-card){width:max-content;transform:perspective(450px) rotateX(var(--lean-x, 0deg)) rotateY(var(--lean-y, 0deg)) rotate(var(--lean-z, 0deg)) scale(.88);transition:transform .16s ease-out}@media(prefers-reduced-motion:reduce){.drag-ghost:has(>.hand-card){transform:scale(.88)}}.clear-zone{position:fixed;left:0;right:0;bottom:0;z-index:var(--layer-clear-zone);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;height:148px;padding:12px;border-top:2px dashed var(--discard-line);background:color-mix(in srgb,var(--discard-surface) 90%,transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);color:var(--discard-foreground);text-align:center}.clear-zone strong{font-family:var(--font-display);font-weight:700;font-size:17px}.clear-zone small{font-size:12px;color:var(--discard-detail);max-width:34ch}.clear-zone .icon{width:26px;height:26px}.clear-zone.armed{border-color:var(--danger);background:color-mix(in srgb,var(--discard-armed-surface) 95%,transparent);color:var(--discard-armed-foreground)}.clear-zone.return{border-color:var(--return-line);background:color-mix(in srgb,var(--return-surface) 90%,transparent);color:var(--return-foreground)}.clear-zone.return small{color:var(--return-detail)}.clear-zone.return.armed{border-color:var(--return-armed-line);background:color-mix(in srgb,var(--return-armed-surface) 95%,transparent);color:var(--return-armed-foreground)}.clear-zone.refused{border-color:var(--danger)}.clear-zone.refused .icon{color:var(--danger)}.clear-zone.keep{border-color:var(--return-line);background:color-mix(in srgb,var(--return-surface) 90%,transparent);color:var(--return-foreground)}.clear-zone.keep small{color:var(--return-detail)}.clear-zone.keep.armed{border-color:var(--return-armed-line);background:color-mix(in srgb,var(--return-armed-surface) 95%,transparent);color:var(--return-armed-foreground)}.hand{box-sizing:border-box;display:flex;align-items:stretch;justify-content:flex-start;gap:6px;width:100cqw;margin-inline:calc(50% - 50cqw);padding-inline:var(--space-2);overflow-x:auto;scrollbar-width:thin;--hand-bleed: var(--space-2);padding-block:var(--hand-bleed);margin-block:calc(-1 * var(--hand-bleed));min-height:calc(112px + 2 * var(--hand-bleed))}.hand.surface-aligned{padding-inline:max(var(--space-1),calc(50cqw - 50%))}.hand.centered{justify-content:safe center}.hand-card{flex:0 0 104px;width:104px;position:relative;display:flex;touch-action:pan-x}.hand-card.ghosted .game-card{opacity:.35;filter:saturate(.4)}.hand-card .game-card{width:100%}.hand-card .game-card.compact .card-energy{top:1px;left:1px}.hand-card .game-card.compact .card-mana{top:1px;right:1px}.hand-card .game-card.compact :is(.card-energy,.card-mana){--hand-cost-size: 22px;font-size:var(--text-sm)}.hand-card .game-card.compact .energy-orb{width:var(--hand-cost-size);min-width:0;height:var(--hand-cost-size);padding:0}.hand-card .game-card.compact .mana-gem{--gem-height: var(--hand-cost-size);width:var(--hand-cost-size);min-width:23px;padding:0;--gem-point: calc(var(--gem-height) / 4)}.hand-card .game-card.compact .mana-gem:before{--gem-inner-point: calc(var(--gem-point) - var(--gem-border) * 1.4142);inset:calc(var(--gem-border) * 1.4142)}.hand-card.inert .card-uses-band{--meter-fill: var(--danger-surface);border-color:var(--danger-border);background:var(--danger-surface)}.hand-card.inert .card-uses-band .meter-text{color:var(--danger-deep);-webkit-text-stroke-color:var(--danger-surface)}.hand-card.inert .card-uses-band .meter-text .icon{width:10px;height:10px;stroke-width:2.2}.hand-inert-face{grid-row:3 / 5;grid-column:1;display:grid;place-items:center;align-self:stretch;color:var(--danger-deep);pointer-events:none}.hand-inert-face .icon{width:1.25em;height:1.25em;stroke-width:2.2}.plan-conflicts{display:grid;gap:8px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--danger) 58%,var(--border));border-radius:9px;background:color-mix(in srgb,var(--danger) 9%,var(--surface));color:var(--foreground)}.plan-conflicts h2{margin:0;color:var(--danger);font-size:16px}.plan-conflict{display:grid;gap:4px;min-width:0}.plan-conflict ul{display:flex;flex-wrap:wrap;gap:6px 14px;margin:0;padding:0 0 0 16px}.plan-conflict li{min-width:0;overflow-wrap:anywhere}.plan-conflict li>span{margin-inline-end:7px}.plan-conflict .conflict-withdraw{min-height:30px;padding:3px 8px;font-size:12px}.slot.conflicted:before{position:absolute;z-index:4;inset:0 auto 0 0;width:4px;border-radius:4px 0 0 4px;background:var(--danger);content:"";pointer-events:none}.hand-card.unaffordable .game-card:not(:disabled){opacity:.8;filter:saturate(.55)}.hand-card.unaffordable .game-card:not(:disabled):hover{border-color:var(--danger)}.hand-card .game-card.compact{--hand-uses-height: 10px;display:grid;grid-template-rows:56px 11px 1fr 22px;grid-template-columns:minmax(0,1fr);align-items:center;height:138px;padding-top:var(--hand-uses-height);text-align:center}.hand-card .game-card.compact>:is(.card-art,strong,.card-title-anchor,.hand-face-top,.hand-face-bottom){grid-column:1}.hand-card .game-card.compact .card-title-anchor{grid-row:1 / 3;align-self:end;position:relative;min-width:0}.hand-card .game-card.compact .card-art{grid-row:1;align-self:stretch;height:auto;margin:0 -5px;border-radius:0;-webkit-mask-image:linear-gradient(to bottom,var(--ink) 55%,transparent);mask-image:linear-gradient(to bottom,var(--ink) 55%,transparent)}.hand-card .game-card.compact .card-art img{height:56px;border-radius:0}.hand-card .game-card.compact strong{position:relative;z-index:1;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;grid-row:1 / 3;align-self:end;margin:0 -3px;padding:3px 10px;background:linear-gradient(180deg,color-mix(in srgb,var(--gold) 55%,var(--foreground-strong)),var(--gold));box-shadow:inset 0 1px color-mix(in srgb,var(--gold) 55%,var(--ink)),inset 0 -1px color-mix(in srgb,var(--gold) 55%,var(--ink));clip-path:polygon(0 0,100% 0,calc(100% - 6px) 50%,100% 100%,0 100%,6px 50%);color:var(--ink);font-size:var(--text-sm);font-weight:600;line-height:1.15}.hand-card .game-card.compact .card-title-adornment{position:absolute;z-index:2;top:0;left:-3px;right:-3px;display:block;pointer-events:none}.hand-card .game-card.compact .hand-combo-adornment,.hand-card .game-card.compact .hand-chaos-adornment{position:absolute;top:.5px;display:flex;align-items:center;transform:translateY(-50%)}.hand-card .game-card.compact .hand-combo-adornment{left:0}.hand-card .game-card.compact .hand-chaos-adornment{left:50%;transform:translate(-50%,-50%)}.hand-card.infliction .game-card.compact strong{background:linear-gradient(180deg,color-mix(in srgb,var(--infliction) 55%,var(--foreground-strong)),var(--infliction));color:var(--ink)}.card-uses-band.meter{--meter-fill: transparent;position:absolute;inset:0 0 auto;z-index:1;width:auto;height:var(--hand-uses-height, 10px);border:0;background:none}.card-uses-band .meter-text{gap:2px;top:2px}.card-uses-band .meter-text .icon{width:12px;height:12px;filter:drop-shadow(1px 0 0 var(--ink)) drop-shadow(-1px 0 0 var(--ink)) drop-shadow(0 1px 0 var(--ink)) drop-shadow(0 -1px 0 var(--ink))}.hand-face-top{grid-row:3;display:flex;align-items:center;justify-content:center;gap:var(--space-1);min-width:0;font-size:var(--text-sm);color:var(--chip-foreground)}.card-face-more{display:inline-grid;flex:0 0 auto;place-items:center;color:var(--gold)}.card-face-more .icon{width:1.2em;height:1.2em}.hand-face-bottom{grid-row:4;display:flex;align-items:center;justify-content:space-between;padding:0 2px;font-size:var(--text-lg);font-weight:500;color:var(--chip-foreground)}.hand-face-bottom.single{justify-content:center}.hand-face-top .icon,.hand-face-bottom .icon{width:15px;height:15px}.aimed-effect{display:inline-flex;align-items:center}.aimed-effect>.icon:first-child{width:12px;height:12px;color:var(--danger);margin-right:-8px}.aimed-effect .icon,.aimed-effect .stat-value{color:var(--danger)}.slip-tray{flex:0 0 auto;display:flex;flex-direction:column;justify-content:center;gap:var(--space-1);margin:0;padding:0 var(--space-1) 0 0;list-style:none;background:transparent}.slip-badge{border-radius:var(--radius-sm)}.hand .slip-badge.button-compact{display:flex;min-height:0;font-family:var(--font-body);font-size:var(--text-md);line-height:1.15;align-items:center;padding:calc(var(--space-1) / 2) var(--space-2);border:1px solid var(--combo);background:color-mix(in srgb,var(--combo) 16%,var(--surface));color:var(--combo);box-shadow:0 0 6px var(--combo-quiet)}.hand .slip-badge .stat .icon{width:.9em;height:.9em}.hand .slip-badge:hover:not(:disabled){background:color-mix(in srgb,currentColor 24%,var(--surface))}.hand .slip-badge.energy{border-color:var(--energy-slip);background:color-mix(in srgb,var(--energy-slip) 16%,var(--surface));color:var(--energy-slip);box-shadow:0 0 6px var(--energy-slip-quiet)}.hand .slip-badge.chaos{border-color:var(--chaos);background:color-mix(in srgb,var(--chaos) 16%,var(--surface));color:var(--chaos);box-shadow:0 0 6px var(--chaos-quiet)}.hand .slip-badge .stat-value{color:var(--foreground-strong);font-weight:700}.hand .slip-badge.chaos.overflow .stat-value{color:var(--chaos)}@keyframes chaos-overflow-pulse{0%,to{box-shadow:0 0 0 1px var(--chaos),0 0 8px var(--chaos-quiet)}50%{box-shadow:0 0 0 2px var(--chaos),0 0 16px var(--chaos-glow)}}.hand .slip-badge.chaos.overflow{animation:chaos-overflow-pulse 1.8s ease-in-out infinite}.combo-pips{display:inline-flex;align-items:center;gap:3px;color:var(--combo)}.combo-pips .icon{width:12px;height:12px}.combo-pip{width:7px;height:7px;border:1px solid var(--combo);border-radius:var(--radius-pill);background:var(--ink)}.combo-pip.chaos-overflow-circle{border-color:var(--chaos)}.combo-pip.lit{border-color:var(--ink);background:var(--combo)}.card-combo-pips{--pip-glow: var(--combo-glow)}.chaos-overflow-pip{--pip-glow: var(--chaos-glow);display:inline-flex;align-items:center;justify-content:center}.chaos-overflow-pip.charged .chaos-overflow-circle{border-color:var(--chaos);background:var(--chaos)}.card-combo-pips.charged .combo-pip,.chaos-overflow-pip.charged .chaos-overflow-circle{box-shadow:0 0 9px 2px var(--pip-glow)}.chip-combo-adornment,.chip-chaos-adornment{position:absolute;z-index:2;top:0;display:flex;align-items:center;transform:translateY(-50%);pointer-events:none}.chip-combo-adornment{left:var(--space-1)}.chip-chaos-adornment{left:50%;transform:translate(-50%,-50%)}.lane-card:not(.aimed):has(.combo-pips.charged),.hand-card:has(.combo-pips.charged) .game-card{box-shadow:0 0 0 1px var(--combo),0 0 10px var(--combo-glow)}.lane-card:not(.aimed):has(.chaos-overflow-pip.charged),.hand-card:has(.chaos-overflow-pip.charged) .game-card{box-shadow:0 0 0 1px var(--chaos),0 0 8px var(--chaos-quiet);animation:chaos-overflow-pulse 1.8s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.hand .slip-badge.chaos.overflow,.lane-card:not(.aimed):has(.chaos-overflow-pip.charged),.hand-card:has(.chaos-overflow-pip.charged) .game-card{animation:none}}.hand-card.infliction .game-card,.lane-card.infliction,.pile-card.infliction{--card-background: var(--infliction-surface);--card-border: var(--infliction-border);border-color:var(--card-border);background:var(--card-background);box-shadow:0 0 0 1px var(--infliction-tint),var(--pile-shadow)}.hand-card.infliction .game-card strong{color:var(--infliction)}.run-bar{display:flex;gap:8px}.run-details-summary{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-2)}.run-details-origin{display:flex;flex-direction:column;gap:var(--space-1)}.run-details-origin>span{color:var(--muted);font-size:var(--text-xs)}.run-details-origin>strong{color:var(--foreground-strong);font-family:var(--font-display);font-weight:700}.trail-journal{margin-top:var(--space-2);padding-top:var(--space-3)}.trail-journal>summary,.trail-journal-turn>summary{color:var(--gold);font-family:var(--font-display);font-weight:700;cursor:pointer}.trail-journal-content{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-3)}.trail-journal-current h3{margin-top:0}.trail-journal-current p,.trail-journal-start,.trail-journal-turn p{margin:var(--space-2) 0 0;color:var(--muted);font-size:var(--text-sm)}.trail-journal-events{padding-left:var(--space-5);margin:var(--space-2) 0 0;color:var(--muted);font-size:var(--text-sm);line-height:1.5}.trail-journal-events li+li{margin-top:var(--space-2)}.trail-journal-turn{padding-top:var(--space-2)}.run-bar .button{flex:1;padding:10px 12px}.run-bar .foresight{flex:0 0 auto;align-self:stretch;width:46px;height:auto;border:1px solid var(--quiet-border);border-radius:7px;background:transparent;color:var(--quiet-foreground)}.run-bar .foresight .icon{width:22px;height:22px}.run-bar .foresight.on{border-color:color-mix(in srgb,var(--preview) 60%,transparent);background:var(--foresight-on-surface);color:var(--preview)}.run-sheet-action>.button.detail-preview-toggle.on{border-color:color-mix(in srgb,var(--preview) 60%,transparent);background:color-mix(in srgb,var(--preview) 14%,transparent);color:var(--preview)}.run-sheet-action>.button.detail-preview-toggle.on:hover{background:color-mix(in srgb,var(--preview) 22%,transparent)}.run-bar .foresight:hover{border-color:var(--gold)}.piles{flex:0 0 auto;display:flex;flex-direction:column;justify-content:center;gap:4px;padding:5px 10px;border:1px solid var(--quiet-border);border-radius:7px;background:transparent;color:var(--quiet-foreground);font:inherit;font-size:14px;cursor:pointer}.piles .stat-value{min-width:12px}.piles:hover{border-color:var(--gold)}.pile-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(74px,1fr));gap:6px;padding:var(--space-1);margin-top:var(--space-2)}.pile-sheet .run-sheet-body{overflow:hidden}.pile-sheet-content{display:flex;flex:1 1 auto;flex-direction:column;gap:var(--space-3);min-height:0}.pile-sheet-list{display:flex;flex:1 1 auto;flex-direction:column;gap:var(--space-3);min-height:0;overflow-y:auto;overscroll-behavior:contain}.pile-sheet-list>div{flex:0 0 auto}.pile-card{position:relative;display:block;width:100%;min-width:0;aspect-ratio:4 / 3;padding:0;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--foreground-strong);text-align:left;cursor:pointer;box-shadow:var(--shadow-raised)}.pile-card img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.pile-card-name{position:absolute;right:0;bottom:0;left:0;overflow:hidden;padding:calc(var(--space-1) / 2) var(--space-1);color:var(--foreground-strong);font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;line-height:1.15;white-space:nowrap;text-overflow:ellipsis;-webkit-text-stroke:.14em var(--ink);paint-order:stroke fill;text-shadow:0 1px 2px var(--ink)}.pile-card-count{position:absolute;top:calc(var(--space-1) / 2);right:calc(var(--space-1) / 2);display:grid;min-width:22px;height:22px;padding:0 calc(var(--space-1) / 2);place-items:center;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--ink);color:var(--foreground-strong);font-size:var(--text-xs);font-weight:700;line-height:1}.pile-card:hover:not(:disabled){border-color:var(--gold)}.pile-card.selected{border-color:var(--foreground-strong);outline:2px solid var(--foreground-strong);outline-offset:-1px}.pile-card.preview,.pile-card.preview:hover:not(:disabled){border-color:var(--preview)}.pile-card.preview .pile-card-count{border-color:var(--preview);color:var(--preview)}.pile-count-preview{color:var(--preview)}.run-sheet-body .empty{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:8px;text-align:center}.run-sheet-body .empty .icon{width:18px;height:18px;color:var(--muted)}.pile-preview{position:relative;z-index:2;flex:0 0 auto;display:grid;grid-template-columns:clamp(4.5rem,22%,6.5rem) minmax(0,1fr);align-items:start;column-gap:var(--space-3);overflow:hidden;padding:0;border:1px solid var(--gold);border-radius:var(--radius-md);background:var(--surface-raised);box-shadow:var(--shadow-raised)}.pile-preview-art{aspect-ratio:4 / 3;overflow:hidden;background:var(--surface)}.pile-preview-art img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;border-bottom-right-radius:var(--radius-md)}.pile-preview-content{grid-column:2;grid-row:1;display:flex;flex-direction:column;gap:var(--space-2);min-width:0;padding:var(--space-3) var(--space-3) 0 0}.pile-preview-badges{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1)}.pile-preview-badges>.badge .stat.bare>.icon[data-icon=sleep]{width:1em;height:1em}.pile-preview-badges>.badge:has(.stat.bare){display:inline-flex;align-items:center;align-self:stretch}.pile-preview-copy{grid-column:1 / -1;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3)}.pile-preview-copy .text{margin:0}.detail-bond{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-raised)}.detail-bond-copy{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.detail-bond-copy .text{margin:0}.detail-modifiers{display:flex;flex-direction:column;gap:var(--space-2)}.detail-modifiers h3{margin:0}.detail-modifier{display:flex;align-items:flex-start;gap:var(--space-2)}.detail-modifier .text{flex:1;min-width:0;margin:0}.encounter-actions,.encounter-extraction,.encounter-omen{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--panel-background)}.encounter-actions h3,.encounter-extraction h3,.encounter-omen h3,.encounter-elements h3,.slot-element-detail h3{margin:0}.encounter-omen-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-2)}.encounter-omen>.text{margin:0}.encounter-action-list,.encounter-gatherers{display:flex;flex-direction:column;gap:var(--space-2)}.encounter-action-list>.badge{align-self:flex-start}.encounter-action-detail{display:grid;grid-template-columns:1.25rem minmax(0,1fr);align-items:start;gap:var(--space-2);min-width:0;padding:var(--space-2);border:1px solid var(--border);border-inline-start:3px solid var(--gold);border-radius:var(--radius-sm);background:var(--surface-raised)}.encounter-action-detail>.icon{width:1.25rem;height:1.25rem;margin-top:1px;color:var(--gold)}.encounter-action-detail-copy{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.encounter-action-detail-copy strong{color:var(--foreground-strong);font-weight:600;overflow-wrap:anywhere}.encounter-action-detail-copy .text{min-width:0;margin:0;overflow-wrap:anywhere}.encounter-action-telegraph{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2)}.encounter-action-telegraph .text{margin:0}.encounter-extraction-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-2)}.encounter-extraction-heading h3{display:flex;align-items:center;gap:var(--space-2)}.encounter-gatherer{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-2)}.encounter-gatherer-name{min-width:0;color:var(--foreground-strong);font-weight:600}.peek-card-name{font-family:var(--font-display);font-weight:700;font-size:19px}.run-bar .mana-short-warning{gap:var(--space-2)}.run-bar .mana-short-warning .icon{width:1.2em;height:1.2em;flex:0 0 auto}.mana-short-list{display:flex;flex-direction:column;gap:var(--space-1);margin:0;padding:0;list-style:none}.mana-short-list li{display:flex;align-items:center;gap:var(--space-2)}.mana-short-list .icon{width:1em;height:1em;color:var(--danger)}.run-bar .run-more{flex:0 0 52px;font-size:20px;line-height:1}.sheet-leave{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:7px 12px;font-size:13px;white-space:nowrap}.sheet-leave .icon{width:18px;height:18px}.sheet-leave.chosen{background:var(--discard-chosen-surface);border-color:var(--danger);color:var(--discard-armed-foreground)}.choice-options{display:flex;flex-direction:column;gap:10px}.choice-step{display:flex;flex-direction:column;gap:12px;animation:choice-step-in .2s ease-out}@keyframes choice-step-in{0%{opacity:0;transform:translate(18px)}}.choice-step-head{display:flex;align-items:center;gap:12px}.choice-step-kicker{display:block;font-size:12px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;color:var(--gold)}.run-sheet-body .choice-step-title{margin:2px 0 0;font-family:var(--font-display);font-weight:700;font-size:19px;letter-spacing:0;text-transform:none;color:var(--foreground-strong)}.hero-choices,.materials-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.hero-choices .choice{padding:8px;gap:6px}.hero-choices .portrait.large{height:84px}.hero-choices .choice strong{font-family:var(--font-display-small);font-size:var(--text-display-sm);line-height:1.25;overflow-wrap:anywhere}.materials-card{display:flex;flex-direction:column;gap:6px;min-width:0}.materials-card .game-card{flex:1;min-width:0}.materials-card .text{margin:0}.hero-choice-gain{font-size:12px;color:var(--muted)}.decision{display:flex;align-items:center;gap:10px}.decision>span{flex:1}.decision .icon{color:var(--gold)}.decision-undo.button{min-height:34px;padding:5px 12px;font-family:var(--font-display-small);font-size:14px}.collection{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:22px}.collection .text{font-size:12px;overflow-wrap:anywhere}.run-sheet-foot.carrying{visibility:hidden}@media(min-width:620px)and (min-height:990px){.encounter-settled{top:60px}.encounter.enemy .encounter-face,.encounter.obstacle .encounter-face{min-height:50%}.run-place h1{font-size:20px}.board{gap:12px}.adventure-board{row-gap:8px}.lane{gap:8px}.encounter{height:200px}.encounter small,.hero-on-board small{font-size:12px}.hero-on-board{gap:5px}.lane-card,.slot.empty,.slot.locked{font-size:13px}.slot{min-height:32px}.encounter-peek{font-size:12px}}.lane-slots.theirs{--slot-shut: var(--rival-locked-foreground)}.lane-slots.theirs .lane-card{border-color:#9a5a44;background:#3a2420;cursor:pointer}.lane-slots.theirs .slot.empty{border-color:var(--rival-line);background:var(--rival-slot-surface);color:var(--rival-slot-foreground)}.lane-slots.theirs .slot.locked{border-color:var(--rival-locked-line);background:var(--rival-locked-background);color:var(--slot-shut)}.run-bar .foresight.sides.on{border-color:var(--rival-toggle-border);background:var(--rival-toggle-surface);color:var(--rival-toggle-foreground)}.slot-veil{position:absolute;inset:0;z-index:3;border-radius:4px;pointer-events:none;background:var(--veil-rime, linear-gradient(transparent, transparent)),var(--veil-miasma, linear-gradient(transparent, transparent)),var(--veil-thrall, linear-gradient(transparent, transparent)),var(--veil-levin, linear-gradient(transparent, transparent));box-shadow:var(--glow-pyre, 0 0 0 0 transparent);overflow:hidden}.slot:not(:last-child)>.slot-veil,.slot:not(:last-child)>.lane-card>.slot-veil{bottom:0}.slot.element-pyre,.lane-card.element-pyre{--glow-pyre: inset 0 -6px 10px 0 var(--element-pyre-glow)}.slot.empty.element-pyre{--glow-pyre: inset 0 -10px 16px 2px var(--element-pyre-glow), 0 0 10px 2px var(--element-pyre-glow)}.slot.element-thrall,.lane-card.element-thrall{--veil-thrall: linear-gradient( to left, var(--element-thrall-tint), transparent 60% )}.slot.element-miasma,.lane-card.element-miasma{--veil-miasma: linear-gradient( to top, var(--element-miasma-tint), transparent 60% )}.slot.element-rime,.lane-card.element-rime{--veil-rime: linear-gradient( to right, var(--element-rime-tint), transparent 60% )}.slot.element-levin,.lane-card.element-levin{--veil-levin: linear-gradient( to bottom, var(--element-levin-tint), transparent 60% )}.veil-motion{position:absolute;inset:0;border-radius:inherit}.mote{position:absolute;width:var(--size);height:var(--size);opacity:0}.veil-motion.miasma .mote{left:var(--at);bottom:0;border:1px solid color-mix(in srgb,var(--element-miasma) 60%,transparent);border-radius:50%;background:color-mix(in srgb,var(--element-miasma) 12%,transparent)}.veil-motion.pyre .mote{left:var(--at);bottom:0;border-radius:50%;background:var(--element-pyre);box-shadow:0 0 .3em var(--element-pyre)}.veil-motion.pyre.calm .mote:nth-child(odd){display:none}.veil-motion.rime .mote{top:var(--at);left:0;background:var(--element-rime);clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%)}.veil-motion.thrall .mote{top:var(--at);right:0;background:var(--element-thrall);clip-path:polygon(50% 0,58% 42%,100% 50%,58% 58%,50% 100%,42% 58%,0 50%,42% 42%)}.veil-motion.levin .mote{left:var(--at);top:0;width:1px;height:calc(var(--size) * 3);background:linear-gradient(to bottom,transparent,var(--element-levin))}@media(prefers-reduced-motion:no-preference){.veil-motion.miasma .mote{animation:mote-rise var(--dur) ease-in var(--delay) infinite,mote-sway calc(var(--dur) / 3) ease-in-out var(--delay) infinite alternate}.veil-motion.pyre .mote{animation:mote-rise var(--dur) ease-out var(--delay) infinite,mote-sway calc(var(--dur) / 2) ease-in-out var(--delay) infinite alternate}.veil-motion.pyre.calm .mote{animation-duration:calc(var(--dur) * 2),var(--dur)}.veil-motion.rime .mote{animation:mote-right var(--dur) linear var(--delay) infinite,mote-bob calc(var(--dur) / 2) ease-in-out var(--delay) infinite alternate}.veil-motion.thrall .mote{animation:mote-left var(--dur) linear var(--delay) infinite,mote-twinkle calc(var(--dur) / 4) ease-in-out var(--delay) infinite alternate}.veil-motion.levin .mote{animation:mote-fall var(--dur) ease-in var(--delay) infinite}.slot.element-pyre>.slot-veil,.lane-card.element-pyre>.slot-veil{animation:veil-breathe .9s ease-in-out infinite alternate}.lane-card.element-pyre>.slot-veil{animation-duration:2.8s}}@keyframes veil-breathe{0%{filter:brightness(.85)}to{filter:brightness(1.2)}}@keyframes mote-rise{0%{bottom:-.5em;opacity:0}15%{opacity:var(--peak)}to{bottom:60%;opacity:0}}@keyframes mote-sway{0%{translate:calc(var(--sway) * -1) 0}to{translate:var(--sway) 0}}@keyframes mote-right{0%{left:-.5em;opacity:0;rotate:0deg}20%{opacity:var(--peak)}to{left:60%;opacity:0;rotate:120deg}}@keyframes mote-bob{0%{translate:0 calc(var(--sway) * -1)}to{translate:0 var(--sway)}}@keyframes mote-left{0%{right:-.5em;opacity:0}20%{opacity:var(--peak)}to{right:60%;opacity:0}}@keyframes mote-twinkle{0%{scale:.6}to{scale:1.15}}@keyframes mote-fall{0%{top:-1em;opacity:0}8%{opacity:var(--peak)}30%{top:60%;opacity:0}to{top:60%;opacity:0}}.slot-elements{position:absolute;top:3px;left:3px;z-index:4;display:flex;flex-direction:column;align-items:flex-start;gap:1px;margin:0;padding:0;border:0;background:none;font:inherit;pointer-events:none}.slot.empty>button.slot-elements{inset:0;justify-content:flex-start;padding:3px;border-radius:.4em;pointer-events:auto;cursor:pointer}.slot.empty>button.slot-elements:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}.element-chip{display:inline-flex;align-items:center;gap:1px;padding:0 3px;border:1px solid transparent;border-radius:.4em;min-width:30px;background:color-mix(in srgb,var(--surface-page) 82%,transparent);font-size:var(--text-xs);font-weight:700;line-height:1.25;color:var(--foreground-strong)}.element-chip .icon{width:1em;height:1em}.element-chip.pyre{--chip-kind: var(--element-pyre)}.element-chip.pyre .icon{color:var(--element-pyre)}.element-chip.miasma{--chip-kind: var(--element-miasma)}.element-chip.miasma .icon{color:var(--element-miasma)}.element-chip.rime{--chip-kind: var(--element-rime)}.element-chip.rime .icon{color:var(--element-rime)}.element-chip.thrall{--chip-kind: var(--element-thrall)}.element-chip.thrall .icon{color:var(--element-thrall)}.element-chip.levin{--chip-kind: var(--element-levin)}.element-chip.levin .icon{color:var(--element-levin)}.element-chip.active,.element-chip.triggered{border-color:var(--chip-kind);box-shadow:0 0 .6em var(--chip-kind)}.element-chip.using{border-color:var(--ink);background:var(--chip-kind);color:var(--ink);box-shadow:0 0 .6em var(--chip-kind)}.element-chip.using .icon{color:var(--ink)}@media(prefers-reduced-motion:no-preference){.element-chip.active,.element-chip.triggered,.element-chip.using{animation:element-glow 1.2s ease-in-out infinite alternate}}@keyframes element-glow{0%{box-shadow:0 0 .2em var(--chip-kind)}to{box-shadow:0 0 .8em var(--chip-kind)}}.card-aura{position:absolute;inset:0;z-index:3;overflow:hidden;border-radius:var(--radius-md);pointer-events:none}.element-chip.changes>span,.element-chip.arrives>span{color:var(--preview)}.element-chip.arrives{outline:1px dashed var(--preview-quiet)}.element-chip.ends>span{color:var(--preview);text-decoration:line-through}.element-chip.using>span{color:var(--ink)}.element-chip.damage-dealt>span{color:var(--foreground-strong);text-decoration:none}.element-chip.damage-modified>span{color:var(--preview);text-decoration:line-through}.slot.empty.refused,.lane-card.refused{border-style:dashed;border-color:var(--danger)}.cast-mark[data-cast=pyre] .icon{color:var(--element-pyre)}.cast-mark[data-cast=miasma] .icon{color:var(--element-miasma)}.cast-mark[data-cast=rime] .icon{color:var(--element-rime)}.cast-mark[data-cast=thrall] .icon{color:var(--element-thrall)}.cast-mark[data-cast=levin] .icon{color:var(--element-levin)}.encounter-elements,.slot-element-detail{display:grid;gap:var(--space-2)}.slot-element-detail{--kind: var(--gold);padding:var(--space-3);border:1px solid var(--border);border-left:3px solid var(--kind);border-radius:var(--radius-md);background:var(--panel-background)}.slot-element-detail[data-element=pyre]{--kind: var(--element-pyre)}.slot-element-detail[data-element=miasma]{--kind: var(--element-miasma)}.slot-element-detail[data-element=rime]{--kind: var(--element-rime)}.slot-element-detail[data-element=thrall]{--kind: var(--element-thrall)}.slot-element-detail[data-element=levin]{--kind: var(--element-levin)}.slot-element-detail h3{display:flex;align-items:center;gap:var(--space-2);color:var(--kind)}.slot-element-detail h3 .element-chip{font-size:var(--text-sm)}.slot-element-name{flex:1;min-width:0}.slot-element-detail .text{margin:0}.chat-log{max-height:360px;overflow-y:auto;display:flex;flex-direction:column;gap:16px}.chat-message{border-bottom:1px solid var(--divider);padding-bottom:10px;overflow-wrap:anywhere}.chat-message strong{font-size:12px;color:var(--gold)}.chat-message small{font-size:12px;color:var(--meta-foreground)}.chat-message .button{min-height:30px;padding:5px 9px;font-family:var(--font-display-small);font-size:14px;margin-top:7px}.panel .text{overflow-wrap:anywhere}.inbox-list{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none}.inbox-item{display:flex;flex-direction:column;gap:4px;width:100%;min-height:48px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:transparent;color:inherit;text-align:left;cursor:pointer}.inbox-item:hover{background:var(--quiet-hover)}.inbox-item.selected{border-color:var(--gold)}.inbox-title{display:flex;align-items:center;gap:8px;min-width:0}.inbox-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inbox-title small,.inbox-preview{color:var(--muted);font-size:12px}.inbox-preview{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unread-dot{display:inline-block;flex:none;width:9px;height:9px;border-radius:50%;background:var(--gold)}.chat-drawer-shell .drawer-body{display:flex;flex-direction:column;overflow:hidden}.chat-drawer{display:flex;flex:1;min-width:0;min-height:0}.chat-inbox-screen,.chat-thread{display:flex;flex:1;flex-direction:column;min-width:0;min-height:0}.chat-inbox-heading{display:flex;flex:none;align-items:center;justify-content:space-between;gap:12px;padding:0 0 12px;border-bottom:1px solid var(--border)}.chat-inbox-heading .eyebrow{margin:0}.chat-inbox-scroll{flex:1;min-height:0;padding:4px 2px 14px 0;overflow-y:auto;overscroll-behavior:contain}.chat-inbox-groups{display:flex;flex-direction:column;gap:18px;padding-bottom:4px}.chat-inbox-section,.chat-inbox-subsection{display:flex;flex-direction:column;gap:9px;min-width:0}.chat-inbox-subsection{margin-top:5px}.chat-section-heading{display:flex;flex:none;align-items:center;justify-content:space-between;gap:8px;min-height:34px;padding:0 0 7px;border-bottom:1px solid var(--border)}.chat-section-heading .eyebrow{margin:0}.chat-section-title{display:flex;min-width:0;align-items:center;gap:8px}.chat-section-title .badge{padding:3px 7px;font-size:10px;letter-spacing:.5px}.chat-section-empty{padding:8px 2px;color:var(--muted);font-size:13px}.chat-player-item>.icon,.chat-friend-choice>.icon,.chat-new-message-result>.icon{flex:none;width:20px;height:20px;color:var(--gold)}.chat-player-copy{display:flex;flex:1;flex-direction:column;gap:3px;min-width:0}.chat-player-copy small{color:var(--muted);font-size:11px}.chat-conversation-row{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;gap:4px;min-width:0}.chat-player-item{display:flex;flex:1;flex-direction:row;align-items:center;gap:10px;width:auto;min-width:0;min-height:62px;padding:9px 10px}.chat-player-item.chat-row-has-options{padding-right:52px}.chat-player-item>.icon{color:var(--icon-quiet)}.chat-conversation-row[data-unread=true]>.chat-player-item>.icon{color:var(--gold)}.chat-conversation-row[data-unread=true]>.chat-player-item{border:2px solid var(--gold)}.chat-player-title{display:flex;align-items:center;gap:8px;min-width:0}.chat-player-title strong{overflow:hidden;font-size:14px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.chat-player-title .badge{padding:2px 6px;font-size:9px;letter-spacing:.4px}.chat-row-options-trigger.icon-button{position:absolute;top:50%;right:7px;z-index:1;width:36px;height:36px;padding:7px;border:0;transform:translateY(-50%)}.chat-filter-trigger.icon-button{flex:none;width:40px;height:40px;padding:8px;align-self:center}.chat-row-options-trigger.icon-button .icon,.chat-filter-trigger.icon-button .icon{width:20px;height:20px}.chat-row-options-trigger.icon-button:hover,.chat-filter-trigger.icon-button:hover{background:var(--quiet-hover)}.chat-conversation-row>.notice{flex-basis:100%}.chat-menu-positioner{z-index:calc(var(--layer-nav) + 4)}.chat-menu-popup{display:flex;min-width:216px;max-width:min(290px,calc(100vw - 24px));flex-direction:column;gap:2px;padding:7px;border:1px solid var(--border);border-radius:10px;background:var(--surface-raised);box-shadow:0 12px 30px #0008}.chat-menu-heading{margin:3px 9px 5px;color:var(--muted);font-size:11px;letter-spacing:.04em;text-transform:uppercase}.chat-menu-item{position:relative;display:flex;gap:9px;min-height:40px;align-items:center;padding:8px 10px;border-radius:6px;color:var(--quiet-foreground);font-size:13px;cursor:pointer;outline:none}.chat-menu-item>.icon{flex:none;width:17px;height:17px;color:var(--muted)}.chat-menu-item[data-highlighted]>.icon{color:currentColor}.chat-filter-item{padding-right:32px}.chat-menu-item[data-highlighted]{background:var(--quiet-hover);color:var(--menu-highlight-foreground)}.chat-menu-check{position:absolute;right:11px;color:var(--gold)}.chat-menu-divider{height:1px;margin:4px 7px;background:var(--border)}.chat-new-message{display:flex;flex:1;flex-direction:column;min-width:0;min-height:0}.chat-new-message-scroll{flex:1;min-height:0;padding:12px 2px 12px 0;overflow-y:auto;overscroll-behavior:contain}.chat-new-message-section{display:flex;flex-direction:column;gap:10px;min-width:0;margin-bottom:20px}.chat-new-message-section>.eyebrow{margin:0}.chat-friend-choice{flex-direction:row;align-items:center;gap:10px}.chat-friend-choice>span:last-child{margin-left:auto;color:var(--muted);font-size:12px}.chat-player-search{display:flex;align-items:flex-end;gap:8px}.chat-player-search .field{flex:1;min-width:0}.chat-player-search .button{flex:none}.chat-new-message-result{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--border);border-radius:8px}.chat-new-message-result>span{display:flex;flex:1;flex-direction:column;min-width:0}.chat-new-message-result small{color:var(--muted)}.chat-inbox-footer{display:flex;flex:none;gap:8px;padding:10px 0 max(4px,env(safe-area-inset-bottom));border-top:1px solid var(--border)}.chat-inbox-footer>.button{flex:1;min-width:0}.chat-thread{overflow:hidden}.chat-thread-header{display:flex;flex:none;align-items:flex-start;gap:12px;padding:0 0 12px;border-bottom:1px solid var(--border)}.chat-thread-header-direct,.chat-thread-header-room{align-items:center;gap:8px}.chat-thread-header-direct .chat-thread-heading,.chat-thread-header-room .chat-thread-heading{flex:1;padding-top:0}.chat-thread-header-direct .chat-thread-heading h2,.chat-thread-header-room .chat-thread-heading h2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;overflow-wrap:normal}.chat-thread-options-trigger.icon-button{border:0;background:transparent}.chat-thread-heading{min-width:0;padding-top:2px}.chat-thread-heading .eyebrow{margin:0 0 3px;font-size:11px}.chat-thread-heading h2{overflow-wrap:anywhere;margin:0;font-size:18px;line-height:1.25}.chat-room{display:flex;flex:1;flex-direction:column;min-width:0;min-height:0}.chat-room .chat-log{flex:1;min-height:0;max-height:none;gap:0;padding:8px 4px 8px 0;overflow-y:auto;overscroll-behavior:contain}.chat-room .chat-log>.button{align-self:flex-start;flex:none;margin-bottom:8px}.chat-room .chat-message{flex:none;padding:10px 0}.chat-room .chat-message.chat-message-with-options{position:relative;padding-right:40px}.chat-message-options{position:absolute;top:10px;right:0}.chat-message-meta{gap:6px 9px;min-width:0}.chat-message-meta strong{overflow-wrap:anywhere}.chat-message-meta small{font-size:11px}.chat-message-bodies{display:flex;flex-direction:column;gap:4px;margin-top:4px}.chat-message-bodies .text{line-height:1.5}.chat-message-line{display:block;min-width:0}.chat-message-body{flex:1;min-width:0;overflow-wrap:anywhere}.chat-message-selectable.button{flex:1;min-width:0;display:block;width:100%;min-height:0;padding:3px 6px;border-color:transparent;border-radius:6px;background:transparent;color:inherit;font:inherit;text-align:left;line-height:1.5}.chat-message-selectable-copy{display:block;overflow-wrap:anywhere}.chat-message-selectable.button:hover,.chat-message-selectable.button[aria-pressed=true]{border-color:var(--gold);background:var(--gold-wash)}.chat-message-selectable.button:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--gold)}.chat-message-options-icon.icon-button{width:32px;height:32px;border:0;background:transparent}.chat-message-options-icon.icon-button:hover{background:var(--quiet-hover)}.chat-message-options-icon.icon-button:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--gold)}.chat-report-prompt{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px}.chat-report-prompt .button{flex:none}.chat-thread-footer{display:flex;flex:1;flex-direction:column;gap:8px;min-width:0}.chat-thread-footer .chat-composer{padding-top:0;border-top:0}.chat-composer{flex:none;padding-top:12px;border-top:1px solid var(--border)}.chat-composer .row{flex-wrap:nowrap;align-items:flex-end}.chat-composer .field{min-width:0}.chat-composer .notice{margin-bottom:0}.friends-page{min-width:0}.friends-list,.recent-player-list,.haven-player-list{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.social-player-list-button.button.quiet{display:flex;width:100%;min-width:0;flex-direction:row;align-items:center;gap:0;padding:13px 15px;border-color:var(--border);border-radius:10px;background:var(--panel-background);text-align:left}.social-player-list-button.button.quiet:hover{border-color:var(--quiet-border);background:var(--quiet-hover)}.social-player-list-topline{display:flex;width:100%;min-width:0;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:12px}.social-player-list-name{flex:1 1 auto;min-width:0;overflow:hidden}.social-player-list-name strong{display:block;overflow:hidden;color:var(--name-foreground);font-size:var(--text-display-md);font-family:var(--font-display-small);font-weight:700;text-overflow:ellipsis;white-space:nowrap}.social-player-list-name small{display:block;overflow:hidden;color:var(--muted);font-size:var(--text-xs);font-family:var(--font-body);text-transform:uppercase;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.social-player-list-details{display:flex;flex:0 1 58%;min-width:0;flex-direction:column;align-items:flex-end;gap:4px}.social-player-list-location{display:block;max-width:100%;overflow:hidden;color:var(--muted);font-size:13px;line-height:1.45;text-align:right;text-overflow:ellipsis;white-space:nowrap}.recent-player-card{display:flex;min-width:0;flex-direction:column;align-items:stretch;border:1px solid var(--border);border-radius:10px;background:var(--panel-background)}.recent-player-card:hover,.recent-player-card:focus-within{border-color:var(--quiet-border);background:var(--quiet-hover)}.recent-player-button.button.quiet{display:flex;width:100%;min-width:0;flex-direction:column;align-items:stretch;gap:8px;padding:13px 15px 0;border-color:transparent;border-radius:9px;background:transparent;text-align:left}.recent-player-button.button.quiet:hover{border-color:transparent;background:transparent}.recent-player-heading{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:12px}.social-player-identity{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:5px}.social-player-name-line{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);min-width:0}.social-player-identity strong{color:var(--name-foreground);font-family:var(--font-display-small);font-size:var(--text-display-md);font-weight:700}.social-player-id-group{display:grid;justify-items:start;gap:2px;min-width:0}.recent-player-copy.social-player-id-group{margin:0 15px 10px}.social-player-id-copy.button.quiet{display:inline-flex;width:auto;min-height:28px;align-items:center;justify-content:flex-start;gap:7px;padding:3px 7px;border:1px solid var(--border);border-radius:6px;color:var(--label-foreground);font-family:var(--font-display-small);font-size:14px;letter-spacing:.04em;white-space:nowrap}.social-player-id-copy.button.quiet:hover:not(:disabled){border-color:var(--quiet-border);background:var(--quiet-hover)}.social-player-id-tag{padding:1px 4px;border-radius:4px;background:var(--gold-wash);color:var(--gold);font-size:10px;font-weight:700;font-family:var(--font-body);text-transform:uppercase}.social-player-id-copy-icon{color:var(--muted);font-size:var(--text-chip);line-height:1}.social-player-id-feedback{min-height:1em;color:var(--muted);font-size:10px;line-height:1.2}.social-player-list-badges,.friends-list-badges{display:flex;flex:0 1 auto;align-items:center;flex-wrap:wrap;justify-content:flex-end;max-width:100%;gap:6px}.social-player-list-badges .badge,.friends-list-badges .badge,.friend-presence-tag.badge{padding:4px 7px;font-size:10px;letter-spacing:.7px}.friend-location-tag,.recent-player-presence{color:var(--muted);font-family:var(--font-body);font-size:13px;line-height:1.45}.friends-list-location,.map-friend-location{max-width:100%;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.friends-requests,.friends-managed-safety,.nearby-player-section{display:flex;flex-direction:column;gap:10px;min-width:0;padding-top:15px;border-top:1px solid var(--border)}.friends-requests>.eyebrow,.friends-managed-safety>.eyebrow,.nearby-player-heading .eyebrow{margin:0}.friend-request-row,.managed-player-row{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:10px;padding:8px 0}.friend-request-row>.text,.managed-player-row>.text{min-width:0;margin:0;overflow-wrap:anywhere}.friend-request-actions{display:flex;flex:none;gap:7px}.friend-request-actions .button,.managed-player-row .button{min-height:36px;padding:7px 11px;font-family:var(--font-display-small);font-size:14px}.friend-player-search{display:flex;align-items:flex-end;gap:9px}.friend-player-search .field{flex:1;min-width:0}.friend-player-search>.button{flex:none}.player-search-result{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:12px;border:1px solid var(--border);border-radius:9px;background:var(--surface-drawer)}.player-search-identity{display:flex;flex:1 1 100%;align-items:center;justify-content:space-between;gap:10px;min-width:0;padding-bottom:2px}.player-search-result>.button{min-height:38px;padding:7px 12px;font-family:var(--font-display-small);font-size:14px}.nearby-player-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.nearby-player-heading>div{min-width:0}.nearby-player-heading .text.muted{margin:6px 0 0;font-size:13px}.nearby-player-status{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.nearby-player-status>.text{flex:1;min-width:160px;margin:0;font-size:12px}.social-player-dialog.dialog{width:min(520px,92vw);max-height:min(82dvh,720px);overflow-y:auto}.social-player-sheet.run-sheet{width:min(520px,100vw);max-height:min(86dvh,720px)}.social-player-dialog>.stack{gap:16px}.social-player-dialog>.stack>.text{margin:-8px 0 0;color:var(--muted);font-size:13px}.social-player-status{display:flex;align-items:center}.social-player-status .friend-presence-tag.badge{padding:4px 7px;font-size:10px;letter-spacing:.7px}.friend-location-action.button.quiet{display:flex;width:100%;min-width:0;min-height:48px;align-items:center;justify-content:flex-start;gap:10px;padding:10px 12px;border-color:var(--border);background:var(--panel-background);text-align:left}.friend-location-action.button.quiet:hover{border-color:var(--quiet-border);background:var(--quiet-hover)}.friend-location-action>.icon:first-child{flex:none;color:var(--gold)}.friend-location-action>span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.friend-location-action>.icon:last-child{flex:none;width:16px;height:16px;color:var(--muted)}.social-dialog-actions{display:flex;flex-wrap:nowrap;gap:8px}.social-dialog-actions>.button{flex:1 1 0;min-width:0;text-align:center}.social-safety-actions{display:flex;flex-direction:column;gap:7px}.social-safety-actions>.button{width:100%;min-height:44px;justify-content:flex-start;padding:9px 12px;font-family:var(--font-display-small);font-size:14px;text-align:left}.social-player-dialog .accordion-group{width:100%}.add-friend-page>.stack{gap:18px}@media(max-width:560px){.recent-player-heading,.friend-request-row,.managed-player-row{align-items:flex-start;flex-direction:column}.friend-request-actions{width:100%}.friend-request-actions>.button{flex:1}.friend-player-search{align-items:stretch;flex-direction:column}.friend-player-search>.button{width:100%}.nearby-player-status>.text{flex-basis:100%}}.report-evidence .chat-message.reported{border-left:3px solid var(--danger);padding-left:10px}.announcement-body{overflow-wrap:anywhere;white-space:pre-wrap}.announcement-body a{color:var(--link-foreground, var(--gold));text-decoration:underline;text-underline-offset:.15em}.announcement-detail{display:flex;min-width:0;flex:1;flex-direction:column;gap:14px}.announcement-detail-scroll{min-height:0;flex:1;overflow-y:auto;padding:16px}.announcement-detail-date{color:var(--muted);font-size:var(--text-sm)}.announcement-row[data-unread=true] .announcement-row-title{color:var(--gold)}.announcement-row-copy{display:grid;min-width:0;gap:4px}.announcement-row-title{display:flex;align-items:center;gap:8px}.announcement-row-preview{overflow:hidden;color:var(--muted);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap}.badge-case{position:relative;z-index:1;flex:none;width:min(100%,920px);box-sizing:border-box;margin:0 auto;padding:var(--space-2) 20px 0}.badge-collection{display:grid;gap:var(--space-3);margin:0;padding:0;list-style:none}.badge-entry{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:var(--space-4);width:100%;padding:var(--space-3) var(--space-4) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--panel-background);color:inherit;font:inherit;text-align:start;cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;transition:border-color .15s,opacity .15s}.badge-entry:hover{border-color:var(--quiet-border)}.badge-entry:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.badge-entry[data-dragging]{opacity:.35}.badge-entry-copy{display:grid;gap:var(--space-1);min-width:0}.badge-entry-name{color:var(--foreground-strong);font-family:var(--font-display);font-size:var(--text-display-lg);line-height:1.1}.badge-entry-description{color:var(--foreground)}.badge-entry-meta{color:var(--muted);font-size:var(--text-sm)}.badge-drag-ghost{position:fixed;top:0;left:0;z-index:var(--layer-ghost);pointer-events:none;filter:drop-shadow(0 var(--space-2) var(--space-3) var(--surface-page));transform:translate(calc(var(--ghost-x, -100vw) - 50%),calc(var(--ghost-y, -100vh) - 70%)) rotate(-6deg)}.badge-details>.badge-details-new{order:-1;margin-top:var(--space-2)}.badge-details-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-self:stretch;gap:var(--space-3);margin:var(--space-4) 0 0;padding-top:var(--space-4);border-top:1px solid var(--border)}.badge-details-facts dt{color:var(--muted);font-family:var(--font-display-small);font-size:var(--text-display-xs);letter-spacing:.08em;text-transform:uppercase}.badge-details-facts dd{margin:var(--space-1) 0 0;color:var(--gold);font-family:var(--font-display-small);font-size:var(--text-display-md)}.badge-details>.badge-details-hint{margin-top:var(--space-4);color:var(--muted);font-size:var(--text-sm)}@media(max-width:640px){.badge-case{padding-inline:12px}}@media(max-width:520px){.badge-entry{align-items:start}}.activity-session{border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px}.activity-members{margin:0;padding-left:18px}.dungeon-pick{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}@media(min-width:620px){.dungeon-pick{grid-template-columns:repeat(2,minmax(0,1fr))}}@container app-page (max-width: 840px){.app-shell.drawer-open .app-page-frame .dungeon-pick,.app-shell.drawer-open .app-page-frame .admin-content,.app-shell.drawer-open .app-page-frame .admin-diff,.app-shell.drawer-open .app-page-frame .stall{grid-template-columns:minmax(0,1fr)}}.backpack-button{display:flex;align-items:center;gap:5px;padding:3px 8px;border:1px solid var(--run-border);border-radius:var(--radius-pill);background:transparent;color:var(--gold);font-size:17px;font-weight:600;cursor:pointer}.backpack-button .icon{width:1.05em;height:1.05em}.backpack-button-count{display:flex;align-items:baseline;gap:1px}.backpack-button.foresee{border-color:color-mix(in srgb,var(--preview) 50%,transparent);background:color-mix(in srgb,var(--preview) 14%,transparent);color:var(--preview)}.backpack-button-slots{font-size:13px;font-weight:500;opacity:.72}.backpack-button.foresee .backpack-button-slots{color:var(--foreground-strong);opacity:1}.backpack-button.overfull{border-color:var(--danger);color:var(--danger)}@media(hover:hover){.backpack-button:not(.foresee,.overfull):hover{border-color:var(--gold)}}.backpack-nav.foresee{border-color:color-mix(in srgb,var(--preview) 50%,transparent);color:var(--preview)}.backpack-nav.overfull{border-color:var(--danger);color:var(--danger)}.backpack-purse{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.slot-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.slot-cell{position:relative;aspect-ratio:1;border-radius:10px;border:1px dashed color-mix(in srgb,var(--border) 80%,transparent);background:color-mix(in srgb,var(--ink) 22%,transparent)}.slot-cell.filled{border-style:solid}.slot-cell.over{border-color:color-mix(in srgb,var(--danger) 55%,transparent)}.item-chip{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:0;border:0;border-radius:9px;background:transparent;overflow:hidden;cursor:pointer;color:inherit;touch-action:none;user-select:none;-webkit-user-select:none}.item-chip-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.item-chip-unknown{display:grid;place-items:center;background:color-mix(in srgb,var(--ink) 55%,transparent)}.item-chip-count{position:absolute;top:3px;right:5px;font-size:var(--text-chip);font-weight:700;color:#fff;-webkit-text-stroke:3px var(--ink);paint-order:stroke fill}.item-chip-name{position:relative;padding:10px 4px 3px;font-size:11px;line-height:1.15;text-align:center;color:#fff;background:linear-gradient(to top,color-mix(in srgb,var(--ink) 88%,transparent),transparent);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.item-chip.selected{outline:2px solid var(--gold);outline-offset:-2px}.item-chip.movable{cursor:grab}.item-chip.lifted{opacity:.3;filter:grayscale(.6)}.item-chip.incoming{opacity:.55}.slot-grid .slot-cell.origin{border-style:dashed;border-color:color-mix(in srgb,var(--gold) 55%,transparent)}.slot-grid .slot-cell.bounced{border-style:solid;border-color:color-mix(in srgb,var(--preview) 60%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--preview) 60%,transparent) inset}.slot-cell.fixed .item-chip{cursor:pointer}.slot-cell.fixed:before{content:"";position:absolute;inset:0;border-radius:10px;background:color-mix(in srgb,var(--ink) 30%,transparent);z-index:1;pointer-events:none}.item-ghost{position:fixed;z-index:var(--layer-ghost);pointer-events:none;border-radius:10px;border:1px solid var(--gold);box-shadow:0 0 10px var(--gold-glow);filter:drop-shadow(0 10px 18px #000a);transform:scale(1.06);cursor:grabbing}.item-ghost .item-chip{cursor:grabbing}.slot-grid.aimed .slot-cell{border-color:color-mix(in srgb,var(--preview) 55%,transparent)}.slot-cell.marked{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold) inset;animation:haul-landed 1.6s ease-out 2}@keyframes haul-landed{0%,to{box-shadow:0 0 0 1px var(--gold) inset}50%{box-shadow:0 0 0 3px var(--gold) inset}}.slot-grid .slot-cell.aimed{border-style:solid;border-color:var(--preview);box-shadow:0 0 0 2px var(--preview) inset}.slot-grid .slot-cell.aimed.swap:after,.slot-grid .slot-cell.aimed.merge:after{position:absolute;inset-inline:0;top:50%;transform:translateY(-50%);text-align:center;font-size:22px;color:var(--preview);-webkit-text-stroke:3px var(--ink);paint-order:stroke fill;pointer-events:none;z-index:2}.slot-grid .slot-cell.aimed.swap:after{content:"⇄"}.slot-grid .slot-cell.aimed.merge:after{content:"+"}.slot-grid .slot-cell.refused{border-style:solid;border-color:var(--danger);box-shadow:0 0 0 2px var(--danger) inset}.backpack-trash{position:absolute;inset-inline:12px;bottom:12px;z-index:2;display:flex;align-items:center;justify-content:center;gap:8px;padding:16px 12px;border:1px dashed color-mix(in srgb,var(--danger) 55%,transparent);border-radius:10px;background:color-mix(in srgb,var(--ink) 92%,transparent);color:color-mix(in srgb,var(--danger) 85%,var(--text));font-size:13px}.backpack-trash.aimed{border-style:solid;border-color:var(--danger);background:color-mix(in srgb,var(--danger) 26%,var(--ink));color:var(--danger)}.trade-counter{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:12px;padding:14px 12px;border:1px dashed color-mix(in srgb,var(--gold) 40%,transparent);border-radius:10px;color:var(--muted);font-size:13px}.trade-counter.carrying{border-color:color-mix(in srgb,var(--gold) 70%,transparent);color:var(--gold)}.trade-counter.aimed{border-style:solid;border-color:var(--gold);background:color-mix(in srgb,var(--gold) 18%,transparent);color:var(--gold)}.haul-backdrop{position:fixed;inset:0;z-index:var(--layer-haul);display:flex;align-items:center;justify-content:center;padding:12px}.haul-backdrop.pinned{z-index:var(--layer-lifted);pointer-events:none}.haul-backdrop.pinned .haul-notice{pointer-events:auto}.haul-notice{display:flex;flex-direction:column;gap:6px;max-width:min(92vw,420px);padding:14px 16px;border:1px solid var(--gold);border-radius:12px;background:color-mix(in srgb,var(--ink) 94%,transparent);box-shadow:0 10px 30px #00000073;cursor:pointer;transition:opacity 2s ease-out}.haul-notice.fading{opacity:0}.haul-notice small{color:var(--muted);font-size:11px;text-align:center}.lesson-line{display:flex;flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;font-size:13px}.lesson-line li{display:flex;align-items:center;gap:6px}.lesson-level{color:var(--gold)}.haul-line{display:flex;flex-direction:column;gap:8px}.haul-verb{font-family:var(--font-display);font-weight:700;font-size:16px;color:var(--gold);text-align:center}.haul-stacks{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.haul-stack{display:flex;align-items:center;gap:6px;padding:4px 8px 4px 4px;border:1px solid var(--border);border-radius:var(--radius-pill);font-size:13px}.haul-art{width:34px;height:34px;border-radius:50%;object-fit:cover}.haul-count{color:var(--gold);font-weight:700}.stash-step{display:flex;flex-direction:column;gap:18px;padding:16px;border:1px solid var(--run-border);border-radius:12px;background:var(--run-background)}.stash-step h1{font-family:var(--font-display);font-size:23px;font-weight:700;margin:0 0 6px}.stash-step h2{font-family:var(--font-display);font-size:16px;font-weight:700;margin:0}.stash-step section{display:flex;flex-direction:column;gap:8px}.stash-step-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.stash-step section:first-of-type .slot-cell{border-color:color-mix(in srgb,var(--gold) 45%,transparent)}.stash-step .stash-slots{max-height:264px;overflow-y:auto;padding-right:2px}.stash-step-foot{position:sticky;bottom:0;display:flex;justify-content:flex-end;margin:0 -16px -16px;padding:10px 16px 16px;background:linear-gradient(to top,var(--run-background) 70%,transparent)}.item-detail{display:flex;flex-direction:column;gap:7px;padding:10px;border:1px solid var(--border);border-radius:10px}.item-detail h3{margin:0}.packing-left .slot-cell{border-color:color-mix(in srgb,var(--danger) 55%,transparent)}@media(max-width:700px){.portrait.medium{width:70px;height:80px}.portrait.large{height:120px}}.coop-gathering-content .screen-body-content>.panel:has(.coop-overview){width:min(100%,760px);align-self:center;border-color:color-mix(in srgb,var(--gold) 42%,var(--border))}.coop-overview{display:grid;gap:18px}.coop-overview-heading{display:grid;justify-items:center;gap:10px;text-align:center}.coop-overview-heading .stack{align-items:center}.coop-overview-icon{display:grid;place-items:center;width:48px;height:48px;border:1px solid color-mix(in srgb,var(--gold) 55%,transparent);border-radius:50%;background:color-mix(in srgb,var(--gold) 13%,transparent);color:var(--gold)}.coop-overview-icon .icon{width:26px;height:26px}.coop-overview-heading .text.eyebrow{margin-bottom:0}.coop-party-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.coop-party-column{display:grid;gap:4px;min-width:0;padding:12px;border:1px solid var(--gold-line);border-radius:10px;background:color-mix(in srgb,var(--gold) 7%,transparent)}.coop-party-column>.text.eyebrow{margin:0 0 4px;text-align:center}.coop-party-metric{display:grid;justify-items:center;gap:2px;padding:7px 0;border-top:1px solid var(--gold-line);text-align:center}.coop-party-metric strong{color:var(--gold);font-family:var(--font-display);font-weight:700;font-size:21px;line-height:1.1}.coop-party-metric span{color:var(--muted);font-size:12px;line-height:1.3}.coop-overview>.text.muted{text-align:center}.coop-friend-list{display:grid;gap:8px}.coop-friend-choice{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--surface) 75%,transparent);color:inherit;text-align:left;cursor:pointer;transition:border-color .12s ease,background-color .12s ease}.coop-friend-choice.selected{border-color:var(--gold);background:color-mix(in srgb,var(--panel-background) 88%,var(--gold))}.coop-friend-choice:disabled{opacity:.48;cursor:not-allowed}.coop-friend-choice-mark{display:grid;place-items:center;flex:0 0 22px;width:22px;height:22px;border:1.5px solid var(--muted);border-radius:50%;color:var(--button-foreground)}.coop-friend-choice.selected .coop-friend-choice-mark{border-color:var(--gold);background:var(--gold)}.coop-friend-choice-mark .icon{width:15px;height:15px}.coop-friend-summary{display:grid;gap:3px;min-width:0}.coop-friend-summary small{color:var(--text-muted);font-size:.82rem}.coop-member-row,.coop-member-lane-summary{flex-wrap:wrap}.coop-member-lane-summary{display:inline-flex;align-items:center;gap:5px}.coop-member-embark>header{display:grid;gap:7px}.coop-embark-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px}.coop-member-embark{display:grid;gap:16px;margin-top:12px;padding-top:16px;border-top:1px solid var(--border)}.trade-page-scroll .screen-body-content>.panel{box-sizing:border-box;width:100%}.trade-page-scroll .screen-body-content>.exchange{display:flex;flex-direction:column;gap:14px}.trade-posts-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.trade-posts-actions>.text{margin:0}.trade-stash-grid{display:grid;gap:8px;max-height:min(48dvh,440px);overflow-y:auto;overscroll-behavior:contain}.trade-stash-item{display:grid;grid-template-columns:48px minmax(0,1fr) minmax(112px,150px);align-items:center;gap:10px;min-width:0;padding:8px;border:1px solid var(--well-border);border-radius:9px;background:var(--surface-drawer)}.trade-stash-item[data-selected=true]{border-color:var(--selected-border);background:var(--selected-surface)}.trade-stash-item-details{display:grid;gap:3px;min-width:0}.trade-stash-item-details strong,.trade-stash-item-details small{overflow:hidden;text-overflow:ellipsis}.trade-stash-item-details small{color:var(--muted)}.trade-stash-item>.field{min-width:0;margin:0}.trade-post-list{display:grid;gap:10px}.trade-post-card{display:grid;gap:10px;min-width:0;padding:14px;border:1px solid var(--panel-edge);border-radius:10px;background:var(--panel-gradient)}.trade-post-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.trade-post-heading>div{display:grid;gap:3px;min-width:0}.trade-post-heading small{color:var(--muted)}.trade-post-looking{display:grid;gap:4px;padding-top:8px;border-top:1px solid var(--well-border)}.trade-post-looking>.text{margin:0}@media(max-width:420px){.trade-stash-item{grid-template-columns:40px minmax(0,1fr) minmax(92px,118px);gap:6px;padding:6px}}.exchange-request-details{display:grid;gap:12px;padding:12px;border:1px solid var(--panel-edge);border-radius:9px;background:color-mix(in srgb,var(--surface-drawer) 79%,transparent)}.exchange-request-details>div,.exchange-post-details{display:grid;gap:6px}.exchange-request-details .text.eyebrow{margin:0}.exchange-chat-log{display:grid;gap:10px;max-height:min(34vh,320px);min-height:88px;padding:10px;overflow-y:auto;border:1px solid var(--divider);border-radius:8px;background:color-mix(in srgb,var(--surface-page) 72%,transparent)}.exchange-chat-message{display:grid;justify-items:start;gap:4px;padding-bottom:9px;border-bottom:1px solid var(--divider)}.exchange-chat-message>header{display:flex;align-items:baseline;gap:8px}.exchange-chat-message time{color:var(--muted);font-size:12px}.exchange-chat-message>.text{margin:0;overflow-wrap:anywhere}.exchange-chat-message>.button.quiet{min-height:30px;padding:4px 8px;font-family:var(--font-display-small);font-size:14px}.exchange-chat-composer{display:grid;justify-items:start;gap:8px;margin-top:10px}.exchange-chat-composer .field{width:100%}.crafting-banner{display:flex;flex-direction:column;gap:8px;padding:16px 20px;border:1px solid var(--haven-border);border-radius:var(--radius-lg);background:var(--haven-background)}.crafting-trades{display:flex;flex-wrap:wrap;gap:8px}.recipe-card{display:flex;flex-direction:column;gap:10px;padding:14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.recipe-card.ready{border-color:var(--haven-border)}.recipe-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.recipe-heading h3{margin:0}.recipe-ingredients,.recipe-locks{display:flex;flex-wrap:wrap;gap:6px 14px;margin:0;padding:0;list-style:none}.recipe-ingredients li.short{color:var(--danger)}.recipe-locks li{color:var(--gold)}.recipe-odds{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:6px;margin:0}.recipe-odds>div{display:flex;justify-content:space-between;gap:8px;padding:6px 10px;border-radius:var(--radius);background:var(--surface-drawer)}.recipe-odds dt{color:var(--muted)}.recipe-odds dd{margin:0;font-variant-numeric:tabular-nums}.recipe-odds [data-quality=failed] dd{color:var(--danger)}.recipe-odds [data-quality=fine] dd,.recipe-odds [data-quality=masterwork] dd{color:var(--gold)}.recipe-actions{display:flex;flex-wrap:wrap;gap:8px}.merchant-heading{display:flex;align-items:flex-start;gap:12px}.merchant-heading .portrait{flex:0 0 auto;width:72px;height:auto}.stall{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}.stall-item .recipe-heading{justify-content:flex-start}.stall-item .recipe-heading h3{flex:1 1 auto}.buyback{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border:1px dashed color-mix(in srgb,var(--gold) 45%,transparent);border-radius:var(--radius)}.buyback-entry{display:flex;flex-direction:column;gap:6px;padding-top:8px;border-top:1px solid var(--border)}.stall-item-art{width:48px;height:48px;border-radius:8px;object-fit:cover}@media(max-width:480px){.stall{grid-template-columns:1fr}}.exchange-side,.exchange-picker{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius)}.exchange-side.locked{border-color:color-mix(in srgb,var(--gold) 70%,transparent)}.exchange-side-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.exchange-line{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding-top:8px;border-top:1px solid var(--border)}.exchange-line-body{display:flex;flex:1 1 160px;flex-direction:column;gap:4px;min-width:0}.exchange-pick,.exchange-gold{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px}.exchange-gold .field{flex:1 1 140px}.account-name-heading{display:flex;align-items:center;gap:10px;margin-bottom:14px}.account-name-heading h2{flex:1 1 auto;min-width:0;margin:0;overflow-wrap:anywhere}.account-actions{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}.account-actions .option-tile{min-height:72px;padding:11px 12px;margin-bottom:0}.account-reauth-method{display:grid;gap:8px}.duel-inspected-card{display:grid;grid-template-columns:84px minmax(0,1fr);align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--border)}.duel-inspected-card>div{display:grid;justify-items:start;gap:5px;min-width:0}.duel-inspected-card .text{margin:0}.duel-record{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5);padding:14px 18px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--panel-background);font-size:var(--text-lg)}.hand-set-aside{--hand-bleed: 0px;align-items:center;justify-content:center;gap:8px;padding:0 16px;border:1px dashed var(--rival-line);border-radius:8px;color:var(--rival-foreground);text-align:center}.hand-set-aside .icon{flex:0 0 auto;width:20px;height:20px}.adventure-results-intro{display:grid;gap:8px;padding:8px 4px 4px;text-shadow:var(--art-text-shadow)}.adventure-results-intro .text,.adventure-results-intro h1{margin:0}.adventure-results-intro .text.eyebrow{color:var(--gold);font-weight:700;letter-spacing:1.6px;text-transform:uppercase}.adventure-results-intro h1{font-size:calc(clamp(28px,5vw,42px) + 1px);line-height:1.05}.adventure-result-pack{display:grid;gap:10px;padding:12px;border:1px solid var(--panel-edge);border-radius:14px;background:var(--result-background)}.adventure-result-pack.is-lost{border-color:color-mix(in srgb,var(--danger) 58%,var(--panel-edge));background:var(--result-lost-background)}.adventure-result-pack>.row{align-items:center}.adventure-result-pack>.row>strong{flex:1;font-family:var(--font-display);font-weight:700;font-size:17px}.adventure-result-pack>.row>.icon{width:20px;height:20px;color:var(--gold)}.adventure-result-pack.is-lost>.row>.icon{color:var(--danger)}.adventure-result-pack .slot-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.adventure-result-pack.is-lost .item-chip:after{position:absolute;top:calc(50% + -0px);left:-25%;width:150%;height:1px;background:var(--danger);border:2px solid var(--surface);content:"";pointer-events:none;transform:rotate(45deg)}.adventure-result-item-detail .row{flex-wrap:wrap;align-items:center}.adventure-result-item-detail .text{margin:0}.adventure-result-heroes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));align-items:stretch;gap:14px}.adventure-result-hero .panel{display:grid;align-content:start;gap:14px;height:100%;background:var(--result-hero-background)}.adventure-result-hero-heading{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:10px}.adventure-result-hero-heading .portrait.small{width:46px;height:46px;border-radius:50%}.adventure-result-hero-heading .portrait.small.ability-ready{border-color:var(--gold);box-shadow:0 0 2px color-mix(in srgb,var(--gold) 70%,transparent),0 0 4px 1px color-mix(in srgb,var(--gold) 45%,transparent);animation:ability-ready-pulse 2.8s ease-in-out infinite}.adventure-result-hero-identity{display:grid;justify-items:start;gap:5px;min-width:0}.adventure-result-hero-identity h2{margin:0;font-family:var(--font-display);font-weight:700;font-size:21px;line-height:1.1}.adventure-result-level-milestone .badge{border-color:var(--gold);box-shadow:0 0 10px color-mix(in srgb,var(--gold) 20%,transparent);font-weight:800}.adventure-result-xp{gap:4px}.adventure-result-skill-list{display:grid;gap:12px;padding-top:12px;border-top:1px solid color-mix(in srgb,var(--border) 80%,transparent)}.adventure-result-skill{display:grid;gap:5px}.adventure-result-skill .row{align-items:center;gap:6px}.adventure-result-skill .text{flex:1;margin:0;font-weight:700}.adventure-result-skill .badge{padding:3px 6px;font-size:10px}@media(max-width:440px){.adventure-result-pack{padding:9px}.adventure-result-pack .slot-grid{gap:4px}.adventure-result-hero-heading{grid-template-columns:42px minmax(0,1fr)}.adventure-result-hero-heading .portrait.small{width:42px;height:42px}.adventure-result-hero-heading>.badge{grid-column:2;justify-self:start}}.adventure-results-action{position:sticky;z-index:20;bottom:0;display:grid;grid-template-columns:minmax(0,1fr);padding:12px 24px max(12px,env(safe-area-inset-bottom));margin:0 -24px -70px;background:linear-gradient(to top,var(--surface-page) 70%,transparent)}.admin-area{width:100%}.admin-sections{display:flex;flex-wrap:wrap;gap:8px;border-bottom:1px solid var(--border);padding-bottom:8px}.admin-sections a,.admin-kind{color:var(--quiet-foreground);text-decoration:none;padding:6px 12px;border-radius:var(--radius-pill);border:1px solid var(--quiet-border)}.admin-sections a.active,.admin-kind.active{color:var(--button-foreground);background:var(--gold);border-color:var(--button-border)}.admin-content{display:grid;grid-template-columns:1fr;gap:16px}@media(min-width:1000px){.admin-content{grid-template-columns:180px 260px minmax(0,1fr);align-items:start}}.admin-kinds{display:flex;flex-wrap:wrap;gap:6px}@media(min-width:1000px){.admin-kinds{flex-direction:column}}.admin-records{display:grid;gap:8px}.admin-record-list{list-style:none;margin:0;padding:0;display:grid;gap:4px;max-height:60vh;overflow:auto}.admin-record-list a{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;padding:6px 8px;border-radius:8px;color:inherit;text-decoration:none}.admin-record-list a small{color:var(--muted)}.admin-record-list a.active,.admin-record-list a:hover{background:var(--quiet-hover)}.admin-record{min-width:0}.admin-issues,.schema-issues,.admin-changes,.admin-history{margin:0;padding-left:18px;display:grid;gap:4px}.admin-issues .error,.schema-issues .error{color:var(--danger)}.admin-issues .warning,.schema-issues .warning{color:var(--gold)}.admin-history{list-style:none;padding:0;gap:10px}.admin-json{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;white-space:pre-wrap;word-break:break-word;max-height:60vh;overflow:auto;margin:0;padding:8px;border-radius:8px;background:var(--ink)}.field textarea.admin-json{min-height:320px}.admin-diff{display:grid;grid-template-columns:1fr;gap:8px}@media(min-width:900px){.admin-diff{grid-template-columns:1fr 1fr}}.admin-table{width:100%;border-collapse:collapse;font-size:14px;display:block;overflow-x:auto}.admin-table th,.admin-table td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--border);vertical-align:top}.admin-table code{font-size:12px;word-break:break-word}.schema-form,.schema-object,.schema-list{display:grid;gap:10px}.schema-group{border:1px solid var(--border);border-radius:10px;padding:10px;margin:0;min-width:0}.schema-group legend{padding:0 6px;color:var(--gold)}.schema-item{border-left:2px solid var(--quiet-border);padding-left:10px;display:grid;gap:6px}.schema-field.system{opacity:.8}@container app-page (max-width: 840px){.app-shell.drawer-open .app-page-frame .admin-kinds{flex-direction:row}}.haven-armory-page{gap:14px}.armory-workspace{display:grid;gap:16px;min-width:0}.armory-workspace.split-layout{grid-template-columns:minmax(300px,400px) minmax(280px,1fr);align-items:start}.armory-stash-column,.armory-equipment-column{min-width:0}.armory-stash-column>.panel,.armory-equipment-column>.panel{display:grid;gap:14px;min-width:0}.armory-stash-actions{display:flex;justify-content:flex-end}.armory-stash-column .slot-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.armory-item-preview-content{display:grid;grid-template-columns:minmax(96px,140px) minmax(0,1fr);align-items:start;gap:14px}.armory-item-preview-art{display:block;width:100%;aspect-ratio:1;object-fit:cover;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--ink) 32%,transparent)}.armory-item-preview-copy{display:grid;min-width:0;gap:8px}.armory-item-preview-copy .text{margin:0}.armory-item-sheet-sales{display:flex;flex-wrap:wrap;gap:var(--space-2)}.armory-item-sheet-sales>.button{flex:1 1 160px}@media(max-width:900px){.armory-stash-column .slot-cell{width:100%;max-width:90px;max-height:90px;justify-self:center}}@media(min-width:701px){.armory-stash-column .slot-grid{grid-template-columns:repeat(10,minmax(0,1fr))}}@media(max-width:700px){.armory-stash-column .panel,.armory-equipment-column .panel{padding:15px}.armory-stash-column .slot-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.armory-stash-column .slot-cell{border-radius:7px}.armory-stash-column .item-chip{border-radius:6px}.armory-stash-column .item-chip-name{padding:8px 2px 3px;font-size:9px}.armory-stash-column .item-chip-count{top:1px;right:3px;font-size:12px}.armory-item-preview-content{grid-template-columns:92px minmax(0,1fr);gap:12px}}.hero-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:var(--space-2)}.hero-tile{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:var(--space-2);min-height:64px;overflow:hidden;padding:0 var(--space-2) 0 0;border:1px solid var(--border);border-radius:var(--radius-md);background:color-mix(in srgb,var(--surface-page) 72%,transparent);color:var(--foreground);font:inherit;text-align:left;cursor:pointer}.hero-tile:hover{border-color:color-mix(in srgb,var(--gold) 60%,var(--border))}.hero-tile:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.hero-tile[aria-pressed=true]{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 10%,var(--surface-raised));box-shadow:0 0 0 1px var(--gold),0 0 14px var(--gold-glow)}.hero-tile .portrait.hero-tile-portrait{align-self:stretch;width:64px;height:100%;min-height:64px;border:0;border-radius:0;clip-path:polygon(0 0,100% 0,80% 100%,0 100%)}.hero-tile-copy{display:grid;gap:2px;min-width:0;padding-block:var(--space-2)}.hero-tile-copy strong{overflow:hidden;font-family:var(--font-display);font-weight:700;font-size:var(--text-display-md);text-overflow:ellipsis;white-space:nowrap}.hero-tile-copy small{color:var(--muted);font-size:var(--text-xs)}.hero-tile-note{color:var(--gold);font-size:var(--text-xs)}.stash-hero{display:grid;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--gold-line)}.stash-hero-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.stash-hero-title{display:grid;min-width:0}.stash-hero-title strong{color:var(--foreground-strong);font-family:var(--font-display);font-weight:700;font-size:var(--text-display-lg)}.stash-hero-title small{color:var(--muted);font-size:var(--text-xs)}.haven-stash-page .armory-stash-column .slot-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.stash-frame{display:flex;flex-direction:column;gap:var(--space-4);min-width:0}.screen-body.stash-wide{padding-top:0;overflow:clip;-webkit-mask-image:none;mask-image:none}.stash-wide>.screen-body-content{height:100%}.stash-wide .stash-frame{flex:1 1 0;min-height:0}.stash-wide .armory-workspace.split-layout{flex:1 1 0;grid-template-rows:minmax(0,1fr);align-items:stretch;min-height:0}.stash-wide .armory-stash-column,.stash-wide .armory-equipment-column{display:flex;flex-direction:column;gap:var(--space-3);min-height:0;padding-top:var(--scroll-fade-inset);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;-webkit-mask-image:var(--scroll-fade);mask-image:var(--scroll-fade)}.stash-wide .armory-stash-column>.panel,.stash-wide .armory-equipment-column>.panel{flex:none;align-content:start}.stash-wide .armory-equipment-column>.panel:last-child{flex-grow:1}.stash-wide .armory-stash-column>.panel:first-child{display:flex;flex-direction:column;max-height:100%;min-height:0}.stash-wide .armory-stash-column>.panel:first-child>.slot-grid{flex:0 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}.armory-equipment-column{container:company / inline-size}.stash-details{display:grid;gap:var(--space-3);scroll-margin-block:var(--space-3)}.stash-details-head{display:flex;align-items:center;gap:var(--space-2)}.stash-details-head h2{flex:1 1 auto;min-width:0;margin:0}.stash-details-action{display:flex;padding-top:var(--space-3);border-top:1px solid var(--border)}.stash-details-action>.button{flex:1 1 auto}@container company (max-width: 480px){.hero-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.hero-tile{grid-template-columns:minmax(0,1fr);padding:0;text-align:center}.hero-tile .portrait.hero-tile-portrait{width:100%;height:56px;min-height:0;clip-path:none}.hero-tile-copy{padding:0 var(--space-1) var(--space-2)}}.drag-to-equip{display:flex;align-items:center;gap:var(--space-2);margin:0;padding:var(--space-3);border:1px dashed var(--gold);border-radius:var(--radius-md);background:var(--gold-tint);color:var(--gold);font-size:var(--text-sm)}.drag-to-equip .icon{flex:none;width:20px;height:20px}.gear-piece-handle{border-radius:var(--radius-lg);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.gear-piece-handle:hover .equipment-piece{border-color:var(--gold);box-shadow:0 0 12px var(--gold-glow)}.gear-piece-handle.lifted{opacity:.45}.cards-deck-scroll{-webkit-overflow-scrolling:touch;touch-action:pan-y}.deck-frame{display:flex;flex-direction:column;gap:var(--space-4);min-width:0}.deck-fan{position:relative;display:block;width:56px;height:44px}.deck-fan img{position:absolute;top:2px;left:0;width:30px;height:40px;object-fit:cover;border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-raised)}.deck-fan img:nth-child(2){left:12px;transform:rotate(6deg)}.deck-fan img:nth-child(3){left:24px;transform:rotate(12deg)}.deck-fan.empty{display:grid;place-items:center;border:1px dashed var(--border);border-radius:var(--radius-sm);color:var(--muted)}.saved-deck-row .list-row-badges{display:flex;flex-wrap:wrap;gap:var(--space-1)}.saved-deck-row .list-row-badges:empty{display:none}.deck-editor{display:flex;flex-direction:column;gap:var(--space-3);min-width:0}.deck-summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--panel-background)}.deck-summary-count{display:grid;justify-items:center;line-height:1}.deck-summary-count strong{color:var(--foreground-strong);font-family:var(--font-display);font-weight:700;font-size:var(--text-display-title)}.deck-summary-count span{color:var(--muted);font-size:var(--text-xs);letter-spacing:1px;text-transform:uppercase}.deck-summary-shape{display:grid;gap:var(--space-2);min-width:0}.deck-summary-kinds{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-3);margin:0;padding:0;color:var(--quiet-foreground);font-size:var(--text-sm);list-style:none}.deck-summary-kinds li{display:inline-flex;align-items:center;gap:var(--space-1)}.deck-summary-kinds li[data-kind=weak],.deck-summary-kinds li[data-kind=none]{color:var(--muted)}.deck-summary-kinds .icon{width:16px;height:16px}.deck-summary-bar{display:flex;gap:2px;height:6px;overflow:hidden;border-radius:var(--radius-pill)}.deck-summary-bar span{flex:1 1 0;min-width:2px;background:var(--gold)}.deck-summary-bar [data-kind=edge]{background:var(--danger-deep)}.deck-summary-bar [data-kind=guard]{background:var(--preview)}.deck-summary-bar [data-kind=heal]{background:var(--success)}.deck-summary-bar [data-kind=clear]{background:var(--rarity-epic)}.deck-summary-bar [data-kind=extract]{background:var(--rarity-legendary)}.deck-summary-bar [data-kind=junk],.deck-summary-bar [data-kind=weak]{background:var(--border)}.deck-summary-state{display:flex;justify-content:flex-end}.deck-editor-panes{display:grid;grid-template-columns:minmax(280px,1fr) minmax(300px,1.25fr);align-items:start;gap:var(--space-4);min-width:0}.deck-pane{display:flex;flex-direction:column;gap:var(--space-3);min-width:0}.deck-pane-title{display:flex;align-items:baseline;gap:var(--space-2);margin:0;font-size:var(--text-xl)}.deck-pane-title span,.deck-tab-count,.deck-group-head h3 span{color:var(--muted);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600}.screen-body.deck-wide{padding-top:0;overflow:clip;-webkit-mask-image:none;mask-image:none}.deck-wide>.screen-body-content,.deck-wide .deck-frame{flex:1 1 0;height:100%;min-height:0}.deck-wide .deck-editor{flex:1 1 0;min-height:0;padding-top:var(--space-3)}.deck-wide .deck-editor-panes{flex:1 1 0;grid-template-rows:minmax(0,1fr);align-items:stretch;min-height:0}.deck-wide .deck-pane{min-height:0;padding-top:var(--scroll-fade-inset);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;-webkit-mask-image:var(--scroll-fade);mask-image:var(--scroll-fade)}.deck-list{display:flex;flex-direction:column;gap:var(--space-4)}.deck-group ul{display:flex;flex-direction:column;gap:var(--space-1);margin:0;padding:0;list-style:none}.deck-group-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-height:var(--control-height-compact)}.deck-group-head h3{margin:0;color:var(--gold);font-family:var(--font-body);font-weight:700;font-size:var(--text-display-md);letter-spacing:1px;text-transform:uppercase}.deck-group.issues .deck-group-head h3{color:var(--danger)}.deck-group.weak .deck-group-head h3{color:var(--muted)}.deck-row{display:flex;align-items:center;gap:var(--space-1);min-width:0;padding-right:var(--space-1);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--panel-background);transition:border-color .15s}.deck-row:hover{border-color:var(--quiet-border)}.deck-row.unusable{border-color:var(--danger-border);background:var(--danger-surface)}.deck-row.weak{border-style:dashed;background:transparent}.deck-row-open{display:flex;flex:1 1 auto;align-items:center;gap:var(--space-2);min-width:0;min-height:var(--control-height);padding:var(--space-1) var(--space-3);border:0;background:transparent;color:var(--foreground);font:inherit;text-align:left;cursor:pointer}.deck-row-open:focus-visible{outline:3px solid var(--gold);outline-offset:-3px;border-radius:var(--radius-md)}.deck-row-kind{display:grid;flex:none;place-items:center;color:var(--gold)}.deck-row.unusable .deck-row-kind{color:var(--danger)}.deck-row.weak .deck-row-kind,.deck-row.weak .deck-row-name{color:var(--muted)}.deck-row-kind .icon{width:18px;height:18px}.deck-row-name{overflow:hidden;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.deck-row-copies{flex:none;color:var(--gold);font-weight:700}.deck-row-detail{display:flex;flex:1 1 auto;align-items:center;justify-content:flex-end;gap:var(--space-2);min-width:0;color:var(--quiet-foreground);font-size:var(--text-sm)}.deck-row-reason{overflow:hidden;color:var(--muted);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap}.deck-row.unusable .deck-row-reason{color:var(--danger-foreground)}.deck-row-heroes{display:flex;flex:none}.deck-row-heroes .portrait.small,.deck-pool-hero .portrait.small,.deck-filter .portrait.small{width:var(--space-6);height:var(--space-6);border-radius:var(--radius-pill)}.deck-row-heroes .portrait+.portrait{margin-left:calc(var(--space-2) * -1)}.deck-row-lock{display:grid;flex:none;place-items:center;color:var(--muted)}.deck-row-lock .icon{width:16px;height:16px}.deck-row.changing,.deck-pool-tile.changing,.deck-source-row.changing{animation:deck-saving 1.1s ease-in-out infinite}@keyframes deck-saving{50%{opacity:.6}}.deck-pool{display:flex;flex-direction:column;gap:var(--space-3)}.deck-pool-tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2)}.deck-pool-filter{display:flex;flex-wrap:wrap;gap:var(--space-1)}.deck-filter{display:inline-flex;align-items:center;gap:var(--space-1);min-height:var(--control-height-compact);padding:0 var(--space-3);border:1px solid var(--quiet-border);border-radius:var(--radius-pill);background:transparent;color:var(--quiet-foreground);font:inherit;font-size:var(--text-sm);cursor:pointer}.deck-filter:has(.portrait){padding-left:var(--space-1)}.deck-filter[aria-pressed=true]{border-color:var(--gold);background:var(--gold-wash);color:var(--gold)}.deck-filter:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.deck-pool-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:var(--space-3);margin:0;padding:var(--space-1) 0 0;list-style:none}.deck-pool-tile{position:relative;min-width:0}.deck-pool-tile.unusable .game-card{opacity:.6}.deck-pool-add.icon-button{position:absolute;right:var(--space-1);bottom:var(--space-1);border:1px solid var(--button-border);background:var(--button-gradient);color:var(--button-foreground);box-shadow:var(--shadow-raised)}.deck-pool-add.icon-button:hover{background:var(--button-hover);color:var(--button-foreground)}.deck-pool-hero{position:absolute;top:var(--space-1);right:var(--space-1);pointer-events:none}.deck-pool-hero .portrait{box-shadow:0 0 0 2px var(--surface-page),var(--shadow-raised)}.deck-pool-blocked{display:flex;flex-direction:column;gap:var(--space-2)}.deck-pool-blocked h3{margin:0;color:var(--muted);font-family:var(--font-body);font-weight:700;font-size:var(--text-display-md);letter-spacing:1px;text-transform:uppercase}.dialog.deck-card-preview{max-height:calc(100dvh - var(--space-6) * 2);overflow-y:auto}.deck-preview-body{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-3)}.deck-preview-art{width:100%;height:auto;border:1px solid var(--border);border-radius:var(--radius-md)}.deck-preview-stats{display:flex;flex-wrap:wrap;gap:var(--space-1)}.deck-preview-sources{display:flex;flex-direction:column;gap:var(--space-2)}.deck-preview-sources h3{margin:0;color:var(--gold);font-family:var(--font-body);font-weight:700;font-size:var(--text-display-md);letter-spacing:1px;text-transform:uppercase}.deck-source-row.unusable .list-row-meta{color:var(--danger-foreground)}.deck-preview-note{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2)}.deck-options-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.deck-picker{display:flex;flex-direction:column;gap:var(--space-3)}.deck-picker-actions{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-2)}.run-sheet.deck-editor-sheet{height:min(92dvh,900px)}@media(min-width:900px){.run-sheet.deck-editor-sheet{width:min(960px,96vw)}}@media(max-width:640px){.deck-summary{grid-template-columns:auto minmax(0,1fr);gap:var(--space-2) var(--space-3);padding:var(--space-3)}.deck-summary-state{grid-column:1 / -1;justify-content:flex-start}.deck-pool-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:var(--space-2)}.deck-row-heroes{display:none}}.about-page{--about-measure: 44rem;--about-wide: 70rem;--about-gutter: max(16px, 4vw);--about-violet: #b98ae0;--about-veil: var(--art-veil);padding-bottom:5rem;overflow-x:clip;background:var(--about-veil);color:var(--foreground)}.about-page h1,.about-page h2,.about-page h3{color:var(--foreground-strong);letter-spacing:0}.about-eyebrow{margin:0 0 var(--space-2);color:var(--about-violet);font-size:var(--text-xs);font-weight:600;letter-spacing:.18em;text-transform:uppercase}.about-lead{color:var(--foreground);font-size:clamp(1.0625rem,1rem + .4vw,1.25rem);line-height:1.6}.about-section{max-width:var(--about-measure);margin:0 auto;padding:4rem var(--about-gutter) 0;box-sizing:content-box;scroll-margin-top:var(--header-height)}.about-section h1,.about-section h2{font-size:calc(clamp(1.75rem,1.4rem + 1.6vw,2.5rem) + .0625rem);line-height:1.15}.about-section h3{margin-bottom:var(--space-2);font-size:var(--text-display-xl)}.about-wide{max-width:var(--about-wide)}.about-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:var(--space-4);margin:var(--space-6) 0 0;padding:0;list-style:none}.about-features li{padding:var(--space-5);border:1px solid var(--border);border-top:2px solid var(--gold);border-radius:var(--radius-lg);background:var(--panel-background)}.about-features p{margin:0;color:var(--muted)}.about-story blockquote{margin:var(--space-6) 0;padding:var(--space-2) 0 var(--space-2) var(--space-6);border-left:2px solid var(--about-violet);font-size:clamp(1.2rem,1.05rem + .6vw,1.45rem);font-style:italic;line-height:1.55;color:var(--foreground-strong)}.about-story blockquote p{line-height:inherit}.about-art{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-6);margin:var(--space-6) 0 0;padding:0;list-style:none}.about-art figure{margin:0}.about-art-open{display:block;width:100%;padding:0;border:0;border-radius:var(--radius-lg);background:none;cursor:zoom-in}.about-art img{display:block;width:100%;height:auto;aspect-ratio:4 / 3;object-fit:cover;border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-raised);transition:transform .2s ease,border-color .2s ease}.about-art-open:hover img,.about-art-open:focus-visible img{border-color:var(--gold);transform:translateY(-2px)}.about-art figcaption{position:relative;padding:var(--space-5) 0 0 3rem}.about-art figcaption p{margin:0;color:var(--muted)}.about-step{position:absolute;top:var(--space-5);left:0;display:grid;place-items:center;width:2.1rem;height:2.1rem;border:1px solid var(--gold);border-radius:var(--radius-pill);color:var(--gold);font-family:var(--font-display);font-weight:700;font-size:var(--text-display-lg)}.about-lightbox{position:fixed;inset:0;z-index:var(--layer-sheet);display:grid;place-items:center;padding:4rem max(16px,4vw) var(--space-6);box-sizing:border-box;outline:0;pointer-events:none}.about-lightbox>*{pointer-events:auto}.about-lightbox figure{display:flex;flex-direction:column;gap:var(--space-3);max-width:min(100%,75rem);margin:0}.about-lightbox img{display:block;max-width:100%;max-height:calc(100dvh - 12rem);width:auto;height:auto;margin:0 auto;object-fit:contain;border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-menu)}.about-lightbox figcaption{text-align:center}.about-lightbox h2{margin:0 0 var(--space-1);color:var(--foreground-strong);font-size:var(--text-display-xl)}.about-lightbox p{margin:0;color:var(--muted)}.about-lightbox-close{position:fixed;top:var(--space-4);right:var(--space-4)}.about-ai{margin:var(--space-6) 0;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--panel-background)}.about-ai>div{display:grid;grid-template-columns:10rem 1fr;gap:var(--space-4);padding:var(--space-4) var(--space-5)}.about-ai>div+div{border-top:1px solid var(--border)}.about-ai dt{color:var(--gold);font-weight:600}.about-ai dd{margin:0;line-height:1.6}.about-note p{color:var(--muted)}.about-note .about-signature{color:var(--foreground);font-family:var(--font-display);font-weight:700;font-size:var(--text-display-xl)}.about-community{text-align:center}.about-actions{display:grid;gap:var(--space-3);max-width:22rem;margin:var(--space-6) auto 0}@media(max-width:900px){.about-art{grid-template-columns:minmax(0,1fr);max-width:var(--about-measure)}}@media(max-width:640px){.about-ai>div{grid-template-columns:minmax(0,1fr);gap:var(--space-1)}}.codex-workbench-screen .screen-body-content{max-width:100%}.codex-workbench{display:grid;grid-template-columns:minmax(150px,.2fr) minmax(0,1fr);align-items:start;gap:var(--space-4)}.codex-sections,.codex-browser-list,.codex-detail,.codex-draft,.codex-preview,.codex-collection-manager,.codex-collection-fields,.codex-collection-contents,.codex-collection-json{display:flex;flex-direction:column;gap:var(--space-3);min-width:0}.codex-sections{position:sticky;top:var(--space-4)}.codex-sections .button{justify-content:flex-start}.codex-back-link{margin-top:var(--space-2);color:var(--quiet-foreground)}.codex-browser{display:grid;grid-template-columns:minmax(190px,.32fr) minmax(0,1fr);align-items:start;gap:var(--space-4);min-width:0}.codex-browser-list,.codex-detail>section,.codex-detail>.codex-draft{padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--panel-background)}.codex-definition-list{max-height:62vh;overflow-y:auto}.codex-collection-manager{display:grid;grid-column:2;grid-template-columns:minmax(190px,.32fr) minmax(0,1fr);align-items:start;gap:var(--space-4);min-width:0}.codex-collection-list-heading,.codex-collection-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.codex-collection-fields,.codex-collection-contents,.codex-collection-json{padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--panel-background)}.codex-collection-add{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr) auto;align-items:end;gap:var(--space-2);margin-bottom:var(--space-3)}.codex-collection-entry-list{max-height:46vh;overflow-y:auto}.codex-collection-json textarea{max-height:36rem;overflow:auto;font-family:var(--font-body);white-space:pre}.codex-collection-actions{justify-content:flex-end;margin-top:var(--space-3)}.codex-detail-header,.codex-preview-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-width:0}.codex-detail-header .section-heading{margin-bottom:0}.codex-card-preview,.codex-equipment-preview,.codex-class-summary,.codex-item-states,.codex-boss-preview{display:grid;grid-template-columns:minmax(120px,.34fr) minmax(0,1fr);align-items:start;gap:var(--space-4)}.codex-hand-card{display:grid;justify-items:center;gap:var(--space-2)}.codex-slot-preview,.codex-level-preview{display:flex;flex-direction:column;gap:var(--space-3);min-width:0}.codex-lane-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.codex-lane{display:grid;gap:var(--space-2);padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-raised)}.codex-slot-cell{position:relative;display:grid;justify-items:center;gap:var(--space-2);min-width:0;padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.codex-slot-cell .slot-elements{position:relative;top:auto;left:auto;z-index:3}.codex-slot-cell>.codex-slot-card{aspect-ratio:1.6;opacity:1}.codex-slot-cell>.codex-slot-card.focused{border-color:var(--gold)}.codex-empty-slot{margin:0;padding:var(--space-4) var(--space-1);color:var(--muted);text-align:center}.codex-slot{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:var(--space-1);min-height:62px;width:100%;text-align:left;white-space:normal}.codex-inline-form,.codex-draft-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:var(--space-3)}.codex-inline-form>:last-child:nth-child(odd){grid-column:1 / -1}.codex-item-states{grid-template-columns:repeat(2,minmax(0,1fr))}.codex-item-states article,.codex-equipment-tile,.codex-ability-feature{display:flex;flex-direction:column;gap:var(--space-2);min-width:0;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-raised)}.codex-item-preview,.codex-drop-row{display:flex;align-items:center;gap:var(--space-3);min-width:0}.codex-item-art{width:clamp(56px,8vw,96px);aspect-ratio:1;object-fit:cover;border-radius:var(--radius-sm)}.codex-drop-art{width:40px;aspect-ratio:1;object-fit:cover;border-radius:var(--radius-sm)}.codex-granted-cards{display:flex;flex-wrap:wrap;align-items:start;gap:var(--space-3)}.codex-granted-cards article{display:grid;justify-items:center;gap:var(--space-2);width:min(100%,180px)}.codex-encounter-preview,.codex-boss-preview{grid-template-columns:minmax(100px,.3fr) minmax(0,1fr);align-items:center}.codex-encounter-preview>img,.codex-boss-preview>img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--radius-md)}.codex-encounter-preview h3,.codex-boss-preview h3,.codex-item-preview h3,.codex-equipment-tile h3,.codex-ability-feature h3{margin:0;color:var(--foreground-strong);font-family:var(--font-display);font-weight:700}.codex-encounter-stats,.codex-stat-grid{display:flex;flex-wrap:wrap;gap:var(--space-2)}.codex-intent-preview{display:grid;grid-template-columns:minmax(150px,.4fr) minmax(0,1fr);align-items:end;gap:var(--space-3)}.codex-drop-preview,.codex-ability-list,.codex-talent-list,.codex-breakpoints{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.codex-drop-row{padding:var(--space-2);border-bottom:1px solid var(--border)}.codex-drop-row span{flex:1}.codex-class-summary{grid-template-columns:minmax(0,1fr) minmax(240px,.8fr)}.codex-ability-list article,.codex-talent{padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-raised)}.codex-ability-list h4,.codex-talent h4,.codex-boss-preview h4{margin:var(--space-2) 0}.codex-stat-grid span{display:grid;gap:var(--space-1);min-width:42%;color:var(--muted)}.codex-stat-grid strong{color:var(--foreground-strong);font-size:var(--text-lg)}.codex-breakpoints{padding-top:var(--space-3);border-top:1px solid var(--border);overflow-wrap:anywhere}.codex-talent{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.codex-talent-actions{display:flex;flex-shrink:0;gap:var(--space-2)}.codex-reference-editor{display:flex;flex-direction:column;gap:var(--space-3);min-width:0;padding-top:var(--space-3);border-top:1px solid var(--border)}.codex-reference-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:var(--space-2);min-width:0}.codex-reference-controls>:last-child:nth-child(odd){grid-column:1 / -1}.codex-card-abilities-editor{display:flex;flex-direction:column;gap:var(--space-3);min-width:0;padding-top:var(--space-3);border-top:1px solid var(--border)}.codex-card-abilities-editor .section-heading{margin-bottom:var(--space-1)}.codex-card-ability-list{display:flex;flex-direction:column;gap:var(--space-3)}.codex-card-ability{display:flex;flex-direction:column;gap:var(--space-3);min-width:0;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-raised)}.codex-card-ability-heading,.codex-card-ability-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-2)}.codex-card-ability-heading p{margin:0}.codex-card-ability-actions{justify-content:flex-end}.codex-card-ability-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:var(--space-3)}.codex-card-ability-options{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);min-width:0;padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-sm)}.codex-card-ability-options legend{padding-inline:var(--space-1);color:var(--muted);font-size:var(--text-sm)}.codex-card-basics{grid-template-columns:repeat(3,minmax(0,1fr))}.codex-card-editor-tabs{display:flex;flex-wrap:wrap;gap:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--border)}.codex-json{max-height:36rem;overflow:auto;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-page);color:var(--quiet-foreground);font-family:var(--font-body);font-size:var(--text-sm);white-space:pre-wrap;overflow-wrap:anywhere}.codex-draft-actions{position:sticky;bottom:0;z-index:3;display:flex;justify-content:flex-end;gap:var(--space-2);margin:0 calc(var(--space-4) * -1) calc(var(--space-4) * -1);padding:var(--space-3) var(--space-4);border-top:1px solid var(--border);border-radius:0 0 var(--radius-lg) var(--radius-lg);background:var(--panel-background)}.codex-kind-card{--kind: var(--element-rime)}.codex-kind-equipment{--kind: var(--gold)}.codex-kind-item{--kind: var(--element-miasma)}.codex-kind-recipe{--kind: var(--element-pyre)}.codex-kind-encounter{--kind: var(--danger)}.codex-kind-lootTable{--kind: var(--combo)}.codex-kind-boss{--kind: var(--chaos)}.codex-kind-class{--kind: var(--element-thrall)}.codex-kind-ability{--kind: var(--element-levin)}.codex-kind-dot{flex:none;width:.6rem;height:.6rem;border-radius:var(--radius-pill);background:var(--kind, var(--muted))}.codex-sections .button .codex-kind-dot{margin-right:var(--space-2)}.codex-jump{position:relative;display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-2)}.codex-jump-results,.codex-sources,.codex-odds,.codex-card-sources{display:flex;flex-direction:column;gap:var(--space-2);margin:0;padding:0;list-style:none}.codex-chip{display:inline-flex;align-items:center;gap:var(--space-2);max-width:100%;min-width:0;padding:var(--space-1) var(--space-2);border:1px solid color-mix(in srgb,var(--kind, var(--border)) 45%,var(--border));border-radius:var(--radius-pill);background:color-mix(in srgb,var(--kind, var(--surface)) 10%,var(--surface));color:var(--foreground);font:inherit;font-size:var(--text-sm);text-align:left;cursor:pointer}.codex-chip:hover,.codex-chip:focus-visible{border-color:var(--kind, var(--gold));background:color-mix(in srgb,var(--kind, var(--surface)) 22%,var(--surface))}.codex-chip-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.codex-chip-note{color:var(--muted);font-size:var(--text-xs);white-space:nowrap}.codex-chip-list{display:flex;flex-wrap:wrap;gap:var(--space-2)}.codex-detail-badges,.codex-detail-tabs,.codex-gathering-controls{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.codex-detail-header .button{margin-bottom:var(--space-2)}.codex-gathering-controls>*{flex:1 1 10rem}.codex-connections,.codex-connections-section,.codex-atlas,.codex-atlas-section,.codex-odds-group,.codex-relation-group,.codex-table-usage{display:flex;flex-direction:column;gap:var(--space-3);min-width:0}.codex-detail>.codex-connections,.codex-atlas-section{padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--panel-background)}.codex-connections-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2)}.codex-relations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.codex-relation-group{gap:var(--space-2)}.codex-sources li,.codex-card-sources li{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.codex-via{color:var(--muted);font-size:var(--text-sm)}.codex-via.unreached{color:var(--danger)}.codex-map-frame{overflow-x:auto;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-page)}.codex-map{display:block;margin-inline:auto}.codex-map-link{fill:none;stroke:color-mix(in srgb,var(--muted) 45%,var(--surface-page));stroke-width:1.5}.codex-map-link.strong{stroke:color-mix(in srgb,var(--gold) 70%,var(--surface-page));stroke-width:2.5}.codex-map-node{cursor:pointer;outline:none}.codex-map-node>rect:first-of-type{fill:var(--surface-raised);stroke:color-mix(in srgb,var(--kind) 40%,var(--border));stroke-width:1}.codex-map-node:hover>rect:first-of-type,.codex-map-node:focus-visible>rect:first-of-type{fill:color-mix(in srgb,var(--kind) 18%,var(--surface-raised));stroke:var(--kind)}.codex-map-node.center{cursor:default}.codex-map-node.center>rect:first-of-type{fill:color-mix(in srgb,var(--kind) 24%,var(--surface-raised));stroke:var(--kind);stroke-width:2}.codex-map-kind{fill:var(--kind)}.codex-map-name{fill:var(--foreground);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600}.codex-map-note{fill:var(--muted);font-family:var(--font-body);font-size:var(--text-xs)}.codex-odds li{display:grid;grid-template-columns:minmax(8rem,1fr) minmax(4rem,1.2fr) minmax(9rem,auto);align-items:center;gap:var(--space-3)}.codex-odds-value{display:flex;flex-direction:column;font-size:var(--text-sm)}.codex-odds-value span{color:var(--muted);font-size:var(--text-xs)}.codex-chance-bar{width:100%;height:.5rem}.codex-chance-bar .track{fill:color-mix(in srgb,var(--muted) 20%,var(--surface-page))}.codex-chance-bar .fill{fill:var(--gold)}.codex-table-usage{gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--border)}.codex-atlas{gap:var(--space-4)}.codex-atlas-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:var(--space-2)}.codex-atlas-tile{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:var(--space-1) var(--space-2);padding:var(--space-3);border:1px solid color-mix(in srgb,var(--kind) 40%,var(--border));border-radius:var(--radius-md);background:color-mix(in srgb,var(--kind) 8%,var(--surface));color:var(--foreground);font:inherit;text-align:left;cursor:pointer}.codex-atlas-tile:hover,.codex-atlas-tile:focus-visible{border-color:var(--kind)}.codex-atlas-tile strong{font-size:var(--text-xl)}.codex-atlas-tile>span:not(.codex-kind-dot){grid-column:1 / -1;color:var(--muted);font-size:var(--text-sm)}.codex-atlas-tile>span.codex-atlas-warning{color:var(--danger);font-size:var(--text-xs)}.codex-finding{padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.codex-finding summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);cursor:pointer}.codex-finding[open] summary{margin-bottom:var(--space-2)}.codex-matrix-frame{max-height:32rem;overflow:auto;border:1px solid var(--border);border-radius:var(--radius-md)}.codex-matrix{border-collapse:separate;border-spacing:0;font-size:var(--text-sm)}.codex-matrix th,.codex-matrix td{padding:var(--space-1) var(--space-2);border-bottom:1px solid var(--border);white-space:nowrap}.codex-matrix thead th{position:sticky;top:0;z-index:2;background:var(--surface-raised)}.codex-matrix thead th button{padding:0;border:0;background:none;color:var(--foreground);font:inherit;cursor:pointer}.codex-matrix tbody th{position:sticky;left:0;z-index:1;background:var(--surface-raised);text-align:left}.codex-matrix td{min-width:4.5rem;color:var(--foreground);text-align:center}.codex-cell.trace{background:color-mix(in srgb,var(--gold) 8%,var(--surface))}.codex-cell.low{background:color-mix(in srgb,var(--gold) 20%,var(--surface))}.codex-cell.mid{background:color-mix(in srgb,var(--gold) 38%,var(--surface))}.codex-cell.high{background:color-mix(in srgb,var(--gold) 60%,var(--surface));color:var(--ink)}.codex-card-sources li{padding-bottom:var(--space-2);border-bottom:1px solid var(--border)}.codex-card-source-list{display:flex;flex:1 1 16rem;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.codex-edit-split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:start;gap:var(--space-4)}.codex-edit-split>.codex-draft,.codex-edit-preview{padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--panel-background)}.codex-edit-preview{position:sticky;top:var(--space-4);max-height:calc(100dvh - var(--space-6));overflow-y:auto}.codex-edit-preview .codex-card-preview{grid-template-columns:minmax(0,1fr)}@media(max-width:900px){.codex-workbench{grid-template-columns:minmax(0,1fr)}.codex-sections{position:static;flex-direction:row;flex-wrap:wrap}.codex-sections .button{flex:1 1 auto}.codex-browser,.codex-edit-split,.codex-relations{grid-template-columns:minmax(0,1fr)}.codex-edit-preview{position:static;max-height:none}.codex-collection-manager{grid-column:1;grid-template-columns:minmax(0,1fr)}.codex-definition-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));max-height:30vh}}@media(max-width:560px){.codex-collection-add,.codex-card-preview,.codex-equipment-preview,.codex-class-summary,.codex-item-states,.codex-boss-preview,.codex-encounter-preview,.codex-intent-preview,.codex-inline-form,.codex-draft-fields,.codex-card-ability-fields,.codex-card-basics,.codex-reference-controls,.codex-odds li{grid-template-columns:minmax(0,1fr)}.codex-hand-card{justify-items:start}.codex-hand-card .game-card{width:min(100%,15rem)}}.game-terms-page{--terms-border: var(--border)}.game-terms-body .screen-body-content{display:grid;gap:var(--space-4)}.game-terms-intro{max-width:78ch;color:var(--muted);line-height:1.5}.game-terms-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(12rem,.38fr);gap:var(--space-3);align-items:end;padding:var(--space-4);background:var(--surface-raised);border:thin solid var(--terms-border);border-radius:var(--radius-md)}.game-terms-search{min-width:0}.game-terms-result-count{color:var(--muted);font-size:var(--text-sm)}.game-terms-overview,.game-terms-domain{display:grid;gap:var(--space-3);scroll-margin-block:var(--space-5)}.game-terms-relationships .list-row{align-items:start}.game-terms-relationship-links,.game-terms-related{display:flex;flex-wrap:wrap;gap:var(--space-2)}.game-terms-relationships a,.game-terms-related a{color:var(--preview);text-decoration-thickness:from-font;text-underline-offset:.18em}.game-terms-relationships a:hover,.game-terms-related a:hover{color:var(--foreground-strong)}.game-terms-relationships a:focus-visible,.game-terms-related a:focus-visible,.game-terms-term:focus-visible,.game-terms-disclosure summary:focus-visible{outline:thin solid var(--preview);outline-offset:.15em}.game-terms-concepts,.game-terms-models,.game-terms-value-sets{display:grid;gap:var(--space-2)}.game-terms-term{display:grid;grid-template-columns:var(--control-height-compact) minmax(0,1fr);gap:var(--space-3);padding:var(--space-3);background:var(--surface-raised);border:thin solid var(--terms-border);border-radius:var(--radius-md);scroll-margin-block:var(--space-5)}.game-terms-term-leading{display:flex;justify-content:center;padding-block-start:var(--space-1)}.game-terms-icon-frame{display:inline-flex;width:var(--control-height-compact);height:var(--control-height-compact);align-items:center;justify-content:center;color:var(--quiet-foreground)}.game-terms-icon-frame .icon{width:var(--space-5);height:var(--space-5)}.game-terms-icon-frame[data-tone=element-pyre]{color:var(--element-pyre)}.game-terms-icon-frame[data-tone=element-miasma]{color:var(--element-miasma)}.game-terms-icon-frame[data-tone=element-rime]{color:var(--element-rime)}.game-terms-icon-frame[data-tone=element-thrall]{color:var(--element-thrall)}.game-terms-icon-frame[data-tone=element-levin]{color:var(--element-levin)}.game-terms-icon-frame[data-tone=combo]{color:var(--combo)}.game-terms-icon-frame[data-tone=energy-slip]{color:var(--energy-slip)}.game-terms-icon-frame[data-tone=chaos]{color:var(--chaos)}.game-terms-icon-frame[data-tone=energy-hue]{color:var(--energy-hue)}.game-terms-icon-frame[data-tone=mana-hue]{color:var(--mana-hue)}.game-terms-icon-frame[data-tone=danger]{color:var(--danger)}.game-terms-icon-frame[data-tone=success]{color:var(--success)}.game-terms-icon-frame[data-tone=gold]{color:var(--gold)}.game-terms-term-content{display:grid;min-width:0;gap:var(--space-2)}.game-terms-term-heading,.game-terms-disclosure-title{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.game-terms-term-heading h3{margin:0;font-size:var(--text-lg)}.game-terms-identifier,.game-terms-disclosure summary code{display:block;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:var(--text-xs);overflow-wrap:anywhere}.game-terms-term-content p{margin:0;line-height:1.45}.game-terms-icon-color-note,.game-terms-colors-label,.game-terms-related-label{color:var(--muted);font-size:var(--text-xs)}.game-terms-icon-color-note:before{content:"• "}.game-terms-colors{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-3);align-items:center}.game-terms-color{display:inline-flex;gap:var(--space-2);align-items:center}.game-terms-token-swatch{display:inline-block;width:var(--control-height-compact);height:var(--control-height-compact);border:thin solid var(--quiet-border);border-radius:var(--radius-pill)}.game-terms-token-swatch[data-token=element-pyre]{background:var(--element-pyre)}.game-terms-token-swatch[data-token=element-miasma]{background:var(--element-miasma)}.game-terms-token-swatch[data-token=element-rime]{background:var(--element-rime)}.game-terms-token-swatch[data-token=element-thrall]{background:var(--element-thrall)}.game-terms-token-swatch[data-token=element-levin]{background:var(--element-levin)}.game-terms-token-swatch[data-token=combo]{background:var(--combo)}.game-terms-token-swatch[data-token=energy-slip]{background:var(--energy-slip)}.game-terms-token-swatch[data-token=chaos]{background:var(--chaos)}.game-terms-token-swatch[data-token=rarity-common]{background:var(--rarity-common)}.game-terms-token-swatch[data-token=rarity-uncommon]{background:var(--rarity-uncommon)}.game-terms-token-swatch[data-token=rarity-rare]{background:var(--rarity-rare)}.game-terms-token-swatch[data-token=rarity-epic]{background:var(--rarity-epic)}.game-terms-token-swatch[data-token=rarity-legendary]{background:var(--rarity-legendary)}.game-terms-token-swatch[data-token=energy-hue]{background:var(--energy-hue)}.game-terms-token-swatch[data-token=mana-hue]{background:var(--mana-hue)}.game-terms-token-swatch[data-token=danger]{background:var(--danger)}.game-terms-token-swatch[data-token=success]{background:var(--success)}.game-terms-token-swatch[data-token=gold]{background:var(--gold)}.game-terms-token-swatch[data-token=infliction]{background:var(--infliction)}.game-terms-color-copy{display:grid;gap:var(--space-1);font-size:var(--text-xs)}.game-terms-color-copy code{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.game-terms-related{align-items:center;padding-block-start:var(--space-1)}.game-terms-disclosure{padding:var(--space-3);background:var(--surface-raised);border:thin solid var(--terms-border);border-radius:var(--radius-md);scroll-margin-block:var(--space-5)}.game-terms-disclosure summary{cursor:pointer;list-style:none}.game-terms-disclosure summary::-webkit-details-marker{display:none}.game-terms-disclosure-title>.icon{width:var(--space-4);height:var(--space-4);transform:rotate(0);transition:transform .12s ease}.game-terms-disclosure[open] .game-terms-disclosure-title>.icon{transform:rotate(90deg)}.game-terms-disclosure-copy{display:grid;gap:var(--space-2)}.game-terms-disclosure-copy>span:last-child{color:var(--muted);line-height:1.4}.game-terms-disclosure-content{display:grid;gap:var(--space-3);padding-block-start:var(--space-3)}.game-terms-fields,.game-terms-values{display:grid;gap:var(--space-2)}.game-terms-fields .game-terms-term{background:var(--surface)}.game-terms-empty{padding:var(--space-4);color:var(--muted);background:var(--surface-raised);border:thin solid var(--terms-border);border-radius:var(--radius-md)}.game-terms-actions{z-index:var(--layer-header)}@media(max-width:44rem){.game-terms-controls,.game-terms-term{grid-template-columns:minmax(0,1fr)}.game-terms-term-leading{justify-content:start;padding:0}}@media(prefers-reduced-motion:reduce){.game-terms-disclosure-title>.icon{transition:none}}@supports (corner-shape: bevel){:root{--chisel-sm: 3px;--chisel: 5px;--chisel-lg: 7px}:root .stat.pill,:root .stat.chip{border-radius:var(--radius-pill);corner-shape:round}:root .panel{border-radius:var(--chisel);corner-shape:bevel}:root .accordion-section{border-radius:var(--chisel);corner-shape:bevel}:root .button{border-radius:var(--chisel);corner-shape:bevel}:root .button.button-bar,:root .sticky-actions-inner>.button,:root .run-sheet-action>.button{border-radius:var(--chisel);corner-shape:bevel}:root .button.button-hero{border-radius:var(--chisel);corner-shape:bevel}:root .field input,:root .field select,:root .field textarea{border-radius:var(--chisel);corner-shape:bevel}:root .field.slider input{border-radius:var(--chisel);corner-shape:bevel}:root .badge{border-radius:var(--chisel);corner-shape:bevel}:root .reputation-meter-track{border-radius:var(--chisel-sm);corner-shape:bevel}:root .reputation-meter-zero{border-radius:var(--chisel-sm);corner-shape:bevel}:root .reputation-meter-marker{border-radius:var(--chisel);corner-shape:bevel}:root .notice{border-radius:var(--chisel);corner-shape:bevel}:root .empty{border-radius:var(--chisel);corner-shape:bevel}:root .dialog{border-radius:var(--chisel-lg);corner-shape:bevel}:root .run-sheet{border-radius:var(--chisel-lg) var(--chisel-lg) 0 0;corner-shape:bevel}:root .game-card{border-radius:9px;corner-shape:round}:root .energy-orb{border-radius:var(--radius-pill);corner-shape:round}:root .card-art{border-radius:8px 8px 0 0;corner-shape:round}:root .game-card.compact{border-radius:7px;corner-shape:round}:root .game-card.compact .card-art{border-radius:6px 6px 0 0;corner-shape:round}:root .hand-card .game-card.compact .card-art{border-radius:0}:root .portrait{border-radius:var(--chisel);corner-shape:bevel}:root .swatch{border-radius:var(--radius-pill);corner-shape:round}:root .portrait.small{border-radius:var(--chisel);corner-shape:bevel}:root .portrait.medium{border-radius:48% 48% 10px 10px;corner-shape:round}:root .portrait.fill{border-radius:inherit;corner-shape:inherit}:root .choice{border-radius:var(--chisel);corner-shape:bevel}:root .meter{border-radius:var(--chisel-sm);corner-shape:bevel}:root .meter-track{border-radius:inherit;corner-shape:inherit}:root .meter.uses{border-radius:var(--chisel-sm) var(--chisel-sm) 0 0;corner-shape:bevel}:root .meter.timer{border-radius:0}:root .icon-button{border-radius:var(--radius-pill);corner-shape:round}:root .option-tile{border-radius:var(--chisel-lg);corner-shape:bevel}:root .option-medallion{border-radius:var(--radius-pill);corner-shape:round}:root .option-tile.instant .option-hint{border-radius:var(--radius-pill);corner-shape:round}:root .list-row{border-radius:var(--chisel);corner-shape:bevel}:root .icon-button.icon-button-field{border-radius:var(--chisel);corner-shape:bevel}:root .nav-shortcut-badge{border-radius:var(--radius-pill);corner-shape:round}:root .nav-shortcut-attention:before{border-radius:inherit;corner-shape:inherit}:root .nav-popup{border-radius:var(--chisel);corner-shape:bevel}:root .nav-link{border-radius:var(--chisel);corner-shape:bevel}:root .nav-more-count{border-radius:var(--radius-pill);corner-shape:round}:root .drifting-ash .drifting-fleck{border-radius:45% 55% 38% 62%;corner-shape:round}:root .name-banner{border-radius:var(--chisel-lg);corner-shape:bevel}:root .company-place{border-radius:var(--chisel-lg);corner-shape:bevel}:root .company-place-hero{border-radius:var(--chisel-lg);corner-shape:bevel}:root .company-place-hero .portrait.large{border-radius:0}:root .company-place-emblem{border-radius:var(--radius-pill);corner-shape:round}:root .company-place-choose{border-radius:var(--chisel-lg);corner-shape:bevel}:root .recruit-step-number{border-radius:var(--radius-pill);corner-shape:round}:root .hero-class-face{border-radius:var(--chisel-lg);corner-shape:bevel}:root .hero-class-emblem{border-radius:var(--radius-pill);corner-shape:round}:root .hero-class-sworn{border-radius:var(--chisel);corner-shape:bevel}:root .hero-preview{border-radius:var(--chisel-lg);corner-shape:bevel}:root .hero-preview .portrait.large{border-radius:0}:root .hero-preview-emblem{border-radius:var(--radius-pill);corner-shape:round}:root .oath-card{border-radius:var(--chisel-lg);corner-shape:bevel}:root .detail-hero-skills{border-radius:var(--chisel);corner-shape:bevel}:root .detail-passive-ability{border-radius:var(--chisel);corner-shape:bevel}:root .detail-active-ability{border-radius:var(--chisel);corner-shape:bevel}:root .region-map-embark-guide{border-radius:var(--chisel-lg);corner-shape:bevel}:root .map-friend-button.button.quiet{border-radius:var(--chisel);corner-shape:bevel}:root .map-viewport{border-radius:var(--chisel-lg);corner-shape:bevel}:root .map-controls{border-radius:var(--chisel);corner-shape:bevel}:root .map-controls .button{border-radius:var(--chisel);corner-shape:bevel}:root .adventure-path-option{border-radius:var(--chisel);corner-shape:bevel}:root .formation-card{border-radius:var(--radius-lg);corner-shape:round}:root .formation-handle{border-radius:var(--card-inner) var(--card-inner) 0 0;corner-shape:round}:root .formation-card .formation-face .portrait,:root .formation-face .formation-crest{border-radius:var(--card-inner) var(--card-inner) 0 0;corner-shape:round}:root .formation-plate{border-radius:0}:root .formation-badge,:root .formation-swap-tag{border-radius:var(--radius-pill);corner-shape:round}:root .formation-vitals .meter{border-radius:var(--radius-pill);corner-shape:round}:root .formation-vitals .meter-track{border-radius:inherit;corner-shape:inherit}:root .formation-ability,:root .formation-note{border-radius:0 0 var(--card-inner) var(--card-inner);corner-shape:round}:root .formation-vacancy,:root .formation-ghost{border-radius:var(--radius-lg);corner-shape:round}:root .formation-dock{border-radius:var(--radius-lg);corner-shape:round}:root .formation-card.chip{border-radius:var(--radius-pill);corner-shape:round}:root .formation-card.chip .formation-handle{border-radius:var(--radius-pill);corner-shape:round}:root .formation-card.chip .portrait,:root .formation-card.chip .formation-crest{border-radius:var(--radius-pill);corner-shape:round}:root .lanes-help-mark{border-radius:var(--radius-pill);corner-shape:round}:root .embark-deck-emblem span{border-radius:var(--chisel);corner-shape:bevel}:root .embark-deck-emblem span:after{border-radius:var(--chisel-sm);corner-shape:bevel}:root .embark-loading-trail i{border-radius:50%;corner-shape:round}:root .button.quiet.quest-list-item{border-radius:var(--chisel);corner-shape:bevel}:root .quest-outcome{border-radius:var(--chisel);corner-shape:bevel}:root .quest-choice-result{border-radius:0 var(--chisel) var(--chisel) 0;corner-shape:bevel}:root .button.quiet.quest-aspect-toggle{border-radius:0}:root .quest-aspect-toggle:focus-visible{border-radius:var(--chisel-sm);corner-shape:bevel}:root .npc-conversation-panel{border-radius:var(--chisel-lg);corner-shape:bevel}:root .npc-card.button{border-radius:var(--chisel-lg);corner-shape:bevel}:root .npc-card-badges .badge{border-radius:var(--radius-pill);corner-shape:round}:root .npc-conversation-profile>.portrait.medium{border-radius:50% 50% 10px 10px;corner-shape:round}:root .npc-quest-journal-link.button.quiet{border-radius:0}:root .haven-stash-gold-tag{border-radius:var(--radius-pill);corner-shape:round}:root .haven-home-options .option-tile,:root .haven-subpage-options .option-tile{border-radius:var(--chisel-lg);corner-shape:bevel}:root .road-preview{border-radius:var(--chisel);corner-shape:bevel}:root .hero-summary{border-radius:var(--chisel);corner-shape:bevel}:root .hero-card{border-radius:var(--chisel-lg);corner-shape:bevel}:root .hero-card-portrait{border-radius:var(--chisel);corner-shape:bevel}:root .hero-crest{border-radius:50%;corner-shape:round}:root .hero-tab-count{border-radius:var(--radius-pill);corner-shape:round}:root .equipment-silhouette{border-radius:var(--chisel-lg);corner-shape:bevel}:root .equipment-slot{border-radius:var(--chisel);corner-shape:bevel}:root .gear-socket{border-radius:50%;corner-shape:round}:root .equipment-slot.imbued:after{border-radius:50%;corner-shape:round}:root .equipment-piece{border-radius:var(--chisel-lg);corner-shape:bevel}:root .equipment-piece .gear-art.vacant{border-radius:0}:root .equipment-compare{border-radius:var(--chisel);corner-shape:bevel}:root .equipment-option{border-radius:var(--chisel);corner-shape:bevel}:root .talent-tree{border-radius:var(--chisel-lg);corner-shape:bevel}:root .talent-medallion{border-radius:50%;corner-shape:round}:root .talent-node-name{border-radius:var(--chisel);corner-shape:bevel}:root .talent-pips span{border-radius:50%;corner-shape:round}:root .talent-detail{border-radius:var(--chisel-lg);corner-shape:bevel}:root .hero-skill{border-radius:var(--chisel);corner-shape:bevel}:root .hero-skill-level{border-radius:50%;corner-shape:round}:root .equip-row{border-radius:var(--chisel);corner-shape:bevel}:root .run-strip{border-radius:var(--chisel);corner-shape:bevel}:root .lane{border-radius:9px;corner-shape:round}:root .lane-blocked{border-radius:8px;corner-shape:round}:root .encounter{border-radius:8px;corner-shape:round}:root .encounter:after{border-radius:8px;corner-shape:round}:root .encounter>.meter.timer{border-radius:7px 7px 0 0;corner-shape:round}:root .encounter-art{border-radius:inherit;corner-shape:inherit}:root .encounter-face{border-radius:0 0 8px 8px;corner-shape:round}:root .encounter-call{border-radius:5px;corner-shape:round}:root .detail-art{border-radius:var(--radius-md);corner-shape:round}:root .encounter-peek{border-radius:7px 7px 0 0;corner-shape:round}:root .road-landmark-icon{border-radius:var(--chisel);corner-shape:bevel}:root .hero-on-board{border-radius:8px;corner-shape:round}:root .hero-on-board .portrait.small{border-radius:8px 8px 0 0;corner-shape:round}:root .hero-on-board .meter{border-radius:0 0 4px 4px;corner-shape:round}:root .button.ability-progress-button>.ability-progress-fill{border-radius:inherit;corner-shape:inherit}:root .lane-tag{border-top-left-radius:var(--radius-sm);border-top-right-radius:0;border-bottom-left-radius:0;border-bottom-right-radius:var(--radius-md);corner-shape:round}:root .slot.empty,:root .slot.locked{border-radius:5px;corner-shape:round}:root .slot-badge.badge{border-radius:.25em;corner-shape:round}:root .lane-card{border-radius:5px;corner-shape:round}:root .lane-card>.meter.uses{border-radius:4px 4px 0 0;corner-shape:round}:root .chip-unattuned{border-radius:var(--radius-sm);corner-shape:round}:root .sweep-mark{border-radius:6px;corner-shape:round}:root .chip-staged{border-radius:var(--radius-pill);corner-shape:round}:root .set-aside-cards{border-radius:5px;corner-shape:round}:root .shed-tuck{border-radius:5px 0 0 5px;corner-shape:round}:root .hand-inert-mark{border-radius:50%;corner-shape:round}:root .plan-conflicts{border-radius:var(--chisel);corner-shape:bevel}:root .slot.conflicted:before{border-radius:4px 0 0 4px;corner-shape:round}:root .slip-badge{border-radius:var(--chisel);corner-shape:bevel}:root .combo-pip{border-radius:var(--radius-pill);corner-shape:round}:root .run-bar .foresight{border-radius:var(--chisel);corner-shape:bevel}:root .piles{border-radius:var(--chisel);corner-shape:bevel}:root .pile-card{border-radius:var(--radius-sm);corner-shape:round}:root .pile-card-count{border-radius:var(--radius-pill);corner-shape:round}:root .pile-preview{border-radius:var(--radius-md);corner-shape:round}:root .pile-preview-art img{border-bottom-right-radius:var(--radius-md);corner-shape:round}:root .encounter-actions,:root .encounter-extraction,:root .encounter-omen{border-radius:var(--chisel);corner-shape:bevel}:root .slot-veil{corner-shape:round}:root .veil-motion{border-radius:inherit;corner-shape:inherit}:root .veil-motion.miasma .mote{border-radius:50%;corner-shape:round}:root .veil-motion.pyre .mote{border-radius:50%;corner-shape:round}:root .slot.empty>button.slot-elements{border-radius:.4em;corner-shape:round}:root .element-chip{border-radius:.4em;corner-shape:round}:root .card-aura{border-radius:var(--radius-md);corner-shape:round}:root .inbox-item{border-radius:var(--chisel);corner-shape:bevel}:root .unread-dot{border-radius:50%;corner-shape:round}:root .chat-menu-popup{border-radius:var(--chisel);corner-shape:bevel}:root .chat-menu-item{border-radius:var(--chisel);corner-shape:bevel}:root .chat-new-message-result{border-radius:var(--chisel);corner-shape:bevel}:root .chat-message-selectable.button{border-radius:var(--chisel);corner-shape:bevel}:root .social-player-list-button.button.quiet{border-radius:var(--chisel);corner-shape:bevel}:root .recent-player-card{border-radius:var(--chisel);corner-shape:bevel}:root .recent-player-button.button.quiet{border-radius:var(--chisel);corner-shape:bevel}:root .social-player-id-copy.button.quiet{border-radius:var(--chisel);corner-shape:bevel}:root .social-player-id-tag{border-radius:var(--chisel-sm);corner-shape:bevel}:root .player-search-result{border-radius:var(--chisel);corner-shape:bevel}:root .badge-sash,:root .worn-badges,:root .badge-entry{border-radius:var(--chisel);corner-shape:bevel}:root .activity-session{border-radius:var(--chisel);corner-shape:bevel}:root .backpack-button{border-radius:var(--radius-pill);corner-shape:round}:root .slot-cell{border-radius:var(--chisel);corner-shape:bevel}:root .item-chip{border-radius:var(--chisel);corner-shape:bevel}:root .slot-cell.fixed:before{border-radius:var(--chisel);corner-shape:bevel}:root .item-ghost{border-radius:var(--chisel);corner-shape:bevel}:root .backpack-trash{border-radius:var(--chisel);corner-shape:bevel}:root .trade-counter{border-radius:var(--chisel);corner-shape:bevel}:root .haul-notice{border-radius:var(--chisel-lg);corner-shape:bevel}:root .haul-stack{border-radius:var(--radius-pill);corner-shape:round}:root .haul-art{border-radius:50%;corner-shape:round}:root .chest-step{border-radius:var(--chisel-lg);corner-shape:bevel}:root .item-detail{border-radius:var(--chisel);corner-shape:bevel}:root .coop-overview-icon{border-radius:50%;corner-shape:round}:root .coop-party-column{border-radius:var(--chisel);corner-shape:bevel}:root .coop-friend-choice{border-radius:var(--chisel-lg);corner-shape:bevel}:root .coop-friend-choice-mark{border-radius:50%;corner-shape:round}:root .trade-stash-item{border-radius:var(--chisel);corner-shape:bevel}:root .trade-post-card{border-radius:var(--chisel);corner-shape:bevel}:root .exchange-request-details{border-radius:var(--chisel);corner-shape:bevel}:root .exchange-chat-log{border-radius:var(--chisel);corner-shape:bevel}:root .crafting-banner{border-radius:var(--chisel-lg);corner-shape:bevel}:root .recipe-card{border-radius:var(--chisel);corner-shape:bevel}:root .recipe-odds>div{border-radius:var(--chisel);corner-shape:bevel}:root .buyback{border-radius:var(--chisel);corner-shape:bevel}:root .stall-item-art{border-radius:var(--chisel);corner-shape:bevel}:root .exchange-side,:root .exchange-picker{border-radius:var(--chisel);corner-shape:bevel}:root .account-stat{border-radius:var(--chisel);corner-shape:bevel}:root .duel-record{border-radius:var(--chisel);corner-shape:bevel}:root .hand-set-aside{border-radius:8px;corner-shape:round}:root .adventure-result-pack{border-radius:var(--chisel-lg);corner-shape:bevel}:root .adventure-result-hero-heading .portrait.small{border-radius:50%;corner-shape:round}:root .admin-sections a,:root .admin-kind{border-radius:var(--radius-pill);corner-shape:round}:root .admin-record-list a{border-radius:var(--chisel);corner-shape:bevel}:root .admin-json{border-radius:var(--chisel);corner-shape:bevel}:root .schema-group{border-radius:var(--chisel);corner-shape:bevel}:root .armory-item-preview-art{border-radius:var(--chisel);corner-shape:bevel}@media(max-width:700px){:root .armory-chest-column .slot-cell{border-radius:var(--chisel);corner-shape:bevel}}@media(max-width:700px){:root .armory-chest-column .item-chip{border-radius:var(--chisel);corner-shape:bevel}}:root .hero-tile{border-radius:var(--chisel);corner-shape:bevel}:root .drag-to-equip{border-radius:var(--chisel);corner-shape:bevel}:root .gear-piece-handle{border-radius:var(--chisel-lg);corner-shape:bevel}:root .deck-fan img{border-radius:var(--radius-sm);corner-shape:round}:root .deck-fan.empty{border-radius:var(--radius-sm);corner-shape:round}:root .deck-summary{border-radius:var(--chisel-lg);corner-shape:bevel}:root .deck-summary-bar{border-radius:var(--radius-pill);corner-shape:round}:root .deck-row{border-radius:var(--chisel);corner-shape:bevel}:root .deck-row-open:focus-visible{border-radius:var(--chisel);corner-shape:bevel}:root .deck-row-heroes .portrait.small,:root .deck-pool-hero .portrait.small,:root .deck-filter .portrait.small{border-radius:var(--radius-pill);corner-shape:round}:root .deck-filter{border-radius:var(--radius-pill);corner-shape:round}:root .deck-preview-art{border-radius:var(--radius-md);corner-shape:round}:root .about-features li{border-radius:var(--chisel-lg);corner-shape:bevel}:root .about-art-open{border-radius:var(--chisel-lg);corner-shape:bevel}:root .about-art img{border-radius:var(--chisel-lg);corner-shape:bevel}:root .about-step{border-radius:var(--radius-pill);corner-shape:round}:root .about-lightbox img{border-radius:var(--chisel-lg);corner-shape:bevel}:root .about-ai{border-radius:var(--chisel-lg);corner-shape:bevel}:root .codex-browser-list,:root .codex-detail>section,:root .codex-detail>.codex-draft{border-radius:var(--chisel-lg);corner-shape:bevel}:root .codex-collection-fields,:root .codex-collection-contents,:root .codex-collection-json{border-radius:var(--chisel-lg);corner-shape:bevel}:root .codex-lane{border-radius:var(--chisel);corner-shape:bevel}:root .codex-slot-cell{border-radius:var(--chisel);corner-shape:bevel}:root .codex-item-states article,:root .codex-equipment-tile,:root .codex-ability-feature{border-radius:var(--chisel);corner-shape:bevel}:root .codex-item-art{border-radius:var(--chisel);corner-shape:bevel}:root .codex-drop-art{border-radius:var(--chisel);corner-shape:bevel}:root .codex-encounter-preview>img,:root .codex-boss-preview>img{border-radius:var(--chisel);corner-shape:bevel}:root .codex-ability-list article,:root .codex-talent{border-radius:var(--chisel);corner-shape:bevel}:root .codex-card-ability{border-radius:var(--chisel);corner-shape:bevel}:root .codex-card-ability-options{border-radius:var(--chisel);corner-shape:bevel}:root .codex-json{border-radius:var(--chisel);corner-shape:bevel}:root .codex-draft-actions{border-radius:0 0 var(--chisel-lg) var(--chisel-lg);corner-shape:bevel}}
