.dlg[data-v-1e0cace7]{padding:0;border:none;background:transparent;outline:none}.dlg[data-v-1e0cace7]::backdrop{background:#0a0907c7;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.dlg-card[data-v-1e0cace7]{margin:0;min-width:min(92vw,26rem);padding:0;border:1px solid rgba(255,255,255,.07);border-radius:var(--radius-lg);background:var(--surface);box-shadow:0 0 0 1px #0006,0 12px 48px #000000a6,0 2px 8px #0000004d;animation:dlg-in-1e0cace7 .14s ease-out;overflow:hidden}.dlg-title[data-v-1e0cace7]{padding:var(--space-4) var(--space-5) var(--space-4);border-bottom:1px solid var(--divider);font-size:1rem;font-weight:600;margin:0}.dlg-body[data-v-1e0cace7]{padding:var(--space-4) var(--space-5)}.dlg-footer[data-v-1e0cace7]{padding:var(--space-3) var(--space-5) var(--space-4);border-top:1px solid var(--divider);margin:0}@keyframes dlg-in-1e0cace7{0%{opacity:0;scale:.97}to{opacity:1;scale:1}}.kv[data-v-193bc39d]{display:grid;grid-template-columns:1fr auto;gap:var(--space-1) var(--space-4);margin:var(--space-3) 0}.kv dt[data-v-193bc39d]{color:var(--muted)}.kv dd[data-v-193bc39d]{margin:0;text-align:right;font-variant-numeric:tabular-nums}.meta[data-v-193bc39d]{font-size:.85em;margin:var(--space-3) 0 var(--space-2)}.small[data-v-193bc39d]{font-size:.85em}.ok[data-v-193bc39d]{color:var(--accent)}.err[data-v-193bc39d]{color:var(--hostile)}.campaigns[data-v-193bc39d],.backups[data-v-193bc39d]{list-style:none;padding:0;margin:var(--space-1) 0 0;display:flex;flex-direction:column;gap:var(--space-2)}.backup[data-v-193bc39d]{border-bottom:1px solid var(--border);padding-bottom:var(--space-2)}.confirm[data-v-193bc39d]{margin:var(--space-2) 0 0}.cards[data-v-193bc39d]{display:flex;flex-direction:column;gap:var(--space-3)}.card-panel[data-v-193bc39d]{background:var(--panel-2);border:1px solid var(--panel-border);border-radius:var(--radius-md);overflow:hidden}.card-head[data-v-193bc39d]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);border-bottom:1px solid var(--panel-border)}.card-icon[data-v-193bc39d]{font-size:1rem;line-height:1}.card-title[data-v-193bc39d]{font-weight:600;font-size:.9rem;flex:1}.card-badge[data-v-193bc39d]{font-size:.72rem;padding:2px var(--space-2);border-radius:99px;font-weight:500}.card-badge.ok[data-v-193bc39d]{background:#5fae7326;color:var(--ally)}.card-body[data-v-193bc39d]{padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2)}.card-empty[data-v-193bc39d]{gap:0}.user-row[data-v-193bc39d]{align-items:flex-start}.avatar[data-v-193bc39d]{width:40px;height:40px;border-radius:50%;object-fit:cover;flex-shrink:0;border:2px solid var(--surface)}.drive-err[data-v-193bc39d]{margin-top:var(--space-1)}.drive-list[data-v-193bc39d]{list-style:none;padding:0;margin:var(--space-1) 0 0;display:flex;flex-direction:column;gap:var(--space-2)}.drive-item[data-v-193bc39d]{border-bottom:1px solid var(--border);padding-bottom:var(--space-2)}.drive-item[data-v-193bc39d]:last-child{border-bottom:none;padding-bottom:0}.icon-btn[data-v-193bc39d]{padding:var(--space-1) var(--space-2)}.icon[data-v-77370c4d]{display:inline-block;vertical-align:middle;flex-shrink:0}.backup-status[data-v-95faabc2]{width:100%;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);background:var(--panel-2);border:1px solid var(--panel-border);border-radius:var(--radius-md);text-align:left;cursor:pointer;transition:background var(--motion-fast) var(--ease-out)}.backup-status[data-v-95faabc2]:hover{background:var(--surface)}.status-row[data-v-95faabc2]{display:grid;grid-template-columns:1rem 3.2rem 1fr auto;align-items:center;gap:var(--space-2)}.row-icon[data-v-95faabc2]{color:var(--muted-2);font-size:.85em;line-height:1}.row-label[data-v-95faabc2]{color:var(--muted);font-size:.8rem}.row-date[data-v-95faabc2]{color:var(--text);font-size:.8rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-date.dimmed[data-v-95faabc2]{color:var(--muted-2)}.dot[data-v-95faabc2]{width:6px;height:6px;border-radius:50%;flex-shrink:0}.dot.ok[data-v-95faabc2]{background:var(--ally)}.dot.warn[data-v-95faabc2]{background:var(--neutral)}.dot.error[data-v-95faabc2]{background:var(--hostile)}.sidebar[data-v-51d1ce3f]{display:flex;flex-direction:column;gap:var(--space-3);min-height:calc(100vh - 54px);padding:var(--space-4) var(--space-3);background:#161410;border-right:1px solid #26221b}.campaign-home[data-v-51d1ce3f]{display:block;color:var(--text);padding:var(--space-1) var(--space-2) var(--space-3);border-bottom:1px solid var(--divider)}.campaign-home strong[data-v-51d1ce3f],.campaign-kicker[data-v-51d1ce3f]{display:block}.campaign-home strong[data-v-51d1ce3f]{margin-top:2px;overflow:hidden;font-size:1rem;text-overflow:ellipsis;white-space:nowrap}.campaign-kicker[data-v-51d1ce3f]{color:var(--muted-2);font-family:var(--font-mono);font-size:.64rem;letter-spacing:.14em;text-transform:uppercase}.campaign-home[data-v-51d1ce3f]:hover{color:var(--accent-2);text-decoration:none}.nav-groups[data-v-51d1ce3f]{display:flex;flex-direction:column;gap:var(--space-3)}.nav-list[data-v-51d1ce3f]{display:flex;flex-direction:column;gap:var(--space-1)}.nav-item[data-v-51d1ce3f]{display:flex;align-items:center;gap:var(--space-2);min-height:36px;padding:7px var(--space-2);border-radius:var(--radius);color:#c7c0b4;font-size:.95rem}.nav-item[data-v-51d1ce3f]:hover{background:var(--panel-2);text-decoration:none}.nav-item.active[data-v-51d1ce3f]{background:#d9803f21;color:var(--accent-2)}.nav-count[data-v-51d1ce3f]{margin-left:auto;color:var(--muted-2);font-family:var(--font-mono);font-size:.78rem}.create-menu[data-v-51d1ce3f]{position:relative}.create-menu summary[data-v-51d1ce3f]{display:flex;align-items:center;gap:var(--space-2);padding:9px var(--space-2);color:var(--accent-2);border:1px solid rgba(217,128,63,.28);border-radius:var(--radius);background:#d9803f14;font-size:.88rem;font-weight:700;cursor:pointer;list-style:none}.create-menu summary[data-v-51d1ce3f]::-webkit-details-marker{display:none}.create-menu[open] summary[data-v-51d1ce3f]{border-color:var(--accent)}.create-actions[data-v-51d1ce3f]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-1);padding-top:var(--space-2)}.create-actions button[data-v-51d1ce3f]{display:inline-flex;align-items:center;gap:var(--space-1);min-width:0;padding:7px;color:var(--muted);background:var(--panel);font-size:.78rem}.section-head[data-v-51d1ce3f]{font-family:var(--font-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted-2);margin-bottom:var(--space-1)}.recent-item[data-v-51d1ce3f]{display:flex;align-items:center;gap:var(--space-2);min-height:30px;color:var(--muted);padding:var(--space-1) var(--space-2);border-radius:6px;font-size:.9rem}.recent-item span[data-v-51d1ce3f]:last-child{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recent-item[data-v-51d1ce3f]:hover{background:var(--panel-2);text-decoration:none}.dot[data-v-51d1ce3f]{width:7px;height:7px;flex:none;border-radius:50%;background:var(--muted)}.dot.ally[data-v-51d1ce3f]{background:var(--ally)}.dot.neutral[data-v-51d1ce3f]{background:#6aabdc}.dot.place[data-v-51d1ce3f]{background:var(--neutral)}.dot.hostile[data-v-51d1ce3f]{background:var(--hostile)}.dot.quest[data-v-51d1ce3f]{background:var(--accent-2)}.recent-section[data-v-51d1ce3f]{padding-top:var(--space-1);border-top:1px solid var(--divider)}.backup-status-widget[data-v-51d1ce3f]{margin-top:auto}.search-surface[data-v-8bbf9f13]{min-width:0}.group-label[data-v-8bbf9f13]{font-size:.75em;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:var(--space-2) var(--space-2) var(--space-1)}.no-results[data-v-8bbf9f13]{padding:var(--space-3)}.search-surface[data-v-8bbf9f13] a.row{color:var(--text);padding:var(--space-2);border-radius:var(--radius)}.search-surface[data-v-8bbf9f13] a.row:hover,.search-surface[data-v-8bbf9f13] a.row.active{background:var(--panel-2);text-decoration:none}.search-surface[data-v-8bbf9f13] a.row.active{outline:1px solid var(--accent);outline-offset:-1px}.search[data-v-2483b852]{position:relative;flex:1;max-width:28rem}.input-wrap[data-v-2483b852]{position:relative}.search-icon[data-v-2483b852]{position:absolute;left:var(--space-2);top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.input-wrap input[data-v-2483b852]{padding-left:calc(var(--space-2) * 2 + 18px)}.backdrop[data-v-2483b852]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.overlay[data-v-2483b852]{position:absolute;top:calc(100% + var(--space-1));left:0;right:0;z-index:50;max-height:70vh;overflow-y:auto;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-1);box-shadow:0 8px 24px #0006}.active-session-dock[data-v-fe7fa5cf]{display:flex;align-items:center;gap:9px;min-width:0;color:var(--text);background:linear-gradient(120deg,#d9803f24,#1e1b16fa);border:1px solid rgba(217,128,63,.36);box-shadow:0 8px 24px #0003}.active-session-dock.desktop[data-v-fe7fa5cf]{max-width:430px;height:38px;padding:4px 5px 4px 10px;border-radius:11px}.live-dot[data-v-fe7fa5cf]{width:8px;height:8px;flex:none;border-radius:50%;background:#74c98d;box-shadow:0 0 0 3px #74c98d1f}.session-copy[data-v-fe7fa5cf]{display:flex;flex-direction:column;min-width:0;line-height:1.15}.campaign-name[data-v-fe7fa5cf],.session-name[data-v-fe7fa5cf]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.campaign-name[data-v-fe7fa5cf]{color:var(--muted);font-size:.66rem}.session-name[data-v-fe7fa5cf]{font-size:.78rem}.current-state[data-v-fe7fa5cf],.return-link[data-v-fe7fa5cf]{flex:none;color:var(--accent-2);font-size:.75rem;font-weight:700}.current-state[data-v-fe7fa5cf]{padding:0 4px}.return-link[data-v-fe7fa5cf]{padding:6px 7px;border-radius:7px;background:#d9803f1f}.return-link[data-v-fe7fa5cf]:hover{color:var(--text);text-decoration:none;background:#d9803f33}.dice-button[data-v-fe7fa5cf]{flex:none;min-height:28px;display:inline-flex;align-items:center;gap:5px;padding:4px 7px;color:var(--text);background:var(--panel-2);border:1px solid var(--border);border-radius:7px;font-size:.75rem}.die-mark[data-v-fe7fa5cf]{color:var(--accent-2);font-size:.65rem;font-weight:800}.active-session-dock.mobile[data-v-fe7fa5cf]{position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:34;min-height:58px;padding:8px 8px 8px 12px;border-radius:14px}.active-session-dock.mobile.above-bottom-nav[data-v-fe7fa5cf]{bottom:calc(72px + env(safe-area-inset-bottom))}.mobile .session-copy[data-v-fe7fa5cf]{flex:1}.mobile .campaign-name[data-v-fe7fa5cf]{font-size:.7rem}.mobile .session-name[data-v-fe7fa5cf]{font-size:.85rem}.mobile .current-state[data-v-fe7fa5cf],.mobile .return-link[data-v-fe7fa5cf]{min-height:44px;display:inline-flex;align-items:center;padding:0 9px}.mobile .dice-button[data-v-fe7fa5cf]{min-width:44px;min-height:44px;justify-content:center;padding:5px 8px}.mobile .dice-label[data-v-fe7fa5cf]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.topbar[data-v-fcbe317e]{display:flex;align-items:center;gap:var(--space-3);height:54px;padding:0 var(--space-4);background:var(--panel);border-bottom:1px solid #26221b;position:sticky;top:0;z-index:30}.logo[data-v-fcbe317e]{margin:0;white-space:nowrap;font-size:1rem}.logo a[data-v-fcbe317e]{color:var(--text)}.logo-link[data-v-fcbe317e]{display:inline-flex;align-items:center;gap:var(--space-2)}.logo-link[data-v-fcbe317e] .icon{color:var(--accent)}.topbar-divider[data-v-fcbe317e]{width:1px;height:22px;background:var(--border)}.campaign-pill[data-v-fcbe317e]{color:var(--text);font-weight:700;padding:var(--space-1) var(--space-2);border-radius:7px}.campaign-pill[data-v-fcbe317e]:hover{background:#d9803f1f;color:var(--accent-2);text-decoration:none}.topbar-spacer[data-v-fcbe317e]{flex:1}.topbar-menu[data-v-fcbe317e]{position:relative}.icon-button[data-v-fcbe317e]{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;padding:0;color:var(--muted);background:transparent;border:1px solid #2e2922}.dice-trigger[data-v-fcbe317e]{color:var(--accent-2)}.topbar-dropdown[data-v-fcbe317e]{position:absolute;top:calc(100% + var(--space-1));right:0;z-index:50;margin-bottom:0;white-space:nowrap}.menu-pop-enter-active[data-v-fcbe317e],.menu-pop-leave-active[data-v-fcbe317e]{transition:opacity var(--motion-fast) var(--ease-out),transform var(--motion-fast) var(--ease-out)}.menu-pop-enter-from[data-v-fcbe317e],.menu-pop-leave-to[data-v-fcbe317e]{opacity:0;transform:translateY(-6px) scale(.98)}.banner[data-v-fcbe317e]{padding:var(--space-2) var(--space-3);border:1px solid var(--hostile);border-radius:6px;margin:0 0 var(--space-4)}.banner.err[data-v-fcbe317e]{color:var(--hostile)}.state[data-v-fcbe317e]{text-align:center;padding:var(--space-6) var(--space-4)}.wide[data-v-fcbe317e]{max-width:none}.with-sidebar[data-v-fcbe317e]{display:grid;grid-template-columns:248px minmax(0,1fr);gap:0;align-items:start;min-height:calc(100vh - 54px)}.with-sidebar[data-v-fcbe317e] .sidebar{position:sticky;top:54px;max-height:calc(100vh - 54px);overflow-y:auto}.content[data-v-fcbe317e]{min-width:0;width:100%;max-width:1240px;margin:0 auto;padding:var(--space-5) var(--space-5) var(--space-6)}.wide .content[data-v-fcbe317e]{max-width:none;padding:0}.route-frame[data-v-fcbe317e]{min-width:0}.page-lift-enter-active[data-v-fcbe317e],.page-lift-leave-active[data-v-fcbe317e]{transition:opacity var(--motion-med) var(--ease-out),transform var(--motion-med) var(--ease-out)}.page-lift-enter-from[data-v-fcbe317e]{opacity:0;transform:translateY(10px)}.page-lift-leave-to[data-v-fcbe317e]{opacity:0;transform:translateY(-6px)}@media (max-width: 899.98px){.topbar[data-v-fcbe317e]{flex-wrap:wrap;height:auto;min-height:54px;padding:var(--space-2)}.campaign-pill[data-v-fcbe317e],.topbar-divider[data-v-fcbe317e]{display:none}.with-sidebar[data-v-fcbe317e]{grid-template-columns:1fr}.with-sidebar[data-v-fcbe317e] .sidebar{position:static;max-height:none}}.bottom-nav[data-v-7fae7104]{position:fixed;left:0;right:0;bottom:0;z-index:35;height:calc(66px + env(safe-area-inset-bottom));padding:0 6px env(safe-area-inset-bottom);display:grid;grid-template-columns:1fr 1fr 54px 1fr 1fr;align-items:center;background:#161410fa;border-top:1px solid var(--divider);box-shadow:0 -10px 28px #00000047}.bottom-link[data-v-7fae7104]{min-width:0;height:66px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#7e7565;font-size:.64rem;font-weight:600;text-decoration:none}.bottom-link[data-v-7fae7104]:hover{color:var(--text);text-decoration:none}.bottom-link.active[data-v-7fae7104]{color:var(--accent-2)}.bottom-link[data-v-7fae7104]:nth-of-type(3){grid-column:4}.fab[data-v-7fae7104]{grid-column:3;grid-row:1;width:48px;height:48px;justify-self:center;display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:15px;color:var(--on-accent);background:linear-gradient(150deg,var(--accent-2),var(--accent));box-shadow:0 5px 16px #d9803f59}.fab[data-v-7fae7104]:hover{border:none}.mobile-search[data-v-47005066]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;flex-direction:column;background:var(--bg);color:var(--text)}.search-sheet-enter-active[data-v-47005066],.search-sheet-leave-active[data-v-47005066]{transition:opacity var(--motion-med) var(--ease-out),transform var(--motion-med) var(--ease-out)}.search-sheet-enter-from[data-v-47005066],.search-sheet-leave-to[data-v-47005066]{opacity:0;transform:translateY(18px)}.search-head[data-v-47005066]{flex:none;display:flex;align-items:center;gap:10px;padding:14px;border-bottom:1px solid var(--divider);background:#14130ffa}.input-wrap[data-v-47005066]{position:relative;flex:1;min-width:0}.search-icon[data-v-47005066]{position:absolute;left:var(--space-2);top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.input-wrap input[data-v-47005066]{min-height:40px;padding-left:calc(var(--space-2) * 2 + 18px);border-color:var(--panel-border);background:var(--panel)}.cancel[data-v-47005066]{flex:none;padding:6px;color:var(--muted);background:transparent;border:none}.search-results[data-v-47005066]{flex:1;min-height:0;overflow-y:auto;padding:var(--space-2)}.empty-search[data-v-47005066]{padding:var(--space-4) var(--space-2)}.drawer-layer[data-v-6efbb788]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70}.drawer-backdrop[data-v-6efbb788]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;padding:0;border:none;border-radius:0;background:#0a090794}.drawer-backdrop[data-v-6efbb788]:active{transform:none}.drawer[data-v-6efbb788]{position:absolute;inset:0 auto 0 0;width:min(312px,calc(100vw - 48px));display:flex;flex-direction:column;padding:18px 14px;background:var(--panel);border-right:1px solid var(--panel-border);box-shadow:8px 0 40px #0006}.drawer-slide-enter-active[data-v-6efbb788],.drawer-slide-leave-active[data-v-6efbb788]{transition:opacity var(--motion-med) var(--ease-out)}.drawer-slide-enter-active .drawer[data-v-6efbb788],.drawer-slide-leave-active .drawer[data-v-6efbb788]{transition:transform var(--motion-med) var(--ease-out)}.drawer-slide-enter-from[data-v-6efbb788],.drawer-slide-leave-to[data-v-6efbb788]{opacity:0}.drawer-slide-enter-from .drawer[data-v-6efbb788],.drawer-slide-leave-to .drawer[data-v-6efbb788]{transform:translate(-100%)}.drawer-head[data-v-6efbb788]{display:flex;align-items:center;gap:11px;padding:4px 8px 16px;border-bottom:1px solid var(--divider);margin-bottom:12px}.drawer-head[data-v-6efbb788] .icon{color:var(--accent-2)}.drawer-title[data-v-6efbb788]{flex:1;min-width:0}.drawer-title strong[data-v-6efbb788],.drawer-title span[data-v-6efbb788]{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drawer-title strong[data-v-6efbb788]{font-size:.95rem}.drawer-title span[data-v-6efbb788]{color:var(--muted-2);font-size:.78rem}.icon-button[data-v-6efbb788]{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;padding:0;color:var(--muted);background:transparent;border-color:transparent}.drawer-section-label[data-v-6efbb788]{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2);padding:0 8px;margin-bottom:6px}.drawer-nav[data-v-6efbb788]{display:flex;flex-direction:column;gap:12px;overflow-y:auto}.drawer-group[data-v-6efbb788]{display:flex;flex-direction:column;gap:2px}.drawer-item[data-v-6efbb788]{width:100%;display:flex;align-items:center;gap:12px;min-height:42px;padding:11px 10px;border-radius:9px;color:#c7c0b4;font-size:.92rem;text-align:left;text-decoration:none}.drawer-item[data-v-6efbb788]:hover,.drawer-item.active[data-v-6efbb788]{background:#d9803f21;color:var(--accent-2);text-decoration:none}.drawer-button[data-v-6efbb788]{border:none;background:transparent}.drawer-button[data-v-6efbb788]:hover{border:none}.drawer-count[data-v-6efbb788]{margin-left:auto;color:var(--muted-2);font-family:var(--font-mono);font-size:.75rem}.drawer-separator[data-v-6efbb788]{height:1px;background:var(--divider);margin:12px 8px}.drawer-status[data-v-6efbb788]{margin-top:auto}.mobile-app[data-v-8acb4b77]{min-height:100vh;background:var(--bg)}.mobile-topbar[data-v-8acb4b77]{position:sticky;top:0;z-index:30;min-height:58px;display:flex;align-items:center;gap:11px;padding:12px 14px;background:#14130ffa;border-bottom:1px solid var(--divider)}.brand-link[data-v-8acb4b77],.icon-button[data-v-8acb4b77]{width:38px;height:38px;flex:none;display:inline-flex;align-items:center;justify-content:center;padding:0;color:var(--muted);background:var(--panel);border:1px solid var(--panel-border);border-radius:10px}.brand-link[data-v-8acb4b77]{color:var(--accent-2)}.dice-trigger[data-v-8acb4b77]{width:44px;height:44px;color:var(--accent-2)}.brand-link[data-v-8acb4b77]:hover,.icon-button[data-v-8acb4b77]:hover{border-color:var(--accent);text-decoration:none}.mobile-title[data-v-8acb4b77]{min-width:0;flex:1;color:var(--text);font-size:.98rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-title[data-v-8acb4b77]:hover{color:var(--accent-2);text-decoration:none}.mobile-content[data-v-8acb4b77]{min-width:0;width:100%;padding:var(--space-4) var(--space-4) var(--space-6)}.has-campaign .mobile-content[data-v-8acb4b77]{padding-bottom:calc(86px + env(safe-area-inset-bottom))}.has-active-session .mobile-content[data-v-8acb4b77]{padding-bottom:calc(84px + env(safe-area-inset-bottom))}.has-campaign.has-active-session .mobile-content[data-v-8acb4b77]{padding-bottom:calc(154px + env(safe-area-inset-bottom))}.wide .mobile-content[data-v-8acb4b77]{padding:0;overflow:hidden}.route-frame[data-v-8acb4b77]{min-width:0}.mobile-page-enter-active[data-v-8acb4b77],.mobile-page-leave-active[data-v-8acb4b77]{transition:opacity var(--motion-med) var(--ease-out),transform var(--motion-med) var(--ease-out)}.mobile-page-enter-from[data-v-8acb4b77]{opacity:0;transform:translate(14px)}.mobile-page-leave-to[data-v-8acb4b77]{opacity:0;transform:translate(-10px)}.bottom-nav-rise-enter-active[data-v-8acb4b77],.bottom-nav-rise-leave-active[data-v-8acb4b77]{transition:opacity var(--motion-med) var(--ease-out),transform var(--motion-med) var(--ease-out)}.bottom-nav-rise-enter-from[data-v-8acb4b77],.bottom-nav-rise-leave-to[data-v-8acb4b77]{opacity:0;transform:translateY(18px)}.banner[data-v-8acb4b77]{padding:var(--space-2) var(--space-3);border:1px solid var(--hostile);border-radius:6px;margin:0}.banner.err[data-v-8acb4b77]{color:var(--hostile)}.state[data-v-8acb4b77]{text-align:center;padding:var(--space-6) var(--space-4)}.dice-overlay[data-v-d10da845]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;justify-content:flex-end;background:#080705b8;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.dice-panel[data-v-d10da845]{width:min(520px,94vw);height:100%;display:flex;flex-direction:column;color:var(--text);background:var(--panel);border-left:1px solid var(--border);box-shadow:-18px 0 50px #00000073}.dice-header[data-v-d10da845]{flex:none;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--divider)}.dice-header h2[data-v-d10da845]{margin:3px 0 0}.close-button[data-v-d10da845]{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;padding:0;background:transparent}.dice-body[data-v-d10da845]{flex:1;min-height:0;overflow-y:auto;padding:var(--space-4) var(--space-5) var(--space-6)}.mode-tabs[data-v-d10da845]{display:grid;grid-template-columns:1fr 1fr;padding:3px;background:var(--bg);border:1px solid var(--border);border-radius:11px}.mode-tabs button[data-v-d10da845]{min-height:40px;color:var(--muted);background:transparent;border-color:transparent}.mode-tabs button.active[data-v-d10da845]{color:var(--text);background:var(--surface);border-color:var(--border)}.roll-controls[data-v-d10da845]{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:var(--space-4);align-items:end;margin-top:var(--space-4)}.roll-controls.with-request[data-v-d10da845]{grid-template-columns:minmax(0,1fr) 100px 100px}.character-check-context[data-v-d10da845]{grid-column:1 / -1;display:flex;align-items:baseline;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:#d9803f1a;border:1px solid rgba(217,128,63,.3);border-radius:8px}.character-check-context span[data-v-d10da845]{color:var(--muted);font-size:.85rem}.choice-field[data-v-d10da845]{display:flex;gap:5px;min-width:0;margin:0;padding:0;border:0}.choice-field legend[data-v-d10da845]{width:100%;margin-bottom:var(--space-1);color:var(--muted);font-size:.85rem}.choice-field label[data-v-d10da845]{flex:1;margin:0}.choice-field input[data-v-d10da845]{position:absolute;opacity:0;pointer-events:none}.choice-field span[data-v-d10da845]{min-height:38px;display:flex;align-items:center;justify-content:center;padding:5px 8px;color:var(--muted);background:var(--bg);border:1px solid var(--border);border-radius:8px;cursor:pointer;font-size:.78rem}.choice-field input:checked+span[data-v-d10da845]{color:var(--accent-2);border-color:#d9803f80;background:#d9803f1f}.choice-field input:focus-visible+span[data-v-d10da845]{outline:2px solid var(--accent-2)}.modifier-field[data-v-d10da845],.formula-controls label[data-v-d10da845]{margin-top:0}.formula-controls[data-v-d10da845]{margin-top:var(--space-4)}.critical-toggle[data-v-d10da845]{display:inline-flex;align-items:center;gap:8px;min-height:40px;margin-top:var(--space-2)!important}.critical-toggle input[data-v-d10da845]{width:18px;height:18px}.quick-dice[data-v-d10da845]{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-top:var(--space-4)}.quick-dice button[data-v-d10da845]{min-width:0;min-height:40px;padding:5px 2px;font-family:var(--font-mono);color:var(--accent-2);background:var(--panel-2)}.roll-action[data-v-d10da845]{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-3)}.expression-preview[data-v-d10da845]{min-width:0;flex:1;overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.roll-action .primary[data-v-d10da845]{min-width:110px;min-height:44px}.dice-error[data-v-d10da845]{color:#e0796f;font-size:.85rem}.status-live[data-v-d10da845]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.result-card[data-v-d10da845]{margin-top:var(--space-4);padding:var(--space-4);background:linear-gradient(145deg,rgba(217,128,63,.12),var(--bg));border:1px solid rgba(217,128,63,.35);border-radius:var(--radius-md)}.result-head[data-v-d10da845]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.result-label[data-v-d10da845],.result-expression[data-v-d10da845]{display:block}.result-label[data-v-d10da845]{font-weight:700}.result-expression[data-v-d10da845]{margin-top:2px;color:var(--muted);font-size:.82rem}.result-total[data-v-d10da845]{font-family:var(--font-mono);font-size:2.7rem;line-height:1}.result-total.critical[data-v-d10da845]{color:#76c089}.result-total.fumble[data-v-d10da845]{color:#e0796f}.check-outcome[data-v-d10da845]{margin:var(--space-2) 0 0;color:var(--muted)}.check-outcome strong[data-v-d10da845]{color:var(--accent-2)}.breakdown[data-v-d10da845]{display:flex;flex-direction:column;gap:7px;margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--divider)}.dice-group[data-v-d10da845]{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.group-name[data-v-d10da845]{min-width:50px;color:var(--muted);font-size:.8rem}.die-value[data-v-d10da845]{min-width:30px;padding:4px 6px;text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:6px}.die-value.dropped[data-v-d10da845]{color:var(--muted-2);text-decoration:line-through;opacity:.65}.group-subtotal[data-v-d10da845],.modifier-breakdown[data-v-d10da845]{color:var(--muted);font-size:.82rem}.result-actions[data-v-d10da845]{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-top:var(--space-4)}.result-actions button[data-v-d10da845]{min-height:40px}.register-button[data-v-d10da845]{flex:1}button[data-v-d10da845]:disabled{cursor:not-allowed;opacity:.45}.preset-section[data-v-d10da845],.history-section[data-v-d10da845]{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--divider)}.section-heading[data-v-d10da845]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.section-heading h3[data-v-d10da845]{margin:0}.preset-form[data-v-d10da845]{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2);margin-top:var(--space-3)}.preset-form button[data-v-d10da845]{max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preset-list[data-v-d10da845]{display:flex;flex-direction:column;gap:5px;margin-top:var(--space-3)}.preset-row[data-v-d10da845]{display:flex;gap:5px}.preset-use[data-v-d10da845]{min-width:0;flex:1;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);text-align:left}.preset-use .mono[data-v-d10da845]{color:var(--muted);font-size:.8rem}.remove-preset[data-v-d10da845]{width:42px;flex:none;padding:0;color:var(--muted)}.empty-presets[data-v-d10da845]{margin-bottom:0;font-size:.86rem}.history-list[data-v-d10da845]{list-style:none;display:flex;flex-direction:column;gap:4px;max-height:250px;margin:var(--space-3) 0 0;padding:0;overflow-y:auto}.history-list button[data-v-d10da845]{width:100%;min-height:42px;display:grid;grid-template-columns:minmax(0,1fr) minmax(90px,auto) 45px;gap:var(--space-2);align-items:center;text-align:left}.history-expression[data-v-d10da845]{color:var(--muted);font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-list strong[data-v-d10da845]{text-align:right}.dice-surface-enter-active[data-v-d10da845],.dice-surface-leave-active[data-v-d10da845]{transition:opacity var(--motion-med) var(--ease-out)}.dice-surface-enter-active .dice-panel[data-v-d10da845],.dice-surface-leave-active .dice-panel[data-v-d10da845]{transition:transform var(--motion-med) var(--ease-out)}.dice-surface-enter-from[data-v-d10da845],.dice-surface-leave-to[data-v-d10da845]{opacity:0}.dice-surface-enter-from .dice-panel[data-v-d10da845],.dice-surface-leave-to .dice-panel[data-v-d10da845]{transform:translate(100%)}@media (max-width: 899.98px){.dice-overlay[data-v-d10da845]{align-items:flex-end}.dice-panel.mobile[data-v-d10da845]{width:100%;height:min(92dvh,780px);border-top:1px solid var(--border);border-left:0;border-radius:18px 18px 0 0;box-shadow:0 -18px 50px #00000080}.dice-panel.mobile .dice-header[data-v-d10da845]{padding:var(--space-3) var(--space-4)}.dice-panel.mobile .dice-body[data-v-d10da845]{padding:var(--space-3) var(--space-4) calc(var(--space-5) + env(safe-area-inset-bottom))}.dice-panel.mobile button[data-v-d10da845],.dice-panel.mobile .choice-field span[data-v-d10da845]{min-height:44px}.dice-surface-enter-from .dice-panel[data-v-d10da845],.dice-surface-leave-to .dice-panel[data-v-d10da845]{transform:translateY(100%)}}@media (max-width: 640px){.roll-controls[data-v-d10da845],.roll-controls.with-request[data-v-d10da845]{grid-template-columns:1fr;gap:var(--space-2)}.quick-dice[data-v-d10da845]{grid-template-columns:repeat(4,1fr)}.preset-form[data-v-d10da845]{grid-template-columns:1fr}.preset-form button[data-v-d10da845]{max-width:none;min-height:44px}.result-actions button[data-v-d10da845]{min-height:44px}}.toast-host[data-v-7bd6db54]{position:fixed;left:0;right:0;bottom:var(--space-4);z-index:200;display:flex;justify-content:center;padding:0 var(--space-4);pointer-events:none}.toast[data-v-7bd6db54]{pointer-events:auto;display:flex;align-items:center;gap:var(--space-3);width:100%;max-width:420px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-2) var(--space-3) var(--space-4);box-shadow:0 10px 28px #00000059}.toast-msg[data-v-7bd6db54]{flex:1;min-width:0;color:var(--text);font-size:.9rem}.toast-action[data-v-7bd6db54]{flex:none;font-weight:700;padding:var(--space-1) var(--space-2)}.toast-close[data-v-7bd6db54]{flex:none;background:none;border:none;padding:0 var(--space-2);color:var(--muted-2);font-size:1.15em;line-height:1}.toast-close[data-v-7bd6db54]:hover{color:var(--text);border:none}.toast-enter-active[data-v-7bd6db54],.toast-leave-active[data-v-7bd6db54]{transition:opacity var(--motion-med) var(--ease-out),transform var(--motion-med) var(--ease-out)}.toast-enter-from[data-v-7bd6db54],.toast-leave-to[data-v-7bd6db54]{opacity:0;transform:translateY(12px)}@media (max-width: 899.98px){.toast-host[data-v-7bd6db54]{bottom:calc(66px + env(safe-area-inset-bottom) + var(--space-3))}}:root{--bg: #14130f;--panel: #1a1813;--panel-2: #232019;--surface: #2b2720;--border: #34302a;--divider: #26221b;--panel-border: #2e2922;--text: #ece7dd;--muted: #a39b8c;--muted-2: #6e665a;--accent: #d9803f;--accent-2: #e89a5c;--on-accent: #1a1410;--ally: #5fae73;--neutral: #d6a94e;--hostile: #d75d52;--mystery: #8a8fd6;--radius: 8px;--radius-md: 12px;--radius-lg: 14px;--bp-sm: 640px;--bp-md: 900px;--bp-lg: 1200px;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--motion-fast: .14s;--motion-med: .22s;--ease-out: cubic-bezier(.2, .8, .2, 1);--font-sans: "Hanken Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Consolas, monospace;color-scheme:dark}*{box-sizing:border-box}body{margin:0;font-family:var(--font-sans);background:var(--bg);color:var(--text);line-height:1.45;font-size:clamp(.9375rem,.92rem + .08vw,1rem)}a{color:var(--accent-2);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{font-family:inherit;font-weight:700;letter-spacing:0;line-height:1.2}h1{font-size:1.4rem}h2{font-size:1.35rem}h3{font-size:1rem;margin:var(--space-5) 0 var(--space-2)}:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}button{font:inherit;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text);padding:.45em .8em;border-radius:var(--radius);transition:background .12s,border-color .12s,color .12s,transform .08s}button:hover{border-color:var(--accent)}button:active{transform:scale(.97)}button.primary{background:linear-gradient(150deg,var(--accent-2),var(--accent));border-color:transparent;color:var(--on-accent);font-weight:700}button.danger:hover{border-color:var(--hostile);color:var(--hostile)}button.link{background:none;border:none;color:var(--accent-2);padding:0}input,textarea,select{font:inherit;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:.4em .6em;width:100%}textarea{resize:vertical;min-height:4em}label{display:block;font-size:.85em;color:var(--muted);margin:var(--space-3) 0 var(--space-1)}.app{min-height:100vh}.card{display:block;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-3);margin-bottom:var(--space-3);transition:border-color var(--motion-fast) var(--ease-out),background var(--motion-fast) var(--ease-out)}.row{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap}.spread{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2)}.muted{color:var(--muted)}.subtle{color:var(--muted-2)}.mono{font-family:var(--font-mono)}.grow{flex:1}.push-right{margin-left:auto}.flush{margin:0}.tags{display:flex;gap:var(--space-1);flex-wrap:wrap}.tag{background:var(--panel-2);border:1px solid var(--border);border-radius:999px;padding:.1em .6em;font-size:.8em}.badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:4px 11px 4px 9px;font-size:.78rem;font-weight:600;border:1px solid transparent;white-space:nowrap;flex:none}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}.badge-copper{background:#d9803f24;color:#e89a5c;border-color:#d9803f52}.badge-green{background:#5fae7324;color:#76c089;border-color:#5fae734d}.badge-amber{background:#d6a94e21;color:#e0bd6a;border-color:#d6a94e4d}.badge-red{background:#d75d5221;color:#e0796f;border-color:#d75d524d}.badge-purple{background:#8a8fd629;color:#a0a5e0;border-color:#8a8fd652}.badge-muted{background:#a39b8c1f;color:#b7af9f;border-color:#a39b8c42}.badge-dim{background:#a39b8c1a;color:#8e8676;border-color:#a39b8c38}.tabs{display:flex;gap:0;margin-bottom:var(--space-4);border-bottom:1px solid var(--panel-border);overflow-x:auto;background:none;padding:0}.tabs button{border:none;border-radius:0;background:none;color:var(--muted);white-space:nowrap;padding:10px 16px;font-size:.925rem;font-weight:500;border-bottom:2px solid transparent;margin-bottom:-1px}.tabs button:hover{border-color:transparent;color:var(--text);background:none}.tabs button.active{background:none;color:var(--accent-2);font-weight:600;border-bottom-color:var(--accent)}.crumbs{font-size:.85em;margin-bottom:var(--space-3)}.timeline{border-left:2px solid var(--border);padding-left:var(--space-4);margin-left:var(--space-1)}.timeline-item{margin-bottom:var(--space-3)}.empty{color:var(--muted);padding:var(--space-4) 0}.eyebrow{color:var(--accent);font-family:var(--font-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.2em}.metric-row{display:flex;gap:var(--space-5);flex-wrap:wrap}.metric{min-width:5rem}.metric-value{display:block;font-family:var(--font-mono);font-size:1.45rem;line-height:1;color:var(--text)}.metric-label{display:block;margin-top:var(--space-1);color:var(--muted);font-size:.82rem}.entity-list{display:flex;flex-direction:column;gap:var(--space-2)}.entity-row{display:flex;align-items:center;gap:var(--space-3);color:var(--text);background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius-md);padding:14px 16px;margin-bottom:0;min-height:62px}.entity-row:hover{border-color:#d9803f73;background:#1f1c16;text-decoration:none}.entity-main{min-width:0;flex:1}.entity-title{display:flex;align-items:baseline;gap:var(--space-2);min-width:0}.entity-title strong,.truncate{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entity-meta{margin-top:var(--space-1);color:var(--muted);font-size:.86rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.icon-tile{width:36px;height:36px;flex:none;display:inline-flex;align-items:center;justify-content:center;color:var(--accent-2);background:var(--panel-2);border:1px solid var(--border);border-radius:9px}.panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius-lg);padding:var(--space-4)}.panel-head{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3)}.panel-head h3{margin:0}.field-row{display:flex;gap:var(--space-3)}.field-row>*{flex:1;min-width:0}@media (max-width: 899.98px){.field-row{flex-direction:column}.field-row>*{width:100%}}@media (max-width: 899.98px){.content{padding:var(--space-3) var(--space-3) var(--space-5)}.entity-title{flex-wrap:wrap}.entity-title strong{width:100%;white-space:normal}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
