.update-banner[data-v-7b336cb4]{position:fixed;top:0;left:0;right:0;display:flex;align-items:center;gap:.75rem;padding:.6rem 1.5rem;background:#1a3a5c;color:#fff;box-shadow:0 2px 8px #0000004d;font-family:sans-serif;font-size:.9rem;z-index:9999}.update-banner__text[data-v-7b336cb4]{flex:1}.update-banner__btn[data-v-7b336cb4]{padding:.3rem .75rem;border:1px solid rgba(255,255,255,.5);border-radius:4px;background:transparent;color:#fff;cursor:pointer;font-size:.85rem;white-space:nowrap}.update-banner__btn--primary[data-v-7b336cb4]{background:#fff;color:#1a3a5c;font-weight:600;border-color:#fff}.update-banner__btn--primary[data-v-7b336cb4]:hover{background:#e8eef7}.update-banner__btn[data-v-7b336cb4]:not(.update-banner__btn--primary):hover{background:#ffffff26}.dev-banner[data-v-9b4c2e31]{display:inline-flex;align-items:center;gap:.35rem;margin-left:.5rem;padding:.1rem .5rem;border-radius:3px;background:#c0392b;color:#fff;font-size:.7rem;font-weight:700;font-family:sans-serif;line-height:1.4}.dev-banner__dot[data-v-9b4c2e31]{width:.45rem;height:.45rem;border-radius:50%;background:#f1c40f;animation:pulse-9b4c2e31 1.5s ease-in-out infinite}.dev-banner__label[data-v-9b4c2e31]{letter-spacing:.05em}.dev-banner__version[data-v-9b4c2e31]{font-weight:400;opacity:.85}@keyframes pulse-9b4c2e31{0%,to{opacity:1}50%{opacity:.4}}.notifications[data-v-992533f5]{position:fixed;top:4rem;right:1rem;z-index:9998;display:flex;flex-direction:column;gap:.5rem;max-width:24rem}.notification-chip[data-v-992533f5]{display:flex;align-items:center;gap:.75rem;padding:.6rem .8rem;border-radius:4px;font-family:sans-serif;font-size:.85rem;background:#fff;border-left:4px solid;box-shadow:0 2px 8px #00000026;transition:opacity .25s,transform .25s}.notification-chip--ok[data-v-992533f5]{background:#d4edda;border-left-color:#2a7a2a}.notification-chip--warning[data-v-992533f5]{background:#fff3cd;border-left-color:#b8860b}.notification-chip--error[data-v-992533f5]{background:#f8d7da;border-left-color:#c00}.notification-chip__message[data-v-992533f5]{flex:1;color:#222}.notification-chip__close[data-v-992533f5]{flex-shrink:0;width:1.4rem;height:1.4rem;border:none;background:transparent;font-size:1.1rem;line-height:1;cursor:pointer;color:#888;border-radius:3px;display:flex;align-items:center;justify-content:center}.notification-chip__close[data-v-992533f5]:hover{background:#eee;color:#222}.chip-enter-active[data-v-992533f5],.chip-leave-active[data-v-992533f5]{transition:all .25s ease}.chip-enter-from[data-v-992533f5],.chip-leave-to[data-v-992533f5]{opacity:0;transform:translate(1.5rem)}.chip-move[data-v-992533f5]{transition:transform .25s ease}*{box-sizing:border-box}body{margin:0;background:#fff}.app-nav{display:flex;align-items:center;gap:1.5rem;padding:.6rem 1.5rem;background:#2a4a7a;position:sticky;top:0;z-index:100}.nav-home{color:#fff;font-weight:700;font-size:1.1rem;text-decoration:none;font-family:sans-serif}.nav-version{color:#8aaad0;font-size:.75rem;font-family:sans-serif;margin-left:-1rem;align-self:flex-end;padding-bottom:.1rem}.nav-link{color:#c8d8f0;font-size:.9rem;text-decoration:none;font-family:sans-serif}.nav-link:hover,.nav-home:hover{text-decoration:underline}.nav-link--help{margin-left:auto;font-size:.85rem;opacity:.8}.nav-link--help:hover{opacity:1}.nav-drive{margin-left:auto;display:flex;align-items:center;gap:.4rem;color:#c8d8f0;font-size:.8rem;font-family:sans-serif}.nav-drive-email{white-space:nowrap}.nav-drive-revoke,.nav-drive-connect{background:none;border:1px solid #8aaad0;color:#c8d8f0;font-size:.75rem;font-family:sans-serif;padding:.15rem .5rem;border-radius:3px;cursor:pointer;white-space:nowrap}.nav-drive-revoke:hover,.nav-drive-connect:hover{background:#ffffff1a;color:#fff}.nav-drive-none{opacity:.6}.home[data-v-587c8017]{max-width:600px;margin:0 auto;padding:1.5rem;font-family:sans-serif}.status[data-v-587c8017]{color:#555;padding:.5rem 0}.status.error[data-v-587c8017]{color:#c00}.character-list[data-v-587c8017]{list-style:none;padding:0;margin:1rem 0}.character-item[data-v-587c8017]{display:flex;align-items:center;justify-content:space-between;padding:.6rem .75rem;border-bottom:1px solid #ddd}.char-name[data-v-587c8017]{font-weight:600}.char-links[data-v-587c8017]{display:flex;gap:.4rem}.empty-hint[data-v-587c8017]{color:#666;margin:1rem 0}.diff-panel[data-v-587c8017]{background:#f9f9f9;border:1px solid #ccc;border-radius:4px;padding:1.25rem}.diff-panel h2[data-v-587c8017]{margin:0 0 .5rem}.diff-subtitle[data-v-587c8017]{margin:.75rem 0 .5rem;font-weight:600}.no-diff[data-v-587c8017]{color:#555;font-style:italic}.diff-table[data-v-587c8017]{width:100%;border-collapse:collapse;margin-bottom:1rem}.diff-table th[data-v-587c8017],.diff-table td[data-v-587c8017]{text-align:left;padding:.35rem .6rem;border-bottom:1px solid #ddd;font-size:.9em}.diff-table th[data-v-587c8017]{background:#f0f0f0;font-weight:600}.diff-old[data-v-587c8017]{color:#a00}.diff-new[data-v-587c8017]{color:#1a6e1a}.diff-buttons[data-v-587c8017]{display:flex;gap:.5rem;margin-top:.75rem}.rules-nav[data-v-587c8017]{margin-top:1.5rem;padding-top:1rem;border-top:1px solid #ddd}.rules-nav-title[data-v-587c8017]{font-size:1em;font-weight:600;margin:0 0 .5rem}.rules-table[data-v-587c8017]{width:100%;border-collapse:collapse;margin-bottom:.75rem}.rules-table th[data-v-587c8017],.rules-table td[data-v-587c8017]{text-align:left;padding:.35rem .6rem;border-bottom:1px solid #ddd;font-size:.9em}.rules-table th[data-v-587c8017]{font-weight:600;background:#f5f5f5}.rules-table-version[data-v-587c8017]{color:#888}.rules-table-empty[data-v-587c8017]{color:#999;font-size:.9em;margin:0 0 .75rem}.rules-link[data-v-587c8017]{color:#333}.btn-create[data-v-587c8017]{display:inline-block;padding:.4rem 1rem;border:none;border-radius:3px;background:#2a4a7a;color:#fff;text-decoration:none;font-size:.9rem;font-weight:600;white-space:nowrap;cursor:pointer}.btn-create[data-v-587c8017]:hover{background:#1e3559}.backup-section[data-v-587c8017]{margin-top:1.5rem;padding-top:1rem;border-top:1px solid #ddd}.backup-title[data-v-587c8017]{font-size:1em;font-weight:600;margin:0 0 .25rem}.backup-hint[data-v-587c8017]{color:#777;font-size:.85em;margin:0 0 .75rem}.backup-buttons[data-v-587c8017]{display:flex;gap:.5rem;flex-wrap:wrap}.backup-section .backup-buttons+.backup-buttons[data-v-587c8017]{margin-top:.75rem}.btn-backup[data-v-587c8017]{padding:.4rem 1rem;border:1px solid #2a4a7a;border-radius:3px;background:transparent;color:#2a4a7a;font-size:.9rem;font-weight:600;cursor:pointer}.btn-backup[data-v-587c8017]:hover{background:#2a4a7a;color:#fff}.btn-backup[data-v-587c8017]:disabled{opacity:.5;cursor:not-allowed}.btn-backup[data-v-587c8017]:disabled:hover{background:transparent;color:#2a4a7a}.conflict-list[data-v-587c8017]{list-style:disc;padding-left:1.25rem;margin:.5rem 0 1rem;color:#333;font-size:.9em}.btn-ask[data-v-587c8017]{padding:.4rem 1rem;border:1px solid #e67e22;border-radius:3px;background:transparent;color:#e67e22;font-size:.9rem;font-weight:600;cursor:pointer}.validation-banner[data-v-587c8017]{background:#fff8e1;border:1px solid #f0c040;border-radius:4px;padding:.25rem .75rem;margin:.75rem 0;font-size:.9em;font-weight:600}.validation-banner--expanded[data-v-587c8017]{padding-bottom:.5rem}.validation-banner-summary[data-v-587c8017]{display:flex;gap:1rem;align-items:center;width:100%;padding:.25rem 0;border:none;background:transparent;cursor:pointer;font:inherit;color:inherit;text-align:left}.validation-banner-summary[data-v-587c8017]:hover{opacity:.8}.validation-banner-chevron[data-v-587c8017]{margin-left:auto;font-size:.75em;color:#888}.validation-banner--error[data-v-587c8017]{color:#c00}.validation-banner--warning[data-v-587c8017]{color:#b8860b}.validation-banner--info[data-v-587c8017]{color:#555}.validation-issue-list[data-v-587c8017]{border-top:1px solid #f0c040;margin-top:.25rem;padding-top:.25rem;display:flex;flex-direction:column;gap:.25rem}.validation-issue-item[data-v-587c8017]{display:flex;flex-wrap:wrap;gap:.25rem .5rem;padding:.2rem 0;font-weight:400;font-size:.9em;border-bottom:1px solid #eee}.validation-issue-item[data-v-587c8017]:last-child{border-bottom:none}.validation-issue-severity[data-v-587c8017]{font-weight:600;min-width:4.5em}.validation-issue-item--error .validation-issue-severity[data-v-587c8017]{color:#c00}.validation-issue-item--warning .validation-issue-severity[data-v-587c8017]{color:#b8860b}.validation-issue-item--info .validation-issue-severity[data-v-587c8017]{color:#555}.validation-issue-message[data-v-587c8017]{flex:1 1 auto}.validation-issue-detail[data-v-587c8017]{color:#888;font-size:.9em;width:100%}.btn-ask[data-v-587c8017]:hover{background:#e67e22;color:#fff}.btn,.btn-nav,.btn-link,.btn-import,.btn-rules,.btn-reorder{display:inline-block;padding:.3rem .75rem;border:1px solid #aaa;border-radius:3px;background:#fff;color:#333;cursor:pointer;font-size:.85em;text-decoration:none}.btn:hover,.btn-nav:hover,.btn-link:hover,.btn-import:hover:not(:disabled),.btn-rules:hover,.btn-reorder:hover{background:#f0f0f0}.btn-nav:disabled,.btn-import:disabled,.btn-reorder:disabled,.btn-link--disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.btn-confirm,.btn-save,.btn-github{padding:.4rem 1rem;border:none;border-radius:3px;background:#2a7a2a;color:#fff;cursor:pointer}.btn-confirm:disabled,.btn-save:disabled,.btn-github:disabled{background:#aaa;cursor:default}.btn-cancel{padding:.4rem 1rem;border:none;border-radius:3px;background:#888;color:#fff;cursor:pointer}.btn-remove,.btn-link--delete{padding:.25rem .6rem;border:1px solid #c00;border-radius:3px;background:#fff;color:#c00;cursor:pointer}.btn-remove:hover,.btn-link--delete:hover{background:#fff0f0}.btn-icon{width:1.8rem;height:1.8rem;padding:0;border:1px solid #aaa;border-radius:3px;background:#fff;cursor:pointer;font-size:1rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle}.btn-icon:hover{background:#f0f0f0}.btn-icon:disabled{opacity:.35;cursor:not-allowed}.btn-download{display:inline-block;padding:.3rem .75rem;border:none;border-radius:3px;background:#2a7a2a;color:#fff;text-decoration:none;font-size:.85rem;white-space:nowrap;cursor:pointer}.btn-download:hover{background:#1e5e1e}.btn-reorder--active{background:#2a4a7a;color:#fff;border-color:#2a4a7a}.btn-reorder--active:hover{background:#1e3559}.btn-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}
