:root{--button-shadow:3px 3px 0 var(--shadow-soft);--app-button-font-size:clamp(.66rem, .44rem + .38vmin, .86rem);--app-button-letter-spacing:clamp(.04em, .025em + .12vmin, .12em);--app-button-font-size-compact:clamp(.58rem, .4rem + .32vmin, .72rem);--app-button-letter-spacing-compact:clamp(.035em, .02em + .1vmin, .1em);--app-button-font-size-icon:clamp(.76rem, .5rem + .42vmin, 1rem)}.page-layout{gap:18px;animation:.28s page-enter;display:grid}.campaigns-page-layout{align-items:start;width:100%}.settings-page-layout{width:min(100%,1600px);margin:0 auto}.settings-page-shell{grid-template-columns:minmax(300px,340px) minmax(0,1fr);align-items:start;gap:32px;display:grid}.settings-sidebar{position:sticky;top:96px}.settings-sidebar-shell{border:1px solid var(--line-soft);background:linear-gradient(180deg, #30363ed1, #1c2127eb), var(--panel-pattern), var(--panel-pattern);background-size:auto,16px 16px,16px 16px;border-radius:18px;gap:16px;padding:18px;display:grid;box-shadow:0 18px 36px #0000002e,inset 0 0 0 1px #ffffff06}.settings-sidebar-card{border:1px solid color-mix(in srgb, var(--line-medium) 74%, transparent);background:var(--surface-card);border-radius:16px;gap:12px;padding:22px;display:grid;box-shadow:inset 0 0 0 1px #ffffff05}.settings-sidebar-copy{max-width:28ch;margin:0}.settings-sidebar-well,.settings-panel-well{border:1px solid color-mix(in srgb, var(--line-subtle) 88%, transparent);background:var(--surface-well);border-radius:16px;gap:16px;padding:16px;display:grid;box-shadow:inset 0 0 0 1px #ffffff04}.settings-subpanel-well{border:1px solid color-mix(in srgb, var(--line-soft) 82%, transparent);background:var(--surface-card);border-radius:14px;gap:14px;padding:14px;display:grid;box-shadow:inset 0 0 0 1px #ffffff05}.settings-sidebar-meta{gap:4px;display:grid}.settings-sidebar-meta p{margin:0}.settings-panel-divider{background:#fff1d714;height:1px}.settings-page-layout .settings-sidebar-card h1{font-family:var(--font-pixel);letter-spacing:.03em;color:var(--text-bright);text-shadow:var(--pixel-text-shadow);word-break:break-word;overflow-wrap:anywhere;max-width:100%;margin:0;font-size:clamp(1.05rem,1.35vw,1.55rem);line-height:1.16}.settings-sidebar-nav{gap:12px;display:grid}.settings-sidebar-link{border:1px solid color-mix(in srgb, var(--line-soft) 90%, transparent);background:var(--surface-card-raised);color:inherit;text-align:left;border-radius:16px;gap:8px;padding:16px 18px;transition:border-color .16s,transform .16s,box-shadow .16s,background-color .16s;display:grid}.settings-sidebar-link small{color:var(--text-muted);font-size:.97rem;line-height:1.45}.settings-sidebar-link:hover,.settings-sidebar-link:focus-visible{border-color:var(--accent-border-medium);box-shadow:0 12px 24px #00000024, inset 0 0 0 1px var(--accent-border-faint);outline:none;transform:translateY(-1px)}.settings-sidebar-link.is-active{border-color:var(--accent-border-medium);background:color-mix(in srgb, var(--accent-surface-muted) 72%, var(--surface-card-raised));box-shadow:0 14px 28px #0000002e, inset 0 0 0 1px var(--accent-border-faint)}.settings-content{gap:20px;min-width:0;display:grid}.settings-panel{border:1px solid var(--line-subtle);background:linear-gradient(180deg, #2c3139db, #1c2127f5), var(--panel-pattern), var(--panel-pattern);background-size:auto,16px 16px,16px 16px;border-radius:18px;box-shadow:0 18px 36px #00000029,inset 0 0 0 1px #ffffff05}.settings-panel .section-card-header{padding:24px 24px 0}.settings-panel .section-card-body{padding:20px 24px 24px}.settings-panel .section-card-title{color:var(--accent-text)}.settings-panel .theme-accent-panel{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);align-items:stretch}.settings-summary-card strong,.settings-action-card strong{color:var(--text-bright);font-family:var(--font-pixel);letter-spacing:.06em;font-size:1rem}.settings-summary-card p,.settings-action-card p{color:var(--text-muted);margin:0}.settings-summary-swatches{gap:10px;margin-top:2px;display:flex}.settings-summary-swatch{border:1px solid var(--line-soft);border-radius:10px;width:28px;height:28px;box-shadow:inset 0 0 0 1px #ffffff14}.settings-actions-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.settings-action-card{border:1px solid color-mix(in srgb, var(--line-soft) 92%, transparent);background:var(--surface-card-raised);border-radius:16px;align-content:start;gap:10px;padding:18px;display:grid;box-shadow:0 10px 20px #0000001f,inset 0 0 0 1px #ffffff05}.settings-action-footer{border-top:1px solid #fff1d714;margin-top:auto;padding-top:16px;display:flex}.settings-action-footer>.button-reset,.settings-action-footer>.primary-action,.settings-action-footer>.secondary-action,.settings-action-footer>.neutral-action{justify-content:center;width:100%}.settings-inline-note{margin:0}.settings-privacy-panel{gap:18px;display:grid}.settings-privacy-list{gap:0;width:100%;display:grid}.settings-privacy-copy{flex:auto;gap:4px;min-width:0;display:grid}.settings-privacy-copy small{color:var(--text-muted);line-height:1.55}.settings-privacy-label{color:var(--text);line-height:1.45}.settings-privacy-item{border:1px solid color-mix(in srgb, var(--line-soft) 88%, transparent);background:var(--surface-card-raised);border-radius:14px;align-items:center;gap:12px;padding:12px 14px;display:flex}.settings-privacy-toggle{flex:none;align-self:center;margin-left:auto}.settings-privacy-item+.settings-privacy-item{margin-top:10px}.settings-section-actions{border-top:1px solid #fff1d714;justify-content:space-between;align-items:center;gap:16px;padding-top:16px;display:flex}.settings-security-feedback{margin:0}.settings-panel .theme-accent-config-card{border-color:color-mix(in srgb, var(--line-soft) 86%, transparent);background:var(--surface-card-raised);border-radius:16px;padding:18px;box-shadow:0 10px 20px #0000001a,inset 0 0 0 1px #ffffff05}.settings-panel .theme-accent-config-separator{display:none}.settings-panel .theme-accent-preview-block{padding:14px}.settings-panel .theme-accent-preview{border:1px solid var(--line-subtle);border-radius:var(--pixel-radius);background:var(--surface-card);grid-template-rows:auto minmax(0,1fr);gap:10px;padding:16px;display:grid}@media (width<=1240px){.settings-page-layout{width:min(100%,1320px)}.settings-page-shell{grid-template-columns:minmax(240px,300px) minmax(0,1fr);gap:24px}.settings-page-layout .settings-sidebar-card h1{font-size:clamp(1.2rem,1.4vw,1.7rem)}.settings-panel .theme-accent-control-row{flex-wrap:wrap;align-items:center}.settings-panel .theme-accent-control-row>.theme-accent-hue-slider,.settings-panel .theme-accent-control-row>.field,.settings-panel .theme-accent-control-row>.slider-field{flex:280px;min-width:220px}.settings-panel .theme-accent-preview-grid,.settings-actions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=980px){.settings-page-shell{grid-template-columns:1fr;gap:18px}.settings-sidebar{position:static}.settings-sidebar-card{padding:20px}.settings-sidebar-nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.settings-sidebar-link{align-content:start;height:100%}.settings-content{gap:18px}.settings-panel .section-card-header,.settings-panel .section-card-body{padding-left:20px;padding-right:20px}.settings-panel .theme-accent-panel{grid-template-columns:1fr;align-items:stretch}.settings-panel .theme-accent-controls,.settings-panel .theme-accent-preview-block{width:100%;min-width:0}.settings-summary-grid,.settings-actions-grid{grid-template-columns:1fr}}@media (width<=720px){.settings-page-layout{width:min(100%,100vw - 24px)}.settings-sidebar-nav{grid-template-columns:1fr}.settings-panel .theme-accent-control-row{grid-template-columns:56px minmax(0,1fr) 54px;align-items:center;gap:10px;display:grid}.settings-panel .theme-accent-control-row>.theme-accent-hue-swatch{width:56px;height:56px}.settings-panel .theme-accent-control-row>.theme-accent-hue-slider,.settings-panel .theme-accent-control-row>.field,.settings-panel .theme-accent-control-row>.slider-field{width:100%;min-width:0}.settings-panel .theme-accent-control-row>.theme-accent-hue-value{order:initial;text-align:right}.settings-panel .theme-accent-control-row>.theme-accent-reset-button{grid-column:1/-1;justify-content:center;width:100%;min-width:0}.settings-panel .theme-accent-preview-grid,.settings-actions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-section-actions{flex-direction:column;align-items:stretch}.settings-section-actions>.primary-action,.settings-section-actions>.secondary-action,.settings-section-actions>.neutral-action,.settings-section-actions>.button-reset{justify-content:center;width:100%}}@media (width<=520px){.campaign-selection-card{padding-top:46px}.campaign-card-corner-actions{z-index:3;display:inline-flex;position:absolute;top:10px;right:10px}.campaign-card-corner-action{min-height:38px}.campaign-card-leave-button{min-width:64px;font-size:var(--app-button-font-size-compact);padding-inline:12px}.campaign-card-heading{padding-right:0}.campaign-card-inline-danger-action{display:none}.campaign-card-title{max-width:100%}.campaign-list-actions-primary,.campaign-list-actions-primary-master{grid-template-columns:1fr}.campaign-list-actions-secondary{grid-template-columns:repeat(3,minmax(0,1fr))}.campaign-list-actions-secondary-player{grid-template-columns:1fr}.campaign-list-actions-secondary>.button-reset{letter-spacing:clamp(.035em,.58vw,.09em);white-space:normal;overflow-wrap:anywhere;text-wrap:balance;min-height:44px;padding-inline:8px;font-size:clamp(.56rem,2.35vw,.7rem);line-height:1.25}.settings-panel .theme-accent-preview-grid,.settings-actions-grid{grid-template-columns:1fr}.settings-panel .section-card-header,.settings-panel .section-card-body{padding-left:14px;padding-right:14px}.settings-panel-well,.settings-subpanel-well,.settings-action-card{padding:12px}}.profile-page{width:100%;min-height:calc(100vh - 96px);position:relative;overflow:visible}.profile-page-backdrop{background:radial-gradient(circle at center, transparent 42%, #06080c6b 100%), linear-gradient(90deg, color-mix(in srgb, var(--profile-color-left,#6f88c7) 25%, transparent), transparent 22%, transparent 78%, color-mix(in srgb, var(--profile-color-right,#d16a6f) 25%, transparent));filter:saturate(1.02);pointer-events:none;background-position:50%;background-size:auto,auto;position:fixed;inset:0}.profile-page-layout{z-index:1;justify-items:center;width:100%;padding:32px 20px 56px;animation:.28s page-enter;display:grid;position:relative}.profile-page-shell{justify-items:stretch;gap:0;width:100%;max-width:1600px;display:grid}.profile-page-cover{border:1px solid var(--line-soft);background:radial-gradient(circle at 18% 28%,#768fc22e,#0000 28%),radial-gradient(circle at 82% 26%,#ba585838,#0000 30%),linear-gradient(135deg,#323a52f5,#1c212dfa 34%,#482231fa 76%,#803d36f0);border-radius:18px;width:100%;min-height:390px;position:relative;overflow:hidden;box-shadow:0 26px 60px #00000052,inset 0 0 0 1px #ffffff0a}.profile-page-cover-art,.profile-page-cover-grid,.profile-page-cover-glow{pointer-events:none;position:absolute;inset:0}.profile-page-cover-art{background-position:50%;background-repeat:no-repeat;background-size:cover}.profile-page-cover-grid{background-color:#0000;background-image:linear-gradient(90deg,#ffffff0a 1px,#0000 1px),linear-gradient(#ffffff0a 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:32px 32px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;-webkit-mask-image:linear-gradient(#000000d1,#0000 88%);mask-image:linear-gradient(#000000d1,#0000 88%)}.profile-page-cover-glow{background:linear-gradient(#ffffff0d,#0000 34%),radial-gradient(circle,#ffffff0f,#0000 58%)}.profile-page-card{border:1px solid var(--line-soft);background:linear-gradient(180deg, #272c34, #191d23), var(--panel-pattern), var(--panel-pattern);background-size:auto,16px 16px,16px 16px;border-top:0;border-radius:24px;gap:28px;width:100%;max-width:1450px;margin:-64px auto 0;padding:0 30px 32px;display:grid;position:relative;box-shadow:0 28px 72px #00000057,inset 0 0 0 1px #ffffff06}.profile-page-status{text-align:center;align-content:center;justify-items:center;gap:8px;min-height:420px;padding:96px 24px 48px;display:grid}.profile-page-status-loading{justify-self:center;justify-items:stretch;gap:22px;width:100%}.page-loading-shell{gap:18px;display:grid}.page-loading-card{border:1px solid var(--line-soft);background:linear-gradient(180deg, #272c34f5, #181c22fa), var(--panel-pattern);border-radius:20px;gap:14px;padding:22px;display:grid;box-shadow:inset 0 0 0 1px #ffffff05}.page-loading-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.page-loading-stack{gap:12px;display:grid}.profile-page-loading-header{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:28px;margin-top:-22px;display:grid}.profile-page-loading-avatar-wrap{background:linear-gradient(145deg, color-mix(in srgb, var(--profile-color-left,#6f88c7) 42%, #07090df0), #0c0e13f5 38%, color-mix(in srgb, var(--profile-color-right,#d16a6f) 38%, #090a0ef5));box-shadow:0 0 0 1px color-mix(in srgb, var(--line-medium) 86%, transparent), 0 18px 30px #00000047, -10px -8px 22px color-mix(in srgb, var(--profile-color-left,#6f88c7) 20%, transparent), 10px 10px 24px color-mix(in srgb, var(--profile-color-right,#d16a6f) 18%, transparent), inset 0 0 0 1px color-mix(in srgb, var(--line-medium) 86%, transparent);border-radius:30px;place-items:center;padding:6px;display:grid;position:relative}.profile-page-loading-status-bubble{border-radius:18px;width:180px;height:42px;position:absolute;top:-52px;left:50%;transform:translate(-50%)}.profile-page-loading-avatar{border-radius:24px;width:188px;height:188px}.profile-page-loading-header-copy{align-content:start;gap:18px;padding-top:22px;display:grid}.profile-page-loading-header-top{justify-content:space-between;align-items:start;gap:16px;display:flex}.profile-page-loading-title-stack{gap:12px;display:grid}.profile-page-loading-header-action{border-radius:var(--pixel-radius);width:142px;height:38px}.profile-page-loading-meta{flex-wrap:wrap;gap:14px;display:flex}.profile-page-loading-body{gap:20px;padding:20px}.profile-page-loading-friends-grid{grid-template-columns:minmax(0,112px);display:grid}.profile-page-loading-friend-card{border:1px solid color-mix(in srgb, var(--line-medium) 72%, transparent);background:linear-gradient(180deg, color-mix(in srgb, var(--surface-card) 100%, #2e343ce0), color-mix(in srgb, var(--surface-card-strong) 100%, #1e232af0)), var(--panel-pattern), var(--panel-pattern);border-radius:16px;justify-items:center;gap:12px;padding:14px;display:grid}.profile-page-loading-friend-avatar{border-radius:14px;width:64px;height:84px}.profile-page-loading-entity-card{padding:14px}.profile-page-loading-chip-row{flex-wrap:wrap;gap:8px;display:flex}.profile-page-loading-comment-input{border-radius:14px;width:100%;height:104px}.profile-page-status strong{color:var(--text-bright);font-family:var(--font-pixel);letter-spacing:.08em;font-size:1rem}.profile-page-status-error{color:var(--state-danger-text-soft)}.profile-page-header{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:28px;margin-top:-22px;display:grid}.profile-page-avatar-wrap{isolation:isolate;background:linear-gradient(145deg, color-mix(in srgb, var(--profile-color-left,#6f88c7) 42%, #07090df0), #0c0e13f5 38%, color-mix(in srgb, var(--profile-color-right,#d16a6f) 38%, #090a0ef5));box-shadow:0 0 0 1px color-mix(in srgb, var(--line-medium) 86%, transparent), 0 18px 30px #00000047, -10px -8px 22px color-mix(in srgb, var(--profile-color-left,#6f88c7) 20%, transparent), 10px 10px 24px color-mix(in srgb, var(--profile-color-right,#d16a6f) 18%, transparent), inset 0 0 0 1px color-mix(in srgb, var(--line-medium) 86%, transparent);border-radius:30px;padding:6px;position:relative}.profile-page-avatar-wrap:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(circle at 22% 24%, color-mix(in srgb, var(--profile-color-left,#6f88c7) 30%, transparent), transparent 56%), radial-gradient(circle at 80% 78%, color-mix(in srgb, var(--profile-color-right,#d16a6f) 28%, transparent), transparent 58%);filter:blur(22px);opacity:.78;border-radius:34px;position:absolute;inset:-10px}.profile-page-avatar-status-bubble{--profile-status-bubble-overlap:0px;z-index:2;border:1px solid color-mix(in srgb, var(--line-medium) 86%, transparent);width:max-content;max-width:224px;color:var(--text-bright);text-align:center;transform:translateX(-50%) translateY(calc(-100% + var(--profile-status-bubble-overlap)));background:#43464dfa;border-radius:18px;flex-wrap:nowrap;justify-content:center;align-items:center;gap:8px;padding:10px 14px;font-size:.78rem;line-height:1.35;display:inline-flex;position:absolute;top:0;left:50%;box-shadow:0 18px 28px #0000003d}.profile-page-avatar-status-bubble .profile-page-status-bubble-emoji{order:1}.profile-page-avatar-status-bubble .profile-page-status-bubble-text{-webkit-line-clamp:unset;line-clamp:unset;text-overflow:clip;order:2;display:block;overflow:visible}.profile-page-status-bubble-text{-webkit-line-clamp:2;line-clamp:2;text-overflow:ellipsis;word-break:break-word;-webkit-box-orient:vertical;max-width:100%;display:-webkit-box;overflow:hidden}.profile-page-avatar-status-bubble.button-reset{border:1px solid color-mix(in srgb, var(--line-medium) 86%, transparent);color:var(--text-bright);background:#43464dfa;box-shadow:0 18px 28px #0000003d}.profile-page-avatar-status-bubble-trigger{cursor:pointer;transition:transform .22s,border-color .22s,background-color .22s,box-shadow .22s}.profile-page-avatar-status-bubble-trigger:hover,.profile-page-avatar-status-bubble-trigger:focus-visible{transform:translateX(-50%) translateY(calc(-100% + var(--profile-status-bubble-overlap) - 2px));border-color:color-mix(in srgb, var(--line-medium) 100%, transparent);background:#4a4d54fc;outline:none;box-shadow:0 18px 30px #00000047}.profile-page-avatar-status-bubble-trigger.is-empty{color:var(--text-soft)}.profile-page-avatar-status-bubble:after{content:"";border-right:1px solid color-mix(in srgb, var(--line-medium) 86%, transparent);border-bottom:1px solid color-mix(in srgb, var(--line-medium) 86%, transparent);background:#43464df5;width:10px;height:10px;transition:transform .22s,border-color .22s,background-color .22s,box-shadow .22s;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)rotate(45deg)}.profile-page-avatar-status-bubble-trigger:hover:after,.profile-page-avatar-status-bubble-trigger:focus-visible:after{border-right-color:color-mix(in srgb, var(--line-medium) 100%, transparent);border-bottom-color:color-mix(in srgb, var(--line-medium) 100%, transparent);background:#4a4d54fc}.profile-page-avatar-status-bubble-static{white-space:nowrap;max-width:320px;position:relative;top:auto;left:auto;transform:none}.profile-page-avatar-status-bubble-static .profile-page-status-bubble-emoji{order:1}.profile-page-avatar-status-bubble-static>span:last-child{order:2}.profile-page-avatar-status-bubble-static:after{left:50%}.profile-page-status-modal-backdrop{z-index:32;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);overscroll-behavior:contain;background:#101114b8;place-items:center;padding:92px 20px 24px;display:grid;position:fixed;inset:0}.profile-page-status-modal{gap:16px;width:min(100%,520px);padding:22px;display:grid;overflow:auto}.profile-page-status-modal-header{justify-content:space-between;align-items:start;gap:12px;display:flex}.profile-page-status-modal-header>div{gap:4px;display:grid}.profile-page-status-modal-header strong{color:var(--text-bright);font-size:1.02rem;font-family:var(--font-pixel);letter-spacing:.08em;line-height:1.1}.profile-page-status-modal-header span{color:var(--text-soft)}.profile-page-status-modal-body{gap:16px;padding:16px;display:grid}.profile-page-status-modal-preview{justify-content:center;padding:6px 0 2px;display:grid}.profile-page-status-modal-preview .profile-page-avatar-status-bubble-static{white-space:normal;width:fit-content;max-width:min(100%,720px)}.profile-page-status-modal-preview .profile-page-status-bubble-text{-webkit-line-clamp:unset;line-clamp:unset;text-overflow:clip;max-width:none;display:block;overflow:visible}.profile-page-status-modal-composer{grid-template-columns:auto minmax(0,1fr);align-items:stretch;gap:12px;padding:16px;display:grid}.profile-page-status-modal-input-shell{min-width:0}.profile-page-status-modal-input{box-sizing:border-box;resize:none;border:1px solid var(--line-soft);background:color-mix(in srgb, var(--surface-card) 90%, #0c0f13e6);width:100%;min-height:96px;color:var(--text);font:inherit;border-radius:18px;padding:14px 16px;line-height:1.5}.profile-page-status-modal-input::placeholder{color:var(--text-soft)}.profile-page-status-modal-input:focus{border-color:var(--line-medium);outline:none}.profile-page-status-modal-composer-footer{justify-content:flex-end;align-items:center;gap:12px;padding:0 2px;display:flex}.profile-page-status-modal-emoji-shell{flex-direction:column;justify-content:center;align-self:center;align-items:center;gap:6px;display:inline-flex;position:static}.profile-page-status-modal-emoji-trigger{border:1px solid var(--line-subtle);background:color-mix(in srgb, var(--surface-card) 92%, #0f1217f5);border-radius:999px;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.05rem;transition:transform .16s,border-color .16s,background-color .16s;display:inline-flex}.profile-page-status-modal-emoji-trigger:hover,.profile-page-status-modal-emoji-trigger:focus-visible{border-color:var(--line-medium);background:var(--surface-card-hover);outline:none;transform:translateY(-1px)}.profile-page-status-modal-emoji-placeholder-icon{width:16px;height:16px;color:var(--text-bright)}.profile-page-status-modal-emoji-placeholder-icon .app-icon-svg,.profile-page-status-modal-emoji-trigger .app-icon-svg{color:var(--text-bright)}.profile-page-status-modal-emoji-clear{border:1px solid color-mix(in srgb, var(--state-danger-border-faint) 82%, var(--line-subtle));background:color-mix(in srgb, var(--state-danger-surface-soft) 28%, #0f1217f5);width:30px;height:30px;color:var(--state-danger-text);border-radius:999px;justify-content:center;align-items:center;padding:0;display:inline-flex}.profile-page-status-modal-emoji-clear:hover,.profile-page-status-modal-emoji-clear:focus-visible{border-color:var(--state-danger-border-medium);background:color-mix(in srgb, var(--state-danger-surface-soft) 42%, #0f1217fa);outline:none}.profile-page-status-modal-emoji-clear-icon{width:12px;height:12px}.profile-page-status-modal-counter{color:var(--text-soft);font-size:.78rem}.profile-page-status-modal-emoji-picker{border:1px solid var(--line-subtle);background:#2f343a;border-radius:18px;width:320px;overflow:hidden;box-shadow:0 24px 50px #00000057}.profile-page-status-modal-emoji-picker-floating{z-index:45;width:min(320px,100vw - 32px);max-width:min(320px,100vw - 32px);position:fixed}.profile-page-status-modal-emoji-picker>div{width:320px}.profile-page-status-modal-actions{justify-content:stretch;display:flex}.profile-page-status-modal-actions>.primary-action{justify-content:center;width:100%}.profile-page-avatar{object-fit:cover;background:#1e2228f5;border:3px solid #0e1014f0;border-radius:26px;width:164px;height:164px;display:block;box-shadow:0 20px 44px #00000052,0 0 0 1px #ffffff0f}.profile-page-avatar-fallback{color:var(--text-bright);font-family:var(--font-pixel);place-items:center;font-size:3rem;display:grid}.profile-page-avatar-icon{width:36px;height:36px}.profile-page-header-copy{gap:14px;padding-top:56px;display:grid}.profile-page-title-row{justify-content:space-between;align-items:start;gap:20px;display:flex}.profile-page-title-stack{text-align:left;justify-items:start;gap:6px;min-width:0;display:grid}.profile-page-title-stack h1{font-family:var(--font-pixel);letter-spacing:0;color:var(--text-bright);text-shadow:3px 3px #00000047;justify-self:start;margin:0;font-size:clamp(2.2rem,5vw,3.9rem);line-height:.92}.profile-page-title-stack p{color:var(--text-muted);justify-self:start;margin:0;font-size:.98rem}.profile-page-header-actions{flex:none;justify-content:flex-end;align-items:flex-start;gap:10px;display:flex}.profile-page-friendship-menu{position:relative}.profile-page-friendship-menu-trigger{justify-content:center;align-items:center;gap:10px;min-height:46px;padding-inline:16px;display:inline-flex}.profile-page-friendship-menu-popover{z-index:4;border:1px solid var(--line-subtle);border-radius:var(--pixel-radius);min-width:220px;box-shadow:0 18px 38px #00000038, inset 0 0 0 1px var(--accent-border-faint);background:#262b32fa;gap:8px;padding:12px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.profile-page-friendship-menu-trigger-icon{flex:none;width:16px;height:16px;display:block}.profile-page-friendship-menu-action{justify-content:center;align-items:center;gap:10px;width:100%;min-height:44px;display:inline-flex}.profile-page-friendship-menu-action-icon{flex:none;width:16px;height:16px;display:block}.profile-page-biography{max-width:62ch;color:var(--text);align-items:flex-start;gap:8px;display:flex}.profile-page-biography p{margin:0;line-height:1.8}.profile-page-biography-icon{width:14px;height:14px;color:var(--accent-text);flex:none;margin-top:.28rem}.profile-page-header-meta{color:var(--text-soft);flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.profile-page-header-meta-item{white-space:nowrap;align-items:center;gap:8px;line-height:1.2;display:inline-flex}.profile-page-header-meta-icon{width:14px;height:14px;color:var(--accent-text);flex:none}.profile-page-header-meta-separator{color:var(--text-soft);line-height:1}.profile-page-content{grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);align-items:start;gap:20px;display:grid}.profile-page-body{gap:20px;padding:20px}.profile-page-sidebar,.profile-page-main{gap:16px;display:grid}.profile-page-panel{border:1px solid var(--line-subtle);background:linear-gradient(180deg, #30363e85, #1c2127bd), var(--panel-pattern), var(--panel-pattern);background-size:auto,16px 16px,16px 16px;border-radius:16px;gap:10px;padding:18px;display:grid;position:relative;box-shadow:inset 0 0 0 1px #ffffff06}.profile-page-panel:before{content:"";border-radius:inherit;pointer-events:none;opacity:.6;background:linear-gradient(#ffffff08,#0000 36%);position:absolute;inset:0}.profile-page-panel-well{background:linear-gradient(180deg, color-mix(in srgb, var(--surface-well-heavy) 82%, #15181df5), color-mix(in srgb, var(--surface-well) 94%, #101317fa)), var(--panel-pattern), var(--panel-pattern);border-color:color-mix(in srgb, var(--line-soft) 84%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--surface-well-strong) 80%, transparent), 0 14px 28px #0000002e}.profile-page-panel-card{background:linear-gradient(180deg, color-mix(in srgb, var(--surface-card) 100%, #2e343ce0), color-mix(in srgb, var(--surface-card-strong) 100%, #1e232af0)), var(--panel-pattern), var(--panel-pattern);border-color:color-mix(in srgb, var(--line-medium) 76%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--line-faint) 70%, transparent), 0 18px 36px #0000002e}.profile-page-panel-raised{background:linear-gradient(180deg, color-mix(in srgb, var(--surface-card-raised) 100%, #3a4048e6), color-mix(in srgb, var(--surface-card) 100%, #21262ef2)), var(--panel-pattern), var(--panel-pattern);border-color:color-mix(in srgb, var(--line-medium) 84%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--line-faint) 72%, transparent), 0 22px 38px #0003}.profile-page-panel-large{align-content:start;min-height:180px}.profile-page-panel-detail{min-height:126px}.profile-page-panel-heading{gap:6px;display:grid}.profile-page-panel-heading strong,.profile-page-panel>strong,.profile-page-placeholder-copy strong{color:var(--text-bright);font-family:var(--font-pixel);letter-spacing:.06em;font-size:.98rem}.profile-page-panel-copy{max-width:56ch;color:var(--text-muted);margin:0;line-height:1.75}.profile-page-summary-body{gap:14px;display:grid}.profile-page-panel-note,.profile-page-empty-state{color:var(--text-soft);margin:0;line-height:1.65}.profile-page-feature-card{align-content:start;min-height:206px}.profile-page-friendship-actions{margin-top:4px}.profile-page-friendship-panel-top{justify-content:space-between;align-items:start;gap:12px;display:flex}.profile-page-friendship-heading{gap:6px;display:grid}.profile-page-friendship-heading>.label{margin:0;line-height:1;display:block}.profile-page-friendship-count{color:var(--text-soft);font-size:.82rem;line-height:1.4}.profile-page-friends-preview-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:10px;display:grid}.profile-page-friend-preview-card,.profile-page-friends-modal-card,.profile-page-comment-card{border:1px solid color-mix(in srgb, var(--line-medium) 80%, transparent);background:linear-gradient(180deg, color-mix(in srgb, var(--surface-card-raised) 92%, #ffffff08), color-mix(in srgb, var(--surface-card) 100%, #161b21f5)), var(--panel-pattern), var(--panel-pattern);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--line-faint) 68%, transparent), 0 12px 24px #0000001f;background-size:auto,16px 16px,16px 16px;border-radius:16px;position:relative}.profile-page-friend-preview-card:before,.profile-page-friends-modal-card:before,.profile-page-comment-card:before{content:"";border-radius:inherit;pointer-events:none;opacity:.32;background-color:#0000;background-image:linear-gradient(90deg,#ffffff09 1px,#0000 1px),linear-gradient(#ffffff08 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:16px 16px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0}.profile-page-friend-preview-card{z-index:var(--profile-page-friend-layer,0);text-align:left;color:inherit;align-content:start;justify-items:stretch;gap:8px;padding:10px;text-decoration:none;transition:transform .16s,border-color .16s,background-color .16s,box-shadow .16s;display:grid;overflow:visible}.profile-page-friend-preview-card:not(:hover):not(:focus-visible),.profile-page-friends-modal-card:not(:hover):not(:focus-visible){border-color:color-mix(in srgb, var(--line-medium) 80%, transparent);background:linear-gradient(180deg, color-mix(in srgb, var(--surface-card-raised) 92%, #ffffff08), color-mix(in srgb, var(--surface-card) 100%, #161b21f5)), var(--panel-pattern), var(--panel-pattern);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--line-faint) 68%, transparent), 0 12px 24px #0000001f;background-size:auto,16px 16px,16px 16px;transform:none}.profile-page-friend-preview-card:not(:hover):not(:focus-visible):before,.profile-page-friends-modal-card:not(:hover):not(:focus-visible):before{opacity:.32}.profile-page-friend-preview-card:hover,.profile-page-friend-preview-card:focus-visible,.profile-page-friends-modal-card:hover,.profile-page-friends-modal-card:focus-visible{border-color:var(--line-medium);background:linear-gradient(180deg, color-mix(in srgb, var(--surface-card-raised) 100%, #ffffff0a), color-mix(in srgb, var(--surface-card-hover) 100%, #1c2127fa)), var(--panel-pattern), var(--panel-pattern);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--line-faint) 72%, transparent), 0 16px 30px #0000002e;outline:none;transform:translateY(-1px)}.profile-page-friend-status-bubble{z-index:2;box-sizing:border-box;border:1px solid color-mix(in srgb, var(--line-medium) 86%, transparent);width:56px;max-width:calc(100% + 18px);color:var(--text-bright);text-align:center;background:#43464df5;border-radius:16px;justify-content:center;align-items:center;gap:5px;padding:8px 11px;font-size:.8rem;line-height:1.35;transition:transform .18s;display:inline-flex;position:absolute;top:-4px;left:50%;overflow:visible;transform:translate(-50%);box-shadow:0 12px 20px #0003}.profile-page-friend-status-bubble.button-reset{border:1px solid color-mix(in srgb, var(--line-medium) 86%, transparent);color:var(--text-bright);letter-spacing:0;background:#43464df5;font-size:.8rem;box-shadow:0 12px 20px #0003}.profile-page-friend-status-bubble.button-reset:hover,.profile-page-friend-status-bubble.button-reset:focus-visible{outline:none;width:max-content;max-width:calc(100% + 18px);padding:8px 10px;transform:translate(-50%)translateY(-2px)}.profile-page-friend-status-bubble.has-overflow-indicator.button-reset:hover,.profile-page-friend-status-bubble.has-overflow-indicator.button-reset:focus-visible{padding-right:22px}.profile-page-friend-status-bubble .profile-page-status-bubble-text{white-space:normal;text-align:center;word-break:break-word;order:2;display:none;overflow:hidden}.profile-page-friend-status-bubble:before{content:"...";font-family:var(--font-pixel);letter-spacing:.08em;text-align:center;order:2;justify-content:center;align-self:center;align-items:center;font-size:.8rem;line-height:1;animation:1.15s ease-in-out infinite profile-status-bubble-ellipsis;display:inline-flex;transform:translateY(-1px)}.profile-page-friend-status-bubble:hover:before,.profile-page-friend-status-bubble:focus-visible:before{display:none}.profile-page-friend-status-bubble:hover .profile-page-status-bubble-text,.profile-page-friend-status-bubble:focus-visible .profile-page-status-bubble-text{-webkit-line-clamp:2;line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;max-width:156px;display:-webkit-box}.profile-page-status-bubble-more-indicator{min-width:12px;height:12px;color:var(--accent-text);font-family:var(--font-pixel);text-shadow:0 0 6px color-mix(in srgb, var(--accent) 22%, transparent);pointer-events:none;justify-content:center;align-items:center;font-size:.8rem;line-height:1;display:none;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.profile-page-friend-status-bubble:hover .profile-page-status-bubble-more-indicator,.profile-page-friend-status-bubble:focus-visible .profile-page-status-bubble-more-indicator{display:inline-flex}.profile-page-status-bubble-emoji{flex:none;order:1;justify-content:center;align-self:center;align-items:center;margin-right:0;font-size:1rem;line-height:1;display:inline-flex}.profile-page-friend-status-bubble.has-emoji{padding:8px 12px 8px 10px}.profile-page-friend-status-bubble:after{content:"";border-right:1px solid color-mix(in srgb, var(--line-medium) 86%, transparent);border-bottom:1px solid color-mix(in srgb, var(--line-medium) 86%, transparent);background:#43464df5;width:12px;height:12px;position:absolute;bottom:-7px;left:50%;transform:translate(-50%)rotate(45deg)}@keyframes profile-status-bubble-ellipsis{0%,to{opacity:.42;transform:translateY(0)}50%{opacity:1;transform:translateY(-1px)}}.profile-page-status-preview-backdrop{z-index:42;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);overscroll-behavior:contain;background:#0c0e128f;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.profile-page-status-preview-modal{border:1px solid color-mix(in srgb, var(--line-soft) 90%, transparent);background:linear-gradient(180deg, #30363ef5, #1c2127fa), var(--panel-pattern), var(--panel-pattern);background-size:auto,16px 16px,16px 16px;border-radius:18px;justify-items:stretch;gap:16px;width:min(100%,420px);padding:22px;display:grid;position:relative;box-shadow:0 24px 50px #00000052,inset 0 0 0 1px #ffffff06}.profile-page-status-preview-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.profile-page-status-preview-title{color:var(--text-bright);font-family:var(--font-pixel);letter-spacing:.04em;text-align:center;flex:1;font-size:1rem;line-height:1.2}.profile-page-status-preview-close{flex:none}.profile-page-status-preview-body{gap:14px;padding:16px}.profile-page-status-preview-content{border:1px solid color-mix(in srgb, var(--line-medium) 70%, transparent);background:linear-gradient(180deg, color-mix(in srgb, var(--surface-card) 92%, #22272ef5), color-mix(in srgb, var(--surface-card-strong) 100%, #181d24fa)), var(--panel-pattern), var(--panel-pattern);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--line-faint) 68%, transparent);background-size:auto,16px 16px,16px 16px;border-radius:16px;justify-items:center;gap:16px;padding:18px 16px 16px;display:grid}.profile-page-profile-preview-modal{width:min(100%,360px)}.profile-page-profile-preview-content{text-align:center;justify-items:center;gap:14px;display:grid}.profile-page-profile-preview-copy{gap:4px;display:grid}.profile-page-profile-preview-copy strong{color:var(--text-bright);font-size:1.08rem;line-height:1.25}.profile-page-profile-preview-handle{color:var(--text-soft);font-size:.84rem}.profile-page-profile-preview-bubble{max-width:100%}.profile-page-profile-preview-link{justify-content:center;min-width:140px}.profile-page-status-preview-bubble{--profile-status-preview-bubble-background:#43464df5;border:1px solid color-mix(in srgb, var(--line-medium) 82%, transparent);background:var(--profile-status-preview-bubble-background);max-width:min(100%,320px);color:var(--text-bright);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--line-faint) 72%, transparent), 0 16px 28px #00000038;border-radius:18px;justify-content:center;align-items:center;gap:8px;padding:10px 14px;display:inline-flex;position:relative}.profile-page-status-preview-bubble .profile-page-status-bubble-emoji{order:1}.profile-page-status-preview-bubble:after{content:"";border-right:1px solid color-mix(in srgb, var(--line-medium) 86%, transparent);border-bottom:1px solid color-mix(in srgb, var(--line-medium) 86%, transparent);background:var(--profile-status-preview-bubble-background);width:10px;height:10px;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)rotate(45deg)}.profile-page-status-preview-bubble p{color:var(--text-bright);text-align:center;white-space:pre-wrap;word-break:break-word;order:2;margin:0;line-height:1.6}.profile-page-status-preview-avatar-shell{justify-items:center;padding-top:6px}.profile-page-avatar-frame{background:linear-gradient(145deg, color-mix(in srgb, var(--profile-color-left,#6f88c7) 42%, #07090df0), #0c0e13f5 38%, color-mix(in srgb, var(--profile-color-right,#d16a6f) 38%, #090a0ef5));width:100%;height:100%;box-shadow:0 0 0 1px color-mix(in srgb, var(--line-medium) 86%, transparent), 0 10px 18px #0000002e, inset 0 0 0 1px color-mix(in srgb, var(--line-medium) 86%, transparent);border-radius:14px;place-items:center;padding:7px;display:grid;position:relative;overflow:hidden}.profile-page-avatar-frame:before{content:"";z-index:-1;border-radius:inherit;pointer-events:none;background:radial-gradient(circle at 22% 24%, color-mix(in srgb, var(--profile-color-left,#6f88c7) 28%, transparent), transparent 56%), radial-gradient(circle at 80% 78%, color-mix(in srgb, var(--profile-color-right,#d16a6f) 24%, transparent), transparent 58%);filter:blur(12px);opacity:.68;position:absolute;inset:-6px}.profile-page-avatar-frame>img,.profile-page-avatar-frame>span{background:#0e1217f5;border:1px solid #ffffff0f;place-items:center;width:100%;height:100%;display:grid;overflow:hidden}.profile-page-avatar-frame>img{object-fit:cover}.profile-page-avatar-frame>span{color:var(--text-bright);font-family:var(--font-pixel)}.profile-page-avatar-frame-xs{border-radius:14px}.profile-page-avatar-frame-xs>img,.profile-page-avatar-frame-xs>span{border-radius:7px}.profile-page-avatar-frame-sm{border-radius:12px}.profile-page-avatar-frame-sm>img,.profile-page-avatar-frame-sm>span{border-radius:5px}.profile-page-avatar-frame-md{border-radius:14px}.profile-page-avatar-frame-md>img,.profile-page-avatar-frame-md>span{border-radius:7px}.profile-page-status-preview-avatar{place-items:center;width:88px;height:88px;display:grid}.profile-page-status-preview-avatar .profile-page-avatar-frame{box-shadow:0 0 0 1px color-mix(in srgb, var(--line-medium) 86%, transparent), 0 10px 18px #0000002e, 0 0 20px color-mix(in srgb, var(--profile-color-left,#6f88c7) 22%, transparent), 12px 12px 24px color-mix(in srgb, var(--profile-color-right,#d16a6f) 18%, transparent), inset 0 0 0 1px color-mix(in srgb, var(--line-medium) 86%, transparent)}.profile-page-friend-preview-avatar,.profile-page-friends-modal-avatar{aspect-ratio:1;justify-self:center;place-items:center;width:100%;display:grid;position:relative}.profile-page-friend-preview-avatar{width:76%;margin-top:6px}.profile-page-friends-modal-avatar{width:84%;margin-top:8px}.profile-page-friend-preview-avatar:before,.profile-page-friends-modal-avatar:before{content:"";background:radial-gradient(circle at 22% 28%, color-mix(in srgb, var(--profile-page-friend-color-left,#6f88c7) 78%, transparent) 0%, transparent 66%), radial-gradient(circle at 78% 76%, color-mix(in srgb, var(--profile-page-friend-color-right,#d16a6f) 74%, transparent) 0%, transparent 72%);filter:blur(24px);opacity:1;pointer-events:none;z-index:0;border-radius:20px;position:absolute;inset:14% 10% 6%}.profile-page-friend-preview-avatar>.profile-page-avatar-frame,.profile-page-friends-modal-avatar>.profile-page-avatar-frame{z-index:1;position:relative}.profile-page-friend-preview-card.has-status-bubble .profile-page-friend-preview-avatar{justify-self:center;width:76%;margin-top:6px}.profile-page-friends-modal-card:has(.profile-page-friend-status-bubble) .profile-page-friends-modal-avatar{justify-self:center;width:84%;margin-top:8px}.profile-page-friend-preview-card strong{max-width:100%;color:var(--text-bright);font-family:var(--font-pixel);letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap;text-align:center;font-size:.68rem;line-height:1.4;display:block;overflow:hidden}.profile-page-friends-see-all{flex:none;min-height:34px;padding:8px 12px;font-size:.78rem}.profile-page-friendship-badges{flex-wrap:wrap;gap:8px;margin-top:2px;display:flex}.profile-page-main-block{align-content:start;min-height:0}.profile-page-entity-list,.profile-page-character-list{gap:12px;display:grid}.profile-page-character-preview-grid{grid-template-columns:repeat(3,minmax(0,1fr));justify-content:start;align-items:start}.profile-page-campaign-history-list{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-page-campaign-history-list,.profile-page-campaign-history-modal .profile-page-friends-modal-body,.profile-page-campaign-history-modal .profile-page-friends-modal-list,.profile-page-campaign-history-modal .profile-page-campaign-history-modal-grid{align-content:start;align-items:start;min-height:0}.profile-page-entity-card,.profile-page-character-card,.profile-page-character-preview-card{border:1px solid color-mix(in srgb, var(--line-medium) 80%, transparent);background:linear-gradient(180deg, color-mix(in srgb, var(--surface-card-raised) 92%, #ffffff08), color-mix(in srgb, var(--surface-card) 100%, #161b21f5)), var(--panel-pattern), var(--panel-pattern);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--line-faint) 68%, transparent), 0 12px 24px #0000001f;color:inherit;font:inherit;text-align:left;cursor:pointer;background-size:auto,16px 16px,16px 16px;border-radius:14px;gap:10px;width:100%;padding:14px 16px;text-decoration:none;transition:transform .16s,border-color .16s,background-color .16s,box-shadow .16s;display:grid;position:relative}.profile-page-entity-card:hover,.profile-page-character-card:hover,.profile-page-character-preview-card:hover,.profile-page-entity-card:focus-visible,.profile-page-character-card:focus-visible,.profile-page-character-preview-card:focus-visible{border-color:var(--line-medium);background:linear-gradient(180deg, color-mix(in srgb, var(--surface-card-raised) 100%, #ffffff0a), color-mix(in srgb, var(--surface-card-hover) 100%, #1c2127fa)), var(--panel-pattern), var(--panel-pattern);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--line-faint) 72%, transparent), 0 16px 30px #0000002e;outline:none;transform:translateY(-1px)}.profile-page-entity-copy,.profile-page-character-copy{gap:6px;display:grid}.profile-page-entity-copy strong,.profile-page-character-copy strong{color:var(--text-bright);font-family:var(--font-pixel);letter-spacing:.03em;font-size:1rem}.profile-page-entity-copy p,.profile-page-character-copy p{color:var(--text-muted);margin:0;line-height:1.55}.profile-page-entity-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.profile-page-campaign-chip{box-shadow:none}.profile-page-character-card{grid-template-columns:auto minmax(0,1fr);align-items:center}.profile-page-character-preview-card{text-align:left;grid-template-columns:1fr;align-content:start;justify-items:stretch;gap:8px;padding:10px;display:grid;position:relative;overflow:hidden}.profile-page-character-preview-card:before{content:"";border-radius:inherit;pointer-events:none;opacity:.32;background-color:#0000;background-image:linear-gradient(90deg,#ffffff09 1px,#0000 1px),linear-gradient(#ffffff08 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:16px 16px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0}.profile-page-character-preview-card:not(:hover):not(:focus-visible){border-color:color-mix(in srgb, var(--line-medium) 80%, transparent);background:linear-gradient(180deg, color-mix(in srgb, var(--surface-card-raised) 92%, #ffffff08), color-mix(in srgb, var(--surface-card) 100%, #161b21f5)), var(--panel-pattern), var(--panel-pattern);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--line-faint) 68%, transparent), 0 12px 24px #0000001f;background-size:auto,16px 16px,16px 16px;transform:none}.profile-page-character-preview-avatar{justify-self:center;place-items:center;width:100%;min-height:82px;display:grid;position:relative}.profile-page-character-preview-avatar:before{content:none}.profile-page-character-preview-card .profile-page-character-avatar{z-index:1;aspect-ratio:1;width:min(78%,72px);height:auto;box-shadow:0 0 0 1px color-mix(in srgb, var(--line-medium) 86%, transparent), 0 8px 14px #00000029, inset 0 0 0 1px #ffffff0f;border-radius:18px;position:relative}.profile-page-character-preview-card .profile-page-character-copy{text-align:center;justify-items:center}.profile-page-character-preview-card .profile-page-character-copy strong{word-break:break-word;font-size:.76rem;line-height:1.3;display:block}.profile-page-character-preview-card .profile-page-character-copy p{color:var(--text-soft);font-size:.72rem;line-height:1.3}.profile-page-character-avatar{border:1px solid var(--line-soft);background:linear-gradient(145deg, color-mix(in srgb, var(--profile-color-left,#6f88c7) 34%, #0e1217eb), color-mix(in srgb, var(--profile-color-right,#d16a6f) 28%, #0e1217f5));border-radius:14px;place-items:center;width:52px;height:52px;display:grid;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff0f}.profile-page-character-avatar img{object-fit:cover;width:100%;height:100%;display:block}.profile-page-character-avatar span{color:var(--text-bright);font-family:var(--font-pixel);font-size:1.1rem}.profile-page-comments-block{gap:14px}.profile-page-friends-modal-backdrop{z-index:32;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);overscroll-behavior:contain;background:#101114b8;place-items:center;padding:92px 20px 24px;display:grid;position:fixed;inset:0}.profile-page-friends-modal{border:1px solid var(--line-subtle);border-radius:var(--pixel-radius);background:var(--bg-panel);background-image:var(--panel-pattern), var(--panel-pattern);width:min(100%,1080px);max-height:min(80vh,820px);box-shadow:var(--shadow);background-size:16px 16px,16px 16px;grid-template-rows:auto minmax(0,1fr);gap:16px;padding:22px;display:grid;overflow:hidden}.profile-page-friends-modal-body{overscroll-behavior:contain;align-content:start;gap:16px;min-height:0;padding:16px 16px 28px;scroll-padding-bottom:28px;display:grid;overflow-y:auto}.profile-page-friends-modal-header{justify-content:space-between;align-items:start;gap:12px;display:flex}.profile-page-friends-modal-header>div{gap:4px;display:grid}.profile-page-friends-modal-header strong{color:var(--text-bright);font-size:1.02rem;font-family:var(--font-pixel);letter-spacing:.08em;line-height:1.1}.profile-page-friends-modal-header span{color:var(--text-soft)}.profile-page-friends-modal-close{place-items:center;width:42px;min-width:42px;height:42px;padding:0;font-size:1rem;line-height:1;display:inline-grid}.profile-page-friends-search{box-sizing:border-box;border:1px solid var(--line-soft);border-radius:var(--pixel-radius);background:var(--surface-card);width:100%;min-height:42px;color:var(--text);font:inherit;box-shadow:inset 0 0 0 1px var(--accent-border-faint);padding:10px 14px}.profile-page-friends-search:focus{border-color:var(--accent-border-medium);outline:none}.profile-page-friends-modal-list{align-content:start;gap:14px;min-height:0;padding:14px 14px 26px;scroll-padding-bottom:26px;display:grid;overflow-y:auto}.profile-page-friends-modal-grid{grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-rows:auto;align-content:start;align-items:stretch;gap:10px;display:grid}.profile-page-friends-modal-empty-state{text-align:center;place-self:center;max-width:32ch}.profile-page-campaign-history-modal{width:min(100%,1120px);max-height:min(78vh,760px)}.profile-page-character-detail-modal{width:min(100%,1120px);max-height:none;overflow:visible}.profile-page-character-detail-modal .profile-page-friends-modal-body{box-sizing:border-box;justify-items:stretch;width:100%}.profile-page-character-detail-card{border:1px solid color-mix(in srgb, var(--line-medium) 76%, transparent);background:linear-gradient(180deg, color-mix(in srgb, var(--surface-card) 100%, #2e343ce0), color-mix(in srgb, var(--surface-card-strong) 100%, #1e232af0)), var(--panel-pattern), var(--panel-pattern);width:100%;max-width:none;max-height:none;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--line-faint) 70%, transparent), 0 18px 36px #0000002e;background-size:auto,16px 16px,16px 16px;border-radius:16px;padding:14px;overflow:visible}.profile-page-character-detail-modal .profile-page-friends-modal-body{max-height:min(72vh,760px);overflow:visible auto}.profile-page-character-detail-modal .profile-page-character-detail-card{grid-template-columns:minmax(0,1fr) minmax(360px,.95fr);width:100%;min-width:0;max-width:none}.profile-page-character-detail-modal .session-character-equipment-section{align-self:stretch}.profile-page-character-detail-card>.session-character-detail-header,.profile-page-character-detail-card>.session-character-detail-section{border:1px solid color-mix(in srgb, var(--line-medium) 84%, transparent);background:linear-gradient(180deg, color-mix(in srgb, var(--surface-card-raised) 100%, #3a4048e6), color-mix(in srgb, var(--surface-card) 100%, #21262ef2)), var(--panel-pattern), var(--panel-pattern);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--line-faint) 72%, transparent), 0 22px 38px #0003;background-size:auto,16px 16px,16px 16px;border-radius:14px}.profile-page-character-detail-card>.session-character-detail-header{padding:16px}.profile-page-character-detail-card>.session-character-detail-section{padding:14px}.profile-page-character-detail-card .session-character-detail-attribute,.profile-page-character-detail-card .session-character-equipment-slot,.profile-page-character-detail-card .session-character-detail-proficiency-chip{border-color:color-mix(in srgb, var(--line-medium) 84%, transparent);background:linear-gradient(180deg, color-mix(in srgb, var(--surface-card-raised) 100%, #3a4048e6), color-mix(in srgb, var(--surface-card) 100%, #21262ef2)), var(--panel-pattern), var(--panel-pattern);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--line-faint) 72%, transparent), 0 12px 24px #0000001f;background-size:auto,16px 16px,16px 16px}.profile-page-character-detail-card .profile-page-character-detail-stats-row{flex-wrap:wrap;gap:8px;display:flex}.profile-page-character-stat-ui-chip strong{font-family:var(--font-pixel);letter-spacing:.05em;font-size:.74rem;line-height:1}.profile-page-character-detail-stats-row .profile-page-character-stat-ui-chip span{box-shadow:none;color:inherit;font-family:inherit;font-size:inherit;background:0 0;border:0;border-radius:0;padding:0}.profile-page-character-stat-ui-chip .ui-chip-content{align-items:center;display:inline-flex}.profile-page-character-stat-ui-chip .app-icon{justify-content:center;align-items:center;line-height:1;display:inline-flex}.profile-page-character-stat-ui-chip-icon{width:14px;height:14px}.profile-page-character-detail-equipment-slots{grid-template-columns:repeat(2,minmax(180px,1fr))}.profile-page-character-equipment-tooltip{border:1px solid var(--border-strong);border-radius:var(--pixel-radius);background:var(--surface-solid-muted);width:max-content;min-width:min(280px,100vw - 48px);max-width:min(460px,100vw - 48px);max-height:min(340px,100vh - 120px);box-shadow:var(--pixel-shadow);isolation:isolate;color:var(--text);text-transform:none;letter-spacing:normal;gap:10px;padding:12px;font-family:Trebuchet MS,Segoe UI,sans-serif;font-size:.82rem;line-height:1.35;display:grid;overflow-y:auto}.profile-page-character-equipment-tooltip-well{border:1px solid color-mix(in srgb, var(--surface-well-strong) 80%, transparent);border-radius:var(--pixel-radius);background:linear-gradient(180deg, color-mix(in srgb, var(--surface-well-heavy) 82%, #15181df5), color-mix(in srgb, var(--surface-well) 94%, #101317fa)), var(--panel-pattern), var(--panel-pattern);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--surface-well-strong) 80%, transparent);background-size:auto,16px 16px,16px 16px;gap:10px;padding:10px;display:grid}.profile-page-character-equipment-tooltip-header{border-bottom:1px solid #fff1d714;gap:6px;padding-bottom:10px;display:grid}.profile-page-character-equipment-tooltip-header>strong{color:var(--text-bright);font-family:var(--font-pixel);letter-spacing:.04em;font-size:.9rem;line-height:1.3}.profile-page-character-equipment-tooltip-header>span{color:var(--text-soft);font-family:var(--font-pixel);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;line-height:1.25}.profile-page-character-equipment-tooltip-portal{z-index:160;pointer-events:none;position:fixed}.profile-page-character-equipment-tooltip>p{color:var(--text-soft);margin:0;line-height:1.45}.profile-page-character-equipment-tooltip>span{color:var(--text-muted)}.profile-page-character-equipment-tooltip .session-item-effect-grid{margin-top:0}.profile-page-character-equipment-tooltip-section{align-content:start}.profile-page-character-equipment-tooltip .session-item-effect-chip{width:fit-content;max-width:100%}.profile-page-character-equipment-tooltip .session-item-profile-card{background-color:color-mix(in srgb, var(--surface-card-raised) 100%, #313841);border-color:color-mix(in srgb, var(--line-medium) 84%, transparent);background:linear-gradient(180deg, color-mix(in srgb, var(--surface-card-raised) 100%, #414a55), color-mix(in srgb, var(--surface-card) 100%, #252c34)), var(--panel-pattern), var(--panel-pattern);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--line-faint) 72%, transparent), 0 12px 24px #00000024;background-repeat:repeat;background-size:auto,16px 16px,16px 16px;gap:4px}.profile-page-campaign-history-modal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-page-campaign-history-summary,.profile-page-campaign-history-members{gap:14px}.profile-page-campaign-history-summary-header{border-bottom:1px solid color-mix(in srgb, var(--line-soft) 72%, transparent);grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:14px 16px;padding-bottom:10px;display:grid}.profile-page-campaign-history-summary-header .profile-page-entity-copy{min-width:0}.profile-page-campaign-history-summary-description{color:var(--text-muted);white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;margin:0;line-height:1.55}.profile-page-campaign-history-summary-meta{justify-content:flex-end;align-self:start}.profile-page-campaign-history-members-list{gap:12px;display:grid}.profile-page-campaign-history-member{border:1px solid color-mix(in srgb, var(--line-medium) 80%, transparent);background:linear-gradient(90deg, color-mix(in srgb, var(--profile-page-member-color-left,#6f88c7) 10%, transparent), transparent 18%, transparent 82%, color-mix(in srgb, var(--profile-page-member-color-right,#d16a6f) 10%, transparent)), linear-gradient(180deg, color-mix(in srgb, var(--surface-card-raised) 92%, #ffffff08), color-mix(in srgb, var(--surface-card) 100%, #161b21f5)), var(--panel-pattern), var(--panel-pattern);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--line-faint) 68%, transparent);color:inherit;background-size:auto,auto,16px 16px,16px 16px;border-radius:12px;gap:12px;padding:12px 14px;text-decoration:none;transition:transform .16s,border-color .16s,box-shadow .16s;display:grid;position:relative}.profile-page-campaign-history-member:hover,.profile-page-campaign-history-member:focus-visible{border-color:color-mix(in srgb, var(--line-medium) 96%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--line-faint) 72%, transparent), 0 14px 24px #00000024, -10px 0 22px color-mix(in srgb, var(--profile-page-member-color-left,#6f88c7) 18%, transparent), 10px 0 22px color-mix(in srgb, var(--profile-page-member-color-right,#d16a6f) 18%, transparent);outline:none;transform:translateY(-1px)}.profile-page-campaign-history-member-main{grid-template-columns:1fr;align-items:stretch;gap:12px;min-width:0;display:grid}.profile-page-campaign-history-member-main:has(.profile-page-campaign-history-member-summary){grid-template-columns:minmax(0,max-content) 1px minmax(0,max-content) minmax(0,1fr) auto;align-items:center}.profile-page-campaign-history-member-heading{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;display:grid}.profile-page-campaign-history-member-main:has(.profile-page-campaign-history-member-summary) .profile-page-campaign-history-member-heading{display:contents}.profile-page-campaign-history-member-summary{flex-wrap:wrap;align-items:center;gap:12px;min-width:0;display:flex}.profile-page-campaign-history-member-main:has(.profile-page-campaign-history-member-summary) .profile-page-campaign-history-member-summary{grid-area:1/3;justify-self:start}.profile-page-campaign-history-member-main:has(.profile-page-campaign-history-member-summary) .profile-page-campaign-history-member-player{grid-area:1/1;max-width:min(32vw,300px);overflow:visible}.profile-page-campaign-history-member-main:has(.profile-page-campaign-history-member-summary) .profile-page-campaign-history-member-role{grid-area:1/5}.profile-page-campaign-history-member-main:has(.profile-page-campaign-history-member-summary):before{content:"";background:color-mix(in srgb, var(--line-soft) 74%, transparent);grid-area:1/2;justify-self:stretch;width:1px;height:34px}.profile-page-campaign-history-member-player,.profile-page-campaign-history-member-character{align-items:center;gap:10px;min-width:0;display:inline-flex}.profile-page-campaign-history-member-character{align-items:center}.profile-page-campaign-history-member-player-trigger{cursor:pointer}.profile-page-campaign-history-member strong,.profile-page-campaign-history-member-character span{color:var(--text-bright);word-break:break-word;min-width:0;line-height:1.3}.profile-page-campaign-history-member-player strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.profile-page-campaign-history-member-character-copy{gap:2px;min-width:0;display:grid}.profile-page-campaign-history-member-character-name{color:var(--text-bright);font-family:var(--font-pixel);letter-spacing:.04em;text-transform:uppercase;line-height:1.15}.profile-page-campaign-history-member-character-meta{color:var(--muted);font-size:.82rem;line-height:1.2}.profile-page-campaign-history-summary .profile-page-entity-copy strong,.profile-page-campaign-history-member strong{font-family:var(--font-pixel);letter-spacing:.03em}.profile-page-campaign-history-member-separator{background:color-mix(in srgb, var(--line-soft) 78%, transparent);flex:none;width:1px;height:24px}.profile-page-campaign-history-member-player-avatar{flex:none;width:42px;height:42px}.profile-page-campaign-history-member-player-avatar.profile-page-avatar-frame{box-shadow:0 0 0 1px color-mix(in srgb, var(--line-medium) 86%, transparent), 0 10px 18px #0000002e, 0 0 18px color-mix(in srgb, var(--profile-page-member-color-left,#6f88c7) 22%, transparent), 10px 10px 20px color-mix(in srgb, var(--profile-page-member-color-right,#d16a6f) 18%, transparent), inset 0 0 0 1px color-mix(in srgb, var(--line-medium) 86%, transparent);padding:5px}.profile-page-campaign-history-member .profile-page-campaign-chip[data-chip-tone=accent]{--chip-background:color-mix(in srgb, var(--accent) 14%, transparent);--chip-border-color:color-mix(in srgb, var(--accent-border) 78%, transparent)}.profile-page-campaign-history-member-role{flex:none;margin-left:auto}.profile-page-campaign-history-member-character-avatar{flex:none;width:38px;height:38px}.profile-page-campaign-history-member-character-avatar img,.profile-page-campaign-history-member-character-avatar span{border-radius:6px}@media (width<=900px){.profile-page-campaign-history-list,.profile-page-campaign-history-modal-grid,.profile-page-campaign-history-summary-header{grid-template-columns:1fr}.profile-page-campaign-history-summary-meta{justify-content:flex-start}.profile-page-character-preview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.profile-page-friends-modal-card{min-height:156px;color:inherit;grid-template-rows:minmax(0,1fr) auto;align-content:stretch;justify-items:stretch;gap:8px;padding:10px;text-decoration:none;transition:transform .16s,border-color .16s,background-color .16s,box-shadow .16s;display:grid;position:relative}.profile-page-friends-modal-card strong{max-width:100%;color:var(--text-bright);font-family:var(--font-pixel);letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap;text-align:center;align-self:end;font-size:.66rem;line-height:1.35;display:block;overflow:hidden}.profile-page-friends-modal-card>span:last-child{color:var(--text-soft);font-size:.8rem;line-height:1.4}.profile-page-comments-empty{border:1px dashed var(--line-subtle);background:var(--surface-well);border-radius:14px;padding:14px 16px}.profile-page-comment-list{gap:12px;display:grid}.profile-page-comment-card{background:linear-gradient(-23deg, color-mix(in srgb, var(--profile-color-left,#6f88c7) 3%, transparent), transparent 32%, transparent 50%, color-mix(in srgb, var(--profile-color-right,#d16a6f) 8%, transparent)), linear-gradient(180deg, color-mix(in srgb, var(--surface-card-raised) 92%, #ffffff08), color-mix(in srgb, var(--surface-card) 100%, #161b21f5)), var(--panel-pattern), var(--panel-pattern);background-size:auto,auto,16px 16px,16px 16px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px 16px;padding:16px;display:grid}.profile-page-comment-card:before{opacity:.01}.profile-page-comment-avatar{width:72px;height:72px;color:inherit;flex:none;place-items:center;text-decoration:none;display:grid;position:relative}.profile-page-comment-avatar:before{content:"";background:radial-gradient(circle at 22% 28%, color-mix(in srgb, var(--profile-color-left,#6f88c7) 78%, transparent) 0%, transparent 66%), radial-gradient(circle at 78% 76%, color-mix(in srgb, var(--profile-color-right,#d16a6f) 74%, transparent) 0%, transparent 72%);filter:blur(24px);opacity:1;pointer-events:none;z-index:0;border-radius:22px;position:absolute;inset:10% 8% 4%}.profile-page-comment-avatar>.profile-page-avatar-frame{z-index:1;position:relative}.profile-page-comment-body{min-width:0;display:contents}.profile-page-comment-header{grid-column:2;justify-content:space-between;align-items:start;gap:14px;display:flex}.profile-page-comment-author-copy{min-width:0;display:grid}.profile-page-comment-author-link{color:inherit;text-decoration:none}.profile-page-comment-author-copy strong{color:var(--text-bright);font-family:var(--font-pixel);letter-spacing:.08em;font-size:1.1rem;line-height:1.15}.profile-page-comment-date{color:var(--text-soft);white-space:nowrap;font-size:.8rem}.profile-page-comment-message{color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;background:linear-gradient(#0b0d1180,#0b0d111a);border-top:1px solid #fff1d714;border-radius:12px;grid-column:1/-1;margin:0;padding:12px 14px;line-height:1.65}.profile-page-comment-reactions{border-top:1px solid #fff1d714;flex-wrap:wrap;grid-column:1/-1;gap:8px;padding-top:12px;display:flex}.profile-page-comment-reaction-button{border:1px solid color-mix(in srgb, var(--line-soft) 90%, transparent);background:color-mix(in srgb, var(--surface-card-raised) 84%, #ffffff05);min-width:54px;height:32px;color:var(--text-muted);border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 10px;transition:transform .16s,border-color .16s,background-color .16s,color .16s;display:inline-flex}.profile-page-comment-reaction-button strong{color:var(--text-bright);font-size:var(--app-button-font-size-compact)}.profile-page-comment-reaction-button:hover,.profile-page-comment-reaction-button:focus-visible{border-color:color-mix(in srgb, var(--accent-border-medium) 80%, transparent);background:color-mix(in srgb, var(--surface-card-raised) 92%, #ffffff0a);outline:none;transform:translateY(-1px)}.profile-page-comment-reaction-button.is-active{border-color:color-mix(in srgb, var(--accent-border-medium) 84%, transparent);background:linear-gradient(90deg, color-mix(in srgb, var(--profile-color-left,#6f88c7) 14%, transparent), color-mix(in srgb, var(--profile-color-right,#d16a6f) 12%, transparent)), color-mix(in srgb, var(--surface-card-raised) 92%, #ffffff08);color:var(--text-bright)}.profile-page-comment-reaction-button-add{min-width:36px;font-size:var(--app-button-font-size-icon);padding:0 12px}.profile-page-comment-reaction-button-add-icon{font-size:var(--app-button-font-size-icon)}.profile-page-comment-reaction-button-add strong{font-size:var(--app-button-font-size)}.profile-page-comment-reaction-picker-floating{z-index:44}.profile-page-comments-pagination{justify-content:center;align-items:center;padding-top:2px;display:flex}.profile-page-comments-page-actions{flex-wrap:nowrap;align-items:center;gap:8px;display:flex}.profile-page-pagination-arrow,.profile-page-pagination-number{min-width:26px;height:26px;color:var(--text-muted);font-family:var(--font-pixel);justify-content:center;align-items:center;font-size:.88rem;line-height:1;transition:color .16s,opacity .16s;display:inline-flex}.profile-page-pagination-arrow{min-width:34px;height:30px}.profile-page-pagination-arrow:disabled{opacity:.4}.profile-page-pagination-numbers{align-items:center;gap:0;padding:0 2px;display:inline-flex}.profile-page-pagination-number{width:auto;min-width:0;height:auto;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0 3px}.profile-page-pagination-number.is-active{color:var(--text-bright);text-shadow:0 0 12px color-mix(in srgb, var(--profile-color-left,#6f88c7) 28%, transparent)}.profile-page-pagination-number:hover,.profile-page-pagination-number:focus-visible{color:var(--text-bright);text-underline-offset:.2em;outline:none;text-decoration:underline}.profile-page-comment-composer{justify-items:stretch;gap:12px;display:grid}.profile-page-comment-composer-actions{justify-content:flex-end;align-items:center;gap:12px;display:flex}.profile-page-comment-counter{color:var(--text-soft);font-size:.8rem}.profile-page-comment-composer-actions .secondary-action{justify-self:end}.profile-page-comments-separator{background:#fff1d714;height:1px}.profile-page-comment-input{box-sizing:border-box;resize:vertical;border:1px solid var(--border);border-radius:var(--pixel-radius);background:var(--bg-panel-soft);width:100%;min-height:104px;color:var(--text);font:inherit;padding:14px 16px}.profile-page-comment-input:disabled{opacity:.72;cursor:not-allowed}.profile-page-badge-list{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:12px;display:flex;overflow:visible}.profile-page-badge-panel-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.profile-page-badge-edit-button{min-height:34px;font-size:var(--app-button-font-size-compact);gap:7px;padding:8px 10px}.profile-page-badge-edit-button .app-icon-svg{width:15px;height:15px}.profile-page-badge-chip{place-items:center;width:68px;height:72px;display:inline-grid;position:relative;overflow:visible}.profile-page-badge-svg{--campaign-badge-size:64px;filter:drop-shadow(0 4px 6px #00000047);transform-origin:50%;transition:filter .18s,transform .18s}.profile-page-badge-chip:hover .profile-page-badge-svg,.profile-page-badge-chip:focus-within .profile-page-badge-svg{filter:drop-shadow(0 14px 12px #00000057);transform:translateY(-4px)scale(1.16)}.profile-page-badge-tooltip{z-index:30;border:1px solid var(--accent-border-soft);border-radius:var(--pixel-radius);width:max-content;max-width:220px;color:var(--text-bright);opacity:0;pointer-events:none;text-align:center;background:#1b1f26;gap:4px;padding:9px 10px;font-size:.78rem;line-height:1.35;transition:opacity .15s,transform .15s;display:grid;position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%,-4px);box-shadow:0 0 0 1px #0000008c,0 14px 26px #0000006b}.profile-page-badge-tooltip:after{content:"";border-left:1px solid var(--accent-border-soft);border-top:1px solid var(--accent-border-soft);background:inherit;width:8px;height:8px;position:absolute;bottom:100%;left:50%;transform:translate(-50%,4px)rotate(45deg)}.profile-page-badge-tooltip strong{color:var(--text-bright);font-family:var(--font-pixel);letter-spacing:.06em;font-size:.7rem}.profile-page-badge-tooltip span{color:#d0d4dc}.profile-page-badge-chip:hover .profile-page-badge-tooltip,.profile-page-badge-chip:focus-within .profile-page-badge-tooltip{opacity:1;transform:translate(-50%)}.profile-page-badge-empty-state{color:var(--text-soft);margin:0;font-size:.9rem;line-height:1.45}.profile-page-badge-editor-modal{max-width:1180px}.profile-page-badge-editor-actions{justify-content:flex-end;gap:10px}.profile-page-badge-editor-actions>.button-reset,.profile-page-badge-editor-actions>.primary-action{justify-content:center;width:auto;min-width:156px}.profile-page-badge-editor-actions>.primary-action{min-width:220px}.profile-page-badge-editor-toolbar{color:var(--text-soft);font-family:var(--font-pixel);letter-spacing:.08em;justify-content:space-between;align-items:center;gap:12px;font-size:.76rem;display:flex}.profile-page-badge-editor-layout{grid-template-columns:minmax(0,1fr) minmax(0,420px);align-items:stretch;gap:16px;min-width:0;display:grid}.profile-page-badge-editor-column{grid-template-rows:auto minmax(0,1fr);align-content:start;align-items:start;gap:10px;min-height:0;display:grid}.profile-page-badge-editor-grid{grid-template-columns:repeat(auto-fill,minmax(88px,96px));grid-auto-rows:max-content;place-content:start;place-items:start;gap:12px;width:100%;height:100%;max-height:min(52vh,520px);padding:2px 6px 2px 2px;display:grid;overflow:auto}.profile-page-badge-editor-option{border:1px solid var(--border);border-radius:var(--pixel-radius);width:96px;min-height:124px;color:var(--text);text-align:center;background:#10141ac7;grid-template-rows:auto minmax(0,1fr);place-items:center;gap:8px;padding:10px 8px;display:grid;position:relative}.profile-page-badge-editor-option:not(:disabled):hover,.profile-page-badge-editor-option:not(:disabled):focus-visible{border-color:var(--accent-border-soft);background:#2d1c1fdb}.profile-page-badge-editor-option.is-selected{border-color:var(--accent-border);background:linear-gradient(#7f1c1f33,#7f1c1f33),#10141ae6}.profile-page-badge-editor-option:disabled{opacity:.45;cursor:not-allowed}.profile-page-badge-editor-option-badge{place-items:center;display:inline-grid}.profile-page-badge-editor-option-badge .campaign-badge-svg{--campaign-badge-size:58px}.profile-page-badge-editor-option-copy{gap:4px;width:100%;min-width:0;display:grid}.profile-page-badge-editor-option-copy strong{color:var(--text-bright);font-family:var(--font-pixel);letter-spacing:.06em;text-overflow:ellipsis;white-space:nowrap;font-size:.58rem;overflow:hidden}.profile-page-badge-editor-option-copy span{color:var(--text-soft);font-size:.68rem;line-height:1.35}.profile-page-badge-editor-order{border:1px solid var(--accent-border);width:24px;height:24px;color:var(--text-bright);font-family:var(--font-pixel);background:#7f1c1ff2;border-radius:999px;place-items:center;font-size:.68rem;display:inline-grid;position:absolute;top:8px;right:8px}.profile-page-badge-slot-list{gap:10px;display:grid}.profile-page-badge-slot{border:1px dashed var(--border);border-radius:var(--pixel-radius);background:#0b0e13b8;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;min-height:86px;padding:10px;display:grid}.profile-page-badge-slot.has-badge{border-style:solid;border-color:var(--accent-border-soft);background:#10141adb}.profile-page-badge-slot-number{border:1px solid var(--accent-border-soft);width:26px;height:26px;color:var(--text-soft);font-family:var(--font-pixel);border-radius:999px;place-items:center;font-size:.68rem;display:inline-grid}.profile-page-badge-slot-content{cursor:default;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;display:grid}.profile-page-badge-slot-content:active{cursor:grabbing}.profile-page-badge-slot-content .campaign-badge-svg{--campaign-badge-size:58px}.profile-page-badge-slot-remove{border:1px solid var(--state-danger-border-soft);border-radius:var(--pixel-radius);background:var(--state-danger-surface-soft);width:28px;height:28px;color:var(--state-danger-text-soft);font-family:var(--font-pixel);place-items:center;font-size:1rem;display:inline-grid}.profile-page-badge-slot-remove:hover,.profile-page-badge-slot-remove:focus-visible{border-color:var(--state-danger-border);background:var(--state-danger-surface)}.profile-page-badge-slot-empty{color:var(--text-muted);font-family:var(--font-pixel);letter-spacing:.08em;font-size:.72rem}.profile-page-placeholder-copy{gap:8px;display:grid}.campaigns-stage{gap:18px;display:grid}.login-layout{background:linear-gradient(to right, color-mix(in srgb, var(--accent) 8%, transparent) 1px, transparent 1px), linear-gradient(to bottom, color-mix(in srgb, var(--accent) 8%, transparent) 1px, transparent 1px);background-position:50%;background-size:96px 96px;grid-template-columns:minmax(0,1.15fr) minmax(360px,.56fr);align-items:stretch;gap:36px;width:100%;min-height:100dvh;animation:.28s page-enter;display:grid;position:relative;overflow:hidden}.landing-layout{grid-template-columns:minmax(0,1.2fr) minmax(260px,.6fr);align-items:center;gap:48px;min-height:calc(100dvh - 64px);animation:.28s page-enter;display:grid}.landing-brand-panel,.landing-actions-panel{min-height:100%}.landing-brand-panel{align-items:center;padding:32px 24px 32px 8px;display:grid}.landing-brand-copy{max-width:760px}.landing-brand-copy h1{font-family:var(--font-pixel);color:var(--text-bright);text-shadow:4px 4px 0 var(--shadow-heavy);margin:12px 0 18px;font-size:clamp(3.2rem,6vw,5.8rem);line-height:.92}.landing-actions-panel{border-left:1px solid var(--border);align-content:center;justify-items:start;gap:22px;padding:32px 0 32px 40px;display:grid}.landing-actions-panel>*{width:min(100%,420px)}.landing-actions{justify-content:start}.login-brand-panel,.login-form-panel{z-index:1;min-height:100%;position:relative}.login-brand-panel{align-items:center;padding:28px 28px 28px 40px;display:grid;position:relative;overflow:hidden}.login-brand-panel:before{content:"";pointer-events:none;background:radial-gradient(circle at 10% 50%, color-mix(in srgb, var(--accent) 14%, transparent), transparent 36%), linear-gradient(90deg, color-mix(in srgb, var(--accent-surface-soft) 18%, transparent), transparent 44%);opacity:.9;position:absolute;inset:-8% 0 -8% -6%}.login-brand-copy{z-index:1;gap:18px;max-width:960px;display:grid;position:relative}.login-brand-eyebrow{width:fit-content;box-shadow:none;background:0 0;border:0;border-radius:0;align-items:center;gap:16px;padding:0;display:inline-flex}.login-brand-eyebrow .eyebrow{color:var(--text-bright);letter-spacing:.28em;white-space:nowrap;margin:0;font-size:1.12rem}.login-brand-eyebrow-logo{object-fit:contain;flex:none;width:42px;height:42px;display:block}.login-brand-copy h1{max-width:12ch;font-family:var(--font-pixel);color:var(--text-bright);text-shadow:4px 4px 0 var(--shadow-heavy);margin:10px 0 14px;font-size:clamp(3.4rem,6vw,6.2rem);line-height:.98}.login-brand-copy .hero-copy{max-width:44rem;color:var(--text-soft);line-height:1.9}.login-brand-detail{border:1px solid var(--accent-border-soft);border-radius:var(--pixel-radius);background:color-mix(in srgb, var(--accent-surface-soft) 42%, #24282ed6);width:fit-content;max-width:100%;box-shadow:inset 0 0 0 1px var(--accent-border-faint), 0 10px 24px #0000001f;margin-top:6px;padding:10px 14px}.login-brand-detail span{color:var(--accent-text-soft);font-family:var(--font-pixel);letter-spacing:.08em;font-size:.72rem}.login-form-panel{align-content:center;gap:24px;padding:28px 24px 28px 0;display:grid}.login-panel-shell{border:1px solid var(--border);border-radius:calc(var(--pixel-radius) + 2px);width:min(100%,560px);box-shadow:0 18px 38px #0003, inset 0 0 0 1px var(--accent-border-faint);background:linear-gradient(#2f343bf5,#22262cfc);gap:22px;padding:28px;display:grid;position:relative;overflow:hidden}.login-panel-shell:before{content:"";pointer-events:none;background:radial-gradient(circle at top left, color-mix(in srgb, var(--accent-surface-soft) 16%, transparent), transparent 30%), linear-gradient(180deg, #ffffff05, transparent 38%);opacity:.86;position:absolute;inset:0}.login-form-copy{z-index:1;gap:10px;display:grid;position:relative}.login-form-copy h2{font-family:var(--font-pixel);color:var(--text-bright);margin:0;font-size:1.9rem}.login-form-plain{z-index:1;gap:18px;width:100%;transition:opacity .18s,transform .18s,filter .18s;position:relative}.login-form-plain-fade-out{opacity:0;filter:blur(2px);transform:translateY(8px)}.login-form-plain-fade-in{opacity:0;filter:blur(2px);animation:.22s forwards login-form-fade-in;transform:translateY(-8px)}.login-field{gap:10px}.login-register-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.login-username-row{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;display:grid}.login-username-field{min-width:0}.login-username-feedback{gap:10px;display:grid}.login-availability-button{background:#484d5657;justify-content:center;min-width:126px;min-height:52px}.login-username-hint{line-height:1.5}.login-form-panel .auth-inline-error,.login-form-panel .auth-inline-success{font-family:var(--font-body);letter-spacing:.02em;font-size:.84rem}.login-register-top-error{margin-top:2px}.login-input{border-color:var(--accent-border-soft);color:var(--text-bright);background:linear-gradient(#3f454ef5,#32373ffa);box-shadow:inset 0 0 0 1px #ffffff05}.login-input:hover{background:linear-gradient(#444b55fa,#363c44)}.login-input:focus{box-shadow:0 0 0 1px var(--accent-border-medium), 0 0 18px var(--accent-border-faint)}.login-password-strength{gap:10px;margin-top:4px;display:grid}.login-password-strength-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.login-password-strength-header strong{font-family:var(--font-body);letter-spacing:.02em;font-size:.84rem}.login-password-strength-meter{background:#ffffff14;border-radius:999px;width:100%;height:8px;overflow:hidden}.login-password-strength-meter span{border-radius:inherit;width:34%;height:100%;transition:width .18s,background-color .18s;display:block}.login-password-strength[data-strength=weak] .login-password-strength-header strong{color:#ff8b8b}.login-password-strength[data-strength=weak] .login-password-strength-meter span{background:#ff8b8b;width:34%}.login-password-strength[data-strength=secure] .login-password-strength-header strong{color:#ffd36f}.login-password-strength[data-strength=secure] .login-password-strength-meter span{background:#ffd36f;width:67%}.login-password-strength[data-strength=very-secure] .login-password-strength-header strong{color:#7de3a1}.login-password-strength[data-strength=very-secure] .login-password-strength-meter span{background:#7de3a1;width:100%}.login-password-rules{flex-wrap:wrap;gap:8px;display:flex}.login-password-rules span{border-radius:var(--pixel-radius);border:1px solid #ffffff1a;padding:6px 10px;font-size:.78rem;line-height:1.2;box-shadow:inset 0 0 0 1px #ffffff08}.login-password-rules .is-pending{color:var(--text-muted);background:#ffffff0a}.login-password-rules .is-valid{color:#7de3a1;background:#7de3a114;border-color:#7de3a157}.login-actions-stack{gap:12px;display:grid}.login-submit-button{justify-content:center;width:100%}.login-google-button{color:var(--text-bright);background:linear-gradient(#484d566b,#2a2e35bd);justify-content:center;align-items:center;gap:10px;min-height:52px;padding:0 16px;line-height:1;display:inline-flex}.login-google-button-logo{flex:none;justify-content:center;align-items:center;width:26px;height:26px;display:inline-flex}.login-google-button-logo svg{width:26px;height:26px;display:block}.login-google-button-spinner{border:3px solid #ffffff24;border-top-color:#f3d769;border-radius:999px;width:26px;height:26px;animation:.8s linear infinite login-google-button-spin}@keyframes login-google-button-spin{to{transform:rotate(360deg)}}.login-meta{justify-content:space-between;margin-top:8px}.login-reset-notice-overlay{z-index:40;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);overscroll-behavior:contain;background:#07090c94;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.login-reset-notice-modal{border:1px solid var(--border);border-radius:calc(var(--pixel-radius) + 2px);width:min(100%,420px);box-shadow:0 22px 48px #00000047, inset 0 0 0 1px var(--accent-border-faint);background:linear-gradient(#383d46f5,#252930fa);gap:18px;padding:22px;display:grid}.login-reset-notice-copy{gap:10px;display:grid}.login-reset-notice-copy h3{color:var(--text-bright);font-family:var(--font-pixel);letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:1rem}.login-reset-notice-copy p{color:var(--text-soft);margin:0;line-height:1.7}.login-reset-notice-modal>.primary-action{justify-content:center;width:100%}.login-google-completion-modal{width:min(100%,460px)}.login-google-completion-fields{gap:12px;display:grid}.login-google-completion-actions{justify-content:flex-end;gap:12px;display:flex}.login-google-completion-actions>.primary-action,.login-google-completion-actions>.secondary-action{justify-content:center;width:auto;min-width:140px}.auth-action-layout{min-height:100vh}.auth-action-brand-panel:before{background:radial-gradient(circle at 18% 26%, color-mix(in srgb, var(--accent) 18%, transparent), transparent 34%), radial-gradient(circle at 82% 74%, color-mix(in srgb, var(--accent-surface-soft) 22%, transparent), transparent 30%);inset:-10% -8%}.auth-action-panel-shell{width:min(100%,520px)}.auth-action-copy{gap:8px}.auth-action-form{gap:16px;display:grid}.auth-action-status-card{border:1px solid var(--accent-border-soft);border-radius:var(--pixel-radius);background:#ffffff0a;gap:10px;padding:18px;display:grid}.auth-action-status-card[data-status=loading]{border-color:var(--accent-border-soft)}.auth-action-status-card[data-status=success]{background:#3476471f;border-color:#6fca806b}.auth-action-status-card[data-status=error]{border-color:var(--state-danger-border);background:var(--state-danger-surface)}.auth-action-hint{margin:0;font-size:.88rem}.auth-action-meta{margin-top:0}.login-helper-links{flex-wrap:wrap;gap:12px;display:flex}@keyframes login-form-fade-in{0%{opacity:0;filter:blur(2px);transform:translateY(-8px)}to{opacity:1;filter:blur();transform:translateY(0)}}.hero-panel,.character-hero,.page-heading{border:1px solid var(--border);border-radius:var(--pixel-radius);background:var(--bg-panel);background-image:var(--panel-pattern), var(--panel-pattern);box-shadow:var(--shadow);background-position:0 0,0 0;background-size:16px 16px,16px 16px;padding:28px}.hero-panel,.character-hero{justify-content:space-between;align-items:end;gap:24px;display:flex}.character-page-layout{gap:18px;display:grid}.character-page-layout-embedded .character-hero{border-color:var(--line-subtle);background:var(--surface-well);box-shadow:none}.character-page-layout-embedded .character-hero-main{border:1px solid var(--line-subtle);border-radius:var(--pixel-radius);background:var(--surface-card);padding:16px 18px}.character-page-layout-embedded .character-avatar-button{border:1px solid var(--line-soft);border-radius:var(--pixel-radius);background:var(--surface-card-raised);padding:12px;box-shadow:inset 0 1px #ffffff08}.character-page-layout-embedded .character-avatar-image,.character-page-layout-embedded .character-avatar-fallback{border:1px solid var(--line-soft);background:#343942eb}.character-page-layout-embedded .character-hero-copy-block{gap:6px}.character-page-layout-embedded .character-summary-panel{border-color:var(--line-subtle);background:var(--surface-card);box-shadow:inset 0 1px #ffffff08}.character-page-layout-embedded .character-summary-stat{border-color:var(--line-soft);background:var(--surface-card-raised);box-shadow:inset 0 1px #ffffff08}.character-page-layout-embedded .section-card{border-color:var(--line-subtle);background:var(--surface-well);box-shadow:none}.character-page-layout-embedded .section-card-header{padding:18px 18px 0}.character-page-layout-embedded .section-card-body{border:1px solid var(--line-subtle);border-radius:var(--pixel-radius);background:var(--surface-card);background-image:none;margin:0 18px 18px;padding:18px 18px 20px;box-shadow:inset 0 1px #ffffff08}.character-page-layout-embedded .section-card-header+.section-card-body{margin-top:14px}.character-hero-sheet{flex-wrap:wrap;align-items:center}.character-hero-main{flex:0 720px;align-items:center;gap:20px;min-width:min(320px,100%);display:flex}.character-hero-copy-block{align-content:center;min-width:0;display:grid}.character-hero-actions{flex:none;justify-content:flex-end;align-items:center;margin-left:auto;display:flex}.character-summary-panel{border:1px solid var(--line-subtle);border-radius:var(--pixel-radius);background:#0e121885;flex:auto;gap:10px;min-width:min(420px,100%);padding:14px 16px;display:grid}.character-summary-stats{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;display:grid}.character-required-note{border-radius:var(--pixel-radius);min-height:32px;color:var(--state-danger-text);font-family:var(--font-pixel);letter-spacing:.08em;text-transform:uppercase;background:#7826262e;border:1px solid #d6606073;align-items:center;padding:6px 10px;font-size:.72rem;display:inline-flex}.character-summary-stat{border:1px solid var(--accent-border-soft);border-radius:var(--pixel-radius);background:var(--surface-card);gap:4px;min-width:0;padding:10px 12px;display:grid}.character-summary-stat strong{color:var(--text-bright);font-size:1.05rem}.character-summary-stat-state{align-content:start}.character-summary-stat .combat-state-badge{justify-self:start}.character-section-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:18px;display:grid}.character-section-grid-wide{grid-template-columns:repeat(2,minmax(0,1fr))}.loadout-section-grid,.master-messages-section-grid{grid-template-columns:minmax(0,1fr)}.character-section-grid>.section-card,.character-section-grid-wide>.section-card{min-height:100%}.narrative-layout{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;display:grid}.narrative-field{min-width:0}.narrative-field-tall .multiline-input{min-height:144px}.character-avatar-panel{flex:none;position:relative}.character-avatar-image,.character-avatar-fallback{border-radius:var(--pixel-radius);width:128px;height:128px;box-shadow:none;background:#fff8eb0d;border:0}.character-avatar-image{object-fit:cover;image-rendering:auto;display:block}.character-avatar-fallback{color:var(--text-bright);letter-spacing:.08em;place-items:center;font-size:2rem;font-weight:700;display:grid}.character-avatar-button{box-shadow:none;background:0 0;border:0;justify-items:center;gap:8px;padding:0;display:grid}.character-avatar-button:hover .character-avatar-image,.character-avatar-button:hover .character-avatar-fallback,.character-avatar-button:focus-visible .character-avatar-image,.character-avatar-button:focus-visible .character-avatar-fallback{border-color:var(--accent-warm-border);background:var(--accent-surface-selected-strong)}.character-avatar-edit-hint{color:var(--accent-soft);font-family:var(--font-pixel);letter-spacing:.12em;text-transform:uppercase;font-size:.62rem}.character-avatar-hidden-input{display:none}.character-avatar-picker{z-index:3;border:1px solid var(--border);border-radius:var(--pixel-radius);min-width:176px;box-shadow:var(--shadow);background:#12151af5;gap:8px;padding:12px;display:grid;position:absolute;top:calc(100% + 10px);left:0}.character-avatar-picker>.secondary-action,.character-avatar-picker>.danger-action{width:100%;box-shadow:none;justify-content:center}.character-avatar-faction-mark{border-radius:var(--pixel-radius);background:var(--surface-card-raised);border:0;place-items:center;width:74px;height:74px;display:grid}.character-avatar-faction-icon{fill:currentColor;width:30px;height:30px}.character-avatar-faction-ally{color:var(--state-success-text);background:#51a35f24;border-color:#51a35f5c}.character-avatar-faction-enemy{color:var(--state-danger-text);border-color:var(--state-danger-border);background:var(--state-danger-surface)}.character-avatar-faction-neutral{color:var(--state-neutral-text);background:#a0a0a01f;border-color:#c8c8c83d}.character-avatar-crop-overlay{z-index:40;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);overscroll-behavior:contain;background:#07090cbd;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.character-avatar-crop-modal{border:1px solid var(--border);border-radius:calc(var(--pixel-radius) + 2px);width:min(100%,720px);box-shadow:0 24px 50px #00000052, inset 0 0 0 1px var(--accent-border-faint);background:linear-gradient(#2f343bfa,#1a1d22fc);gap:18px;padding:20px;display:grid}.character-avatar-crop-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.character-avatar-crop-header strong{color:var(--text-bright);font-family:var(--font-pixel);letter-spacing:.08em;font-size:1rem;display:block}.character-avatar-crop-header p{color:var(--text-soft);margin:6px 0 0}.character-avatar-crop-body{grid-template-columns:minmax(0,260px) minmax(0,1fr);align-items:start;gap:20px;display:grid}.character-avatar-crop-modal-centered .character-avatar-crop-body{grid-template-columns:minmax(0,1fr);justify-items:center}.character-avatar-crop-preview-shell{justify-content:center;display:grid}.character-avatar-crop-preview-frame{border-radius:var(--pixel-radius);border:1px solid var(--accent-border-medium);background:linear-gradient(to right, color-mix(in srgb, var(--accent) 10%, transparent) 1px, transparent 1px), linear-gradient(to bottom, color-mix(in srgb, var(--accent) 10%, transparent) 1px, transparent 1px), #12151af5;width:240px;height:240px;box-shadow:inset 0 0 0 1px var(--accent-border-faint);overscroll-behavior:contain;background-size:24px 24px;position:relative;overflow:hidden}.character-avatar-crop-preview-frame:after{content:"";pointer-events:none;border:2px solid color-mix(in srgb, var(--accent) 72%, white);position:absolute;inset:0;box-shadow:inset 0 0 0 999px #00000014}.character-avatar-crop-preview-image{-webkit-user-select:none;user-select:none;pointer-events:none;image-rendering:auto;max-width:none;display:block;position:absolute}.character-avatar-crop-actions{justify-content:flex-end;gap:10px;display:flex}@media (width<=720px){.character-avatar-crop-modal{padding:16px}.character-avatar-crop-body{grid-template-columns:minmax(0,1fr)}.character-avatar-crop-preview-shell{justify-content:stretch}.character-avatar-crop-preview-frame{margin:0 auto}}.page-layout h1{font-family:var(--font-pixel);color:var(--text-bright);text-shadow:3px 3px 0 var(--shadow-strong);margin:10px 0 12px;font-size:clamp(2.3rem,4vw,3.5rem);line-height:.98}.hero-copy,.page-heading p,.muted-copy{max-width:70ch;color:var(--text-muted)}.character-page-layout>.feedback{margin:0}.hero-actions,.inline-actions,.hero-chip-grid,.spell-summary{flex-wrap:wrap;gap:12px;display:flex}.primary-action,.secondary-action,.neutral-action,.success-action,.hero-chip-grid span,.spell-summary span,.gold-tag,.tag-list li{border-radius:var(--pixel-radius);border:1px solid var(--border);font-size:var(--app-button-font-size);letter-spacing:var(--app-button-letter-spacing);overflow-wrap:normal;word-break:normal;-webkit-hyphens:none;hyphens:none;padding:10px 16px;line-height:1.3}.primary-action{background:var(--accent-surface);color:#fff;border-color:var(--accent-border-medium);box-shadow:var(--button-shadow);font-weight:700}.secondary-action{background:color-mix(in srgb, var(--accent-surface-soft) 68%, #7e848d1f);color:var(--text-bright);border-color:color-mix(in srgb, var(--accent-border-medium) 78%, var(--line-soft));box-shadow:var(--button-shadow)}.neutral-action{color:var(--text-bright);border-color:var(--line-soft);font-family:var(--font-pixel);box-shadow:var(--button-shadow);background:#a0a0a033}.success-action{color:var(--state-success-text-soft);font-family:var(--font-pixel);box-shadow:var(--button-shadow);background:#34764738;border-color:#6fca8075}.primary-action:hover,.primary-action:focus-visible,.secondary-action:hover,.secondary-action:focus-visible,.neutral-action:hover,.neutral-action:focus-visible,.success-action:hover,.success-action:focus-visible,.danger-action:hover,.danger-action:focus-visible{outline:none;transform:translateY(-1px)}.primary-action:active,.secondary-action:active,.neutral-action:active,.success-action:active,.danger-action:active{box-shadow:none;transform:translateY(1px)}.primary-action:disabled,.secondary-action:disabled,.neutral-action:disabled,.success-action:disabled,.button-reset:disabled{opacity:1;cursor:not-allowed;color:var(--text-soft);border-color:var(--accent-border-soft);box-shadow:none;background:#35393feb}.primary-action:disabled{color:var(--text-disabled);background:#3e4249f5;border-color:#7a6e6547}.dashboard-grid,.character-grid{gap:20px;display:grid}.campaigns-page-layout{--campaign-shell-surface:linear-gradient(180deg, #2f343bf5, #22262cfc);--campaign-shell-surface-soft:linear-gradient(180deg, #383e46d1, #272b32f0);--campaign-shell-shadow:0 18px 38px #0003, inset 0 0 0 1px var(--accent-border-faint);--campaign-shell-shadow-strong:0 22px 46px #0000003d, inset 0 0 0 1px var(--accent-border-faint)}.campaigns-hero{border:1px solid var(--border);border-radius:calc(var(--pixel-radius) + 2px);background:radial-gradient(circle at top right, color-mix(in srgb, var(--accent) 16%, transparent), transparent 34%), var(--campaign-shell-surface);box-shadow:var(--campaign-shell-shadow-strong);grid-template-columns:minmax(0,1.6fr) minmax(320px,.75fr);gap:24px;padding:22px 28px 18px;display:grid;position:relative;overflow:hidden}.campaigns-hero:before,.campaigns-hero:after{content:"";pointer-events:none;position:absolute;inset:0}.campaigns-hero:before{background:linear-gradient(90deg, var(--accent-surface-muted), transparent 32%), var(--panel-pattern), var(--panel-pattern);opacity:.92;background-size:auto,16px 16px,16px 16px}.campaigns-hero:after{background:radial-gradient(circle, color-mix(in srgb, var(--accent) 24%, transparent), transparent 68%);filter:blur(26px);height:180px;animation:7.2s ease-in-out infinite campaignsHeroGlow;inset:auto -10% -40%}.campaigns-hero-copy,.campaigns-hero-insights{z-index:1;position:relative}.campaigns-hero-copy{align-content:start;gap:12px;max-width:min(100%,62rem);min-height:0;animation:.56s both campaignsFadeUp;display:grid}.campaigns-hero-kicker{color:var(--accent-text)}.campaigns-hero h1{text-wrap:balance;max-width:22ch;margin:0;font-size:clamp(2rem,4vw,3.75rem);line-height:.94}.campaigns-hero p{max-width:44rem;color:var(--text-soft);margin:0;font-size:1rem;line-height:1.7}.campaigns-hero-actions{flex-wrap:wrap;justify-content:flex-end;align-self:end;gap:12px;padding-top:4px;display:flex}.campaigns-hero-insights .campaigns-hero-actions{grid-column:1/-1}.campaign-workspace-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.campaign-workspace-toggle{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:inline-flex}.campaigns-hero-action{justify-content:center;min-width:178px;text-decoration:none;transition:transform .18s,box-shadow .18s,opacity .18s}.campaigns-hero-action.is-active{transform:translateY(-1px)}.campaigns-hero-insights{grid-template-columns:repeat(2,minmax(0,1fr));align-content:stretch;gap:14px;animation:.68s both campaignsFadeUp;display:grid}.campaigns-hero-stat,.campaigns-hero-spotlight{border:1px solid var(--accent-border-soft);border-radius:var(--pixel-radius);background:var(--campaign-shell-surface-soft);box-shadow:var(--campaign-shell-shadow);gap:8px;padding:18px;display:grid;position:relative;overflow:hidden}.campaigns-hero-stat:before,.campaigns-hero-spotlight:before{content:"";background:linear-gradient(140deg, var(--accent-surface-muted), transparent 48%);opacity:0;transition:opacity .18s;position:absolute;inset:0}.campaigns-hero-stat:hover:before,.campaigns-hero-spotlight:hover:before{opacity:1}.campaigns-hero-stat>strong,.campaigns-hero-spotlight>strong{z-index:1;color:var(--text-bright);position:relative}.campaigns-hero-stat>strong{font-family:var(--font-pixel);letter-spacing:.08em;font-size:clamp(1.5rem,2.4vw,2.3rem);line-height:1}.campaigns-hero-stat>p,.campaigns-hero-spotlight>p{z-index:1;max-width:none;color:var(--text-soft);margin:0;font-size:.92rem;line-height:1.55;position:relative}.campaigns-hero-spotlight-summary{color:var(--text);margin:0;line-height:1.6}.campaigns-hero-spotlight{grid-column:1/-1;grid-template-columns:minmax(0,1fr);align-content:stretch;align-items:start;gap:12px;min-height:146px}.campaigns-hero-spotlight>strong{font-size:1.08rem;line-height:1.3}.campaigns-hero-spotlight-main,.campaigns-hero-spotlight-side{z-index:1;display:grid;position:relative}.campaigns-hero-spotlight-main{align-content:start;justify-self:start;gap:8px;max-width:none;padding-right:0}.campaigns-hero-spotlight-main:after{display:none}.campaigns-hero-spotlight-campaign{font-family:var(--font-pixel);letter-spacing:.06em;font-size:1.16rem;line-height:1.15}.campaigns-hero-spotlight-side{align-content:start;min-width:0;padding-left:0}.campaign-section-badge{border:1px solid var(--line-soft);border-radius:var(--pixel-radius);min-height:30px;color:var(--text-soft);font-family:var(--font-pixel);letter-spacing:.1em;text-transform:uppercase;background:#42464cb3;align-items:center;padding:6px 10px;font-size:.62rem;display:inline-flex}.campaign-section-badge.is-accent{border-color:var(--accent-border-medium);background:var(--accent-surface-muted);color:var(--accent-text)}.campaigns-list-panel-card .section-card-header{justify-content:space-between;align-items:flex-start;display:flex}.campaigns-list-panel-card .section-card-header>div:first-child{min-width:0}.campaigns-list-panel-card .section-card-header-aside{width:auto;margin-left:auto}.campaigns-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px;min-width:0;display:grid}.campaigns-overview-grid.is-single-panel{grid-template-columns:minmax(0,1fr);align-items:start}.campaigns-workspace-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}.campaigns-panel{transition:transform .22s,opacity .22s,filter .22s;animation:.72s both campaignsFadeUp;position:relative}.campaigns-panel-join{animation-delay:80ms}.campaigns-panel-create{animation-delay:.16s}.campaigns-panel.is-active{transform:translateY(-2px)}.campaigns-panel.is-active .section-card{border-color:var(--accent-border-medium);box-shadow:0 20px 42px #00000038, 0 0 0 1px var(--accent-border-faint), inset 0 0 0 1px var(--accent-border-faint)}.campaigns-panel.is-dimmed{opacity:.72;filter:saturate(.9)}.campaigns-panel.is-dimmed:hover{opacity:.9}.campaigns-overview-grid .section-card{background:var(--campaign-shell-surface);box-shadow:var(--campaign-shell-shadow);overflow:hidden}.campaigns-overview-grid .section-card-body{align-content:start;display:grid}.campaigns-overview-grid.is-single-panel .campaigns-panel{width:100%}.campaigns-workspace-sidebar,.campaigns-workspace-main{min-width:0}.campaign-selection-list{gap:16px;display:grid}.campaign-characters-section{gap:12px;display:grid}.campaign-characters-heading{gap:4px;display:grid}.page-heading>p,.empty-state-stack .muted-copy{max-width:none}.campaign-invite-panel{border:1px solid var(--accent-border-soft);border-radius:var(--pixel-radius);background:linear-gradient(#3c434abd,#2c3137f0);gap:8px;margin-bottom:16px;padding:16px;display:grid;box-shadow:inset 0 1px #ffffff08,0 10px 18px #0000001f}.campaign-invite-form{gap:8px;display:grid}.campaign-invite-heading{gap:4px;display:grid}.campaign-invite-heading .muted-copy{margin:0}.campaign-invite-field{gap:6px;min-width:0}.campaign-invite-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;display:grid}.campaign-invite-button{align-self:center;min-width:120px;margin-top:28px}.campaign-selection-card{border:1px solid var(--border);border-radius:var(--pixel-radius);background:var(--campaign-shell-surface);box-shadow:var(--campaign-shell-shadow);gap:14px;padding:18px;transition:transform .18s,border-color .18s,box-shadow .18s;display:grid;position:relative;overflow:hidden}.campaign-selection-card:before{content:"";background:linear-gradient(180deg, var(--accent-border-focus), var(--accent-border-soft));opacity:.7;width:3px;position:absolute;inset:0 auto 0 0}.campaign-selection-card:hover{border-color:var(--accent-border-medium);box-shadow:0 20px 42px #00000038, inset 0 0 0 1px var(--accent-border-faint);transform:translateY(-2px)}.campaign-list-header{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:18px;display:grid}.campaign-selection-card{position:relative}.campaign-card-corner-actions{gap:8px;display:none}.campaign-card-corner-action{min-height:42px;box-shadow:0 10px 22px #0000002e, inset 0 0 0 1px var(--accent-border-faint)}.campaign-card-leave-button{min-width:72px;padding-inline:14px}.campaign-card-copy{align-content:start;gap:12px;min-width:0;max-width:68ch;display:grid}.campaign-card-heading{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.campaign-card-title{font-family:var(--font-pixel);letter-spacing:.08em;color:var(--text-bright);font-size:clamp(1.15rem,2vw,1.6rem);line-height:1.1}.campaign-card-status-badge{border:1px solid var(--line-subtle);width:fit-content;max-width:100%;font-family:var(--font-pixel);letter-spacing:.08em;text-transform:uppercase;box-shadow:inset 0 0 0 1px var(--line-hairline), 0 8px 16px #0000001f;border-radius:999px;padding:7px 12px;font-size:.68rem}.campaign-card-status-badge.is-open{color:var(--success-text);background:color-mix(in srgb, var(--success-surface,#203126) 88%, transparent);border-color:color-mix(in srgb, var(--success-border,#6bc37c) 55%, transparent)}.campaign-card-status-badge.is-closed{color:var(--danger-text);background:color-mix(in srgb, var(--danger-surface,#321f23) 88%, transparent);border-color:color-mix(in srgb, var(--danger-border,#d57979) 48%, transparent)}.campaign-card-status-badge.is-completed{color:var(--state-success-text);background:color-mix(in srgb, var(--state-success-surface) 72%, #0f1217f0);border-color:color-mix(in srgb, var(--state-success-border) 62%, transparent)}.campaign-card-context{flex-wrap:wrap;gap:10px 16px;display:flex}.campaign-card-context-item{gap:4px;display:grid}.campaign-card-context-item .label{color:var(--text-faint)}.campaign-card-context-item strong{color:var(--text-bright);font-size:.95rem;line-height:1.25}.campaign-card-session-title{color:var(--text-bright);font-size:1rem;line-height:1.35}.campaign-card-description{max-width:72ch;color:var(--text-muted);margin:2px 0 0}.campaign-card-side{align-content:start;justify-items:end;gap:12px;min-width:0;max-width:100%;display:grid}.campaign-completed-summary{border:1px solid color-mix(in srgb, var(--state-success-border) 58%, var(--line-subtle));border-radius:var(--pixel-radius);background:color-mix(in srgb, var(--state-success-surface) 24%, var(--surface-card));text-align:right;gap:7px;min-width:min(100%,260px);padding:14px 16px;display:grid;box-shadow:inset 0 1px #ffffff08}.campaign-completed-summary .label{color:var(--state-success-text)}.campaign-completed-summary strong{color:var(--text-bright);font-size:1rem}.campaign-completed-summary p{margin:0}.campaign-list-actions-inline{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;width:100%;max-width:100%;display:flex}.campaign-list-actions-primary{justify-content:flex-end}.campaign-list-actions-primary-master{grid-template-columns:auto auto;justify-content:flex-end;align-items:center;display:grid}.campaign-list-actions-primary-master>.button-reset,.campaign-list-actions-primary-master>.primary-action,.campaign-list-actions-primary-master>.secondary-action,.campaign-list-actions-primary-master>.success-action,.campaign-list-actions-primary-master>.danger-action,.campaign-list-actions-primary-master>.neutral-action{letter-spacing:clamp(.06em,.22vw,.12em);white-space:nowrap;width:auto;font-size:clamp(.72rem,.7vw,.86rem)}.campaign-list-actions-primary-master>:last-child{width:auto}.campaign-list-actions-secondary{justify-content:flex-end}.campaign-list-actions-secondary>.button-reset{justify-content:center;align-items:center;min-height:48px;display:inline-flex}.campaign-character-action-button{letter-spacing:clamp(.05em,.18vw,.1em);white-space:nowrap;font-size:clamp(.68rem,.65vw,.8rem)}.campaign-icon-action-button{place-items:center;width:48px;min-width:48px;min-height:48px;padding:0;display:inline-grid}.campaign-icon-action-button .app-icon{font-size:var(--app-button-font-size-icon)}.campaign-entry-actions{justify-items:start;gap:10px;display:grid}.campaign-summary-layout{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.campaign-overview-card{border:1px solid var(--border);border-radius:var(--pixel-radius);background:var(--bg-panel-soft);box-shadow:var(--pixel-shadow);align-content:start;gap:10px;padding:18px;display:grid}.campaign-meta-lines,.campaign-resource-list,.campaign-management-actions,.campaign-route-actions{flex-wrap:wrap;gap:10px;display:flex}.campaign-meta-lines span,.campaign-resource-list span{border:1px solid var(--border);background:var(--line-hairline);color:var(--text);border-radius:999px;padding:8px 12px}.campaign-turn-overview{background:var(--bg-panel-soft)}.campaign-config-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;display:grid}.campaign-config-summary div{border:1px solid var(--border);border-radius:var(--pixel-radius);background:var(--surface-card);padding:12px 14px}.campaign-config-summary dt{color:var(--text-soft);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}.campaign-config-summary dd{color:var(--text);margin:8px 0 0;font-size:1.25rem;font-weight:700}.campaign-config-help{max-width:34ch;margin:0}.campaign-config-help-full-width{margin:0}.campaign-management-bar{border:1px solid var(--border);border-radius:var(--pixel-radius);background:var(--surface-card);gap:14px;margin-top:18px;padding:18px;display:grid}.campaign-management-info{gap:6px;display:grid}.campaign-management-info strong{color:var(--text)}.campaign-route-actions{margin-top:18px}.campaign-modal-backdrop{z-index:30;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);overscroll-behavior:contain;background:#101114b8;place-items:center;padding:92px 12px 18px;display:grid;position:fixed;inset:0}.campaign-badge-editor-backdrop{z-index:36;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);overscroll-behavior:contain;background:#101114c2;place-items:center;padding:92px 18px 18px;display:grid;position:fixed;inset:0}.campaign-mobile-overlay-backdrop{z-index:28;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);overscroll-behavior:contain;background:#0a0b0ed1;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.campaign-mobile-overlay{border:1px solid var(--accent-border-medium);border-radius:calc(var(--pixel-radius) + 6px);text-align:left;background:radial-gradient(circle at top,#b0905433,#0000 58%),linear-gradient(#22252bfa,#14161bfa);gap:14px;width:min(100%,420px);padding:24px 20px;display:grid;box-shadow:0 26px 60px #0000006b,inset 0 0 0 1px #ffffff0a}.campaign-mobile-overlay-label{color:var(--accent-text)}.campaign-mobile-overlay h2{color:var(--text-bright);font-family:var(--font-pixel);letter-spacing:.06em;margin:0;font-size:clamp(1rem,3vw,1.4rem);line-height:1.2}.campaign-mobile-overlay p{color:var(--text-muted);margin:0;line-height:1.6}.campaign-mobile-overlay>.primary-action{justify-content:center;width:100%}.campaign-confirm-backdrop{z-index:34;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);overscroll-behavior:contain;background:#101114b8;place-items:center;padding:92px 24px 24px;display:grid;position:fixed;inset:0}.campaign-confirm-modal{border:1px solid var(--border);border-radius:var(--pixel-radius);background:var(--bg-panel);background-image:var(--panel-pattern), var(--panel-pattern);width:min(100%,460px);box-shadow:var(--shadow);background-size:16px 16px,16px 16px;gap:20px;padding:24px;display:grid}.campaign-map-name-backdrop{z-index:34}.campaign-map-name-modal{border-color:var(--accent-border-medium);background:var(--panel-pattern), color-mix(in srgb, var(--bg-panel) 86%, transparent);-webkit-backdrop-filter:blur(14px);background-size:16px 16px,auto;width:min(520px,100vw - 32px)}.campaign-map-name-modal .campaign-confirm-header{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px}.campaign-map-name-modal .campaign-modal-close{margin-left:auto}.campaign-confirm-header{gap:8px;display:grid}.campaign-confirm-header h2{color:#fff1d7;font-family:var(--font-pixel);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:1.05rem;line-height:1.2}.campaign-confirm-header>div{gap:8px;display:grid}.campaign-confirm-header .muted-copy{color:var(--text-soft);margin:0}.campaign-confirm-well{border:1px solid color-mix(in srgb, var(--surface-well-strong) 72%, transparent);border-radius:var(--pixel-radius);background:var(--surface-well);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--surface-well-strong) 60%, transparent);gap:12px;padding:14px;display:grid}.campaign-confirm-copy{border:1px solid var(--border);border-radius:var(--pixel-radius);background:var(--surface-card);gap:10px;padding:16px 18px;display:grid;box-shadow:inset 0 1px #ffffff08}.campaign-confirm-copy>.label{color:var(--text-soft);letter-spacing:.12em;font-size:.72rem}.campaign-confirm-copy>.muted-copy{color:var(--text);margin:0;line-height:1.55}.campaign-confirm-actions{border-top:1px solid #fff1d714;justify-content:center;gap:12px;padding:14px 0 0;display:flex}.campaign-confirm-actions>.button-reset,.campaign-confirm-actions>.primary-action,.campaign-confirm-actions>.secondary-action,.campaign-confirm-actions>.neutral-action,.campaign-confirm-actions>.danger-action{min-width:132px}.campaign-map-name-actions{justify-content:stretch}.campaign-map-name-actions>.button-reset,.campaign-map-name-actions>.primary-action,.campaign-map-name-actions>.neutral-action{flex:1 1 0}.campaign-modal{border:1px solid var(--border);border-radius:var(--pixel-radius);background:var(--bg-panel);background-image:var(--panel-pattern), var(--panel-pattern);width:min(1640px,100vw - 24px);max-height:calc(100vh - 110px);box-shadow:var(--shadow);background-size:16px 16px,16px 16px;grid-template-rows:auto minmax(0,1fr) auto;gap:20px;padding:24px;display:grid;overflow:hidden}.campaign-modal-body{align-content:start;gap:18px;min-height:0;padding:0 8px 24px 0;scroll-padding-bottom:24px;display:grid;overflow-y:auto}.campaign-modal-header{justify-content:space-between;align-items:start;gap:16px;display:flex}.campaign-modal-close{justify-content:center;align-items:center;width:40px;height:40px;padding:0;font-family:inherit;font-size:1rem;font-weight:700;line-height:1;display:inline-flex}.campaign-modal-actions{flex-wrap:wrap;gap:12px;display:flex}.campaign-config-actions{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;padding-top:6px;display:grid}.campaign-config-actions-save,.campaign-config-actions-secondary{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.campaign-config-actions-save{justify-items:start}.campaign-config-actions-save .primary-action{min-width:min(100%,320px)}.campaign-config-actions-secondary{justify-content:end}.campaign-modal .campaign-summary-layout .campaign-overview-card{border-color:var(--line-subtle);background:var(--surface-card);box-shadow:none}.campaign-modal .campaign-summary-layout .campaign-config-summary div{border-color:var(--line-soft);background:var(--surface-card-raised);box-shadow:inset 0 1px #ffffff08}.campaign-modal .campaign-configurator-panel{border-color:var(--line-subtle);background:var(--surface-well);box-shadow:none}.campaign-modal .campaign-configurator-panel .campaign-builder-row,.campaign-modal .campaign-configurator-panel .campaign-effect-builder-row{border-color:var(--line-subtle);background:var(--surface-card);box-shadow:inset 0 1px #ffffff08}.campaign-modal .campaign-configurator-panel .campaign-builder-preview{border-color:var(--line-soft);background:var(--surface-card-raised);box-shadow:inset 0 1px #ffffff08}.campaign-modal .campaign-configurator-panel .stepper-field{border-color:var(--accent);background:var(--surface-card-raised);box-shadow:none}.campaign-sessions-modal{width:min(2020px,100vw - 20px)}.campaign-sessions-embedded{gap:18px;display:grid}.campaign-sessions-embedded .dashboard-grid{align-items:stretch;margin:0}.campaign-sessions-embedded .section-card{border-color:var(--line-subtle);background:var(--surface-well);min-height:0;box-shadow:none}.campaign-sessions-embedded .section-card-header{padding:18px 18px 0}.campaign-sessions-embedded .section-card-body{border:1px solid var(--line-subtle);border-radius:var(--pixel-radius);background:var(--surface-card);margin:0 18px 18px;padding:18px;box-shadow:inset 0 1px #ffffff08}.campaign-sessions-embedded .section-card-header+.section-card-body{margin-top:14px}.campaign-sessions-embedded .character-list-card{border-color:var(--accent-border);background:var(--surface-card-raised);box-shadow:var(--pixel-shadow)}.campaign-sessions-embedded .session-readonly-summary,.campaign-sessions-embedded .auth-form .form-grid{border:1px solid var(--line-subtle);border-radius:var(--pixel-radius);background:var(--surface-card-raised);padding:14px;box-shadow:inset 0 1px #ffffff08}.campaign-sessions-embedded .auth-form{gap:16px;display:grid}.campaign-sessions-embedded .auth-form .inline-actions{border-top:1px solid var(--line-subtle);padding-top:14px}.campaign-session-history-toolbar{justify-content:space-between;align-items:start;gap:16px;margin-bottom:14px;display:flex}.campaign-session-history-toolbar .muted-copy{margin:4px 0 0}.campaign-session-history-list{gap:10px;display:grid}.campaign-session-history-item{border:1px solid var(--line-soft);border-radius:var(--pixel-radius);background:var(--surface-card-raised);width:100%;color:var(--text);text-align:left;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 14px;transition:border-color .14s,background .14s,transform .14s;display:grid;box-shadow:inset 0 1px #ffffff08}.campaign-session-history-item:hover,.campaign-session-history-item:focus-visible{border-color:var(--accent-warm-border);background:var(--accent-surface-selected-strong);outline:none;transform:translateY(-1px)}.campaign-sessions-embedded .campaign-session-history-item.current-turn-card{border-color:var(--accent-border-medium);background:var(--accent-surface-soft);box-shadow:inset 0 0 0 1px var(--accent-border-faint), inset 0 1px 0 #ffffff0a}.campaign-session-history-date{font-family:var(--font-pixel);letter-spacing:.12em;color:var(--text-soft);font-size:.68rem}.campaign-session-history-copy{gap:4px;min-width:0;display:grid}.campaign-session-history-copy strong{color:var(--text-bright);font-family:var(--font-pixel);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.88rem}.campaign-session-history-copy small{color:var(--text-soft)}.campaign-session-history-copy .muted-copy{margin:0}.campaign-session-status-chip{border:1px solid var(--line-soft);border-radius:var(--pixel-radius);min-height:30px;color:var(--text-bright);font-family:var(--font-pixel);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;background:#a0a0a033;justify-content:center;align-items:center;padding:6px 12px;font-size:.62rem;display:inline-flex;box-shadow:inset 0 0 0 1px #fff1d708}.campaign-session-status-chip.is-completed{border-color:var(--state-success-border);color:var(--state-success-text);background:#51a35f33}.campaign-session-status-chip.is-pending{border-color:var(--accent-border-medium);background:var(--accent-surface-muted);color:var(--accent-text)}.session-readonly-summary{border:1px solid var(--line-faint);border-radius:var(--pixel-radius);background:var(--surface-well);gap:10px;padding:14px;display:grid}.session-readonly-summary .muted-copy{margin:0;line-height:1.6}.campaign-configurator-grid{grid-template-columns:1fr;align-items:start;gap:16px;display:grid}.campaign-configurator-intro-grid{grid-template-columns:minmax(0,1fr) minmax(0,420px);align-items:stretch;gap:16px;display:grid}.campaign-configurator-panel{gap:14px}.campaign-description-panel{grid-template-rows:auto minmax(0,1fr);align-content:stretch}.campaign-description-field{grid-template-rows:auto minmax(0,1fr);height:100%;min-height:0}.campaign-description-field .ui-textarea{height:100%;min-height:220px}.campaign-configurator-panel-wide{grid-column:1/-1}.campaign-parameter-row{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));align-items:stretch;gap:14px;display:grid}.campaign-config-field{grid-template-rows:auto minmax(0,1fr) auto;align-content:start;height:100%;display:grid}.campaign-config-field .stepper-field{align-self:end}.campaign-character-creation-mode-field{grid-template-rows:auto auto auto}.campaign-character-creation-mode-field .ui-select{align-self:end;min-height:52px}.campaign-configurator-panel-heading{gap:6px;display:grid}.campaign-config-description{white-space:pre-wrap;margin:0;line-height:1.7}.campaign-builder-list{gap:12px;display:grid}.campaign-builder-row,.campaign-effect-builder-row{border:1px solid var(--line-subtle);border-radius:var(--pixel-radius);background:var(--surface-well);align-items:end;gap:12px;padding:14px;display:grid}.campaign-builder-row{grid-template-columns:minmax(0,1.2fr) minmax(200px,.9fr) auto}.campaign-effect-builder-row{grid-template-columns:minmax(0,1.05fr) minmax(180px,.7fr) minmax(180px,.8fr) minmax(220px,.9fr) auto}.campaign-builder-preview{border:1px solid var(--border);border-radius:var(--pixel-radius);background:var(--surface-card-raised);align-content:center;gap:4px;min-height:52px;padding:10px 14px;display:grid}.campaign-builder-preview strong{color:var(--text-bright);font-size:.98rem}.campaign-builder-preview small{color:var(--text-muted)}.campaign-badge-summary-panel{align-content:start;gap:10px;padding:16px}.campaign-badge-summary-card{grid-template-rows:minmax(0,1fr) auto;gap:10px;height:100%;display:grid}.campaign-badge-summary-preview{aspect-ratio:1;border:1px solid var(--line-subtle);border-radius:var(--pixel-radius);background:linear-gradient(180deg, #14181ed6, #0d1016eb), var(--panel-pattern), var(--panel-pattern);background-size:auto,16px 16px,16px 16px;justify-self:center;place-items:center;width:min(100%,220px);min-height:0;padding:10px;display:grid}.campaign-badge-preview-svg{--campaign-badge-size:170px;max-width:100%;max-height:100%}.campaign-badge-edit-button{justify-self:end}.campaign-badge-editor-modal{width:min(980px,100vw - 36px);max-height:calc(100vh - 110px)}.campaign-badge-editor-body{grid-template-columns:minmax(0,1fr) minmax(280px,.85fr);gap:18px;min-height:0;display:grid;overflow:hidden}.campaign-badge-editor-controls,.campaign-badge-editor-preview{border:1px solid var(--line-subtle);border-radius:var(--pixel-radius);background:var(--surface-well);align-content:start;gap:14px;min-height:0;padding:16px;display:grid}.campaign-badge-editor-controls{grid-template-rows:auto minmax(0,1fr)}.campaign-badge-editor-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.campaign-badge-editor-tab{border:1px solid var(--line-subtle);background:var(--surface-card);min-height:42px;color:var(--text-muted);justify-content:center}.campaign-badge-editor-tab.is-active{border-color:var(--accent-border-medium);background:var(--accent-surface-muted);color:var(--accent-text)}.campaign-badge-editor-panel{min-height:0;padding-right:4px;overflow:hidden}.campaign-badge-option-scroll{overscroll-behavior:contain;scrollbar-color:var(--accent-border-medium) #ffffff0a;scrollbar-width:thin;min-height:0;max-height:min(430px,100vh - 390px);padding:2px 4px 24px 0;scroll-padding-bottom:24px;overflow-y:auto}.campaign-badge-option-scroll::-webkit-scrollbar{width:8px}.campaign-badge-option-scroll::-webkit-scrollbar-track{background:#ffffff09;border-radius:999px}.campaign-badge-option-scroll::-webkit-scrollbar-thumb{background:var(--accent-border-medium);border-radius:999px}.campaign-badge-option-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.campaign-badge-option{border:1px solid var(--line-subtle);border-radius:var(--pixel-radius);background:var(--surface-card);min-height:104px;color:var(--text);align-content:center;justify-items:center;padding:14px;display:grid}.campaign-badge-option.is-selected{border-color:var(--accent-border-medium);background:var(--accent-surface-muted);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent-border-medium) 55%, transparent)}.campaign-badge-option-svg{--campaign-badge-size:74px}.campaign-badge-color-editor,.campaign-badge-text-editor{gap:14px;display:grid}.campaign-badge-color-editor{grid-template-columns:repeat(2,minmax(0,1fr))}.campaign-badge-color-editor .ui-color-field{display:block}.campaign-badge-color-editor .ui-color-input{border-color:var(--accent-border-soft);background:linear-gradient(180deg, #ffffff0d, #ffffff03), var(--surface-card);width:100%;height:58px;padding:6px}.campaign-badge-color-editor .ui-color-input:hover,.campaign-badge-color-editor .ui-color-input:focus-visible{border-color:var(--accent-border-strong);box-shadow:0 0 0 1px var(--accent-border-medium), 0 0 0 4px var(--accent-border-faint);outline:none}.campaign-badge-color-editor .ui-color-input::-webkit-color-swatch{border:1px solid #00000052}.campaign-badge-color-editor .ui-color-input::-moz-color-swatch{border:1px solid #00000052}.campaign-badge-position-editor{border:1px solid var(--line-subtle);border-radius:var(--pixel-radius);background:linear-gradient(180deg, #ffffff09, #ffffff03), var(--surface-card);grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;width:100%;padding:12px;display:grid}.campaign-badge-position-heading{text-align:left;grid-column:1/-1;justify-content:space-between;align-items:center;gap:12px;display:flex}.campaign-badge-position-heading strong{color:var(--text-bright);font-family:var(--font-pixel);letter-spacing:.05em;font-size:.78rem}.campaign-badge-position-editor .ui-field{gap:7px}.campaign-badge-position-editor .ui-label{color:var(--text-muted);font-family:var(--font-pixel);letter-spacing:.08em;font-size:.68rem}.campaign-badge-position-editor .ui-slider-field{min-height:24px}.campaign-badge-position-editor .ui-slider-input::-webkit-slider-runnable-track{border:1px solid var(--line-subtle);background:linear-gradient(90deg, transparent calc(50% - 1px), var(--accent-border-medium) calc(50% - 1px), var(--accent-border-medium) calc(50% + 1px), transparent calc(50% + 1px)), color-mix(in srgb, var(--surface-well) 88%, black);border-radius:999px;height:8px;box-shadow:inset 0 1px 4px #00000059}.campaign-badge-position-editor .ui-slider-input::-webkit-slider-thumb{-webkit-appearance:none;border:1px solid var(--accent-border-strong);background:var(--accent);border-radius:4px;width:16px;height:16px;margin-top:-5px;box-shadow:0 2px 8px #0000006b,0 0 0 2px #0c0e12c2}.campaign-badge-position-editor .ui-slider-input::-moz-range-track{border:1px solid var(--line-subtle);background:linear-gradient(90deg, transparent calc(50% - 1px), var(--accent-border-medium) calc(50% - 1px), var(--accent-border-medium) calc(50% + 1px), transparent calc(50% + 1px)), color-mix(in srgb, var(--surface-well) 88%, black);border-radius:999px;height:8px;box-shadow:inset 0 1px 4px #00000059}.campaign-badge-position-editor .ui-slider-input::-moz-range-thumb{border:1px solid var(--accent-border-strong);background:var(--accent);border-radius:4px;width:16px;height:16px;box-shadow:0 2px 8px #0000006b,0 0 0 2px #0c0e12c2}.campaign-badge-position-reset{justify-self:center}.campaign-badge-editor-preview{text-align:center;background:linear-gradient(180deg, #14181ed6, #0d1016eb), var(--panel-pattern), var(--panel-pattern);background-size:auto,16px 16px,16px 16px;grid-template-rows:auto minmax(0,1fr);align-content:stretch;place-items:stretch center}.campaign-badge-editor-preview>.label{justify-self:center}.campaign-badge-preview-stage{align-self:center;justify-items:center;gap:12px;width:min(100%,380px);min-height:0;display:grid}.campaign-badge-editor-preview-svg{--campaign-badge-size:clamp(180px, 44%, 260px);place-self:center;width:clamp(180px,44%,260px);height:clamp(180px,44%,260px);min-height:0}.campaign-badge-editor-actions{justify-content:flex-end}.campaign-builder-add{justify-self:start}.empty-state-stack{border:1px dashed var(--accent-border);border-radius:var(--pixel-radius);background:#fff8eb05;gap:10px;padding:16px;display:grid}.empty-state-stack strong{color:var(--text)}.compact-form{gap:14px}.compact-campaign-form-grid{gap:12px}.compact-textarea{min-height:108px}.dashboard-grid,.character-grid,.stats-grid,.attribute-grid,.campaign-card-grid,.split-list{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-grid{gap:16px;margin:0;display:grid}.stats-grid div,.campaign-card-grid div,.character-list-card{border:1px solid var(--border);border-radius:var(--pixel-radius);background:var(--bg-panel-soft);box-shadow:var(--pixel-shadow);padding:12px 16px}.wiki-page-card{text-align:left;align-content:start;justify-items:start;gap:8px;min-width:0;display:grid}.wiki-page-card .label{width:fit-content;margin:0;line-height:1.2;display:inline-flex}.wiki-page-card strong,.wiki-page-card .muted-copy{overflow-wrap:anywhere;min-width:0;margin:0}.stats-grid dt,.label{color:var(--text-soft);text-transform:uppercase;letter-spacing:.08em;font-size:.85rem}.stats-grid dd,.campaign-card-grid strong{color:var(--text);margin:8px 0 0;font-size:1.15rem}.attribute-grid,.campaign-card-grid,.split-list{gap:16px;display:grid}.character-proficiency-defense-list{grid-template-columns:repeat(2,minmax(0,1fr))}.character-defense-builder-panel{grid-column:1/-1}.proficiency-builder{border:1px solid var(--line-subtle);border-radius:var(--pixel-radius);background:var(--surface-card-raised);gap:14px;margin-top:10px;padding:14px;display:grid}.equipment-slot-content .proficiency-builder{background:0 0;border:0;border-radius:0;margin-top:0;padding:0}.proficiency-builder-row{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:10px;display:grid}.proficiency-builder-row-defense{grid-template-columns:minmax(180px,1.1fr) minmax(180px,1.1fr) minmax(120px,.7fr) auto}.proficiency-builder-row-defense .proficiency-builder-field{min-width:0}.proficiency-builder-row-defense>.secondary-action{min-width:132px}.proficiency-builder-row>.secondary-action{box-shadow:none;justify-content:center}.proficiency-tag-list li{justify-content:space-between;align-items:center;gap:12px;display:flex}.proficiency-tag-list li span{min-width:0}.proficiency-tag-list .danger-action{box-shadow:none;padding:8px 12px}.bullet-panel,.tag-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.label+.bullet-panel,.label+.action-config-stack,.label+.action-config-block,.label+.ui-expandable-field{margin-top:8px}.bullet-panel+.field,.bullet-panel+.label,.form-grid+.label,.action-config-stack+.field,.action-config-stack+.label,.action-config-block+.field,.action-config-block+.label,.form-grid+.ui-expandable-field,.ui-expandable-field+.field,.ui-expandable-field+.label{margin-top:12px}.bullet-panel li{border-radius:var(--pixel-radius);background:var(--bg-panel-soft);border:1px solid var(--border);box-shadow:var(--pixel-shadow);padding:14px 16px}.theme-accent-panel{align-items:start;gap:18px;display:grid}.theme-accent-controls{align-content:start;gap:16px;display:grid}.theme-accent-config-card{border:1px solid var(--line-subtle);border-radius:var(--pixel-radius);background:var(--surface-card);gap:12px;padding:14px;display:grid}.theme-accent-config-separator{background:var(--line-subtle);height:1px}.theme-accent-control-row{flex-wrap:nowrap;align-items:center;gap:12px;min-width:0;display:flex}.theme-accent-toggle-inline{justify-content:space-between;align-items:center;gap:16px;display:flex}.theme-accent-toggle-copy{color:var(--text-bright)}.theme-accent-switch{box-shadow:none;background:0 0;border:0;padding:0;line-height:1}.theme-accent-switch-track{border:1px solid var(--line-soft);background:var(--surface-card-raised);width:56px;height:32px;box-shadow:inset 0 0 0 1px var(--shadow-medium);border-radius:10px;align-items:center;padding:3px;transition:background .14s,border-color .14s;display:inline-flex;position:relative}.theme-accent-switch-thumb{background:var(--text-bright);width:24px;height:24px;box-shadow:2px 2px 0 var(--shadow-medium);border:1px solid #0c0e1266;border-radius:8px;transition:transform .14s}.theme-accent-switch.is-active .theme-accent-switch-track{border-color:var(--accent-border-medium);background:var(--accent-surface-muted)}.theme-accent-switch.is-active .theme-accent-switch-thumb{transform:translate(24px)}.theme-accent-switch:hover .theme-accent-switch-track,.theme-accent-switch:focus-visible .theme-accent-switch-track{border-color:var(--accent-border-strong)}.theme-accent-switch:focus-visible{outline:none}.theme-accent-hue-swatch{border:1px solid var(--border);border-radius:var(--pixel-radius);background:var(--surface-card-raised);flex:none;width:56px;height:56px}.theme-accent-hue-slider-disabled{border:1px solid var(--border);background:var(--surface-card-raised);opacity:.48;border-radius:999px}.theme-accent-hue-slider{flex:1 1 0;align-items:center;min-width:0;min-height:56px;display:flex}.theme-accent-hue-slider .ui-slider-input,.theme-accent-hue-slider input[type=range]{cursor:pointer;appearance:none;background:0 0;width:100%;margin:0}.theme-accent-hue-slider .ui-slider-input::-webkit-slider-runnable-track{border:1px solid var(--border);background:linear-gradient(90deg,#c62a2a 0%,#c6c62a 16.67%,#2ac62a 33.33%,#2ac6c6 50%,#2a2ac6 66.67%,#c62ac6 83.33%,#c62a2d 100%);border-radius:999px;height:10px}.theme-accent-hue-slider input[type=range]::-webkit-slider-runnable-track{border:1px solid var(--border);background:linear-gradient(90deg,#c62a2a 0%,#c6c62a 16.67%,#2ac62a 33.33%,#2ac6c6 50%,#2a2ac6 66.67%,#c62ac6 83.33%,#c62a2d 100%);border-radius:999px;height:10px}.theme-accent-hue-slider .ui-slider-input::-webkit-slider-thumb{-webkit-appearance:none;border:1px solid var(--accent-border-strong);background:var(--text-bright);border-radius:999px;width:18px;height:18px;margin-top:-5px;box-shadow:0 0 0 2px #0c0e12b8}.theme-accent-hue-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;border:1px solid var(--accent-border-strong);background:var(--text-bright);border-radius:999px;width:18px;height:18px;margin-top:-5px;box-shadow:0 0 0 2px #0c0e12b8}.theme-accent-hue-slider .ui-slider-input::-moz-range-track{border:1px solid var(--border);background:linear-gradient(90deg,#c62a2a 0%,#c6c62a 16.67%,#2ac62a 33.33%,#2ac6c6 50%,#2a2ac6 66.67%,#c62ac6 83.33%,#c62a2d 100%);border-radius:999px;height:10px}.theme-accent-hue-slider input[type=range]::-moz-range-track{border:1px solid var(--border);background:linear-gradient(90deg,#c62a2a 0%,#c6c62a 16.67%,#2ac62a 33.33%,#2ac6c6 50%,#2a2ac6 66.67%,#c62ac6 83.33%,#c62a2d 100%);border-radius:999px;height:10px}.theme-accent-hue-slider .ui-slider-input::-moz-range-thumb{border:1px solid var(--accent-border-strong);background:var(--text-bright);border-radius:999px;width:18px;height:18px;box-shadow:0 0 0 2px #0c0e12b8}.theme-accent-hue-slider input[type=range]::-moz-range-thumb{border:1px solid var(--accent-border-strong);background:var(--text-bright);border-radius:999px;width:18px;height:18px;box-shadow:0 0 0 2px #0c0e12b8}.theme-accent-hue-value{min-width:54px;color:var(--text-bright);font-family:var(--font-pixel);letter-spacing:.04em;text-align:center;flex:0 0 54px;align-self:center;font-size:.82rem}.theme-accent-reset-button{flex:0 0 max-content;white-space:nowrap;letter-spacing:clamp(.025em,.015em + .1vw,.075em);width:max-content;min-width:max-content;max-width:100%;margin-left:auto;padding-inline:16px;font-size:clamp(.5rem,.46rem + .2vw,.66rem)}@media (width<=720px){.theme-accent-control-row{flex-wrap:wrap}}.theme-accent-preview{border:1px solid var(--line-subtle);border-radius:var(--pixel-radius);background:var(--surface-card);gap:10px;padding:16px;display:grid}.theme-accent-preview-block{border-top:0;padding-top:0}.theme-accent-preview-grid{grid-template-rows:repeat(3,minmax(84px,1fr));grid-template-columns:repeat(2,minmax(0,1fr));align-content:stretch;align-items:stretch;gap:12px;height:100%;min-height:100%;display:grid}.theme-accent-preview-grid>*{height:100%;min-height:84px}.theme-accent-preview-chip{text-align:center;align-content:center;align-self:stretch;justify-items:center;width:100%;min-height:84px;padding:12px 14px;display:grid}.theme-accent-preview-chip .ui-chip-content{text-align:center;justify-content:center;display:inline-flex}.theme-accent-preview-stat{border:1px solid var(--accent-border-soft);border-radius:var(--pixel-radius);background:var(--accent-surface-selected);align-content:center;gap:6px;min-height:84px;padding:12px 14px;display:grid}.theme-accent-preview-stat strong{color:var(--text-bright)}.settings-panel .theme-accent-controls{align-content:start;gap:16px;display:grid}.settings-panel .theme-accent-toggle-inline{justify-content:space-between;align-items:center;gap:16px;display:flex}.settings-panel .theme-accent-toggle-copy{color:var(--text-bright)}.settings-panel .theme-accent-switch{box-shadow:none;background:0 0;border:0;padding:0;line-height:1}.settings-panel .theme-accent-switch-track{border:1px solid var(--line-soft);background:var(--surface-card-raised);width:56px;height:32px;box-shadow:inset 0 0 0 1px var(--shadow-medium);border-radius:10px;align-items:center;padding:3px;transition:background .14s,border-color .14s;display:inline-flex;position:relative}.settings-panel .theme-accent-switch-thumb{background:var(--text-bright);width:24px;height:24px;box-shadow:2px 2px 0 var(--shadow-medium);border:1px solid #0c0e1266;border-radius:8px;transition:transform .14s;transform:translate(0)}.settings-panel .theme-accent-switch.is-active .theme-accent-switch-track{border-color:var(--accent-border-medium);background:var(--accent-surface-muted)}.settings-panel .theme-accent-switch.is-active .theme-accent-switch-thumb{transform:translate(24px)}.settings-panel .theme-accent-switch:hover .theme-accent-switch-track,.settings-panel .theme-accent-switch:focus-visible .theme-accent-switch-track{border-color:var(--accent-border-strong)}.settings-panel .theme-accent-switch:focus-visible{outline:none}.settings-panel .settings-privacy-toggle.theme-accent-switch .theme-accent-switch-track{border-radius:10px;width:56px;height:32px}.settings-panel .settings-privacy-toggle.theme-accent-switch .theme-accent-switch-thumb{width:24px;height:24px;box-shadow:2px 2px 0 var(--shadow-medium);border-radius:8px;transform:translate(0)}.settings-panel .settings-privacy-toggle.theme-accent-switch.is-active .theme-accent-switch-thumb{transform:translate(24px)}.settings-panel .theme-accent-preview-grid{grid-template-rows:repeat(3,minmax(84px,1fr));grid-template-columns:repeat(2,minmax(0,1fr));align-content:stretch;align-items:stretch;gap:12px;height:100%;min-height:100%;display:grid}.settings-panel .theme-accent-preview-grid>*{height:100%;min-height:84px}.settings-panel .theme-accent-preview-grid>.button-reset,.settings-panel .theme-accent-preview-grid>.theme-accent-preview-chip,.settings-panel .theme-accent-preview-grid>.theme-accent-preview-stat{align-self:stretch;width:100%;min-height:84px}.settings-panel .theme-accent-preview-grid>.button-reset{justify-content:center;align-items:center}.settings-panel .theme-accent-preview-chip{text-align:center;align-content:center;justify-items:center;padding:12px 14px;display:grid}.settings-panel .theme-accent-preview-chip .ui-chip-content{text-align:center;justify-content:center;display:inline-flex}.settings-panel .theme-accent-preview-stat{border:1px solid var(--accent-border-soft);border-radius:var(--pixel-radius);background:var(--accent-surface-selected);align-content:center;gap:6px;padding:12px 14px;display:grid}.settings-panel .theme-accent-preview-stat strong{color:var(--text-bright)}@media (width<=900px){.theme-accent-preview-grid{grid-template-rows:repeat(3,minmax(84px,1fr));grid-template-columns:repeat(2,minmax(0,1fr))}.theme-accent-reset-button{margin-left:0}.theme-accent-hue-value{text-align:left}}@media (width<=640px){.theme-accent-preview-grid,.settings-panel .theme-accent-preview-grid{grid-template-rows:repeat(3,minmax(72px,auto));grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=420px){.settings-panel .theme-accent-control-row>.theme-accent-hue-slider,.settings-panel .theme-accent-control-row>.field,.settings-panel .theme-accent-control-row>.slider-field{min-width:0}.theme-accent-preview-grid,.settings-panel .theme-accent-preview-grid{grid-template-rows:repeat(6,minmax(72px,auto));grid-template-columns:1fr}}.auth-form{gap:16px;display:grid}.field{gap:8px;display:grid}.field span{color:var(--text-soft);text-transform:uppercase;letter-spacing:.08em;font-size:.85rem}.field input{border:1px solid var(--accent-border-soft);border-radius:var(--pixel-radius);background:var(--bg-panel-soft);width:100%;color:var(--text);padding:14px 16px}.field input:focus{border-color:var(--accent);box-shadow:none;outline:none}.field input[aria-invalid=true]{border-color:#d66060b8;box-shadow:0 0 0 1px #d660602e}.auth-inline-error,.auth-inline-success{font-family:var(--font-pixel);letter-spacing:.08em;font-size:.72rem;font-weight:700;line-height:1.5;display:block}.auth-inline-error{color:var(--state-danger-text)}.auth-inline-success{color:var(--state-success-text)}.select-input{border:1px solid var(--accent-border-soft);border-radius:var(--pixel-radius);background:var(--bg-panel-soft);width:100%;color:var(--text);appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--accent) 50%), linear-gradient(135deg, var(--accent) 50%, transparent 50%);cursor:pointer;background-position:calc(100% - 20px) calc(50% - 1px),calc(100% - 14px) calc(50% - 1px);background-repeat:no-repeat;background-size:6px 6px,6px 6px;padding:14px 42px 14px 16px}.select-input:hover{border-color:var(--accent-border-strong);background-color:#343a42fa}.select-input:focus{border-color:var(--accent);box-shadow:none;outline:none}.select-input option{background:var(--bg-panel);color:var(--text)}.multiline-input{border:1px solid var(--accent-border-soft);border-radius:var(--pixel-radius);background:var(--bg-panel-soft);width:100%;color:var(--text);resize:vertical;padding:14px 16px}.multiline-input:focus{border-color:var(--accent);box-shadow:none;outline:none}.field input:disabled{opacity:.65}.field input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.field input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.field input[type=number]{appearance:textfield}.stepper-field{border:1px solid var(--accent-border-soft);border-radius:var(--pixel-radius);background:var(--bg-panel-soft);width:100%;box-shadow:none;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:0;transition:border-color .16s,background-color .16s,box-shadow .16s,color .16s;display:grid;overflow:hidden}.stepper-field:hover{border-color:var(--accent-border-strong);background-color:#343a42fa}.stepper-field:focus-within{border-color:var(--accent);box-shadow:none}.stepper-button{width:100%;min-width:0;height:100%;box-shadow:none;color:var(--text-muted);background:0 0;border:0;border-radius:0;place-items:center;padding:0;font-size:1.2rem;line-height:1;display:inline-grid;transform:none}.stepper-button:hover,.stepper-button:focus-visible{background:var(--surface-card-hover);color:var(--text-bright);outline:none;transform:none}.stepper-button:active{background:var(--surface-card-strong);transform:none}.stepper-field .stepper-button:first-child{border-right:1px solid var(--line-soft)}.stepper-field .stepper-button:last-child{border-left:1px solid var(--line-soft)}.stepper-field input{width:100%;min-width:0;height:100%;box-shadow:none;color:var(--text-bright);text-align:center;background:0 0;border:0;border-radius:0;margin:0;padding:10px 12px}.stepper-field input:focus{outline:none}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.field-span-2{grid-column:span 2}.creature-rule-summary{border:1px solid color-mix(in srgb, var(--accent-border-medium) 72%, var(--line-soft));border-radius:var(--pixel-radius);background:linear-gradient(180deg, #ffffff05, transparent 55%), color-mix(in srgb, var(--panel-bg,#21252bf0) 94%, var(--accent-surface-soft) 6%);box-shadow:inset 0 0 0 1px var(--accent-border-faint);gap:10px;padding:14px 16px;display:grid}.creature-rule-summary-grid{grid-column:span 2;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.creature-rule-summary-secret{border-color:color-mix(in srgb, var(--accent) 58%, var(--line-soft));background:linear-gradient(180deg, color-mix(in srgb, var(--accent-surface-soft) 20%, transparent), transparent 58%), color-mix(in srgb, var(--panel-bg,#21252bf0) 92%, var(--accent-surface-soft) 8%)}.creature-rule-summary-title{color:var(--text-bright);margin:0;font-size:.88rem}.creature-rule-summary-description{color:var(--text-muted);margin:0;font-size:.84rem;line-height:1.55}.creature-rule-summary-list{color:var(--text-soft);gap:6px;margin:0;padding-left:18px;font-size:.83rem;line-height:1.55;display:grid}@media (width<=900px){.creature-rule-summary-grid{grid-template-columns:minmax(0,1fr)}}.button-reset,.link-button{appearance:none;font-size:var(--app-button-font-size);letter-spacing:var(--app-button-letter-spacing);overflow-wrap:normal;word-break:normal;-webkit-hyphens:none;hyphens:none;background:0 0;line-height:1.3}.primary-action.button-reset{background:var(--accent-surface);color:#fff;border-color:var(--accent-border-medium)}.primary-action.button-reset:disabled{color:var(--text-disabled);background:#3e4249f5;border-color:#7a6e6547}.secondary-action.button-reset{background:color-mix(in srgb, var(--accent-surface-soft) 68%, #7e848d1f);color:var(--text-bright);border-color:color-mix(in srgb, var(--accent-border-medium) 78%, var(--line-soft))}.neutral-action.button-reset{color:var(--text-bright);border-color:var(--line-soft);background:#a0a0a033}.success-action.button-reset{color:var(--state-success-text-soft);background:#34764738;border-color:#6fca8075}.success-action:hover,.success-action:focus-visible{background:#34764752;border-color:#9fefa79e}.danger-action{border-radius:var(--pixel-radius);border:1px solid var(--state-danger-border);background:var(--state-danger-surface);color:var(--state-danger-text-soft);font-family:var(--font-pixel);font-size:var(--app-button-font-size);letter-spacing:var(--app-button-letter-spacing);overflow-wrap:normal;word-break:normal;-webkit-hyphens:none;hyphens:none;box-shadow:var(--button-shadow);padding:10px 16px;line-height:1.3}.danger-action:hover,.danger-action:focus-visible{border-color:var(--state-danger-border-focus);background:var(--state-danger-surface-hover)}.auth-meta{flex-wrap:wrap;align-items:center;gap:12px;margin-top:18px;display:flex}.link-button{color:var(--accent-soft);border:none;padding:0;font-weight:700}.feedback{color:var(--accent-soft);margin:12px 0 0}.dice-formula-field{min-width:min(100%,360px)}.result-line{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.system-message{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.system-message-text{color:var(--text-muted)}.effect-summary-list{gap:10px;margin-top:12px;display:grid}.effect-summary-item{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.session-table-grid{align-items:start}.session-hud-page{--session-topbar-overlap:0px;--session-hud-page-gap:18px;--session-hud-page-pad-x:18px;--session-hud-page-pad-bottom:18px;--session-bottom-hud-panel-height:268px;--session-bottom-hud-pad:10px 12px;--session-bottom-hud-panel-pad:12px;--session-bottom-hud-panel-layer-pad:14px;--session-table-map-mode-card-min-height:58px;--session-table-map-mode-card-pad:12px 24px;--session-table-map-controls-pad:10px 12px;gap:var(--session-hud-page-gap);isolation:isolate;width:100%;max-width:100vw;min-height:100%;margin:0;margin-top:calc(-1 * var(--session-topbar-overlap));padding:calc(var(--session-topbar-overlap) + var(--session-hud-page-gap)) var(--session-hud-page-pad-x) var(--session-hud-page-pad-bottom);flex:auto;grid-template-rows:auto minmax(0,1fr) auto;align-items:start;display:grid;position:relative;overflow:clip hidden}.session-hud-page:before,.session-hud-page:after{content:"";pointer-events:none;position:absolute;inset:0}.session-hud-page:before{background:linear-gradient(var(--line-faint) 1px, transparent 1px), linear-gradient(90deg, var(--line-faint) 1px, transparent 1px);z-index:0;background-position:50%;background-size:48px 48px}.session-hud-page:after{z-index:0;background:radial-gradient(circle,#0000 48%,#07080a3d 72%,#07080ab8 100%),linear-gradient(#07080a52,#0000 18% 82%,#07080a6b),linear-gradient(90deg,#07080a52,#0000 18% 82%,#07080a6b)}.session-hud-header{--session-hud-top-menu-height:60px;pointer-events:none;grid-template-columns:minmax(220px,1fr) auto minmax(160px,1fr);align-self:start;align-items:start;gap:14px;padding:0;display:grid}.session-hud-header-stack{z-index:1;pointer-events:none;position:relative}.session-hud-header-info,.session-hud-header-nav,.session-hud-header-actions{min-height:var(--session-hud-top-menu-height);box-sizing:border-box;border:1px solid color-mix(in srgb, var(--border) 84%, transparent);border-radius:var(--pixel-radius);background:color-mix(in srgb, var(--bg-panel) 86%, transparent);background-image:var(--panel-pattern), var(--panel-pattern);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:none;-webkit-user-select:none;user-select:none;background-size:16px 16px,16px 16px;box-shadow:0 10px 28px #00000047,inset 0 0 0 1px #ffffff09}.session-hud-header-info button,.session-hud-header-nav>*,.session-hud-header-actions>*,.session-hud-header-toggle{pointer-events:auto}.session-hud-header-info{align-content:center;justify-self:start;gap:2px;width:fit-content;min-width:min(300px,100%);max-width:min(520px,100%);padding:6px 66px 6px 11px;transition:min-width .18s,padding-right .18s;display:grid;position:relative}:is(.session-hud-header-info:has(.session-hud-header-code:hover),.session-hud-header-info:has(.session-hud-header-code:focus-visible)){min-width:min(444px,100%);padding-right:208px}.session-hud-header-title-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.session-hud-header-code-tooltip{pointer-events:auto;z-index:4;flex:none;transition:right .18s;display:inline-flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}:is(.session-hud-header-info:has(.session-hud-header-code:hover) .session-hud-header-code-tooltip,.session-hud-header-info:has(.session-hud-header-code:focus-visible) .session-hud-header-code-tooltip){right:10px}.session-hud-header h1{min-width:0;font-family:var(--font-pixel);color:var(--text-bright);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:clamp(.78rem,.9vw,.92rem);line-height:1;overflow:hidden}.session-hud-header-title-separator{background:linear-gradient(90deg, var(--accent-border-focus), var(--accent-surface-selected));width:100%;height:1px;margin:6px 0 7px;display:none}.session-hud-header p{color:var(--text-muted);margin:0;font-size:.95rem}.session-hud-header-meta{color:var(--text-muted);flex-wrap:nowrap;align-items:center;gap:0;font-size:.95rem;display:flex}.session-hud-header-code{letter-spacing:0;white-space:nowrap;cursor:pointer;justify-content:center;align-items:center;gap:0;width:44px;min-width:44px;max-width:44px;height:40px;min-height:40px;padding:0;transition:max-width .18s,width .18s,gap .18s,justify-content .18s,padding-inline .18s,border-color .16s,background-color .16s,color .16s,box-shadow .16s;display:inline-flex;position:relative;overflow:hidden}.session-hud-header-code:hover,.session-hud-header-code:focus-visible{justify-content:flex-start;gap:8px;width:164px;max-width:164px;padding-inline:14px}.session-hud-header-code-icon{flex:none;width:16px;height:16px}.session-hud-header-code-label{opacity:0;max-width:0;color:var(--text-bright);font-family:var(--font-pixel);letter-spacing:.1em;pointer-events:none;text-transform:uppercase;font-size:.58rem;line-height:1;transition:max-width .18s,opacity .14s,transform .18s;display:inline-block;overflow:hidden;transform:translate(-4px)}.session-hud-header-code:hover .session-hud-header-code-label,.session-hud-header-code:focus-visible .session-hud-header-code-label{opacity:1;max-width:116px;transform:translate(0)}.session-hud-header-session{color:#d8cbb7;min-width:0;font-family:var(--font-pixel);letter-spacing:.08em;text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap;font-size:.54rem;overflow:hidden}.session-hud-header-nav{flex-wrap:wrap;justify-content:center;justify-self:center;gap:8px;max-width:min(100%,680px);padding:9px 10px;display:flex}.session-hud-nav-button{--session-hud-nav-expanded-width:196px;white-space:nowrap;justify-content:center;align-items:center;gap:0;width:44px;min-width:44px;max-width:44px;min-height:40px;padding-inline:0;transition:max-width .18s,width .18s,border-color .16s,background-color .16s,color .16s,box-shadow .16s;display:inline-flex;overflow:hidden}.session-hud-nav-button:hover,.session-hud-nav-button:focus-visible{width:var(--session-hud-nav-expanded-width);max-width:var(--session-hud-nav-expanded-width);gap:8px;padding-inline:14px}.session-hud-nav-button-icon{flex:none;width:16px;height:16px}.session-hud-nav-button-label{opacity:0;max-width:0;transition:max-width .18s,opacity .14s,transform .18s;display:inline-block;overflow:hidden;transform:translate(-4px)}.session-hud-nav-button:hover .session-hud-nav-button-label,.session-hud-nav-button:focus-visible .session-hud-nav-button-label{opacity:1;max-width:164px;transform:translate(0)}.session-hud-nav-separator{background:color-mix(in srgb, var(--line-soft) 82%, transparent);align-self:stretch;width:1px;min-height:26px;margin:7px 2px}.session-hud-nav-button-exit{margin-left:0}.session-hud-header-toggle{display:none}.session-hud-mode-button,.session-hud-mode-card{border-radius:var(--pixel-radius);min-height:48px;font-family:var(--font-pixel);font-size:var(--app-button-font-size-compact);letter-spacing:var(--app-button-letter-spacing-compact);text-transform:uppercase;justify-content:center;align-items:center;gap:8px;padding:0 16px;display:inline-flex}.session-hud-mode-button{min-height:56px;font-size:var(--app-button-font-size-compact);padding:12px 14px;transition:transform .12s,border-color .12s,background-color .12s,box-shadow .12s}.session-hud-mode-card{border:1px solid var(--border);box-shadow:none;cursor:default;background:#3e4550c7}.session-hud-header .session-hud-mode-card{min-height:44px;box-shadow:var(--button-shadow);padding:10px 16px;font-size:1rem}.session-hud-mode-button-free,.session-hud-mode-card-free{color:#b7cbff;background:#3858aa33;border:1px solid #6c95ff5c}.session-hud-mode-button-free:hover,.session-hud-mode-button-free:focus-visible{background:#3858aa57;border-color:#6c95ff99}.session-hud-mode-button-free:active{background:#3858aa6b;transform:translateY(1px)}.session-hud-mode-button-combat,.session-hud-mode-card-combat{color:var(--state-danger-text-soft);background:#842c2c38;border:1px solid #d6676761}.session-hud-mode-button-combat:hover,.session-hud-mode-button-combat:focus-visible{background:#842c2c5c;border-color:#d66767a3}.session-hud-mode-button-combat:active{background:#842c2c70;transform:translateY(1px)}.session-hud-mode-card-free:hover,.session-hud-mode-card-free:focus-visible,.session-hud-mode-card-free:active,.session-hud-mode-card-combat:hover,.session-hud-mode-card-combat:focus-visible,.session-hud-mode-card-combat:active{box-shadow:none;transform:none}.session-hud-header-actions{flex-wrap:wrap;justify-content:flex-end;justify-self:end;gap:8px;padding:9px 10px;display:flex}.session-hud-header-status{pointer-events:none;justify-self:end;align-items:center;width:fit-content;padding:9px 10px}.session-hud-header-status .session-table-map-mode-card{border-radius:var(--pixel-radius);color:#b7cbff;width:auto;min-height:40px;box-shadow:var(--button-shadow);cursor:default;pointer-events:none;background:#3858aa33;border:1px solid #6c95ff5c;padding:0 20px;transform:none}.session-hud-header-status .session-table-map-mode-card-free .session-inline-icon{color:currentColor}.session-hud-header-status .session-table-map-mode-card-combat{color:var(--state-danger-text-soft);background:#842c2c38;border-color:#d6676761}.session-hud-header-status .session-table-map-mode-card-combat .session-inline-icon{color:currentColor}.session-hud-map-switcher{position:relative}.session-hud-map-switcher-panel{border:1px solid var(--line-soft);border-radius:var(--pixel-radius);background:linear-gradient(180deg, #181c22f5, #0e1116fa), var(--panel-pattern);width:min(320px,100vw - 48px);box-shadow:var(--shadow);z-index:4;background-size:auto,16px 16px;gap:12px;padding:14px;display:grid;position:absolute;top:calc(100% + 10px);right:0}.session-hud-map-switcher-copy{gap:4px;display:grid}.session-hud-map-switcher-copy strong{color:var(--text-bright);font-family:var(--font-pixel);letter-spacing:.08em;text-transform:uppercase;font-size:.76rem}.session-hud-map-switcher-list{gap:8px;display:grid}.session-hud-map-switcher-item{border:1px solid var(--line-soft);border-radius:var(--pixel-radius);background:var(--surface-card-raised);width:100%;color:var(--text);text-align:left;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;transition:border-color .14s,background .14s;display:flex}.session-hud-map-switcher-item:hover,.session-hud-map-switcher-item:focus-visible,.session-hud-map-switcher-item.is-active{border-color:var(--accent-border-medium);background:var(--accent-surface-selected-strong);outline:none}.session-hud-map-switcher-item span{font-family:var(--font-pixel);letter-spacing:.08em;text-transform:uppercase;color:var(--text-bright);font-size:.72rem}.session-hud-map-switcher-item small{color:var(--text-soft)}.session-hud-header,.session-hud-shell,.session-hud-page>.section-card,.session-hud-page>.feedback{z-index:1;position:relative}.session-hud-page>.section-card.section-card-no-header{width:100%;max-width:calc(100vw - (2 * var(--session-hud-page-pad-x)));margin-bottom:0}.session-hud-shell{pointer-events:none;grid-template-columns:300px minmax(0,1fr);align-self:stretch;align-items:start;gap:18px;min-height:0;display:grid}.session-hud-sidebar,.session-hud-main{z-index:1;min-height:0;position:relative}.session-hud-sidebar{z-index:3;pointer-events:auto;align-content:start;align-self:start;display:grid;position:relative}.session-hud-sidebar .section-card{min-height:0}.session-hud-main .section-card{min-height:100%}.session-hud-main{pointer-events:none;align-self:stretch;min-height:100%;display:grid}.session-hud-page>.section-card,.session-hud-page>.feedback{pointer-events:auto}.session-table-map-viewport{border-radius:calc(var(--pixel-radius) - 2px);cursor:default;touch-action:none;overscroll-behavior:contain;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:radial-gradient(circle at top, var(--accent-surface-soft), transparent 36%), #0d1016e0;height:100%;min-height:100%;position:relative;overflow:hidden}.session-table-map-viewport,.session-table-map-viewport *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.session-table-map-background{z-index:0;background-position:50%;background-repeat:no-repeat;background-size:cover;border-radius:0;height:auto;min-height:auto;position:absolute;inset:0}.session-table-map-transition-overlay{z-index:8;pointer-events:none;opacity:0;background:#000;transition:opacity .32s;position:absolute;inset:0}.session-table-map-transition-overlay.is-covering{opacity:1;transition-duration:.24s}.session-table-map-transition-overlay.is-revealing{opacity:0;transition-duration:.32s}.session-table-map-occluder-controls-layer{z-index:7;pointer-events:none;position:absolute;inset:0}.session-table-map-occluder-toggle{min-width:78px;min-height:28px;color:var(--accent-primary);font-family:var(--font-pixel);letter-spacing:0;pointer-events:auto;text-transform:uppercase;background:#070c0ee6;border:1px solid #7fe3da6b;border-radius:6px;padding:6px 10px;font-size:.62rem;position:absolute;transform:translate(-50%);box-shadow:0 8px 18px #00000057,0 0 0 1px #ffffff0a}.session-table-map-occluder-toggle:hover,.session-table-map-occluder-toggle:focus-visible{color:var(--text-bright);background:#0b1a1df0;border-color:#7fe3dac7}.session-table-map-occluder-toggle.is-revealed{color:#ffd9ad;border-color:#ffcd906b}.campaign-session-history-badges{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.campaign-session-map-field{gap:10px;display:grid}.campaign-session-map-field-heading{gap:6px;display:grid}.campaign-session-map-field-heading .muted-copy{margin:0}.campaign-session-map-editor{gap:12px;display:grid}.campaign-session-map-configure-card{border:1px solid var(--line-subtle);border-radius:var(--pixel-radius);background:var(--surface-well);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:14px;display:grid;box-shadow:inset 0 1px #ffffff0a}.campaign-session-map-configure-copy{gap:0;display:grid}.campaign-session-map-configure-copy strong{color:var(--text-bright);font-family:var(--font-heading);font-size:1rem;line-height:1.25}.campaign-session-map-configure-summary{grid-template-columns:repeat(2,minmax(92px,1fr));gap:8px;display:grid}.campaign-session-map-configure-summary>span{border:1px solid var(--line-subtle);background:var(--surface-card-raised);min-width:0;color:var(--text);overflow-wrap:anywhere;border-radius:6px;gap:4px;padding:10px 12px;display:grid}.campaign-session-map-stack{gap:12px;display:grid}.campaign-session-map-card{border:1px solid var(--accent-border-soft);border-radius:var(--pixel-radius);background:var(--surface-card);transition:border-color .16s,background-color .16s,color .16s;overflow:hidden}.campaign-session-map-card:hover{border-color:var(--accent-border-strong)}.campaign-session-map-card.is-expanded{border-color:var(--accent)}.campaign-session-map-card-header{width:100%;min-height:76px;color:var(--text);text-align:left;background:var(--bg-panel-soft);justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;transition:border-color .16s,background-color .16s,color .16s;display:flex}.campaign-session-map-card-header:hover,.campaign-session-map-card-header:focus-visible{background:#343a42fa;outline:none}.campaign-session-map-card-header-copy{gap:4px;display:grid}.campaign-session-map-card-header-copy strong{font-family:var(--font-pixel);letter-spacing:.08em;text-transform:uppercase;color:var(--text-bright);font-size:.76rem}.campaign-session-map-card-header-copy small{color:var(--text-soft)}.campaign-session-map-card-header-indicator{width:auto;height:auto;color:var(--accent-soft);font-family:var(--font-pixel);flex:none;justify-content:center;align-items:center;font-size:.88rem;line-height:1;transition:color .16s;display:inline-flex}.campaign-session-map-card.is-expanded .campaign-session-map-card-header{border-bottom:1px solid var(--line-subtle)}.campaign-session-map-card.is-expanded .campaign-session-map-card-header-indicator{color:var(--accent)}.campaign-session-map-card-body{background:var(--surface-card-raised);gap:12px;padding:12px 14px 14px;display:grid}.campaign-session-map-actions{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:12px;display:grid}.campaign-session-map-actions>.button-reset,.campaign-session-map-actions>.primary-action,.campaign-session-map-actions>.secondary-action,.campaign-session-map-actions>.success-action,.campaign-session-map-actions>.danger-action{justify-content:center;width:100%;min-width:0}.campaign-session-map-action-icon{flex:none;width:14px;height:14px}.campaign-session-map-actions .campaign-session-map-action-icon{margin-right:6px}@media (width<=940px){.campaign-session-map-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}.campaign-session-map-preview{border:1px solid var(--line-subtle);background-color:#10141bdb;background-position:50%;background-repeat:no-repeat;background-size:cover;border-radius:16px;min-height:196px;box-shadow:inset 0 0 0 1px #ffffff05,0 14px 32px #00000042}.campaign-session-map-upload-row{grid-template-columns:minmax(0,320px);display:grid}.session-map-editor-backdrop{z-index:38;padding:16px}.campaign-sessions-editor-overlay-host{display:contents}.session-map-alignment-modal{gap:14px;width:calc(100vw - 32px);height:calc(100vh - 32px);max-height:calc(100vh - 32px)}.session-map-alignment-modal .campaign-modal-body{align-content:stretch;padding:0;overflow:hidden}.session-map-alignment-layout{grid-template-columns:minmax(0,1fr) minmax(360px,420px);align-items:stretch;gap:20px;height:100%;min-height:0;display:grid}.session-map-alignment-stage{border:1px solid var(--line-subtle);background:linear-gradient(180deg, #12161cf0, #0a0c11fa), var(--panel-pattern);cursor:default;touch-action:none;overscroll-behavior:contain;background-size:auto,16px 16px;border-radius:8px;height:100%;min-height:0;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff05,0 18px 34px #0000003d}.session-map-alignment-stage.is-dragging{cursor:grabbing}.session-map-alignment-image{opacity:.92;background-position:0 0;background-repeat:no-repeat;background-size:100% 100%;position:absolute;top:0;left:0;overflow:visible;box-shadow:0 0 0 1px #ffffff14,0 24px 40px #00000038}.session-map-spawn-preview{z-index:3;min-width:20px;min-height:20px;color:var(--text-bright);cursor:move;pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;background:#51a35f2e;border:2px dashed #7fe3daeb;place-items:center;display:grid;position:absolute;box-shadow:inset 0 0 0 1px #ffffff1f,0 0 24px #52ccb22e}.session-map-spawn-preview span{font-family:var(--font-pixel);pointer-events:none;background:#07090dc2;border-radius:6px;padding:4px 8px;font-size:.74rem;line-height:1}.session-map-spawn-handle{z-index:5;background:var(--accent-primary);width:14px;height:14px;box-shadow:0 0 0 2px #080a0edb, 0 0 12px color-mix(in srgb, var(--accent-primary) 65%, transparent);touch-action:none;border:2px solid #ffffffe6;border-radius:999px;padding:0;position:absolute}.session-map-spawn-handle-nw{cursor:nwse-resize;top:0;left:0;transform:translate(-50%,-50%)}.session-map-spawn-handle-ne{cursor:nesw-resize;top:0;right:0;transform:translate(50%,-50%)}.session-map-spawn-handle-se{cursor:nwse-resize;bottom:0;right:0;transform:translate(50%,50%)}.session-map-spawn-handle-sw{cursor:nesw-resize;bottom:0;left:0;transform:translate(-50%,50%)}.session-map-occluder-preview{min-width:20px;min-height:20px;color:var(--text-bright);cursor:default;pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;background:0 0;place-items:center;display:grid;position:absolute}.session-map-occluder-surface{z-index:1;pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0;overflow:visible}.session-map-occluder-blur-outer{fill:color-mix(in srgb, var(--session-map-occluder-color,#102226) 82%, black 18%);opacity:.68}.session-map-occluder-blur-middle{fill:color-mix(in srgb, var(--session-map-occluder-color,#102226) 76%, black 24%);opacity:.52}.session-map-occluder-fill{fill:color-mix(in srgb, var(--session-map-occluder-color,#102226) 74%, black 26%);opacity:.78}.session-map-occluder-outline{fill:none;opacity:.95;stroke:#d2faf6e6;stroke-dasharray:6 4;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.35px;vector-effect:non-scaling-stroke}.session-map-occluder-preview.is-revealed{color:var(--text-bright)}.session-map-occluder-preview.is-revealed .session-map-occluder-fill{fill:color-mix(in srgb, var(--session-map-occluder-color,#102226) 34%, transparent);opacity:.36}.session-map-occluder-preview.is-revealed .session-map-occluder-blur-outer{opacity:.18}.session-map-occluder-preview.is-revealed .session-map-occluder-blur-middle{opacity:.2}.session-map-occluder-preview.is-revealed .session-map-occluder-outline{opacity:.95}.session-map-occluder-preview.is-off-map .session-map-occluder-outline{opacity:.98;stroke:#e0fffcf2}.session-map-occluder-label-clip{z-index:4;clip-path:var(--session-map-occluder-map-clip,inset(0));pointer-events:none;position:absolute;inset:0}.session-map-occluder-preview span{max-width:100%;font-family:var(--font-pixel);color:var(--text-bright);text-overflow:ellipsis;white-space:nowrap;pointer-events:none;background:#07090dbd;border-radius:6px;padding:3px 6px;font-size:.75rem;position:absolute;overflow:hidden;transform:translate(-50%,-50%)}.session-map-occluder-point{z-index:5;background:var(--accent-primary);width:14px;height:14px;box-shadow:0 0 0 2px #080a0edb, 0 0 12px color-mix(in srgb, var(--accent-primary) 65%, transparent);cursor:default;touch-action:none;border:2px solid #ffffffe0;border-radius:999px;padding:0;position:absolute;transform:translate(-50%,-50%)}.session-map-occluder-point:active{cursor:grabbing}.session-map-alignment-grid{pointer-events:none;background-image:linear-gradient(90deg,#fff1d729 1px,#0000 1px),linear-gradient(#fff1d729 1px,#0000 1px);background-size:var(--session-map-editor-grid-size,48px) var(--session-map-editor-grid-size,48px);position:absolute;inset:0}.session-map-alignment-controls{border:1px solid color-mix(in srgb, var(--line-soft) 90%, transparent);background:var(--surface-card-raised);border-radius:8px;align-content:start;gap:16px;padding:18px;display:grid;box-shadow:0 12px 24px #0000001f,inset 0 0 0 1px #ffffff05}.session-map-alignment-controls-row{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:12px;display:grid}.session-map-alignment-zoom-field{gap:12px;display:grid}.session-map-alignment-zoom-inputs{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.session-map-alignment-zoom-value{text-align:right;min-width:54px;font-family:var(--font-pixel);color:var(--text-bright);letter-spacing:.05em;font-size:.82rem}.session-map-alignment-controls .muted-copy{margin:0;line-height:1.55}.session-map-editor-sidebar{grid-template-rows:auto auto minmax(0,1fr);gap:14px;min-height:0;display:grid}.session-map-spawn-controls{border:1px solid color-mix(in srgb, var(--line-soft) 90%, transparent);background:var(--surface-card-raised);border-radius:8px;align-content:start;gap:14px;padding:18px;display:grid;box-shadow:0 12px 24px #0000001f,inset 0 0 0 1px #ffffff05}.session-map-spawn-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.session-map-occluder-controls{border:1px solid color-mix(in srgb, var(--line-soft) 90%, transparent);background:var(--surface-card-raised);border-radius:8px;grid-template-rows:auto minmax(0,1fr);align-content:stretch;gap:16px;min-height:0;padding:18px;display:grid;box-shadow:0 12px 24px #0000001f,inset 0 0 0 1px #ffffff05}.session-map-occluder-controls-header{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.session-map-occluder-controls-header>div{gap:4px;display:grid}.session-map-occluder-controls-header strong{color:var(--text-bright)}.session-map-occluder-list{align-content:start;gap:12px;min-height:0;padding-right:4px;display:grid;overflow:auto}.session-map-occluder-card{border:1px solid var(--line-subtle);background:#ffffff09;border-radius:8px;gap:10px;padding:12px;display:grid}.session-map-occluder-card-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.session-map-occluder-card-actions .button-reset{justify-content:center}.session-map-occluder-card-meta{color:var(--text-muted);font-size:.78rem}.session-map-occluder-empty{border:1px dashed var(--line-soft);color:var(--text-muted);border-radius:8px;gap:6px;padding:18px;display:grid}.session-map-occluder-empty strong{color:var(--text-bright)}@media (width<=960px){.session-map-editor-backdrop{padding:10px}.session-map-alignment-modal{width:calc(100vw - 20px);height:calc(100vh - 20px);max-height:calc(100vh - 20px)}.session-map-alignment-modal .campaign-modal-body{overflow-y:auto}.session-map-alignment-layout{grid-template-columns:1fr;height:auto}.session-map-alignment-stage{min-height:min(58vh,520px)}.session-map-alignment-controls-row{grid-template-columns:1fr 1fr 1fr}}@media (width<=640px){.session-map-alignment-controls-row,.session-map-spawn-grid,.session-map-occluder-controls-header,.session-map-occluder-card-actions{grid-template-columns:1fr}}.campaign-maps-modal{width:min(1540px,100vw - 48px)}.campaign-maps-modal .campaign-modal-body{padding-right:0}.campaign-maps-modal-summary{margin:8px 0 0}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.campaign-maps-list{gap:12px;display:grid}.campaign-maps-session{border:1px solid color-mix(in srgb, var(--line-subtle) 88%, transparent);background:linear-gradient(180deg, #2329308f, #12161bc7), var(--panel-pattern), var(--surface-well);background-size:auto,16px 16px,auto;border-radius:8px;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff05,3px 3px #0000005c}.campaign-maps-session.is-expanded{border-color:color-mix(in srgb, var(--accent-border-medium) 64%, var(--line-subtle));box-shadow:inset 0 0 0 1px #80f5ef0a,3px 3px #0000006b}.campaign-maps-session-header{width:100%;min-height:68px;color:var(--text);text-align:left;background:linear-gradient(180deg, #2b3139a8, #1b2026b3), var(--panel-pattern);cursor:pointer;background-size:auto,16px 16px;border:0;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:16px;padding:14px 18px;display:grid}.campaign-maps-session-header:hover,.campaign-maps-session-header:focus-visible{background:linear-gradient(180deg, color-mix(in srgb, #2b3139bd 82%, var(--accent-surface-soft)), #1b2026c7), var(--panel-pattern);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent-border-medium) 36%, transparent);background-size:auto,16px 16px;outline:none}.campaign-maps-session-title{gap:6px;min-width:0;display:grid}.campaign-maps-session-title strong{color:var(--text-bright);font-family:var(--font-heading);overflow-wrap:anywhere;font-size:1.02rem;line-height:1.2}.campaign-maps-session-meta{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.campaign-maps-session-meta>span{border:1px solid color-mix(in srgb, var(--line-soft) 86%, transparent);background:color-mix(in srgb, var(--surface-card) 82%, #0000006b);min-width:92px;color:var(--text);border-radius:6px;justify-content:center;padding:7px 10px;font-size:.92rem;display:inline-flex}.campaign-maps-session-indicator{border:1px solid color-mix(in srgb, var(--accent-border-medium) 54%, transparent);width:28px;height:28px;color:var(--accent);font-family:var(--font-pixel);background:#060b0f57;border-radius:6px;place-items:center;font-size:.84rem;line-height:1;display:inline-grid}.campaign-maps-session-body{background:#06090d38;border-top:1px solid #80f5ef1c;gap:12px;padding:12px;display:grid}.campaign-maps-session-toolbar{justify-content:flex-end;display:flex}.campaign-maps-add-button{border:1px solid color-mix(in srgb, var(--accent-border-medium) 78%, var(--line-soft));min-height:38px;font-family:var(--font-pixel);text-transform:uppercase;cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:0 16px;display:inline-flex}.campaign-maps-add-button.is-loading{cursor:wait;opacity:.72}.campaign-maps-session-empty{border:1px dashed color-mix(in srgb, var(--line-soft) 78%, transparent);background:color-mix(in srgb, var(--surface-card) 76%, #00000061);color:var(--text-muted);border-radius:8px;gap:6px;padding:16px;display:grid}.campaign-maps-session-empty strong{color:var(--text-bright)}.campaign-maps-session-empty .muted-copy{margin:0}.campaign-maps-item{border:1px solid color-mix(in srgb, var(--line-subtle) 86%, transparent);background:color-mix(in srgb, var(--surface-card-raised) 78%, #080a0e9e);border-radius:8px;grid-template-columns:minmax(220px,300px) minmax(220px,1fr) auto;align-items:stretch;gap:18px;min-height:146px;padding:12px;display:grid;box-shadow:inset 0 1px #ffffff09}.campaign-maps-item-preview{background-position:50%;background-repeat:no-repeat;background-size:cover;border:1px solid #80f5ef29;border-radius:6px;min-height:132px;box-shadow:inset 0 0 0 1px #ffffff0a}.campaign-maps-item-copy{align-content:center;gap:14px;min-width:0;padding:4px 0;display:grid}.campaign-maps-item-title{gap:6px;display:grid}.campaign-maps-item-title strong{color:var(--text-bright);font-family:var(--font-heading);font-size:1.05rem;line-height:1.2}.campaign-maps-item-meta{grid-template-columns:repeat(2,minmax(120px,1fr));gap:10px;display:grid}.campaign-maps-item-meta>span{border:1px solid var(--line-subtle);min-width:0;color:var(--text);overflow-wrap:anywhere;background:#080b0f75;border-radius:6px;gap:5px;padding:10px 12px;display:grid}.campaign-maps-item-actions{align-content:center;justify-items:stretch;gap:10px;min-width:172px;display:grid}.campaign-maps-item-actions>.button-reset{justify-content:center;width:100%}.campaign-map-preview-modal{border:1px solid var(--line-subtle);background:linear-gradient(180deg, #181c22f5, #0e1116fa), var(--panel-pattern);background-size:auto,16px 16px;border-radius:18px;width:min(1120px,100vw - 40px);max-height:calc(100vh - 48px);padding:20px;overflow:auto;box-shadow:0 24px 48px #00000073}.campaign-map-preview-frame{border:1px solid var(--line-subtle);background:#0a0c12d1;border-radius:18px;place-items:center;margin-top:12px;padding:14px;display:grid}.campaign-map-preview-frame img{border-radius:12px;max-width:100%;height:auto;display:block}.session-table-map-viewport.is-dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.session-table-map-controls{z-index:4;padding:var(--session-table-map-controls-pad);border:1px solid var(--line-subtle);background:linear-gradient(180deg, #181c22f5, #0e1116fa), var(--panel-pattern), var(--panel-pattern);width:fit-content;max-width:calc(100vw - 40px);box-shadow:0 12px 28px var(--shadow-strong), inset 0 1px 0 #ffffff0a, inset 0 0 0 1px #fff1d708;background-size:auto,16px 16px,16px 16px;border-radius:12px;grid-template-columns:minmax(220px,1fr) auto;align-items:center;gap:10px;display:grid;position:absolute;top:0;left:50%;transform:translate(-50%,calc(-100% - 16px))}.session-table-map-controls.has-map-select.has-camera-controls{grid-template-columns:minmax(180px,260px) auto minmax(220px,1fr) auto}.session-table-map-controls-map-field{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;min-width:0;display:grid}.session-table-map-controls-map-inline-label{color:var(--accent-text-soft);font-family:var(--font-pixel);letter-spacing:.14em;text-transform:uppercase;text-shadow:0 1px #0006;white-space:nowrap;font-size:.58rem;line-height:1}.session-table-map-controls-map-select{appearance:none;border:1px solid var(--line-soft);border-radius:var(--pixel-radius);width:100%;min-height:38px;color:var(--text-bright);font-family:var(--font-pixel);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;text-shadow:0 1px #00000073;background-color:#0000;background-image:linear-gradient(#1a1e24f5,#0f1218fa),linear-gradient(#ffffff08,#ffffff08);background-position:0 0,0 0;background-repeat:no-repeat;background-size:auto,auto;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;background-image:linear-gradient(45deg, transparent 50%, color-mix(in srgb, var(--text-soft) 88%, white 12%) 50%), linear-gradient(135deg, color-mix(in srgb, var(--text-soft) 88%, white 12%) 50%, transparent 50%), linear-gradient(180deg, #1a1e24f5, #0f1218fa);background-position:calc(100% - 18px) 16px,calc(100% - 12px) 16px,0 0;background-size:6px 6px,6px 6px,100% 100%;padding:0 40px 0 14px;font-size:.68rem;box-shadow:inset 0 1px #ffffff08}.session-table-map-controls-map-select:focus{border-color:var(--accent-border-medium);box-shadow:0 0 0 1px color-mix(in srgb, var(--accent-border-medium) 72%, transparent), inset 0 1px 0 #ffffff0a;outline:none}.session-table-map-controls-map-select:hover{border-color:color-mix(in srgb, var(--accent-border-medium) 72%, var(--line-soft) 28%)}.session-table-map-controls-map-select option{color:var(--text-bright);background:#14181e}.session-table-map-controls-separator{background:linear-gradient(180deg, transparent 0%, color-mix(in srgb, var(--line-soft) 82%, transparent) 18%, color-mix(in srgb, var(--accent-border-medium) 34%, transparent) 50%, color-mix(in srgb, var(--line-soft) 82%, transparent) 82%, transparent 100%);opacity:.92;align-self:stretch;width:1px}.session-hud-header-mode-row{z-index:1;pointer-events:none;justify-content:center;height:0;margin:0;display:flex;position:absolute;bottom:0;left:0;right:0}.session-hud-header-mode-slot{place-items:center;display:grid;position:relative}.session-hud-header-mode-slot>*{grid-area:1/1}.session-table-map-mode-card{min-height:var(--session-table-map-mode-card-min-height);padding:var(--session-table-map-mode-card-pad);font-size:var(--app-button-font-size);letter-spacing:var(--app-button-letter-spacing);box-shadow:0 10px 22px var(--shadow-strong), inset 0 1px 0 #ffffff0d;pointer-events:none;border-width:2px;border-radius:18px;transition:opacity .22s,visibility .22s,transform .22s;transform:translateY(50%)}.session-table-map-mode-card .session-inline-icon{width:18px;height:18px}.session-table-map-mode-card-free{color:#c8d7ff;background:linear-gradient(#2c3660f0,#141a30fa),radial-gradient(circle at 50% 0,#85a1ff14,#0000 60%),#12182a;border-color:#6c95ff6b}.session-table-map-mode-card-combat{color:#ffb1b1;background:linear-gradient(#5c2b2bf0,#2e1414fa),radial-gradient(circle at 50% 0,#ff949414,#0000 60%),#281212;border-color:#d667676b}.session-hud-page>.section-card.session-table-map-controls-anchor,.session-table-map-controls-anchor{border-color:color-mix(in srgb, var(--border) 84%, transparent);background:var(--panel-pattern), color-mix(in srgb, var(--bg-panel) 86%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background-position:0 0,0 0;background-size:16px 16px,16px 16px;position:relative;overflow:visible;box-shadow:0 10px 28px #00000047,inset 0 0 0 1px #ffffff09}.session-table-map-targeting-hint{z-index:4;border:1px solid var(--accent-border);background:var(--surface-well-heavy);min-width:300px;box-shadow:0 12px 28px var(--shadow-strong);text-align:center;border-radius:12px;gap:4px;padding:10px 14px;display:grid;position:absolute;top:0;left:50%;transform:translate(-50%,calc(-100% - 88px))}.session-table-map-targeting-hint strong{font-family:var(--font-pixel);letter-spacing:.14em;text-transform:uppercase;color:var(--text-bright);font-size:.82rem}.session-table-map-targeting-hint span{color:var(--accent-text-soft);line-height:1.4}.session-table-map-targeting-hint-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;display:flex}.session-table-map-targeting-hint-action{color:var(--accent-text);align-items:center;gap:8px;display:inline-flex}.session-mobile-targeting-bar{display:none}.session-table-map-targeting-mouse-icon{background:var(--surface-card-raised);border:1px solid #fff1d780;border-radius:999px;flex:none;width:18px;height:26px;position:relative}.session-table-map-targeting-mouse-icon:before{content:"";background:#fff1d74d;width:1px;height:7px;position:absolute;top:4px;left:50%;transform:translate(-50%)}.session-table-map-targeting-mouse-icon:after{content:"";background:var(--accent-soft);border-radius:6px;width:7px;height:9px;position:absolute;top:2px}.session-table-map-targeting-mouse-icon-left:after{left:2px}.session-table-map-targeting-mouse-icon-right:after{right:2px}.session-table-map-control-button{justify-content:center;min-width:40px;min-height:38px;padding-inline:0}.session-table-map-control-button-wide{min-width:132px;padding-inline:12px}.session-table-map-control-button-icon{width:38px;min-width:38px;min-height:38px;color:var(--accent-text-soft);border-color:var(--line-soft);background:var(--surface-card-raised);place-items:center;padding:0;display:inline-grid;box-shadow:inset 0 1px #ffffff08}.session-table-map-control-button-icon .app-icon{place-items:center;width:16px;height:16px;display:inline-grid}.session-table-map-control-button-icon .app-icon-svg{color:var(--accent-text-soft)}.session-table-map-zoom-slider-group{align-self:center;min-width:0;display:grid}.session-table-map-zoom-slider-shell{white-space:nowrap;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;width:100%;min-width:0;padding:2px 0;display:grid}.session-table-map-zoom-slider-label{width:42px;min-width:42px;max-width:42px;min-height:16px;color:var(--accent-text-soft);font-family:var(--font-pixel);letter-spacing:.14em;text-align:center;text-transform:uppercase;text-shadow:0 1px #0006;justify-content:center;align-items:center;font-size:.58rem;line-height:1;display:inline-flex}.session-table-map-zoom-slider-track-shell{--session-table-map-zoom-thumb-size:16px;min-height:20px;box-shadow:none;background:0 0;border:0;border-radius:0;flex:auto;align-items:center;padding:0;display:flex;position:relative}.session-table-map-zoom-slider-snaps{top:50%;right:calc(var(--session-table-map-zoom-thumb-size) / 2);left:calc(var(--session-table-map-zoom-thumb-size) / 2);pointer-events:none;height:5px;position:absolute;transform:translateY(-50%)}.session-table-map-zoom-slider-snap{background:color-mix(in srgb, var(--accent-border-soft) 58%, var(--line-medium));border-radius:999px;width:1px;height:5px;position:absolute;top:50%;transform:translate(-50%,-50%)}.session-table-map-zoom-slider{--session-table-map-zoom-progress:50%;appearance:none;cursor:pointer;background:0 0;width:180px;height:18px;margin:0;display:block}.session-table-map-zoom-slider::-webkit-slider-runnable-track{background:linear-gradient(90deg, var(--accent) 0, var(--accent) var(--session-table-map-zoom-progress), color-mix(in srgb, var(--line-medium) 72%, #0c0f14f5) var(--session-table-map-zoom-progress), color-mix(in srgb, var(--line-medium) 72%, #0c0f14f5) 100%);border:0;border-radius:999px;height:5px;box-shadow:inset 0 1px 1px #0006,0 1px #ffffff09}.session-table-map-zoom-slider::-webkit-slider-thumb{appearance:none;border:1px solid var(--accent-border-strong);background:linear-gradient(180deg, color-mix(in srgb, var(--accent-text-soft) 88%, white), var(--accent-soft));border-radius:50%;width:16px;height:16px;margin-top:-5.5px;box-shadow:0 3px 8px #00000057}.session-table-map-zoom-slider::-moz-range-track{background:color-mix(in srgb, var(--line-medium) 72%, #0c0f14f5);border:0;border-radius:999px;height:5px;box-shadow:inset 0 1px 1px #0006,0 1px #ffffff09}.session-table-map-zoom-slider::-moz-range-progress{background:var(--accent);border:0;border-radius:999px;height:5px}.session-table-map-zoom-slider::-moz-range-thumb{border:1px solid var(--accent-border-strong);background:linear-gradient(180deg, color-mix(in srgb, var(--accent-text-soft) 88%, white), var(--accent-soft));border-radius:50%;width:16px;height:16px;transform:translateY(-1px);box-shadow:0 3px 8px #00000057}.session-table-map-zoom-slider:focus-visible{outline:none}.session-table-map-zoom-slider:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 2px color-mix(in srgb, var(--accent-border-soft) 72%, transparent), 0 4px 12px #00000057}.session-table-map-zoom-slider:focus-visible::-moz-range-thumb{box-shadow:0 0 0 2px color-mix(in srgb, var(--accent-border-soft) 72%, transparent), 0 4px 12px #00000057}@media (width<=720px){.session-table-map-controls{border-radius:11px;grid-template-columns:minmax(0,1fr) auto;gap:6px;width:min(360px,100vw - 28px);padding:6px;transform:translate(-50%,calc(-100% - 6px))}.session-table-map-controls.has-map-select.has-camera-controls{grid-template-columns:minmax(0,1fr) auto}.session-hud-header-mode-row{height:0}.session-table-map-controls-map-field{grid-column:1/-1;grid-template-columns:auto minmax(0,1fr);width:100%;max-width:100%}.session-table-map-controls-separator{display:none}.session-table-map-controls-map-inline-label{letter-spacing:.12em;min-width:auto;font-size:.52rem}.session-table-map-controls-map-select{letter-spacing:.08em;background-position:calc(100% - 15px) 14px,calc(100% - 10px) 14px,0 0;background-size:5px 5px,5px 5px,100% 100%;min-width:0;min-height:34px;padding-left:10px;padding-right:30px;font-size:.58rem}.session-table-map-zoom-slider-group{min-width:0}.session-table-map-zoom-slider-shell{grid-template-columns:36px minmax(0,1fr);align-items:center;gap:5px;min-width:0;padding:0}.session-table-map-zoom-slider-label{letter-spacing:.08em;justify-content:center;width:36px;min-width:36px;max-width:36px;min-height:22px;font-size:.5rem;line-height:1}.session-table-map-zoom-slider-track-shell{--session-table-map-zoom-thumb-size:13px;border-radius:0;width:100%;min-height:22px;padding:0}.session-table-map-zoom-slider{width:100%;height:12px}.session-table-map-zoom-slider::-webkit-slider-runnable-track{height:5px}.session-table-map-zoom-slider::-webkit-slider-thumb{width:13px;height:13px;margin-top:-5px}.session-table-map-zoom-slider::-moz-range-track{height:5px}.session-table-map-zoom-slider::-moz-range-progress{height:5px}.session-table-map-zoom-slider::-moz-range-thumb{width:13px;height:13px}.session-table-map-zoom-slider-snaps{right:calc(var(--session-table-map-zoom-thumb-size) / 2);left:calc(var(--session-table-map-zoom-thumb-size) / 2)}.session-table-map-zoom-slider-snap{width:1px;height:5px}.session-table-map-control-button-icon{border-radius:8px;width:30px;min-width:30px;min-height:30px;padding:6px}.session-table-map-control-button-icon .app-icon{width:14px;height:14px}}.session-table-map-overlay{z-index:2;border:1px solid var(--line-subtle);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#101318d1;border-radius:10px;gap:4px;padding:10px 12px;display:grid;position:absolute;top:104px;left:18px}.session-table-map-overlay span:last-child{color:var(--text-soft);font-size:.8rem}.session-table-map-token-layer{z-index:1;pointer-events:none;position:absolute;inset:0}.session-table-map-token-anchor{pointer-events:none;position:absolute}.session-table-map-grid-canvas{z-index:0;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;width:100%;height:100%;display:block;position:absolute;inset:0}.session-table-map-token{border:2px solid var(--line-medium);width:108px;box-shadow:0 12px 28px var(--shadow-heavy), inset 0 1px 0 var(--line-faint);z-index:2;pointer-events:auto;will-change:transform, left, top;background:linear-gradient(#3a3f48eb,#181b22f0);border-radius:18px;justify-items:center;gap:10px;padding:10px 10px 12px;transition:filter .18s,border-color .18s,box-shadow .18s;display:grid;position:relative}.session-table-map-token.is-draggable{cursor:grab}.session-table-map-token.is-dragging{cursor:grabbing;z-index:5;transition:none}.session-table-map-token-avatar{border:1px solid var(--border);background:var(--surface-card-hover);border-radius:14px;place-items:center;width:56px;height:56px;display:grid;overflow:hidden;box-shadow:0 8px 20px #0000003d}.session-table-map-token-player .session-table-map-token-avatar{background:linear-gradient(180deg, #d4b04a3d, var(--state-warning-surface-soft)), #fff8eb14;box-shadow:0 0 0 1px var(--state-warning-surface), 0 10px 26px var(--shadow-strong);border-color:#d4b04a80}.session-table-map-token-ally .session-table-map-token-avatar{background:linear-gradient(180deg, #51a35f38, var(--state-success-surface-soft)), #fff8eb14;box-shadow:0 0 0 1px #51a35f24, 0 10px 26px var(--shadow-strong);border-color:#51a35f75}.session-table-map-token-enemy .session-table-map-token-avatar{background:linear-gradient(180deg, #ad4c4c38, var(--state-danger-surface-soft)), #fff8eb14;box-shadow:0 0 0 1px #ad4c4c24, 0 10px 26px var(--shadow-strong);border-color:#ad4c4c75}.session-table-map-token-neutral .session-table-map-token-avatar{background:linear-gradient(180deg, #c8c8c82e, var(--state-neutral-surface-soft)), #fff8eb14;box-shadow:0 0 0 1px #c8c8c814, 0 10px 26px var(--shadow-strong);border-color:#c8c8c84d}.session-table-map-token-player{background:linear-gradient(#493d1ff0,#181b22f2);border-color:#d4b04a80}.session-table-map-token-ally{background:linear-gradient(#1c3d23f0,#181b22f2);border-color:#51a35f7a}.session-table-map-token-enemy{background:linear-gradient(#481e1ef2,#181b22f2);border-color:#ad4c4c85}.session-table-map-token-neutral{background:linear-gradient(#404040f0,#181b22f2);border-color:#c8c8c857}.session-table-map-token-avatar img,img.session-table-map-token-avatar{object-fit:cover;image-rendering:auto}.session-table-map-token:hover .session-table-map-token-avatar,.session-table-map-token:focus-visible .session-table-map-token-avatar,.session-table-map-token.is-selected .session-table-map-token-avatar{border-color:var(--border-strong);box-shadow:0 10px 24px var(--shadow-strong)}.session-table-map-token-name{min-width:100%;color:var(--text-bright);font-family:var(--font-pixel);letter-spacing:.08em;text-align:center;text-transform:uppercase;background:0 0;border:0;border-radius:0;padding:2px 4px 0;font-size:.62rem;line-height:1.2}.session-table-map-token-player .session-table-map-token-name{color:var(--state-warning-text)}.session-table-map-token-ally .session-table-map-token-name{color:var(--state-success-text)}.session-table-map-token-enemy .session-table-map-token-name{color:var(--state-danger-text)}.session-table-map-token-neutral .session-table-map-token-name{color:#e7dfd1}.session-table-map-token-hp{width:100%;height:8px;box-shadow:inset 0 1px 2px var(--shadow-heavy);background:#0e1218c7;border:1px solid #fff1d729;border-radius:999px;overflow:hidden}.session-table-map-token-hp-fill{border-radius:inherit;background:linear-gradient(90deg,#73bf69,#a8e07a);height:100%;transition:width .18s;display:block;box-shadow:0 0 10px #73bf693d}.session-table-map-token:hover,.session-table-map-token:focus-visible,.session-table-map-token.is-selected{filter:brightness(1.04);transform:translate(-50%,-50%)scale(1.04);box-shadow:0 16px 34px #0006,inset 0 1px #ffffff14}.session-turn-list{justify-items:center;gap:10px;margin:0;padding:0;list-style:none;display:grid;overflow:visible}.session-hud-sidebar .section-card{border-color:var(--accent-border-soft);background:color-mix(in srgb, var(--bg-panel) 82%, transparent);background-image:var(--panel-pattern), var(--panel-pattern);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background-position:0 0,0 0;background-size:16px 16px,16px 16px;align-self:start;width:100%;box-shadow:0 10px 28px #00000047,inset 0 0 0 1px #ffffff09}.session-hud-sidebar .section-card-header{padding:18px 18px 0}.session-hud-sidebar .section-card-body{box-shadow:none;background:0 0;border:0;border-radius:0;margin:0 18px 18px;padding:0}.session-hud-sidebar .section-card-header+.section-card-body{margin-top:14px}.session-turn-sidebar-presence.ui-fade-presence{opacity:0;transition:opacity .24s,transform .24s;transform:translate(-28px)}.session-turn-sidebar-presence.ui-fade-presence.is-visible{opacity:1;transform:translate(0)}.session-turn-sidebar-presence.ui-fade-presence.is-hidden{opacity:0;transform:translate(-28px)}.session-turn-panel-layer{border:1px solid var(--line-subtle);border-radius:var(--pixel-radius);background:color-mix(in srgb, var(--surface-card) 72%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);align-content:start;gap:12px;padding:14px;display:grid;box-shadow:inset 0 1px #ffffff09}.session-turn-item{text-align:center;border:1px solid var(--line-soft);border-radius:var(--pixel-radius);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);cursor:pointer;background:#a0a0a029;justify-items:center;gap:8px;width:100%;padding:12px;display:grid;position:relative;box-shadow:inset 0 1px #ffffff08}.session-turn-item:focus-visible{outline:2px solid var(--accent-border-strong);outline-offset:3px}.session-turn-item.is-current{border-color:var(--accent-border-strong);background:color-mix(in srgb, var(--accent-surface-soft) 72%, transparent)}.session-turn-item.is-upcoming{text-align:center;grid-template-columns:36px minmax(0,1fr);place-items:center;padding:10px 12px}.session-turn-item-ally{background:#51a35f33;border-color:#51a35f33}.session-turn-item-player{background:#d4b04a33;border-color:#d4b04a47}.session-turn-item-enemy{background:#ad4c4c33;border-color:#ad4c4c33}.session-turn-item-neutral{background:#a0a0a033;border-color:#c8c8c829}.session-turn-avatar{border:1px solid var(--border);object-fit:cover;image-rendering:auto;background:#a0a0a033;border-radius:10px;width:52px;height:52px}.session-turn-avatar-fallback{font-family:var(--font-pixel);color:var(--text-bright);place-items:center;display:grid}.session-turn-avatar-ally{border-color:var(--state-success-border);color:var(--state-success-text);background:#51a35f33}.session-turn-avatar-player{border-color:var(--state-warning-border);color:var(--state-warning-text);background:#d4b04a33}.session-turn-avatar-enemy{border-color:var(--state-danger-border);color:var(--state-danger-text);background:#ad4c4c33}.session-turn-avatar-neutral{border-color:var(--state-neutral-border);color:var(--state-neutral-text);background:#a0a0a033}.session-turn-avatar-icon{fill:currentColor;width:28px;height:28px}.session-turn-avatar-fallback .session-turn-avatar-icon{width:68%;min-width:24px;max-width:46px;height:68%;min-height:24px;max-height:46px}.session-turn-avatar-icon .game-icon-svg,.session-turn-avatar-icon .game-icon-svg *{fill:currentColor;stroke:currentColor}.session-turn-avatar-icon-ally{color:var(--state-success-text)}.session-turn-avatar-icon-player{color:var(--state-warning-text)}.session-turn-avatar-icon-enemy{color:var(--state-danger-text)}.session-turn-avatar-icon-neutral{color:var(--state-neutral-text)}.session-turn-copy{justify-items:center;gap:4px;min-width:0;display:grid}.session-turn-copy strong{color:var(--text-bright)}.session-turn-copy span{color:var(--text-muted)}.session-turn-item.is-upcoming .session-turn-avatar{width:36px;height:36px}.session-turn-item.is-upcoming .session-turn-avatar-icon{width:20px;height:20px}.session-turn-item.is-upcoming .session-turn-copy{justify-items:center}.session-sidebar-separator{background:linear-gradient(90deg, transparent, var(--accent-border-medium), transparent);width:100%;height:1px;margin:16px 0 14px}.session-turn-copy strong{color:var(--text);font-family:var(--font-pixel);line-height:1.15}.session-turn-copy span{color:var(--text-soft);font-size:.88rem}.session-turn-hovercard{z-index:8;border:1px solid var(--border-strong);border-radius:var(--pixel-radius);background:var(--surface-solid-muted);width:min(400px,100vw - 48px);min-width:360px;box-shadow:var(--shadow);text-align:left;opacity:0;visibility:hidden;pointer-events:none;gap:12px;padding:14px;transition:opacity .12s,visibility 0s linear .12s;display:grid;position:absolute;top:50%;left:calc(100% + 14px);transform:translateY(-50%)}.session-turn-item.has-hovercard:after{content:"";width:18px;height:100%;position:absolute;top:0;left:100%}.session-turn-item.has-hovercard:hover,.session-turn-item.has-hovercard:focus-within{z-index:9}.session-turn-item.has-hovercard:hover .session-turn-hovercard,.session-turn-item.has-hovercard:focus-within .session-turn-hovercard{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .12s,visibility linear}.session-turn-hovercard-header{gap:4px;display:grid}.session-turn-hovercard-header strong{color:var(--text-bright)}.session-turn-hovercard-header span{color:var(--text-soft);font-size:.88rem}.session-turn-hovercard-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;width:100%;display:grid}.session-turn-hovercard-attributes{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.session-turn-hovercard-attributes span{border-radius:var(--pixel-radius);border:1px solid var(--border);background:var(--surface-card);color:var(--text);border-radius:var(--pixel-radius);border:1px solid var(--border);background:var(--surface-card);width:100%;padding:8px 9px;font-size:.82rem}.session-turn-hovercard-stat-chip{border:1px solid var(--chip-border-color);border-radius:var(--pixel-radius);background:var(--chip-background);width:100%;min-width:0;min-height:40px;color:var(--chip-text-color);--chip-background:var(--surface-card);--chip-border-color:var(--border);--chip-text-color:var(--text);justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;display:inline-flex;box-shadow:inset 0 0 0 1px #fff1d708}.session-turn-hovercard-stat-chip .session-turn-avatar-icon{flex:none;width:17px;height:17px}.session-turn-hovercard-section{gap:6px;display:grid}.session-turn-hovercard-effects{flex-wrap:wrap;gap:8px;display:flex}.session-turn-effect-tooltip{min-width:0;display:flex;position:relative}.session-turn-effect-tooltip-card{z-index:10;opacity:0;visibility:hidden;pointer-events:none;border:1px solid var(--border-strong);border-radius:var(--pixel-radius);background:var(--surface-solid-muted);width:220px;box-shadow:var(--pixel-shadow);color:var(--text);text-transform:none;letter-spacing:normal;gap:6px;padding:10px 12px;font-family:Trebuchet MS,Segoe UI,sans-serif;font-size:.82rem;line-height:1.35;transition:opacity .14s,visibility .14s,transform .14s;display:grid;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%)}.session-turn-effect-tooltip-card strong{color:var(--text-bright)}.session-turn-effect-tooltip-chip-list{gap:8px;width:100%;display:grid}.session-turn-effect-tooltip-chip-list .session-item-effect-chip{grid-template-columns:14px minmax(0,1fr);align-items:start;gap:6px;width:100%;min-width:0;max-width:none;padding:7px 8px}.session-turn-effect-tooltip-card .session-turn-effect-tooltip-chip-list .session-inline-icon,.session-character-detail-card .session-character-detail-equipment-icon-slot .session-turn-effect-tooltip-card .session-turn-effect-tooltip-chip-list .session-inline-icon{vertical-align:middle;align-self:center;width:11px;height:11px;margin-top:0}.session-turn-effect-tooltip-chip-list .session-item-effect-chip-copy{gap:1px;min-width:0}.session-turn-effect-tooltip-chip-list .session-item-effect-chip-copy strong{font-size:.78rem;line-height:1.15}.session-turn-effect-tooltip-chip-list .session-item-effect-chip-copy span{font-size:.7rem;line-height:1.25}.session-turn-effect-tooltip:hover .session-turn-effect-tooltip-card,.session-turn-effect-tooltip:focus-within .session-turn-effect-tooltip-card{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%)translateY(-4px)}.session-smart-tooltip-card{z-index:240;opacity:0;visibility:hidden;width:min(220px,100vw - 20px);max-width:calc(100vw - 20px);position:fixed;bottom:auto;right:auto;transform:none}.session-smart-tooltip-card.is-positioned{opacity:1;visibility:visible;pointer-events:auto;transform:none}.session-smart-tooltip-card[data-placement=top]{transform:translateY(-2px)}.session-smart-tooltip-card[data-placement=bottom]{transform:translateY(2px)}.session-smart-tooltip-card[data-placement=left]{transform:translate(-2px)}.session-smart-tooltip-card[data-placement=right]{transform:translate(2px)}.session-table-token-effect-tooltip>.session-turn-effect-tooltip-card.session-table-token-effect-tooltip-card{width:max-content;min-width:180px;max-width:240px;font-family:var(--font-pixel);text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;line-height:1.6;top:50%;bottom:auto;left:calc(100% + 10px);transform:translateY(-50%)}.session-table-token-effect-tooltip:hover>.session-turn-effect-tooltip-card.session-table-token-effect-tooltip-card,.session-table-token-effect-tooltip:focus-within>.session-turn-effect-tooltip-card.session-table-token-effect-tooltip-card{transform:translateY(calc(-50% - 4px))}.session-bottom-hud-admin-tooltip-card{width:min(220px,100vw - 48px);left:0;transform:translate(0)}.session-turn-effect-tooltip:hover .session-bottom-hud-admin-tooltip-card,.session-turn-effect-tooltip:focus-within .session-bottom-hud-admin-tooltip-card{transform:translateY(-4px)}.session-turn-hovercard .muted-copy{max-width:none;margin:0}.session-sidebar-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.session-sidebar-summary-item{--chip-background:var(--surface-card-strong);--chip-border-color:var(--line-soft);--chip-text-color:var(--text);justify-items:center;gap:6px;width:100%;min-width:0}.session-sidebar-summary-item .ui-chip-content{justify-items:center;width:100%}.session-sidebar-summary-value{justify-content:center;align-items:center;gap:8px;min-width:0;min-height:18px;display:inline-flex}.session-sidebar-summary-item strong{color:inherit;font-size:1rem;line-height:1}.session-sidebar-summary-item span{color:inherit;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;line-height:1}.session-sidebar-summary-item>span:last-child{text-align:center}.session-sidebar-summary-item .session-turn-avatar-icon{flex:none;width:18px;height:18px;display:block}.session-sidebar-summary-ally{--chip-text-color:var(--state-success-text);--chip-border-color:var(--state-success-border);--chip-background:#51a35f33}.session-sidebar-summary-enemy{--chip-text-color:var(--state-danger-text);--chip-border-color:var(--state-danger-border);--chip-background:#ad4c4c33}.hud-tab-bar{flex-wrap:wrap;gap:10px;margin-bottom:18px;display:flex}.hud-tab-button{min-width:140px}.hud-tab-button.is-active{background:var(--surface-card-hover);color:var(--text-bright);border-color:var(--line-medium)}.hud-tab-panel{gap:16px;display:grid}.session-main-grid{gap:18px}.session-main-top-grid{grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);align-items:start;gap:18px;display:grid}.table-state-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.table-state-resource-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:16px;display:grid}.table-state-card{border:1px solid var(--border);border-radius:var(--pixel-radius);background:var(--bg-panel-soft);box-shadow:var(--pixel-shadow);gap:8px;padding:16px;display:grid}.table-state-card-emphasis strong{font-size:1.3rem}.table-state-action-groups{grid-template-columns:minmax(0,1fr) minmax(220px,260px);align-items:start;gap:16px;display:grid}.table-state-controls,.table-state-master-panel,.table-state-player-panel{gap:10px;display:grid}.table-state-master-panel{align-items:end}.table-state-master-panel .field{margin:0}.table-state-player-panel{border:1px solid var(--border);border-radius:var(--pixel-radius);background:var(--surface-card);align-content:start;min-height:100%;padding:14px 16px}.table-turn-hotbar{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.table-turn-hotbar .button-reset,.table-turn-hotbar .secondary-action{width:100%}.session-bottom-hud{padding:var(--session-bottom-hud-pad);min-width:0;max-height:calc(var(--session-bottom-hud-panel-height) + 2 * 24px);opacity:1;transform-origin:bottom;grid-template-columns:minmax(188px,.42fr) minmax(0,2.35fr) minmax(150px,.3fr);align-items:stretch;gap:12px;transition:max-height .22s cubic-bezier(.22,1,.36,1),opacity .16s,padding .22s cubic-bezier(.22,1,.36,1),transform .22s cubic-bezier(.22,1,.36,1);display:grid;overflow:hidden;transform:translateY(0)}.session-bottom-hud-collapse-toggle,.session-bottom-hud-collapse-row{display:none}.session-bottom-hud-desktop-collapse-row{z-index:22;pointer-events:none;justify-content:center;align-items:center;width:min(220px,32vw);display:flex;position:absolute;top:-30px;left:50%;transform:translate(-50%)}.session-bottom-hud-desktop-collapse-row:before{display:none}.session-bottom-hud-desktop-collapse-toggle{z-index:1;border:1px solid color-mix(in srgb, var(--line-soft) 82%, transparent);width:42px;min-width:42px;height:30px;min-height:30px;color:color-mix(in srgb, var(--accent-soft) 82%, var(--text-soft) 18%);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--accent-border-soft) 38%, transparent);pointer-events:auto;background:linear-gradient(#ffffff0b,#ffffff03),#23272c;border-bottom:0;border-radius:8px 8px 0 0;place-items:center;padding:0;display:grid;position:relative}.session-bottom-hud-desktop-collapse-toggle:hover,.session-bottom-hud-desktop-collapse-toggle:focus-visible{color:var(--accent);border-color:color-mix(in srgb, var(--accent-border-soft) 62%, var(--line-soft));border-bottom:0;outline:none}.session-bottom-hud-desktop-collapse-toggle-icon{width:16px;height:16px}@media (width<=900px){.session-bottom-hud-desktop-collapse-row{display:none}.session-bottom-hud.is-collapsed:not(.is-mobile-collapsed),.session-bottom-hud.session-bottom-hud-admin-layout.is-collapsed:not(.is-mobile-collapsed){opacity:1;pointer-events:auto;max-height:520px;padding:6px;transform:translateY(0)}}.session-bottom-hud-mobile-tabs{display:none}.session-bottom-hud.session-bottom-hud-admin-layout{grid-template-columns:minmax(144px,.58fr) minmax(0,2.55fr) minmax(148px,.42fr);align-items:stretch}.session-bottom-hud.is-collapsed,.session-bottom-hud.session-bottom-hud-admin-layout.is-collapsed{opacity:1;pointer-events:none;max-height:10px;padding-top:0;padding-bottom:0;overflow:visible;transform:translateY(0)}.session-bottom-hud.is-collapsed>:not(.session-bottom-hud-tab-panel-inventory),.session-bottom-hud.session-bottom-hud-admin-layout.is-collapsed>:not(.session-bottom-hud-tab-panel-inventory){opacity:0;pointer-events:none}.session-bottom-hud.is-collapsed .session-bottom-hud-tab-panel-inventory,.session-bottom-hud.session-bottom-hud-admin-layout.is-collapsed .session-bottom-hud-tab-panel-inventory{box-shadow:none;opacity:1;pointer-events:none;background:0 0;border-color:#0000}.session-bottom-hud.is-collapsed .session-bottom-inventory-panel-header,.session-bottom-hud.session-bottom-hud-admin-layout.is-collapsed .session-bottom-inventory-panel-header{opacity:1;pointer-events:none}.session-bottom-hud.is-collapsed .session-bottom-inventory-panel-header>:not(.session-bottom-inventory-search-control),.session-bottom-hud.session-bottom-hud-admin-layout.is-collapsed .session-bottom-inventory-panel-header>:not(.session-bottom-inventory-search-control),.session-bottom-hud.is-collapsed .session-bottom-inventory-anchor,.session-bottom-hud.session-bottom-hud-admin-layout.is-collapsed .session-bottom-inventory-anchor{opacity:0;pointer-events:none}.session-bottom-hud.is-collapsed .session-bottom-inventory-search-control,.session-bottom-hud.session-bottom-hud-admin-layout.is-collapsed .session-bottom-inventory-search-control{pointer-events:none;display:none}.session-bottom-hud.is-collapsed .session-bottom-inventory-search-control:before,.session-bottom-hud.session-bottom-hud-admin-layout.is-collapsed .session-bottom-inventory-search-control:before{display:block}.session-bottom-hud.is-collapsed .session-bottom-inventory-search-control:after,.session-bottom-hud.session-bottom-hud-admin-layout.is-collapsed .session-bottom-inventory-search-control:after{border-radius:5px 5px 0 0}.session-bottom-hud.is-collapsed .session-bottom-inventory-search-control.has-map-actions,.session-bottom-hud.session-bottom-hud-admin-layout.is-collapsed .session-bottom-inventory-search-control.has-map-actions{grid-template-columns:repeat(2,32px);gap:8px;width:78px}.session-bottom-hud.is-collapsed .session-bottom-inventory-search-control.has-map-picker,.session-bottom-hud.session-bottom-hud-admin-layout.is-collapsed .session-bottom-inventory-search-control.has-map-picker{grid-template-columns:repeat(3,32px);gap:8px;width:118px}.session-bottom-hud.is-collapsed .session-bottom-inventory-search-control.has-feed-action,.session-bottom-hud.session-bottom-hud-admin-layout.is-collapsed .session-bottom-inventory-search-control.has-feed-action{grid-template-columns:repeat(2,32px);gap:8px;width:72px}.session-bottom-hud.is-collapsed .session-bottom-inventory-search-control.has-map-actions.has-feed-action,.session-bottom-hud.session-bottom-hud-admin-layout.is-collapsed .session-bottom-inventory-search-control.has-map-actions.has-feed-action{grid-template-columns:repeat(4,32px);gap:8px;width:158px}.session-bottom-hud.is-collapsed .session-bottom-inventory-search-control.has-map-picker.has-feed-action,.session-bottom-hud.session-bottom-hud-admin-layout.is-collapsed .session-bottom-inventory-search-control.has-map-picker.has-feed-action{grid-template-columns:repeat(5,32px);gap:8px;width:198px}.session-bottom-hud.is-collapsed .session-bottom-inventory-search-control.has-map-actions.is-zoom-open,.session-bottom-hud.session-bottom-hud-admin-layout.is-collapsed .session-bottom-inventory-search-control.has-map-actions.is-zoom-open{grid-template-columns:repeat(2,32px) minmax(170px,1fr) repeat(2,32px);width:min(410px,100vw - 48px);padding:0 20px 0 24px}.session-bottom-hud.is-collapsed .session-bottom-inventory-search-control.has-map-picker.is-map-picker-open,.session-bottom-hud.session-bottom-hud-admin-layout.is-collapsed .session-bottom-inventory-search-control.has-map-picker.is-map-picker-open{grid-template-columns:32px minmax(170px,1fr) repeat(4,32px);width:min(430px,100vw - 48px);padding:0 20px 0 24px}.session-bottom-hud.is-collapsed .session-bottom-inventory-search-control.has-map-picker.is-zoom-open,.session-bottom-hud.session-bottom-hud-admin-layout.is-collapsed .session-bottom-inventory-search-control.has-map-picker.is-zoom-open{grid-template-columns:repeat(3,32px) minmax(170px,1fr) repeat(2,32px);width:min(470px,100vw - 48px);padding:0 20px 0 24px}.session-bottom-hud.is-collapsed .session-bottom-inventory-search-separator,.session-bottom-hud.session-bottom-hud-admin-layout.is-collapsed .session-bottom-inventory-search-separator,.session-bottom-hud.is-collapsed .session-bottom-inventory-search-button,.session-bottom-hud.session-bottom-hud-admin-layout.is-collapsed .session-bottom-inventory-search-button,.session-bottom-hud.is-collapsed .session-bottom-inventory-search-inline,.session-bottom-hud.session-bottom-hud-admin-layout.is-collapsed .session-bottom-inventory-search-inline{display:none}.session-table-map-controls-anchor:has(.session-bottom-hud.is-collapsed){border-bottom-color:color-mix(in srgb, var(--accent-border-soft) 52%, var(--line-subtle))}.session-bottom-hud .session-bottom-turn-panel>.section-label{letter-spacing:.12em;text-overflow:clip;min-width:0;font-size:clamp(.64rem,.72vw,.82rem);overflow:hidden}.session-bottom-hud-panel{min-height:var(--session-bottom-hud-panel-height);max-height:var(--session-bottom-hud-panel-height);padding:var(--session-bottom-hud-panel-pad);border:1px solid var(--line-subtle);border-radius:var(--pixel-radius);background:var(--panel-pattern), color-mix(in srgb, var(--bg-panel) 86%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background-size:16px 16px,16px 16px;grid-template-rows:auto minmax(0,1fr);gap:12px;min-width:0;display:grid;position:relative;overflow:hidden;box-shadow:0 10px 28px #0000003d,inset 0 0 0 1px #ffffff08}.session-bottom-hud-panel:before{display:none}.session-bottom-hud-panel:first-child{padding-left:12px}.session-bottom-hud-panel-character{overflow:visible}.session-bottom-hud-admin-layout .session-bottom-hud-panel-character{min-height:var(--session-bottom-hud-panel-height);max-height:var(--session-bottom-hud-panel-height);align-content:stretch}.session-bottom-hud-panel:first-child:before{display:none}.session-bottom-hud-panel:last-child{padding-right:12px}.session-bottom-hud-panel>.section-label{font-family:var(--font-pixel);letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap;align-self:start;font-size:.82rem;line-height:1}.session-bottom-hud-panel-layer{border:1px solid var(--line-subtle);border-radius:var(--pixel-radius);background:color-mix(in srgb, var(--surface-card) 46%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);align-content:start;gap:12px;height:100%;min-height:0;padding:14px;display:grid;box-shadow:inset 0 1px #ffffff09}.session-bottom-hud-panel-layer-centered{align-content:center}.session-bottom-hud-panel-layer-compact{align-content:stretch;height:100%}.session-bottom-hud.session-bottom-hud-admin-layout .session-bottom-hud-panel-layer{gap:8px;padding:10px}.session-bottom-hud.session-bottom-hud-admin-layout .session-bottom-hud-panel-layer-compact{padding:10px}.session-bottom-hud-actor-select{align-self:start;gap:8px;display:grid}.session-bottom-hud.session-bottom-hud-admin-layout .session-bottom-hud-actor-select{gap:6px}.session-bottom-hud-actor-select .ui-field-label{font-family:var(--font-pixel);letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);align-items:center;font-size:.82rem;line-height:1;display:inline-flex}.session-bottom-hud-actor-select .ui-select-input{min-width:0}.session-bottom-hud.session-bottom-hud-admin-layout .session-bottom-hud-actor-select .ui-select-input{min-height:40px;padding:10px 38px 10px 14px}.session-bottom-inventory-panel-header>.section-label{font-family:var(--font-pixel);letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);align-self:center;font-size:.82rem;line-height:1.1}.session-bottom-inventory-panel-header{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:24px;padding:0 2px;display:grid}.session-bottom-hud-admin-layout .session-bottom-inventory-panel-header{grid-template-columns:auto minmax(0,1fr) auto}.session-bottom-turn-indicators{justify-content:center;align-items:center;gap:8px;min-width:0;display:flex}.session-bottom-turn-indicator{border:1px solid var(--border);background:var(--surface-card);min-width:24px;height:24px;color:var(--text-muted);border-radius:6px;justify-content:center;align-items:center;gap:5px;padding:0 7px;transition:opacity .14s,transform .14s,border-color .14s,background .14s,color .14s;display:inline-flex;position:relative}.session-bottom-turn-indicator.is-available{box-shadow:0 0 10px var(--line-faint)}.session-bottom-turn-indicator.is-unavailable{opacity:.38;filter:saturate(.65)}.session-turn-effect-tooltip:hover .session-bottom-turn-indicator,.session-turn-effect-tooltip:focus-within .session-bottom-turn-indicator{transform:translateY(-1px)}.session-bottom-turn-indicator-icon{font-size:.72rem}.session-bottom-turn-indicator-value{font-family:var(--font-pixel);letter-spacing:.04em;font-size:.64rem;line-height:1}.session-bottom-turn-indicator-action{color:#fff4e6;background:var(--state-orange-surface);border-color:#d4884c6b}.session-bottom-turn-indicator-bonus{color:#f7df9f;background:#cca94e24;border-color:#cca94e6b}.session-bottom-turn-indicator-move{color:#b8e7c0;background:#58a46f24;border-color:#58a46f6b}.session-bottom-turn-indicator-reaction{color:#c7d7ff;background:#6c89dd24;border-color:#6c89dd6b}.session-bottom-hud-character{cursor:pointer;align-content:start;justify-items:center;gap:8px;display:grid;overflow:visible}.session-bottom-hud-character-centered{align-content:center}.session-bottom-hud-character:hover .session-bottom-hud-avatar,.session-bottom-hud-character:focus-within .session-bottom-hud-avatar{border-color:var(--border-strong);box-shadow:0 0 0 1px var(--accent-border-faint), 0 0 18px var(--accent-border-faint);transform:translateY(-1px)}.session-bottom-hud-avatar{border:1px solid var(--border);background:var(--surface-card-raised);object-fit:cover;image-rendering:auto;width:72px;height:72px;color:inherit;font-family:var(--font-pixel);border-radius:10px;place-items:center;transition:transform .16s,border-color .16s,box-shadow .16s;display:grid}.session-bottom-hud-avatar.session-turn-avatar-ally{border-color:var(--state-success-border);color:var(--state-success-text);background:#51a35f33}.session-bottom-hud-avatar.session-turn-avatar-player{border-color:var(--state-warning-border);color:var(--state-warning-text);background:#d4b04a33}.session-bottom-hud-avatar.session-turn-avatar-enemy{border-color:var(--state-danger-border);color:var(--state-danger-text);background:#ad4c4c33}.session-bottom-hud-avatar.session-turn-avatar-neutral{border-color:var(--state-neutral-border);color:var(--state-neutral-text);background:#a0a0a033}.session-bottom-hud-avatar .session-turn-avatar-icon{width:62%;max-width:48px;height:62%;max-height:48px}.session-bottom-hud-header{text-align:center;justify-items:center;gap:4px;display:grid}.session-bottom-hud-header strong{color:var(--text);font-family:var(--font-pixel);font-size:1rem}.session-bottom-hud-header span{color:var(--text-bright);font-family:var(--font-pixel);font-size:.88rem}.session-bottom-hud-admin{align-content:start;gap:6px;display:grid}.session-bottom-hud-admin-copy{gap:10px;display:grid}.session-bottom-hud.session-bottom-hud-admin-layout .session-bottom-hud-admin-copy{gap:8px}.session-bottom-hud-admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.session-bottom-hud.session-bottom-hud-admin-layout .session-bottom-hud-admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.session-bottom-hud-admin-metrics .session-turn-effect-tooltip{min-width:0}.session-bottom-hud-admin-metric{border:1px solid var(--accent-border-soft);border-radius:var(--pixel-radius);background:color-mix(in srgb, var(--accent-surface-muted) 42%, transparent);cursor:help;justify-content:center;align-items:center;gap:6px;width:100%;min-width:0;min-height:34px;padding:6px 10px;display:inline-flex}.session-bottom-hud.session-bottom-hud-admin-layout .session-bottom-hud-admin-metric{min-height:30px;padding:4px 8px}.session-bottom-hud-admin-metric-copy{align-items:baseline;gap:6px;min-width:0;display:inline-flex}.session-bottom-hud-admin-metric-copy>span{min-width:0;color:var(--accent-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;line-height:1;overflow:hidden}.session-bottom-hud-admin-metric .session-inline-icon{color:var(--accent-soft);align-self:center;width:12px;height:12px}.session-bottom-hud-admin-metric-copy strong{color:var(--text-bright);font-size:.9rem;font-family:var(--font-body);letter-spacing:.02em;text-transform:none;line-height:1}.session-turn-effect-tooltip:hover .session-bottom-hud-admin-metric,.session-turn-effect-tooltip:focus-within .session-bottom-hud-admin-metric{border-color:var(--accent-border-strong);background:color-mix(in srgb, var(--accent-surface-soft) 58%, transparent)}.session-bottom-hud-admin-controls{gap:10px;display:grid}.session-bottom-hud.session-bottom-hud-admin-layout .session-bottom-hud-admin-controls{grid-template-columns:minmax(0,1fr);gap:6px}.session-bottom-hud-admin-control{gap:8px;width:100%;min-width:0;margin:0;display:grid}.session-bottom-hud.session-bottom-hud-admin-layout .session-bottom-hud-admin-control{grid-template-columns:minmax(76px,auto) minmax(0,1fr);align-items:center;gap:6px}.session-bottom-hud-admin-control .ui-field-label{color:var(--accent-soft);font-family:var(--font-pixel);letter-spacing:.14em;white-space:nowrap;align-items:center;font-size:.72rem;line-height:1;display:inline-flex}.session-bottom-hud.session-bottom-hud-admin-layout .session-bottom-hud-admin-control .ui-field-label{letter-spacing:.12em;white-space:normal;min-width:0;font-size:.66rem}.session-bottom-hud-admin-stepper{grid-template-columns:36px minmax(0,1fr) 36px;align-self:start;width:100%;min-width:0}.session-bottom-hud-admin-stepper .ui-stepper-button{width:100%;min-width:0;height:36px}.session-bottom-hud-admin-stepper .ui-stepper-input{padding:8px 10px}.session-bottom-hud.session-bottom-hud-admin-layout .session-bottom-hud-admin-stepper{grid-template-columns:32px minmax(0,1fr) 32px;justify-self:stretch;width:100%;min-height:40px}.session-bottom-hud.session-bottom-hud-admin-layout .session-bottom-hud-admin-stepper .ui-stepper-button{height:40px;font-size:var(--app-button-font-size-icon)}.session-bottom-hud.session-bottom-hud-admin-layout .session-bottom-hud-admin-stepper .ui-stepper-input{padding:6px 8px}.session-bottom-hud-links-admin{grid-template-columns:minmax(0,1fr);align-content:start;gap:10px;display:grid}.session-bottom-hud-links-admin>.secondary-action,.session-bottom-hud-links-admin>.neutral-action,.session-bottom-hud-links-admin>.danger-action,.session-bottom-hud-links-admin>.primary-action,.session-bottom-hud-links-admin>.button-reset{justify-content:center;width:100%}.session-admin-command-button{border-radius:var(--pixel-radius);min-height:56px;font-family:var(--font-pixel);letter-spacing:.16em;text-transform:uppercase;justify-content:center;align-items:center;gap:8px;padding:12px 14px;font-size:.74rem;transition:transform .12s,border-color .12s,background-color .12s,box-shadow .12s,color .12s;display:inline-flex}.session-admin-command-button-wide{grid-column:1/-1}.session-admin-command-button span{white-space:nowrap}.session-admin-command-button-neutral{color:var(--text-bright);box-shadow:inset 0 0 0 1px var(--surface-card);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#3e455094;border:1px solid #fff1d738}.session-admin-command-button-neutral:hover,.session-admin-command-button-neutral:focus-visible{border-color:var(--line-strong);background:#4a525fb8}.session-admin-command-button-neutral:active{background:#525b6ac7;transform:translateY(1px)}.session-paused-overlay{z-index:95;background:linear-gradient(180deg, var(--accent-surface-soft), transparent), #05070acc;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);overscroll-behavior:contain;place-items:center;display:grid;position:fixed;inset:0}.session-paused-overlay-card{border:1px solid var(--border-strong);border-radius:var(--pixel-radius);background:var(--bg-panel);text-align:center;min-width:min(420px,100vw - 32px);box-shadow:0 18px 48px var(--shadow-strong);gap:16px;padding:28px 24px;display:grid}.session-paused-overlay-card strong{color:var(--text-bright);font-family:var(--font-pixel);letter-spacing:.18em;font-size:1.6rem}.session-modal-overlay{z-index:45;overscroll-behavior:contain;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a0c10b8;place-items:center;padding:90px 10px 16px;display:grid;position:fixed;inset:0;overflow:hidden}.session-modal-overlay-nested{z-index:55;background:#06080cc2;align-items:start;padding:92px 16px 28px}.session-modal-overlay-centered{justify-content:center;align-items:center;padding:16px}.session-modal-overlay-top-aligned{align-items:start;padding:0}.session-modal-card{border:1px solid var(--border);border-radius:var(--pixel-radius);background:var(--panel-pattern), color-mix(in srgb, var(--bg-panel) 86%, transparent);width:min(1600px,100vw - 20px);max-height:calc(100vh - 106px);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(6px);background-position:0 0,0 0;background-size:16px 16px,16px 16px;gap:18px;padding:20px;display:grid;overflow:hidden}.session-modal-overlay-from-trigger{--session-modal-trigger-x:50vw;--session-modal-trigger-y:50vh}.session-modal-overlay-from-trigger.ui-fade-presence,.session-modal-overlay-from-trigger.ui-fade-presence.is-visible,.session-modal-overlay-from-trigger.ui-fade-presence.is-hidden{transform:none!important}.session-modal-overlay-from-trigger .session-modal-card{opacity:0;transform:translate(calc(var(--session-modal-trigger-x) - 50vw), calc(var(--session-modal-trigger-y) - 50vh)) scale(.32);transform-origin:50%;will-change:opacity, transform;transition:opacity .19s,transform .34s cubic-bezier(.16,.9,.18,1)}.session-modal-overlay-from-trigger.ui-fade-presence.is-visible .session-modal-card{opacity:1;transform:translate(0)scale(1)}.session-modal-overlay-from-trigger.ui-fade-presence.is-hidden .session-modal-card{opacity:0;transform:translate(calc(var(--session-modal-trigger-x) - 50vw), calc(var(--session-modal-trigger-y) - 50vh)) scale(.92)}@keyframes session-modal-grow-from-trigger{0%{opacity:0;transform:translate(calc(var(--session-modal-trigger-x) - 50vw), calc(var(--session-modal-trigger-y) - 50vh)) scale(.32)}62%{opacity:1;transform:translate(0)scale(1.025)}to{opacity:1;transform:translate(0)scale(1)}}.session-modal-overlay-from-trigger.ui-fade-presence.is-visible .session-modal-card{animation:.36s cubic-bezier(.16,.9,.18,1) both session-modal-grow-from-trigger}@media (prefers-reduced-motion:reduce){.session-modal-overlay-from-trigger .session-modal-card,.session-modal-overlay-from-trigger.ui-fade-presence.is-visible .session-modal-card,.session-modal-overlay-from-trigger.ui-fade-presence.is-hidden .session-modal-card{transition:opacity .12s;animation:none;transform:none}.session-floating-item-card.session-item-action-card,.session-floating-item-card.session-item-action-card.is-visible,.session-floating-item-card.session-item-action-card.is-closing{transition:opacity .12s,visibility .12s;scale:1}}.session-modal-header{justify-content:space-between;align-items:start;gap:16px;display:flex}.session-modal-close{justify-content:center;align-items:center;width:40px;min-width:40px;height:40px;padding:0;font-family:inherit;font-size:1rem;font-weight:700;line-height:1;display:inline-flex}.session-modal-header h2{font-family:var(--font-pixel);color:var(--text-bright);margin:0 0 4px;font-size:1.05rem}.session-character-roster-modal{grid-template-rows:auto auto auto auto;align-content:start;padding-bottom:28px;scroll-padding-bottom:28px;overflow:hidden auto}.session-visibility-group-modal{gap:16px;width:min(520px,100vw - 32px)}.session-visibility-group-actions{justify-content:flex-end}.session-visibility-group-actions>.button-reset,.session-visibility-group-actions>.primary-action,.session-visibility-group-actions>.neutral-action,.session-visibility-group-actions>.danger-action{justify-content:center;min-width:132px}.session-generic-panel-modal{grid-template-rows:auto minmax(0,1fr);gap:18px;width:min(1280px,100vw - 96px);min-height:0;max-height:calc(100vh - 140px);display:grid;overflow:hidden}.session-entry-role-modal{align-self:center;gap:20px;width:min(720px,100vw - 32px);max-width:none}.session-roster-delete-modal{gap:18px;width:min(480px,100vw - 32px);max-width:none}.session-modal-overlay-nested:has(.session-roster-delete-modal){align-items:center}.session-roster-delete-modal .session-modal-header{text-align:center;justify-content:center}.session-roster-delete-modal .session-modal-header>div{justify-items:center;display:grid}.session-roster-delete-actions{justify-content:center;width:100%}.session-roster-delete-actions>.button-reset,.session-roster-delete-actions>.primary-action,.session-roster-delete-actions>.secondary-action,.session-roster-delete-actions>.neutral-action,.session-roster-delete-actions>.danger-action{min-width:132px}.session-entry-role-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.session-entry-role-option{text-align:left;align-content:start;justify-items:start;gap:10px;min-height:152px;padding:18px;display:grid}.session-entry-role-option.primary-action{background:linear-gradient(180deg, #fff1d714, transparent), var(--accent-surface)}.session-entry-role-option.neutral-action{background:linear-gradient(#ffffff0e,#0000),#a0a0a029}.session-entry-role-option strong{font-family:var(--font-pixel);letter-spacing:.14em;text-transform:uppercase;font-size:.95rem}.session-entry-role-option span{color:var(--text-soft);line-height:1.5}.session-entry-role-option.primary-action span{color:color-mix(in srgb, #fff 78%, var(--text-soft))}.session-sheet-modal{grid-template-rows:auto minmax(0,1fr);gap:16px;width:calc(100vw - 32px);max-width:none;height:calc(100vh - 120px);max-height:calc(100vh - 120px);padding:20px}.session-sheet-modal-frame{border:1px solid var(--line-subtle);border-radius:var(--pixel-radius);background:var(--surface-well);height:100%;min-height:0;box-shadow:inset 0 0 0 1px var(--shadow-medium);scroll-padding-bottom:32px;display:grid;overflow:auto}.session-sheet-modal-actions{align-items:center}.session-sheet-modal-actions>.button-reset,.session-sheet-modal-actions>.primary-action,.session-sheet-modal-actions>.secondary-action,.session-sheet-modal-actions>.neutral-action,.session-sheet-modal-actions>.danger-action{justify-content:center;align-items:center;min-height:40px;display:inline-flex}.session-sheet-modal-iframe{background:0 0;border:0;width:100%;height:100%;min-height:0;display:block}.session-sheet-modal-frame>.character-page-layout-embedded{align-content:start;min-height:100%;padding:14px}.session-sheet-modal-frame>.character-page-layout-embedded:after{content:"";min-height:4px;display:block}:where(.profile-page-status-modal,.profile-page-status-preview-modal,.profile-page-profile-preview-modal,.profile-page-friends-modal,.profile-page-badge-editor-modal,.login-reset-notice-modal,.character-avatar-crop-modal,.campaign-confirm-modal,.campaign-modal,.campaign-badge-editor-modal,.campaign-mobile-overlay,.session-paused-overlay-card,.session-modal-card){background:var(--panel-pattern), color-mix(in srgb, var(--bg-panel) 86%, transparent);-webkit-backdrop-filter:blur(6px);background-position:0 0,0 0;background-size:16px 16px,16px 16px}.campaign-character-create-modal-body{align-content:start;gap:14px;min-height:0;padding:14px 14px 40px;display:grid}.campaign-character-create-form{gap:14px;padding-bottom:28px;display:grid}.campaign-character-create-toolbar{justify-content:flex-end}.campaign-character-create-panel{margin:0 0 18px}.campaign-character-create-grid{align-items:start}.campaign-character-create-grid>.ui-field{height:100%}.campaign-character-create-grid .ui-textarea{box-sizing:border-box;height:100%}.campaign-character-create-identity-layout{grid-template-columns:180px minmax(0,1fr);align-items:start;gap:20px;display:grid}.campaign-character-create-avatar-column{align-content:start;align-self:center;gap:12px;display:grid}.campaign-character-create-avatar-copy{gap:6px;display:grid}.campaign-character-create-avatar-copy .section-card-subtitle{margin:0}.campaign-character-create-avatar-column .character-avatar-image,.campaign-character-create-avatar-column .character-avatar-fallback{width:152px;height:152px}.campaign-character-create-avatar-column .character-avatar-button{justify-items:start}.campaign-character-edit-avatar-column .character-avatar-panel{border:1px solid var(--line-subtle);border-radius:var(--pixel-radius);background:var(--surface-card-raised);width:fit-content;padding:10px;box-shadow:inset 0 1px #ffffff08}.campaign-character-edit-avatar-column .character-avatar-button{justify-items:center;width:100%}.campaign-character-edit-avatar-column .character-avatar-edit-hint{text-align:center;width:100%}@media (width<=960px){.campaign-character-create-identity-layout{grid-template-columns:1fr}.campaign-character-create-avatar-column{grid-template-columns:auto minmax(0,1fr);align-items:center}}@media (width<=640px){.campaign-character-create-avatar-column{grid-template-columns:1fr}}.campaign-character-editor-modal{border-bottom:0;border-left:0;border-right:0;border-radius:0;width:100vw;height:100vh;max-height:100vh}.session-master-template-modal{grid-template-rows:auto minmax(0,1fr);gap:16px;width:min(1040px,100vw - 40px);max-height:calc(100vh - 120px)}.session-master-template-modal .session-modal-header,.session-master-template-modal .session-modal-header>.inline-actions{align-items:center}.session-master-template-modal .session-modal-header>.inline-actions>.button-reset,.session-master-template-modal .session-modal-header>.inline-actions>.primary-action,.session-master-template-modal .session-modal-header>.inline-actions>.secondary-action,.session-master-template-modal .session-modal-header>.inline-actions>.neutral-action,.session-master-template-modal .session-modal-header>.inline-actions>.danger-action{justify-content:center;align-items:center;min-height:40px;display:inline-flex}.session-master-template-modal-body{min-height:0;max-height:calc(100vh - 240px);padding-bottom:24px;padding-right:6px;scroll-padding-bottom:24px;overflow-y:auto}.session-master-template-modal-body>.session-character-roster-edit-grid{border:1px solid var(--line-subtle);border-radius:var(--pixel-radius);background:var(--surface-well);padding:18px}.session-observer-card{align-items:center;display:grid}.session-observer-banner{text-align:center;align-content:center;justify-items:center;gap:8px;min-height:132px;padding:12px 20px;display:grid}.session-observer-banner strong{font-family:var(--font-pixel);letter-spacing:.14em;text-transform:uppercase;color:var(--text-bright);margin:0;font-size:.95rem;line-height:1.2}.session-observer-banner span{color:var(--text-soft);max-width:56ch;margin:0;line-height:1.6}.session-generic-panel-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;height:100%;min-height:0;display:grid;overflow:hidden}.session-generic-panel-section{border:1px solid var(--line-faint);border-radius:var(--pixel-radius);background:var(--surface-well);min-width:0;min-height:0;box-shadow:inset 0 0 0 1px var(--shadow-medium);grid-template-rows:auto minmax(0,1fr);gap:10px;padding:16px;display:grid;overflow:hidden}.session-generic-panel-scroll{box-sizing:border-box;scrollbar-gutter:stable;padding-inline-end:8px;align-content:start;gap:10px;width:100%;min-height:0;max-height:52vh;padding-bottom:18px;scroll-padding-bottom:18px;display:grid;overflow:hidden auto}.session-generic-panel-stack{gap:10px;min-width:0;display:grid}.session-generic-panel-copy{align-content:start;min-height:180px}.session-dice-panel-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:stretch}.session-annotations-panel-grid{grid-template-columns:minmax(320px,.82fr) minmax(440px,1.18fr);align-items:stretch;gap:18px}.session-annotations-panel-grid .session-generic-panel-section{border-color:var(--line-subtle);background:var(--surface-well);box-shadow:none}.session-annotations-panel-grid .session-generic-panel-stack{border:1px solid var(--line-subtle);border-radius:var(--pixel-radius);background:var(--surface-card);padding:12px;box-shadow:inset 0 1px #ffffff08}.session-annotations-browser-section,.session-annotations-editor-section{min-height:430px}.session-annotations-section-heading{justify-content:space-between;align-items:center;gap:14px;min-width:0;display:flex}.session-annotations-heading-copy{gap:4px;min-width:0;display:grid}.session-annotations-heading-copy small{color:var(--muted);font-size:.78rem}.session-annotations-browser-stack{grid-template-rows:minmax(0,1fr);min-height:0}.session-annotations-session-list{align-content:start;gap:8px;min-height:0;max-height:none;padding-right:8px;overflow-y:auto}.session-annotations-session-list .campaign-session-history-item.current-turn-card{border-color:var(--accent-border-medium);background:var(--accent-surface-soft);box-shadow:inset 0 0 0 1px var(--accent-border-faint), inset 0 1px 0 #ffffff0a}.session-annotations-search{flex:0 280px;justify-self:end;max-width:280px;margin-bottom:2px}.session-annotations-panel-grid .session-annotations-search .text-input{background:var(--surface-card-raised)}.session-panel-section-spacer{min-height:1.25rem}.session-annotations-editor-section{grid-template-rows:minmax(0,1fr);align-self:stretch}.session-annotations-editor-stack,.session-annotations-editor-field{height:100%;min-height:0}.session-annotations-editor-stack{grid-template-rows:auto minmax(0,1fr) auto}.session-annotations-editor-header{border-bottom:1px solid var(--line-subtle);justify-content:space-between;align-items:end;gap:16px;padding-bottom:10px;display:flex}.session-annotations-editor-header>div{gap:6px;min-width:0;display:grid}.session-annotations-editor-header strong{color:var(--text-bright);text-overflow:ellipsis;white-space:nowrap;font-size:1rem;line-height:1.2;overflow:hidden}.session-annotations-editor-status{border:1px solid var(--accent-border-faint);border-radius:var(--pixel-radius);background:var(--accent-surface-soft);color:var(--accent-text);font-family:var(--font-pixel);letter-spacing:.08em;text-transform:uppercase;flex:none;padding:7px 10px;font-size:.58rem}.session-annotations-editor-card{min-height:0;padding:12px}.session-annotations-reader-card{min-height:0;padding:16px;overflow-y:auto}.session-annotations-reader-card>p{color:var(--text);white-space:pre-wrap;margin:0;font-size:.95rem;line-height:1.7}.session-annotations-editor-field{grid-template-rows:auto minmax(0,1fr);display:grid}.session-annotations-editor-input{resize:none;background:var(--surface-card-raised);height:100%;min-height:0}.session-annotations-editor-actions .primary-action,.session-annotations-editor-actions .neutral-action{flex:none;justify-self:end;width:auto;min-width:140px;padding-inline:18px}.session-annotations-editor-actions{border-top:1px solid var(--line-subtle);justify-content:flex-end;align-items:center;gap:16px;padding-top:14px;display:flex}.session-annotations-editor-actions>span{color:var(--muted);margin-right:auto;font-size:.82rem;line-height:1.35}@media (width<=980px){.session-annotations-panel-grid{grid-template-columns:1fr}.session-annotations-browser-section,.session-annotations-editor-section{min-height:0}.session-annotations-browser-stack{grid-template-rows:auto}}@media (width<=640px){.session-annotations-section-heading,.session-annotations-editor-header,.session-annotations-editor-actions{flex-direction:column;align-items:stretch}.session-annotations-search{flex-basis:auto;width:100%;max-width:none}.session-annotations-editor-status,.session-annotations-editor-actions .primary-action,.session-annotations-editor-actions .neutral-action{width:100%}}.session-annotations-panel-grid .session-item-profile-card{border-color:var(--line-soft);background:var(--surface-card-raised);box-shadow:inset 0 1px #ffffff08}.session-dice-panel-card{background:var(--surface-card-raised);align-content:start;align-self:start;gap:10px;padding:14px;display:grid}.session-dice-panel-card .primary-action{justify-content:center;width:100%}.session-dice-panel-card .visibility-type{justify-content:space-between;align-items:end;display:flex}.session-dice-panel-hint{margin:0;line-height:1.4}.session-dice-panel-visibility-note{border:1px solid var(--accent-border);border-radius:var(--pixel-radius);background:var(--accent-surface-muted);width:fit-content;color:var(--accent-text);font-family:var(--font-pixel);letter-spacing:.08em;text-transform:uppercase;padding:7px 10px;font-size:.64rem;box-shadow:3px 3px #00000024}.session-dice-panel-recent-section{align-self:start;gap:8px;min-height:0;margin-top:2px;display:grid}.session-dice-panel-recent{box-sizing:border-box;border:1px solid var(--line-faint);border-radius:var(--pixel-radius);background:var(--surface-card);width:100%;min-height:0;max-height:30vh;box-shadow:inset 0 0 0 1px var(--shadow-medium);scrollbar-gutter:stable;align-content:start;gap:10px;padding:10px;display:grid;overflow:hidden auto}.session-dice-panel-private-stage{border:1px solid var(--accent-border);border-radius:var(--pixel-radius);background:linear-gradient(#fff1d709 1px, transparent 1px), linear-gradient(90deg, #fff1d709 1px, transparent 1px), radial-gradient(circle at 50% 20%, var(--accent-surface-soft), transparent 46%), #0a0c10b8;height:100%;min-height:520px;box-shadow:inset 0 0 48px var(--shadow-deep), 0 0 0 1px #0a0c107a;background-size:24px 24px,24px 24px,auto,auto;position:relative;overflow:visible}.session-dice-panel-private-stage .dice-tray-shell,.session-dice-panel-private-stage .threejs-dice-roll-shell{background:0 0;border:0;border-radius:0;height:100%;min-height:520px}.session-dice-panel-private-stage .dice-tray-stage,.session-dice-panel-private-stage .threejs-dice-roll-stage{height:100%;min-height:520px}.session-dice-panel-private-stage .dice-tray-stage canvas,.session-dice-panel-private-stage .threejs-dice-roll-stage canvas{background:0 0!important}.session-dice-panel-private-result,.session-dice-panel-private-empty{z-index:2;text-align:center;border:1px solid var(--accent-border-medium);min-width:min(280px,100% - 32px);box-shadow:0 14px 36px var(--shadow-heavy);pointer-events:none;background:linear-gradient(#fff1d71a,#0000),#12151ad6;border-radius:18px;justify-items:center;gap:8px;padding:14px 18px;display:grid;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.session-dice-panel-private-result span,.session-dice-panel-private-empty span{color:var(--text-soft)}.session-dice-panel-private-result strong{letter-spacing:0;text-transform:none;color:var(--text-bright);text-shadow:0 4px 18px #000000a8;font-family:Trebuchet MS,Segoe UI,sans-serif;font-size:clamp(2.4rem,8vw,4.8rem);font-weight:700;line-height:.95}.session-dice-panel-private-empty strong{font-family:var(--font-pixel);letter-spacing:.16em;text-transform:uppercase;color:var(--text-bright)}.session-character-roster-grid{grid-template-columns:1fr;gap:10px;min-height:0;display:grid;overflow:visible}.session-character-roster-tabs{border:1px solid var(--line-subtle);border-radius:var(--pixel-radius);background:var(--surface-well);grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:8px;padding:4px;display:grid}.session-character-roster-groups{min-width:0;display:grid}.session-character-roster-group-controls{align-items:center;gap:10px;min-width:0;display:flex}.session-character-roster-group-list{flex:auto;gap:8px;min-width:0;padding-bottom:2px;display:flex;overflow-x:auto}.session-character-roster-group-chip{--visibility-group-color:var(--accent);border:1px solid color-mix(in srgb, var(--visibility-group-color) 54%, var(--line-subtle));border-radius:var(--pixel-radius);background:linear-gradient(180deg, color-mix(in srgb, var(--visibility-group-color) 18%, transparent), transparent), var(--surface-card);min-height:38px;color:var(--text-bright);font-family:var(--font-pixel);letter-spacing:.1em;text-transform:uppercase;flex:none;align-items:center;gap:8px;padding:8px 12px;font-size:.72rem;display:inline-flex}.session-character-roster-group-chip.is-hidden{opacity:.58;background:var(--surface-muted)}.session-character-roster-group-chip>.app-icon{width:16px;height:16px}.session-character-roster-group-chip>small{background:color-mix(in srgb, var(--visibility-group-color) 28%, #ffffff14);min-width:22px;height:22px;color:var(--text-bright);font-family:var(--font-body);letter-spacing:0;border-radius:999px;place-items:center;font-size:.72rem;display:inline-grid}.session-character-roster-group-create{flex:none;min-height:38px}.session-character-roster-group-manager{grid-template-columns:minmax(180px,260px) minmax(0,1fr);align-items:stretch;gap:12px;min-height:0;display:grid}.session-character-roster-group-sidebar,.session-character-roster-group-workspace{border:1px solid var(--line-faint);border-radius:var(--pixel-radius);background:var(--surface-well);min-width:0}.session-character-roster-group-sidebar{align-content:start;gap:8px;height:100%;max-height:318px;padding:10px;display:grid;overflow-y:auto}.session-character-roster-group-sidebar-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.session-character-roster-group-sidebar-header>span,.session-character-roster-group-section>h4{color:var(--text-muted);font-family:var(--font-pixel);letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:.72rem}.session-character-roster-group-row{--visibility-group-color:var(--accent);border:1px solid color-mix(in srgb, var(--visibility-group-color) 34%, var(--line-subtle));border-radius:var(--pixel-radius);background:linear-gradient(180deg, color-mix(in srgb, var(--visibility-group-color) 12%, transparent), transparent), var(--surface-card);width:100%;min-height:58px;color:var(--text-bright);text-align:left;grid-template-columns:30px minmax(0,1fr) 30px;align-items:center;gap:8px;padding:8px;display:grid}.session-character-roster-group-row-visibility,.session-character-roster-group-row-delete{border:1px solid var(--line-soft);border-radius:calc(var(--pixel-radius) - 2px);width:30px;min-width:30px;height:30px;min-height:30px;color:var(--text-bright);background:#ffffff0a;place-items:center;padding:0;display:inline-grid}.session-character-roster-group-row-visibility:hover,.session-character-roster-group-row-visibility:focus-visible{border-color:color-mix(in srgb, var(--visibility-group-color) 68%, var(--border-strong));background:color-mix(in srgb, var(--visibility-group-color) 18%, #ffffff0a)}.session-character-roster-group-row-delete{color:var(--state-danger-text);border-color:#d660605c}.session-character-roster-group-row-delete:hover,.session-character-roster-group-row-delete:focus-visible{background:#7826263d;border-color:#d66060b8}.session-character-roster-group-row-visibility>.app-icon,.session-character-roster-group-row-delete>.app-icon{width:14px;height:14px}.session-character-roster-group-row-main{width:100%;min-width:0;height:100%;min-height:42px;box-shadow:none;color:inherit;text-align:left;background:0 0;border:0;border-radius:0;grid-template-columns:minmax(0,1fr);align-items:center;padding:0;display:grid}.session-character-roster-group-row-main:hover,.session-character-roster-group-row-main:focus-visible,.session-character-roster-group-row-main:active{box-shadow:none;background:0 0;border:0;transform:none}.session-character-roster-group-row.is-selected{border-color:color-mix(in srgb, var(--visibility-group-color) 72%, var(--border-strong));box-shadow:0 0 0 1px color-mix(in srgb, var(--visibility-group-color) 32%, transparent)}.session-character-roster-group-row.is-hidden{opacity:.58}.session-character-roster-group-dot{background:var(--visibility-group-color);width:12px;height:12px;box-shadow:0 0 12px color-mix(in srgb, var(--visibility-group-color) 58%, transparent);border-radius:999px}.session-character-roster-group-row-copy{gap:2px;min-width:0;display:grid}.session-character-roster-group-row-copy>strong{font-family:var(--font-pixel);letter-spacing:.11em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:.72rem;overflow:hidden}.session-character-roster-group-row-copy>small{color:var(--text-muted);font-size:.74rem}.session-character-roster-group-row-icon>.app-icon{width:16px;height:16px}.session-character-roster-group-workspace{align-content:start;gap:12px;max-height:318px;padding:12px;display:grid;overflow:hidden}.session-character-roster-group-workspace-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.session-character-roster-group-workspace-header h3{color:var(--text-bright);font-family:var(--font-pixel);letter-spacing:.12em;text-transform:uppercase;margin:0 0 4px;font-size:.92rem}.session-character-roster-group-toggle{flex:none;align-items:center;gap:8px;display:inline-flex}.session-character-roster-group-toggle>.app-icon{width:16px;height:16px}.session-character-roster-group-columns{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:12px;min-width:0;min-height:0;display:grid}.session-character-roster-group-section{grid-template-rows:auto minmax(0,1fr);align-content:stretch;gap:8px;min-width:0;min-height:0;display:grid}.session-character-roster-group-member-list{grid-template-columns:repeat(auto-fill,minmax(116px,1fr));grid-auto-rows:minmax(132px,auto);gap:10px;height:100%;min-height:132px;max-height:152px;margin-bottom:14px;padding:10px;overflow:hidden}.session-character-group-member-card{min-width:0}.session-character-group-member-card.session-bottom-inventory-item,.session-character-group-member-main{min-height:132px}.session-character-group-member-avatar.session-character-roster-tile-avatar{width:54px;height:54px}.session-character-group-member-action{z-index:2;place-items:center;width:28px;min-width:28px;height:28px;min-height:28px;padding:0;font-size:.86rem;line-height:0;display:inline-grid;position:absolute;top:8px;right:8px}.session-character-roster-tabs>.hud-tab-button{min-height:42px}.session-character-roster-column{gap:0;min-width:0;min-height:0;display:grid}.session-character-roster-column-header{justify-content:flex-start;align-items:center;gap:0;display:flex}.session-character-roster-list{border:1px solid var(--line-faint);border-radius:var(--pixel-radius);background:var(--surface-well);grid-template-columns:repeat(auto-fill,minmax(136px,1fr));grid-auto-rows:minmax(156px,auto);align-content:start;gap:12px;min-height:156px;max-height:220px;padding:12px;display:grid;overflow:hidden auto}.session-character-roster-list>.session-loadout-empty-state{grid-column:1/-1;min-height:100%}.session-character-roster-tile{border:1px solid var(--border);border-radius:var(--pixel-radius);background:var(--surface-card-raised);min-height:0;transition:border-color .14s,background .14s,transform .14s;position:relative}.session-character-roster-tile.session-bottom-inventory-item{aspect-ratio:auto;min-height:156px;overflow:hidden}.session-character-roster-tile:hover,.session-character-roster-tile:focus-within{border-color:var(--border-strong);background:var(--surface-card-hover);transform:translateY(-1px)}.session-character-roster-tile.is-selected{border-color:var(--accent-warm-border-strong);background:var(--accent-surface-selected-strong);box-shadow:inset 0 0 0 1px var(--accent-border-soft)}.session-character-roster-column-party .session-character-roster-tile{background:var(--state-warning-surface-soft);border-color:#d4b04a66}.session-character-roster-column-party .session-character-roster-tile .session-character-roster-tile-avatar{color:var(--state-warning-text);background:#d4b04a24;border-color:#d4b04a7a}.session-character-roster-tile-ally{background:var(--state-success-surface-soft);border-color:#51a35f57}.session-character-roster-tile-ally .session-character-roster-tile-avatar{color:var(--state-success-text);background:#51a35f24;border-color:#51a35f6b}.session-character-roster-tile-enemy{background:var(--state-danger-surface-soft);border-color:#ad4c4c57}.session-character-roster-tile-enemy .session-character-roster-tile-avatar{border-color:var(--state-danger-border);color:var(--state-danger-text);background:#ad4c4c24}.session-character-roster-tile-neutral{background:#b5b5b50d;border-color:#b5b5b53d}.session-character-roster-tile-neutral .session-character-roster-tile-avatar{color:var(--state-neutral-text);background:#b5b5b51a;border-color:#b5b5b552}.session-character-roster-tile-button{text-align:center;align-content:center;justify-items:center;gap:10px;min-height:156px;padding:18px 12px 16px;display:grid}.session-character-roster-delete-button{width:28px;min-width:28px;height:28px;box-shadow:0 0 0 1px var(--surface-well-strong);opacity:0;pointer-events:none;z-index:2;background:#7b3737f0;border-color:#ff92926b;border-radius:8px;justify-content:center;align-items:center;padding:0;font-size:1rem;font-weight:700;line-height:1;transition:opacity .14s,transform .14s;display:inline-flex;position:absolute;top:8px;right:8px;transform:translateY(-2px)}.session-character-roster-visibility-button{width:28px;min-width:28px;height:28px;box-shadow:0 0 0 1px var(--surface-well-strong);opacity:0;pointer-events:none;z-index:2;border-radius:8px;place-items:center;padding:0;transition:opacity .14s,transform .14s;display:grid;position:absolute;top:8px;left:8px;transform:translateY(-2px)}.session-character-roster-tile:hover .session-character-roster-visibility-button,.session-character-roster-tile:focus-within .session-character-roster-visibility-button,.session-character-roster-tile.is-hidden .session-character-roster-visibility-button,.session-character-roster-tile:hover .session-character-roster-delete-button,.session-character-roster-tile:focus-within .session-character-roster-delete-button{opacity:1;pointer-events:auto;transform:translateY(0)}.session-character-roster-visibility-button .app-icon{font-size:.85rem}.session-character-roster-delete-button:hover,.session-character-roster-delete-button:focus-visible,.session-character-roster-delete-button:active{box-shadow:0 0 0 1px var(--surface-well-heavy);background:#7b3737fa;border-color:#ff929285}.session-character-roster-visibility-button:hover,.session-character-roster-visibility-button:focus-visible,.session-character-roster-visibility-button:active{box-shadow:0 0 0 1px var(--surface-well-heavy)}.session-character-roster-tile.is-hidden{opacity:.72;border-color:#b5b5b538}.session-character-roster-tile.is-hidden .session-character-roster-tile-avatar{filter:saturate(.72)brightness(.88)}.session-character-roster-tile-avatar{border:1px solid var(--border);background:var(--surface-card);width:72px;height:72px;font-family:var(--font-pixel);color:var(--text);border-radius:12px;place-items:center;display:grid;overflow:hidden}.session-character-roster-tile-avatar img,img.session-character-roster-tile-avatar{object-fit:cover;image-rendering:auto}.session-character-roster-tile-copy{text-align:center;align-content:center;justify-items:center;gap:6px;width:100%;display:grid}.session-character-roster-tile-copy strong{color:var(--text);overflow-wrap:anywhere;max-width:100%;font-size:.9rem;line-height:1.2}.session-character-roster-tile-name{text-align:center;width:100%;max-height:2.4em;display:block;overflow:hidden}.session-character-roster-tile-name-text{overflow-wrap:anywhere;text-align:center;will-change:transform;display:block}.session-character-roster-tile-name.is-scrolling .session-character-roster-tile-name-text{animation:session-roster-name-scroll var(--roster-name-scroll-duration,5.2s) ease-in-out infinite}@keyframes session-roster-name-scroll{0%,28%{transform:translateY(0)}58%,76%{transform:translateY(var(--roster-name-scroll-distance,-1.2em))}to{transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.session-character-roster-tile-name.is-scrolling .session-character-roster-tile-name-text{animation:none}}.session-character-roster-tile-copy span{color:var(--text-muted);overflow-wrap:anywhere;max-width:100%;font-size:.78rem;line-height:1.25}.session-character-roster-create-tile{border-style:dashed}.session-character-roster-create-plus{border:1px solid var(--line-medium);background:var(--surface-card-hover);width:72px;height:72px;color:var(--text-bright);font-family:var(--font-pixel);border-radius:12px;place-items:center;font-size:1.4rem;line-height:1;display:grid}.session-character-roster-detail{border:1px solid var(--line-subtle);border-radius:var(--pixel-radius);background:var(--surface-well);align-content:start;gap:14px;min-width:0;min-height:0;padding:16px;display:grid;overflow:visible}.session-character-roster-detail-shell{display:contents}@media (width<=960px){.session-character-roster-grid{grid-template-columns:1fr}.session-character-roster-list{max-height:240px}}@media (width<=640px){.session-character-roster-list{grid-template-columns:repeat(auto-fill,minmax(124px,1fr));grid-auto-rows:minmax(148px,auto);max-height:240px}.session-character-roster-tile.session-bottom-inventory-item,.session-character-roster-tile-button{min-height:148px}.session-character-roster-tile-avatar,.session-character-roster-create-plus{width:64px;height:64px}}.session-character-roster-detail-header{justify-content:flex-end;align-items:center;gap:16px;display:flex}.session-character-roster-detail-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;width:100%;display:flex}.session-character-roster-resistance-visibility-action{margin-left:auto}.session-character-roster-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;min-width:0;display:grid}.session-character-roster-summary{border:1px solid var(--line-subtle);border-radius:var(--pixel-radius);background:var(--surface-card);grid-column:1/-1;gap:14px;min-width:0;padding:14px;display:grid}.session-character-roster-summary-grid{grid-template-columns:minmax(220px,.9fr) minmax(180px,auto) minmax(0,1.4fr);align-items:start;gap:16px;min-width:0;display:grid}.session-character-roster-summary-group{box-sizing:border-box;align-content:start;align-self:start;gap:12px;min-width:0;height:auto;display:grid}.session-character-roster-summary-group:not(:first-child){border-left:1px solid var(--line-subtle);padding-left:16px}.session-character-roster-summary-group-equipment{justify-items:start}.session-character-roster-summary-group-equipment .session-character-detail-equipment-column{background:0 0;border:0;border-radius:0;grid-template-columns:repeat(5,42px);align-self:start;width:max-content;height:auto;padding:0}.session-character-roster-summary-group-equipment .session-character-detail-equipment-icon-slot{background:var(--surface-card-raised);border:1px solid var(--border);width:42px;height:42px}.session-character-roster-summary-head{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;display:grid}.session-character-roster-summary-copy{gap:4px;min-width:0;display:grid}.session-character-roster-summary-copy>strong,.session-character-roster-summary-copy>p{margin:0}.session-character-roster-summary-separator{background:var(--line-subtle);width:100%;height:1px;display:block}.session-character-roster-summary-metrics,.session-character-roster-chip-grid{flex-wrap:wrap;gap:10px;min-width:0;display:flex}.session-character-roster-info-chip{width:auto;max-width:100%;min-height:34px;padding-inline:10px}.session-character-roster-summary-metrics .session-turn-effect-tooltip,.session-character-roster-chip-grid .session-turn-effect-tooltip{min-width:0;max-width:100%}.session-character-roster-summary-metrics .session-turn-hovercard-stat-chip,.session-character-roster-chip-grid .session-turn-hovercard-stat-chip{width:auto;max-width:100%}.session-character-roster-info-chip .session-inline-icon{width:12px;height:12px}.session-character-roster-chip-grid .session-turn-hovercard-stat-chip strong{font-weight:400}.session-character-roster-chip-grid .session-turn-hovercard-stat-chip,.session-character-roster-summary-metrics .session-turn-hovercard-stat-chip{font-family:var(--font-pixel)}.session-character-roster-summary .session-turn-effect-tooltip-card{top:calc(100% + 10px);bottom:auto;transform:translate(-50%)}.session-character-roster-summary .session-turn-effect-tooltip:hover .session-turn-effect-tooltip-card,.session-character-roster-summary .session-turn-effect-tooltip:focus-within .session-turn-effect-tooltip-card{transform:translate(-50%)translateY(4px)}@media (width<=900px){.session-character-roster-summary-grid{grid-template-columns:1fr}.session-character-roster-summary-group:not(:first-child){border-left:0;border-top:1px solid var(--line-subtle);padding-top:16px;padding-left:0}.session-character-roster-summary-group-equipment{justify-items:start}}.session-character-roster-edit-panel{border:1px solid var(--line-subtle);border-radius:var(--pixel-radius);background:var(--surface-card);gap:14px;padding:14px;display:grid;box-shadow:inset 0 1px #ffffff08}.session-campaign-effect-apply{--session-field-gap:var(--session-fluid-field-gap,7px);--session-field-label-font-size:var(--session-fluid-field-label-font-size,.64rem);--session-field-height:var(--session-fluid-field-height,44px);--session-field-pad-y:var(--session-fluid-field-pad-y,10px);--session-field-pad-x:var(--session-fluid-field-pad-x,12px);--session-field-font-size:var(--session-fluid-field-font-size,.95rem);--session-select-height:var(--session-field-height);--session-select-pad-y:var(--session-field-pad-y);--session-select-pad-x:var(--session-field-pad-x);--session-select-pad-right:36px;--session-select-font-size:var(--session-field-font-size);--session-select-arrow-size:6px;--session-select-arrow-right-a:18px;--session-select-arrow-right-b:12px;--session-effect-apply-field-height:var(--session-field-height);border-top:1px solid var(--line-subtle);gap:8px;min-width:0;margin-top:14px;padding-top:14px;display:grid}.session-campaign-effect-apply-labels,.session-campaign-effect-apply-controls{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;min-width:0;display:grid}.session-campaign-effect-apply-labels{align-items:end}.session-campaign-effect-apply-labels>span{min-height:24px;color:var(--text-soft);font-size:var(--session-field-label-font-size,.85rem);letter-spacing:.08em;text-transform:uppercase;align-items:flex-end;line-height:1;display:flex}.session-campaign-effect-apply-controls{align-items:center}.session-campaign-effect-apply .ui-field{gap:var(--session-field-gap)}.session-campaign-effect-apply .ui-input,.session-campaign-effect-apply .ui-select,.session-campaign-effect-apply .ui-select-input{min-height:var(--session-field-height);padding-block:var(--session-field-pad-y);padding-left:var(--session-field-pad-x);font-size:var(--session-field-font-size);line-height:1.15}.session-campaign-effect-apply .ui-select,.session-campaign-effect-apply .ui-select-input{padding-right:var(--session-select-pad-right);background-position:calc(100% - var(--session-select-arrow-right-a)) calc(50% - 1px), calc(100% - var(--session-select-arrow-right-b)) calc(50% - 1px);background-size:var(--session-select-arrow-size) var(--session-select-arrow-size), var(--session-select-arrow-size) var(--session-select-arrow-size)}.session-campaign-effect-apply-controls>.session-campaign-effect-field{grid-row:1}.session-campaign-effect-apply-controls>.session-campaign-effect-preview,.session-campaign-effect-apply-controls>.session-campaign-effect-submit{grid-row:2}.session-campaign-effect-apply-controls>.session-campaign-effect-preview{grid-column:span 2}.session-campaign-effect-field{min-width:0;display:grid}.session-campaign-effect-apply-inline{margin-top:6px}.session-campaign-effect-preview{align-self:center;align-items:stretch;min-width:0;max-width:100%;display:flex}.session-campaign-effect-submit{width:100%;min-width:0;min-height:var(--session-effect-apply-field-height,var(--session-field-height,48px));height:var(--session-effect-apply-field-height,var(--session-field-height,48px));font-size:var(--app-button-font-size-compact);box-shadow:none;justify-content:center;align-self:center;align-items:center;padding-block:0;display:inline-flex}.session-campaign-effect-preview{min-height:var(--session-effect-apply-field-height,var(--session-field-height,48px))}.session-campaign-effect-preview-chip{width:100%;max-width:100%;min-height:var(--session-effect-apply-field-height,var(--session-field-height,48px));padding-inline:var(--session-field-pad-x,12px);font-size:var(--app-button-font-size-compact);grid-auto-flow:column;justify-content:start;align-items:center;gap:8px;display:inline-grid}.session-campaign-effect-preview-chip strong{font-family:var(--font-pixel);line-clamp:1;-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.session-character-roster-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;display:grid}.session-defense-rule-builder{border:1px solid var(--line-soft);border-radius:var(--pixel-radius);background:var(--surface-card-raised);gap:10px;padding:12px;display:grid;box-shadow:inset 0 1px #ffffff08}.session-defense-rule-row{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,.8fr) auto;align-items:center;gap:10px;display:grid}.session-defense-rule-preview{min-height:var(--session-field-height,48px);padding:0 var(--session-field-pad-x,14px);border:1px solid var(--border);border-radius:var(--pixel-radius);background:var(--surface-card-raised);color:var(--text);font-size:var(--session-field-font-size,.95rem);align-items:center;display:grid}.session-defense-rule-add{justify-self:start}.session-mouse-hint{z-index:70;pointer-events:none;border:1px solid var(--border-strong);border-radius:var(--pixel-radius);background:var(--bg-panel);background-image:var(--panel-pattern), var(--panel-pattern);color:var(--text-bright);font-family:var(--font-pixel);letter-spacing:.12em;text-transform:uppercase;box-shadow:var(--shadow);opacity:0;background-size:16px 16px,16px 16px;padding:6px 10px;font-size:.72rem;animation:.12s forwards session-mouse-hint-in;position:fixed;transform:translateY(4px)}@keyframes session-mouse-hint-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.session-feed-drawer-toggle{z-index:55;width:52px;min-width:52px;height:52px;box-shadow:none;isolation:isolate;border-right:0;border-top-right-radius:0;border-bottom-right-radius:0;place-items:center;transition:right .18s,border-color .18s,background .18s,color .18s;display:grid;position:fixed;bottom:350px;right:0}.session-feed-live-stack{z-index:56;pointer-events:none;justify-items:start;gap:8px;width:min(360px,100vw - 88px);display:grid;position:fixed;bottom:328px;right:14px}.session-feed-live-entry,.session-feed-drawer-entry,.session-feed-drawer-entry-meta{--session-feed-tone-accent:var(--accent-text);--session-feed-tone-border:var(--accent-border-soft);--session-feed-tone-surface-soft:color-mix(in srgb, var(--surface-card) 92%, #12151bfa);--session-feed-tone-surface-strong:color-mix(in srgb, var(--surface-card-raised) 88%, #1c2027fc);--session-feed-tone-badge-surface:color-mix(in srgb, var(--surface-card-hover) 92%, #23272cfc);--session-feed-tone-badge-copy:var(--session-feed-tone-accent);--session-feed-tone-shadow:var(--shadow)}.session-feed-log-roll{--session-feed-tone-accent:var(--state-warning-text-strong);--session-feed-tone-border:var(--state-warning-border);--session-feed-tone-surface-soft:color-mix(in srgb, var(--state-warning-surface-soft) 84%, #201a0efa);--session-feed-tone-surface-strong:color-mix(in srgb, var(--state-warning-surface) 76%, #342910fc);--session-feed-tone-badge-surface:var(--state-warning-surface);--session-feed-tone-badge-copy:var(--state-warning-text-strong)}.session-feed-log-npc{--session-feed-tone-accent:var(--state-danger-text);--session-feed-tone-border:color-mix(in srgb, var(--state-danger-border) 72%, transparent);--session-feed-tone-surface-soft:color-mix(in srgb, var(--state-danger-surface-soft) 82%, #241214fa);--session-feed-tone-surface-strong:color-mix(in srgb, var(--state-danger-surface) 72%, #3a181cfc);--session-feed-tone-badge-surface:var(--state-danger-surface);--session-feed-tone-badge-copy:var(--state-danger-text)}.session-feed-log-inventory{--session-feed-tone-accent:var(--state-info-text);--session-feed-tone-border:var(--state-info-border);--session-feed-tone-surface-soft:color-mix(in srgb, var(--state-info-surface-soft) 82%, #101c24fa);--session-feed-tone-surface-strong:color-mix(in srgb, var(--state-info-surface) 72%, #142d3afc);--session-feed-tone-badge-surface:var(--state-info-surface);--session-feed-tone-badge-copy:var(--state-info-text)}.session-feed-log-use,.session-feed-log-damage{--session-feed-tone-accent:var(--state-orange-text);--session-feed-tone-border:var(--state-orange-border);--session-feed-tone-surface-soft:color-mix(in srgb, var(--state-orange-surface-soft) 82%, #271810fa);--session-feed-tone-surface-strong:color-mix(in srgb, var(--state-orange-surface) 74%, #3f2214fc);--session-feed-tone-badge-surface:var(--state-orange-surface);--session-feed-tone-badge-copy:var(--state-orange-text)}.session-feed-log-effect{--session-feed-tone-accent:var(--state-arcane-text);--session-feed-tone-border:var(--state-arcane-border);--session-feed-tone-surface-soft:color-mix(in srgb, var(--state-arcane-surface-soft) 84%, #1c1428fa);--session-feed-tone-surface-strong:color-mix(in srgb, var(--state-arcane-surface) 74%, #2f1e44fc);--session-feed-tone-badge-surface:var(--state-arcane-surface);--session-feed-tone-badge-copy:var(--state-arcane-text)}.session-feed-log-system{--session-feed-tone-accent:var(--accent-text);--session-feed-tone-border:var(--accent-border-medium);--session-feed-tone-surface-soft:color-mix(in srgb, var(--accent-surface) 68%, #181b20fc);--session-feed-tone-surface-strong:color-mix(in srgb, var(--accent-surface) 88%, #262a30fe);--session-feed-tone-badge-surface:color-mix(in srgb, var(--accent-surface) 78%, #2e333afc);--session-feed-tone-badge-copy:var(--accent-text)}.session-feed-log-hit{--session-feed-tone-accent:var(--state-success-text-soft);--session-feed-tone-border:var(--state-success-border);--session-feed-tone-surface-soft:color-mix(in srgb, var(--state-success-surface-soft) 82%, #122218fa);--session-feed-tone-surface-strong:color-mix(in srgb, var(--state-success-surface) 72%, #193724fc);--session-feed-tone-badge-surface:var(--state-success-surface);--session-feed-tone-badge-copy:var(--state-success-text-soft)}.session-feed-log-miss{--session-feed-tone-accent:var(--state-danger-text-soft);--session-feed-tone-border:var(--state-danger-border);--session-feed-tone-surface-soft:color-mix(in srgb, var(--state-danger-surface-soft) 82%, #261214fa);--session-feed-tone-surface-strong:color-mix(in srgb, var(--state-danger-surface) 74%, #3b191dfc);--session-feed-tone-badge-surface:var(--state-danger-surface);--session-feed-tone-badge-copy:var(--state-danger-text-soft)}.session-feed-log-save{--session-feed-tone-accent:var(--state-info-text-strong);--session-feed-tone-border:var(--state-info-border);--session-feed-tone-surface-soft:color-mix(in srgb, var(--state-info-surface-soft) 82%, #101c24fa);--session-feed-tone-surface-strong:color-mix(in srgb, var(--state-info-surface) 74%, #142d3afc);--session-feed-tone-badge-surface:var(--state-info-surface);--session-feed-tone-badge-copy:var(--state-info-text-strong)}.session-feed-live-entry{width:100%;box-shadow:none;opacity:1;background:0 0;border:0;border-radius:0;padding:2px 0;transition:opacity 1s,transform 1s;display:block;position:relative;overflow:hidden;transform:translateY(0)}.session-feed-live-entry.is-exiting{opacity:0;transform:translateY(-4px)}.session-feed-live-entry:before{content:none}.session-feed-live-entry p{font-family:var(--font-heading);text-align:left;color:var(--text-bright);text-shadow:-1px -1px #000000f2,1px -1px #000000f2,-1px 1px #000000f2,1px 1px #000000f2,0 2px 8px #000000a6;margin:0;font-size:.96rem;font-weight:700;line-height:1.35}.session-feed-live-entry-meta{color:var(--session-feed-tone-accent);margin-right:6px}.session-feed-live-entry-meta:after{content:":"}.session-feed-live-entry-body{color:var(--text-bright)}.session-feed-live-entry-timer{display:none}.session-feed-live-entry-timer:after{content:"";background:linear-gradient(90deg, color-mix(in srgb, var(--session-feed-tone-accent) 85%, white 15%), var(--session-feed-tone-accent));transform-origin:0;width:100%;height:100%;animation:5s linear forwards session-feed-live-entry-timer;display:block}@keyframes session-feed-live-entry-timer{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.session-feed-drawer-toggle:before{content:"";border-radius:inherit;box-shadow:-8px 0 18px var(--shadow-medium);z-index:-1;pointer-events:none;position:absolute;inset:0}.session-feed-drawer-toggle.is-open{border-color:var(--border-strong);opacity:0;pointer-events:none;right:calc(45px + min(760px,100vw - 70px))}.session-feed-drawer{left:auto;right:max(24px, env(safe-area-inset-right,0px));top:116px;bottom:calc(42px + env(safe-area-inset-bottom,0px));border:1px solid var(--accent-border-strong);background:var(--panel-pattern), color-mix(in srgb, var(--bg-panel) 86%, transparent);width:min(50vw,100vw - 96px);height:auto;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(6px);opacity:0;pointer-events:none;z-index:54;background-position:0 0,0 0;background-size:16px 16px,16px 16px;border-radius:12px 12px 0 0;grid-template-rows:auto minmax(0,1fr);gap:14px;padding:18px;transition:transform .18s,opacity .18s;display:grid;position:fixed;transform:translateY(calc(100% + 48px))}.session-feed-drawer-toggle,.session-feed-drawer-toggle.neutral-action,.session-feed-drawer-toggle.neutral-action.button-reset{background:var(--bg-panel)}.session-feed-drawer-toggle .session-inline-icon{width:18px;height:18px}.session-feed-drawer-toggle:disabled,.session-feed-drawer-toggle:disabled.neutral-action,.session-feed-drawer-toggle:disabled.neutral-action.button-reset{cursor:not-allowed;opacity:.46;border-color:color-mix(in srgb, var(--border-strong) 78%, transparent);color:color-mix(in srgb, var(--text-muted) 88%, white 12%);background:color-mix(in srgb, var(--bg-panel) 86%, black 14%);box-shadow:none}.session-feed-drawer-toggle:disabled:before{opacity:.18}.session-feed-drawer.is-open{opacity:1;pointer-events:auto;transform:translateY(0)}.session-feed-drawer-header{min-height:0}.session-feed-drawer-toolbar{justify-content:space-between;align-items:center;gap:12px;display:flex;position:static}.session-feed-drawer-tabs{z-index:2;pointer-events:auto;grid-template-columns:repeat(2,minmax(0,auto));gap:6px;width:auto;display:grid;position:static}.session-feed-drawer-tabs>.button-reset{border-radius:var(--pixel-radius);writing-mode:horizontal-tb;text-orientation:mixed;width:auto;min-width:142px;min-height:38px;letter-spacing:var(--app-button-letter-spacing);box-shadow:var(--button-shadow);padding:0 16px;line-height:1.1;transform:none}.session-feed-drawer-filters{flex-wrap:nowrap;gap:10px;margin-right:auto;display:flex}.session-feed-drawer-current-chat{align-content:center;gap:4px;min-width:0;min-height:38px;padding-right:48px;display:grid}.session-feed-drawer-current-chat span{color:var(--accent-text-soft);font-family:var(--font-pixel);letter-spacing:var(--app-button-letter-spacing-compact);text-transform:uppercase;font-size:.58rem;line-height:1}.session-feed-drawer-current-chat strong{min-width:0;color:var(--text-bright);font-family:var(--font-heading);letter-spacing:.08em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:1rem;line-height:1.15;overflow:hidden}.session-feed-drawer-icon-toggle{place-items:center;width:40px;min-width:40px;height:40px;padding:0;display:grid}.session-feed-drawer-mobile-close{z-index:3;place-items:center;width:36px;min-width:36px;height:36px;min-height:36px;padding:0;display:grid;position:absolute;top:12px;right:12px}.session-feed-drawer-mobile-close .session-inline-icon{width:15px;height:15px}.session-feed-drawer-body{isolation:isolate;background:0 0;grid-template-rows:auto minmax(0,1fr);gap:14px;min-width:0;min-height:0;display:grid;overflow:visible}.session-feed-drawer-message-layout{background:0 0;grid-template-rows:minmax(0,1fr) auto;gap:12px;min-height:0;display:grid;position:relative;overflow:visible}.session-feed-drawer-message-rail{--session-feed-thread-button-size:38px;z-index:5;border:1px solid var(--accent-border);border-right-color:var(--bg-panel);background:linear-gradient(180deg, #ffffff06, transparent), var(--bg-panel);border-radius:10px 0 0 10px;grid-template-rows:auto minmax(0,1fr) auto;align-content:stretch;justify-items:start;gap:8px;width:48px;min-height:0;max-height:100%;padding:6px;display:grid;position:absolute;top:0;left:-66px;overflow:visible;box-shadow:-10px 10px 24px #00000047,inset 1px 1px #ffffff09}.session-feed-drawer-thread-fixed,.session-feed-drawer-thread-add{width:var(--session-feed-thread-button-size);justify-items:start;gap:8px;min-width:0;display:grid}.session-feed-drawer-thread-add{padding-top:10px;position:relative}.session-feed-drawer-thread-add:before{content:"";width:var(--session-feed-thread-button-size);background:var(--line-subtle);height:1px;position:absolute;top:1px;left:0}.session-feed-drawer-thread-scroll{scrollbar-width:thin;scrollbar-color:var(--accent-border-medium) transparent;width:min(220px,50vw - 28px);min-height:0;margin-top:2px;padding-top:8px;padding-bottom:18px;padding-right:30px;position:relative;overflow:visible auto}.session-feed-drawer-thread-scroll:before{content:"";width:var(--session-feed-thread-button-size);background:var(--line-subtle);height:1px;position:absolute;top:0;left:0}.session-feed-drawer-thread-scroll::-webkit-scrollbar{width:4px}.session-feed-drawer-thread-scroll::-webkit-scrollbar-track{background:0 0}.session-feed-drawer-thread-scroll::-webkit-scrollbar-thumb{background:var(--accent-border-medium);border-radius:999px}.session-feed-drawer-thread-contacts{width:var(--session-feed-thread-button-size);justify-items:start;gap:8px;min-width:0;display:grid}.session-feed-drawer-thread-button{width:var(--session-feed-thread-button-size);min-width:var(--session-feed-thread-button-size);height:var(--session-feed-thread-button-size);min-height:var(--session-feed-thread-button-size);border:1px solid color-mix(in srgb, var(--line-soft) 80%, transparent);background:color-mix(in srgb, var(--surface-card) 78%, transparent);color:var(--accent-soft);border-radius:7px;justify-self:start;align-items:center;gap:10px;padding:0 10px;transition:width .14s,border-color .14s,background-color .14s,color .14s;display:flex;position:relative;overflow:visible;box-shadow:inset 0 1px #ffffff09}.session-feed-drawer-thread-button:hover,.session-feed-drawer-thread-button:focus-visible{z-index:8;border-color:var(--accent-border-medium);background:var(--accent-surface);width:min(178px,50vw - 48px);color:var(--text-bright);outline:none;box-shadow:0 12px 24px #00000057,0 0 0 1px #7fe3da14,inset 0 1px #ffffff0e}.session-feed-drawer-thread-button.is-active{border-color:var(--accent-border-medium);background:var(--accent-surface);color:var(--text-bright);outline:none}.session-feed-drawer-thread-button .session-inline-icon{flex:none;width:15px;height:15px}.session-feed-drawer-thread-plus{width:15px;color:inherit;font-family:var(--font-pixel);text-align:center;flex:none;font-size:1rem;line-height:1}.session-feed-drawer-thread-avatar{border:1px solid color-mix(in srgb, var(--accent-border-medium) 70%, transparent);object-fit:cover;background:var(--surface-card-raised);border-radius:5px;flex:none;width:20px;height:20px;margin-left:-1px;box-shadow:inset 0 0 0 1px #ffffff0a}.session-feed-drawer-thread-label{min-width:0;max-width:0;color:inherit;font-family:var(--font-pixel);letter-spacing:var(--app-button-letter-spacing-compact);opacity:0;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:.62rem;line-height:1;transition:opacity .12s,transform .12s;overflow:hidden;transform:translate(-4px)}.session-feed-drawer-thread-button:hover .session-feed-drawer-thread-label,.session-feed-drawer-thread-button:focus-visible .session-feed-drawer-thread-label{opacity:1;max-width:118px;transform:translate(0)}.session-feed-drawer-new-chat{grid-template-columns:var(--session-feed-thread-button-size) minmax(124px, 1fr) auto;width:min(232px,50vw - 32px);min-height:var(--session-feed-thread-button-size);border:1px solid var(--accent-border-medium);background:var(--accent-surface);color:var(--text-bright);border-radius:7px;align-items:center;gap:8px;padding:0 8px 0 0;display:grid;overflow:hidden;box-shadow:0 12px 24px #00000057,0 0 0 1px #7fe3da14,inset 0 1px #ffffff0e}.session-feed-drawer-new-chat-icon{width:var(--session-feed-thread-button-size);height:var(--session-feed-thread-button-size);color:var(--accent-soft);font-family:var(--font-pixel);place-items:center;font-size:1rem;line-height:1;display:grid}.session-feed-drawer-new-chat-select{border:1px solid var(--line-soft);background:color-mix(in srgb, var(--surface-card) 88%, black 12%);width:100%;min-width:0;height:28px;color:var(--text-bright);font-family:var(--font-pixel);letter-spacing:var(--app-button-letter-spacing-compact);text-transform:uppercase;border-radius:5px;font-size:.58rem}.session-feed-drawer-new-chat-confirm{border:1px solid var(--accent-border-medium);background:color-mix(in srgb, var(--accent-surface-selected) 78%, black 22%);min-width:38px;min-height:28px;color:var(--text-bright);font-family:var(--font-pixel);letter-spacing:var(--app-button-letter-spacing-compact);border-radius:5px;padding:0 8px;font-size:.58rem}.session-feed-drawer-message-layout .session-feed-drawer-scroll-shell{grid-row:1}.session-feed-drawer-message-layout .session-feed-drawer-composer{grid-row:2}.session-feed-drawer-separator{background:linear-gradient(90deg, var(--accent-border-ghost), var(--accent-border-faint) 10%, var(--accent-border-medium) 50%, var(--accent-border-faint) 90%, var(--accent-border-ghost));width:100%;height:1px;box-shadow:0 0 12px var(--accent-border-faint), 0 1px 0 #fff1d705}.session-feed-drawer-scroll{background:color-mix(in srgb, var(--bg-panel) 86%, transparent);border:1px solid var(--accent-border);-webkit-backdrop-filter:blur(4px);scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track-soft);border-radius:10px;align-content:start;gap:10px;height:100%;min-height:0;padding:24px 14px 18px;display:grid;position:relative;overflow-y:auto}.session-feed-drawer-scroll-shell{border:1px solid var(--accent-border);background:color-mix(in srgb, var(--bg-panel) 86%, transparent);-webkit-backdrop-filter:blur(4px);border-radius:10px;height:100%;min-height:0;position:relative;overflow:hidden}.session-feed-drawer-composer{border:1px solid var(--accent-border);background:color-mix(in srgb, var(--bg-panel) 86%, transparent);-webkit-backdrop-filter:blur(4px);border-radius:10px;gap:10px;padding:14px;display:grid}.session-feed-drawer-composer-row{grid-template-columns:180px minmax(0,1fr) auto;align-items:end;gap:12px;display:grid}.session-feed-drawer-message-layout .session-feed-drawer-composer-row{grid-template-columns:minmax(0,1fr) auto}.session-feed-drawer-composer-input{min-width:0}.session-feed-drawer-composer-message-wrapper .session-feed-drawer-composer-message-input{padding-right:78px}.session-feed-drawer-character-counter{color:var(--text-muted);font-family:var(--font-pixel);letter-spacing:.08em;pointer-events:none;font-size:.58rem;line-height:1;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.session-feed-drawer-composer .button-reset,.session-feed-drawer-composer .primary-action{min-width:120px}@media (width<=900px){.session-feed-drawer-composer-row{grid-template-columns:1fr}.session-feed-drawer-composer .button-reset,.session-feed-drawer-composer .primary-action{width:100%}}.session-feed-drawer-scroll::-webkit-scrollbar{width:10px}.session-feed-drawer-scroll::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:999px}.session-feed-drawer-scroll::-webkit-scrollbar-thumb{background:linear-gradient(180deg, var(--scrollbar-thumb-soft), var(--scrollbar-thumb));border:2px solid var(--scrollbar-track);border-radius:999px}.session-feed-drawer-scroll::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg, var(--scrollbar-thumb), var(--scrollbar-thumb-hover))}.session-feed-drawer-body-fade-top,.session-feed-drawer-body-fade-bottom{pointer-events:none;z-index:3;height:24px;position:absolute;left:1px;right:14px}.session-feed-drawer-body-fade-top{background:linear-gradient(180deg, var(--surface-solid), var(--surface-solid) 20%, #23272cd1 44%, var(--surface-solid-fade));top:1px}.session-feed-drawer-body-fade-bottom{background:linear-gradient(180deg, var(--surface-solid-fade), #23272ce6 58%, var(--surface-solid) 82%, var(--surface-solid));bottom:1px}.session-feed-drawer-entry{border:1px solid var(--session-feed-tone-border);border-radius:var(--pixel-radius);background-color:var(--session-feed-tone-surface-soft);background-image:linear-gradient(180deg, color-mix(in srgb, var(--session-feed-tone-surface-strong) 92%, #282c33fc), var(--session-feed-tone-surface-soft));width:min(90%,640px);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--session-feed-tone-border) 18%, transparent);gap:6px;padding:12px;display:grid}.session-feed-drawer-entry[class*=session-feed-log-]{width:100%;box-shadow:none;color:var(--text-bright);background:0 0;border:0;border-radius:0;align-items:baseline;gap:6px;padding:2px 0;font-weight:700;display:flex}.session-feed-drawer-entry-own{justify-self:end}.session-feed-drawer-entry-other{justify-self:start;margin-left:10px}.session-feed-drawer-entry[class*=session-feed-log-].session-feed-drawer-entry-own,.session-feed-drawer-entry[class*=session-feed-log-].session-feed-drawer-entry-other{justify-self:stretch;margin-left:0}.session-feed-drawer-entry-own:not([class*=session-feed-log-]){--session-feed-tone-border:var(--accent-border-soft);--session-feed-tone-surface-soft:color-mix(in srgb, var(--accent-surface-soft) 62%, var(--surface-card));--session-feed-tone-surface-strong:color-mix(in srgb, var(--accent-surface-selected) 48%, var(--surface-card-raised))}.session-feed-drawer-entry-other:not([class*=session-feed-log-]){--session-feed-tone-border:var(--line-soft);--session-feed-tone-surface-soft:color-mix(in srgb, var(--surface-card) 96%, #13161cfc);--session-feed-tone-surface-strong:color-mix(in srgb, var(--surface-card-raised) 88%, #1e2228fc)}.session-feed-drawer-entry strong{color:var(--text-bright);font-size:.92rem}.session-feed-drawer-message-entry{padding-bottom:22px;position:relative}.session-feed-drawer-message-entry strong{font-family:var(--font-pixel);letter-spacing:var(--app-button-letter-spacing-compact);text-transform:uppercase;font-size:.72rem;line-height:1.15}.session-feed-drawer-entry p{color:var(--text);margin:0;line-height:1.45}.session-feed-drawer-entry[class*=session-feed-log-] p{color:var(--text-bright);font-weight:700}.session-feed-drawer-message-entry p{padding-right:92px}.session-feed-drawer-message-time{color:var(--text-muted);white-space:nowrap;font-size:.64rem;line-height:1;position:absolute;bottom:8px;right:10px}.session-feed-drawer-entry-meta{width:fit-content;font-family:var(--font-pixel);letter-spacing:.12em;text-transform:uppercase;background:var(--session-feed-tone-badge-surface);color:var(--session-feed-tone-badge-copy);border:1px solid #0000;border-color:var(--session-feed-tone-border);border-radius:6px;padding:4px 8px;font-size:.64rem;line-height:1}.session-feed-drawer-entry[class*=session-feed-log-] .session-feed-drawer-entry-meta{color:var(--session-feed-tone-accent);font-family:var(--font-heading);letter-spacing:0;text-transform:none;background:0 0;border:0;border-radius:0;flex:none;padding:0;font-size:.86rem;font-weight:700;line-height:1.35}.session-feed-drawer-entry[class*=session-feed-log-] .session-feed-drawer-entry-meta:after{content:":"}.session-bottom-hud-effects{flex-wrap:wrap;justify-content:center;gap:6px;width:100%;margin-top:2px;display:flex;overflow:visible}.session-bottom-hud-effect-chip{border:1px solid var(--border);background:var(--surface-card);border-radius:6px;flex:0 0 24px;place-items:center;width:24px;height:24px;display:grid;position:relative}.session-bottom-hud-effect-icon{width:11px;height:11px}.session-bottom-hud-effect-count{min-width:12px;height:12px;color:var(--text-bright);font-family:var(--font-pixel);background:#0f131aeb;border:1px solid #fff1d729;border-radius:999px;justify-content:center;align-items:center;padding:0 2px;font-size:.45rem;line-height:1;display:inline-flex;position:absolute;bottom:-3px;right:-3px;box-shadow:0 0 0 1px #00000029}.session-bottom-master-controls,.session-bottom-hud-links{gap:12px;display:grid}.session-bottom-hud-links>.secondary-action,.session-bottom-hud-links>.neutral-action,.session-bottom-hud-links>.primary-action,.session-bottom-hud-links>.button-reset{width:100%}.session-floating-item-card{z-index:60;position:fixed;bottom:28px;right:28px}.session-floating-item-card-inline{position:absolute;bottom:calc(100% + 12px);left:50%;right:auto;transform:translate(-50%)translateY(0)}.session-item-action-card{border:1px solid var(--border-strong);border-radius:var(--pixel-radius);background:var(--panel-pattern), color-mix(in srgb, var(--bg-panel) 86%, transparent);width:440px;max-height:none;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(6px);opacity:0;visibility:hidden;pointer-events:none;background-position:0 0,0 0;background-size:16px 16px,16px 16px;align-content:start;gap:14px;padding:16px;transition:opacity .22s,transform .22s,visibility .22s;display:grid;overflow:visible}.session-floating-item-card.session-item-action-card{transform-origin:bottom;will-change:opacity, transform, scale;transition:opacity .22s,transform .26s,scale .34s cubic-bezier(.16,.9,.18,1),visibility .22s;scale:.72}.session-item-action-card.is-visible{opacity:1;visibility:visible;pointer-events:auto}.session-floating-item-card.session-item-action-card.is-visible{scale:1}.session-item-action-card.is-closing{opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%)translateY(8px)}.session-floating-item-card.session-item-action-card.is-closing{scale:.94}.session-item-action-card>strong{color:var(--text-bright);font-family:var(--font-pixel);letter-spacing:.08em;text-transform:uppercase;z-index:1;margin:0;font-size:1rem;position:relative}.session-item-action-card>p{z-index:1;margin:0;line-height:1.5;position:relative}.session-action-roll-preview-backdrop{z-index:82;pointer-events:none;overscroll-behavior:contain;place-items:center;display:grid;position:fixed;inset:0}.session-action-roll-preview{border:1px solid var(--border-strong);background:var(--panel-pattern), color-mix(in srgb, var(--bg-panel) 86%, transparent);width:min(480px,100vw - 32px);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(6px);pointer-events:auto;background-position:0 0,0 0;background-size:16px 16px,16px 16px;border-radius:12px;gap:12px;padding:18px;display:grid}.session-action-roll-preview-copy{gap:6px;display:grid}.session-action-roll-preview-copy>strong{color:var(--text-bright);font-size:1.2rem}.session-action-roll-preview-copy>span:last-child{color:var(--muted)}.session-action-roll-preview .dice-tray-shell{min-height:220px}.session-action-roll-preview-result{border:1px solid var(--accent-border);background:var(--surface-card-raised);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.session-action-roll-preview-result>span{color:var(--muted)}.session-action-roll-preview-result>strong{color:var(--text-bright);font-size:1.35rem}.session-table-roll-overlay{z-index:5;--session-table-roll-safe-top:clamp(128px, 16vh, 188px);--session-table-roll-safe-bottom:clamp(292px, 30vh, 372px);--session-table-roll-safe-side:clamp(20px, 3vw, 44px);box-shadow:none;pointer-events:none;opacity:0;visibility:hidden;background:0 0;border:none;border-radius:0;padding:0;transition:opacity .18s;display:block;position:absolute;inset:0}.session-table-roll-overlay.is-active{opacity:1;visibility:visible}.session-table-roll-overlay-copy{text-align:center;text-shadow:0 0 12px #000000b8,0 3px 10px #000000d1;justify-items:center;gap:4px;display:grid;position:absolute;top:24px;left:50%;transform:translate(-50%)}.session-table-roll-overlay-copy>span{color:var(--text-gold)}.session-table-roll-overlay-copy>strong{color:var(--text-bright);font-size:1.1rem}.session-table-roll-overlay-copy>small{color:color-mix(in srgb, var(--text-muted) 88%, white 12%);letter-spacing:.08em;text-transform:uppercase;font-size:.82rem}.session-table-roll-overlay-copy-inline{border:1px solid var(--accent-border-soft);background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 18%, #141820f0), #0c0f15f7), radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--accent) 22%, transparent), transparent 62%);min-width:220px;box-shadow:0 12px 24px #00000057, inset 0 1px 0 #ffffff14, inset 0 0 0 1px color-mix(in srgb, var(--accent) 20%, transparent);text-align:center;pointer-events:none;opacity:0;visibility:hidden;border-radius:18px;justify-items:center;gap:4px;margin-top:0;padding:14px 24px 16px;transition:opacity .22s,visibility .22s,transform .22s;display:grid;position:relative;top:auto;left:auto;transform:translateY(42%)}.session-table-roll-overlay-copy-inline>.session-table-roll-overlay-copy-eyebrow{color:color-mix(in srgb, var(--accent) 56%, white 44%);font-family:var(--font-pixel);letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;font-weight:700}.session-table-roll-overlay-copy-inline>strong{color:var(--text-bright);font-family:var(--font-pixel);letter-spacing:.08em;text-transform:uppercase;font-size:1.1rem;line-height:1.2}.session-table-roll-overlay-copy-inline>small{color:color-mix(in srgb, var(--text-muted) 64%, white 36%);letter-spacing:.12em;text-transform:uppercase;font-size:.76rem}.session-table-roll-overlay-copy-formula{color:color-mix(in srgb, var(--accent) 42%, var(--text-soft) 58%);font-family:var(--font-pixel);letter-spacing:.1em;margin-top:4px;font-size:.78rem;font-weight:700;line-height:1.35}.session-hud-header-mode-slot.has-roll-overlay .session-table-map-mode-card{opacity:0;visibility:hidden;transform:translateY(56%)}.session-hud-header-mode-slot.has-roll-overlay .session-table-roll-overlay-copy-inline{opacity:1;visibility:visible;transform:translateY(36%)}.session-table-roll-overlay-tray{top:var(--session-table-roll-safe-top);width:min(1280px, calc(100% - (var(--session-table-roll-safe-side) * 2)));left:50%;bottom:var(--session-table-roll-safe-bottom);min-width:min(320px, calc(100% - (var(--session-table-roll-safe-side) * 2)));background:0 0;min-height:0;position:absolute;overflow:visible;transform:translate(-50%)}.session-table-roll-overlay .dice-tray-shell{width:100%;height:100%;min-height:100%;box-shadow:none;background:0 0;border:none;border-radius:0;overflow:visible}.session-table-roll-overlay .dice-tray-stage{background:0 0;height:100%}.session-table-roll-overlay .dice-tray-stage canvas,.session-table-roll-overlay .threejs-dice-roll-stage canvas{filter:drop-shadow(0 4px 4px #00000057)drop-shadow(0 14px 12px #00000052)drop-shadow(0 28px 22px #00000038)}.session-table-roll-overlay .threejs-dice-roll-stage canvas{transform-origin:50%;transform:translateZ(0)scale(.88)}.session-table-roll-overlay-static{transform-origin:50%;flex-wrap:wrap;justify-content:center;align-items:center;gap:18px;width:100%;height:100%;padding:32px;display:flex;transform:scale(.9)}.session-table-roll-overlay-static.is-rolling .session-table-roll-overlay-static-die{animation:90ms steps(2,end) session-table-roll-overlay-remote-die}.session-table-roll-overlay-static-die{color:#f5f6f8;letter-spacing:.08em;min-width:72px;min-height:72px;text-shadow:var(--pixel-text-shadow);background:linear-gradient(#ffffff1a,#ffffff0a),#0e1118b8;border:1px solid #ffffff2e;border-radius:18px;place-items:center;padding:12px;font-family:Silkscreen,sans-serif;font-size:clamp(1.3rem,2vw,2rem);display:grid;box-shadow:0 20px 48px #00000047,inset 0 1px #ffffff14}@keyframes session-table-roll-overlay-remote-die{0%{opacity:.72;transform:translateY(0)scale(.94)rotate(-6deg)}50%{opacity:1;transform:translateY(-8px)scale(1.06)rotate(4deg)}to{opacity:1;transform:translateY(0)scale(1)rotate(0)}}@media (width<=1200px){.session-table-roll-overlay{--session-table-roll-safe-top:clamp(120px, 15vh, 168px);--session-table-roll-safe-bottom:clamp(284px, 31vh, 344px);--session-table-roll-safe-side:clamp(16px, 2.4vw, 28px)}.session-table-roll-overlay-tray{width:min(1080px, calc(100% - (var(--session-table-roll-safe-side) * 2)))}}@media (width<=900px){.session-table-roll-overlay{--session-table-roll-safe-top:clamp(112px, 14vh, 144px);--session-table-roll-safe-bottom:clamp(276px, 35vh, 324px);--session-table-roll-safe-side:12px}.session-table-roll-overlay-tray{width:calc(100% - (var(--session-table-roll-safe-side) * 2))}}.session-table-roll-overlay .dice-tray-stage canvas{background:0 0!important}.session-table-roll-overlay .dice-tray-overlay{background:var(--surface-well-heavy);inset:auto 50% 0 auto;transform:translate(50%)}.session-table-roll-overlay-center-result{border:1px solid var(--accent-border-strong);background:linear-gradient(180deg, #586270e0, #343b46eb), linear-gradient(0deg, var(--line-hairline), var(--line-hairline));min-width:148px;min-height:148px;box-shadow:0 22px 40px var(--shadow-heavy), inset 0 1px 0 #ffffff1f, inset 0 0 0 1px #ffd6a70f;text-shadow:0 0 16px #000000c2,0 4px 12px #000000d1;border-radius:18px;place-items:center;gap:8px;padding:20px 26px;display:grid;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.session-table-roll-overlay-center-result:before{content:"";background:linear-gradient(var(--line-hairline) 1px, transparent 1px), linear-gradient(90deg, var(--line-hairline) 1px, transparent 1px);opacity:.35;pointer-events:none;background-size:18px 18px;position:absolute;inset:0}.session-table-roll-overlay-center-result:after{content:"";pointer-events:none;border:1px solid #ffe8c61f;border-radius:12px;position:absolute;inset:10px;box-shadow:0 0 18px #f5bf7814}.session-table-roll-overlay-center-result.is-visible{animation:.22s ease-out session-table-roll-overlay-center-pop}.session-table-roll-overlay-center-result-success{background:linear-gradient(180deg, #24623ae6, #183824f0), linear-gradient(0deg, var(--line-hairline), var(--line-hairline));border-color:#51a35fb8;box-shadow:0 22px 44px #51a35f29,inset 0 1px #d6ffd71f,inset 0 0 0 1px #9bdd8d1a}.session-table-roll-overlay-center-result-fail{background:linear-gradient(180deg, #662a2ae6, #341818f0), linear-gradient(0deg, var(--line-hairline), var(--line-hairline));border-color:#ad4c4cb8;box-shadow:0 22px 44px #ad4c4c29,inset 0 1px #ffc4c41a,inset 0 0 0 1px #ff9b9b14}.session-table-roll-overlay-center-result-critical-success{background:linear-gradient(180deg, #785f22e6, #423416f0), linear-gradient(0deg, var(--line-hairline), var(--line-hairline));border-color:#d4b04ab8;box-shadow:0 22px 48px #d4b04a2e,inset 0 1px #fff4c238,inset 0 0 0 1px #ffdd8529}.session-table-roll-overlay-center-result-critical-success.is-visible{animation:.22s ease-out session-table-roll-overlay-center-pop,1.1s ease-out session-table-roll-overlay-center-critical-success}.session-table-roll-overlay-center-result-critical-fail{background:linear-gradient(180deg, #702626e6, #3a1414f0), linear-gradient(0deg, var(--line-hairline), var(--line-hairline));border-color:#ad4c4cc7;box-shadow:0 22px 48px #ad4c4c38,inset 0 1px #ffc4c424,inset 0 0 0 1px #ff9b9b1f}.session-table-roll-overlay-center-result-critical-fail.is-visible{animation:.22s ease-out session-table-roll-overlay-center-pop,.64s ease-out session-table-roll-overlay-center-critical-fail}.session-table-roll-overlay-center-result-list{flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;width:min(860px,100% - 48px);display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.session-table-roll-overlay-center-result-list.is-visible{animation:.22s ease-out session-table-roll-overlay-center-list-pop}.session-table-roll-overlay-center-result-list .session-table-roll-overlay-center-result{min-width:128px;min-height:128px;padding:18px 22px;position:relative;top:auto;left:auto;transform:none}.session-table-roll-overlay-center-result>span{z-index:1;color:var(--text-gold);font-family:var(--font-pixel);letter-spacing:.12em;text-transform:uppercase;text-align:center;opacity:.94;font-size:.76rem;position:relative}.session-table-roll-overlay-center-result>strong{z-index:1;color:var(--session-table-roll-result-color,var(--text-bright));filter:drop-shadow(0 0 14px #ffe9c433);font-size:clamp(2.9rem,6vw,4.6rem);font-style:normal;font-weight:700;line-height:1;position:relative;letter-spacing:0!important;text-transform:none!important;font-family:Trebuchet MS,Segoe UI,sans-serif!important}.session-table-roll-overlay-center-result-critical-success>span,.session-table-roll-overlay-center-result-critical-success>small,.session-table-roll-overlay-center-result-critical-success>strong{color:var(--state-warning-text-strong)}.session-table-roll-overlay-center-result-success>span,.session-table-roll-overlay-center-result-success>small,.session-table-roll-overlay-center-result-success>strong{color:var(--state-success-text-soft)}.session-table-roll-overlay-center-result-critical-success>strong{filter:drop-shadow(0 0 18px #ffde7a73)}.session-table-roll-overlay-center-result-critical-fail>span,.session-table-roll-overlay-center-result-critical-fail>small,.session-table-roll-overlay-center-result-critical-fail>strong,.session-table-roll-overlay-center-result-fail>span,.session-table-roll-overlay-center-result-fail>small,.session-table-roll-overlay-center-result-fail>strong{color:var(--state-danger-text-soft)}.session-table-roll-overlay-center-result-critical-fail>strong{filter:drop-shadow(0 0 18px #ff787859)}.session-table-roll-overlay-center-result>small{z-index:1;color:#ffe8c6c7;font-family:var(--font-pixel);letter-spacing:.1em;text-transform:uppercase;font-size:.64rem;position:relative}@keyframes session-table-roll-overlay-center-pop{0%{opacity:0;transform:translate(-50%,-50%)scale(.92)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes session-table-roll-overlay-center-list-pop{0%{opacity:0;transform:translate(-50%,-50%)scale(.96)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes session-table-roll-overlay-center-critical-success{0%{filter:brightness();transform:translate(-50%,-50%)scale(1)}35%{filter:brightness(1.18);transform:translate(-50%,-50%)scale(1.06)}to{filter:brightness();transform:translate(-50%,-50%)scale(1)}}@keyframes session-table-roll-overlay-center-critical-fail{0%{transform:translate(-50%,-50%)translate(0)}20%{transform:translate(-50%,-50%)translate(-8px)}40%{transform:translate(-50%,-50%)translate(8px)}60%{transform:translate(-50%,-50%)translate(-6px)}80%{transform:translate(-50%,-50%)translate(6px)}to{transform:translate(-50%,-50%)translate(0)}}.session-table-rest-announcement{z-index:92;pointer-events:none;background:radial-gradient(circle at center, var(--accent-surface-soft), transparent 34%), #05070a29;-webkit-backdrop-filter:blur(10px)saturate(.94);place-items:center;animation:4.2s forwards session-table-rest-announcement-fade;display:grid;position:fixed;inset:0;overflow:hidden}.session-table-rest-announcement:before,.session-table-rest-announcement:after{content:"";pointer-events:none;position:absolute;inset:0}.session-table-rest-announcement:before{z-index:0;opacity:0;background:radial-gradient(circle at 50% 42%,#0f1e3633,#040814c7 72%),linear-gradient(#040814b8,#0c1226d1);animation:4.2s ease-in-out forwards session-table-rest-night-cycle}.session-table-rest-announcement:after{z-index:1;opacity:0;mix-blend-mode:screen;background:radial-gradient(circle at 50% 105%,#ffd6885c,#0000 42%),linear-gradient(#0000 32%,#ffb1602e,#ffecb014);animation:4.2s ease-in-out forwards session-table-rest-dawn-cycle;transform:translateY(18px)}.session-table-rest-announcement-card{z-index:2;border:1px solid var(--accent-border-strong);isolation:isolate;-webkit-backdrop-filter:blur(30px)saturate(1.12);width:min(520px,100vw - 48px);box-shadow:0 28px 72px #0000007a, inset 0 1px 0 var(--line-soft), 0 0 42px var(--accent-border-faint);text-align:center;border-radius:20px;justify-items:center;gap:10px;padding:28px 34px 30px;animation:.76s cubic-bezier(.2,.9,.2,1) session-table-rest-announcement-card;display:grid;position:relative;overflow:hidden;background:#11161c03!important}.session-table-rest-announcement-card:after{content:"";z-index:0;border-radius:inherit;background:linear-gradient(180deg, #3e4550b8, #1c2027c2), var(--panel-pattern);-webkit-backdrop-filter:blur(30px)saturate(1.12);pointer-events:none;position:absolute;inset:0}.session-table-rest-announcement-card:before{content:"";z-index:1;background:linear-gradient(120deg,#0000 30%,#ffeac124,#0000 60%);animation:2.8s ease-out session-table-rest-announcement-shine;position:absolute;inset:-40%;transform:translate(-34%)rotate(8deg)}.session-table-rest-announcement-card>span,.session-table-rest-announcement-card>.session-inline-icon,.session-table-rest-announcement-card>strong,.session-table-rest-announcement-card>p{z-index:2;position:relative}.session-table-rest-announcement-card>span{color:var(--accent-text);font-family:var(--font-pixel);letter-spacing:.18em;text-transform:uppercase;font-size:.78rem}.session-table-rest-announcement-card>strong{color:var(--text-bright);font-family:var(--font-pixel);letter-spacing:.08em;text-transform:uppercase;text-shadow:0 6px 20px var(--shadow-deep);font-size:clamp(1.7rem,4vw,2.8rem);line-height:1.05}.session-table-rest-announcement-card>.session-inline-icon{color:var(--accent-text);filter:drop-shadow(0 0 18px color-mix(in srgb, var(--accent-border-medium) 60%, transparent));font-size:2rem}.session-table-rest-announcement-card>p{color:var(--accent-text-soft);margin:0;font-size:1.04rem}.session-table-mode-announcement{--session-mode-vignette-color:#6c95ff7a;--session-mode-vignette-core:#6c95ff2e;z-index:92;pointer-events:none;-webkit-backdrop-filter:blur(10px)saturate(.94);background:#05070a14;place-items:center;animation:4.2s forwards session-table-rest-announcement-fade;display:grid;position:fixed;inset:0;overflow:hidden}.session-table-mode-announcement-combat{--session-mode-vignette-color:#d644448f;--session-mode-vignette-core:#d6444433}.session-table-mode-announcement-free{--session-mode-vignette-color:#5484ff85;--session-mode-vignette-core:#5484ff2e}.session-table-mode-announcement:before,.session-table-mode-announcement:after{content:"";pointer-events:none;position:absolute;inset:0}.session-table-mode-announcement:before{z-index:0;background:radial-gradient(circle at center, var(--session-mode-vignette-core), transparent 34%), radial-gradient(ellipse at center, transparent 38%, var(--session-mode-vignette-color) 100%);opacity:0;animation:4.2s forwards session-table-mode-vignette}.session-table-mode-announcement:after{z-index:1;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--session-mode-vignette-color) 42%, transparent), transparent);opacity:0;mix-blend-mode:screen;animation:4.2s forwards session-table-mode-vignette-sweep;transform:translate(-24%)skew(-10deg)}.session-table-mode-announcement-card{--session-mode-announcement-border:#6c95ff6b;--session-mode-announcement-surface-top:#36539aeb;--session-mode-announcement-surface-bottom:#141f3cf5;--session-mode-announcement-glow:#6c95ff38;--session-mode-announcement-copy:#b7cbff;z-index:2;border:1px solid var(--session-mode-announcement-border);isolation:isolate;-webkit-backdrop-filter:blur(30px)saturate(1.12);width:min(520px,100vw - 48px);box-shadow:0 28px 72px #0000007a, inset 0 1px 0 #ffffff0f, 0 0 42px var(--session-mode-announcement-glow);text-align:center;border-radius:20px;justify-items:center;gap:10px;padding:28px 34px 30px;animation:.76s cubic-bezier(.2,.9,.2,1) session-table-rest-announcement-card;display:grid;position:relative;overflow:hidden;background:#11161c03!important}.session-table-mode-announcement-card:after{content:"";z-index:0;border-radius:inherit;background:radial-gradient(circle at top center, color-mix(in srgb, var(--session-mode-announcement-glow) 88%, transparent), transparent 58%), linear-gradient(180deg, var(--session-mode-announcement-surface-top), var(--session-mode-announcement-surface-bottom)), var(--panel-pattern);-webkit-backdrop-filter:blur(30px)saturate(1.12);pointer-events:none;position:absolute;inset:0}.session-table-mode-announcement-card-combat{--session-mode-announcement-border:#d667676b;--session-mode-announcement-surface-top:#782a2af0;--session-mode-announcement-surface-bottom:#311318fa;--session-mode-announcement-glow:#d6676733;--session-mode-announcement-copy:var(--state-danger-text-soft)}.session-table-mode-announcement-card-free{--session-mode-announcement-border:#6c95ff6b;--session-mode-announcement-surface-top:#3858aaeb;--session-mode-announcement-surface-bottom:#141f3cfa;--session-mode-announcement-glow:#6c95ff38;--session-mode-announcement-copy:#b7cbff}.session-table-mode-announcement-card:before{content:"";z-index:1;background:linear-gradient(120deg, transparent 30%, color-mix(in srgb, var(--session-mode-announcement-copy) 18%, transparent), transparent 60%);animation:2.8s ease-out session-table-rest-announcement-shine;position:absolute;inset:-40%;transform:translate(-34%)rotate(8deg)}.session-table-mode-announcement-card>span,.session-table-mode-announcement-card>strong,.session-table-mode-announcement-card>p,.session-table-mode-announcement-card>.session-inline-icon{z-index:2;position:relative}.session-table-mode-announcement-card>span{color:var(--session-mode-announcement-copy);font-family:var(--font-pixel);letter-spacing:.18em;text-transform:uppercase;font-size:.78rem}.session-table-mode-announcement-card>.session-inline-icon{color:var(--session-mode-announcement-copy);filter:drop-shadow(0 0 18px color-mix(in srgb, var(--session-mode-announcement-glow) 90%, transparent));font-size:2rem}.session-table-mode-announcement-card>strong{color:var(--text-bright);font-family:var(--font-pixel);letter-spacing:.08em;text-transform:uppercase;text-shadow:0 6px 20px var(--shadow-deep);font-size:clamp(1.7rem,4vw,2.8rem);line-height:1.05}.session-table-mode-announcement-card>p{color:color-mix(in srgb, var(--session-mode-announcement-copy) 88%, white 12%);margin:0;font-size:1.04rem}.session-table-turn-pass-announcement{z-index:91;pointer-events:none;-webkit-backdrop-filter:blur(8px)saturate(.96);background:#05070a0d;place-items:center;display:grid;position:fixed;inset:0}.session-table-turn-pass-announcement-card{border-radius:calc(var(--pixel-radius) + 4px);border:1px solid var(--accent-border-medium);-webkit-backdrop-filter:blur(30px)saturate(1.12);min-width:280px;box-shadow:0 24px 54px #00000047, 0 0 42px color-mix(in srgb, var(--accent-border-soft) 34%, transparent), inset 0 0 0 1px var(--accent-border-faint);background:#11161c03;justify-items:center;gap:10px;padding:24px 28px 22px;animation:.98s cubic-bezier(.18,.9,.2,1) forwards session-table-turn-pass-announcement-pop;display:grid;position:relative;overflow:hidden}.session-table-turn-pass-announcement-card:after{content:"";z-index:0;border-radius:inherit;background:radial-gradient(circle at center, color-mix(in srgb, var(--accent-surface-selected) 44%, transparent), transparent 62%), linear-gradient(180deg, color-mix(in srgb, var(--accent-surface-soft) 34%, #171a1fb8), #101318c2);-webkit-backdrop-filter:blur(30px)saturate(1.12);pointer-events:none;position:absolute;inset:0}.session-table-turn-pass-announcement-card:before{content:"";z-index:1;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--accent) 34%, transparent), transparent);opacity:.55;filter:blur(28px);animation:.98s ease-out forwards session-table-turn-pass-announcement-shine;position:absolute;inset:-10% -24%}.session-table-turn-pass-announcement-card .session-inline-icon,.session-table-turn-pass-announcement-card strong{z-index:2;position:relative}.session-table-turn-pass-announcement-card .session-inline-icon{color:var(--accent-text);filter:drop-shadow(0 0 10px color-mix(in srgb, var(--accent-border-medium) 60%, transparent));font-size:1.5rem}.session-table-turn-pass-announcement-card strong{color:var(--accent-text);font-family:var(--font-pixel);letter-spacing:.16em;text-transform:uppercase;font-size:1rem}@keyframes session-table-rest-announcement-card{0%{opacity:0;transform:translateY(18px)scale(.94)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes session-table-rest-announcement-shine{0%{transform:translate(-48%)rotate(8deg)}to{transform:translate(46%)rotate(8deg)}}@keyframes session-table-rest-announcement-fade{0%,78%{opacity:1}to{opacity:0}}@keyframes session-table-rest-night-cycle{0%{opacity:0;filter:brightness()saturate()}18%{opacity:.86;filter:brightness(.52)saturate(.78)}56%{opacity:.78;filter:brightness(.46)saturate(.72)}78%{opacity:.22;filter:brightness(.82)saturate(.92)}to{opacity:0;filter:brightness()saturate()}}@keyframes session-table-rest-dawn-cycle{0%,48%{opacity:0;transform:translateY(18px)}70%{opacity:.55;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}@keyframes session-table-mode-vignette{0%{opacity:0;transform:scale(1.08)}16%{opacity:1;transform:scale(1)}68%{opacity:.82;transform:scale(1.02)}to{opacity:0;transform:scale(1.08)}}@keyframes session-table-mode-vignette-sweep{0%{opacity:0;transform:translate(-32%)skew(-10deg)}18%{opacity:.28}58%{opacity:.18}to{opacity:0;transform:translate(32%)skew(-10deg)}}@keyframes session-table-turn-pass-announcement-pop{0%{opacity:0;transform:translateY(14px)scale(.92)}18%{opacity:1;transform:translateY(0)scale(1)}74%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-10px)scale(.98)}}@keyframes session-table-turn-pass-announcement-shine{0%{opacity:0;transform:translate(-20%)scaleX(.86)}22%{opacity:.55}to{opacity:0;transform:translate(20%)scaleX(1.06)}}.session-table-combat-float-layer{z-index:18;pointer-events:none;position:fixed;inset:0}.session-table-combat-float-text{--session-table-combat-float-scale:1;font-family:var(--font-pixel);letter-spacing:.06em;white-space:nowrap;text-align:center;text-shadow:0 0 10px #000000b8,0 2px 8px #000000c7;opacity:1;justify-content:center;align-items:center;gap:6px;font-size:.88rem;line-height:1;animation:1.8s ease-out forwards session-table-combat-float-drop;display:inline-flex;position:fixed;transform:translate(-50%)}.session-table-combat-float-icon{flex:none;width:1em;height:1em}.session-table-combat-float-text.is-exiting{opacity:0}.session-table-combat-float-text-damage{color:#ff8a8a}.session-table-combat-float-text-effect{color:#f4c672}.session-table-combat-float-text-heal{color:#92ea8b}.session-table-combat-float-text-miss{color:var(--state-neutral-text)}@keyframes session-table-combat-float-drop{0%{opacity:0;transform:translate(-50%, -10px) scale(calc(var(--session-table-combat-float-scale) * .92))}15%{opacity:1;transform:translate(-50%, 0) scale(var(--session-table-combat-float-scale))}70%{opacity:1;transform:translate(-50%, 10px) scale(var(--session-table-combat-float-scale))}to{opacity:0;transform:translate(-50%, 22px) scale(calc(var(--session-table-combat-float-scale) * 1.02))}}.session-item-action-card .inline-actions{z-index:1;margin-top:2px;position:relative}.session-item-action-card .inline-actions .button-reset,.session-item-action-card .inline-actions .primary-action,.session-item-action-card .inline-actions .secondary-action,.session-item-action-card .inline-actions .neutral-action{flex:1 1 0;min-width:0}.session-item-profile-list{border:1px solid var(--line-subtle);border-radius:var(--pixel-radius);background:color-mix(in srgb, var(--surface-well) 86%, transparent);z-index:1;-webkit-backdrop-filter:blur(4px);gap:10px;padding:12px;display:grid;position:relative}.session-item-action-card>.inline-actions:not(:empty){border:1px solid var(--line-subtle);border-radius:var(--pixel-radius);background:color-mix(in srgb, var(--surface-well) 86%, transparent);-webkit-backdrop-filter:blur(4px);padding:12px}.session-item-profile-card{border:1px solid var(--line-soft);border-radius:var(--pixel-radius);background:var(--surface-card-raised);text-align:left;gap:6px;width:100%;padding:10px 12px;display:grid;box-shadow:inset 0 1px #ffffff08}.session-item-profile-card.is-selected{border-color:var(--accent-border-medium);background:var(--accent-surface-soft);box-shadow:inset 0 0 0 1px var(--accent-border-faint), inset 0 1px 0 #ffffff0a}.session-item-profile-card strong{color:var(--text-bright)}.session-item-profile-card>span,.session-item-profile-card>p{color:var(--text-soft);line-height:1.45}.session-item-effect-grid{gap:8px;margin-top:4px;display:grid}.session-character-detail-effects{flex-wrap:wrap;gap:8px;margin-top:0;display:flex}.session-item-effect-chip{border-radius:var(--pixel-radius);border:1px solid var(--border);background:var(--surface-card-raised);color:var(--text-bright);grid-template-columns:16px minmax(0,1fr);align-items:center;gap:8px;padding:8px 10px;display:grid;box-shadow:inset 0 0 0 1px #fff1d708}.session-character-detail-effects .session-item-effect-chip{grid-template-columns:14px minmax(0,1fr);align-items:center;gap:6px;width:fit-content;min-width:0;max-width:220px;padding:6px 8px}.session-character-detail-effects-manageable .session-item-effect-chip{grid-template-columns:14px minmax(0,1fr) auto;max-width:100%}.session-character-detail-effects .session-inline-icon{width:12px;height:12px}.session-character-detail-effects .session-item-effect-chip-copy{gap:1px}.session-character-detail-effects .session-item-effect-chip-copy strong{font-size:.78rem}.session-character-detail-effects .session-item-effect-chip-copy span{font-size:.7rem;line-height:1.2}.session-character-detail-effects .session-turn-effect-tooltip-card,.session-character-detail-resistances .session-turn-effect-tooltip-card{width:min(240px,100vw - 48px);left:0;transform:translate(0)}.session-character-detail-effects .session-turn-effect-tooltip:hover .session-turn-effect-tooltip-card,.session-character-detail-effects .session-turn-effect-tooltip:focus-within .session-turn-effect-tooltip-card,.session-character-detail-resistances .session-turn-effect-tooltip:hover .session-turn-effect-tooltip-card,.session-character-detail-resistances .session-turn-effect-tooltip:focus-within .session-turn-effect-tooltip-card{transform:translateY(-4px)}.session-effect-remove-button{min-width:0;font-size:var(--app-button-font-size-compact);box-shadow:none;padding:5px 8px;line-height:1}.session-item-effect-chip-buff{color:#d8f1d4;background:#51a35f1f;border-color:#51a35f52}.session-item-effect-chip-debuff{color:#ffd0d0;background:#ad4c4c1f;border-color:#ad4c4c52}.session-item-effect-chip-control{color:#d6dcff;border-color:var(--state-arcane-border);background:#5e6dc424}.session-item-effect-chip-heal{color:#d6f5e8;background:#4a987a24;border-color:#4a987a57}.session-item-effect-chip-dot{color:#ffd7bf;background:#c4764829;border-color:#c4764857}.session-item-effect-chip-focus{background:var(--state-arcane-surface);color:#cdd6ff;border-color:var(--state-arcane-border)}.session-item-effect-chip-copy{gap:2px;display:grid}.session-item-effect-chip-copy strong{color:inherit;margin:0;font-size:.82rem}.session-item-effect-chip-copy span{color:inherit;font-size:.76rem;line-height:1.35}.session-item-action-card .field{z-index:1;margin:0;position:relative}.session-item-action-card .field span{font-family:var(--font-pixel);letter-spacing:.16em;text-transform:uppercase;color:var(--text-soft);font-size:.76rem}.session-character-detail-card{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;align-items:stretch;gap:12px;width:min(862px,100vw - 32px);max-height:min(82vh,760px);display:grid;overflow-y:auto}.session-character-detail-card-compact{grid-template-columns:repeat(2,minmax(260px,1fr));width:fit-content;min-width:min(640px,100vw - 32px);max-width:min(862px,100vw - 32px);max-height:min(82vh,760px);overflow-y:auto}.session-character-detail-close-button{z-index:3;justify-content:center;align-items:center;width:40px;min-width:40px;height:40px;padding:0;line-height:1;display:none;position:absolute;top:10px;right:10px}.session-character-detail-header{border:1px solid var(--line-faint);border-radius:var(--pixel-radius);background:color-mix(in srgb, var(--surface-well) 86%, transparent);box-shadow:inset 0 0 0 1px var(--shadow-medium);-webkit-backdrop-filter:blur(4px);grid-column:1/-1;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:16px;padding:14px;display:grid}.session-character-detail-copy{gap:10px;min-width:0;display:grid}.session-character-detail-copy>strong,.session-character-detail-copy>p{font-family:var(--font-pixel);margin:0}.session-character-detail-avatar-shell{justify-items:center;gap:8px;display:grid;position:relative}.session-character-detail-avatar-input{display:none}.session-character-detail-avatar-button{background:0 0;border:0;justify-items:center;gap:8px;padding:0;display:grid}.session-character-detail-avatar{border:1px solid var(--border);background:var(--surface-card-strong);width:96px;height:96px;font-family:var(--font-pixel);color:var(--text);border-radius:10px;place-items:center;display:grid;overflow:hidden}.session-character-detail-avatar-button:hover .session-character-detail-avatar,.session-character-detail-avatar-button:focus-visible .session-character-detail-avatar{border-color:var(--line-bright);box-shadow:0 0 0 1px color-mix(in srgb, var(--line-medium) 86%, transparent), 0 10px 22px #00000038}.session-character-detail-avatar-button:focus-visible{outline:none}.session-character-detail-avatar.session-turn-avatar-ally{border-color:var(--state-success-border);color:var(--state-success-text);background:#51a35f33}.session-character-detail-avatar.session-turn-avatar-enemy{border-color:var(--state-danger-border);color:var(--state-danger-text);background:#ad4c4c33}.session-character-detail-avatar.session-turn-avatar-neutral{border-color:var(--state-neutral-border);color:var(--state-neutral-text);background:#a0a0a033}.session-character-detail-avatar img,img.session-character-detail-avatar{object-fit:cover;image-rendering:auto}.session-character-detail-avatar-edit-hint{color:var(--text-soft);font-family:var(--font-pixel);letter-spacing:.08em;text-transform:uppercase;font-size:.68rem}.session-character-detail-stats{flex-wrap:wrap;gap:10px;display:flex}.session-character-detail-stats span{border:1px solid var(--border);border-radius:var(--pixel-radius);background:var(--surface-card-strong);color:var(--text-bright);font-family:var(--font-pixel);padding:6px 10px;font-size:.72rem}.session-character-detail-stats-chip-row{gap:8px}.session-character-detail-stat-ui-chip{flex:none}.session-character-detail-stats-chip-row .session-character-detail-stat-ui-chip span{box-shadow:none;color:inherit;font-family:inherit;font-size:inherit;background:0 0;border:0;border-radius:0;padding:0}.session-character-detail-stat-ui-chip strong{font-family:var(--font-pixel);letter-spacing:.05em;font-size:.74rem;line-height:1}.session-character-detail-stat-ui-chip .ui-chip-content{align-items:center;display:inline-flex}.session-character-detail-stat-ui-chip .app-icon{justify-content:center;align-items:center;line-height:1;display:inline-flex}.session-character-detail-stat-ui-chip-icon{width:14px;height:14px}.session-character-detail-attributes{grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:8px;display:grid}.session-character-detail-attribute{border:1px solid var(--border);border-radius:var(--pixel-radius);background:var(--surface-card-strong);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;min-height:38px;padding:8px 10px;display:grid}.session-character-detail-attribute span{min-width:0;color:var(--text-soft);font-family:var(--font-pixel);letter-spacing:.12em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:.72rem;overflow:hidden}.session-character-detail-attribute strong{color:var(--text-bright);font-size:.9rem}.session-character-detail-attribute small{color:var(--text-muted);font-size:.76rem}.session-character-detail-section{align-content:start;gap:10px;display:grid}.session-character-detail-card>.session-character-detail-section{border:1px solid var(--line-faint);border-radius:var(--pixel-radius);background:color-mix(in srgb, var(--surface-well) 86%, transparent);box-shadow:inset 0 0 0 1px var(--shadow-medium);-webkit-backdrop-filter:blur(4px);padding:14px}.session-character-detail-attributes-section,.session-character-detail-effects-section,.session-character-detail-resistances-section,.session-character-detail-proficiencies-section,.session-character-detail-saving-throws-section{grid-column:1}.session-character-equipment-section{grid-area:2/2/span 4;align-self:start}.session-character-equipment-inventory-section{grid-column:2}.session-character-detail-card-compact .session-character-equipment-section{grid-row:2;align-self:stretch}.session-character-detail-card-compact>.session-character-detail-section{height:100%;min-height:106px}.session-character-detail-card-compact .session-character-detail-effects-section{grid-area:3/1}.session-character-detail-card-compact .session-character-detail-resistances-section{grid-area:3/2}.session-character-detail-card-compact .session-character-detail-proficiencies-section{grid-area:4/1}.session-character-detail-card-compact .session-character-detail-saving-throws-section{grid-area:4/2}.session-character-equipment-slot-readonly{cursor:default}.session-character-detail-resistances{flex-wrap:wrap;gap:8px;display:flex}.session-character-detail-resistance-chip{grid-template-columns:14px minmax(0,1fr);gap:6px;width:fit-content;min-width:0;max-width:220px;padding:6px 8px}.session-character-detail-resistance-chip .session-inline-icon{width:12px;height:12px}.session-character-detail-resistance-chip .session-item-effect-chip-copy{gap:1px}.session-character-detail-resistance-chip .session-item-effect-chip-copy strong{font-size:.78rem}.session-character-detail-resistance-chip .session-item-effect-chip-copy span{font-size:.7rem;line-height:1.2}.session-character-detail-proficiencies{flex-wrap:wrap;gap:8px;display:flex}.session-character-detail-proficiency-chip{--chip-background:var(--surface-card-strong);--chip-border-color:var(--border);--chip-text-color:var(--text-bright);font-size:.78rem;line-height:1.25}.session-character-equipment-slots{grid-template-columns:repeat(2,minmax(180px,1fr));grid-auto-rows:minmax(68px,auto);align-items:stretch;gap:8px;display:grid}.session-character-equipment-section{position:relative}.session-character-detail-card .session-character-detail-equipment-column{background:0 0;border-color:#0000;border-radius:0;grid-template-columns:repeat(5,minmax(42px,1fr));width:100%;padding:0}.session-character-detail-card .session-character-detail-equipment-icon-slot{background:var(--surface-card-raised);border:1px solid var(--border);width:100%;height:42px}.session-character-detail-card .session-character-detail-equipment-icon-slot .game-icon-container,.session-character-detail-card .session-character-detail-equipment-icon-slot .session-inline-icon{width:24px;height:24px}.session-character-equipment-flyout{z-index:230;width:min(420px,100vw - 32px);position:fixed}.session-character-equipment-flyout-slot-copy{color:var(--text-soft);font-family:var(--font-pixel);letter-spacing:.12em;text-transform:uppercase;font-size:.72rem}.session-character-equipment-flyout-description{color:var(--text)}.session-character-equipment-flyout-well{border:1px solid color-mix(in srgb, var(--surface-well-strong) 80%, transparent);border-radius:var(--pixel-radius);background:color-mix(in srgb, var(--surface-well) 86%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--surface-well-strong) 80%, transparent);-webkit-backdrop-filter:blur(4px);gap:10px;padding:12px;display:grid}.session-character-equipment-flyout-section{gap:8px;display:grid}.session-character-equipment-flyout-section>strong{color:var(--text-bright);font-family:var(--font-pixel);letter-spacing:.12em;text-transform:uppercase;font-size:.74rem}.session-character-equipment-flyout-bonus-list{gap:4px;display:grid}.session-character-equipment-flyout-bonus-list>span{color:var(--text-soft);line-height:1.4}.session-character-equipment-flyout .session-item-profile-list{gap:8px;display:grid}.session-character-equipment-slot-wrapper{width:100%;min-width:0;height:100%;display:grid;position:relative}.session-character-equipment-slot{border:1px solid var(--border);border-radius:var(--pixel-radius);background:var(--surface-card-strong);text-align:left;align-content:start;gap:5px;width:100%;height:100%;min-height:68px;padding:8px 10px;display:grid}.session-character-equipment-slot.is-active,.session-character-equipment-slot:hover,.session-character-equipment-slot:focus-visible{border-color:var(--border-strong);background:var(--surface-card-hover)}.session-character-equipment-slot strong{color:var(--text);word-break:normal;overflow-wrap:break-word;line-height:1.35}.session-character-equipment-flyout .inline-actions .button-reset,.session-character-equipment-flyout .inline-actions .primary-action,.session-character-equipment-flyout .inline-actions .secondary-action,.session-character-equipment-flyout .inline-actions .neutral-action{flex:1 1 0;min-width:0}.session-equipment-confirm-layer{z-index:260;padding:max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));pointer-events:auto;place-items:center;display:grid;position:fixed;inset:0}.session-equipment-confirm-card{width:min(360px,100vw - 32px);max-height:min(420px,100dvh - 48px);box-shadow:var(--shadow-strong);overflow:auto}.session-character-equipment-flyout>.session-equipment-confirm-card{width:100%;max-height:none;box-shadow:none}.session-equipment-confirm-card>strong{color:var(--text-bright);font-family:var(--font-pixel);letter-spacing:.12em;text-transform:uppercase}.session-equipment-confirm-actions{width:100%}.session-equipment-confirm-actions .button-reset{flex:1 1 0;min-width:0}.session-character-equipment-inventory{max-height:200px}.session-character-equipment-inventory .session-bottom-inventory-grid{grid-template-columns:repeat(auto-fill,minmax(82px,1fr))}.session-character-equipment-inventory .session-bottom-inventory-row{gap:4px;min-height:72px;padding:6px 5px}.session-character-equipment-inventory .session-bottom-inventory-icon{width:12px;height:12px}.session-character-equipment-inventory .session-bottom-inventory-copy strong{letter-spacing:0;-webkit-line-clamp:2;line-clamp:2;font-size:.56rem;line-height:1.12}.session-character-equipment-inventory .session-bottom-inventory-copy span{font-size:.56rem;line-height:1.15}.session-inline-icon{vertical-align:-2px;width:14px;height:14px}.app-icon{width:1em;height:1em;color:inherit;flex:none;justify-content:center;align-items:center;line-height:1;display:inline-flex}.app-icon-svg{width:100%;height:100%;color:inherit;display:block}.game-icon-container,.app-icon-fa{overflow:visible}.game-icon-svg{fill:currentColor;stroke:currentColor}.game-icon-svg [fill]:not([fill=none]){fill:currentColor!important}.game-icon-svg [stroke]:not([stroke=none]){stroke:currentColor!important}.session-bottom-inventory-panel{z-index:4;grid-template-rows:auto minmax(0,1fr);align-content:stretch;gap:8px;height:100%;min-height:0;display:grid;overflow:visible}.session-bottom-inventory-group-tabs{display:none}.session-bottom-inventory-anchor{grid-template-rows:minmax(0,1fr);display:grid;position:relative;overflow:visible}.session-loadout-groups{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;height:100%;min-height:0;display:grid}.session-loadout-group{grid-template-rows:minmax(0,1fr);min-height:0;display:grid}.session-loadout-group-inventory{grid-template-rows:minmax(0,1fr);height:100%;min-height:0;display:grid}.session-loadout-group-inventory-body{grid-template-columns:minmax(0,1fr) 64px;align-items:stretch;gap:10px;height:100%;min-height:0;display:grid}.session-loadout-scroll{border:1px solid var(--line-faint);border-radius:var(--pixel-radius);background:color-mix(in srgb, var(--surface-card-raised) 42%, transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);grid-template-rows:minmax(0,1fr);height:100%;min-height:0;padding:10px 4px 10px 10px;display:grid;overflow-y:auto}.session-loadout-scroll,.session-bottom-inventory-grid,.session-character-detail-card,.item-template-scroll{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track-soft)}.session-loadout-scroll::-webkit-scrollbar{width:10px}.session-bottom-inventory-grid::-webkit-scrollbar{width:10px}.session-character-detail-card::-webkit-scrollbar{width:10px}.item-template-scroll::-webkit-scrollbar{width:10px}.session-loadout-scroll::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:999px}.session-bottom-inventory-grid::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:999px}.session-character-detail-card::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:999px}.item-template-scroll::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:999px}.session-loadout-scroll::-webkit-scrollbar-thumb{background:linear-gradient(180deg, var(--scrollbar-thumb-soft), var(--scrollbar-thumb));border:2px solid var(--scrollbar-track);border-radius:999px}.session-bottom-inventory-grid::-webkit-scrollbar-thumb{background:linear-gradient(180deg, var(--scrollbar-thumb-soft), var(--scrollbar-thumb));border:2px solid var(--scrollbar-track);border-radius:999px}.session-character-detail-card::-webkit-scrollbar-thumb{background:linear-gradient(180deg, var(--scrollbar-thumb-soft), var(--scrollbar-thumb));border:2px solid var(--scrollbar-track);border-radius:999px}.item-template-scroll::-webkit-scrollbar-thumb{background:linear-gradient(180deg, var(--scrollbar-thumb-soft), var(--scrollbar-thumb));border:2px solid var(--scrollbar-track);border-radius:999px}.session-loadout-scroll::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg, var(--scrollbar-thumb), var(--scrollbar-thumb-hover))}.session-bottom-inventory-grid::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg, var(--scrollbar-thumb), var(--scrollbar-thumb-hover))}.session-character-detail-card::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg, var(--scrollbar-thumb), var(--scrollbar-thumb-hover))}.item-template-scroll::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg, var(--scrollbar-thumb), var(--scrollbar-thumb-hover))}.session-loadout-empty-state{min-height:100%;color:var(--text-muted);font-family:var(--font-pixel);letter-spacing:.12em;text-transform:uppercase;text-align:center;place-items:center;padding:14px;font-size:.72rem;display:grid}.session-loadout-empty-state-inline{text-align:left;place-items:start;min-height:0;padding:0}.session-feed-drawer-scroll>.session-loadout-empty-state-inline{text-align:center;place-items:center;min-height:100%;padding:16px}.session-bottom-inventory-meta{color:var(--text-soft);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;font-size:.88rem;display:grid}.session-bottom-inventory-meta strong{color:var(--text)}.session-bottom-inventory-search{place-self:center end;width:100%;max-width:220px;margin-bottom:0;position:relative}.session-bottom-inventory-search-control{z-index:16;box-sizing:border-box;isolation:isolate;width:84px;max-width:none;height:32px;box-shadow:none;filter:none;background:0 0;border-radius:7px;grid-template-columns:minmax(0,1fr);justify-content:center;place-items:center;transition:filter .16s,gap .18s cubic-bezier(.22,1,.36,1),padding .18s cubic-bezier(.22,1,.36,1),transform .16s,width .18s cubic-bezier(.22,1,.36,1);display:grid;position:relative;top:auto;right:auto;overflow:hidden}.session-bottom-inventory-search-control.has-map-actions{grid-template-columns:repeat(2,32px) 10px 32px;gap:4px;width:142px}.session-bottom-inventory-search-control.has-map-picker{grid-template-columns:repeat(3,32px) 10px 32px;gap:4px;width:180px}.session-bottom-inventory-search-control.has-feed-action{grid-template-columns:32px 10px repeat(2,32px);gap:4px;width:124px}.session-bottom-inventory-search-control.has-map-actions.has-feed-action{grid-template-columns:repeat(2,32px) 10px 32px 10px repeat(2,32px);width:214px}.session-bottom-inventory-search-control.has-map-picker.has-feed-action{grid-template-columns:repeat(3,32px) 10px 32px 10px repeat(2,32px);width:252px}.session-bottom-inventory-search-control.is-open:not(.has-map-actions){grid-template-columns:32px minmax(0,1fr) 10px repeat(2,32px);justify-items:stretch;gap:8px;width:min(330px,100vw - 48px);padding:0 20px 0 24px}.session-bottom-inventory-search-control.has-map-actions.is-open{grid-template-columns:repeat(2,32px) 10px 32px minmax(0,1fr) 10px repeat(2,32px);justify-items:stretch;gap:8px;width:min(520px,100vw - 48px);padding:0 20px 0 24px}.session-bottom-inventory-search-control.has-map-actions.is-zoom-open{grid-template-columns:repeat(2,32px) minmax(190px,1fr) 10px 32px 10px repeat(2,32px)}.session-bottom-inventory-search-control.has-map-actions.is-search-open{grid-template-columns:repeat(2,32px) 10px 32px minmax(0,1fr) 10px repeat(2,32px)}.session-bottom-inventory-search-control.has-map-picker.is-zoom-open{grid-template-columns:repeat(3,32px) minmax(190px,1fr) 10px 32px 10px repeat(2,32px)}.session-bottom-inventory-search-control.has-map-picker.is-search-open{grid-template-columns:repeat(3,32px) 10px 32px minmax(0,1fr) 10px repeat(2,32px)}.session-bottom-inventory-search-control.has-map-picker.is-map-picker-open{grid-template-columns:32px minmax(190px,1fr) repeat(2,32px) 10px 32px 10px repeat(2,32px);justify-items:stretch;gap:8px;width:min(560px,100vw - 48px);padding:0 20px 0 24px}.session-bottom-inventory-search-control:before,.session-bottom-inventory-search-control:after{content:"";pointer-events:none;border-radius:7px;position:absolute;inset:0}.session-bottom-inventory-search-control:before{z-index:-2;background:#23272c;border-radius:0;height:8px;display:none;inset:auto 0 -6px}.session-bottom-inventory-search-control:after{z-index:-1;border-radius:inherit;background:linear-gradient(180deg, #ffffff0a, #ffffff03), linear-gradient(90deg, #5ce9e509, transparent 34%, transparent 66%, #5ce9e505), color-mix(in srgb, var(--surface-card) 68%, #23272c 32%);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--line-soft) 68%, transparent), inset 0 -1px 0 #0000001f;inset:0}.session-bottom-inventory-search .ui-field{gap:0}.session-bottom-inventory-search .ui-field-label{display:none}.session-bottom-inventory-search .ui-input,.session-bottom-inventory-search .session-bottom-inventory-search-input{border:0;border-bottom:1px solid var(--line-soft);min-height:26px;color:var(--text);box-shadow:none;background:0 0;border-radius:0;padding:4px 2px 4px 36px;line-height:1.2}.session-bottom-inventory-search-inline .ui-input,.session-bottom-inventory-search-inline .session-bottom-inventory-search-input{border-bottom-color:var(--line-subtle);min-height:24px;font-size:var(--session-font-sm,.78rem);padding:3px 30px 3px 8px}.session-bottom-inventory-search .ui-input:focus,.session-bottom-inventory-search .session-bottom-inventory-search-input:focus{border-bottom-color:var(--line-medium);box-shadow:none;outline:none}.session-bottom-inventory-search .ui-input::placeholder,.session-bottom-inventory-search .session-bottom-inventory-search-input::placeholder{color:var(--text-soft)}.session-bottom-inventory-search-toggle{width:32px;min-width:32px;height:26px;min-height:26px;color:var(--accent-soft);box-shadow:none;transition:border-color var(--transition-fast), background var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);background:0 0;border:0;border-radius:4px;outline:none;place-items:center;padding:0;display:grid;position:relative}.session-bottom-inventory-action-tooltip{justify-content:center;align-items:center;width:32px;min-width:32px;height:26px;min-height:26px}.session-bottom-inventory-action-tooltip .session-bottom-inventory-search-toggle{flex:none}.session-bottom-inventory-map-action{color:color-mix(in srgb, var(--accent-soft) 82%, var(--text-soft) 18%)}.session-bottom-inventory-search-control.is-open .session-bottom-inventory-search-toggle{justify-self:start}.session-bottom-inventory-search-toggle:hover,.session-bottom-inventory-search-toggle:focus-visible,.session-bottom-inventory-search-toggle.is-active{color:var(--accent);box-shadow:none;background:0 0;outline:none}.session-bottom-inventory-search-toggle.is-active:before{content:"";background:color-mix(in srgb, var(--accent) 82%, var(--text-bright) 18%);opacity:.88;border-radius:999px;height:2px;position:absolute;bottom:3px;left:10px;right:10px}.session-bottom-inventory-search-toggle:focus{outline:none}.session-bottom-inventory-search-control:hover:before,.session-bottom-inventory-search-control:focus-within:before,.session-bottom-inventory-search-control.is-open:before{background:#23272c}.session-bottom-inventory-search-toggle:active{transform:translateY(1px)}.session-bottom-inventory-search-toggle.has-value:after{content:"";background:var(--accent);width:6px;height:6px;box-shadow:none;border-radius:999px;position:absolute;top:6px;right:6px}.session-bottom-inventory-search-toggle-icon{width:16px;height:16px}.session-bottom-inventory-map-picker{place-items:center;width:32px;min-width:32px;height:26px;display:grid;position:relative}.session-bottom-inventory-map-field{grid-template-columns:minmax(150px,1fr);align-self:center;align-items:center;gap:0;min-width:0;padding-left:0;display:grid}.session-bottom-inventory-map-select{border-color:color-mix(in srgb, var(--line-soft) 88%, transparent);background-image:linear-gradient(45deg, transparent 50%, color-mix(in srgb, var(--accent-soft) 72%, var(--text-soft)) 50%), linear-gradient(135deg, color-mix(in srgb, var(--accent-soft) 72%, var(--text-soft)) 50%, transparent 50%), linear-gradient(180deg, color-mix(in srgb, var(--surface-card) 78%, #23272c 22%), color-mix(in srgb, var(--surface-card) 58%, #161a1f 42%));letter-spacing:.08em;background-position:calc(100% - 15px) calc(50% - 2px),calc(100% - 10px) calc(50% - 2px),0 0;background-size:5px 5px,5px 5px,100% 100%;border-radius:4px;width:100%;min-height:28px;padding:0 30px 0 10px;font-size:.62rem;box-shadow:inset 0 1px #ffffff0d,inset 0 -1px #00000038}.session-bottom-inventory-search-separator{background:color-mix(in srgb, var(--accent-soft) 42%, var(--line-soft));opacity:.78;border-radius:999px;place-self:center;width:1px;height:16px;display:block}.session-bottom-inventory-search-popover{z-index:80;border:1px solid var(--accent-border-medium);border-radius:var(--pixel-radius);background:linear-gradient(180deg, #ffffff0b, #ffffff04), var(--surface-card-raised);grid-template-columns:minmax(220px,320px) auto;align-items:center;gap:8px;width:min(360px,100vw - 32px);padding:10px;display:grid;position:absolute;bottom:calc(100% + 8px);right:0;box-shadow:0 18px 34px #00000061}.session-bottom-inventory-search-inline,.session-bottom-inventory-zoom-inline{transform-origin:0;align-items:center;width:100%;min-width:0;transition:opacity .18s,transform .22s cubic-bezier(.22,1,.36,1);animation:.15s cubic-bezier(.22,1,.36,1) both session-bottom-toolbar-inline-enter;display:grid;position:relative;overflow:hidden}.session-bottom-inventory-map-field{animation:.15s cubic-bezier(.22,1,.36,1) both session-bottom-toolbar-inline-enter}@keyframes session-bottom-toolbar-inline-enter{0%{opacity:.35;transform:translate(-4px)scaleX(.98)}to{opacity:1;transform:translate(0)scaleX(1)}}.session-bottom-inventory-search-inline.ui-fade-presence.is-hidden,.session-bottom-inventory-zoom-inline.ui-fade-presence.is-hidden{opacity:0;transform:translate(-8px)scaleX(.96)}.session-bottom-inventory-search-inline.ui-fade-presence.is-visible,.session-bottom-inventory-zoom-inline.ui-fade-presence.is-visible{opacity:1;transform:translate(0)scaleX(1)}.session-bottom-inventory-zoom-inline .session-table-map-zoom-slider-group{width:100%}.session-bottom-inventory-zoom-inline .session-table-map-zoom-slider-shell{gap:8px;padding:0}.session-bottom-inventory-zoom-inline .session-table-map-zoom-slider-track-shell{min-height:20px;padding-inline:0}.session-bottom-inventory-search-popover:after{content:"";border-right:1px solid var(--accent-border-medium);border-bottom:1px solid var(--accent-border-medium);background:var(--surface-card-raised);width:10px;height:10px;position:absolute;bottom:-6px;right:13px;transform:rotate(45deg)}:is(.session-bottom-hud:has(.session-bottom-inventory-search-control),.session-bottom-hud-panel:has(.session-bottom-inventory-search-control),.session-bottom-hud-tab-panel:has(.session-bottom-inventory-search-control),.session-bottom-inventory-panel:has(.session-bottom-inventory-search-control)){overflow:visible}.session-bottom-inventory-search-field{min-width:0;position:relative}.session-bottom-inventory-search-popover .ui-field,.session-bottom-inventory-search-field .ui-field{width:100%}.session-bottom-inventory-search-clear{border:1px solid var(--state-danger-border);border-radius:var(--pixel-radius);background:var(--state-danger-surface);width:30px;min-width:30px;height:30px;color:var(--state-danger-text);place-items:center;display:grid}.session-bottom-inventory-search-clear:hover,.session-bottom-inventory-search-clear:focus-visible{border-color:var(--state-danger-border-focus);color:var(--text-bright)}.session-bottom-inventory-search-clear-icon{width:11px;height:11px}.session-bottom-inventory-search-inline .session-bottom-inventory-search-clear{width:24px;min-width:24px;height:24px;color:var(--text-soft);background:0 0;border:0;position:absolute;top:50%;right:0;transform:translateY(-50%)}.session-bottom-inventory-search-inline .session-bottom-inventory-search-clear:hover,.session-bottom-inventory-search-inline .session-bottom-inventory-search-clear:focus-visible{color:var(--accent)}.session-bottom-inventory-search-icon{width:16px;height:16px;color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:8px;transform:translateY(-50%)}@media (width<=640px){.session-bottom-inventory-meta{flex-wrap:wrap}}.session-bottom-inventory-grid{padding:0;grid-template-columns:repeat(auto-fill,minmax(min(96px,100%),112px));grid-auto-rows:88px;place-content:start;gap:8px;height:100%;min-height:100%;max-height:none;margin:0;padding-right:4px;list-style:none;display:grid;overflow-y:auto}.session-bottom-inventory-grid-compact{grid-template-columns:repeat(auto-fill,minmax(min(90px,100%),106px))}.session-bottom-inventory-item{z-index:0;width:100%;height:100%;min-height:88px;position:relative;overflow:visible}.session-bottom-inventory-item.is-selected{z-index:30}.session-bottom-inventory-item.is-disabled{opacity:.46}.session-bottom-inventory-item.is-create .session-bottom-inventory-row{border-style:dashed}.session-bottom-inventory-item-button{appearance:none;box-shadow:none;width:100%;height:100%;min-height:100%;color:inherit;font:inherit;text-align:inherit;background:0 0;border:0;border-radius:0;margin:0;padding:0}.session-bottom-inventory-row{border:1px solid var(--border);border-radius:var(--pixel-radius);background:color-mix(in srgb, var(--surface-card) 46%, transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);flex-direction:column;justify-content:center;align-items:center;gap:6px;width:100%;height:100%;min-height:100%;padding:6px 5px;display:flex}.session-bottom-inventory-item.is-disabled .session-bottom-inventory-item-button,.session-bottom-inventory-item.is-disabled .session-bottom-inventory-row{cursor:not-allowed}.session-bottom-inventory-item.is-disabled .session-bottom-inventory-row:hover,.session-bottom-inventory-item.is-disabled .session-bottom-inventory-row:focus-visible{border-color:var(--border);background:color-mix(in srgb, var(--surface-card) 46%, transparent)}.session-bottom-inventory-row.is-active,.session-bottom-inventory-row:hover,.session-bottom-inventory-row:focus-visible{border-color:var(--accent-border-strong);background:color-mix(in srgb, var(--accent-surface-soft) 58%, transparent);outline:none}.session-bottom-weapon-title{justify-content:center;align-items:center;gap:6px;display:inline-flex}.session-bottom-weapon-effect-icon{justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.session-bottom-weapon-effect-icon .session-inline-icon{vertical-align:0;width:18px;height:18px}.session-bottom-inventory-source-tabs{align-content:center;align-self:center;gap:8px;width:54px;display:grid}.session-bottom-inventory-source-tabs .hud-tab-button{place-items:center;width:100%;min-width:0;max-width:100%;min-height:44px;padding:0;display:grid}.session-bottom-inventory-source-tabs .hud-tab-button.primary-action.is-active{background:var(--accent-surface);color:#fff;border-color:var(--accent-border-medium);box-shadow:var(--button-shadow)}.session-bottom-inventory-source-tabs .hud-tab-button.primary-action.is-active:hover,.session-bottom-inventory-source-tabs .hud-tab-button.primary-action.is-active:focus-visible{background:var(--accent-surface);color:#fff;border-color:var(--accent-border-strong)}.session-bottom-inventory-source-tabs .hud-tab-button.primary-action.is-active:active{background:var(--accent-surface);color:#fff;border-color:var(--accent-border-strong);box-shadow:none}.session-bottom-inventory-icon{width:14px;height:14px;color:var(--accent-soft);align-self:center}.session-bottom-inventory-copy{width:100%;color:var(--text);text-align:center;justify-items:center;gap:1px;display:grid}.session-bottom-inventory-copy strong{overflow-wrap:anywhere;word-break:normal;line-clamp:3;-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:clamp(.54rem,.5rem + .18vw,.64rem);line-height:1.16;display:-webkit-box;overflow:hidden}.session-bottom-inventory-copy span{color:var(--text-muted);font-size:.58rem;line-height:1.12}@media (height<=1100px) and (width>=901px){.session-hud-page{--session-topbar-overlap:0px;--session-hud-page-gap:12px;--session-hud-page-pad-x:12px;--session-hud-page-pad-bottom:12px;--session-bottom-hud-panel-height:clamp(214px, 22vh, 238px);--session-bottom-hud-pad:8px 10px;--session-bottom-hud-panel-pad:9px;--session-bottom-hud-panel-layer-pad:10px;--session-table-map-mode-card-min-height:44px;--session-table-map-mode-card-pad:8px 16px;--session-table-map-controls-pad:7px 10px}.session-hud-header{gap:12px;padding:0}.session-hud-header .eyebrow{margin-bottom:2px;font-size:.64rem}.session-hud-header h1{margin-bottom:2px;font-size:clamp(1.18rem,1.35vw,1.48rem)}.session-hud-header-title-separator{margin:4px 0 6px}.session-hud-header-meta{gap:6px}.session-hud-header-code{width:32px;min-width:32px;height:32px;min-height:32px;padding:0;font-size:.58rem}.session-hud-header-session{font-size:.62rem}.session-hud-header-nav,.session-hud-header-actions{gap:8px}.session-hud-mode-button,.session-hud-mode-card,.session-hud-header .session-hud-mode-card{min-height:36px;padding:7px 12px;font-size:.72rem}.session-table-map-controls{gap:8px;transform:translate(-50%,calc(-100% - 10px))}.session-table-map-controls.has-map-select.has-camera-controls{grid-template-columns:minmax(150px,220px) auto minmax(190px,1fr) auto}.session-table-map-controls-map-field{gap:8px}.session-table-map-controls-map-select{background-position:calc(100% - 16px) 13px,calc(100% - 10px) 13px,0 0;min-height:32px;padding-left:10px;padding-right:34px;font-size:.62rem}.session-table-map-mode-card{border-radius:14px;font-size:.72rem}.session-table-map-mode-card .session-inline-icon{width:15px;height:15px}.session-bottom-hud{gap:10px}.session-bottom-hud-panel{gap:8px}.session-bottom-hud-panel>.section-label,.session-bottom-inventory-panel-header>.section-label,.session-bottom-hud-actor-select .ui-field-label{letter-spacing:.14em;font-size:.68rem}.session-bottom-hud-actor-select{gap:6px}.session-bottom-hud-actor-select .ui-select-input{min-height:42px;padding:9px 36px 9px 12px}.session-bottom-hud-avatar{width:56px;height:56px}.session-bottom-hud-character{text-align:left;grid-template-columns:auto minmax(0,1fr);justify-self:center;place-items:center start;width:fit-content;max-width:100%}.session-bottom-hud-character-centered{align-content:center}.session-bottom-hud-header{text-align:left;justify-items:start;min-width:0}.session-bottom-hud-header strong,.session-bottom-hud-header span{overflow-wrap:anywhere;max-width:100%}.session-bottom-hud-effects{grid-column:1/-1;justify-content:flex-start}.session-bottom-hud-header strong{font-size:.82rem}.session-bottom-hud-header span{font-size:.72rem}.session-loadout-groups{gap:10px}.session-loadout-scroll{padding:8px 4px 8px 8px}.session-bottom-inventory-grid{grid-template-columns:repeat(auto-fill,minmax(min(82px,100%),98px));grid-auto-rows:76px;gap:7px}.session-bottom-inventory-grid-compact{grid-template-columns:repeat(auto-fill,minmax(min(78px,100%),94px))}.session-bottom-inventory-item{min-height:76px}.session-bottom-inventory-row{gap:6px;padding:5px 4px}.session-bottom-inventory-copy strong{font-size:.58rem}.session-bottom-inventory-copy span{font-size:.52rem}.session-bottom-inventory-source-tabs{width:48px}.session-bottom-inventory-source-tabs .hud-tab-button{min-height:38px}}@media (height<=900px) and (width>=901px){.session-hud-page{--session-hud-page-gap:12px;--session-hud-page-pad-x:14px;--session-hud-page-pad-bottom:12px;--session-bottom-hud-panel-height:clamp(206px, 23vh, 244px);--session-bottom-hud-pad:8px 10px;--session-bottom-hud-panel-pad:10px;--session-bottom-hud-panel-layer-pad:10px;--session-table-map-mode-card-min-height:48px;--session-table-map-mode-card-pad:9px 18px}.session-hud-header{gap:14px;padding:0}.session-hud-header h1{margin-bottom:2px;font-size:1.42rem}.session-hud-header-title-separator{margin:4px 0 6px}.session-hud-header-meta{gap:6px}.session-hud-header-nav,.session-hud-header-actions{gap:8px}.session-hud-mode-button,.session-hud-mode-card{min-height:40px;padding:8px 12px}.session-table-map-mode-card{font-size:var(--app-button-font-size-compact);border-radius:14px}.session-table-map-controls{transform:translate(-50%,calc(-100% - 10px))}.session-bottom-hud{gap:10px}.session-bottom-hud-panel{gap:8px}.session-bottom-hud-panel>.section-label{font-size:.72rem}.session-bottom-hud-avatar{width:60px;height:60px}.session-bottom-hud-header strong{font-size:.86rem}.session-bottom-hud-header span{font-size:.76rem}.session-loadout-groups{gap:10px}.session-loadout-scroll{padding:8px 4px 8px 8px}.session-bottom-inventory-grid{grid-template-columns:repeat(auto-fill,minmax(min(84px,100%),98px));grid-auto-rows:78px;gap:7px}.session-bottom-inventory-grid-compact{grid-template-columns:repeat(auto-fill,minmax(min(80px,100%),94px))}.session-bottom-inventory-item{min-height:78px}.session-bottom-inventory-row{gap:6px;padding:5px 4px}.session-bottom-inventory-icon{width:14px;height:14px}.session-bottom-inventory-copy strong{font-size:.6rem}.session-bottom-inventory-copy span{font-size:.54rem}.session-bottom-inventory-search{max-width:190px}.session-bottom-inventory-search-control{max-width:none}}@media (height<=780px) and (width>=901px){.session-hud-page{--session-hud-page-gap:10px;--session-bottom-hud-panel-height:clamp(178px, 22vh, 210px);--session-bottom-hud-panel-layer-pad:8px;--session-table-map-mode-card-min-height:42px;--session-table-map-mode-card-pad:7px 14px}.session-hud-header{padding:0}.session-hud-header h1{font-size:1.22rem}.session-hud-header-code{width:32px;min-width:32px;height:32px;min-height:32px;padding:0;font-size:.58rem}.session-hud-header-session{font-size:.62rem}.session-hud-mode-button,.session-hud-mode-card{min-height:36px;padding:7px 10px}.session-bottom-hud-avatar{width:52px;height:52px}.session-bottom-hud-effects,.session-bottom-hud-admin-copy{gap:6px}.session-bottom-inventory-grid{grid-auto-rows:70px}.session-bottom-inventory-item{min-height:70px}}@media (height<=1000px) and (width>=901px){.session-hud-page{--session-hud-page-gap:8px;--session-hud-page-pad-x:8px;--session-hud-page-pad-bottom:8px;--session-bottom-hud-panel-height:clamp(170px, 18.5vh, 190px);--session-bottom-hud-pad:6px 8px;--session-bottom-hud-panel-pad:7px;--session-bottom-hud-panel-layer-pad:7px;--session-table-map-mode-card-min-height:36px;--session-table-map-mode-card-pad:6px 12px;--session-table-map-controls-pad:5px 8px}.session-hud-header{padding:0}.session-hud-header h1{font-size:clamp(1.05rem,1.2vw,1.3rem)}.session-hud-mode-button,.session-hud-mode-card,.session-hud-header .session-hud-mode-card{letter-spacing:.14em;min-height:34px;padding:6px 10px;font-size:.66rem}.session-table-map-controls{border-radius:9px;gap:7px;transform:translate(-50%,calc(-100% - 8px))}.session-table-map-controls.has-map-select.has-camera-controls{grid-template-columns:minmax(130px,180px) auto minmax(170px,1fr) auto}.session-table-map-controls-map-inline-label{letter-spacing:.1em;font-size:.52rem}.session-table-map-controls-map-select{background-position:calc(100% - 14px) 11px,calc(100% - 9px) 11px,0 0;background-size:5px 5px,5px 5px,100% 100%;min-height:28px;padding-left:9px;padding-right:30px;font-size:.56rem}.session-table-map-mode-card{letter-spacing:.14em;border-width:1px;border-radius:12px;font-size:.64rem}.session-table-map-mode-card .session-inline-icon{width:13px;height:13px}.session-bottom-hud{grid-template-columns:minmax(230px,.42fr) minmax(0,2.4fr) minmax(154px,.28fr);gap:8px}.session-bottom-hud.session-bottom-hud-admin-layout{grid-template-columns:minmax(230px,.48fr) minmax(0,2.62fr) minmax(154px,.32fr)}.session-bottom-hud-panel{gap:6px}.session-bottom-hud-panel>.section-label,.session-bottom-inventory-panel-header>.section-label,.session-bottom-hud-actor-select .ui-field-label,.session-bottom-hud-admin-control .ui-field-label{letter-spacing:.12em;font-size:.6rem}.session-bottom-hud-panel-layer,.session-bottom-hud.session-bottom-hud-admin-layout .session-bottom-hud-panel-layer,.session-bottom-hud.session-bottom-hud-admin-layout .session-bottom-hud-panel-layer-compact{padding:var(--session-bottom-hud-panel-layer-pad);gap:6px}.session-bottom-hud-actor-select .ui-select-input,.session-bottom-hud.session-bottom-hud-admin-layout .session-bottom-hud-actor-select .ui-select-input{min-height:34px;padding:7px 32px 7px 10px;font-size:.84rem}.session-bottom-hud-admin-copy,.session-bottom-hud.session-bottom-hud-admin-layout .session-bottom-hud-admin-copy,.session-bottom-hud-admin-controls,.session-bottom-hud.session-bottom-hud-admin-layout .session-bottom-hud-admin-controls{gap:5px}.session-bottom-hud.session-bottom-hud-admin-layout .session-bottom-hud-admin-controls{grid-template-columns:minmax(0,1fr)}.session-bottom-hud-admin-metrics,.session-bottom-hud.session-bottom-hud-admin-layout .session-bottom-hud-admin-metrics{gap:4px}.session-bottom-hud-admin-metric,.session-bottom-hud.session-bottom-hud-admin-layout .session-bottom-hud-admin-metric{min-height:24px;padding:3px 5px}.session-bottom-hud-admin-metric-copy>span{font-size:.62rem}.session-bottom-hud-admin-metric-copy strong{font-size:.78rem}.session-bottom-hud.session-bottom-hud-admin-layout .session-bottom-hud-admin-control{grid-template-columns:minmax(58px,auto) minmax(0,1fr);align-items:center;gap:4px}.session-bottom-hud.session-bottom-hud-admin-layout .session-bottom-hud-admin-stepper{grid-template-columns:22px minmax(0,1fr) 22px;width:100%;min-height:26px}.session-bottom-hud.session-bottom-hud-admin-layout .session-bottom-hud-admin-stepper .ui-stepper-button{height:26px;font-size:.58rem}.session-bottom-hud.session-bottom-hud-admin-layout .session-bottom-hud-admin-stepper .ui-stepper-input{min-height:26px;padding:2px 5px;font-size:.74rem}.session-bottom-hud.session-bottom-hud-admin-layout .session-bottom-hud-admin-control .ui-field-label{letter-spacing:.08em;white-space:normal;font-size:.48rem;line-height:.95}.session-admin-command-button{letter-spacing:.12em;gap:6px;min-height:40px;padding:8px 10px;font-size:.62rem}.session-bottom-hud-links-admin{gap:8px}.session-bottom-inventory-panel{gap:5px}.session-bottom-inventory-panel-header{grid-template-columns:auto minmax(0,1fr) minmax(170px,200px);gap:8px;min-height:20px;padding-block:0}.session-bottom-inventory-search{max-width:200px}.session-bottom-inventory-search-control{max-width:none}.session-loadout-groups{gap:8px}.session-loadout-group-inventory-body{grid-template-columns:minmax(0,1fr) 46px;gap:7px}.session-loadout-scroll{padding:6px;padding-right:3px}.session-bottom-inventory-grid,.session-bottom-inventory-grid-compact{grid-template-columns:repeat(auto-fill,minmax(min(68px,100%),82px));grid-auto-rows:62px;gap:5px}.session-bottom-inventory-item{min-height:62px}.session-bottom-inventory-row{gap:5px;padding:6px 4px}.session-bottom-inventory-icon{width:12px;height:12px}.session-bottom-inventory-copy strong{font-size:.56rem;line-height:1.16}.session-bottom-inventory-copy span{font-size:.52rem;line-height:1.12}.session-bottom-inventory-source-tabs{gap:6px;width:42px}.session-bottom-inventory-source-tabs .hud-tab-button{min-height:34px}}.session-hud-page{--session-font-xxs:clamp(.52rem, .36rem + .26vmin, .58rem);--session-font-xs:clamp(.58rem, .42rem + .28vmin, .68rem);--session-font-sm:clamp(.64rem, .46rem + .32vmin, .72rem);--session-font-md:clamp(.72rem, .5rem + .38vmin, .88rem);--session-font-lg:clamp(.82rem, .56rem + .46vmin, .95rem);--session-font-xl:clamp(.9rem, .62rem + .5vmin, 1rem);--session-font-title:clamp(1.2rem, .82rem + .72vmin, 1.9rem);--session-section-label-font:clamp(.66rem, .56rem + .2vw, .82rem);--session-inventory-title-font:clamp(.58rem, .53rem + .24vw, .72rem);--session-inventory-meta-font:clamp(.52rem, .48rem + .18vw, .68rem);--app-button-font-size:clamp(.66rem, .46rem + .36vmin, .86rem);--app-button-font-size-compact:clamp(.58rem, .42rem + .3vmin, .72rem);--app-button-font-size-icon:clamp(.76rem, .5rem + .42vmin, 1rem);--session-fluid-field-gap:clamp(4px, .45vmin, 8px);--session-fluid-field-label-font-size:var(--session-font-xs);--session-fluid-field-height:clamp(32px, 2.95vmin, 46px);--session-fluid-field-pad-y:clamp(6px, .65vmin, 11px);--session-fluid-field-pad-x:clamp(8px, .8vmin, 13px);--session-fluid-field-font-size:var(--session-font-lg);--session-field-gap:var(--session-fluid-field-gap);--session-field-label-font-size:var(--session-font-xs);--session-field-height:var(--session-fluid-field-height);--session-field-pad-y:var(--session-fluid-field-pad-y);--session-field-pad-x:var(--session-fluid-field-pad-x);--session-field-font-size:var(--session-font-lg);font-size:var(--session-font-lg)}.session-hud-header .eyebrow,.session-hud-header-code,.session-hud-header-session,.session-table-map-controls-map-inline-label{font-size:var(--session-font-xs)}.session-bottom-hud-panel>.section-label,.session-bottom-inventory-panel-header>.section-label{font-size:var(--session-section-label-font)}.session-bottom-hud-actor-select .ui-field-label,.session-bottom-hud-admin-control .ui-field-label{font-size:var(--session-font-xs)}.session-hud-header h1{font-size:var(--session-font-title)}.session-hud-header p,.session-hud-header-meta,.session-bottom-hud-actor-select .ui-select-input{font-size:var(--session-font-lg)}.session-hud-page .ui-field{gap:var(--session-field-gap)}.session-hud-page .ui-field-label{font-size:var(--session-field-label-font-size);letter-spacing:.12em;line-height:1}.session-hud-page .ui-input,.session-hud-page .ui-textarea,.session-hud-page .ui-select,.session-hud-page .ui-select-input{min-height:var(--session-field-height);padding-block:var(--session-field-pad-y);padding-inline:var(--session-field-pad-x);font-size:var(--session-field-font-size);line-height:1.15}.session-hud-page .ui-textarea{min-height:max(var(--session-field-height), 88px)}.session-hud-page .session-bottom-inventory-search .ui-input,.session-hud-page .session-bottom-inventory-search .session-bottom-inventory-search-input{min-height:30px;padding-block:5px;padding-inline:36px 2px;line-height:1.2}.session-hud-page .session-bottom-inventory-search-inline .ui-input,.session-hud-page .session-bottom-inventory-search-inline .session-bottom-inventory-search-input{min-height:27px;padding-block:4px;padding-inline:8px 30px}.session-hud-page .ui-select,.session-hud-page .ui-select-input{min-height:var(--session-select-height,44px);padding-block:var(--session-select-pad-y,10px);padding-inline:var(--session-select-pad-x,12px) var(--session-select-pad-right,36px);font-size:var(--session-select-font-size,var(--session-font-lg));background-position:calc(100% - var(--session-select-arrow-right-a,18px)) calc(50% - 1px), calc(100% - var(--session-select-arrow-right-b,12px)) calc(50% - 1px);background-size:var(--session-select-arrow-size,6px) var(--session-select-arrow-size,6px), var(--session-select-arrow-size,6px) var(--session-select-arrow-size,6px);line-height:1.15}.session-bottom-hud-actor-select .ui-select,.session-bottom-hud-actor-select .ui-select-input{min-height:var(--session-actor-select-height,var(--session-select-height,44px))}.session-hud-mode-button,.session-hud-mode-card,.session-hud-header .session-hud-mode-card,.session-admin-command-button,.session-bottom-hud-links-admin>.secondary-action,.session-bottom-hud-links-admin>.neutral-action,.session-bottom-hud-links-admin>.danger-action,.session-bottom-hud-links-admin>.primary-action,.session-bottom-hud-links-admin>.button-reset,.session-bottom-loadout-tabs .hud-tab-button,.session-character-roster-tabs>.hud-tab-button,.session-bottom-hud-mobile-tabs>.hud-tab-button{font-size:var(--app-button-font-size-compact)}.session-table-map-controls-map-select,.session-bottom-hud .session-bottom-turn-panel>.section-label{font-size:var(--session-font-sm)}.session-bottom-hud-header strong{font-size:var(--session-font-xl)}.session-bottom-hud-header span{font-size:var(--session-font-md)}.session-bottom-turn-indicator-icon,.session-bottom-hud-admin-metric-copy>span{font-size:var(--session-font-sm)}.session-bottom-turn-indicator-value,.session-bottom-hud.session-bottom-hud-admin-layout .session-bottom-hud-admin-control .ui-field-label{font-size:var(--session-font-xs)}.session-bottom-hud-admin-metric-copy strong,.session-bottom-hud-admin-stepper .ui-stepper-input,.session-bottom-hud.session-bottom-hud-admin-layout .session-bottom-hud-admin-stepper .ui-stepper-input{font-size:var(--session-font-md)}.session-bottom-hud.session-bottom-hud-admin-layout .session-bottom-hud-admin-stepper .ui-stepper-button{font-size:var(--app-button-font-size-icon)}.session-bottom-inventory-copy strong{font-size:var(--session-inventory-title-font)}.session-bottom-inventory-copy span,.session-bottom-inventory-group-tabs>.hud-tab-button,.session-bottom-inventory-group-tabs>.hud-tab-button>span{font-size:var(--session-inventory-meta-font)}.session-bottom-inventory-source-tabs .session-inline-icon{font-size:var(--app-button-font-size-icon)}.session-master-template-remove-button{border-radius:5px;width:clamp(20px,1.65vmin,28px);height:clamp(20px,1.65vmin,28px);font-size:clamp(.68rem,.48rem + .32vmin,.9rem)}@media (height<=1100px) and (width>=901px){.session-campaign-effect-apply{--session-field-gap:6px;--session-field-label-font-size:.6rem;--session-field-height:38px;--session-field-pad-y:8px;--session-field-pad-x:10px;--session-field-font-size:.78rem;--session-select-pad-right:32px;--session-select-arrow-size:5px;--session-select-arrow-right-a:16px;--session-select-arrow-right-b:11px}.session-hud-page{--session-font-xxs:.54rem;--session-font-xs:.6rem;--session-font-sm:.66rem;--session-font-md:.76rem;--session-font-lg:.84rem;--session-font-xl:.88rem;--session-font-title:1.28rem;--session-inventory-title-font:.6rem;--session-inventory-meta-font:.54rem;--app-button-font-size:.7rem;--app-button-font-size-compact:.62rem;--app-button-font-size-icon:.82rem;--session-field-gap:6px;--session-field-label-font-size:.6rem;--session-field-height:38px;--session-field-pad-y:8px;--session-field-pad-x:10px;--session-field-font-size:.78rem;--session-select-height:38px;--session-select-pad-y:8px;--session-select-pad-x:10px;--session-select-pad-right:32px;--session-select-font-size:.78rem;--session-select-arrow-size:5px;--session-select-arrow-right-a:16px;--session-select-arrow-right-b:11px;--session-actor-select-height:38px}}@media (height<=900px) and (width>=901px){.session-campaign-effect-apply{--session-field-gap:5px;--session-field-label-font-size:.56rem;--session-field-height:34px;--session-field-pad-y:7px;--session-field-pad-x:9px;--session-field-font-size:.72rem;--session-select-pad-right:30px;--session-select-arrow-size:5px;--session-select-arrow-right-a:15px;--session-select-arrow-right-b:10px}.session-hud-page{--session-font-xxs:.52rem;--session-font-xs:.56rem;--session-font-sm:.62rem;--session-font-md:.7rem;--session-font-lg:.78rem;--session-font-xl:.82rem;--session-font-title:1.16rem;--session-inventory-title-font:.56rem;--session-inventory-meta-font:.52rem;--app-button-font-size:.66rem;--app-button-font-size-compact:.58rem;--app-button-font-size-icon:.78rem;--session-field-gap:5px;--session-field-label-font-size:.56rem;--session-field-height:34px;--session-field-pad-y:7px;--session-field-pad-x:9px;--session-field-font-size:.72rem;--session-select-height:34px;--session-select-pad-y:7px;--session-select-pad-x:9px;--session-select-pad-right:30px;--session-select-font-size:.72rem;--session-select-arrow-size:5px;--session-select-arrow-right-a:15px;--session-select-arrow-right-b:10px;--session-actor-select-height:34px}}@media (height<=780px) and (width>=901px){.session-campaign-effect-apply{--session-field-gap:4px;--session-field-label-font-size:.52rem;--session-field-height:30px;--session-field-pad-y:5px;--session-field-pad-x:8px;--session-field-font-size:.66rem;--session-select-pad-right:26px;--session-select-arrow-size:4px;--session-select-arrow-right-a:13px;--session-select-arrow-right-b:9px}.session-hud-page{--session-font-xxs:.5rem;--session-font-xs:.52rem;--session-font-sm:.58rem;--session-font-md:.64rem;--session-font-lg:.72rem;--session-font-xl:.76rem;--session-font-title:1.04rem;--session-inventory-title-font:.52rem;--session-inventory-meta-font:.5rem;--app-button-font-size:.62rem;--app-button-font-size-compact:.54rem;--app-button-font-size-icon:.72rem;--session-field-gap:4px;--session-field-label-font-size:.52rem;--session-field-height:30px;--session-field-pad-y:5px;--session-field-pad-x:8px;--session-field-font-size:.66rem;--session-select-height:30px;--session-select-pad-y:5px;--session-select-pad-x:8px;--session-select-pad-right:26px;--session-select-font-size:.66rem;--session-select-arrow-size:4px;--session-select-arrow-right-a:13px;--session-select-arrow-right-b:9px;--session-actor-select-height:30px}}.session-bottom-loadout-tabs{flex-wrap:nowrap;justify-content:flex-start;margin:0}.session-bottom-loadout-tabs .hud-tab-button{flex:none;min-width:0;padding-inline:10px}.session-bottom-turn-panel{grid-template-rows:auto 1fr;justify-items:center}.session-bottom-turn-panel .session-bottom-hud-links{align-self:stretch;justify-items:center;height:100%}.session-end-turn-button{place-items:center;height:100%;min-height:72px;padding:0;display:grid;width:72px!important;min-width:72px!important}.session-end-turn-button .session-inline-icon{font-size:1.05rem}.session-free-mode-indicator{color:var(--text-bright);cursor:default;background:#3858aa33;border-color:#6c95ff5c;place-items:center;display:grid;box-shadow:0 14px 28px #0000002e,inset 0 0 0 1px #bad6ff14}.session-free-mode-indicator .session-inline-icon{color:var(--text-bright);margin:0;font-size:1.05rem;line-height:1}.session-free-mode-indicator span{font-family:var(--font-pixel);letter-spacing:.12em;text-transform:uppercase;color:var(--state-info-text);margin:0;font-size:.72rem;line-height:1;display:block}.session-character-list{gap:16px;display:grid}.compact-roster{gap:12px}.compact-character-card{padding:12px}.roster-toolbar{flex-wrap:wrap;align-items:end;gap:12px;margin-bottom:16px;display:flex}.feed-roll-item,.feed-system-item,.feed-text-item{gap:8px;display:grid}.direct-message-form{border-top:1px solid var(--accent-border-soft);margin-top:18px;padding-top:18px}.target-toggle-card.is-selected{background:var(--accent-surface);border-color:var(--accent-border-medium);color:var(--text-warm)}.target-toggle-card.is-selected strong,.target-toggle-card.is-selected span{color:inherit}.direct-message-meta{color:var(--accent-soft);font-size:.92em}.current-turn-card{border-color:var(--accent-border-focus);box-shadow:0 0 0 1px var(--accent-border-soft), var(--shadow);background:#7e848d33}.npc-quick-form{border:1px solid var(--border);border-radius:var(--pixel-radius);background:var(--surface-card);margin-bottom:20px;padding:18px}.compact-bullet-panel li{padding:10px 12px}.equipment-slot-stack{gap:10px;margin-top:8px;display:grid}.equipment-defense-builder-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 120px auto;align-items:stretch;gap:10px;display:grid}.target-toggle-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.target-toggle-card{text-align:left;gap:8px;display:grid}.session-character-header{justify-content:space-between;align-items:start;gap:12px;display:flex}.session-character-header p{margin:8px 0 0}.session-character-stats{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.session-character-stats span{border:1px solid var(--border);background:var(--line-hairline);color:var(--text);border-radius:999px;padding:8px 12px}.turn-highlight-badge{border-radius:var(--pixel-radius);background:var(--state-warning-surface);border:1px solid var(--state-warning-border);width:fit-content;color:var(--state-warning-text);text-transform:uppercase;letter-spacing:.08em;margin-top:14px;padding:6px 10px;font-size:.75rem;font-weight:700;display:inline-flex;box-shadow:inset 0 0 0 1px #fff1d708}.hp-bar-panel{gap:8px;margin-top:14px;display:grid}.hp-bar-track{border:1px solid var(--border);background:var(--surface-card-hover);border-radius:999px;width:100%;height:12px;overflow:hidden}.hp-bar-fill{background:linear-gradient(90deg,#b94a3a,#dd7a36 48%,#f5b36f);border-radius:999px;height:100%}.hp-bar-value{color:var(--text-soft);letter-spacing:.06em;text-transform:uppercase;font-size:.82rem}.preset-grid{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.item-template-scroll{max-height:240px;padding-right:6px;overflow-y:auto}.item-template-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.item-template-card{text-align:left;align-content:start;justify-items:start;gap:8px;min-height:112px;display:grid}.item-template-card strong{color:var(--text)}.item-template-card span{color:var(--text-soft);font-size:.84rem;line-height:1.35}.action-section{gap:10px;margin-top:12px;display:grid}.action-config-block{border:1px solid var(--line-subtle);border-radius:var(--pixel-radius);background:var(--surface-card);gap:8px;margin-top:12px;padding:14px;display:grid;box-shadow:inset 0 1px #ffffff08}.action-config-block .action-config-block{border-style:solid;border-color:var(--line-soft);background:var(--surface-card-raised);margin-top:0;padding:12px}.action-config-subsection{gap:8px;margin-top:12px;display:grid}.action-config-expandable{margin-top:12px}.action-config-expandable .ui-expandable-field-summary{min-height:68px}.action-config-expandable .ui-expandable-field-copy{gap:2px}.action-config-expandable .ui-expandable-field-summary span{font-size:.84rem;line-height:1.35}.action-config-expandable-content .action-config-block,.action-config-expandable .action-config-block{border-style:solid;border-color:var(--line-soft);background:var(--surface-card-raised);margin-top:0;padding:12px}.action-config-expandable-content .action-config-subsection,.action-config-expandable .action-config-subsection{margin-top:0}.action-config-effect-hint{max-width:none;font-family:var(--font-pixel);letter-spacing:.08em;text-shadow:2px 2px 0 var(--shadow-medium);color:var(--accent-text);border:1px solid var(--accent-border-medium);border-radius:var(--pixel-radius);background:var(--accent-surface-soft);box-shadow:inset 0 0 0 1px var(--line-hairline);margin:0;padding:8px 10px;font-size:.7rem;line-height:1.5}.action-config-effect-hint-buff{color:var(--state-success-text);background:#51a35f1f;border-color:#51a35f57;box-shadow:inset 0 0 0 1px #9bdd8d0f}.action-config-action-group{border-top:1px solid var(--line-subtle);gap:6px;margin-top:6px;padding-top:10px;display:grid}.action-config-actions-section{border-top:1px solid var(--line-subtle);gap:10px;margin-top:6px;padding-top:10px;display:grid}.action-config-add-effect-group{border:1px solid var(--line-subtle);border-radius:var(--pixel-radius);background:var(--surface-card-raised);gap:8px;padding:12px;display:grid}.action-config-toolbar{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:10px;display:grid}.action-config-toolbar-danger{padding-top:6px}.action-config-toolbar-builder{grid-template-columns:repeat(2,minmax(0,1fr))}.action-config-toolbar-single{grid-template-columns:minmax(0,1fr)}.action-config-footer{border-top:1px solid var(--line-subtle);justify-content:flex-start;margin-top:4px;padding-top:12px;display:flex}.action-config-footer>.button-reset,.action-config-toolbar>.button-reset,.action-config-toolbar>.secondary-action,.action-config-toolbar>.neutral-action,.action-config-toolbar>.danger-action{justify-content:center;width:100%;min-width:0}.action-config-footer>.button-reset{min-width:min(280px,100%)}.loadout-entry-builder{border:1px solid var(--line-subtle);border-radius:var(--pixel-radius);background:var(--surface-card-raised);grid-template-columns:minmax(0,1fr) minmax(min-content,auto);align-items:end;gap:12px;padding:14px;display:grid}.action-config-configurable-effect{padding:var(--session-bottom-hud-panel-layer-pad);border:1px solid var(--line-subtle);border-radius:var(--pixel-radius);background:var(--surface-card-raised);gap:10px;display:grid}.loadout-unified-grid{grid-template-columns:minmax(240px,320px) repeat(4,minmax(0,1fr));align-items:stretch;gap:16px;min-width:0;display:grid}.loadout-column-controls{flex-direction:column;gap:16px;display:flex}.loadout-gold-panel{align-items:end;display:flex}.loadout-gold-panel .field{width:100%}.loadout-column{flex-direction:column;gap:10px;min-width:0;height:100%;padding-left:12px;display:flex;position:relative}.loadout-column:first-child{padding-left:0}.loadout-column+.loadout-column:before{content:"";background:linear-gradient(180deg, var(--accent-border-ghost), var(--accent-border) 18%, var(--accent-border) 82%, var(--accent-border-ghost));pointer-events:none;width:1px;position:absolute;top:12px;bottom:12px;left:-4px}.loadout-column-settings{margin-bottom:8px}.loadout-column-stack{flex-direction:column;gap:14px;display:flex}.loadout-column-section{flex-direction:column;gap:8px;display:flex}.loadout-entry-builder-readonly{justify-content:start;min-height:0}.loadout-entry-builder-action{justify-content:flex-start;align-self:end;align-items:flex-end;display:flex}.loadout-entry-builder-action>.button-reset,.loadout-entry-builder-action>.secondary-action{width:56px;min-width:56px;height:54px;box-shadow:none;place-items:center;padding-left:0;padding-right:0;line-height:1;display:grid}.compact-field{min-width:140px}.session-dice-inline-fields{grid-template-columns:120px minmax(0,1fr);gap:12px;width:100%;display:grid}.session-dice-inline-fields>.ui-field{width:auto;min-width:0}.session-item-action-row{grid-template-columns:minmax(0,1fr) 140px;align-items:end;gap:12px;display:grid}@media (width<=640px){.session-dice-inline-fields{grid-template-columns:1fr}.campaigns-hero{gap:18px;padding:18px}.campaigns-hero h1{max-width:none;font-size:clamp(1.7rem,9vw,2.4rem)}.campaigns-hero-actions{grid-template-columns:1fr;justify-content:stretch;display:grid}.campaigns-hero-action{width:100%}.campaigns-hero-insights,.session-item-action-row,.loadout-entry-builder,.loadout-unified-grid,.equipment-defense-builder-row{grid-template-columns:1fr}.loadout-entry-builder-action{justify-content:stretch}.loadout-entry-builder-action>.button-reset,.loadout-entry-builder-action>.secondary-action{width:100%;min-width:0}.action-config-toolbar,.action-config-toolbar-builder{grid-template-columns:1fr}}.effect-buff{color:#8fc8ff;background:#4891d62e;border:1px solid #4891d66b}.effect-debuff{color:#ff9bd6;background:#b453962e;border:1px solid #b453966b}.effect-control{color:#9cc1ff;background:#5378c72e;border:1px solid #5378c759}.effect-heal{color:#8fe1c7;background:#49a18a2e;border:1px solid #49a18a59}.effect-dot{color:#ffc488;background:#c179372e;border:1px solid #c1793759}.effect-type-fire{color:#ffb37f;background:#bf522c33;border:1px solid #bf522c66}.effect-type-bleed{color:#ff9aa8;background:#9b303d38;border:1px solid #9b303d6b}.effect-type-poison{color:#bde58d;background:#53843f38;border:1px solid #53843f6b}.effect-type-ice{color:#b9e1ff;background:#5992bf33;border:1px solid #5992bf66}.effect-type-lightning{color:var(--state-warning-text-strong);background:#bca13938;border:1px solid #bca1396b}.effect-type-shield,.effect-type-holy{color:var(--state-info-text);background:#628dba33;border:1px solid #628dba61}.effect-type-regen{color:#9be2c2;background:#37956e38;border:1px solid #37956e6b}.effect-type-fear,.effect-type-curse,.effect-type-shadow{color:#cbb2ff;background:#5f4a8138;border:1px solid #5f4a816b}@keyframes page-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes campaignsFadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes campaignsHeroGlow{0%,to{opacity:.72;transform:translate(0,0)scale(1)}50%{opacity:1;transform:translate(-1.5%,-3%)scale(1.04)}}@media (width<=900px){.profile-page-layout{padding:24px 14px 42px}.profile-page-cover{min-height:240px;padding:18px}.profile-page-card{width:min(100%,1000px);padding:0 20px 24px}.page-loading-grid{grid-template-columns:1fr}.profile-page-loading-header{text-align:center;grid-template-columns:1fr;justify-items:center;gap:18px}.profile-page-loading-header-copy{justify-items:center;width:100%;padding-top:0}.profile-page-loading-header-top{flex-direction:column;align-items:center;width:100%}.profile-page-loading-meta{justify-content:center}.profile-page-header{text-align:center;grid-template-columns:1fr;justify-items:center;gap:18px}.profile-page-header-copy{justify-items:center;padding-top:0}.profile-page-title-row{flex-direction:column;align-items:center}.profile-page-header-actions{justify-content:center}.profile-page-biography{text-align:center}.profile-page-content{grid-template-columns:1fr}.profile-page-body{padding:18px}.profile-page-friends-preview-grid,.profile-page-character-preview-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.profile-page-friends-modal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-page-friends-modal-backdrop,.profile-page-status-modal-backdrop,.campaign-modal-backdrop,.campaign-badge-editor-backdrop,.campaign-confirm-backdrop{--app-mobile-modal-top-clearance:88px;--app-mobile-modal-bottom-clearance:10px;padding:calc(env(safe-area-inset-top,0px) + var(--app-mobile-modal-top-clearance)) 8px calc(env(safe-area-inset-bottom,0px) + var(--app-mobile-modal-bottom-clearance));place-items:stretch stretch}.profile-page-friends-modal,.profile-page-status-modal,.campaign-modal,.campaign-badge-editor-modal{width:100%;height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - var(--app-mobile-modal-top-clearance) - var(--app-mobile-modal-bottom-clearance));grid-template-rows:auto minmax(0,1fr) auto;gap:10px;max-height:none;padding:12px;overflow:hidden}.profile-page-friends-modal-body,.profile-page-status-modal-body,.campaign-modal-body{overscroll-behavior:contain;min-height:0;padding-bottom:22px;scroll-padding-bottom:22px;overflow-y:auto}.profile-page-friends-modal-body{grid-template-rows:minmax(0,1fr);align-content:stretch;display:grid}:is(.profile-page-friends-modal-body:has(.profile-page-friends-search),.profile-page-friends-modal-body:has(.profile-page-badge-editor-toolbar)){grid-template-rows:auto minmax(0,1fr)}.profile-page-badge-editor-modal .profile-page-friends-modal-body,.profile-page-character-detail-modal .profile-page-friends-modal-body{grid-template-rows:minmax(0,1fr)}.profile-page-campaign-history-modal .profile-page-friends-modal-body:has(>.profile-page-campaign-history-summary){flex-direction:column;grid-template-rows:none;align-content:stretch;align-items:stretch;gap:12px;display:flex}.profile-page-campaign-history-modal .profile-page-friends-modal-body:has(>.profile-page-campaign-history-summary)>*{flex:none;min-width:0}.profile-page-campaign-history-summary,.profile-page-campaign-history-members{height:auto;min-height:0}.profile-page-campaign-history-summary-header{grid-template-columns:1fr;gap:10px}.profile-page-campaign-history-summary-meta{justify-content:flex-start}.profile-page-campaign-history-members-list{gap:10px}.profile-page-campaign-history-member{padding:10px}.profile-page-campaign-history-member-main,.profile-page-campaign-history-member-summary{grid-template-columns:1fr;justify-content:stretch;align-items:stretch;gap:10px;display:grid}.profile-page-campaign-history-member-main:has(.profile-page-campaign-history-member-summary){grid-template-columns:1fr;align-items:stretch}.profile-page-campaign-history-member-main:has(.profile-page-campaign-history-member-summary):before{display:none}.profile-page-campaign-history-member-heading{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.profile-page-campaign-history-member-main:has(.profile-page-campaign-history-member-summary) .profile-page-campaign-history-member-heading{display:grid}:is(.profile-page-campaign-history-member-main:has(.profile-page-campaign-history-member-summary) .profile-page-campaign-history-member-summary,.profile-page-campaign-history-member-main:has(.profile-page-campaign-history-member-summary) .profile-page-campaign-history-member-player,.profile-page-campaign-history-member-main:has(.profile-page-campaign-history-member-summary) .profile-page-campaign-history-member-role){grid-area:auto}.profile-page-campaign-history-member-player,.profile-page-campaign-history-member-character{width:100%}.profile-page-campaign-history-member-separator{display:none}.profile-page-campaign-history-member-role{justify-self:start;margin-left:0}.campaign-confirm-modal{width:100%;max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - var(--app-mobile-modal-top-clearance) - var(--app-mobile-modal-bottom-clearance));align-self:center;overflow:hidden}.campaign-confirm-well{min-height:0;overflow-y:auto}.profile-page-friend-preview-card{border-radius:12px;gap:8px;padding:8px}.profile-page-friend-preview-card.has-status-bubble .profile-page-friend-preview-avatar,.profile-page-friend-preview-avatar,.profile-page-friends-modal-avatar{width:78%;margin-top:6px}.profile-page-friend-preview-card strong{letter-spacing:.02em;font-size:.64rem}.profile-page-friends-modal-card{gap:8px;min-height:142px;padding:8px}.profile-page-character-preview-card{gap:6px;padding:8px}.profile-page-character-preview-avatar{min-height:68px}.profile-page-character-preview-card .profile-page-character-avatar{width:min(78%,64px)}.profile-page-character-preview-card .profile-page-character-copy strong{font-size:.64rem}.profile-page-character-preview-card .profile-page-character-copy p{font-size:.62rem}.profile-page-friends-modal-card strong{font-size:.68rem}.profile-page-badge-editor-layout{grid-template-columns:1fr}.profile-page-badge-editor-grid{grid-template-columns:repeat(auto-fill,minmax(88px,1fr))}.profile-page-friends-modal{width:100%;height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - var(--app-mobile-modal-top-clearance) - var(--app-mobile-modal-bottom-clearance));grid-template-rows:auto minmax(0,1fr) auto;max-height:none;padding:12px;overflow:hidden}.profile-page-badge-editor-modal{grid-template-rows:auto minmax(0,1fr) auto}.profile-page-friends-modal-body,.profile-page-friends-modal-list{min-height:0;padding:14px;overflow-y:auto}.profile-page-comment-header{flex-direction:column;align-items:stretch}.profile-page-comment-date{white-space:normal}.profile-page-comments-pagination{justify-content:stretch}.profile-page-comments-page-actions{justify-content:space-between}.campaigns-hero{grid-template-columns:1fr;padding:22px}.campaigns-hero-copy{min-height:auto}.campaigns-hero h1{max-width:18ch}.campaigns-hero-insights{grid-template-columns:1fr 1fr}.campaigns-hero-actions{justify-content:flex-start;align-self:start}.campaigns-hero-spotlight{grid-template-columns:1fr}.campaigns-hero-spotlight-main{padding-right:0}.campaigns-hero-spotlight-main:after{display:none}.campaigns-hero-spotlight-side{padding-left:0}.campaigns-workspace-grid,.theme-accent-panel{grid-template-columns:1fr}.session-hud-page{margin:0;padding:32px 18px 18px}.session-hud-header,.session-hud-shell{grid-template-columns:1fr}.session-hud-header{align-items:start;display:grid}.session-hud-header-nav,.session-hud-header-actions{justify-content:flex-start}.session-hud-shell{min-height:auto}.session-hud-main{padding-right:0;overflow:visible}.session-turn-hovercard{width:100%;margin-top:8px;position:static;transform:none}.landing-layout,.login-layout{grid-template-columns:1fr;gap:26px;min-height:auto}.login-layout{--login-mobile-page-pad-x:clamp(18px, 4vw, 32px);padding:24px var(--login-mobile-page-pad-x) 32px}.landing-brand-panel,.login-brand-panel{padding:0}.login-brand-panel{overflow:visible}.login-brand-panel:before{left:calc(var(--login-mobile-page-pad-x) * -1)}.landing-actions-panel,.login-form-panel{border-left:none;border-top:1px solid var(--border);padding:24px 0 0}.login-brand-copy{max-width:100%}.login-brand-copy h1{max-width:11ch;font-size:clamp(2.55rem,10vw,4rem);line-height:1.02}.login-panel-shell{width:100%;padding:22px}.login-register-grid,.login-username-row{grid-template-columns:1fr}.login-availability-button{width:100%}.landing-actions-panel{justify-items:start;padding:0}.landing-actions,.login-meta{justify-content:start}.hero-panel,.character-hero{flex-direction:column;align-items:start}.character-hero-sheet{align-items:stretch}.character-hero-main{flex-direction:column;align-items:start;width:100%;min-width:0}.character-summary-panel{min-width:0}.character-hero-actions{justify-content:flex-end;width:100%}.character-summary-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-grid,.character-section-grid,.character-section-grid-wide,.character-grid,.stats-grid,.form-grid,.attribute-grid,.campaign-card-grid,.split-list,.narrative-layout,.target-toggle-grid,.campaigns-overview-grid,.item-template-grid,.campaign-summary-layout,.session-main-top-grid,.session-bottom-hud,.session-bottom-hud-stats,.table-state-summary-grid,.table-state-resource-grid,.table-state-action-groups,.table-turn-hotbar,.session-generic-panel-grid,.session-dice-panel-grid,.session-annotations-panel-grid{grid-template-columns:1fr}.session-bottom-hud{gap:16px}.session-bottom-hud-panel{border-left:0;padding:16px 0 0}.session-bottom-hud-panel:before{background:linear-gradient(90deg, var(--accent-border-ghost), var(--accent-border) 18%, var(--accent-border) 82%, var(--accent-border-ghost));width:auto;height:1px;box-shadow:0 0 10px var(--accent-border-faint);inset:0 10px auto}.session-bottom-hud-panel:first-child{padding-top:0}.session-bottom-hud-panel:last-child{padding-right:0}.campaign-invite-row,.campaign-config-summary{grid-template-columns:1fr}.campaign-mobile-overlay-backdrop{padding:18px}.campaign-mobile-overlay{padding:22px 18px}.campaign-list-header{flex-direction:column;align-items:start}.campaign-modal-header{flex-direction:row;align-items:flex-start;width:100%}.campaign-modal-header>div:first-child{min-width:0}.campaign-modal-close{flex:0 0 40px;align-self:flex-start;margin-left:auto}.campaign-maps-modal{width:100%}.campaign-maps-session-header{grid-template-columns:1fr auto;gap:12px}.campaign-maps-session-meta{grid-column:1/-1;justify-content:flex-start}.campaign-maps-session-meta>span{min-width:0}.campaign-maps-item{grid-template-columns:1fr;min-height:0}.campaign-maps-item-preview{min-height:180px}.campaign-maps-item-actions{grid-template-columns:1fr;min-width:0}.campaign-maps-item-meta,.character-proficiency-defense-list,.proficiency-builder-row-defense{grid-template-columns:1fr}.proficiency-builder-row-defense>.secondary-action{min-width:0}.campaign-session-map-configure-card,.campaign-session-map-configure-summary,.campaign-configurator-grid,.campaign-configurator-intro-grid,.campaign-config-actions,.campaign-parameter-row,.campaign-builder-row,.campaign-effect-builder-row,.campaign-badge-editor-body,.campaign-badge-option-grid,.campaign-badge-color-editor,.session-campaign-effect-apply,.session-campaign-effect-apply-labels,.session-campaign-effect-apply-controls{grid-template-columns:1fr}.session-campaign-effect-apply-controls>.session-campaign-effect-field,.session-campaign-effect-apply-controls>.session-campaign-effect-preview,.session-campaign-effect-apply-controls>.session-campaign-effect-submit{grid-area:auto/1}.campaign-config-actions-save,.campaign-config-actions-save .primary-action,.campaign-config-actions-secondary,.campaign-config-actions-secondary>button{justify-items:stretch;width:100%}.campaign-config-actions-secondary{grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch;gap:8px;display:grid}.campaign-config-actions{gap:10px}.campaign-config-actions-save .primary-action,.campaign-config-actions-secondary>.button-reset{white-space:normal;justify-content:center;min-height:42px;padding:9px 12px;line-height:1.35}.campaign-config-actions-save .primary-action{min-height:44px}.campaign-modal .campaign-configurator-panel .campaign-builder-row,.campaign-modal .campaign-configurator-panel .campaign-effect-builder-row{gap:8px;padding:10px}.campaign-modal .campaign-configurator-panel .campaign-builder-row>.danger-action,.campaign-modal .campaign-configurator-panel .campaign-effect-builder-row>.danger-action{justify-self:end;width:auto;min-width:132px;min-height:38px;padding:8px 12px}.campaign-badge-editor-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.campaign-badge-option-scroll{max-height:min(360px,56vh)}.campaign-card-side,.campaign-card-meta{text-align:left;justify-items:start;min-width:0}.campaign-list-actions-inline{justify-content:flex-start}.campaign-list-actions-primary-master{grid-template-columns:1fr}.campaign-list-actions-primary-master>:last-child{width:100%}.table-state-master-panel{min-width:0}.field-span-2{grid-column:auto}}@media (width<=640px){.login-layout{--login-mobile-page-pad-x:16px;padding:18px var(--login-mobile-page-pad-x) 28px;gap:22px}.login-brand-copy{gap:16px}.login-brand-copy h1{max-width:11ch;font-size:clamp(2.35rem,10.4vw,3.55rem)}.login-brand-copy .hero-copy{line-height:1.7}.login-brand-detail{width:100%}.login-panel-shell{padding:22px}.session-modal-overlay{--session-mobile-modal-top-clearance:112px;--session-mobile-modal-bottom-clearance:8px;z-index:140;padding:calc(env(safe-area-inset-top,0px) + var(--session-mobile-modal-top-clearance)) 6px calc(env(safe-area-inset-bottom,0px) + var(--session-mobile-modal-bottom-clearance));place-items:stretch stretch}.session-modal-overlay-nested{z-index:150;padding:calc(env(safe-area-inset-top,0px) + var(--session-mobile-modal-top-clearance)) 6px calc(env(safe-area-inset-bottom,0px) + var(--session-mobile-modal-bottom-clearance))}.session-modal-card{width:100%;min-height:0;max-height:none;height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - var(--session-mobile-modal-top-clearance) - var(--session-mobile-modal-bottom-clearance));border-radius:12px;gap:10px;padding:10px}.session-modal-header{gap:8px}.session-modal-header h2{margin-bottom:2px;font-size:.86rem;line-height:1.2}.session-modal-header .muted-copy{font-size:.88rem;line-height:1.42}.session-modal-close{width:36px;min-width:36px;height:36px}.session-character-roster-modal{grid-template-rows:auto auto auto auto;padding-bottom:24px;scroll-padding-bottom:24px;overflow:hidden auto}.session-character-roster-group-controls{flex-direction:column;align-items:stretch;gap:6px}.session-character-roster-group-list{gap:6px}.session-character-roster-group-chip{min-height:34px;padding:7px 10px;font-size:.62rem}.session-character-roster-group-create{width:100%;min-height:34px}.session-character-roster-group-manager{grid-template-columns:1fr;gap:8px}.session-character-roster-group-sidebar,.session-character-roster-group-workspace{max-height:none}.session-character-roster-group-sidebar{grid-template-columns:none;grid-auto-columns:minmax(156px,1fr);grid-auto-flow:column;padding:8px;overflow:auto hidden}.session-character-roster-group-sidebar-header{grid-auto-columns:auto;grid-auto-flow:row;min-width:156px}.session-character-roster-group-row{min-height:52px}.session-character-roster-group-workspace{padding:10px}.session-character-roster-group-workspace-header{flex-direction:column;align-items:stretch}.session-character-roster-group-toggle{justify-content:center;width:100%}.session-character-roster-group-columns{grid-template-columns:1fr}.session-character-roster-group-member-list{min-height:136px;max-height:152px;margin-bottom:14px;padding:8px}.session-character-group-member-action{width:28px}.session-character-roster-grid{grid-template-columns:1fr;gap:0;min-height:0;padding-right:0;overflow:visible}.session-character-roster-tabs{gap:5px;padding:3px}.session-character-roster-tabs>.hud-tab-button{min-height:34px;font-size:var(--app-button-font-size-compact);padding:8px 10px}.session-character-roster-column{gap:0}.session-character-roster-list{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));grid-auto-rows:minmax(104px,auto);gap:8px;min-height:104px;max-height:132px;padding:8px}.session-character-roster-tile.session-bottom-inventory-item,.session-character-roster-tile-button{min-height:104px}.session-character-roster-tile-button{gap:6px;padding:10px 8px}.session-character-roster-tile-avatar,.session-character-roster-create-plus{width:48px;height:48px}.session-character-roster-tile-copy strong{font-size:.72rem}.session-character-roster-tile-copy span{font-size:.74rem}.session-character-roster-detail{min-height:0;box-shadow:none;background:0 0;border:0;gap:0;padding:0;overflow:visible}.session-character-roster-detail-shell{border:1px solid var(--line-subtle);border-radius:var(--pixel-radius);background:var(--surface-well);min-width:0;box-shadow:inset 0 0 0 1px var(--shadow-medium);gap:10px;padding:10px;display:grid}.session-character-roster-summary{box-shadow:none;background:0 0;border:0;gap:10px;padding:0;display:grid}.session-character-roster-summary-grid{grid-template-columns:1fr;gap:10px;display:grid}.session-character-roster-summary-group{width:100%;box-shadow:none;background:0 0;border:0;grid-column:1/-1;padding:0 0 12px}.session-character-roster-summary-group:not(:first-child){border-left:0;border-top:1px solid var(--line-subtle);padding-top:12px;padding-left:0}.session-character-roster-summary-metrics,.session-character-roster-chip-grid,.session-character-detail-attributes,.session-character-equipment-slots{grid-template-columns:repeat(2,minmax(0,1fr))}.session-character-roster-detail-header{align-items:flex-start;gap:8px}.session-character-roster-detail-actions{flex-wrap:nowrap;justify-content:stretch;width:100%}.session-character-roster-resistance-visibility-action{margin-left:0}.session-character-roster-detail-actions>.button-reset,.session-character-roster-detail-actions>.primary-action,.session-character-roster-detail-actions>.secondary-action,.session-character-roster-detail-actions>.neutral-action{flex:1 1 0;justify-content:center;min-width:0;min-height:36px}.session-character-roster-detail-grid,.session-character-roster-summary-grid,.session-character-roster-edit-grid{grid-template-columns:1fr;gap:10px}.session-generic-panel-modal,.session-sheet-modal,.session-master-template-modal{width:100%;height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - var(--session-mobile-modal-top-clearance) - var(--session-mobile-modal-bottom-clearance));gap:10px;max-height:none;padding:10px}.session-entry-role-modal{height:auto;max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - var(--session-mobile-modal-top-clearance) - var(--session-mobile-modal-bottom-clearance));grid-template-rows:auto auto;align-self:start;gap:12px;padding:14px;overflow-y:auto}.session-entry-role-modal .session-modal-header{display:grid}.session-entry-role-grid{grid-template-columns:1fr;gap:10px}.session-entry-role-option{gap:6px;min-height:0;padding:14px}.session-entry-role-option strong{letter-spacing:.12em;font-size:.78rem}.session-entry-role-option span{font-size:.88rem;line-height:1.4}.session-generic-panel-modal,.session-master-template-modal{grid-template-rows:auto minmax(0,1fr)}.session-character-detail-card,.session-character-detail-card-compact{z-index:160;flex-direction:column;grid-template-columns:1fr;align-content:start;gap:10px;width:auto;min-width:0;max-width:none;height:auto;max-height:none;padding:56px 10px 10px;display:flex;overflow-y:auto;left:8px!important;right:8px!important;top:calc(env(safe-area-inset-top,0px) + var(--session-mobile-modal-top-clearance,88px))!important;bottom:calc(env(safe-area-inset-bottom,0px) + 10px)!important;transform:none!important}.session-character-detail-card>*,.session-character-detail-card-compact>*{flex:none}.session-character-detail-card .session-character-detail-close-button,.session-character-detail-card-compact .session-character-detail-close-button{display:inline-flex}.session-character-detail-card>.session-character-detail-header,.session-character-detail-card>.session-character-detail-section,.session-character-detail-card-compact>.session-character-detail-header,.session-character-detail-card-compact>.session-character-detail-section,.session-character-detail-attributes-section,.session-character-detail-effects-section,.session-character-detail-resistances-section,.session-character-detail-proficiencies-section,.session-character-detail-saving-throws-section,.session-character-equipment-section,.session-character-equipment-inventory-section,.session-character-detail-card-compact .session-character-detail-effects-section,.session-character-detail-card-compact .session-character-detail-resistances-section,.session-character-detail-card-compact .session-character-detail-proficiencies-section,.session-character-detail-card-compact .session-character-detail-saving-throws-section{grid-area:auto/1/auto/-1;align-self:stretch;height:auto;min-height:0}.session-character-detail-header{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:10px}.session-character-detail-avatar{width:82px;height:82px}.session-character-detail-copy{gap:8px}.session-character-detail-copy>strong{font-size:.94rem;line-height:1.25}.session-character-detail-copy>p{font-size:.74rem;line-height:1.35}.session-character-detail-stats{grid-template-columns:repeat(auto-fit,minmax(84px,1fr));gap:6px;display:grid}.session-character-detail-stat-ui-chip{justify-content:center;width:100%;min-width:0}.session-character-detail-stat-ui-chip strong{font-size:.64rem}.session-character-detail-attributes,.session-character-equipment-slots{grid-template-columns:repeat(2,minmax(0,1fr))}.session-character-detail-card .session-character-equipment-slot-wrapper,.session-character-detail-card-compact .session-character-equipment-slot-wrapper,.session-character-detail-card .session-character-equipment-slot,.session-character-detail-card-compact .session-character-equipment-slot{height:auto}.session-turn-effect-tooltip-card,.session-character-roster-summary .session-turn-effect-tooltip-card,.session-character-detail-effects .session-turn-effect-tooltip-card,.session-character-detail-resistances .session-turn-effect-tooltip-card{width:min(260px,100vw - 32px);max-width:calc(100vw - 32px);left:0;right:auto;transform:none}.session-turn-effect-tooltip:hover .session-turn-effect-tooltip-card,.session-turn-effect-tooltip:focus-within .session-turn-effect-tooltip-card,.session-character-roster-summary .session-turn-effect-tooltip:hover .session-turn-effect-tooltip-card,.session-character-roster-summary .session-turn-effect-tooltip:focus-within .session-turn-effect-tooltip-card{transform:translateY(-4px)}.session-character-equipment-flyout,.profile-page-character-equipment-tooltip-portal{width:auto;max-width:none;max-height:min(520px, calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 48px));overscroll-behavior:contain;-webkit-overflow-scrolling:touch;overflow-y:auto;inset:50% 8px auto!important;transform:translateY(-50%)!important}.session-generic-panel-grid,.session-dice-panel-grid,.session-annotations-panel-grid,.session-master-template-modal-body,.session-sheet-modal-frame{min-height:0;scroll-padding-bottom:28px;overflow-y:auto}.session-generic-panel-grid,.session-dice-panel-grid,.session-annotations-panel-grid{flex-direction:column;align-content:start;align-items:stretch;gap:10px;padding-bottom:18px;padding-right:4px;display:flex}.session-generic-panel-section{grid-template-rows:auto;align-self:stretch;gap:8px;height:auto;padding:10px;overflow:hidden}.session-generic-panel-stack{min-height:0;overflow:hidden}.session-dice-panel-grid .session-generic-panel-section{flex:none}.session-dice-panel-grid .session-generic-panel-section:last-child{flex:440px;grid-template-rows:auto minmax(0,1fr);min-height:360px}.session-dice-panel-grid .session-generic-panel-section:first-child .session-generic-panel-stack{overflow:visible}.session-dice-panel-card{padding:10px}.session-dice-panel-card .visibility-type{align-items:start;gap:8px}.session-dice-panel-visibility-note{text-align:right;max-width:56%;padding:6px 8px;font-size:.56rem;line-height:1.45}.session-dice-panel-recent{max-height:180px}.session-dice-panel-private-stage,.session-dice-panel-private-stage .dice-tray-shell,.session-dice-panel-private-stage .threejs-dice-roll-shell,.session-dice-panel-private-stage .dice-tray-stage,.session-dice-panel-private-stage .threejs-dice-roll-stage{min-height:0}.session-dice-panel-private-stage{height:100%}.session-dice-panel-private-result,.session-dice-panel-private-empty{border-radius:14px;min-width:min(240px,100% - 24px);padding:12px 14px;bottom:16px}.page-layout,.campaigns-page-layout,.character-page-layout,.settings-page-layout,.session-hud-page{min-width:0}.hero-panel,.character-hero,.page-heading,.campaigns-hero,.session-hud-header{border-radius:12px;padding:18px}.hero-panel h1,.character-hero h1,.page-heading h1,.campaigns-hero h1,.session-hud-header h1{overflow-wrap:anywhere;text-wrap:balance;max-width:100%;font-size:clamp(1.65rem,8vw,2.25rem);line-height:1.08}.campaigns-hero{grid-template-columns:1fr;gap:18px}.campaigns-hero p,.hero-copy,.session-hud-header p{font-size:.95rem;line-height:1.6}.campaigns-hero-actions,.hero-actions,.character-hero-actions,.inline-actions{justify-content:stretch;width:100%}.campaigns-hero-actions>.button-reset,.hero-actions>.button-reset,.character-hero-actions>.button-reset,.inline-actions>.button-reset,.inline-actions>.primary-action,.inline-actions>.secondary-action,.inline-actions>.neutral-action{flex:100%;justify-content:center}.campaign-sessions-embedded .auth-form>.inline-actions{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:8px;padding-top:10px;display:grid}.campaign-sessions-embedded .auth-form>.inline-actions>.button-reset,.campaign-sessions-embedded .auth-form>.inline-actions>.primary-action,.campaign-sessions-embedded .auth-form>.inline-actions>.secondary-action,.campaign-sessions-embedded .auth-form>.inline-actions>.success-action,.campaign-sessions-embedded .auth-form>.inline-actions>.danger-action{justify-content:center;width:100%;min-height:42px;padding:9px 12px}.campaign-sessions-embedded .auth-form>.inline-actions>.primary-action{grid-column:1/-1;min-height:44px}.session-modal-header>div:first-child{min-width:0}.session-sheet-modal-actions,.session-master-template-modal .session-modal-header>.inline-actions{flex-wrap:nowrap;flex:none;justify-content:flex-end;gap:8px;width:auto}.session-sheet-modal-actions>.button-reset,.session-sheet-modal-actions>.primary-action,.session-sheet-modal-actions>.secondary-action,.session-sheet-modal-actions>.neutral-action,.session-master-template-modal .session-modal-header>.inline-actions>.button-reset,.session-master-template-modal .session-modal-header>.inline-actions>.primary-action,.session-master-template-modal .session-modal-header>.inline-actions>.secondary-action,.session-master-template-modal .session-modal-header>.inline-actions>.neutral-action{flex:none;justify-content:center;width:auto;min-width:0}.session-sheet-modal-actions>.primary-action,.session-master-template-modal .session-modal-header>.inline-actions>.primary-action{min-width:148px;padding-inline:16px}.session-sheet-modal-actions>.session-modal-close,.session-master-template-modal .session-modal-header>.inline-actions>.session-modal-close{flex-basis:36px;width:36px;min-width:36px;padding:0}.campaign-workspace-toggle{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;display:grid}.campaign-workspace-toggle .campaigns-hero-action{width:100%;min-width:0;min-height:44px;padding-inline:12px}.campaign-card,.campaign-list-card,.campaign-session-history-item,.wiki-page-card,.profile-page-panel,.profile-page-panel-card,.character-summary-panel{min-width:0}.campaign-selection-card{padding:16px}.campaign-list-header{grid-template-columns:1fr;gap:16px}.campaign-card-side{justify-items:stretch;width:100%}.campaign-card-corner-actions{z-index:3;display:inline-flex;position:absolute;top:12px;right:12px}.campaign-card-inline-danger-action{display:none}.campaign-card-heading{padding-right:54px}.campaign-list-actions-primary,.campaign-list-actions-primary-master{grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch;gap:8px;display:grid}.campaign-list-actions-primary>.button-reset,.campaign-list-actions-primary-master>.button-reset,.campaign-list-actions-primary>.primary-action,.campaign-list-actions-primary-master>.primary-action,.campaign-list-actions-primary>.success-action,.campaign-list-actions-primary-master>.success-action{letter-spacing:clamp(.05em,.7vw,.12em);white-space:normal;overflow-wrap:anywhere;text-wrap:balance;justify-content:center;width:100%;min-height:46px;padding:10px 12px;font-size:clamp(.62rem,2.7vw,.78rem);line-height:1.35}.campaign-list-actions-primary>.button-reset:only-child{grid-column:1/-1}.campaign-list-actions-secondary{grid-template-columns:repeat(3,minmax(0,1fr));justify-content:stretch;gap:8px;display:grid}.campaign-list-actions-secondary-player{grid-template-columns:1fr}.campaign-list-actions-secondary>.button-reset{letter-spacing:clamp(.04em,.62vw,.11em);overflow-wrap:anywhere;text-wrap:balance;justify-content:center;width:100%;min-width:0;min-height:42px;padding:9px 10px;font-size:clamp(.58rem,2.45vw,.74rem);line-height:1.25}.campaign-list-actions-secondary>.campaign-icon-action-button{width:100%;min-width:0;padding:0}.campaign-list-actions-secondary-player>.campaign-character-action-button{letter-spacing:clamp(.04em,.62vw,.08em);white-space:normal;padding-inline:8px;font-size:clamp(.58rem,2.45vw,.7rem);line-height:1.35}.campaign-card-actions,.campaign-session-history-toolbar,.campaign-session-map-actions{grid-template-columns:1fr;justify-items:stretch;display:grid}.campaign-card-actions>.button-reset,.campaign-session-history-toolbar>.button-reset,.campaign-session-map-actions>.button-reset{justify-content:center;width:100%}.campaign-session-history-item{grid-template-columns:1fr}.campaign-session-history-date,.campaign-session-history-copy{min-width:0}.campaign-session-history-copy strong,.wiki-page-card strong{overflow-wrap:anywhere}.character-summary-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.character-page-layout-embedded{gap:10px;padding:8px}.character-page-layout-embedded .character-hero{grid-template-columns:minmax(0,1fr);align-items:start;gap:10px;padding:10px;display:grid}.character-page-layout-embedded .character-hero-main{flex-direction:row;align-items:center;gap:12px;width:100%;min-width:0;padding:10px}.character-page-layout-embedded .character-avatar-button{gap:6px;padding:8px}.character-page-layout-embedded .character-avatar-image,.character-page-layout-embedded .character-avatar-fallback{width:72px;height:72px}.character-page-layout-embedded .character-avatar-faction-mark{width:42px;height:42px}.character-page-layout-embedded .character-avatar-faction-icon{width:22px;height:22px}.character-page-layout-embedded .character-avatar-edit-hint{letter-spacing:.08em;font-size:.54rem}.character-page-layout-embedded .character-hero-copy-block{align-content:center;gap:4px}.character-page-layout-embedded .character-hero-copy-block .eyebrow{letter-spacing:.12em;font-size:.62rem}.character-page-layout-embedded .character-hero h1{font-size:clamp(1.35rem,7vw,1.85rem);line-height:1.05}.character-page-layout-embedded .character-hero-copy-block .muted-copy{font-size:.86rem;line-height:1.35}.character-page-layout-embedded .character-summary-panel{gap:8px;padding:10px}.character-page-layout-embedded .character-summary-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.character-page-layout-embedded .character-summary-stat{gap:3px;min-height:0;padding:8px 10px}.character-page-layout-embedded .character-summary-stat .label{letter-spacing:.1em;font-size:.58rem}.character-page-layout-embedded .character-summary-stat strong{font-size:.92rem}.character-page-layout-embedded .character-hero-actions{justify-content:stretch}.character-page-layout-embedded .section-card-header{padding:12px 12px 0}.character-page-layout-embedded .section-card-body{margin:0 12px 12px;padding:12px}.character-avatar-image,.character-avatar-fallback{width:104px;height:104px}.session-hud-page{padding:10px 8px 12px;overflow-x:clip}.session-hud-header,.session-hud-shell,.session-hud-page>.section-card,.session-hud-page>.feedback{width:100%;max-width:100%}.session-hud-page>.section-card.session-table-map-controls-anchor{justify-self:center;width:calc(100vw - 16px);max-width:calc(100vw - 16px)}.session-hud-shell{gap:8px}.session-hud-sidebar{justify-self:start;width:auto;max-width:100%}.session-turn-sidebar-card{width:fit-content;max-width:100%;overflow:hidden}.session-hud-sidebar .session-turn-sidebar-card .section-card-header{margin-bottom:8px;padding:12px 14px 0}.session-hud-sidebar .session-turn-sidebar-card .section-card-title{font-size:.92rem;line-height:1}.session-hud-sidebar .session-turn-sidebar-card .section-card-body{margin:0 10px 10px;padding-top:0}.session-turn-panel-layer{gap:8px;width:auto;max-height:none;padding:10px;overflow:visible}.session-turn-list{justify-items:start;gap:6px;display:grid}.session-turn-item,.session-turn-item.is-current,.session-turn-item.is-upcoming{grid-template-columns:1fr;place-items:center;gap:0;width:56px;min-width:56px;min-height:56px;padding:6px;display:grid}.session-turn-list>.session-turn-item:nth-child(n+3){display:none}.session-turn-avatar,.session-turn-item.is-upcoming .session-turn-avatar{width:38px;height:38px}.session-turn-avatar-icon,.session-turn-item.is-upcoming .session-turn-avatar-icon{width:18px;height:18px}.session-turn-copy,.session-turn-item.is-upcoming .session-turn-copy,.session-turn-item .session-turn-hovercard,.session-sidebar-separator,.session-sidebar-summary,.session-hud-page>.feedback{display:none}.session-hud-header{grid-template-columns:1fr;gap:10px;padding:0;position:relative}.session-hud-header-info{padding-right:44px}.session-hud-header .eyebrow{margin-bottom:2px;font-size:.72rem}.session-hud-header h1{margin-bottom:2px;font-size:clamp(1.35rem,7vw,1.85rem);line-height:1.02}.session-hud-header-title-separator{margin:4px 0 6px}.session-hud-header-meta{flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:8px;padding-bottom:0;font-size:.66rem;display:flex;overflow:visible}.session-hud-header-code,.session-hud-header-session{border-radius:var(--pixel-radius-sm);white-space:nowrap;text-overflow:ellipsis;align-items:center;font-size:.54rem;line-height:1.2;overflow:hidden}.session-hud-header-code{justify-content:center;width:32px;min-width:32px;max-width:32px;height:32px;min-height:32px;padding:0;overflow:hidden}.session-hud-header-code-label{height:32px;font-size:.5rem}.session-hud-header-session{color:#d8cbb7;min-width:0;min-height:auto;box-shadow:none;text-transform:uppercase;background:0 0;border:0;padding:0;display:inline-flex}.session-hud-header-meta-separator{display:none}.session-hud-header-toggle{z-index:2;justify-content:center;align-items:center;width:36px;min-width:36px;height:28px;min-height:28px;padding:0;font-size:.68rem;display:inline-flex;position:absolute;top:12px;right:12px}.session-hud-header-toggle-icon{width:12px;height:12px}.session-hud-header-nav,.session-hud-header-actions,.session-hud-header-mode-row,.session-bottom-hud-links,.hud-tab-list,.session-item-action-row{scrollbar-width:none;flex-wrap:nowrap;justify-content:flex-start;display:flex;overflow-x:auto}.session-hud-header-nav,.session-hud-header-actions{width:100%;max-width:100%;padding:0}.session-hud-header-nav{opacity:0;max-height:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;pointer-events:none;visibility:hidden;background:0 0;border-color:#0000;flex-wrap:wrap;transition:max-height .22s,opacity .18s,padding .22s,transform .22s,visibility 0s linear .22s;overflow:hidden;transform:translateY(-4px)}.session-hud-header-nav>*{flex:calc(50% - 6px);justify-content:center;min-height:40px;padding:10px 12px;font-size:.68rem}.session-hud-nav-button,.session-hud-nav-button:hover,.session-hud-nav-button:focus-visible{gap:8px;width:auto;min-width:0;max-width:none;padding:10px 12px}.session-hud-nav-button-exit{margin-left:0}.session-hud-nav-separator{display:none}.session-hud-nav-button-label,.session-hud-nav-button:hover .session-hud-nav-button-label,.session-hud-nav-button:focus-visible .session-hud-nav-button-label{opacity:1;max-width:128px;transform:none}.session-hud-header-actions{opacity:0;max-height:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;pointer-events:none;visibility:hidden;background:0 0;border-color:#0000;transition:max-height .22s,opacity .18s,padding .22s,transform .22s,visibility 0s linear .22s;overflow:hidden;transform:translateY(-4px)}.session-hud-header-status{opacity:1;pointer-events:none;visibility:visible;width:auto;max-width:100%;max-height:none;padding:8px;transition:none;overflow:visible;transform:none}.session-hud-header-status .session-table-map-mode-card{pointer-events:none}.session-hud-header-actions>*{justify-content:center;align-items:center;width:100%;min-height:40px;display:inline-flex}.session-hud-header.is-actions-open .session-hud-header-nav{opacity:1;border-color:color-mix(in srgb, var(--border) 84%, transparent);background:color-mix(in srgb, var(--bg-panel) 86%, transparent);background-image:var(--panel-pattern), var(--panel-pattern);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:auto;visibility:visible;background-size:16px 16px,16px 16px;max-height:220px;padding:8px;transition:max-height .22s,opacity .18s,padding .22s,transform .22s,visibility;transform:translateY(0);box-shadow:0 10px 28px #00000047,inset 0 0 0 1px #ffffff09}.session-hud-header.is-actions-open .session-hud-header-actions{opacity:1;border-color:color-mix(in srgb, var(--border) 84%, transparent);background:color-mix(in srgb, var(--bg-panel) 86%, transparent);background-image:var(--panel-pattern), var(--panel-pattern);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:auto;visibility:visible;background-size:16px 16px,16px 16px;max-height:64px;padding:8px;transition:max-height .22s,opacity .18s,padding .22s,transform .22s,visibility;transform:translateY(0);box-shadow:0 10px 28px #00000047,inset 0 0 0 1px #ffffff09}.session-hud-mode-button,.session-hud-mode-card{min-height:44px;font-size:var(--app-button-font-size-compact);padding:10px 12px}.session-feed-drawer-toggle{right:12px;bottom:calc(86px + env(safe-area-inset-bottom,0px));border-right:1px solid var(--line-soft);border-radius:var(--pixel-radius);width:48px;min-width:48px;height:48px;box-shadow:var(--shadow);opacity:1;pointer-events:auto;transition:right .18s,bottom .22s,opacity .18s,transform .22s,border-color .18s,background .18s,color .18s;transform:translateY(0)}.session-feed-live-stack{right:12px;bottom:calc(104px + env(safe-area-inset-bottom,0px));width:min(320px,100vw - 24px)}.session-feed-drawer-toggle.is-open{opacity:0;pointer-events:none;right:12px}.session-feed-drawer-toggle.is-bottom-hud-expanded:not(.is-open){opacity:0;pointer-events:none;transform:translateY(12px)}.session-feed-drawer{top:88px;left:auto;right:4px;bottom:calc(44px + env(safe-area-inset-bottom,0px));border:1px solid var(--accent-border-strong);z-index:90;border-radius:12px 12px 0 0;grid-template-rows:auto minmax(0,1fr);gap:8px;width:min(50vw,100vw - 16px);height:auto;max-height:none;padding:12px 8px 8px;transform:translateY(calc(100% + 48px))}.session-feed-drawer.is-open{transform:translateY(0)}.session-feed-drawer-toolbar{align-items:center;gap:6px;display:flex}.session-feed-drawer-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;width:min(320px,100%);min-width:0;display:grid;position:static}.session-feed-drawer-tabs>.button-reset{border-radius:var(--pixel-radius);width:100%;min-width:0;min-height:34px;font-size:var(--app-button-font-size-compact);letter-spacing:.12em;white-space:normal;writing-mode:horizontal-tb;text-orientation:mixed;padding:0 8px;line-height:1.15;transform:none}.session-feed-drawer-filters{gap:5px;margin-right:auto}.session-feed-drawer-icon-toggle{width:34px;min-width:34px;height:34px}.session-feed-drawer-icon-toggle .session-inline-icon{width:14px;height:14px}.session-feed-drawer-mobile-close{place-items:center;width:34px;min-width:34px;height:34px;min-height:34px;padding:0;font-size:.72rem;line-height:1;display:grid;top:8px;right:8px}.session-feed-drawer-body,.session-feed-drawer-message-layout{gap:8px}.session-feed-drawer-message-rail{--session-feed-thread-button-size:34px;border-radius:8px;gap:6px;width:40px;padding:6px 4px;left:-50px}.session-feed-drawer-thread-contacts{gap:6px;padding-top:6px}.session-feed-drawer-thread-scroll{width:min(180px,50vw - 8px);padding-bottom:14px;padding-right:24px}.session-feed-drawer-thread-button{gap:8px;padding:0 9px}.session-feed-drawer-thread-button:hover,.session-feed-drawer-thread-button:focus-visible{width:min(150px,50vw - 20px)}.session-feed-drawer-thread-label{font-size:.56rem}.session-feed-drawer-message-layout .session-feed-drawer-composer-row{grid-template-columns:minmax(0,1fr) auto}.session-feed-drawer-scroll-shell{border-radius:8px}.session-feed-drawer-scroll{border:0;border-radius:8px;gap:7px;padding:10px 8px}.session-feed-drawer-entry{gap:4px;width:100%;padding:9px}.session-feed-drawer-entry-other{margin-left:0}.session-feed-drawer-entry strong{font-size:.78rem}.session-feed-drawer-entry p{font-size:.78rem;line-height:1.35}.session-feed-drawer-entry-meta{letter-spacing:.1em;padding:3px 6px;font-size:.54rem}.session-feed-drawer-entry[class*=session-feed-log-]{gap:6px;padding:2px 0}.session-feed-drawer-entry[class*=session-feed-log-] .session-feed-drawer-entry-meta{letter-spacing:0;padding:0;font-size:.76rem}.session-feed-drawer-body-fade-top,.session-feed-drawer-body-fade-bottom{height:16px;right:1px}.session-feed-drawer-composer{border-radius:8px;gap:6px;padding:8px}.session-feed-drawer-composer-row{gap:6px}.session-feed-drawer-composer .ui-field-label{font-size:.58rem}.session-feed-drawer-composer .ui-input,.session-feed-drawer-composer .ui-select-input,.session-feed-drawer-composer .button-reset,.session-feed-drawer-composer .primary-action{min-height:34px;font-size:var(--app-button-font-size)}@media (height<=720px){.session-feed-drawer-toggle{bottom:calc(74px + env(safe-area-inset-bottom,0px))}.session-feed-live-stack{bottom:calc(92px + env(safe-area-inset-bottom,0px))}.session-feed-drawer{top:64px;bottom:calc(40px + env(safe-area-inset-bottom,0px));gap:6px;padding:10px 6px 6px}.session-feed-drawer-tabs>.button-reset{min-height:32px}.session-feed-drawer-toolbar,.session-feed-drawer-body,.session-feed-drawer-message-layout{gap:6px}.session-feed-drawer-message-rail{--session-feed-thread-button-size:32px}.session-feed-drawer-scroll{padding-top:8px;padding-bottom:8px}.session-feed-drawer-composer{padding:6px}}.session-hud-header-nav::-webkit-scrollbar{display:none}.session-hud-header-actions::-webkit-scrollbar{display:none}.session-hud-header-mode-row::-webkit-scrollbar{display:none}.session-bottom-hud-links::-webkit-scrollbar{display:none}.hud-tab-list::-webkit-scrollbar{display:none}.session-item-action-row::-webkit-scrollbar{display:none}.session-hud-header-nav>*,.session-hud-header-actions>*,.session-hud-header-mode-row>*,.session-bottom-hud-links>*,.hud-tab-list>*,.session-item-action-row>*{flex:none}.session-hud-header-nav>*{flex:calc(50% - 6px)}.session-hud-header-actions>*{flex:100%}.session-bottom-hud,.session-bottom-hud.session-bottom-hud-admin-layout{box-sizing:border-box;opacity:1;transform-origin:top;grid-template-columns:1fr;align-content:start;gap:8px;width:100%;max-width:100%;max-height:520px;margin-top:4px;padding:6px;transition:max-height .22s,opacity .18s,transform .22s,margin-top .22s,padding .22s;overflow:hidden;transform:translateY(0)}.session-bottom-hud-collapse-row{align-items:center;gap:8px;width:100%;max-width:100%;margin:8px 0 0;display:flex}.session-bottom-hud-collapse-row:before,.session-bottom-hud-collapse-row:after{content:"";background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--line-soft) 72%, transparent));flex:auto;min-width:0;height:1px}.session-bottom-hud-collapse-row:after{background:linear-gradient(90deg, color-mix(in srgb, var(--line-soft) 72%, transparent), transparent)}.session-bottom-hud-collapse-toggle{z-index:5;border-radius:9px;flex:0 0 38px;justify-content:center;align-items:center;width:38px;min-width:38px;height:30px;min-height:30px;margin:0;padding:0;display:inline-flex}.session-bottom-hud-collapse-toggle-icon{width:12px;height:12px}.session-mobile-targeting-bar{left:12px;right:12px;bottom:calc(env(safe-area-inset-bottom,0px) + 76px);z-index:35;border:1px solid var(--accent-border);background:linear-gradient(180deg, #2b3138f5, #181c22fa), var(--surface-card);box-shadow:0 14px 30px var(--shadow-strong);border-radius:12px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:10px;display:grid;position:fixed}.session-mobile-targeting-copy{gap:3px;min-width:0;display:grid}.session-mobile-targeting-copy strong{color:var(--text-bright);font-family:var(--font-pixel);letter-spacing:.12em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:.72rem;overflow:hidden}.session-mobile-targeting-copy span{color:var(--text-soft);font-size:.78rem;line-height:1.25}.session-mobile-targeting-bar>.button-reset{min-height:34px;font-size:var(--app-button-font-size-compact);white-space:nowrap;padding:7px 9px}.session-table-map-targeting-hint{display:none}.session-bottom-hud.is-mobile-collapsed,.session-bottom-hud.session-bottom-hud-admin-layout.is-mobile-collapsed{opacity:0;pointer-events:none;max-height:0;margin-top:0;padding-top:0;padding-bottom:0;transform:translateY(12px)}.session-bottom-hud-panel,.session-bottom-hud-admin-layout .session-bottom-hud-panel-character{box-sizing:border-box;width:100%;max-width:100%;min-height:auto;max-height:none;padding:6px;overflow-x:hidden}.session-bottom-hud-mobile-tabs{border:1px solid var(--line-subtle);border-radius:var(--pixel-radius);background:var(--surface-well);order:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:3px;display:grid}.session-bottom-hud-mobile-tabs>.hud-tab-button{width:100%;min-width:0;min-height:32px;font-size:var(--app-button-font-size-compact);letter-spacing:var(--app-button-letter-spacing-compact);justify-content:center;padding:6px 5px;transition:background-color .16s,border-color .16s,color .16s,transform .16s,box-shadow .16s;position:relative;overflow:hidden}.session-bottom-hud-mobile-tabs>.hud-tab-button.is-active{transform:translateY(-1px)}.session-bottom-hud-tab-panel{display:none}.session-bottom-hud-tab-panel.is-active{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;max-height:34vh;animation:.18s session-bottom-hud-panel-enter;display:grid;overflow:hidden auto}@keyframes session-bottom-hud-panel-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.session-bottom-hud-tab-panel-actor{order:1}.session-bottom-hud-tab-panel-turn{order:2}.session-bottom-hud-tab-panel-turn.is-active{max-height:min(180px,26vh);overflow:visible}.session-bottom-turn-panel{grid-template-rows:auto auto;align-content:start;justify-items:stretch}.session-bottom-turn-panel .session-bottom-hud-panel-layer,.session-bottom-turn-panel .session-bottom-hud-panel-layer-compact{align-self:stretch;height:auto;min-height:0}.session-bottom-turn-panel .session-bottom-hud-links{align-self:stretch;justify-items:stretch;height:auto;min-height:0}.session-bottom-turn-panel .session-bottom-hud-links:not(.session-bottom-hud-links-admin){justify-items:center}.session-bottom-turn-panel .session-end-turn-button{height:52px;min-height:52px;width:min(160px,100%)!important;min-width:0!important}.session-bottom-turn-panel .session-free-mode-indicator{height:auto;min-height:48px}.session-bottom-hud-tab-panel-inventory{order:3}.session-bottom-inventory-panel{grid-template-rows:auto auto minmax(0,1fr);height:min(380px,42vh);max-height:42vh;overflow:hidden}.session-bottom-hud-panel-layer,.session-bottom-hud-panel-layer-compact,.session-bottom-hud.session-bottom-hud-admin-layout .session-bottom-hud-panel-layer,.session-bottom-hud.session-bottom-hud-admin-layout .session-bottom-hud-panel-layer-compact{box-sizing:border-box;gap:6px;width:100%;max-width:100%;height:auto;min-height:0;padding:6px}.session-bottom-hud-panel>.section-label,.session-bottom-hud-actor-select .ui-field-label,.session-bottom-inventory-panel-header>.section-label,.session-bottom-hud-admin-control .ui-field-label{letter-spacing:.12em;font-size:.66rem}.session-bottom-hud-actor-select{gap:5px;width:100%;min-width:0;max-width:100%}.session-bottom-hud-actor-select .ui-select,.session-bottom-hud.session-bottom-hud-admin-layout .session-bottom-hud-actor-select .ui-select{box-sizing:border-box;width:100%;min-width:0;max-width:100%}.session-bottom-hud.session-bottom-hud-admin-layout .session-bottom-hud-actor-select .ui-select{min-height:34px;padding:7px 34px 7px 12px}.session-bottom-hud-admin-copy{gap:6px;width:100%;min-width:0;max-width:100%;overflow:hidden}.session-bottom-hud-admin{width:100%;min-width:0;max-width:100%;overflow:hidden}.session-bottom-hud-admin-metric{min-height:0;padding:6px 8px}.session-bottom-hud-admin-metric-copy{flex-direction:row;justify-content:center;align-items:baseline;gap:6px;display:inline-flex}.session-bottom-hud-admin-metric-copy>span{font-size:.68rem}.session-bottom-hud-admin-metric-copy strong{font-size:.92rem}.session-bottom-hud-admin-stepper .ui-stepper-button,.session-bottom-hud.session-bottom-hud-admin-layout .session-bottom-hud-admin-stepper .ui-stepper-button,.session-bottom-hud-admin-stepper .ui-stepper-input,.session-bottom-hud.session-bottom-hud-admin-layout .session-bottom-hud-admin-stepper .ui-stepper-input{min-height:32px}.session-bottom-hud-admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.session-bottom-hud-admin-controls{box-sizing:border-box;grid-template-columns:1fr;gap:6px;width:100%;min-width:0;max-width:100%}.session-bottom-hud-admin-control{box-sizing:border-box;grid-template-columns:minmax(0,1fr);align-items:center;gap:6px;width:100%;min-width:0;max-width:100%}.session-bottom-hud-admin-control .ui-field-label{min-height:0;line-height:1.25}.session-bottom-hud.session-bottom-hud-admin-layout .session-bottom-hud-admin-stepper{width:100%}.session-loadout-group-inventory-body{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:1fr;min-height:0;overflow:hidden}.session-loadout-groups{overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;grid-template-columns:none;gap:8px;display:flex;overflow-x:auto}.session-loadout-groups::-webkit-scrollbar{display:none}.session-loadout-groups,.session-loadout-group,.session-loadout-group-inventory,.session-loadout-group-inventory-body,.session-loadout-scroll,.session-bottom-inventory-anchor{height:100%;min-height:0}.session-loadout-group{scroll-snap-align:start;flex:0 0 min(82vw,320px)}.session-loadout-group:before{color:var(--text-muted);font-family:var(--font-pixel);letter-spacing:.14em;text-transform:uppercase;margin:0 0 6px;font-size:.62rem;line-height:1;display:block}.session-loadout-group:first-child:before{content:"Armas"}.session-loadout-group:nth-child(2):before{content:"Feiticos"}.session-loadout-group:nth-child(3):before{content:"Itens"}.session-loadout-scroll{max-height:none;padding:8px;overflow-y:auto}.session-bottom-inventory-meta,.session-bottom-inventory-panel-header,.session-bottom-hud-admin-layout .session-bottom-inventory-panel-header{grid-template-columns:1fr;align-items:stretch;gap:8px}.session-bottom-inventory-panel-header>.section-label{white-space:normal;max-width:100%;line-height:1.25}.session-bottom-inventory-panel-header>div:empty{display:none}.session-bottom-inventory-search{justify-self:stretch;max-width:none}.session-bottom-inventory-search-control{justify-self:end;width:96px}.session-bottom-inventory-search-control.has-map-actions{grid-template-columns:repeat(2,30px) 10px 30px;gap:5px;width:138px}.session-bottom-inventory-search-control.has-map-picker{grid-template-columns:repeat(3,30px) 10px 30px;width:174px}.session-bottom-inventory-search-control.has-feed-action{grid-template-columns:30px 10px repeat(2,30px);gap:5px;width:120px}.session-bottom-inventory-search-control.has-map-actions.has-feed-action{grid-template-columns:repeat(2,30px) 10px 30px 10px repeat(2,30px);width:210px}.session-bottom-inventory-search-control.has-map-picker.has-feed-action{grid-template-columns:repeat(3,30px) 10px 30px 10px repeat(2,30px);width:246px}.session-bottom-inventory-search-control.is-open{width:min(320px,100vw - 24px)}.session-bottom-inventory-search-control.has-map-actions.is-open{grid-template-columns:repeat(2,30px) 10px 30px minmax(0,1fr) 10px repeat(2,30px);gap:6px;width:min(460px,100vw - 24px);padding-inline:18px}.session-bottom-inventory-search-control.has-map-actions.is-zoom-open{grid-template-columns:repeat(2,30px) minmax(150px,1fr) 10px 30px 10px repeat(2,30px)}.session-bottom-inventory-search-control.has-map-actions.is-search-open{grid-template-columns:repeat(2,30px) 10px 30px minmax(0,1fr) 10px repeat(2,30px)}.session-bottom-inventory-search-control.has-map-picker.is-zoom-open{grid-template-columns:repeat(3,30px) minmax(150px,1fr) 10px 30px 10px repeat(2,30px)}.session-bottom-inventory-search-control.has-map-picker.is-search-open{grid-template-columns:repeat(3,30px) 10px 30px minmax(0,1fr) 10px repeat(2,30px)}.session-bottom-inventory-search-control.has-map-picker.is-map-picker-open{grid-template-columns:30px minmax(150px,1fr) repeat(2,30px) 10px 30px 10px repeat(2,30px);gap:6px;width:min(500px,100vw - 24px);padding-inline:18px}.session-bottom-inventory-search-control.has-map-actions .session-bottom-inventory-search-toggle,.session-bottom-inventory-map-picker{width:30px;min-width:30px}.session-bottom-inventory-search-popover{grid-template-columns:minmax(190px,1fr) auto;width:min(320px,100vw - 24px);right:0}.session-bottom-inventory-group-tabs{z-index:2;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;display:grid;position:relative}.session-bottom-inventory-group-tabs>.hud-tab-button{letter-spacing:.08em;justify-content:center;align-items:center;gap:5px;min-width:0;min-height:32px;padding:6px 5px;font-size:.58rem;display:inline-flex}.session-bottom-inventory-group-tabs>.hud-tab-button>span{background:color-mix(in srgb, var(--surface-card) 76%, transparent);min-width:18px;height:18px;color:var(--text-soft);font-family:var(--font-sans);letter-spacing:0;border-radius:999px;place-items:center;padding:0 5px;font-size:.68rem;display:inline-grid}.session-bottom-inventory-group-tabs>.hud-tab-button.is-active>span{background:color-mix(in srgb, var(--accent-surface-selected) 72%, transparent);color:var(--text-bright)}.session-loadout-groups{scroll-snap-type:none;grid-template-columns:1fr;display:grid;overflow:hidden}.session-bottom-inventory-anchor{overflow:hidden}.session-hud-floating-card,.session-bottom-hud .session-floating-item-card,.session-bottom-hud .session-item-action-card{overscroll-behavior:contain;z-index:190;max-height:min(56vh,100dvh - 172px);overflow-y:auto;top:auto!important;left:8px!important;right:8px!important;bottom:calc(env(safe-area-inset-bottom,0px) + 76px)!important;width:auto!important;max-width:none!important;position:fixed!important;transform:none!important}.session-loadout-group{flex:none;min-height:0;display:none;overflow:hidden}.session-loadout-group.is-mobile-active{grid-template-rows:minmax(0,1fr);display:grid}.session-loadout-group:before{display:none}.session-bottom-inventory-grid,.session-bottom-inventory-grid-compact{grid-template-columns:repeat(auto-fill,minmax(min(88px,100%),104px));grid-auto-rows:minmax(82px,auto);align-content:start;gap:5px;height:auto;min-height:0;padding-right:0;overflow:visible}.session-bottom-inventory-item{min-height:82px}.session-bottom-inventory-row{text-align:center;flex-direction:column;gap:2px;min-height:0;padding:5px 4px;display:flex}.session-bottom-inventory-icon{justify-self:center;width:11px;height:11px;font-size:.68rem}.session-bottom-inventory-copy strong{font-size:clamp(.5rem,.46rem + .22vw,.56rem);line-height:1.05}.session-bottom-inventory-copy span{font-size:.52rem;line-height:1.05}.session-bottom-inventory-source-tabs{grid-template-columns:repeat(2,minmax(0,92px));place-content:stretch center;align-self:end;gap:6px;width:100%}.session-bottom-inventory-source-tabs .hud-tab-button{height:32px;min-height:32px;padding:0}.session-bottom-inventory-source-tabs .session-inline-icon{width:13px;height:13px;font-size:.78rem}.session-bottom-hud-character{text-align:left;grid-template-columns:auto minmax(0,1fr);place-items:center start}.session-bottom-hud-avatar{width:48px;height:48px;font-size:1rem}.session-bottom-hud-header{justify-items:start}.session-bottom-hud-effects{grid-column:1/-1;justify-content:flex-start}.session-bottom-hud-links,.session-bottom-hud-links-admin{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;width:100%;display:grid;overflow:visible}.session-bottom-hud-links-admin>.session-admin-command-button-wide{grid-column:auto}.session-bottom-hud-links-admin>.session-admin-command-button{min-height:44px;font-size:var(--app-button-font-size-compact);letter-spacing:var(--app-button-letter-spacing-compact);gap:5px;padding:9px 6px}.session-bottom-hud-links-admin>.session-admin-command-button .session-inline-icon{width:14px;height:14px}.session-bottom-hud-links>*,.session-bottom-hud-links-admin>*{justify-content:center;width:100%;min-width:0}.session-bottom-hud-links:not(.session-bottom-hud-links-admin){grid-template-columns:1fr}.session-observer-card{gap:10px;padding:8px;display:grid}.session-observer-card .session-observer-banner{padding:12px}.profile-page-character-preview-grid,.profile-page-friends-modal-grid,.profile-page-friends-preview-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.profile-page-friend-preview-card{gap:6px;padding:6px}.profile-page-friends-modal-card{min-height:126px}.profile-page-friends-modal-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.profile-page-friends-modal-header>div{min-width:0}.profile-page-friends-modal-close{flex:0 0 42px;align-self:flex-start;margin-left:auto}.profile-page-friends-modal-backdrop{--app-mobile-modal-top-clearance:88px;--app-mobile-modal-bottom-clearance:10px;padding:calc(env(safe-area-inset-top,0px) + var(--app-mobile-modal-top-clearance)) 8px calc(env(safe-area-inset-bottom,0px) + var(--app-mobile-modal-bottom-clearance));place-items:stretch stretch}.profile-page-friends-modal{width:100%;height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - var(--app-mobile-modal-top-clearance) - var(--app-mobile-modal-bottom-clearance));grid-template-rows:auto minmax(0,1fr) auto;max-height:none;overflow:hidden}.profile-page-badge-editor-modal{grid-template-rows:auto minmax(0,1fr) auto}.profile-page-friends-modal-body,.profile-page-friends-modal-list{min-height:0;padding:12px;overflow-y:auto}.profile-page-character-detail-modal{grid-template-rows:auto auto;align-content:start;overflow:hidden auto}.profile-page-character-detail-modal .profile-page-friends-modal-body{min-height:auto;max-height:none;overflow:visible}.profile-page-character-detail-card{z-index:auto;grid-template-columns:minmax(0,1fr);grid-auto-rows:auto;align-content:start;gap:10px;width:100%;min-width:0;max-width:100%;height:auto;max-height:none;padding:10px;display:grid;overflow:visible;position:static!important;inset:auto!important;transform:none!important}.profile-page-character-detail-modal .profile-page-character-detail-card{grid-template-columns:minmax(0,1fr);max-width:100%}.profile-page-character-detail-card>.session-character-detail-header,.profile-page-character-detail-card>.session-character-detail-section,.profile-page-character-detail-card .session-character-equipment-section{grid-area:auto/1;min-width:0;height:auto;min-height:0}.profile-page-character-detail-card>.session-character-detail-header{grid-template-columns:auto minmax(0,1fr);gap:12px;padding:12px}.profile-page-character-detail-card .session-character-detail-avatar{width:72px;height:72px}.profile-page-character-detail-card .session-character-detail-copy{gap:7px}.profile-page-character-detail-card .session-character-detail-copy>strong,.profile-page-character-detail-card .session-character-detail-copy>p{overflow-wrap:anywhere}.profile-page-character-detail-card .profile-page-character-detail-stats-row{gap:6px}.profile-page-character-detail-card .session-character-detail-attributes{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-page-character-detail-equipment-slots,.profile-page-character-detail-card .session-character-equipment-slots{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(58px,auto)}.profile-page-character-detail-card .session-character-equipment-slot{min-width:0}.profile-page-character-detail-card .session-character-equipment-section{align-self:stretch}}@media (width<=520px){.session-modal-overlay{--session-mobile-modal-top-clearance:136px}}@media (width<=640px){.profile-page-cover{min-height:190px}.profile-page-card{border-radius:0 0 18px 18px;margin-top:-44px;padding:0 14px 18px}.profile-page-body{gap:16px;padding:14px}.profile-page-avatar{border-radius:22px;width:132px;height:132px}.profile-page-avatar-wrap{border-radius:26px;padding:5px}.profile-page-avatar-wrap:before{filter:blur(14px);border-radius:28px;inset:-8px}.profile-page-title-stack h1{overflow-wrap:anywhere;font-size:clamp(1.55rem,8.4vw,2.15rem);line-height:1.1}.profile-summary-footer{flex-direction:column;align-items:stretch}}button.button-reset.button-reset,a.button-reset.button-reset,.primary-action.primary-action,.secondary-action.secondary-action,.neutral-action.neutral-action,.success-action.success-action,.danger-action.danger-action{overflow-wrap:normal;word-break:normal;-webkit-hyphens:none;hyphens:none}
