.ui-glyph{vertical-align:-.2em;flex:none;display:inline-block}.ui-glyph--text{vertical-align:baseline}.ui-loading{align-items:center;gap:var(--space-2);color:var(--text-secondary);font-size:var(--text-sm);display:inline-flex}.ui-loading-rows{gap:var(--space-2);flex-direction:column;width:100%;display:flex}.ui-loading-row{border-radius:var(--border-radius);width:100%;display:block}.sidebar-nav[data-v-74f6e2d8]{padding:0}.nav-section[data-v-74f6e2d8]{margin-bottom:var(--space-4)}.nav-section-title[data-v-74f6e2d8]{padding:var(--space-2) var(--space-3);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-weight:600}.nav-item[data-v-74f6e2d8]{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--border-radius-sm);color:var(--text-secondary);font-size:var(--text-sm);text-decoration:none;transition:background .1s,color .1s;display:flex}.nav-item[data-v-74f6e2d8]:hover{background:var(--bg-hover);color:var(--text-primary);text-decoration:none}.nav-item.active[data-v-74f6e2d8]{background:var(--bg-active);color:var(--text-primary)}.nav-icon[data-v-74f6e2d8]{opacity:.65;flex-shrink:0;width:16px;height:16px}.nav-item:hover .nav-icon[data-v-74f6e2d8],.nav-item.active .nav-icon[data-v-74f6e2d8]{opacity:1}.nav-label[data-v-74f6e2d8]{flex:1}.nav-count[data-v-74f6e2d8]{font-size:var(--text-xs);color:var(--text-muted);font-variant-numeric:tabular-nums}.sidebar-site-nav[data-v-74f6e2d8]{padding:0 0 var(--space-1);border-bottom:1px solid var(--border-subtle);margin-bottom:var(--space-1)}.site-nav-link[data-v-74f6e2d8]{align-items:center;gap:var(--space-2);padding:6px var(--space-2);border-radius:var(--border-radius);color:var(--text-primary);font-size:var(--text-sm);min-height:36px;text-decoration:none;display:flex}.site-nav-link[data-v-74f6e2d8]:hover,.site-nav-link.router-link-active[data-v-74f6e2d8]{background:var(--bg-hover);color:var(--accent-gold);text-decoration:none}.site-nav-icon[data-v-74f6e2d8]{opacity:.7;flex-shrink:0;width:18px;height:18px}.site-nav-link:hover .site-nav-icon[data-v-74f6e2d8],.site-nav-link.router-link-active .site-nav-icon[data-v-74f6e2d8]{opacity:1}.site-nav-action[data-v-74f6e2d8]{cursor:pointer;text-align:left;background:0 0;border:none;width:100%;font-family:inherit}.site-nav-badge[data-v-74f6e2d8]{border-radius:var(--border-radius-md);background:var(--accent-gold);min-width:18px;height:18px;color:var(--accent-ink);font-size:var(--text-2xs);text-align:center;margin-left:auto;padding:0 5px;font-weight:700;line-height:18px}.site-nav-state[data-v-74f6e2d8]{font-size:var(--text-xs);color:var(--text-muted);margin-left:auto;font-weight:700}.site-nav-state.on[data-v-74f6e2d8]{color:var(--accent-gold)}.sources-toggle[data-v-74f6e2d8]{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border-radius:var(--border-radius-sm);color:var(--accent-gold);font-size:var(--text-xs);cursor:pointer;background:0 0;border:1px solid #c4a35a40;transition:all .15s;display:flex}.sources-toggle[data-v-74f6e2d8]:hover{background:#c4a35a1f;border-color:#c4a35a80}.sources-toggle--active[data-v-74f6e2d8]{border-color:var(--accent-gold);color:var(--accent-gold);background:#c4a35a1f}.sources-icon[data-v-74f6e2d8]{opacity:.8;flex-shrink:0}.sources-toggle:hover .sources-icon[data-v-74f6e2d8]{opacity:1}.sources-badge[data-v-74f6e2d8]{background:var(--accent-gold);color:var(--accent-ink);padding:0 var(--space-1);font-size:var(--text-xs);border-radius:999px;font-weight:600}.homebrew-toggle[data-v-74f6e2d8]{padding:var(--space-1) var(--space-2);border-radius:var(--border-radius-sm);color:var(--text-muted);font-size:var(--text-xs);cursor:pointer;background:0 0;border:1px solid #c4a35a40;align-items:center;gap:6px;transition:all .15s;display:flex}.homebrew-toggle[data-v-74f6e2d8]:hover{background:#c4a35a1f;border-color:#c4a35a80}.homebrew-toggle.active[data-v-74f6e2d8]{border-color:var(--accent-gold);color:var(--accent-gold);background:#c4a35a1f}.toggle-track[data-v-74f6e2d8]{border-radius:var(--border-radius);background:#ffffff26;flex-shrink:0;width:24px;height:14px;transition:background .2s;position:relative}.homebrew-toggle.active .toggle-track[data-v-74f6e2d8]{background:var(--accent-gold)}.toggle-thumb[data-v-74f6e2d8]{background:var(--text-muted);border-radius:50%;width:10px;height:10px;transition:transform .2s,background .2s;position:absolute;top:2px;left:2px}.homebrew-toggle.active .toggle-thumb[data-v-74f6e2d8]{background:var(--bg-primary);transform:translate(10px)}.search-bar[data-v-e2e51a04]{position:relative}.search-form[data-v-e2e51a04]{background:var(--bg-surface);border:1px solid var(--border-primary);border-radius:var(--border-radius);padding:0 var(--space-3);align-items:center;transition:border-color .15s;display:flex}.search-form[data-v-e2e51a04]:focus-within{border-color:var(--accent-blue)}.search-icon[data-v-e2e51a04]{color:var(--text-muted);flex-shrink:0}.search-input[data-v-e2e51a04]{min-width:0;color:var(--text-primary);padding:var(--space-2) var(--space-2);background:0 0;border:none;flex:1}.search-input[data-v-e2e51a04]::placeholder{color:var(--text-muted)}.search-dropdown[data-v-e2e51a04]{background:var(--bg-surface);border:1px solid var(--border-primary);border-radius:var(--border-radius);box-shadow:var(--shadow-md);z-index:200;max-height:400px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.search-result[data-v-e2e51a04]{width:100%;padding:var(--space-2) var(--space-3);color:var(--text-primary);text-align:left;cursor:pointer;border:none;border-bottom:1px solid var(--border-subtle);background:0 0;flex-direction:column;gap:2px;display:flex}.search-result[data-v-e2e51a04]:last-child{border-bottom:none}.search-result[data-v-e2e51a04]:hover{background:var(--bg-hover)}.result-name[data-v-e2e51a04]{font-weight:500;font-size:var(--text-sm)}.result-meta[data-v-e2e51a04]{align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--text-muted);display:flex}.result-level[data-v-e2e51a04]{color:var(--text-secondary)}.result-source[data-v-e2e51a04]{text-overflow:ellipsis;white-space:nowrap;max-width:150px;overflow:hidden}.notif-bell-wrap[data-v-c2fed9dd]{position:relative}.notif-bell[data-v-c2fed9dd]{border-radius:var(--border-radius);width:34px;height:34px;color:var(--text-secondary,#999);cursor:pointer;background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,color .15s,border-color .15s;display:flex;position:relative}.notif-bell[data-v-c2fed9dd]:hover{color:var(--text-primary,#eee);background:var(--bg-hover,#26262a)}.notif-bell--unread[data-v-c2fed9dd]{color:var(--accent-gold,#c9a227);background:#c4a35a1a;border-color:#c4a35a4d}.notif-badge[data-v-c2fed9dd]{background:var(--accent-gold,#c9a227);min-width:15px;height:15px;color:var(--accent-ink);border-radius:var(--border-radius-md);font-size:var(--text-3xs);text-align:center;padding:0 4px;font-weight:700;line-height:15px;position:absolute;top:1px;right:1px}@media (pointer:coarse){.notif-bell[data-v-c2fed9dd]{width:42px;height:42px}}.notif-dropdown[data-v-c2fed9dd]{background:var(--bg-secondary,#1c1c1e);border:1px solid var(--border-primary,#333);border-radius:var(--border-radius-md);z-index:300;width:min(360px,92vw);max-height:60vh;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto;box-shadow:0 12px 32px #00000080}@media (max-width:600px){.notif-dropdown[data-v-c2fed9dd]{left:10px;right:10px;top:calc(var(--header-height,56px) + 6px);width:auto;max-height:70vh;position:fixed}.notif-body[data-v-c2fed9dd]{-webkit-line-clamp:3}}.notif-head[data-v-c2fed9dd]{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted,#999);border-bottom:1px solid var(--border-primary,#2a2a2e);justify-content:space-between;align-items:center;padding:10px 12px;font-weight:700;display:flex}.notif-mark-all[data-v-c2fed9dd]{color:var(--accent-gold,#c9a227);font-size:var(--text-xs);cursor:pointer;text-transform:none;letter-spacing:0;background:0 0;border:none}.notif-empty[data-v-c2fed9dd]{font-size:var(--text-sm);color:var(--text-muted,#999);padding:18px 14px}.notif-item[data-v-c2fed9dd]{text-align:left;border:none;border-bottom:1px solid var(--border-primary,#232326);cursor:pointer;background:0 0;align-items:flex-start;gap:10px;width:100%;padding:10px 12px;display:flex}.notif-item[data-v-c2fed9dd]:hover{background:var(--bg-hover,#26262a)}.notif-item--unread[data-v-c2fed9dd]{background:color-mix(in srgb, var(--accent-gold,#c9a227) 7%, transparent)}@supports not (color:color-mix(in srgb, currentColor, transparent)){.notif-item--unread[data-v-c2fed9dd]{background:0 0}}.notif-icon[data-v-c2fed9dd]{flex-shrink:0}.notif-text[data-v-c2fed9dd]{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.notif-title[data-v-c2fed9dd]{font-size:var(--text-sm);color:var(--text-primary,#e8e6e1)}.notif-body[data-v-c2fed9dd]{font-size:var(--text-xs);color:var(--text-muted,#999);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.notif-time[data-v-c2fed9dd]{font-size:var(--text-2xs);color:var(--text-muted,#777);flex-shrink:0}.mh-wrap[data-v-a0ba7ab8]{position:relative}.mh-btn[data-v-a0ba7ab8]{border-radius:var(--border-radius);width:34px;height:34px;color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,color .15s,border-color .15s;display:flex;position:relative}.mh-btn[data-v-a0ba7ab8]:hover{color:var(--text-primary);background:var(--bg-hover)}.mh-btn--unread[data-v-a0ba7ab8]{color:var(--accent-gold);background:#c4a35a1a;border-color:#c4a35a4d}.mh-badge[data-v-a0ba7ab8]{background:var(--accent-gold);min-width:15px;height:15px;color:var(--accent-ink);border-radius:var(--border-radius-md);font-size:var(--text-3xs);text-align:center;padding:0 4px;font-weight:700;line-height:15px;position:absolute;top:1px;right:1px}@media (pointer:coarse){.mh-btn[data-v-a0ba7ab8]{width:42px;height:42px}}@media (min-width:768px) and (max-width:1023px){.mh-btn[data-v-a0ba7ab8]{width:30px}}.mh-panel[data-v-a0ba7ab8]{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--border-radius-md);z-index:300;width:min(380px,92vw);max-height:70vh;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto;box-shadow:0 12px 32px #00000080}@media (max-width:600px){.mh-panel[data-v-a0ba7ab8]{left:10px;right:10px;top:calc(var(--header-height,56px) + 6px);width:auto;position:fixed}}.mh-head[data-v-a0ba7ab8]{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:1px solid var(--border-primary);justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-weight:700;display:flex}.mh-all[data-v-a0ba7ab8]{cursor:pointer;color:var(--accent-gold);font-family:inherit;font-size:var(--text-xs);text-transform:none;letter-spacing:0;background:0 0;border:none;font-weight:600}.mh-all--foot[data-v-a0ba7ab8]{text-align:center;width:100%;padding:10px 12px;display:block}.mh-all[data-v-a0ba7ab8]:hover{text-decoration:underline}.mh-empty[data-v-a0ba7ab8]{font-size:var(--text-sm);color:var(--text-muted);margin:0;padding:18px 14px}.mh-item[data-v-a0ba7ab8]{text-align:left;border:none;border-bottom:1px solid var(--border-primary);cursor:pointer;width:100%;color:var(--text-primary);background:0 0;align-items:center;gap:8px;padding:10px 12px;font-family:inherit;display:flex}:is(.mh-item[data-v-a0ba7ab8]:hover,.mh-item[data-v-a0ba7ab8]:focus-visible){background:var(--bg-hover)}.mh-item--unread[data-v-a0ba7ab8]{background:color-mix(in srgb, var(--accent-gold) 7%, transparent)}@supports not (color:color-mix(in srgb, currentColor, transparent)){.mh-item--unread[data-v-a0ba7ab8]{background:0 0}}.mh-item-main[data-v-a0ba7ab8]{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.mh-item-top[data-v-a0ba7ab8]{align-items:baseline;gap:6px;min-width:0;display:flex}.mh-item-title[data-v-a0ba7ab8]{min-width:0;font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:600;overflow:hidden}.mh-item--unread .mh-item-title[data-v-a0ba7ab8]{font-weight:800}.mh-muted[data-v-a0ba7ab8]{font-size:var(--text-2xs)}.mh-item-time[data-v-a0ba7ab8]{font-size:var(--text-2xs);color:var(--text-muted);flex-shrink:0}.mh-item-camp[data-v-a0ba7ab8]{font-size:var(--text-2xs);color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mh-item-preview[data-v-a0ba7ab8]{font-size:var(--text-xs);color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mh-mention[data-v-a0ba7ab8]{background:var(--accent-blue);color:#fff;width:18px;height:18px;font-size:var(--text-2xs);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:800;display:inline-flex}.mh-count[data-v-a0ba7ab8]{border-radius:var(--border-radius-md);background:var(--accent-gold);min-width:18px;height:18px;color:var(--accent-ink);font-size:var(--text-2xs);flex-shrink:0;justify-content:center;align-items:center;padding:0 5px;font-weight:800;display:inline-flex}.mh-dot[data-v-a0ba7ab8]{background:var(--text-muted);border-radius:50%;flex-shrink:0;width:8px;height:8px}@media (pointer:coarse){.mh-item[data-v-a0ba7ab8]{min-height:56px}.mh-all[data-v-a0ba7ab8]{min-height:44px}}.drawer-overlay[data-v-b27a685d]{z-index:999;background:#00000080;position:fixed;inset:0}.drawer-content[data-v-b27a685d]{z-index:1000;background:var(--bg-surface);border:1px solid var(--border-primary);box-shadow:var(--shadow-md);color:var(--text-primary);width:var(--drawer-width,380px);flex-direction:column;max-width:100vw;display:flex;position:fixed;top:0;bottom:0;overflow:hidden}.drawer--right[data-v-b27a685d]{border-left:1px solid var(--border-primary);border-right:none;right:0}.drawer--left[data-v-b27a685d]{border-right:1px solid var(--border-primary);border-left:none;left:0}.drawer--inline[data-v-b27a685d]{z-index:auto;border:1px solid var(--border-primary);position:relative}@media (max-width:767px){.drawer-content[data-v-b27a685d]:not(.drawer--inline){width:100vw}}.drawer-header[data-v-b27a685d]{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-subtle);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.drawer-title[data-v-b27a685d]{font-size:var(--text-base);color:var(--text-primary);font-weight:600}.drawer-header-actions[data-v-b27a685d]{align-items:center;gap:var(--space-2);margin-left:auto;display:flex}.drawer-close[data-v-b27a685d]{color:var(--text-muted);cursor:pointer;padding:var(--space-2);border-radius:var(--border-radius-sm);background:0 0;border:none;justify-content:center;align-items:center;min-width:44px;min-height:44px;display:flex}.drawer-close[data-v-b27a685d]:hover{color:var(--text-primary);background:var(--bg-hover)}.drawer-body[data-v-b27a685d]{padding:var(--space-2) var(--space-3);flex:1;overflow-y:auto}.drawer-footer[data-v-b27a685d]{padding:var(--space-2) var(--space-3);border-top:1px solid var(--border-subtle);flex-shrink:0}.drawer-slide-right-enter-active[data-v-b27a685d],.drawer-slide-right-leave-active[data-v-b27a685d],.drawer-slide-left-enter-active[data-v-b27a685d],.drawer-slide-left-leave-active[data-v-b27a685d]{transition:transform .25s cubic-bezier(.4,0,.2,1)}.drawer-slide-right-enter-from[data-v-b27a685d],.drawer-slide-right-leave-to[data-v-b27a685d]{transform:translate(100%)}.drawer-slide-left-enter-from[data-v-b27a685d],.drawer-slide-left-leave-to[data-v-b27a685d]{transform:translate(-100%)}.drawer-fade-enter-active[data-v-b27a685d],.drawer-fade-leave-active[data-v-b27a685d]{transition:opacity .2s}.drawer-fade-enter-from[data-v-b27a685d],.drawer-fade-leave-to[data-v-b27a685d]{opacity:0}@media (prefers-reduced-motion:reduce){.drawer-slide-right-enter-active[data-v-b27a685d],.drawer-slide-right-leave-active[data-v-b27a685d],.drawer-slide-left-enter-active[data-v-b27a685d],.drawer-slide-left-leave-active[data-v-b27a685d],.drawer-fade-enter-active[data-v-b27a685d],.drawer-fade-leave-active[data-v-b27a685d]{transition:none}}.google-btn[data-v-479cc552]{justify-content:center;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-3);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--border-radius);color:var(--text-primary);font-size:var(--text-sm);cursor:pointer;font-weight:500;transition:background .15s;display:flex}.google-btn[data-v-479cc552]:hover{background:var(--bg-hover)}.google-btn[data-v-479cc552]:disabled{opacity:.6;cursor:not-allowed}.divider[data-v-479cc552]{align-items:center;gap:var(--space-3);margin:var(--space-4) 0;color:var(--text-muted);font-size:var(--text-xs);display:flex}.divider[data-v-479cc552]:before,.divider[data-v-479cc552]:after{content:"";background:var(--border-subtle);flex:1;height:1px}.email-form[data-v-479cc552]{gap:var(--space-3);flex-direction:column;display:flex}.form-input[data-v-479cc552]{padding:var(--space-3);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--border-radius);color:var(--text-primary);font-size:var(--text-sm)}.form-input[data-v-479cc552]:focus{border-color:var(--accent-blue)}.form-input[data-v-479cc552]::placeholder{color:var(--text-muted)}.username-field[data-v-479cc552]{flex-direction:column;gap:5px;display:flex}.username-input-wrap[data-v-479cc552]{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--border-radius);align-items:center;gap:4px;padding:0 10px;display:flex}.username-input-wrap[data-v-479cc552]:focus-within{border-color:var(--accent-blue)}.username-input-wrap--ok[data-v-479cc552]{border-color:#5bbd7280}.username-at[data-v-479cc552]{color:var(--text-muted);font-size:var(--text-sm);-webkit-user-select:none;user-select:none}.username-input[data-v-479cc552]{color:var(--text-primary);font-size:var(--text-sm);letter-spacing:.02em;background:0 0;border:none;flex:1;padding:10px 0;font-family:monospace}.username-status[data-v-479cc552]{font-size:var(--text-sm);color:var(--text-muted);flex-shrink:0;font-weight:700}.username-status--ok[data-v-479cc552]{color:var(--power-at-will)}.username-status--taken[data-v-479cc552]{color:var(--accent-red)}.username-hint[data-v-479cc552]{font-size:var(--text-2xs);color:var(--text-muted)}.username-hint--error[data-v-479cc552]{color:var(--accent-red)}.username-hint--ok[data-v-479cc552]{color:var(--power-at-will)}.form-error[data-v-479cc552]{color:#ef4444;font-size:var(--text-xs)}.form-success[data-v-479cc552]{color:#22c55e;font-size:var(--text-xs)}.submit-btn[data-v-479cc552]{padding:var(--space-3);background:var(--accent-blue);border-radius:var(--border-radius);color:#fff;font-size:var(--text-sm);cursor:pointer;border:none;font-weight:600;transition:opacity .15s}.submit-btn[data-v-479cc552]:hover:not(:disabled){opacity:.9}.submit-btn[data-v-479cc552]:disabled{opacity:.5;cursor:not-allowed}.mode-links[data-v-479cc552]{align-items:center;gap:var(--space-1);margin-top:var(--space-4);flex-direction:column;display:flex}.link-btn[data-v-479cc552]{color:var(--accent-blue);font-size:var(--text-xs);cursor:pointer;background:0 0;border:none;padding:0}.link-btn[data-v-479cc552]:hover{text-decoration:underline}.username-field[data-v-304ff4f2]{flex-direction:column;gap:6px;display:flex}.username-input-wrap[data-v-304ff4f2]{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--border-radius-sm);align-items:center;gap:4px;padding:0 10px;display:flex}.username-input-wrap[data-v-304ff4f2]:focus-within{border-color:#5b8dd980}.username-prefix[data-v-304ff4f2]{color:var(--text-muted);font-size:var(--text-sm);-webkit-user-select:none;user-select:none}.username-input[data-v-304ff4f2]{color:var(--text-primary);font-size:var(--text-sm);letter-spacing:.03em;background:0 0;border:none;flex:1;padding:9px 0;font-family:monospace}.username-status[data-v-304ff4f2]{font-size:var(--text-base);flex-shrink:0;font-weight:700}.username-status--checking[data-v-304ff4f2]{color:var(--text-muted)}.username-status--ok[data-v-304ff4f2]{color:var(--power-at-will)}.username-status--taken[data-v-304ff4f2]{color:var(--accent-red)}.username-hint[data-v-304ff4f2]{font-size:var(--text-xs);color:var(--text-muted)}.username-hint--error[data-v-304ff4f2]{color:var(--accent-red)}.username-hint--ok[data-v-304ff4f2]{color:var(--power-at-will)}.username-error[data-v-304ff4f2]{color:var(--accent-red);font-size:var(--text-sm);margin:0}.username-footer[data-v-304ff4f2]{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.username-btn[data-v-304ff4f2]{border-radius:var(--border-radius-sm);font-size:var(--text-sm);cursor:pointer;border:1px solid var(--border-primary);background:var(--bg-active);color:var(--text-secondary);padding:6px 16px;font-weight:500}.username-btn[data-v-304ff4f2]:hover{background:var(--bg-hover);color:var(--text-primary)}.username-btn--primary[data-v-304ff4f2]{color:var(--accent-blue);background:#5b8dd926;border-color:#5b8dd94d}.username-btn--primary[data-v-304ff4f2]:hover:not(:disabled){background:#5b8dd940}.username-btn--primary[data-v-304ff4f2]:disabled{opacity:.4;cursor:not-allowed}.bug-label[data-v-58b04e87]{font-size:var(--text-sm);color:var(--text-secondary);font-weight:600;display:block}.bug-required[data-v-58b04e87]{color:var(--accent-red);margin-left:2px}.bug-optional[data-v-58b04e87]{color:var(--text-muted);margin-left:4px;font-weight:400}.bug-textarea[data-v-58b04e87]{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--border-radius-sm);width:100%;color:var(--text-primary);font-size:var(--text-sm);resize:vertical;box-sizing:border-box;min-height:100px;padding:8px 10px;font-family:inherit}.bug-textarea[data-v-58b04e87]:focus{border-color:#5b8dd980}.bug-char-count[data-v-58b04e87]{font-size:var(--text-2xs);color:var(--text-muted);text-align:right;margin-top:-4px}.bug-upload-area[data-v-58b04e87]{border:1px dashed var(--border-primary);border-radius:var(--border-radius-sm);background:var(--bg-primary);position:relative}.bug-upload-label[data-v-58b04e87]{cursor:pointer;font-size:var(--text-sm);color:var(--text-secondary);flex-direction:column;align-items:center;gap:4px;padding:16px;display:flex}.bug-upload-label[data-v-58b04e87]:hover{background:var(--bg-hover)}.bug-upload-hint[data-v-58b04e87]{font-size:var(--text-2xs);color:var(--text-muted)}.bug-upload-input[data-v-58b04e87]{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.bug-preview[data-v-58b04e87]{max-width:100%;display:inline-block;position:relative}.bug-preview-img[data-v-58b04e87]{border-radius:var(--border-radius-sm);border:1px solid var(--border-primary);max-width:100%;max-height:200px;display:block}.bug-preview-remove[data-v-58b04e87]{color:#fff;width:22px;height:22px;font-size:var(--text-2xs);cursor:pointer;background:#0009;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:4px;right:4px}.bug-error[data-v-58b04e87]{color:var(--accent-red);font-size:var(--text-sm);margin:0}.bug-hint[data-v-58b04e87]{color:var(--text-muted);font-size:var(--text-xs);margin:0}.bug-btn[data-v-58b04e87]{border-radius:var(--border-radius-sm);font-size:var(--text-sm);cursor:pointer;border:1px solid var(--border-primary);background:var(--bg-active);color:var(--text-secondary);padding:6px 16px;font-weight:500}.bug-btn[data-v-58b04e87]:hover{background:var(--bg-hover);color:var(--text-primary)}.bug-btn--submit[data-v-58b04e87]{color:var(--accent-red);background:#c8323226;border-color:#c8323266}.bug-btn--submit[data-v-58b04e87]:hover:not(:disabled){color:#ff6b6b;background:#c8323240}.bug-btn--submit[data-v-58b04e87]:disabled{opacity:.4;cursor:not-allowed}.bug-btn--primary[data-v-58b04e87]{color:var(--accent-blue);background:#5b8dd926;border-color:#5b8dd94d}.bug-submitted[data-v-58b04e87]{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:32px 20px;display:flex}.bug-submitted-icon[data-v-58b04e87]{color:#4ab464;width:48px;height:48px;font-size:var(--text-2xl);background:#4ab46426;border:2px solid #4ab46466;border-radius:50%;justify-content:center;align-items:center;display:flex}.bug-submitted-msg[data-v-58b04e87]{color:var(--text-secondary);font-size:var(--text-sm);margin:0}.bug-ratelimited[data-v-58b04e87]{text-align:center;color:var(--text-secondary);font-size:var(--text-sm);flex-direction:column;align-items:center;gap:8px;padding:28px 20px;display:flex}.bug-ratelimited p[data-v-58b04e87]{margin:0}.bug-ratelimited-time[data-v-58b04e87]{color:var(--text-muted)}.sfm-header-row[data-v-9a79d185]{align-items:center;gap:var(--space-3);display:flex}.sfm-title[data-v-9a79d185]{font-size:var(--text-lg);color:var(--text-primary);margin:0;font-weight:600}.sfm-enable-all[data-v-9a79d185]{font-size:var(--text-sm);color:var(--accent-blue);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.sfm-enable-all[data-v-9a79d185]:hover{opacity:.8}.sfm-toolbar[data-v-9a79d185]{padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--border-primary);gap:var(--space-2);flex-direction:column;flex:none;display:flex}.sfm-presets[data-v-9a79d185]{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.sfm-presets-label[data-v-9a79d185]{font-size:var(--text-xs);color:var(--text-muted)}.sfm-preset[data-v-9a79d185]{background:var(--bg-surface);border:1px solid var(--border-primary);border-radius:var(--border-radius-lg);color:var(--text-secondary);font-size:var(--text-xs);cursor:pointer;padding:3px 10px;font-family:inherit}.sfm-preset[data-v-9a79d185]:hover{border-color:var(--accent-gold);color:var(--text-primary)}@media (pointer:coarse){.sfm-preset[data-v-9a79d185]{min-height:38px;padding:6px 14px}}.sfm-homebrew-note[data-v-9a79d185]{font-size:var(--text-xs);color:var(--text-muted);padding:var(--space-1) 0;line-height:1.5}.sfm-hb-enable[data-v-9a79d185]{border:1px solid var(--accent-gold);border-radius:var(--border-radius-sm);color:var(--accent-gold);font-size:var(--text-xs);cursor:pointer;background:0 0;margin-left:4px;padding:1px 8px}.sfm-hb-enable[data-v-9a79d185]:hover{background:color-mix(in srgb, var(--accent-gold) 12%, transparent)}@supports not (color:color-mix(in srgb, currentColor, transparent)){.sfm-hb-enable[data-v-9a79d185]:hover{background:0 0}}.sfm-hint[data-v-9a79d185]{font-size:var(--text-sm);color:var(--text-muted)}.sfm-count[data-v-9a79d185]{color:var(--accent-orange,#d97706);font-weight:600}.sfm-search[data-v-9a79d185]{border:1px solid var(--border-primary);border-radius:var(--border-radius-sm);background:var(--bg-secondary);width:100%;color:var(--text-primary);font-size:var(--text-sm);padding:6px 10px}.sfm-search[data-v-9a79d185]:focus{border-color:var(--accent-blue)}.sfm-search[data-v-9a79d185]::placeholder{color:var(--text-muted)}.sfm-overrides[data-v-9a79d185]{border-radius:var(--border-radius-md);background:#c4a35a14;border:1px solid #c4a35a80;flex-direction:column;gap:4px;margin-bottom:10px;padding:10px 12px;display:flex}.sfm-overrides--off[data-v-9a79d185]{border-color:var(--border-subtle);background:var(--bg-surface);opacity:.85}.sfm-overrides-label[data-v-9a79d185]{cursor:pointer;flex-wrap:wrap;align-items:center;gap:8px;display:flex}.sfm-overrides-warn[data-v-9a79d185]{font-size:var(--text-sm)}.sfm-overrides--off .sfm-overrides-warn[data-v-9a79d185]{filter:grayscale();opacity:.6}.sfm-overrides-name[data-v-9a79d185]{color:var(--accent-gold);font-weight:700;font-size:var(--text-sm)}.sfm-overrides--off .sfm-overrides-name[data-v-9a79d185]{color:var(--text-secondary)}.sfm-overrides-detail[data-v-9a79d185]{font-size:var(--text-xs);color:var(--text-secondary)}.sfm-overrides-hint[data-v-9a79d185]{font-size:var(--text-xs);color:var(--text-muted);padding-left:26px}.sfm-body[data-v-9a79d185]{-webkit-overflow-scrolling:touch;min-height:0;padding:var(--space-2) var(--space-3) var(--space-4);flex:1 1 0;overflow-y:auto}.sfm-group[data-v-9a79d185]{margin-bottom:var(--space-1)}.sfm-group-header[data-v-9a79d185]{align-items:center;gap:var(--space-2);padding:var(--space-2);border-radius:var(--border-radius-sm);background:var(--bg-active);margin-bottom:2px;display:flex}.sfm-collapse-btn[data-v-9a79d185]{border:1px solid var(--border-primary);cursor:pointer;width:28px;height:28px;color:var(--text-secondary);font-size:var(--text-base);border-radius:var(--border-radius-sm);background:0 0;flex:none;justify-content:center;align-items:center;padding:0;display:flex}.sfm-collapse-btn[data-v-9a79d185]:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--text-muted)}.sfm-group-label[data-v-9a79d185]{align-items:center;gap:var(--space-2);cursor:pointer;-webkit-user-select:none;user-select:none;flex:1;display:flex}.sfm-group-name[data-v-9a79d185]{font-weight:600;font-size:var(--text-sm);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.sfm-group-name--homebrew[data-v-9a79d185]{color:var(--accent-amber,#d4a017)}.sfm-group-count[data-v-9a79d185]{font-size:var(--text-xs);color:var(--text-muted);text-transform:none;letter-spacing:0;font-weight:400}.sfm-group-hidden-count[data-v-9a79d185]{font-size:var(--text-xs);color:var(--accent-orange,#d97706);text-transform:none;letter-spacing:0;margin-left:auto;font-weight:500}.sfm-source-list[data-v-9a79d185]{padding:var(--space-1) var(--space-2) var(--space-2);flex-direction:column;display:flex}.sfm-source-item[data-v-9a79d185]{align-items:center;gap:var(--space-2);min-height:32px;padding:4px var(--space-2);border-radius:var(--border-radius-sm);cursor:pointer;font-size:var(--text-sm);-webkit-user-select:none;user-select:none;transition:background .1s;display:flex}.sfm-source-item[data-v-9a79d185]:hover{background:var(--bg-hover)}@media (pointer:coarse){.sfm-source-item[data-v-9a79d185],.sfm-group-header[data-v-9a79d185]{min-height:44px}.sfm-collapse-btn[data-v-9a79d185]{width:40px;height:40px}.sfm-checkbox[data-v-9a79d185]{width:20px;height:20px}}.sfm-source-count[data-v-9a79d185]{font-size:var(--text-xs);font-variant-numeric:tabular-nums;color:var(--text-muted);flex-shrink:0}.sfm-source-item.sfm-source-hidden .sfm-source-count[data-v-9a79d185]{opacity:.5}.sfm-source-item.sfm-source-hidden .sfm-source-name[data-v-9a79d185]{color:var(--text-muted);opacity:.6;text-decoration:line-through}.sfm-checkbox[data-v-9a79d185]{cursor:pointer;accent-color:var(--accent-blue);flex-shrink:0;width:14px;height:14px}.sfm-group-checkbox[data-v-9a79d185]{width:14px;height:14px}.sfm-source-name[data-v-9a79d185]{flex:1;min-width:0}.sfm-group-hint[data-v-9a79d185]{margin:0 0 var(--space-2);padding:0 var(--space-2);font-size:var(--text-xs);color:var(--text-muted);line-height:1.4}.sfm-source-alias[data-v-9a79d185]{font-size:var(--text-xs);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:9rem;overflow:hidden}.sfm-source-abbr[data-v-9a79d185]{font-size:var(--text-xs);color:var(--text-muted);font-family:var(--font-mono,monospace);flex-shrink:0}.sfm-loading[data-v-9a79d185],.sfm-empty[data-v-9a79d185]{padding:var(--space-4);color:var(--text-muted);font-size:var(--text-sm);text-align:center}.app-footer[data-v-59ed1204]{border-top:1px solid var(--border-primary);background:var(--bg-secondary);padding:var(--space-3) var(--space-4);flex-shrink:0;margin-top:4px}.footer-inner[data-v-59ed1204]{gap:var(--space-2) var(--space-6);grid-template-columns:1fr auto;align-items:start;display:grid}.footer-brand-row[data-v-59ed1204]{margin-bottom:var(--space-1);flex-wrap:wrap;align-items:baseline;gap:3px;display:flex}.footer-logo-text[data-v-59ed1204]{font-size:var(--text-sm);color:var(--text-primary);font-weight:700;font-family:var(--font-display)}.footer-logo-edition[data-v-59ed1204]{font-size:var(--text-xs);color:var(--accent-gold);font-weight:600}.footer-tagline[data-v-59ed1204]{font-size:var(--text-3xs);color:var(--text-muted);margin-left:2px}.footer-legal[data-v-59ed1204]{font-size:var(--text-3xs);color:var(--text-muted);margin:0;line-height:1.5}.footer-link[data-v-59ed1204]{color:var(--text-muted);text-underline-offset:2px;text-decoration:underline}.footer-link[data-v-59ed1204]:hover{color:var(--text-secondary)}.footer-col--right[data-v-59ed1204]{align-items:flex-end;gap:var(--space-1);flex-direction:column;display:flex}.footer-links[data-v-59ed1204]{align-items:center;gap:var(--space-2);margin-top:var(--space-1);display:flex}.footer-dot[data-v-59ed1204]{color:var(--text-muted);font-size:var(--text-3xs)}.footer-nav-link[data-v-59ed1204]{font-size:var(--text-xs);color:var(--text-muted);text-decoration:none;transition:color .1s}.footer-nav-link[data-v-59ed1204]:hover{color:var(--text-primary)}.footer-version[data-v-59ed1204]{font-size:var(--text-xs);color:var(--text-muted);opacity:.6;white-space:nowrap}.footer-credit-line[data-v-59ed1204]{font-size:var(--text-xs);color:var(--text-secondary);margin:0 0 var(--space-1)}.footer-credit-line strong[data-v-59ed1204]{color:var(--text-primary)}.footer-credit-note[data-v-59ed1204]{font-size:var(--text-3xs);color:var(--text-muted);margin:0;line-height:1.4}.footer-discord-link[data-v-59ed1204]{font-size:var(--text-sm);color:#5865f2;align-items:center;gap:6px;font-weight:600;text-decoration:none;transition:color .15s;display:inline-flex}.footer-discord-link[data-v-59ed1204]:hover{color:var(--text-primary)}.footer-discord-icon[data-v-59ed1204]{flex-shrink:0}.footer-discord-note[data-v-59ed1204]{font-size:var(--text-xs);color:var(--text-muted);font-weight:400}.footer-kofi-link[data-v-59ed1204]{font-size:var(--text-sm);color:var(--accent-gold);align-items:center;gap:6px;font-weight:600;text-decoration:none;transition:color .15s;display:inline-flex}.footer-kofi-link[data-v-59ed1204]:hover{color:var(--text-primary)}.footer-kofi-icon[data-v-59ed1204]{flex-shrink:0}.footer-kofi-note[data-v-59ed1204]{font-size:var(--text-xs);color:var(--text-muted);font-weight:400}.footer-attribution[data-v-59ed1204]{margin-top:var(--space-1)}.footer-attribution-link[data-v-59ed1204]{font-size:var(--text-sm);color:var(--text-muted);align-items:center;gap:8px;text-decoration:none;transition:color .15s;display:inline-flex}.footer-attribution-link[data-v-59ed1204]:hover{color:var(--text-secondary)}.footer-attribution-logo[data-v-59ed1204]{opacity:.7;width:auto;height:18px;transition:opacity .15s}.footer-attribution-link:hover .footer-attribution-logo[data-v-59ed1204]{opacity:1}@media (min-width:768px) and (max-width:1023px){.footer-inner[data-v-59ed1204]{gap:var(--space-2) var(--space-4);grid-template-columns:1fr auto}.footer-kofi-note[data-v-59ed1204],.footer-discord-note[data-v-59ed1204]{display:none}.footer-legal[data-v-59ed1204]{font-size:var(--text-3xs)}}@media (max-width:767px){.footer-inner[data-v-59ed1204]{gap:var(--space-3);text-align:center;grid-template-columns:1fr}.app-footer[data-v-59ed1204]{padding:var(--space-3)}.footer-brand-row[data-v-59ed1204]{justify-content:center;margin-bottom:2px}.footer-links[data-v-59ed1204]{flex-wrap:wrap;justify-content:center}.footer-legal[data-v-59ed1204]{font-size:var(--text-3xs);line-height:1.4}.footer-col--right[data-v-59ed1204]{align-items:center}.footer-kofi-note[data-v-59ed1204],.footer-discord-note[data-v-59ed1204]{display:none}.footer-attribution[data-v-59ed1204]{margin-top:0}}.app-footer.compact[data-v-59ed1204]{padding:var(--space-2) var(--space-3);background:0 0;border-top:none;margin-top:0}.app-footer.compact .footer-inner[data-v-59ed1204]{gap:var(--space-3);flex-direction:column;display:flex}.app-footer.compact .footer-col--brand[data-v-59ed1204]{min-width:0}.app-footer.compact .footer-brand-row[data-v-59ed1204]{margin-bottom:var(--space-1)}.app-footer.compact .footer-tagline[data-v-59ed1204]{display:none}.app-footer.compact .footer-legal[data-v-59ed1204]{font-size:var(--text-3xs);margin:0;line-height:1.4}.app-footer.compact .footer-links[data-v-59ed1204]{margin-top:var(--space-1);flex-wrap:wrap}.app-footer.compact .footer-col--right[data-v-59ed1204]{align-items:flex-start}.app-footer.compact .footer-kofi-note[data-v-59ed1204],.app-footer.compact .footer-discord-note[data-v-59ed1204]{display:none}.app-footer.compact .footer-attribution-logo[data-v-59ed1204]{height:14px}.app-footer.compact .footer-attribution-link[data-v-59ed1204]{font-size:var(--text-xs)}.tut-root[data-v-0cee9bf0]{z-index:3000;pointer-events:none;position:fixed;inset:0}.tut-backdrop[data-v-0cee9bf0]{pointer-events:all;position:absolute;inset:0}.tut-dim[data-v-0cee9bf0]{pointer-events:none;background:#000000bf;position:absolute;inset:0}.tut-spotlight[data-v-0cee9bf0]{border-radius:var(--border-radius-md);pointer-events:none;border:2px solid #7b5ea7d9;box-shadow:0 0 0 9999px #000000bf}.tut-card[data-v-0cee9bf0]{background:var(--bg-card,#1e2228);border:1px solid var(--border-color,#333);border-radius:var(--border-radius-lg);pointer-events:all;padding:20px;box-shadow:0 8px 32px #000000a6,0 0 0 1px #7b5ea740}.tut-card-head[data-v-0cee9bf0]{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.tut-dots[data-v-0cee9bf0]{align-items:center;gap:5px;display:flex}.tut-dot[data-v-0cee9bf0]{background:var(--border-color,#444);border-radius:50%;width:7px;height:7px;transition:all .2s}.tut-dot--active[data-v-0cee9bf0]{background:var(--accent,#c9a227);border-radius:var(--border-radius-sm);width:18px}.tut-skip[data-v-0cee9bf0]{border:1px solid var(--border-color,#3a3d45);border-radius:var(--border-radius);color:var(--text-secondary,#bbb);cursor:pointer;font-size:var(--text-sm);border-radius:var(--border-radius-sm);background:0 0;padding:2px 8px}.tut-skip[data-v-0cee9bf0]:hover{color:var(--text-primary,#e8e8e8);background:var(--bg-hover,#2a2d35)}.tut-title[data-v-0cee9bf0]{font-size:var(--text-lg);color:var(--text-primary,#e8e8e8);margin:0 0 8px;font-weight:600}.tut-text[data-v-0cee9bf0]{font-size:var(--text-base);color:var(--text-secondary,#aaa);margin:0 0 16px;line-height:1.55}.tut-foot[data-v-0cee9bf0]{justify-content:space-between;align-items:center;display:flex}.tut-step-label[data-v-0cee9bf0]{font-size:var(--text-xs);color:var(--text-muted,#888)}.tut-foot-btns[data-v-0cee9bf0]{gap:8px;display:flex}.tut-btn[data-v-0cee9bf0]{border-radius:var(--border-radius);font-size:var(--text-base);cursor:pointer;border:1px solid #0000;padding:7px 16px;font-weight:500;transition:background .15s,color .15s}.tut-btn--back[data-v-0cee9bf0]{color:var(--text-muted,#888);border-color:var(--border-color,#444);background:0 0}.tut-btn--back[data-v-0cee9bf0]:hover{color:var(--text-primary,#e8e8e8);background:var(--bg-hover,#2a2d35)}.tut-btn--next[data-v-0cee9bf0]{background:var(--accent,#c9a227);border-color:var(--accent,#c9a227);color:#fff}.tut-btn--next[data-v-0cee9bf0]:hover{background:var(--accent-light,#d8bd7e)}.toast-container[data-v-ecb23d0b]{top:var(--toast-top,calc(var(--header-height,52px) + 12px));z-index:1300;align-items:center;gap:var(--space-2);pointer-events:none;flex-direction:column;width:max-content;max-width:min(520px,100vw - 24px);display:flex;position:fixed;left:50%;transform:translate(-50%)}.toast-item[data-v-ecb23d0b]{align-items:flex-start;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--border-radius);font-size:var(--text-sm);color:var(--text-primary);cursor:pointer;pointer-events:auto;max-width:100%;display:flex;box-shadow:0 6px 22px #0006}.toast--info[data-v-ecb23d0b]{background:var(--bg-surface);border:1px solid var(--border-primary)}.toast--success[data-v-ecb23d0b]{background:color-mix(in srgb, var(--accent-green) 14%, var(--bg-surface));border:1px solid color-mix(in srgb, var(--accent-green) 45%, transparent)}@supports not (color:color-mix(in srgb, currentColor, transparent)){.toast--success[data-v-ecb23d0b]{background:var(--bg-surface);border:1px solid #0000}}.toast--warning[data-v-ecb23d0b]{background:color-mix(in srgb, var(--accent-gold) 14%, var(--bg-surface));border:1px solid color-mix(in srgb, var(--accent-gold) 45%, transparent)}@supports not (color:color-mix(in srgb, currentColor, transparent)){.toast--warning[data-v-ecb23d0b]{background:var(--bg-surface);border:1px solid #0000}}.toast--error[data-v-ecb23d0b]{background:color-mix(in srgb, var(--accent-red) 14%, var(--bg-surface));border:1px solid color-mix(in srgb, var(--accent-red) 45%, transparent)}@supports not (color:color-mix(in srgb, currentColor, transparent)){.toast--error[data-v-ecb23d0b]{background:var(--bg-surface);border:1px solid #0000}}.toast-icon[data-v-ecb23d0b]{color:var(--text-secondary);flex-shrink:0;margin-top:2px}.toast--success .toast-icon[data-v-ecb23d0b]{color:var(--accent-green)}.toast--warning .toast-icon[data-v-ecb23d0b]{color:var(--accent-gold)}.toast--error .toast-icon[data-v-ecb23d0b]{color:var(--accent-red)}.toast-msg[data-v-ecb23d0b]{overflow-wrap:anywhere;flex:1;line-height:1.45}.toast-action[data-v-ecb23d0b]{border:1px solid var(--accent-gold);border-radius:var(--border-radius-sm);color:var(--accent-gold);font-family:inherit;font-size:var(--text-xs);cursor:pointer;background:0 0;flex-shrink:0;padding:3px 12px;font-weight:700}.toast-action[data-v-ecb23d0b]:hover{background:color-mix(in srgb, var(--accent-gold) 15%, transparent)}@supports not (color:color-mix(in srgb, currentColor, transparent)){.toast-action[data-v-ecb23d0b]:hover{background:0 0}}:is(.toast-action[data-v-ecb23d0b]:focus-visible,.toast-close[data-v-ecb23d0b]:focus-visible){box-shadow:var(--focus-ring);outline:none}.toast-close[data-v-ecb23d0b]{border-radius:var(--border-radius-sm);width:24px;height:24px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin:-2px -6px -2px 0;display:inline-flex}.toast-close[data-v-ecb23d0b]:hover{background:var(--bg-hover);color:var(--text-primary)}@media (pointer:coarse){.toast-close[data-v-ecb23d0b]{width:36px;height:36px}.toast-action[data-v-ecb23d0b]{min-height:36px}}.toast-enter-active[data-v-ecb23d0b]{transition:opacity var(--motion-base,.16s) ease-out, transform var(--motion-base,.16s) var(--ease-out,ease-out)}.toast-leave-active[data-v-ecb23d0b]{transition:opacity .14s ease-in,transform .14s ease-in}.toast-enter-from[data-v-ecb23d0b]{opacity:0;transform:translateY(-10px)scale(.97)}.toast-leave-to[data-v-ecb23d0b]{opacity:0;transform:translateY(-6px)}@media (prefers-reduced-motion:reduce){.toast-enter-active[data-v-ecb23d0b],.toast-leave-active[data-v-ecb23d0b]{transition:none}}.route-progress[data-v-15e44df8]{z-index:5000;background:var(--accent-gold);transform-origin:0;pointer-events:none;height:2px;position:fixed;top:0;left:0;right:0}.route-progress--loading[data-v-15e44df8]{animation:route-progress-fill-15e44df8 8s var(--ease-out) forwards}.route-progress--done[data-v-15e44df8]{opacity:0;transition:opacity .22s ease-out;transform:scaleX(1)}@keyframes route-progress-fill-15e44df8{0%{transform:scaleX(0)}10%{transform:scaleX(.35)}to{transform:scaleX(.9)}}@media (prefers-reduced-motion:reduce){.route-progress--loading[data-v-15e44df8]{opacity:.6;animation:none;transform:scaleX(1)}.route-progress--done[data-v-15e44df8]{transition:none}}.confirm-msg[data-v-8cdd2931]{margin:0;line-height:1.5}.confirm-input[data-v-8cdd2931]{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--border-radius-sm);width:100%;color:var(--text-primary);font-size:var(--text-sm);margin-top:12px;padding:8px 12px}.confirm-input[data-v-8cdd2931]:focus{border-color:var(--accent-gold);outline:none}.confirm-skip[data-v-8cdd2931]{font-size:var(--text-base);opacity:.75;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;margin-top:14px;display:flex}.confirm-actions[data-v-8cdd2931]{justify-content:flex-end;gap:8px;width:100%;display:flex}.sc-backdrop[data-v-b0cd5e0d]{z-index:1200;padding:var(--space-4);background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.sc-modal[data-v-b0cd5e0d]{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--border-radius-md);flex-direction:column;width:min(440px,100%);max-height:min(80vh,640px);display:flex;box-shadow:0 12px 40px #00000080}.sc-header[data-v-b0cd5e0d]{border-bottom:1px solid var(--border-primary);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.sc-header h3[data-v-b0cd5e0d]{font-size:var(--text-base);color:var(--text-primary);margin:0}.sc-close[data-v-b0cd5e0d]{color:var(--text-muted);font-size:var(--text-base);cursor:pointer;background:0 0;border:none;padding:4px 8px}.sc-close[data-v-b0cd5e0d]:hover{color:var(--text-primary)}.sc-body[data-v-b0cd5e0d]{padding:10px 16px 16px;overflow-y:auto}.sc-group+.sc-group[data-v-b0cd5e0d]{margin-top:14px}.sc-group-title[data-v-b0cd5e0d]{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:6px;font-weight:700}.sc-row[data-v-b0cd5e0d]{align-items:baseline;gap:12px;padding:3px 0;display:flex}.sc-keys[data-v-b0cd5e0d]{flex-shrink:0;gap:4px;min-width:64px;display:flex}.sc-keys kbd[data-v-b0cd5e0d]{background:var(--bg-active);border:1px solid var(--border-primary);border-radius:var(--border-radius);font-size:var(--text-xs);color:var(--text-primary);border-bottom-width:2px;padding:1px 7px;font-family:inherit}.sc-what[data-v-b0cd5e0d]{font-size:var(--text-sm);color:var(--text-secondary)}.app-layout[data-v-339bd987]{grid-template-rows:var(--header-height) 1fr;grid-template-columns:var(--sidebar-width) 1fr;grid-template-areas:"header header""sidebar main";max-width:100vw;min-height:100vh;display:grid;overflow-x:clip}.app-layout.no-sidebar[data-v-339bd987]{grid-template-columns:1fr;grid-template-areas:"header""main"}.app-header[data-v-339bd987]{align-items:center;gap:var(--space-3);max-width:100vw;padding:0 var(--space-4);background:var(--bg-secondary);border-bottom:1px solid var(--border-primary);z-index:100;grid-area:header;display:flex;position:sticky;top:0}.header-nav[data-v-339bd987]{gap:var(--space-1);margin-left:var(--space-2);display:flex}.header-nav-link[data-v-339bd987]{padding:var(--space-1) var(--space-3);border-radius:var(--border-radius-sm);font-size:var(--text-sm);color:var(--text-secondary);white-space:nowrap;font-weight:500;text-decoration:none;transition:all .15s}.header-nav-link[data-v-339bd987]:hover{color:var(--text-primary);text-decoration:none}.header-nav-link.active[data-v-339bd987]{color:var(--accent-gold)}.nav-dropdown-wrap[data-v-339bd987]{align-items:center;display:flex;position:relative}.nav-dropdown-trigger[data-v-339bd987]{cursor:pointer;font-family:inherit;line-height:inherit;letter-spacing:inherit;background:0 0;border:none}.dropdown-arrow[data-v-339bd987]{opacity:.5;margin-left:2px;font-size:.7em;display:inline-block;transform:rotate(90deg)}.nav-dropdown[data-v-339bd987]{background:var(--bg-surface);border:1px solid var(--border-primary);border-radius:var(--border-radius-md);z-index:100;flex-direction:column;min-width:200px;margin-top:4px;padding:4px;display:flex;position:absolute;top:100%;left:0;box-shadow:0 8px 24px #0006}.nav-dropdown-item[data-v-339bd987]{border-radius:var(--border-radius);font-size:var(--text-base);color:var(--text-primary);cursor:pointer;align-items:center;gap:8px;padding:8px 12px;text-decoration:none;transition:background .12s;display:flex}.nav-dropdown-item[data-v-339bd987]:hover{color:var(--accent-gold);background:#c4a35a1a;text-decoration:none}.nav-dropdown-item--disabled[data-v-339bd987]{color:var(--text-muted);cursor:default;pointer-events:none}.nav-dropdown-icon[data-v-339bd987]{opacity:.7;flex-shrink:0;width:16px;height:16px}.nav-dropdown-item:hover .nav-dropdown-icon[data-v-339bd987]{opacity:1}.wip-badge[data-v-339bd987]{font-size:var(--text-3xs);text-transform:uppercase;letter-spacing:.05em;background:var(--bg-hover,#252830);border:1px solid var(--border-primary,#333);border-radius:var(--border-radius-sm);color:var(--text-muted,#666);margin-left:auto;padding:1px 6px;font-weight:700}.nav-dropdown-backdrop[data-v-339bd987]{z-index:99;position:fixed;inset:0}.sidebar-toggle[data-v-339bd987]{display:none}.app-logo[data-v-339bd987]{flex-shrink:0;align-items:baseline;gap:4px;text-decoration:none;display:flex}.logo-text[data-v-339bd987]{font-size:var(--text-lg);color:var(--text-primary);font-weight:700}.logo-edition[data-v-339bd987]{font-size:var(--text-sm);color:var(--accent-gold);font-weight:600}.header-spacer[data-v-339bd987]{flex:1}.help-menu-wrap[data-v-339bd987]{flex-shrink:0;position:relative}.help-btn[data-v-339bd987]{border-radius:var(--border-radius-sm);color:var(--accent-gold);font-size:var(--text-2xs);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;white-space:nowrap;background:#c4a35a1a;border:1px solid #c4a35a4d;padding:3px 10px;font-weight:700;transition:all .15s}.help-btn[data-v-339bd987]:hover,.help-btn.active[data-v-339bd987]{color:var(--accent-gold);background:#c4a35a33;border-color:#c4a35a8c}.help-menu-backdrop[data-v-339bd987]{z-index:199;position:fixed;inset:0}.help-menu[data-v-339bd987]{background:var(--bg-surface);border:1px solid var(--border-color,#333);border-radius:var(--border-radius-md);z-index:200;min-width:200px;padding:6px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 6px 24px #00000080}.help-menu-title[data-v-339bd987]{font-size:var(--text-2xs);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted,#888);padding:4px 8px 2px;font-weight:700}.help-menu-item[data-v-339bd987]{text-align:left;border-radius:var(--border-radius);width:100%;color:var(--text-secondary,#aaa);font-size:var(--text-base);cursor:pointer;background:0 0;border:none;padding:7px 10px;text-decoration:none;transition:background .1s,color .1s;display:block}.help-menu-item[data-v-339bd987]:hover{background:var(--bg-hover,#2a2d35);color:var(--text-primary,#e8e8e8);text-decoration:none}.help-menu-divider[data-v-339bd987]{background:var(--border-color,#333);height:1px;margin:4px 6px}.hdr-btn[data-v-339bd987]{border-radius:var(--border-radius);min-width:34px;height:34px;color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-family:inherit;font-weight:600;transition:background .15s,color .15s,border-color .15s;display:inline-flex;position:relative}.hdr-btn[data-v-339bd987]:hover{background:var(--bg-hover);color:var(--text-primary)}.hdr-btn--icon[data-v-339bd987]{width:34px;padding:0}.hdr-btn--on[data-v-339bd987]{color:var(--accent-gold);background:#c4a35a1a;border-color:#c4a35a4d}.hdr-btn--on[data-v-339bd987]:hover{color:var(--accent-gold);background:#c4a35a29}.hdr-btn-label[data-v-339bd987]{line-height:1}.hdr-badge[data-v-339bd987]{border-radius:var(--border-radius-md);background:var(--accent-gold);min-width:15px;height:15px;color:var(--accent-ink);font-size:var(--text-3xs);text-align:center;padding:0 4px;font-weight:700;line-height:15px;position:absolute;top:1px;right:1px}.hdr-state-dot[data-v-339bd987]{background:var(--border-primary);border-radius:50%;width:5px;height:5px;transition:background .15s}.hdr-state-dot.on[data-v-339bd987]{background:var(--accent-gold)}@media (pointer:coarse){.hdr-btn[data-v-339bd987]{min-width:42px;height:42px}.hdr-btn--icon[data-v-339bd987]{width:42px}}.header-search[data-v-339bd987]{flex:0 360px;min-width:140px}.header-auth[data-v-339bd987]{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.user-menu-wrap[data-v-339bd987]{align-items:center;display:flex;position:relative}.user-menu-trigger[data-v-339bd987]{border-radius:var(--border-radius);height:34px;color:var(--accent-gold);font-size:var(--text-sm);cursor:pointer;white-space:nowrap;background:#c4a35a14;border:1px solid #c4a35a40;flex-shrink:0;align-items:center;gap:6px;padding:0 10px;font-weight:600;transition:all .15s;display:flex}.user-menu-trigger[data-v-339bd987]:hover,.user-menu-trigger.active[data-v-339bd987]{background:#c4a35a2e;border-color:#c4a35a80}.user-menu-arrow[data-v-339bd987]{opacity:.6;flex-shrink:0;margin-left:2px;font-size:.7em;display:inline-block;transform:rotate(90deg)}.user-menu[data-v-339bd987]{background:var(--bg-surface);border:1px solid var(--border-primary);border-radius:var(--border-radius-md);z-index:100;flex-direction:column;min-width:180px;margin-top:4px;padding:4px;display:flex;position:absolute;top:100%;right:0;box-shadow:0 8px 24px #0006}.user-menu-item[data-v-339bd987]{border-radius:var(--border-radius);font-size:var(--text-base);color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:8px 12px;font-family:inherit;text-decoration:none;transition:background .12s;display:flex}.user-menu-item[data-v-339bd987]:hover{color:var(--accent-gold);background:#c4a35a1a;text-decoration:none}.user-menu-item--danger[data-v-339bd987]{color:var(--accent-red)}.user-menu-icon[data-v-339bd987]{opacity:.7;flex-shrink:0;width:16px;height:16px}.user-menu-item:hover .user-menu-icon[data-v-339bd987]{opacity:1}.user-menu-divider[data-v-339bd987]{background:var(--border-primary);height:1px;margin:4px 6px}.user-menu-backdrop[data-v-339bd987]{z-index:99;position:fixed;inset:0}.auth-btn[data-v-339bd987]{height:34px;padding:0 var(--space-4);border-radius:var(--border-radius);font-size:var(--text-sm);cursor:pointer;border:none;flex-shrink:0;justify-content:center;align-items:center;font-family:inherit;font-weight:600;transition:filter .15s;display:inline-flex}.auth-btn--primary[data-v-339bd987]{background:var(--accent-gold);color:var(--accent-ink)}.auth-btn--primary[data-v-339bd987]:hover{filter:brightness(1.1)}@media (pointer:coarse){.auth-btn[data-v-339bd987]{height:42px}}.sources-override-warn[data-v-339bd987]{font-size:var(--text-2xs);filter:drop-shadow(0 0 2px #c4a35a99);line-height:1}.drawer-search[data-v-339bd987]{margin-bottom:var(--space-2)}.drawer-search[data-v-339bd987] .search-bar,.drawer-search[data-v-339bd987] input{min-height:44px}.drawer-foot[data-v-339bd987]{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);font-size:var(--text-xs);color:var(--text-muted);border-top:1px solid var(--border-primary);display:flex}.drawer-foot a[data-v-339bd987]{color:var(--text-secondary);text-decoration:none}.drawer-foot a[data-v-339bd987]:hover{color:var(--accent-gold)}.drawer-foot-version[data-v-339bd987]{margin-right:auto}.auth-btn-short[data-v-339bd987]{display:none}.user-avatar[data-v-339bd987]{width:28px;height:28px;color:var(--accent-gold);font-size:var(--text-xs);background:#c4a35a33;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:none}.search-expand-btn[data-v-339bd987]{display:none}.search-overlay[data-v-339bd987]{background:var(--bg-secondary);padding:0 var(--space-4);align-items:center;gap:var(--space-2);z-index:101;display:flex;position:absolute;inset:0}.search-overlay[data-v-339bd987] form,.search-overlay[data-v-339bd987] .search-bar{flex:1}.search-overlay-close[data-v-339bd987]{color:var(--text-secondary);font-size:var(--text-2xl);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:4px 8px;line-height:1}.search-overlay-close[data-v-339bd987]:hover{color:var(--text-primary)}.app-sidebar[data-v-339bd987]{background:var(--bg-secondary);border-right:1px solid var(--border-primary);padding:var(--space-4) 0;top:var(--header-height);height:calc(100vh - var(--header-height));grid-area:sidebar;position:sticky;overflow-y:auto}.app-main[data-v-339bd987]{min-width:0;height:calc(100vh - var(--header-height));flex-direction:column;grid-area:main;display:flex;overflow:hidden}.page-content[data-v-339bd987]{--page-pad:var(--space-6);min-height:0;padding:var(--page-pad);flex-direction:column;flex:1;display:flex;overflow-y:auto}.page-content[data-v-339bd987]>*{flex:none;width:100%;min-width:0}.page-content>.page-end[data-v-339bd987]{flex:1 0 var(--page-pad);width:auto}.page-content[data-v-339bd987]>.app-footer{width:auto;margin:0 calc(-1 * var(--page-pad)) calc(-1 * var(--page-pad))}.page-content[data-v-339bd987]:has(.cps-sheet){--page-pad:0px}.is-builder-v3 .page-content[data-v-339bd987],.is-map-editor .page-content[data-v-339bd987]{padding:0;display:block;overflow:hidden}.is-map-editor .app-footer[data-v-339bd987],.is-map-editor .page-end[data-v-339bd987],.is-builder-v3 .app-footer[data-v-339bd987],.is-builder-v3 .page-end[data-v-339bd987]{display:none}@media (min-width:1024px) and (max-width:1439px){.header-search[data-v-339bd987]{display:none}.search-expand-btn[data-v-339bd987]{display:inline-flex}.header-nav[data-v-339bd987]{flex-shrink:1;gap:0;min-width:0;overflow:hidden}.header-nav-link[data-v-339bd987]{padding:var(--space-1) var(--space-1);font-size:var(--text-xs)}.sources-toggle .hdr-btn-label[data-v-339bd987],.homebrew-toggle .hdr-btn-label[data-v-339bd987]{display:none}.sources-toggle[data-v-339bd987],.homebrew-toggle[data-v-339bd987]{min-width:34px;padding:0}.app-header[data-v-339bd987]{gap:var(--space-2)}}@media (min-width:768px) and (max-width:1023px){.header-nav[data-v-339bd987]{flex-shrink:1;gap:0;min-width:0;margin-left:0;overflow:hidden}.header-nav-link[data-v-339bd987]{padding:var(--space-1) 2px;font-size:var(--text-2xs)}.header-nav-link[href=\/proving-grounds][data-v-339bd987]{display:none}.auth-btn[data-v-339bd987]{padding:0 var(--space-2)}.hdr-btn[data-v-339bd987]{min-width:30px}.hdr-btn--icon[data-v-339bd987]{width:30px}.user-menu-trigger[data-v-339bd987]{min-width:38px;min-height:38px}.header-search[data-v-339bd987],.help-menu-wrap[data-v-339bd987]{display:none}.search-expand-btn[data-v-339bd987]{display:inline-flex}.sources-toggle .hdr-btn-label[data-v-339bd987],.homebrew-toggle .hdr-btn-label[data-v-339bd987]{display:none}.sources-toggle[data-v-339bd987],.homebrew-toggle[data-v-339bd987]{min-width:30px;padding:0}.user-avatar[data-v-339bd987]{display:flex}.user-name[data-v-339bd987],.user-menu-arrow[data-v-339bd987]{display:none}.user-menu-trigger[data-v-339bd987]{padding:var(--space-1);background:0 0;border-color:#0000;justify-content:center;align-items:center;min-width:38px;min-height:38px;display:flex}.user-menu-trigger[data-v-339bd987]:hover,.user-menu-trigger.active[data-v-339bd987]{background:#c4a35a1a;border-color:#c4a35a40}.app-header[data-v-339bd987]{gap:var(--space-1);padding:0 var(--space-2)}}.mobile-tabbar[data-v-339bd987]{display:none}@media (max-width:767px){.mobile-tabbar[data-v-339bd987]{z-index:90;background:var(--bg-secondary);border-top:1px solid var(--border-primary);padding:4px 4px calc(4px + env(safe-area-inset-bottom,0px));display:flex;position:fixed;bottom:0;left:0;right:0}.mtab[data-v-339bd987]{border-radius:var(--border-radius-md);min-height:50px;color:var(--text-muted);font-size:var(--text-3xs);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-weight:600;text-decoration:none;display:flex}.mtab.active[data-v-339bd987]{color:var(--accent-gold);background:var(--bg-active)}.mtab[data-v-339bd987]:hover{text-decoration:none}.app-main.has-tabbar[data-v-339bd987]{padding-bottom:calc(58px + env(safe-area-inset-bottom,0px))}.app-layout[data-v-339bd987]{grid-template-columns:1fr;grid-template-areas:"header""main"}.sidebar-toggle[data-v-339bd987]{display:inline-flex}.header-nav[data-v-339bd987],.header-search[data-v-339bd987],.search-expand-btn[data-v-339bd987],.help-menu-wrap[data-v-339bd987],.sources-toggle[data-v-339bd987],.homebrew-toggle[data-v-339bd987]{display:none}.user-avatar[data-v-339bd987]{display:flex}.user-name[data-v-339bd987],.user-menu-arrow[data-v-339bd987]{display:none}.user-menu-trigger[data-v-339bd987]{padding:var(--space-1);background:0 0;border-color:#0000;justify-content:center;align-items:center;min-width:44px;min-height:44px;display:flex}.user-menu-trigger[data-v-339bd987]:hover,.user-menu-trigger.active[data-v-339bd987]{background:#c4a35a1a;border-color:#c4a35a40}.app-header[data-v-339bd987]{gap:var(--space-1);padding:0 var(--space-2)}.app-main[data-v-339bd987]{overflow-y:auto}.page-content[data-v-339bd987]{min-height:calc(100dvh - var(--header-height) - 58px - env(safe-area-inset-bottom,0px));flex:none;overflow-y:visible}.is-builder-v3 .app-main[data-v-339bd987]{height:calc(100dvh - var(--header-height));overflow:hidden}.is-builder-v3 .page-content[data-v-339bd987]{flex:1;min-height:0}.is-builder-v3 .app-footer[data-v-339bd987]{display:none}[data-v-339bd987]:root{--header-height:46px}.page-content[data-v-339bd987]{--page-pad:var(--space-2)}.app-logo .logo-text[data-v-339bd987]{font-size:var(--text-base)}}@media (max-height:520px){.is-builder-v3 .app-main[data-v-339bd987]{height:calc(100dvh - var(--header-height));overflow-y:auto}.is-builder-v3 .page-content[data-v-339bd987]{flex:none;min-height:0;overflow:visible}.is-builder-v3 .app-footer[data-v-339bd987]{display:none}.is-map-editor .app-main[data-v-339bd987]{height:calc(100dvh - var(--header-height));overflow-y:auto}.is-map-editor .page-content[data-v-339bd987]{flex:none;min-height:0;overflow:visible}.is-map-editor .app-footer[data-v-339bd987],.app-footer[data-v-339bd987]{display:none}}:root{--bg-primary:#111;--bg-secondary:#1c1c1c;--bg-surface:#232323;--bg-hover:#2a2a2a;--bg-active:#333;--text-primary:#e8e6e1;--text-secondary:#a8a8a6;--text-muted:#8a8a89;--text-accent:#c4a35a;--border-primary:#2e2e2e;--border-subtle:#242424;--accent-gold:#c4a35a;--accent-blue:#5b8dd9;--accent-green:#5bbd72;--accent-red:#d95b5b;--accent-purple:#9b6dd9;--accent-amber:#e0a050;--accent:var(--accent-gold);--accent-light:#d8bd7e;--accent-ink:#111;--bg-card:var(--bg-secondary);--border-color:var(--border-primary);--chip-ink:#fff;--row-sep:#8a8a8966;--ability-str:#e05858;--ability-con:#5bbd72;--ability-dex:#40c9c0;--ability-int:#5b8dd9;--ability-wis:#9b6dd9;--ability-cha:#d96b9b;--power-at-will:#5bbd72;--power-encounter:#d95b5b;--power-daily:#8b5cc7;--role-controller:var(--accent-purple);--role-defender:var(--accent-blue);--role-leader:#5bbd72;--role-striker:#d95b5b;--tier-heroic:#5bbd72;--tier-paragon:#5b8dd9;--tier-epic:#9b6dd9;--font-body:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-heading:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--font-display:Georgia, "Palatino Linotype", "Book Antiqua", Palatino, serif;--text-3xs:.625rem;--text-2xs:.6875rem;--text-xs:.75rem;--text-sm:.8125rem;--text-base:.875rem;--text-lg:1rem;--text-lg2:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--sidebar-width:260px;--max-content-width:1200px;--header-height:52px;--border-radius:6px;--border-radius-sm:4px;--border-radius-md:8px;--border-radius-lg:12px;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 2px 8px #0000004d;--focus-ring:0 0 0 2px var(--bg-primary), 0 0 0 4px var(--accent-gold);--motion-fast:.12s;--motion-base:.16s;--ease-out:cubic-bezier(.2, .8, .2, 1)}:root.theme-light{--chip-ink:#1a1a1a;--row-sep:#6b6b6b73;--bg-primary:#f5f3ef;--bg-secondary:#fff;--bg-surface:#edeae4;--bg-hover:#e5e2dc;--bg-active:#ddd9d2;--text-primary:#1a1a1a;--text-secondary:#555;--text-muted:#6b6b6b;--text-accent:#8a6e2f;--border-primary:#d4d0c8;--border-subtle:#e8e5de;--accent-gold:#8a6e2f;--accent-blue:#2a66c9;--accent-green:#2e8a46;--accent-red:#c93535;--accent-purple:#74b;--accent-amber:#b45309;--accent:var(--accent-gold);--accent-light:#a8863c;--accent-ink:#fff;--power-at-will:#2e8a46;--power-encounter:#c93535;--power-daily:#6b3fa0;--tier-heroic:#2e8a46;--tier-paragon:#2a66c9;--tier-epic:#74b;--shadow-sm:0 1px 3px #00000014;--shadow-md:0 2px 8px #0000001a}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-size:16px}body{font-family:var(--font-body);font-size:var(--text-base);color:var(--text-primary);background:var(--bg-primary);-webkit-font-smoothing:antialiased;line-height:1.5}a{color:var(--accent-blue);text-decoration:none}a:hover{text-decoration:underline}input,select,button,textarea{font-family:inherit;font-size:inherit;color:inherit}:where(button,[role=button],summary){-webkit-tap-highlight-color:transparent;touch-action:manipulation}:where(button:not(.btn)){cursor:pointer}:where(button:not(.btn)):active:not(:disabled){filter:brightness(.9)}:where(button:not(.btn)):disabled{cursor:not-allowed;opacity:.5}@media (prefers-reduced-motion:no-preference){:where(button:not(.btn)){transition:background-color var(--motion-fast), color var(--motion-fast), border-color var(--motion-fast), filter var(--motion-fast)}}:focus-visible{outline:2px solid var(--accent-gold);outline-offset:2px}:focus:not(:focus-visible){outline:none}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{top:-100%;left:var(--space-4);z-index:9999;padding:var(--space-2) var(--space-4);background:var(--accent-gold);color:var(--accent-ink);font-weight:600;font-size:var(--text-sm);border-radius:0 0 6px 6px;text-decoration:none;transition:top .15s;position:absolute}.skip-link:focus{top:0}.entry-title{font-family:var(--font-display);letter-spacing:-.01em}.tier-border--heroic{border-top:2px solid var(--tier-heroic)}.tier-border--paragon{border-top:2px solid var(--tier-paragon)}.tier-border--epic{border-top:2px solid var(--tier-epic)}.gold-rule{height:1px;margin:var(--space-3) 0;background:linear-gradient(90deg,#0000,#c4a35a4d 20%,#c4a35a99 50%,#c4a35a4d 80%,#0000);border:none}.gold-rule--subtle{background:linear-gradient(90deg,#0000,#c4a35a2e 20%,#c4a35a59 50%,#c4a35a2e 80%,#0000)}.btn{min-height:36px;padding:0 var(--space-4);border-radius:var(--border-radius);font-size:var(--text-sm);white-space:nowrap;cursor:pointer;background:var(--bg-active);color:var(--text-secondary);transition:background var(--motion-base), color var(--motion-base), border-color var(--motion-base), filter var(--motion-base), transform var(--motion-fast) var(--ease-out), box-shadow var(--motion-fast);-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;user-select:none;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;font-family:inherit;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex}.btn:hover{color:var(--text-primary)}.btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.btn:active:not(:disabled):not(.is-busy){filter:brightness(.92);transform:translateY(1px)scale(.985)}.btn.is-busy{cursor:progress;pointer-events:none}.btn.is-busy .btn__label{opacity:.8}.btn__label{align-items:center;gap:6px;min-width:0;display:inline-flex}.btn__spinner{border:2px solid;border-right-color:#0000;border-radius:50%;flex:none;width:14px;height:14px;animation:.7s linear infinite kit-spin}.btn>svg{flex:none}.btn--block{width:100%}@keyframes kit-spin{to{transform:rotate(360deg)}}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--primary{background:var(--accent-gold);color:var(--accent-ink)}.btn--primary:hover{color:var(--accent-ink);filter:brightness(1.1)}.btn--secondary{background:var(--bg-active);color:var(--text-secondary);border-color:var(--border-primary)}.btn--secondary:hover{background:var(--bg-hover)}.btn--ghost{color:var(--text-muted);background:0 0}.btn--ghost:hover{background:var(--bg-hover);color:var(--text-primary)}.btn--danger{background:var(--accent-red,#c0504d);color:#fff}.btn--danger:hover{color:#fff;filter:brightness(1.1)}.btn--sm{min-height:28px;padding:0 var(--space-3);font-size:var(--text-xs)}.btn--large{min-height:44px;padding:0 var(--space-5);font-size:var(--text-base)}@media (pointer:coarse){.btn{min-height:44px}.btn--sm{min-height:36px}}.kit-skeleton{border-radius:var(--border-radius-sm);background:linear-gradient(90deg, var(--bg-surface) 25%, var(--bg-hover) 37%, var(--bg-surface) 63%);background-size:400% 100%;animation:1.4s infinite kit-shimmer;display:block}@keyframes kit-shimmer{0%{background-position:100%}to{background-position:0}}@media (prefers-reduced-motion:reduce){.btn{transition:none}.btn:active:not(:disabled):not(.is-busy){transform:none}.btn__spinner{animation-duration:1.8s}.kit-skeleton{animation:none}}.chip{padding:1px var(--space-2);border-radius:var(--border-radius-sm);font-size:var(--text-xs);white-space:nowrap;background:var(--bg-active);color:var(--text-secondary);align-items:center;font-weight:500;line-height:1.6;display:inline-flex}.chip--gold{color:var(--accent-gold);background:#c4a35a26}.chip--blue{color:var(--accent-blue);background:#5b8dd926}.chip--green{color:var(--power-at-will);background:#5bbd7226}.chip--red{color:var(--power-encounter);background:#d95b5b26}.chip--purple{color:var(--accent-purple);background:#9b6dd926}.chip--homebrew{color:var(--accent-gold);letter-spacing:.04em;background:#d4a01726;font-weight:700}.chip--str{color:color-mix(in srgb, var(--ability-str) 60%, var(--chip-ink));background:#e0585821;border:1px solid #e0585859;font-weight:600}@supports not (color:color-mix(in srgb, currentColor, transparent)){.chip--str{color:var(--ability-str)}}.chip--con{color:color-mix(in srgb, var(--ability-con) 60%, var(--chip-ink));background:#5bbd7221;border:1px solid #5bbd7259;font-weight:600}@supports not (color:color-mix(in srgb, currentColor, transparent)){.chip--con{color:var(--ability-con)}}.chip--dex{color:color-mix(in srgb, var(--ability-dex) 60%, var(--chip-ink));background:#40c9c021;border:1px solid #40c9c059;font-weight:600}@supports not (color:color-mix(in srgb, currentColor, transparent)){.chip--dex{color:var(--ability-dex)}}.chip--int{color:color-mix(in srgb, var(--ability-int) 60%, var(--chip-ink));background:#5b8dd921;border:1px solid #5b8dd959;font-weight:600}@supports not (color:color-mix(in srgb, currentColor, transparent)){.chip--int{color:var(--ability-int)}}.chip--wis{color:color-mix(in srgb, var(--ability-wis) 60%, var(--chip-ink));background:#9b6dd921;border:1px solid #9b6dd959;font-weight:600}@supports not (color:color-mix(in srgb, currentColor, transparent)){.chip--wis{color:var(--ability-wis)}}.chip--cha{color:color-mix(in srgb, var(--ability-cha) 60%, var(--chip-ink));background:#d96b9b21;border:1px solid #d96b9b59;font-weight:600}@supports not (color:color-mix(in srgb, currentColor, transparent)){.chip--cha{color:var(--ability-cha)}}.chip--ability{background:var(--bg-active);color:var(--text-secondary);font-weight:600}.chip--damage{color:var(--accent-gold);background:#c4a35a1f;font-weight:600}.tier-heroic{color:var(--tier-heroic)}.tier-paragon{color:var(--tier-paragon)}.tier-epic{color:var(--tier-epic)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-primary);border-radius:var(--border-radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--bg-active)}.theme-light .chip{background:var(--bg-active);color:var(--text-secondary)}.theme-light .chip--gold{background:#8a6e2f1a}.theme-light .chip--blue{background:#2a66c91a}.theme-light .chip--green{background:#2e8a461a}.theme-light .chip--red{background:#c935351a}.theme-light .chip--purple{background:#7744bb1a}.theme-light select option{color:#1a1a1a;background:#fff}.v2-container{max-width:var(--max-content-width);padding:0 var(--space-3);margin:0 auto}@media (min-width:768px){.v2-container{padding:0 var(--space-6)}}.v2-container--narrow{max-width:640px;padding:0 var(--space-3);margin:0 auto}.v2-grid{gap:var(--space-3);grid-template-columns:1fr;display:grid}@media (min-width:768px){.v2-grid--2col{grid-template-columns:1fr 1fr}.v2-grid{gap:var(--space-4)}}@media (min-width:1024px){.v2-grid--3col{grid-template-columns:1fr 1fr 1fr}.v2-grid--4col{grid-template-columns:1fr 1fr 1fr 1fr}}.v2-btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--touch-target);padding:var(--space-2) var(--space-4);border:1px solid var(--border-primary);border-radius:var(--border-radius);background:var(--bg-surface);color:var(--text-primary);cursor:pointer;font-size:var(--text-base);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;line-height:1.4;transition:background .15s,border-color .15s;display:inline-flex}.v2-btn:hover{background:var(--bg-hover)}.v2-btn:active{background:var(--bg-active)}.v2-btn--primary{background:var(--accent-gold);color:var(--accent-ink);border-color:var(--accent-gold);font-weight:600}.v2-btn--primary:hover{filter:brightness(1.1)}.v2-btn--sm{min-height:var(--touch-target-sm);padding:var(--space-1) var(--space-3);font-size:var(--text-sm)}.v2-btn--ghost{background:0 0;border-color:#0000}.v2-btn--ghost:hover{background:var(--bg-hover)}.v2-card{background:var(--bg-surface);border:1px solid var(--border-primary);border-radius:var(--border-radius);padding:var(--card-padding-mobile);transition:border-color .15s,box-shadow .15s}@media (min-width:768px){.v2-card{padding:var(--card-padding-desktop)}}.v2-card--interactive{cursor:pointer;-webkit-tap-highlight-color:transparent}.v2-card--interactive:hover{border-color:var(--accent-gold);box-shadow:var(--shadow-sm)}.v2-card--selected{border-color:var(--accent-gold);box-shadow:0 0 0 1px var(--accent-gold)}.v2-slot-indicator{align-items:center;gap:var(--space-1);font-size:var(--text-sm);color:var(--text-secondary);display:inline-flex}.v2-slot-dot{background:var(--border-primary);border-radius:50%;width:8px;height:8px}.v2-slot-dot--filled{background:var(--accent-gold)}.v2-slot-dot--warning{background:var(--accent-red)}.v2-validation{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--border-radius-sm);font-size:var(--text-sm);display:flex}.v2-validation--error{color:var(--accent-red);background:#d95b5b1a;border:1px solid #d95b5b33}.v2-validation--warning{color:var(--accent-gold);background:#c4a35a1a;border:1px solid #c4a35a33}.v2-validation--info{color:var(--accent-blue);background:#5b8dd91a;border:1px solid #5b8dd933}.v2-sheet-backdrop{z-index:100;opacity:0;background:#00000080;transition:opacity .2s;position:fixed;inset:0}.v2-sheet-backdrop--visible{opacity:1}.v2-sheet{background:var(--bg-secondary);border-top:1px solid var(--border-primary);z-index:101;border-radius:12px 12px 0 0;flex-direction:column;max-height:80vh;transition:transform .3s cubic-bezier(.32,.72,0,1);display:flex;position:fixed;bottom:0;left:0;right:0;overflow:hidden;transform:translateY(100%)}.v2-sheet--open{transform:translateY(0)}.v2-sheet__handle{background:var(--border-primary);width:36px;height:4px;margin:var(--space-2) auto;border-radius:2px;flex-shrink:0}.v2-sheet__header{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-primary);flex-shrink:0}.v2-sheet__body{padding:var(--space-3);-webkit-overflow-scrolling:touch;flex:1;overflow-y:auto}.v2-steps{gap:var(--space-2);padding:var(--space-2) var(--space-3);scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;display:flex;overflow-x:auto}.v2-steps::-webkit-scrollbar{display:none}.v2-step{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);font-size:var(--text-sm);white-space:nowrap;cursor:pointer;background:var(--bg-surface);border:1px solid var(--border-primary);color:var(--text-secondary);min-height:var(--touch-target-sm);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;border-radius:20px;transition:all .15s;display:flex}.v2-step:hover{border-color:var(--text-muted)}.v2-step--active{background:var(--accent-gold);color:var(--accent-ink);border-color:var(--accent-gold);font-weight:600}.v2-step--complete{border-color:var(--accent-green);color:var(--accent-green)}.v2-step--locked{opacity:.4;cursor:not-allowed}.v2-step__badge{background:var(--accent-red);border-radius:50%;width:6px;height:6px}.v2-search{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--border-radius);min-height:var(--touch-target);display:flex}.v2-search input{color:var(--text-primary);font-size:var(--text-base);background:0 0;border:none;flex:1}.v2-search input::placeholder{color:var(--text-muted)}@media (prefers-reduced-motion:reduce){.v2-sheet,.v2-sheet-backdrop,.v2-card,.v2-btn,.v2-step{transition:none!important}}@media print{body{color:#000;font-size:var(--text-2xs);background:#fff}.app-header,.app-sidebar,.app-footer,.sidebar-overlay,.mode-bar,.support-banner,.pw-link,.edit-link,.ds-edit,.toast-container,#h4e-release-bar{display:none!important}.app-layout,.app-main{display:block!important}.app-main{padding:0}.app-main,.page-content{height:auto!important;overflow:visible!important}:root{--bg-primary:#fff;--bg-secondary:#fff;--bg-surface:#f5f5f5;--bg-hover:#eee;--bg-active:#e8e8e8;--text-primary:#000;--text-secondary:#333;--text-muted:#666;--text-accent:#333;--border-primary:#ccc;--border-subtle:#ddd;--accent-gold:#8a6e2f;--accent-ink:#fff;--accent-blue:#25a;--power-at-will:#272;--power-encounter:#a22;--accent-purple:#639}.chip{border:1px solid var(--border-primary);background:#f0f0f0}a{color:#000;text-decoration:none}.sheet-grid,.cs-columns,.ds-grid{gap:8px}}::highlight(h4e-search){color:#1a1400;background-color:#ffd54a}:root{--bp-mobile:375px;--bp-tablet:768px;--bp-laptop:1024px;--bp-desktop:1440px;--touch-target:44px;--touch-target-sm:36px;--card-padding-mobile:var(--space-3);--card-padding-desktop:var(--space-4)}
