.welcome-view[data-v-d67ac3d6]{min-height:100%;position:relative}.welcome-folio[data-v-d67ac3d6]{position:relative;overflow:hidden;background:linear-gradient(180deg,#fffdf9fa,#f1ebe2f0);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.welcome-header[data-v-d67ac3d6]{position:relative;z-index:1;padding:32px 32px 18px;border-bottom:1px solid rgba(186,174,159,.45)}.welcome-rule[data-v-d67ac3d6]{width:64px;height:2px;margin-bottom:14px;background:var(--accent)}.welcome-intro[data-v-d67ac3d6]{max-width:70ch}.welcome-header h1[data-v-d67ac3d6]{margin:0;font-family:Iowan Old Style,Palatino Linotype,Book Antiqua,Palatino,serif;font-size:40px;font-weight:700;line-height:1;letter-spacing:-.03em;color:#2f2219}.welcome-layout[data-v-d67ac3d6]{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:24px;align-items:start;padding:24px 32px 32px}.welcome-letter[data-v-d67ac3d6]{position:relative;z-index:1;padding:8px 0 0}.welcome-copy[data-v-d67ac3d6]{margin:0;font-size:16px;line-height:1.85;color:var(--text);text-wrap:pretty}.welcome-copy+.welcome-copy[data-v-d67ac3d6]{margin-top:12px}.welcome-copy-lead[data-v-d67ac3d6]{font-size:17px;color:#382b22}.welcome-copy-lead+.welcome-copy-opening[data-v-d67ac3d6]{margin-top:18px}.welcome-copy-signoff[data-v-d67ac3d6]{font-weight:600;color:#4b392d}.welcome-copy-note[data-v-d67ac3d6]{margin-top:22px;padding-top:14px;border-top:1px solid rgba(186,174,159,.55);font-weight:600;color:var(--text-muted)}.welcome-figure[data-v-d67ac3d6]{position:relative;z-index:1;align-self:stretch}.welcome-image-frame[data-v-d67ac3d6]{height:100%;min-height:500px;padding:10px;background:#2f221914;border:1px solid rgba(186,174,159,.45)}.welcome-image[data-v-d67ac3d6]{min-height:100%;border:1px solid rgba(186,174,159,.3);background-repeat:no-repeat;background-position:center top;background-size:cover;filter:sepia(.04) saturate(1) contrast(1.02)}@media(max-width:900px){.welcome-header[data-v-d67ac3d6]{padding-bottom:18px}.welcome-layout[data-v-d67ac3d6]{grid-template-columns:1fr;padding-top:24px}.welcome-image-frame[data-v-d67ac3d6]{min-height:340px}.welcome-image[data-v-d67ac3d6]{min-height:316px}}@media(max-width:768px){.welcome-header[data-v-d67ac3d6]{padding:24px 22px 18px}.welcome-header h1[data-v-d67ac3d6]{font-size:34px}.welcome-copy[data-v-d67ac3d6]{font-size:15px;line-height:1.75}.welcome-layout[data-v-d67ac3d6]{gap:20px;padding:20px 22px 22px}.welcome-letter[data-v-d67ac3d6]{padding-top:4px}.welcome-image-frame[data-v-d67ac3d6]{min-height:280px;padding:10px}.welcome-image[data-v-d67ac3d6]{min-height:258px}}.login-header[data-v-6cb06fb1]{margin-bottom:22px}.login-intro[data-v-6cb06fb1]{margin-top:8px;color:var(--text-muted);line-height:1.5}.login-form[data-v-6cb06fb1]{padding:0;background:transparent;border:none;box-shadow:none}.form-group[data-v-6cb06fb1]{margin-bottom:20px}.password-wrapper[data-v-6cb06fb1]{position:relative}.password-wrapper input[data-v-6cb06fb1]{padding-right:44px}.toggle-password[data-v-6cb06fb1]{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center}.error-message[data-v-6cb06fb1]{padding:12px 16px;margin-bottom:20px;font-size:14px}.btn-login[data-v-6cb06fb1]{width:100%;padding:14px;cursor:pointer;font-size:16px;font-weight:600}.forgot-password-link[data-v-6cb06fb1]{display:block;text-align:center;margin-top:16px;font-size:14px;font-weight:500}.btn-google[data-v-6cb06fb1]{width:100%;padding:14px;cursor:pointer;font-size:16px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:10px}.login-versions[data-v-6cb06fb1]{display:flex;flex-direction:column;align-items:center;gap:2px;margin-top:20px}.login-version[data-v-6cb06fb1]{font-size:12px;color:var(--text-muted)}.btn-menu[data-v-18c49509]{display:none;cursor:pointer;line-height:0}@media(max-width:768px){.topbar-brand[data-v-18c49509]{font-size:14px}.topbar-usercopy[data-v-18c49509]{display:none}.btn-menu[data-v-18c49509]{display:flex}}.sidebar[data-v-4fbc23e2]{transition:width .25s ease;overflow:hidden;flex-shrink:0;display:flex;flex-direction:column;height:100%}.sidebar.collapsed[data-v-4fbc23e2]{width:64px}.sidebar-nav[data-v-4fbc23e2]{display:flex;flex-direction:column;flex:1;min-height:0}.sidebar-link[data-v-4fbc23e2]{display:flex;align-items:center;gap:10px;position:relative;text-decoration:none;transition:all .15s;white-space:nowrap;color:inherit}.sidebar-group-toggle[data-v-4fbc23e2]{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;background:transparent;border:0;cursor:pointer;text-align:left;color:#f5ede4;font:inherit}.sidebar-group-label-wrap[data-v-4fbc23e2]{display:inline-flex;align-items:center;gap:10px;min-width:0}.sidebar-group-children[data-v-4fbc23e2]{display:flex;flex-direction:column}.sidebar-group-chevron[data-v-4fbc23e2]{width:16px;height:16px;flex-shrink:0;transition:transform .2s ease}.sidebar-group-chevron.open[data-v-4fbc23e2]{transform:rotate(90deg)}.sidebar-icon[data-v-4fbc23e2]{width:18px;height:18px;flex-shrink:0}.sidebar-label[data-v-4fbc23e2]{font-size:13px;font-weight:500}.sidebar-sublink[data-v-4fbc23e2]{padding-left:18px}.sidebar.collapsed .sidebar-sublink[data-v-4fbc23e2]{justify-content:center;padding-left:12px;padding-right:12px}.tournament-icon-circle[data-v-4fbc23e2]{flex-shrink:0;overflow:hidden;display:flex;align-items:center;justify-content:center}.tournament-icon-img[data-v-4fbc23e2]{width:100%;height:100%;object-fit:cover}.tournament-icon-initial[data-v-4fbc23e2]{font-size:10px;font-weight:700;line-height:1}.sidebar-sublabel[data-v-4fbc23e2]{overflow:hidden;text-overflow:ellipsis;max-width:140px}.btn-toggle[data-v-4fbc23e2]{display:flex;align-items:center;gap:8px;margin:auto 8px 8px;cursor:pointer;transition:all .15s;white-space:nowrap}.toggle-icon[data-v-4fbc23e2]{flex-shrink:0;transition:transform .25s ease}.toggle-icon.flipped[data-v-4fbc23e2]{transform:rotate(180deg)}.toggle-label[data-v-4fbc23e2]{font-size:12px;font-weight:500}.sidebar-versions[data-v-4fbc23e2]{display:flex;flex-direction:column;gap:2px;align-items:flex-end}.sidebar-version[data-v-4fbc23e2]{padding:0 16px 4px;font-size:11px;color:var(--text-muted);opacity:.8}@media(max-width:768px){.sidebar[data-v-4fbc23e2]{display:none}.sidebar.mobile-open[data-v-4fbc23e2]{display:flex;position:fixed;left:0;bottom:0;z-index:var(--z-sidebar)}.sidebar.mobile-open .btn-toggle[data-v-4fbc23e2]{display:none}.sidebar-backdrop[data-v-4fbc23e2]{display:block;position:fixed;left:0;right:0;bottom:0;z-index:calc(var(--z-sidebar) - 1)}}@media(min-width:769px){.sidebar.collapsed .sidebar-link[data-v-4fbc23e2]:after{content:attr(title);position:absolute;left:calc(100% + 10px);top:50%;transform:translateY(-50%);padding:6px 10px;background:#2a2521;color:#f5ede4;border:1px solid #3a332d;border-radius:8px;font-size:12px;font-weight:600;line-height:1.2;white-space:nowrap;opacity:0;pointer-events:none;box-shadow:0 1px 2px #1a140e29;transition:opacity .12s ease;z-index:var(--z-dropdown)}.sidebar.collapsed .sidebar-link[data-v-4fbc23e2]:hover:after,.sidebar.collapsed .sidebar-link[data-v-4fbc23e2]:focus-visible:after{opacity:1}.sidebar-backdrop[data-v-4fbc23e2]{display:none}}.global-toaster[data-v-87daa165]{position:fixed;top:20px;right:20px;z-index:var(--z-toast);width:min(360px,calc(100vw - 32px));pointer-events:none}.toast-card[data-v-87daa165]{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border:1px solid var(--border);border-radius:12px;box-shadow:0 14px 30px #211c1724;pointer-events:auto}.toast-copy[data-v-87daa165]{flex:1;min-width:0}.toast-message[data-v-87daa165]{margin:0;font-size:14px;font-weight:600;line-height:1.4}.toast-dismiss[data-v-87daa165]{display:inline-flex;align-items:center;justify-content:center;width:28px;min-width:28px;height:28px;min-height:28px;border:0;border-radius:8px;background:transparent;color:inherit;cursor:pointer;font-size:18px;line-height:1}.toast-dismiss[data-v-87daa165]:hover{background:#211c1714}.toast-fade-enter-active[data-v-87daa165],.toast-fade-leave-active[data-v-87daa165]{transition:opacity .2s ease,transform .2s ease}.toast-fade-enter-from[data-v-87daa165],.toast-fade-leave-to[data-v-87daa165]{opacity:0;transform:translate3d(0,-8px,0)}@media(max-width:768px){.global-toaster[data-v-87daa165]{top:12px;right:12px;left:12px;width:auto}}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}#app{min-height:100vh;display:flex;flex-direction:column}#app.has-shell{height:100vh;overflow:hidden}.app-body{display:flex;flex:1;min-height:0;height:calc(100vh - 56px);min-height:calc(100vh - 56px);background:transparent;overflow:hidden}.app-content{flex:1;overflow-y:auto;min-height:0;height:100%}@media(max-width:768px){.app-body{flex-direction:column;height:calc(100vh - 52px);min-height:calc(100vh - 52px)}}:root{--app-bg: #f4efe8;--app-bg-strong: #ebe4db;--surface: #fbf8f3;--surface-strong: #fffdf9;--surface-muted: #f1ebe2;--border: #d7cec2;--border-strong: #baae9f;--text: #211c17;--text-muted: #655c52;--accent: #c45a1b;--accent-hover: #a64a14;--accent-soft: #f1dfd2;--danger-bg: #f7e4de;--danger-border: #d39c88;--danger-text: #7b3113;--success-bg: #e5eee1;--success-border: #a6ba9a;--success-text: #335029;--info-bg: #ece6dc;--info-border: #cfc2b3;--info-text: #4f453b;--shell-bg: #1f1b18;--shell-bg-muted: #2a2521;--shell-border: #3a332d;--shell-text: #f5ede4;--shell-text-muted: #c6b9aa;--shadow-sm: 0 1px 2px rgba(26, 20, 14, .06);--tournament-accent: #667eea;--tournament-accent-alt: #764ba2;--tournament-me-bg: linear-gradient(90deg, rgba(102, 126, 234, .08), rgba(118, 75, 162, .08));--tournament-me-bg-hover: linear-gradient( 90deg, rgba(102, 126, 234, .14), rgba(118, 75, 162, .14) );--win-color: #166534;--loss-color: #dc2626;--draw-color: #d97706;--draw-color-dark: #854d0e;--overlay-dark: 18, 14, 10;--overlay-bg: rgba(18, 14, 10, .42);--spinner-track: #e1d8cd;--z-dropdown: 20;--z-sidebar: 100;--z-modal: 300;--z-toast: 400}html,body,#app{min-height:100%}body{font-family:Avenir Next,Avenir,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(180deg,var(--app-bg) 0%,var(--app-bg-strong) 100%);color:var(--text)}body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.16) 1px,transparent 1px);background-size:100% 32px;opacity:.35}#app{position:relative;color:var(--text)}#app a{color:var(--accent)}#app button,#app input,#app select,#app textarea{font:inherit}#app .container{width:100%;max-width:1320px;margin:0 auto}#app .topbar{display:flex;align-items:center;justify-content:space-between;height:56px;padding:0 20px;background:var(--shell-bg);color:var(--shell-text);border-bottom:1px solid var(--shell-border)}#app .topbar-left,#app .topbar-right{display:flex;align-items:center;gap:12px}#app .topbar-right{min-width:0}#app .topbar-brand{color:var(--shell-text);font-size:15px;font-weight:700;letter-spacing:-.01em}#app .topbar-profile-link{display:inline-flex;align-items:center;gap:10px;min-width:0;padding:6px 10px;border:1px solid transparent;border-radius:8px;color:inherit;text-decoration:none}#app .topbar-profile-link:hover{background:var(--shell-bg-muted);border-color:#52483f}#app .topbar-usercopy{display:flex;flex-direction:column;min-width:0;line-height:1.2}#app .topbar-username{color:var(--shell-text);font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#app .topbar-language{color:var(--shell-text-muted);padding:0;background:transparent;border-radius:0;font-size:11px;font-weight:500;text-transform:none;letter-spacing:0}#app .topbar-avatar{width:32px;height:32px;border-radius:8px;border:1px solid var(--shell-border);object-fit:cover}#app .topbar-avatar-fallback{display:inline-flex;align-items:center;justify-content:center;background:#342d27;color:var(--shell-text);font-size:12px;font-weight:700}#app .btn-logout,#app .btn-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 12px;border:1px solid var(--shell-border);background:transparent;color:var(--shell-text-muted);border-radius:8px;box-shadow:none}#app .btn-menu{align-items:center;justify-content:center;min-height:36px;padding:0 12px;border:1px solid var(--shell-border);background:transparent;color:var(--shell-text-muted);border-radius:8px;box-shadow:none}#app .btn-logout{width:36px;min-width:36px;padding:0}#app .btn-menu:hover,#app .btn-logout:hover,#app .btn-toggle:hover{background:var(--shell-bg-muted);color:var(--shell-text);border-color:#52483f}#app .sidebar{width:248px;background:var(--shell-bg);border-right:1px solid var(--shell-border);min-height:100%;height:100%;align-self:stretch}#app .sidebar.collapsed{width:64px}#app .sidebar-nav{padding:14px 10px;gap:6px;overflow-y:auto}#app .sidebar-link{min-height:40px;padding:9px 12px;color:var(--shell-text-muted);border-radius:8px}#app .sidebar-link+.sidebar-link{margin-top:1px}#app .sidebar-link:hover{background:var(--shell-bg-muted);color:var(--shell-text)}#app .sidebar-link.router-link-active{background:#342d27;color:var(--shell-text)}#app .sidebar-sublink{min-height:34px;padding-top:7px;padding-bottom:7px;padding-left:18px;margin-left:10px;border-left:1px solid #3a332d;border-radius:0 8px 8px 0}#app .tournament-icon-circle{width:20px;height:20px;border-radius:6px;background:#3a332d}#app .sidebar-sublabel{font-size:12px}#app .tournament-icon-initial{color:var(--shell-text-muted)}#app .sidebar-backdrop{background:#120e0a6b}#app .login-view,#app .register-view,#app .recover-view,#app .restore-view{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px 20px}#app .auth-shell{width:min(1120px,100%);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(360px,420px);margin:0 auto;background:#171715;border:1px solid #2a2d29;border-radius:10px;overflow:hidden;box-shadow:0 1px 2px #0b0c0a3d}#app .auth-art-panel{position:relative;min-height:640px;background:#101311}#app .auth-art-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}#app .auth-art-panel:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0a0e0d1f,#0a0e0da3)}#app .auth-panel{display:flex;flex-direction:column;justify-content:center;padding:34px 32px;background:#f6f1e7}#app .login-container,#app .register-container,#app .recover-container,#app .restore-container{width:100%;max-width:420px}#app .login-header,#app .register-header,#app .recover-header,#app .restore-header{margin-bottom:20px;text-align:left;color:var(--text)}#app .login-header h1,#app .register-header h1,#app .recover-header h1,#app .restore-header h1{margin:0;font-size:30px}#app .login-form,#app .register-form-wrapper,#app .recover-form-wrapper,#app .restore-form-wrapper{padding:28px}#app .login-divider{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;margin:20px 0;color:var(--text-muted);font-size:13px}#app .login-divider:before,#app .login-divider:after{content:"";height:1px;background:var(--border)}#app .login-divider span{padding:0}#app .toggle-password{color:var(--text-muted)}#app .toggle-password:hover{color:var(--accent)}#app .forgot-password-link,#app .back-link{display:block;text-align:center;margin-top:16px;color:var(--accent);text-decoration:none;font-size:14px;font-weight:500}#app .forgot-password-link:hover,#app .back-link:hover{text-decoration:underline}#app .welcome-view,#app .menu-view,#app .characters-view{min-height:100%;padding:20px}#app .menu-actions{background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-sm)}#app .auth-art-copy,#app .login-art-copy,#app .recover-art-copy,#app .restore-art-copy{position:absolute;left:24px;right:24px;bottom:24px;z-index:1;padding:18px 20px;background:#121512bd;border:1px solid rgba(117,138,124,.22);border-radius:10px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}#app .auth-art-copy h1,#app .login-art-copy h1,#app .recover-art-copy h1,#app .restore-art-copy h1{margin:0 0 8px;color:#f1f3ed;font-size:30px;text-shadow:0 1px 2px rgba(0,0,0,.35)}#app .auth-art-copy p,#app .login-art-copy p,#app .recover-art-copy p,#app .restore-art-copy p{margin:0;color:#c7d2c8;line-height:1.5}#app .menu-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;align-items:stretch;padding:28px}#app .btn-main{min-height:56px;padding:16px 18px;font-size:16px}#app .toolbar{padding:18px}#app .btn-retry{border:1px solid var(--danger-border);background:var(--danger-bg);color:var(--danger-text);border-radius:8px}body .overlay-backdrop{background:#120e0a80;padding:20px}body .overlay-content{background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-sm)}body .btn-close{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:8px}body .btn-close:hover{background:var(--surface-muted)}body .overlay-image{border-radius:8px;border:1px solid var(--border);box-shadow:none}body .overlay-badge,body .overlay-grid-item{background:var(--surface-muted);border:1px solid var(--border);color:var(--text)}body .overlay-item-label,body .overlay-header-info p,body .overlay-loading,body .overlay-section h3{color:var(--text-muted)}body .overlay-header,body .confirm-dialog{border-color:var(--border)}body .confirm-overlay{background:#120e0a6b}body .confirm-dialog{background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-sm)}body .confirm-message{color:var(--text)}#app .btn-back-link{display:inline-flex;align-items:center;gap:6px;background:none;border:none;padding:0;margin-bottom:16px;font-size:14px;font-weight:500;color:var(--text-muted);cursor:pointer;transition:color .16s ease;white-space:nowrap;text-decoration:none}#app .btn-back-link:hover{color:var(--text)}#app .page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px;color:var(--text)}#app .page-header h1,#app .page-header h2,#app h1,#app h2,#app h3{color:var(--text);letter-spacing:-.02em}#app .page-header h1{margin:0;font-size:32px;font-weight:700}#app .section-title,#app .form-card h2,#app .organizer-form-card h2,#app .manage-card h2,#app .editions-card h2,#app .crews-header h2,#app .actions-card h2,#app .registrations-list-card h2,#app .info-card h2,#app .action-card h2,#app .danger-zone-title,#app .rounds-section h2,#app .warband-cards-title,#app .result-title,#app .modal-title{margin:0 0 16px;font-size:20px;font-weight:700;color:var(--text);letter-spacing:-.02em}#app .modal-subtitle,#app .manage-hint,#app .recover-description,#app .login-intro,#app .empty-state p,#app .error-message p,#app .success-message,#app .info-text,#app .pagination-info,#app .pagination-size,#app .field-hint,#app .input-hint,#app .warband-hint,#app .crew-member-count,#app .crews-empty,#app .edition-id,#app .no-crew,#app .empty-info,#app .round-date,#app .result-waiting,#app .tiebreaker-perfect-tie,#app .warband-name-text,#app .player-hero p,#app .login-art-copy p{color:var(--text-muted);font-size:14px;line-height:1.5}#app .form-group label,#app .edition-field label,#app .field-label,#app .result-field-label,#app .warband-slot-label,#app .pagination-jump-label,#app .password-rules-title,#app .permissions-title,#app .cards-section-title{font-size:13px;font-weight:600;color:var(--text)}#app .card,#app .toolbar,#app .login-form,#app .recover-form-wrapper,#app .restore-form-wrapper,#app .register-form-wrapper,#app .notification-banner,#app .empty-state,#app .character-count,#app .error-message,#app .success-message,#app .feedback-message{background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-sm)}#app .form-group label,#app label{display:block;margin-bottom:6px;font-size:13px;font-weight:600;color:var(--text)}#app input:not([type=checkbox]):not([type=radio]):not([type=file]),#app select,#app textarea{width:100%;min-height:44px;padding:10px 12px;background:var(--surface-strong);color:var(--text);border:1px solid var(--border-strong);border-radius:8px;outline:none;transition:border-color .16s ease,background-color .16s ease}#app input:not([type=checkbox]):not([type=radio]):not([type=file]):focus,#app select:focus,#app textarea:focus{border-color:var(--accent);background:#fff}#app input:disabled,#app select:disabled,#app textarea:disabled,#app button:disabled{cursor:not-allowed;opacity:.65}#app .btn-primary,#app .btn-header,#app .btn-main,#app .btn-submit,#app .btn-login,#app .btn-header-large,#app .btn-level-up,#app .btn-confirm-accept{border:1px solid var(--accent);background:var(--accent);color:#fff;border-radius:8px;box-shadow:none}#app .btn-secondary,#app .btn-google,#app .btn-sort,#app .btn-confirm-cancel{border:1px solid var(--border-strong);background:var(--surface);color:var(--text);border-radius:8px;box-shadow:none}#app .btn-link{background:none;border:none;font-size:.82rem;color:var(--text-muted);cursor:pointer;padding:0;text-decoration:underline}#app .btn-link:hover{color:var(--text)}#app .btn-counter{width:28px;height:28px;border:1px solid var(--border);border-radius:5px;background:var(--surface-muted);color:var(--text);font-size:1rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;line-height:1;padding:0;transition:background .1s}#app .btn-counter:hover:not(:disabled){background:var(--border)}#app .btn-counter:disabled{opacity:.35;cursor:default}#app .btn-back,#app .btn-view-tournament,#app .btn-register,#app .btn-detail,#app .btn-edit,#app .btn-manage,#app .btn-archive,#app .btn-create-edition,#app .btn-icon-upload,#app .btn-manage-edition,#app .btn-submit-sm,#app .btn-cancel-sm,#app .btn-create,#app .btn-reset,#app .btn-delete,#app .btn-edit-scopes,#app .btn-page,#app .btn-retry,#app .btn-action-sm,#app .table-action-btn{appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:8px;font-weight:600;text-decoration:none;cursor:pointer;box-shadow:none!important;transform:none;line-height:1;position:relative;outline:none;border-style:solid}#app .btn-back,#app .btn-view-tournament,#app .btn-register,#app .btn-detail,#app .btn-edit,#app .btn-manage,#app .btn-archive,#app .btn-create-edition,#app .btn-icon-upload,#app .btn-manage-edition,#app .btn-submit-sm,#app .btn-cancel-sm,#app .btn-create,#app .btn-reset,#app .btn-delete,#app .btn-edit-scopes,#app .btn-retry,#app .btn-action-sm{min-height:32px;padding:0 12px;font-size:13px}#app .btn-page{min-width:32px;min-height:32px;padding:0 10px;font-size:12px}#app .table-action-btn{width:32px;min-width:32px;height:32px;min-height:32px;padding:0;font-size:0;line-height:0;border:1px solid var(--border);background:var(--surface);color:var(--text-muted)}#app .btn-page-icon,#app .btn-page-jump,#app .btn-copy-email,#app .btn-edit-name,#app .btn-fullscreen{width:32px;min-width:32px;height:32px;min-height:32px;padding:0;border-radius:8px;display:inline-flex;align-items:center;justify-content:center}#app .table-action-btn svg,#app .btn-page-icon svg,#app .btn-page-jump svg,#app .btn-copy-email svg,#app .btn-edit-name svg,#app .btn-action svg{width:16px;height:16px;flex-shrink:0}#app .table-action-btn:hover,#app .table-action-btn:focus,#app .table-action-btn:focus-visible,#app .table-action-btn:active{box-shadow:none!important;outline:none}#app .table-actions-cell{text-align:right}#app .table-actions-row{display:inline-flex;align-items:center;justify-content:flex-end;gap:4px;min-height:30px;white-space:nowrap}#app .table-badge{display:inline-flex;align-items:center;padding:2px 6px;border:1px solid var(--border);border-radius:8px;background:var(--surface-muted);color:var(--text);font-size:10px;font-weight:700;line-height:1.1}#app .btn-back,#app .btn-detail,#app .btn-cancel,#app .btn-cancel-sm,#app .btn-page,#app .btn-edit-scopes,#app .btn-reset,#app .btn-manage,#app .btn-create-edition,#app .btn-icon-upload{border:1px solid var(--border-strong);background:var(--surface);color:var(--text)}#app .btn-view-tournament,#app .btn-register,#app .btn-manage-edition,#app .btn-submit-sm,#app .btn-create{border:1px solid var(--accent);background:var(--accent);color:#fff}#app .btn-archive,#app .btn-reset{border-color:#ccb080;background:#f3e6cd;color:#7a4b11}#app .btn-edit,#app .btn-manage{border:1px solid #d4c9ba;background:#ece6dc;color:#4f453b}#app .btn-delete,#app .btn-retry{border:1px solid var(--danger-border);background:var(--danger-bg);color:var(--danger-text)}#app .btn-back:hover,#app .btn-detail:hover,#app .btn-cancel:hover,#app .btn-cancel-sm:hover,#app .btn-page:hover:not(:disabled),#app .btn-edit-scopes:hover,#app .btn-create-edition:hover,#app .btn-icon-upload:hover,#app .btn-manage:hover:not(:disabled){background:var(--surface-muted);border-color:var(--text-muted);color:var(--text);box-shadow:none;transform:none}#app .btn-edit:hover:not(:disabled),#app .btn-manage:hover:not(:disabled){background:#e4dccf;border-color:#c5b7a6;color:#4f453b}#app .btn-reset:hover:not(:disabled),#app .btn-archive:hover:not(:disabled){background:#ead8b8;border-color:#b9965f;color:#7a4b11;box-shadow:none;transform:none}#app .btn-view-tournament:hover,#app .btn-register:hover:not(:disabled),#app .btn-manage-edition:hover,#app .btn-submit-sm:hover:not(:disabled),#app .btn-create:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);box-shadow:none;transform:none}#app .btn-delete:hover:not(:disabled),#app .btn-retry:hover{background:#eed0c6;border-color:var(--danger-border);color:var(--danger-text)}#app .btn-primary:hover:not(:disabled),#app .btn-header:hover:not(:disabled),#app .btn-main:hover:not(:disabled),#app .btn-submit:hover:not(:disabled),#app .btn-login:hover:not(:disabled),#app .btn-header-large:hover:not(:disabled),#app .btn-level-up:hover:not(:disabled),#app .btn-confirm-accept:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);box-shadow:none;transform:none}#app .btn-secondary:hover:not(:disabled),#app .btn-google:hover:not(:disabled),#app .btn-sort:hover:not(:disabled),#app .btn-confirm-cancel:hover:not(:disabled){background:var(--surface-muted);border-color:var(--text-muted);box-shadow:none;transform:none}#app .error-message,#app .feedback-error,#app .notification-error{color:var(--danger-text);background:var(--danger-bg);border-color:var(--danger-border)}#app .success-message,#app .feedback-success,#app .notification-success{color:var(--success-text);background:var(--success-bg);border-color:var(--success-border)}#app .notification-info{color:var(--info-text);background:var(--info-bg);border-color:var(--info-border)}#app .tournaments-list-view,#app .tournament-view,#app .tournament-detail-view,#app .admin-tournaments-view,#app .manage-edition-view,#app .match-view,#app .tournament-standings-view,#app .admin-warband-view,#app .warband-detail-view,#app .tournament-register-view,#app .player-in-edition-view,#app .round-view,#app .faction-detail-view,#app .users-view{min-height:100%;padding:20px}#app .tournaments-list,#app .surface-list{display:flex;flex-direction:column;gap:16px}#app .tournament-card,#app .tab-content,#app .form-card,#app .tournaments-table-wrapper,#app .standings-wrapper,#app .round-pairings-wrapper,#app .round-info-card,#app .actions-section,#app .info-card,#app .action-card,#app .danger-zone,#app .vs-arena,#app .action-bar,#app .warband-cards-section,#app .result-section,#app .player-hero,#app .stat-card,#app .warband-card,#app .match-card,#app .invite-form-wrapper,#app .create-form-wrapper,#app .loading-card,#app .edition-info-card,#app .actions-card,#app .registrations-list-card,#app .search-wrapper,#app .users-table-wrapper,#app .empty-state{background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-sm)}#app .player-hero{color:var(--text)}#app .search-wrapper{padding:12px}#app .inline-form,#app .edition-inline-form,#app .edit-scopes-panel{background:var(--surface-muted);border-top:1px solid var(--border)}#app .invite-dropdown,#app .invite-no-results,#app .tiebreaker-notice,#app .elimination-tiebreak-section,#app .result-opponent-summary,#app .result-game-entry,#app .report-pending-notice,#app .result-disputed-badge,#app .result-waiting-badge,#app .bracket-match,#app .bracket-match-placeholder{background:var(--surface);border:1px solid var(--border);color:var(--text)}#app .invite-chip,#app .warband-name-badge,#app .result-matchup-winner,#app .pairing-warband-name,#app .warband-name-fallback,#app .bracket-score-pair{background:var(--surface-muted);color:var(--text);border-radius:8px}#app .invite-chip{border:1px solid var(--border);padding:4px 10px}#app .invite-chip-remove{color:var(--text-muted)}#app .invite-chip-remove:hover{color:var(--text)}#app .tournament-header,#app .overlay-header{border-bottom:1px solid var(--border)}#app .tournament-header,#app .edition-title-row,#app .header-title{display:flex;align-items:center;gap:12px}#app .tournament-name,#app .edition-name,#app .header-title h1,#app .edition-title-row h2,#app .actions-card h2,#app .registrations-list-card h2,#app .form-card h2{color:var(--text)}#app .tournament-game-type,#app .info-label,#app .edition-row-meta,#app .input-hint,#app .field-hint,#app .edition-field label,#app .warband-hint,#app .info-text,#app .pagination-info,#app .warband-name-text,#app .no-icon,#app .field-label,#app .org-select-player-label,#app .round-date,#app .result-glory-label,#app .result-opponent-label,#app .result-waiting,#app .tiebreaker-perfect-tie,#app .step-label,#app .empty-round-cell,#app .report-game-title,#app .report-glory-prefix,#app .report-glory-label,#app .result-empty,#app .bracket-vs-label,#app .bracket-draw-label,#app .bracket-player-bye,#app .bracket-player-tbd,#app .bracket-bye-label,#app .cards-section-title,#app .match-vs,#app .match-pending,#app .action-hint{color:var(--text-muted)}#app .tournament-game-type,#app .badge,#app .status-badge,#app .registrations-table th{text-transform:none;letter-spacing:0}#app .badge,#app .status-badge,#app .scope-badge,#app .overlay-badge,#app .match-outcome-badge,#app .result-winner-badge,#app .result-disputed-badge,#app .result-waiting-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:8px;font-size:12px;font-weight:600;border:1px solid var(--border);background:var(--surface-muted);color:var(--text)}#app .badge-registration-open,#app .badge-active,#app .badge-reg-confirmed,#app .status-badge.finished,#app .status-badge.confirmed,#app .badge-win,#app .result-matchup-mine,#app .result-waiting-badge,#app .success-message-inline,#app .round-status-finished,#app .pairing-status-completed,#app .result-status-confirmed,#app .calendar-row-generated,#app .step-done .step-dot,#app .bracket-player-winner{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}#app .badge-finished,#app .badge-reg-replaced,#app .badge-edition-status,#app .status-badge.replaced,#app .status-badge.in_progress,#app .match-in-progress,#app .round-status-in_progress,#app .pairing-status-ready,#app .pairing-status-in_progress,#app .result-status-submitted,#app .step-active .step-dot,#app .connector-done,#app .btn-step-finish,#app .btn-step-action,#app .btn-select-warband,#app .btn-confirm-warband,#app .btn-validate-result,#app .btn-select-warband-org,#app .btn-confirm,#app .btn-report,#app .btn-action,#app .btn-action-sm,#app .btn-visibility,#app .btn-copy-url,#app .bracket-match-active,#app .bracket-match-mine,#app .result-matchup-draw,#app .badge-draw{background:#e9e4dc;border-color:#cdc0af;color:#5a4d3d}#app .badge-cancelled,#app .status-badge.cancelled,#app .status-badge.withdrawn,#app .badge-reg-withdrawn,#app .match-loss,#app .badge-loss,#app .error-message-inline,#app .pairing-status-disputed,#app .result-status-disputed,#app .result-dispute-label,#app .action-error,#app .report-form-error,#app .round-status-pending,#app .pairing-status-awaiting_selection,#app .result-status-pending,#app .btn-withdraw,#app .btn-resolve,#app .btn-danger,#app .danger-zone{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger-text)}#app .status-badge.pending,#app .result-status-pending{background:#f1f0ec;border-color:#d7d3cb;color:#6f6a61}#app .badge-draft,#app .badge-reg-pending,#app .status-badge.draft,#app .match-draw,#app .round-status-pending,#app .pairing-status-awaiting_result,#app .report-pending-notice,#app .elimination-tiebreak-section,#app .tiebreaker-notice,#app .btn-start,#app .btn-reactivate,#app .btn-step-start{background:#eee6d8;border-color:#d4c6af;color:#6d5837}#app .tabs,#app .sub-tabs{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid var(--border);margin-bottom:20px}#app .tab,#app .sub-tab{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:8px 12px;background:transparent;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;color:var(--text-muted);font-size:14px;font-weight:600;cursor:pointer}#app .tab:hover,#app .sub-tab:hover,#app .tab.active,#app .sub-tab.active{color:var(--text);border-bottom-color:var(--accent)}#app .tab-dot,#app .dot-open,#app .dot-active,#app .dot-finished,#app .dot-default{width:8px;height:8px;border-radius:999px;box-shadow:none}#app .dot-open,#app .dot-active{background:var(--accent)}#app .dot-finished{background:#8d7862}#app .dot-default{background:#b7ab9c}#app .registrations-table th,#app .editions-sub-table th,#app .tournaments-table th,#app .users-table th{background:var(--surface-muted);color:var(--text);border-bottom:1px solid var(--border)}#app .registrations-table td,#app .editions-sub-table td,#app .tournaments-table td,#app .users-table td{color:var(--text);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}#app .tournaments-table tbody tr:hover,#app .users-table tbody tr:hover{background:#f6f0e8}#app .warband-list-item{background:var(--surface-muted);border:1px solid var(--border);color:var(--text)}#app .warband-chip,#app .btn-warband,#app .warband-picker-option,#app .match-game-row,#app .result-game-row,#app .report-game-row,#app .report-glory-row,#app .result-game-entry,#app .result-opponent-summary,#app .lifecycle-step,#app .bracket-player{border-radius:8px}#app .warband-chip,#app .btn-warband,#app .warband-picker-option,#app .match-game-row,#app .result-opponent-summary,#app .result-game-entry,#app .bracket-match,#app .bracket-match-placeholder{border:1px solid var(--border);background:var(--surface-muted)}#app .btn-warband-active,#app .warband-picker-option--selected,#app .drop-target tr{background:var(--accent-soft);border-color:var(--accent);border-width:2px}#app .step-dot{border:2px solid var(--border);background:var(--surface-muted)}#app .step-check{color:var(--text)}#app .lifecycle-connector,#app .player-side:first-child,#app .pairing-id-row,#app .action-group,#app .subsection,#app .round-pairings-header,#app .bracket-column-header,#app .bracket-action{border-color:var(--border)}#app .drop-target tr,#app tbody.drop-target{outline-color:#b89b7d}#app .vs-badge,#app .result-confirmed-label,#app .elimination-tiebreak-title,#app .tiebreaker-title,#app .bracket-round-name,#app .round-title,#app .match-player.is-me,#app .select-hint,#app .faction-sheet-hint-sm{color:var(--accent-hover);-webkit-text-fill-color:initial}#app .vs-badge:before,#app .vs-badge:after{display:none}#app .lightbox-overlay{background:#120e0ad6}#app .lightbox-close,#app .btn-fullscreen{border:1px solid rgba(255,255,255,.2);background:#120e0a94;color:#fff}#app .lightbox-img,#app .sheet-img,#app .fighter-card-img{border-radius:8px;box-shadow:none}#app .warband-select,#app .search-input,#app .inline-input,#app .inline-select{background:var(--surface-strong);border:1px solid var(--border-strong);color:var(--text);border-radius:8px}#app .warband-select:focus,#app .search-input:focus,#app .inline-input:focus,#app .inline-select:focus{border-color:var(--accent);box-shadow:none}body .modal-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--overlay-bg);z-index:var(--z-modal)}body .modal-box{background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-sm);width:min(100%,560px);padding:24px}body .modal-box-wide{width:min(100%,980px)}body .modal-title{margin:0 0 20px;font-size:18px;font-weight:700;color:var(--text)}#app .loading,#app .overlay-loading,#app .empty-state p,#app .character-count,#app .recover-description,#app .welcome-subtitle,#app .welcome-hint{color:var(--text-muted)}#app .spinner{width:36px;height:36px;border:4px solid var(--spinner-track);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 12px}@keyframes spin{to{transform:rotate(360deg)}}:where(#app) table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden}:where(#app) th,:where(#app) td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--border)}:where(#app) th{background:var(--surface-muted);color:var(--text);font-size:13px;font-weight:700}:where(#app) td{color:var(--text)}:where(#app) tr:last-child td{border-bottom:none}@media(max-width:900px){#app .page-header{flex-direction:column;align-items:flex-start}#app .auth-shell{grid-template-columns:1fr}#app .auth-art-panel{min-height:260px}}@media(max-width:768px){body:before{opacity:.2}#app .topbar{height:52px;padding:0 12px}#app .topbar-right{gap:8px}#app .sidebar.mobile-open{top:52px;width:248px;height:calc(100vh - 52px);min-height:calc(100vh - 52px);position:fixed}#app .sidebar-backdrop{top:52px}#app .container{max-width:100%}#app .auth-shell{border-radius:0;border-left:none;border-right:none}#app .auth-art-panel{min-height:220px}#app .auth-panel{padding:24px 20px}#app .page-header h1{font-size:28px}}
