@font-face{font-family:WDXL Lubrifont JP N;src:url(/fonts/WDXLLubrifontJPN-Regular.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Mohave;src:url(/fonts/Mohave.woff2)format("woff2-variations");font-weight:100 900;font-display:swap}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:#ffffffde;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#242424;font-family:Mohave,system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}html,body{max-width:100%;overflow-x:hidden}a{color:#646cff;-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:500}a:hover{color:#535bf2}body{min-width:320px;min-height:100vh;margin:0;font-family:Mohave,system-ui,Avenir,Helvetica,Arial,sans-serif}img,video,svg{max-width:100%;height:auto}h1,h2,h3,h4,h5,h6{font-family:WDXL Lubrifont JP N,Mohave,system-ui,sans-serif}h1{font-size:3.2em;line-height:1.1}input,textarea,select,button{font:inherit}button{cursor:pointer;background-color:#1a1a1a;border:1px solid #0000;border-radius:8px;padding:.6em 1.2em;font-family:inherit;font-size:1em;font-weight:500;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#74ffb3}button{background-color:#f9f9f9}}.header{background-color:var(--bg-secondary,#242820);z-index:100;padding:1rem 0;position:fixed;top:0;left:0;right:0;box-shadow:0 2px 8px #0000004d}.header-container{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;position:relative}.header-brand{align-items:center;gap:.9rem;display:flex}.logo{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;display:flex;position:absolute;left:50%;transform:translate(-50%)}.logo:hover h1{color:var(--vergil-accent-light,#a3c06a)}.logo-icon{width:2rem;height:2rem}.logo h1{color:var(--vergil-accent,#8ba55d);margin:0;font-size:1.8rem;font-weight:700;transition:color .2s}.nav{align-items:center;gap:1rem;display:flex}.nav-menu{position:relative}.nav-menu-trigger{border:1px solid var(--border-color,#3a3e35);cursor:pointer;background:0 0;border-radius:6px;flex-direction:column;justify-content:center;gap:.25rem;width:2.6rem;height:2.6rem;padding:.55rem .6rem;transition:border-color .2s,background-color .2s;display:flex}.nav-menu-trigger:hover{border-color:var(--vergil-accent,#8ba55d);background:var(--surface-secondary,#2e3229)}.nav-menu-trigger span{background:var(--text-primary,#e8ebe4);border-radius:999px;width:100%;height:2px;display:block}.nav-menu-dropdown{background:var(--bg-secondary,#242820);border:1px solid var(--border-color,#3a3e35);z-index:200;border-radius:6px;min-width:180px;position:absolute;top:calc(100% + 6px);left:0;overflow:hidden;box-shadow:0 6px 20px #0006}.user-display{color:var(--text-primary,#e8ebe4);font-weight:500}.user-menu{position:relative}.user-menu-trigger{color:var(--text-primary,#e8ebe4);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:.4rem;padding:.5rem .75rem;font-size:1rem;transition:color .2s;display:flex}.user-menu-trigger:hover{color:var(--vergil-accent,#8ba55d)}.user-menu-caret{opacity:.7;margin-left:.1rem;font-size:.7rem}.nav-avatar{object-fit:cover;border:1.5px solid var(--border-color,#3a3e35);border-radius:50%;flex-shrink:0;width:26px;height:26px}.user-dropdown{background:var(--bg-secondary,#242820);border:1px solid var(--border-color,#3a3e35);z-index:200;border-radius:6px;min-width:140px;display:none;position:absolute;top:calc(100% + 4px);right:0;overflow:hidden;box-shadow:0 6px 20px #0006}.user-menu:hover .user-dropdown,.user-menu:focus-within .user-dropdown{display:block}.user-dropdown-item{text-align:left;width:100%;color:var(--text-primary,#e8ebe4);cursor:pointer;background:0 0;border:none;padding:.6rem 1rem;font-size:.9rem;transition:background .15s;display:block}.user-dropdown-item:hover{background:var(--surface-secondary,#2e3229);color:var(--vergil-accent,#8ba55d)}.nav-link{color:var(--text-primary,#e8ebe4);cursor:pointer;background:0 0;border:none;padding:.5rem 1rem;font-size:1rem;transition:color .2s}.nav-link:hover{color:var(--vergil-accent,#8ba55d)}.nav-button{background-color:var(--vergil-primary,#6b7c4e);color:var(--text-primary,#e8ebe4);cursor:pointer;border:none;border-radius:4px;padding:.5rem 1.5rem;font-size:1rem;font-weight:600;transition:background-color .2s}.nav-button:hover{background-color:var(--vergil-primary-dark,#5a6941)}.nav-link-icon{flex-shrink:0;display:none}.nav-avatar-placeholder{background:var(--vergil-primary,#6b7c4e);width:26px;height:26px;color:var(--text-primary,#e8ebe4);border:1.5px solid var(--border-color,#3a3e35);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:inline-flex}@media (width<=768px){.header{padding:.5rem 0}.header-container{padding:0 .75rem}.header-brand{gap:.5rem}.nav{gap:.25rem}.nav-link-icon{display:block}.nav-link-label{display:none}.nav-link{padding:.4rem .5rem}.user-display,.user-menu-caret{display:none}.user-menu-trigger{padding:.25rem}}.auth-form{color:var(--text-primary)}.auth-form h2{color:var(--vergil-accent);margin:0 0 .5rem;font-size:1.8rem}.auth-subtitle{color:var(--text-secondary);margin:0 0 2rem}.form-group label{color:var(--text-primary);margin-bottom:.5rem;font-weight:500;display:block}.form-group input{background-color:var(--bg-primary);border:1px solid var(--border-color);width:100%;color:var(--text-primary);box-sizing:border-box;border-radius:4px;padding:.75rem;font-size:1rem;transition:border-color .2s}.form-group input:focus{border-color:var(--vergil-accent);outline:none}.form-group input::placeholder{color:var(--text-tertiary)}.error-message{color:var(--error);border:1px solid var(--error);background-color:#dc262626;border-radius:4px;margin-bottom:1rem;padding:.75rem;font-size:.9rem}.success-message{color:#22c55e;background-color:#22c55e1f;border:1px solid #22c55e;border-radius:4px;margin-bottom:1rem;padding:.75rem;font-size:.9rem}.submit-button{background-color:var(--vergil-primary);width:100%;color:var(--text-primary);cursor:pointer;border:none;border-radius:4px;margin-top:.5rem;padding:.875rem;font-size:1rem;font-weight:600;transition:background-color .2s}.submit-button:hover{background-color:var(--vergil-primary-light)}.submit-button:disabled{opacity:.5;cursor:not-allowed}.divider{color:var(--text-tertiary);align-items:center;margin:1.5rem 0;display:flex}.divider:before,.divider:after{content:"";border-bottom:1px solid var(--border-color);flex:1}.divider span{padding:0 1rem;font-size:.875rem}.oauth-buttons{grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1.5rem;display:grid}.oauth-button{border:1px solid var(--border-color);background-color:var(--bg-elevated);color:var(--text-primary);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;gap:.6rem;padding:.75rem;font-size:.95rem;font-weight:500;transition:all .2s;display:flex}.oauth-button img{object-fit:contain;width:20px;height:20px}.oauth-button:hover{border-color:var(--border-light);background-color:var(--bg-secondary)}.oauth-button.google:hover{background-color:#ea4335;border-color:#ea4335}.oauth-button.discord:hover{background-color:#5865f2;border-color:#5865f2}.oauth-button.microsoft:hover{background-color:#00a4ef;border-color:#00a4ef}.oauth-button.twitch:hover{background-color:#9146ff;border-color:#9146ff}.switch-mode{text-align:center;color:var(--text-secondary);margin:1rem 0 0;font-size:.9rem}.switch-link{color:var(--vergil-accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:.9rem;text-decoration:underline}.switch-link:hover{color:var(--vergil-accent-hover)}.auth-inline-actions{justify-content:space-between;align-items:center;gap:.75rem;margin-top:.5rem;display:flex}.auth-text-button{color:var(--vergil-accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:.9rem;text-decoration:underline}.auth-text-button:hover{color:var(--vergil-accent-hover)}.auth-passkey-button{background:var(--bg-elevated,#1e211a);width:100%;color:var(--text-primary);border:1px solid var(--border-color);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;gap:.5rem;margin-top:.75rem;padding:.75rem;font-size:.95rem;font-weight:500;transition:background-color .2s,border-color .2s;display:flex}.auth-passkey-button:before{content:"🔑";font-size:1rem}.auth-passkey-button:hover{background:var(--bg-hover,#2a2d25);border-color:var(--vergil-accent)}.auth-passkey-button:disabled{opacity:.5;cursor:not-allowed}.verification-message{background-color:var(--bg-elevated);border:1px solid var(--border-color);color:var(--text-primary);border-radius:4px;margin:1.5rem 0;padding:1rem;line-height:1.6}.verification-note{text-align:center;color:var(--text-secondary);margin-top:1.5rem;font-size:.9rem}.form-hint{color:var(--text-tertiary);margin-top:.4rem;font-size:.85rem;display:block}.complete-registration-wrapper{background-color:var(--bg-primary);justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.complete-registration-wrapper .auth-form{background-color:var(--bg-elevated);border:1px solid var(--border-color);border-radius:8px;width:100%;max-width:450px;padding:2rem;box-shadow:0 4px 12px #0000004d}.modal-overlay{z-index:1000;background-color:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background-color:var(--bg-elevated);border:1px solid var(--border-color);border-radius:8px;width:90%;max-width:450px;max-height:90vh;padding:2rem;position:relative;overflow-y:auto;box-shadow:0 4px 12px #0006}.modal-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:30px;height:30px;padding:0;font-size:2rem;line-height:1;transition:color .2s;display:flex;position:absolute;top:1rem;right:1rem}.modal-close:hover{color:var(--vergil-accent)}.mobile-subnav,.mobile-subnav-spacer{display:none}@media (width>=769px){.mobile-subnav,.mobile-subnav-spacer{display:none}}@media (width<=768px){.mobile-subnav-spacer{height:2.75rem;display:block}.mobile-subnav{z-index:90;background:var(--surface,var(--bg-primary));border-bottom:1px solid var(--border,var(--border-color));padding:.625rem 1rem;display:block;position:fixed;top:4.75rem;left:0;right:0;box-shadow:0 4px 12px #0000001f}.mobile-subnav__trigger{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:100%;padding:0;display:flex;position:relative}.mobile-subnav__pill{color:var(--text-primary,#1e211a);align-items:center;gap:.5rem;font-size:.9375rem;font-weight:600;line-height:1.4;display:inline-flex}.mobile-subnav__item-label{min-height:2.375rem;color:var(--text-secondary,#6e7365);background:0 0;border-radius:999px;align-items:center;gap:.5rem;padding:.45rem .9rem;font-size:.9375rem;font-weight:600;line-height:1.2;display:inline-flex}.mobile-subnav__item-label--active{background:var(--accent,#4a7a2e);color:#fff}.mobile-subnav__chevron{color:var(--text-secondary,#6e7365);flex-shrink:0;font-size:1rem;transition:transform .15s;position:absolute;right:0}.mobile-subnav__chevron--open{transform:rotate(180deg)}.mobile-subnav__menu{background:var(--surface-elevated,var(--bg-elevated));border:1px solid var(--border,var(--border-color));border-radius:14px;margin-top:.75rem;padding:.5rem;box-shadow:0 14px 32px #0000003d}.mobile-subnav__item{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:10px;justify-content:flex-start;align-items:center;width:100%;padding:.125rem;display:flex}.mobile-subnav__item+.mobile-subnav__item{margin-top:.25rem}.mobile-subnav__item-label{color:var(--text-secondary,#6e7365);background:0 0}.mobile-subnav__item:not(.mobile-subnav__item--active):hover{background:var(--surface,#0000000d)}.mobile-subnav__icon{justify-content:center;align-items:center;display:inline-flex}}.sm-page{--mobile-subnav-offset-top:2rem;--mobile-subnav-offset-x:2rem;width:100%;padding:2rem 2rem 4rem}.sm-header{margin-bottom:1.5rem}.sm-header h1{margin:0;font-size:1.75rem}.sm-layout{align-items:flex-start;gap:1.5rem;display:flex}.sm-sidebar{flex-direction:column;flex-shrink:0;gap:.25rem;min-width:170px;display:flex;position:sticky;top:1rem}.sm-nav-btn{text-align:left;cursor:pointer;color:var(--text-secondary,#6e7365);background:0 0;border:none;border-radius:6px;padding:.6rem .875rem;font-size:.9rem;transition:background .15s,color .15s}.sm-nav-btn:hover{background:var(--surface-hover,#0000000d);color:var(--text-primary,#1e211a)}.sm-nav-btn.active{background:var(--accent,#4a7a2e);color:#fff}.asl-header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.asl-badge-count{background:var(--accent-red);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;margin-left:.5rem;padding:0 .375rem;font-size:.7rem;font-weight:700;display:inline-flex}.sm-content{flex:1;min-width:0}.sm-narrow{max-width:640px}.sm-tab-content h2{margin:0 0 1.25rem;font-size:1.25rem}.sm-tab-content h3{color:var(--text-secondary,#6e7365);text-transform:uppercase;letter-spacing:.04em;margin:1.5rem 0 .75rem;font-size:.8rem;font-weight:600}.sm-tab-content h4{margin:0 0 .75rem;font-size:.95rem;font-weight:600}.sm-tab-header{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.sm-tab-header h2{margin:0}.sm-card{background:var(--surface,#fff);border:1px solid var(--border,#d0cfc8);border-radius:8px;margin-bottom:.75rem;padding:1rem}.sm-section{background:var(--surface,#fff);border:1px solid var(--border,#d0cfc8);border-radius:8px;flex-direction:column;gap:.875rem;margin-bottom:1rem;padding:1rem 1.25rem;display:flex}.sm-stat-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem;margin-bottom:.5rem;display:grid}.sm-stat-card{background:var(--surface,#fff);border:1px solid var(--border,#d0cfc8);border-radius:8px;flex-direction:column;gap:.25rem;padding:1rem;display:flex}.sm-stat-value{font-size:1.75rem;font-weight:700;line-height:1}.sm-stat-label{color:var(--text-secondary,#6e7365);font-size:.8rem}.sm-stat-sub{color:var(--text-muted,#9ca38f);font-size:.75rem;font-style:italic}.sm-field-row{align-items:center;gap:.75rem;display:flex}.sm-field-row label,.sm-field-label{font-size:.9rem;font-weight:500}.sm-field-hint{color:var(--text-secondary,#6e7365);margin-top:.15rem;font-size:.8rem}.sm-toggle{cursor:pointer;display:inline-flex;position:relative}.sm-toggle input{opacity:0;width:0;height:0;position:absolute}.sm-toggle-track{background:var(--border,#d0cfc8);border-radius:11px;width:40px;height:22px;transition:background .2s;display:block;position:relative}.sm-toggle-track:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0003}.sm-toggle input:checked~.sm-toggle-track{background:var(--accent,#4a7a2e)}.sm-toggle input:checked~.sm-toggle-track:after{transform:translate(18px)}.sm-toggle input:disabled~.sm-toggle-track{opacity:.5;cursor:not-allowed}.sm-badge{white-space:nowrap;border-radius:999px;padding:.15rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.sm-badge.active{color:#166534;background:#dcfce7}.sm-badge.inactive{color:#6b7280;background:#f3f4f6}.sm-badge.warning{color:#92400e;background:#fef3c7}.sm-badge.danger{color:#991b1b;background:#fee2e2}.sm-badge.info{color:#1e40af;background:#dbeafe}.sm-badge.muted{background:var(--surface-alt,#eae8e3);color:var(--text-secondary,#6e7365)}.sm-count-badge{background:var(--accent,#4a7a2e);color:#fff;vertical-align:middle;border-radius:999px;justify-content:center;align-items:center;min-width:1.4rem;height:1.4rem;margin-left:.5rem;padding:0 .35rem;font-size:.75rem;font-weight:600;display:inline-flex}.sm-btn{cursor:pointer;white-space:nowrap;border:none;border-radius:6px;align-items:center;gap:.35rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:opacity .15s;display:inline-flex}.sm-btn:disabled{opacity:.5;cursor:not-allowed}.sm-btn.primary{background:var(--accent,#4a7a2e);color:#fff}.sm-btn.primary:hover:not(:disabled){opacity:.85}.sm-btn.secondary{background:var(--surface-alt,#eae8e3);color:var(--text-primary,#1e211a);border:1px solid var(--border,#d0cfc8)}.sm-btn.secondary:hover:not(:disabled){background:var(--border,#d0cfc8)}.sm-btn.success{color:#fff;background:#15803d}.sm-btn.success:hover:not(:disabled){opacity:.85}.sm-btn.danger{color:#fff;background:#b91c1c}.sm-btn.danger:hover:not(:disabled){opacity:.85}.sm-btn-sm{padding:.3rem .65rem;font-size:.8rem}.sm-select,.sm-input,.sm-textarea{border:1px solid var(--border,#d0cfc8);background:var(--surface,#fff);color:var(--text-primary,#1e211a);border-radius:6px;width:100%;padding:.45rem .65rem;font-size:.875rem}.sm-select:focus,.sm-input:focus,.sm-textarea:focus{outline:2px solid var(--accent,#4a7a2e);outline-offset:1px}.sm-select-sm,.sm-input-sm{width:auto}.demo-tool-form{flex-wrap:wrap;align-items:flex-end;gap:.75rem 1.25rem;max-width:400px;display:flex}.demo-tool-form .sm-form-group{flex:none;margin-bottom:0}.demo-tool-form .sm-select{width:auto;min-width:fit-content}.demo-tool-form .sm-input{width:80px}.sm-textarea{resize:vertical}.sm-inline-save{align-items:center;gap:.5rem;margin-top:.5rem;display:flex}.sm-inline-save .sm-input{flex:1}.sm-form-card{margin-bottom:1.25rem}.sm-form-group{flex-direction:column;gap:.35rem;margin-bottom:.75rem;display:flex}.sm-form-group label{color:var(--text-secondary,#6e7365);font-size:.85rem;font-weight:500}.sm-radio-group{flex-wrap:wrap;gap:1rem;display:flex}.sm-radio-label{color:var(--text-primary,#1e211a);cursor:pointer;align-items:center;gap:.3rem;font-size:.85rem;font-weight:400;display:inline-flex}.sm-form-row{flex-wrap:wrap;align-items:flex-start;gap:1rem;display:flex}.sm-form-row .sm-form-group{flex:1;min-width:160px}.sm-form-actions{gap:.5rem;margin-top:.75rem;display:flex}.sm-color-picker{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.sm-color-swatch{cursor:pointer;border:3px solid #0000;border-radius:6px;width:28px;height:28px;transition:border-color .15s,transform .1s}.sm-color-swatch:hover{transform:scale(1.1)}.sm-color-swatch.selected{border-color:var(--text-primary,#1e211a)}.sm-color-hex{border:1px solid var(--border,#d0cfc8);cursor:pointer;border-radius:6px;width:36px;height:28px;padding:0}.sm-color-dot{border-radius:50%;flex-shrink:0;width:12px;height:12px;display:inline-block}.sm-announcements-list{flex-direction:column;gap:.5rem;display:flex}.sm-announcement-row{background:var(--surface,#fff);border:1px solid var(--border,#d0cfc8);border-radius:8px;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.sm-announcement-row.inactive{opacity:.6}.sm-announcement-info{flex-wrap:wrap;flex:1;align-items:center;gap:.6rem;min-width:0;display:flex}.sm-announcement-text{min-width:0;font-size:.9rem}.sm-announcement-actions{flex-shrink:0;gap:.4rem;display:flex}.sm-table{border-collapse:collapse;width:100%;margin-bottom:.5rem;font-size:.875rem}.sm-table th{text-align:left;text-transform:uppercase;letter-spacing:.03em;color:var(--text-secondary,#6e7365);border-bottom:1px solid var(--border,#d0cfc8);padding:.5rem .75rem;font-size:.75rem;font-weight:600}.sm-table td{border-bottom:1px solid var(--border-subtle,#e8e7e0);vertical-align:middle;padding:.6rem .75rem}.sm-table tr:last-child td{border-bottom:none}.sm-table tr:hover td{background:var(--surface-hover,#00000005)}.sm-table-compact th,.sm-table-compact td{padding:.4rem .5rem}.sm-table-actions{gap:.35rem;display:flex}.sm-empty-row{text-align:center;color:var(--text-secondary,#6e7365);padding:1.5rem}.sm-success-count{color:#15803d;font-weight:600}.sm-failure-count{color:var(--text-secondary,#6e7365)}.sm-failure-count.has-failures{color:#b91c1c;font-weight:600}.sm-error-cell{color:#b91c1c;text-overflow:ellipsis;white-space:nowrap;max-width:280px;font-size:.8rem;overflow:hidden}.sm-api-badge{background:var(--surface-alt,#eae8e3);border-radius:4px;padding:.15rem .4rem;font-family:monospace;font-size:.75rem}.sm-action-code{background:var(--surface-alt,#eae8e3);border-radius:4px;padding:.1rem .35rem;font-size:.8rem}.sm-kv{border-bottom:1px solid var(--border-subtle,#e8e7e0);justify-content:space-between;align-items:center;gap:1rem;padding:.45rem 0;font-size:.875rem;display:flex}.sm-kv:last-child{border-bottom:none}.sm-kv span:first-child{color:var(--text-secondary,#6e7365)}.sm-two-col{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:.5rem;display:grid}@media (width<=700px){.sm-two-col{grid-template-columns:1fr}}.sm-api-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem;margin-bottom:1rem;display:grid}.sm-session-card{font-size:.875rem}.sm-session-card div{padding:.25rem 0}.sm-session-card.status-ok{border-color:#16a34a}.sm-session-card.status-err{border-color:#b91c1c}.sm-session-error{color:#b91c1c;margin-top:.25rem;font-size:.8rem}.sm-session-error-data{color:#b91c1c;white-space:pre-wrap;word-break:break-all;background:#b91c1c0f;border-radius:3px;margin-top:.25rem;padding:.4rem;font-size:.75rem}.sm-auth-method-card{margin-top:.75rem;font-size:.875rem}.sm-auth-method-label{margin-bottom:.25rem}.sm-auth-method-hint{color:var(--text-secondary);margin:.25rem 0 .75rem;font-size:.8rem}.sm-auth-method-toggle{gap:.5rem;display:flex}.sm-method-btn{border:1px solid var(--border-color);background:var(--surface-secondary);color:var(--text-primary);cursor:pointer;border-radius:4px;flex:1;padding:.4rem .75rem;font-size:.8rem;transition:background .15s,border-color .15s}.sm-method-btn:hover{border-color:var(--vergil-accent)}.sm-method-btn.active{background:var(--vergil-accent);border-color:var(--vergil-accent);color:#fff;font-weight:600}.sm-quick-actions{background:var(--surface,#fff);border:1px solid var(--border,#d0cfc8);border-radius:8px;flex-direction:column;gap:.75rem;max-width:640px;padding:1rem 1.25rem;display:flex}.sm-quick-action{align-items:center;gap:.75rem;font-size:.9rem;display:flex}.sm-quick-action span:first-child{min-width:130px;font-weight:500}.sm-pagination{align-items:center;gap:.75rem;margin-top:.5rem;font-size:.875rem;display:flex}.sm-filter-row{flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem;display:flex}.sm-add-flag-row{border-top:1px solid var(--border-subtle,#e8e7e0);gap:.5rem;margin-top:.75rem;padding-top:.75rem;display:flex}.sm-add-flag-row .sm-input{flex:1;width:auto}.sm-toast{z-index:1000;border-radius:8px;padding:.75rem 1.25rem;font-size:.875rem;font-weight:500;animation:.2s sm-toast-in;position:fixed;top:1rem;right:1rem;box-shadow:0 4px 12px #00000026}.sm-toast.success{color:#fff;background:#15803d}.sm-toast.error{color:#fff;background:#b91c1c}@keyframes sm-toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.sm-loading{color:var(--text-secondary,#6e7365);text-align:center;padding:2rem 0}.sm-empty{color:var(--text-secondary,#6e7365);font-style:italic}.sm-api-test-section{border-bottom:1px solid var(--border,#0000001a);margin-bottom:2rem;padding-bottom:2rem}.sm-api-test-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.sm-query-form{gap:.5rem;margin-bottom:.75rem;display:flex}.sm-query-form .sm-input{flex:1}.sm-api-test-error{color:#b91c1c;word-break:break-all;background:#b91c1c1a;border:1px solid #b91c1c4d;border-radius:6px;margin-bottom:.75rem;padding:.6rem .875rem;font-size:.875rem}.sm-api-test-result{margin-top:.5rem}.sm-match-result-banner{background:var(--surface-alt,#0000000d);color:var(--text-primary,#1e211a);text-align:center;border-radius:6px;margin-bottom:.75rem;padding:.6rem 1rem;font-size:.95rem;font-weight:600}.sm-match-result-banner.result-win{color:#15803d;background:#15803d26;border:1px solid #15803d4d}.sm-match-result-banner.result-tie{color:var(--text-secondary,#6e7365);background:#6464641a;border:1px solid #64646433}.sm-player-header{align-items:center;gap:.875rem;margin-bottom:1rem;display:flex}.sm-gamerpic{object-fit:cover;border:1px solid var(--border,#0000001a);border-radius:8px;width:52px;height:52px}.sm-player-tag{font-size:1.1rem;font-weight:600}.sm-player-xuid{color:var(--text-secondary,#6e7365);font-family:monospace;font-size:.8rem}.sm-match-id{color:var(--text-secondary,#6e7365);word-break:break-all;font-family:monospace;font-size:.7rem}.sm-match-id-link{cursor:pointer;text-align:left;background:0 0;border:none;padding:0}.sm-match-id-link:hover .sm-match-id{color:var(--vergil-accent);text-decoration:underline}.sm-email-mobile{display:none}.sm-email-desktop{display:block}.sm-email-card{border:1px solid var(--border,#d0cfc8);background:var(--surface,#fff);border-radius:10px;align-items:flex-start;gap:.75rem;margin-bottom:.5rem;padding:.875rem 1rem;display:flex}.sm-email-card__body{flex-direction:column;flex:1;gap:.3rem;min-width:0;display:flex}.sm-email-card__subject{text-align:left;cursor:pointer;color:var(--text-primary,#1e211a);background:0 0;border:none;align-items:baseline;gap:.3rem;max-width:100%;margin:0;padding:0;font-size:.95rem;font-weight:600;line-height:1.3;display:flex;overflow:hidden}.sm-email-card__subject>span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sm-email-card__subject:hover{color:var(--vergil-accent,#8ba55d);text-decoration:underline}.sm-email-card__clip{opacity:.6;flex-shrink:0;font-size:.85rem}.sm-email-card__from{color:var(--text-secondary,#6e7365);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.8rem;overflow:hidden}.sm-email-card__pills{flex-wrap:wrap;gap:.35rem;margin-top:.1rem;display:flex}.sm-email-card__actions{flex-direction:column;flex-shrink:0;gap:.35rem;display:flex}.sm-icon-btn{border:1px solid var(--border,#d0cfc8);background:var(--surface-elevated,#f5f4f0);width:2rem;height:2rem;color:var(--text-secondary,#6e7365);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.sm-icon-btn:hover{background:var(--surface-hover,#00000014);color:var(--text-primary,#1e211a);border-color:var(--text-secondary,#6e7365)}.sm-icon-btn--danger{color:var(--accent-red,#b91c1c);border-color:#0000}.sm-icon-btn--danger:hover{color:var(--accent-red,#b91c1c);background:#b91c1c1a;border-color:#b91c1c4d}@media (width>=769px){.sm-sidebar{display:flex}}@media (width<=768px){.sm-layout{flex-direction:column}.sm-sidebar{display:none}.sm-query-form{flex-direction:column}.sm-email-mobile{display:block}.sm-email-desktop{display:none}}.toast-container{z-index:1000;pointer-events:none;flex-direction:column;gap:.5rem;display:flex;position:fixed;top:5.5rem;right:1.5rem}.toast{pointer-events:auto;border-radius:6px;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.9rem;font-weight:500;animation:.25s ease-out toast-slide-in,.3s ease-in 2.7s forwards toast-fade-out;display:flex;box-shadow:0 4px 12px #0000004d}.toast-success{color:#22c55e;background-color:#22c55e26;border:1px solid #22c55e}.toast-error{border:1px solid var(--error,#dc2626);color:var(--error,#dc2626);background-color:#dc262626}.toast-icon{font-size:1rem;font-weight:700}.toast-text{white-space:nowrap}@keyframes toast-slide-in{0%{opacity:0;transform:translate(1rem)}to{opacity:1;transform:translate(0)}}@keyframes toast-fade-out{0%{opacity:1}to{opacity:0}}.dashboard{max-width:1200px;margin:0 auto;padding:2rem}.dashboard.loading{min-height:50vh;color:var(--text-secondary);justify-content:center;align-items:center;display:flex}.dashboard-header{margin-bottom:2rem}.dashboard-header h1{color:var(--text-primary);margin:0;font-size:1.75rem}.dash-subtitle{color:var(--text-secondary);margin:.25rem 0 0;font-size:1rem}.quick-actions{flex-wrap:wrap;gap:1rem;margin-bottom:2.5rem;display:flex}.action-card{background:var(--bg-elevated);border:1.5px solid var(--border-color);cursor:pointer;text-align:left;color:var(--text-primary);border-radius:8px;align-items:center;gap:.75rem;padding:1rem 1.5rem;font-family:inherit;transition:border-color .2s,transform .15s;display:flex}.action-card:hover{border-color:var(--vergil-accent);transform:translateY(-2px)}.action-icon{background:var(--vergil-primary);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;font-size:1.5rem;display:flex}.action-card strong{font-size:.9375rem;display:block}.action-card small{color:var(--text-secondary);font-size:.8125rem}.dash-section-wrapper{transition:opacity .15s}.dash-section-wrapper.dash-section-dragging{opacity:.35}.dash-section-wrapper.dash-section-drag-over>.dash-section{outline:2px dashed var(--vergil-accent);border-radius:8px;margin:-.75rem;padding:.75rem}.dash-section{margin-bottom:2.5rem}.dash-section-header{align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.dash-section-header h2{color:var(--text-primary);margin:0;font-size:1.25rem}.drag-handle{cursor:grab;color:var(--text-tertiary);-webkit-user-select:none;user-select:none;opacity:0;border-radius:3px;flex-shrink:0;padding:.1rem .2rem;font-size:1.1rem;line-height:1;transition:opacity .15s}.dash-section-wrapper:hover .drag-handle{opacity:1}.drag-handle:active{cursor:grabbing}.count-badge{background:var(--vergil-primary);color:var(--text-primary);border-radius:10px;padding:.125rem .5rem;font-size:.75rem;font-weight:600}.tournament-card:hover{border-color:var(--vergil-accent);transform:translateY(-2px)}.card-image{background-position:50%;background-size:cover;background-color:var(--bg-secondary);height:120px}.card-top-row{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.status-in-progress,.status-in_progress{color:var(--accent-blue);background:#3b82f626}.vis-badge{font-size:.75rem}.team-tag-badge{color:var(--vergil-accent);font-size:.8125rem;font-weight:700}.card-body h3{color:var(--text-primary);margin:0 0 .5rem;font-size:1.0625rem;line-height:1.3}.card-meta span{color:var(--text-tertiary);font-size:.8125rem}.card-footer{border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;padding-top:.75rem;display:flex}.empty-state{text-align:center;background:var(--bg-elevated);border:1px dashed var(--border-color);border-radius:8px;padding:3rem 2rem}.empty-state p{color:var(--text-secondary);margin:0 0 1.25rem}.button-primary{background:var(--vergil-primary);color:var(--text-primary);cursor:pointer;border:none;border-radius:4px;padding:.75rem 1.5rem;font-weight:600;transition:background .2s}.button-primary:hover{background:var(--vergil-primary-dark)}.coming-soon h2{color:var(--text-secondary)}.coming-soon-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;display:grid}.coming-soon-card{background:var(--bg-elevated);border:1px dashed var(--border-color);text-align:center;opacity:.65;border-radius:8px;padding:1.25rem}.cs-icon{margin-bottom:.5rem;font-size:1.75rem;display:block}.coming-soon-card h4{color:var(--text-primary);margin:0 0 .25rem;font-size:.9375rem}.coming-soon-card p{color:var(--text-secondary);margin:0;font-size:.8125rem}@media (width<=768px){.dashboard{padding:1rem}.tournament-grid{column-count:1}.coming-soon-grid{grid-template-columns:1fr}.quick-actions{flex-direction:column}}.tp-page{background-color:var(--bg-primary);min-height:100vh}.tp-hero{background:linear-gradient(135deg, var(--vergil-dark) 0%, var(--bg-elevated) 100%);border-bottom:1px solid var(--border-color);text-align:center;padding:2.5rem 2rem 2rem}.tp-hero h1{color:var(--vergil-accent);margin:0 0 .4rem;font-size:2rem}.tp-hero p{color:var(--text-secondary);margin:0}.tp-container{max-width:1200px;margin:0 auto;padding:2rem 1.5rem 4rem}.tp-filters{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.tp-status-tabs{flex-wrap:wrap;gap:.375rem;display:flex}.tp-tab{border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:999px;padding:.375rem .875rem;font-size:.875rem;transition:background .15s,color .15s,border-color .15s}.tp-tab:hover{border-color:var(--vergil-accent);color:var(--text-primary)}.tp-tab-active{background:var(--vergil-primary);border-color:var(--vergil-primary);color:var(--text-primary)}.tp-game-select{border:1px solid var(--border-color);background:var(--bg-elevated);color:var(--text-primary);cursor:pointer;border-radius:6px;margin-left:auto;padding:.375rem .75rem;font-size:.875rem}.tp-count{color:var(--text-secondary);margin:0 0 1.25rem;font-size:.875rem}.tp-loading{text-align:center;color:var(--text-secondary);padding:4rem 0}.tournament-grid{columns:280px;column-gap:1.25rem}.tournament-card{break-inside:avoid;background:var(--bg-elevated);border:1px solid var(--border-color);cursor:pointer;border-radius:8px;margin-bottom:1.25rem;transition:transform .15s,box-shadow .15s;overflow:hidden}.tournament-card:hover{transform:translateY(-2px);box-shadow:0 6px 24px #00000059}.card-image{background-position:50%;background-size:cover;height:120px}.card-body{padding:1rem}.card-top-row{align-items:center;margin-bottom:.5rem;display:flex}.card-body h3{color:var(--text-primary);margin:0 0 .25rem;font-size:1rem;font-weight:600;line-height:1.3}.card-organizer{color:var(--text-secondary);margin:0 0 .75rem;font-size:.8rem}.card-meta{flex-wrap:wrap;gap:.375rem;margin-bottom:.75rem;display:flex}.card-meta span{background:var(--bg-primary);color:var(--text-secondary);border-radius:4px;padding:.125rem .5rem;font-size:.75rem}.card-footer{border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-top:.25rem;padding-top:.625rem;display:flex}.card-date,.card-teams{color:var(--text-secondary);font-size:.8rem}.status-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:.125rem .6rem;font-size:.7rem;font-weight:600;display:inline-block}.status-draft{color:#9ca3af;background:#6b728033}.status-open{color:#4ade80;background:#22c55e26}.status-full{color:#fb923c;background:#f9731626}.status-in_progress,.status-in-progress{color:#60a5fa;background:#3b82f626}.status-completed{color:#a78bfa;background:#8b5cf626}.status-cancelled{color:#f87171;background:#ef444426}.tp-load-more{text-align:center;margin-top:2.5rem}.tp-load-btn{background:var(--vergil-primary);color:var(--text-primary);cursor:pointer;border:none;border-radius:6px;padding:.625rem 2rem;font-size:.95rem;transition:opacity .15s}.tp-load-btn:disabled{opacity:.6;cursor:default}.empty-icon{margin-bottom:1rem;font-size:3rem}.empty-state h3{color:var(--text-primary);margin:0 0 .5rem}@media (width<=600px){.tp-hero{padding:2rem 1rem 1.5rem}.tp-game-select{width:100%;margin-left:0}.tournament-grid{column-count:1}}@media (width<=768px){.tournament-create-form-container,.tournament-edit-container,.team-registration-container,.team-management-page,.tournament-admin-panel{padding:1rem}.form-row{grid-template-columns:1fr}.form-actions,.page-actions,.action-group{flex-direction:column}.teams-grid{grid-template-columns:1fr}}.rte-container{border:1.5px solid var(--input-border,var(--border-light));background:var(--input-bg,var(--surface-elevated));border-radius:4px;transition:border-color .2s,box-shadow .2s;overflow:hidden}.rte-container:focus-within{border-color:var(--input-focus-border,var(--vergil-accent));box-shadow:0 0 0 2px #8ba55d33}.rte-toolbar{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);flex-wrap:wrap;align-items:center;gap:.25rem;padding:.5rem;display:flex}.rte-toolbar-group{gap:2px;display:flex}.rte-toolbar-sep{background:var(--border-light);width:1px;height:1.25rem;margin:0 .25rem}.rte-btn{min-width:2rem;height:2rem;color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:3px;justify-content:center;align-items:center;padding:0 .375rem;font-family:inherit;font-size:.8125rem;transition:all .15s;display:inline-flex}.rte-btn:hover{background:var(--bg-elevated);color:var(--text-primary);border-color:var(--border-color)}.rte-btn-active{background:var(--vergil-primary);color:var(--text-primary);border-color:var(--vergil-primary)}.rte-btn-active:hover{background:var(--vergil-primary-light);border-color:var(--vergil-primary-light)}.rte-content{min-height:200px;max-height:500px;overflow-y:auto}.rte-content .tiptap{min-height:200px;color:var(--text-primary);outline:none;padding:.75rem 1rem;font-size:1rem;line-height:1.6}.rte-content .tiptap p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:var(--text-tertiary);pointer-events:none;height:0}.rte-content .tiptap h1{color:var(--text-primary);margin:1.25rem 0 .5rem;font-size:1.75rem}.rte-content .tiptap h2{color:var(--text-primary);margin:1rem 0 .5rem;font-size:1.5rem}.rte-content .tiptap h3{color:var(--text-primary);margin:.75rem 0 .375rem;font-size:1.25rem}.rte-content .tiptap p{margin:.5rem 0}.rte-content .tiptap ul,.rte-content .tiptap ol{margin:.5rem 0;padding-left:1.5rem}.rte-content .tiptap li{margin:.25rem 0}.rte-content .tiptap a{color:var(--vergil-accent);text-decoration:underline}.rte-content .tiptap blockquote{border-left:3px solid var(--vergil-primary);color:var(--text-secondary);margin:.75rem 0;padding:.5rem 1rem}.rte-content .tiptap code{background:var(--bg-secondary);border-radius:3px;padding:.15em .3em;font-size:.9em}.rte-content .tiptap pre{background:var(--bg-secondary);border-radius:4px;margin:.75rem 0;padding:.75rem 1rem;overflow-x:auto}.rte-content .tiptap pre code{background:0 0;padding:0}.rte-content .tiptap hr{border:none;border-top:1px solid var(--border-color);margin:1rem 0}.tournament-page{background:var(--surface);max-width:1200px;margin:0 auto;padding:0}.tournament-page.loading,.tournament-page.error{text-align:center;padding:4rem 2rem}.tournament-header-image{background:var(--background);width:100%;height:400px;position:relative;overflow:hidden}.tournament-header-image img{object-fit:cover;width:100%;height:100%;display:block}.admin-controls{background:var(--bg-elevated);border-bottom:1px solid var(--border-color);flex-direction:column;gap:.75rem;padding:1rem 2rem;display:flex}.admin-controls-row{flex-wrap:wrap;gap:.5rem;display:flex}.ctrl-btn{background:var(--vergil-primary);color:var(--text-primary);cursor:pointer;border:none;border-radius:4px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:background .2s}.ctrl-btn:hover{background:var(--vergil-primary-dark)}.ctrl-btn-sm{background:var(--vergil-primary);color:var(--text-primary);cursor:pointer;border:none;border-radius:4px;padding:.375rem .75rem;font-size:.8125rem;font-weight:500;transition:background .2s}.ctrl-btn-sm:hover:not(:disabled){background:var(--vergil-primary-dark)}.ctrl-btn-sm:disabled{opacity:.5;cursor:not-allowed}.admin-reg-link{align-items:center;gap:.5rem;display:flex}.admin-reg-link .reg-label{color:var(--text-secondary);white-space:nowrap;font-size:.8125rem}.admin-reg-link input{background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-primary);border-radius:4px;flex:1;padding:.375rem .75rem;font-family:monospace;font-size:.8125rem}.admin-panel-inline{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;padding:1rem}.admin-panel-inline h4{color:var(--text-primary);margin:0 0 .75rem;font-size:.9375rem}.admin-list{flex-direction:column;gap:.375rem;margin-bottom:.75rem;display:flex}.admin-item{background:var(--bg-elevated);color:var(--text-primary);border-radius:4px;justify-content:space-between;align-items:center;padding:.5rem .75rem;font-size:.9rem;display:flex}.admin-item-actions{align-items:center;gap:.5rem;display:flex}.role-badge{text-transform:uppercase;background:var(--vergil-primary);color:var(--text-primary);border-radius:4px;padding:.15rem .5rem;font-size:.7rem;font-weight:600}.owner-badge{background:var(--accent-blue)}.transfer-btn{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:4px;padding:.15rem .5rem;font-size:.75rem;transition:color .15s,border-color .15s}.transfer-btn:hover{color:var(--text-primary);border-color:var(--text-primary)}.remove-admin-btn{color:var(--accent-red);cursor:pointer;background:0 0;border:none;padding:0 .25rem;font-size:1rem;line-height:1}.remove-admin-btn:hover{color:#f44}.add-admin-row{gap:.5rem;display:flex}.add-admin-row input{background:var(--bg-elevated);border:1.5px solid var(--input-border);color:var(--text-primary);border-radius:4px;flex:1;padding:.5rem .75rem;font-size:.875rem}.add-admin-row input:focus{border-color:var(--input-focus-border);outline:none}.tournament-title{flex-wrap:wrap;align-items:center;gap:1rem;padding:2rem 2rem 1rem;display:flex}.tournament-title h1{color:var(--text-primary);margin:0;font-size:2.5rem;font-weight:700}.visibility-badge{background:var(--accent-yellow);color:var(--background);text-transform:uppercase;border-radius:4px;padding:.25rem .75rem;font-size:.75rem;font-weight:600}.tournament-datetime{padding:0 2rem 1.5rem}.tournament-datetime h3{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .5rem;font-size:1rem;font-weight:600}.datetime-local{color:var(--text-primary);margin:0;font-size:1.25rem;font-weight:500}.registration-details{background:var(--surface-elevated);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:1.5rem 2rem}.registration-details h3{color:var(--text-primary);margin:0 0 1rem;font-size:1.25rem}.registration-info{flex-direction:column;gap:.5rem;margin-bottom:1rem;display:flex}.registration-info p{color:var(--text-secondary);margin:0;font-size:.9375rem}.registration-info strong{color:var(--text-primary);margin-right:.5rem}.registration-link{background:var(--surface);border:1px solid var(--border);border-radius:8px;margin-top:1.5rem;padding:1.5rem}.registration-link h4{color:var(--text-primary);margin:0 0 1rem;font-size:1rem}.link-box{gap:.5rem;margin-bottom:1rem;display:flex}.link-box input{background:var(--background);border:1px solid var(--border);color:var(--text-primary);border-radius:4px;flex:1;padding:.75rem;font-family:Courier New,monospace;font-size:.875rem}.link-box button{background:var(--surface-elevated);border:1px solid var(--border);color:var(--text-primary);cursor:pointer;border-radius:4px;padding:.75rem 1.5rem;font-weight:500;transition:background .2s}.link-box button:hover{background:var(--surface)}.register-button{background:var(--primary);width:100%;color:var(--text-primary);cursor:pointer;border:none;border-radius:4px;padding:1rem;font-size:1rem;font-weight:600;transition:background .2s}.register-button:hover{background:var(--primary-dark)}.registration-closed,.tournament-full{background:var(--accent-red-transparent);border:1px solid var(--accent-red);color:var(--text-primary);text-align:center;border-radius:4px;margin-top:1rem;padding:1rem;font-weight:500}.stream-link{background:var(--surface-elevated);border-bottom:1px solid var(--border);padding:1.5rem 2rem}.stream-link h3{color:var(--text-primary);margin:0 0 1rem;font-size:1.25rem}.stream-button{background:var(--accent-purple);color:#fff;border-radius:4px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-weight:600;text-decoration:none;transition:background .2s;display:inline-flex}.stream-button:hover{background:var(--accent-purple-dark)}.stream-icon{object-fit:contain;width:1.25rem;height:1.25rem}.tournament-description,.tournament-rules{padding:2rem}.tournament-description h3,.tournament-rules h3{color:var(--text-primary);margin:0 0 1rem;font-size:1.5rem}.rich-text-content{color:var(--text-secondary);font-size:1rem;line-height:1.7}.rich-text-content h1,.rich-text-content h2,.rich-text-content h3{color:var(--text-primary);margin:1.5rem 0 .75rem}.rich-text-content h1{font-size:1.75rem}.rich-text-content h2{font-size:1.5rem}.rich-text-content h3{font-size:1.25rem}.rich-text-content p{margin:0 0 1rem}.rich-text-content ul,.rich-text-content ol{margin:0 0 1rem;padding-left:2rem}.rich-text-content li{margin-bottom:.5rem}.rich-text-content a{color:var(--primary);text-decoration:underline}.rich-text-content code{background:var(--surface-elevated);border:1px solid var(--border);border-radius:3px;padding:.125rem .25rem;font-family:Courier New,monospace;font-size:.875em}.tournament-info{background:var(--surface-elevated);border-top:1px solid var(--border);padding:2rem}.tournament-info h3{color:var(--text-primary);margin:0 0 1rem;font-size:1.25rem}.info-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.info-item{background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:1rem}.info-item strong{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem;font-size:.75rem;display:block}.info-item .status-draft{color:var(--accent-yellow)}.info-item .status-open{color:var(--accent-green)}.info-item .status-in_progress{color:var(--accent-blue)}.info-item .status-completed{color:var(--text-secondary)}.info-item .status-cancelled{color:var(--accent-red)}.view-bracket{text-align:center;padding:2rem}.view-bracket button{background:var(--primary);color:var(--text-primary);cursor:pointer;border:none;border-radius:4px;padding:1rem 2rem;font-size:1rem;font-weight:600;transition:background .2s}.view-bracket button:hover{background:var(--primary-dark)}@media (width<=768px){.tournament-header-image{height:250px}.tournament-title h1{font-size:1.75rem}.admin-controls{padding:.75rem 1rem}.tournament-datetime,.registration-details,.stream-link,.tournament-description,.tournament-rules,.tournament-info{padding:1.5rem 1rem}.info-grid{grid-template-columns:1fr}}.ctrl-btn-danger{background:var(--accent-red)!important}.ctrl-btn-danger:hover{opacity:.9}.ctrl-btn-publish{background:var(--accent-blue)!important}.registration-actions{flex-direction:column;gap:.75rem;margin-top:1rem;display:flex}.register-join{background:var(--accent-blue)}.register-join:hover{opacity:.9}.join-team-panel{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:6px;padding:1rem}.join-team-panel h4{color:var(--text-primary);margin:0 0 .25rem;font-size:.9375rem}.join-hint{color:var(--text-secondary);margin:0 0 .75rem;font-size:.8125rem}.join-team-list{flex-direction:column;gap:.5rem;display:flex}.join-team-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.join-team-card.ineligible{opacity:.55}.join-team-info{flex-direction:column;gap:.125rem;display:flex}.join-team-info strong{color:var(--text-primary);font-size:.9375rem}.team-tag-sm{color:var(--vergil-accent);font-weight:700}.join-team-meta{color:var(--text-secondary);font-size:.8125rem}.qr-overlay{z-index:1000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.qr-bubble{background:var(--surface-elevated);border:1px solid var(--border);text-align:center;border-radius:12px;padding:2rem;animation:.15s ease-out qr-pop-in;position:relative;box-shadow:0 8px 32px #0006}@keyframes qr-pop-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.qr-bubble h3{color:var(--text-primary);margin:0 0 1.25rem;font-size:1rem}.qr-bubble canvas{border-radius:4px}.qr-url{color:var(--text-secondary);word-break:break-all;max-width:260px;margin:1rem 0 0;font-family:monospace;font-size:.75rem}.qr-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:.25rem;font-size:1.25rem;line-height:1;position:absolute;top:.5rem;right:.75rem}.qr-close:hover{color:var(--text-primary)}@media (width<=768px){.tournament-create-form-container,.tournament-edit-container,.team-registration-container,.team-management-page,.tournament-admin-panel{padding:1rem}.form-row{grid-template-columns:1fr}.form-actions,.page-actions,.action-group{flex-direction:column}.teams-grid{grid-template-columns:1fr}}.tournament-edit-container .warning-text{color:var(--accent-yellow,#eab308);font-size:.85rem}.tournament-edit-container .pool-play-config{margin-top:1.75rem}.tournament-edit-container .pool-play-config h3{color:var(--text-primary);margin:0 0 .5rem;font-size:1.125rem}.tournament-edit-container .pool-play-config .section-description{margin:0 0 1rem}@media (width<=768px){.tournament-create-form-container,.tournament-edit-container,.team-registration-container,.team-management-page,.tournament-admin-panel{padding:1rem}.form-row{grid-template-columns:1fr}.form-actions,.page-actions,.action-group{flex-direction:column}.teams-grid{grid-template-columns:1fr}}.tournament-admin-panel{max-width:none}.tournament-admin-panel .stats-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.tournament-admin-panel .stat-card{background:var(--surface-elevated);border:1px solid var(--border);text-align:center;border-radius:6px;padding:1.25rem}.tournament-admin-panel .stat-card .stat-value{color:var(--text-primary);font-size:2rem;font-weight:700}.tournament-admin-panel .stat-card .stat-label{color:var(--text-secondary);margin-top:.25rem;font-size:.85rem}.tournament-admin-panel .team-list{margin-top:1.5rem}.tournament-admin-panel .team-list-item{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1rem;display:flex}.tournament-admin-panel .team-list-item:last-child{border-bottom:none}.tournament-admin-panel .bracket-actions{flex-wrap:wrap;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.bracket-hint{width:100%;color:var(--text-secondary);margin:0 0 .25rem;font-size:.875rem;line-height:1.5}.draft-registration-notice{color:var(--text-primary);background:#eab3081a;border:1px solid #eab30880;border-radius:4px;margin-bottom:1.5rem;padding:.75rem 1rem;font-size:.875rem;line-height:1.5}.section-header-actions{align-items:center;gap:.5rem;display:flex}.tap-info-badge{margin-bottom:1rem;display:block}.seed-input-group{align-items:center;gap:.375rem;margin-top:.25rem;display:flex}.seed-input-group label{color:var(--text-secondary);font-size:.75rem;font-weight:500}.seed-input{border:1px solid var(--border);background:var(--surface);width:3.5rem;color:var(--text-primary);text-align:center;border-radius:4px;padding:.2rem .4rem;font-size:.875rem}.seed-input:focus{border-color:var(--accent-purple);outline:none}.team-name-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.tournament-admin-panel .team-header{justify-content:flex-start;align-items:flex-start}.tournament-admin-panel .team-info{flex-direction:column;align-items:flex-start;display:flex}.pool-bypass-badge{background:var(--accent-blue-transparent);border:1px solid var(--accent-blue);color:var(--accent-blue);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;align-items:center;padding:.125rem .6rem;font-size:.7rem;font-weight:600;display:inline-flex}.add-team-modal{max-width:560px}.add-team-players-section{margin-bottom:1.5rem}.add-team-players-section>label{color:var(--text-primary);margin-bottom:.5rem;font-size:.9375rem;font-weight:500;display:block}.add-team-players-header{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;grid-template-columns:1fr 4rem;padding:0 2rem .25rem 0;font-size:.75rem;font-weight:600;display:grid}.add-team-player-row{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.atp-gamertag-input{background:var(--input-bg,var(--surface-elevated));border:1.5px solid var(--input-border,var(--border-light));color:var(--text-primary);border-radius:4px;flex:1;padding:.6rem .75rem;font-family:inherit;font-size:.9375rem;transition:border-color .2s}.atp-gamertag-input:focus{border-color:var(--input-focus-border,var(--vergil-accent));outline:none}.atp-captain-radio{cursor:pointer;justify-content:center;align-items:center;width:4rem;display:flex}.atp-captain-radio input[type=radio]{cursor:pointer;width:1.1rem;height:1.1rem;accent-color:var(--vergil-accent)}.atp-remove-btn{border:1px solid var(--border);width:1.75rem;height:1.75rem;color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:.75rem;transition:border-color .15s,color .15s;display:flex}.atp-remove-btn:hover:not(:disabled){border-color:var(--accent-red);color:var(--accent-red)}.atp-remove-btn:disabled{opacity:.3;cursor:not-allowed}.tap-logo-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.add-team-mgmt-url{margin:1.25rem 0}.add-team-mgmt-url>label{color:var(--text-secondary);margin-bottom:.5rem;font-size:.875rem;font-weight:600;display:block}.mgmt-url-row{align-items:stretch;gap:.5rem;display:flex}.mgmt-url-input{background:var(--surface-elevated);border:1px solid var(--border);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;border-radius:4px;flex:1;padding:.6rem .75rem;font-family:monospace;font-size:.8125rem;overflow:hidden}.add-team-mgmt-url small{color:var(--accent-yellow);margin-top:.5rem;font-size:.8125rem;display:block}.mmpe-root{flex-direction:column;gap:1rem;display:flex}.mmpe-summary{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;display:grid}.mmpe-summary-card{background:var(--surface-elevated);border:1px solid var(--border);border-radius:6px;padding:.875rem 1rem}.mmpe-summary-card strong{color:var(--text-primary);font-size:1rem;display:block}.mmpe-summary-label{color:var(--text-secondary);letter-spacing:.04em;text-transform:uppercase;margin-bottom:.25rem;font-size:.75rem;font-weight:600;display:block}.mmpe-selected{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.75rem;display:grid}.mmpe-selected-group{background:var(--surface-elevated);border:1px solid var(--border);border-radius:6px;padding:.875rem 1rem}.mmpe-selected-group h4{color:var(--text-primary);margin:0 0 .75rem;font-size:.95rem}.mmpe-chip-list{flex-wrap:wrap;gap:.4rem;display:flex}.mmpe-chip{background:var(--accent-blue-transparent);border:1px solid var(--accent-blue);color:var(--text-primary);border-radius:999px;align-items:center;padding:.25rem .55rem;font-size:.75rem;display:inline-flex}.mmpe-empty-inline,.mmpe-empty{color:var(--text-secondary);font-size:.9rem}.mmpe-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.mmpe-column{background:var(--surface-elevated);border:1px solid var(--border);border-radius:6px;min-width:0;padding:1rem}.mmpe-column-header{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.9rem;display:flex}.mmpe-column-header h4,.mmpe-mode-group h5{color:var(--text-primary);margin:0}.mmpe-column-header span,.mmpe-mode-group h5{font-size:.85rem}.mmpe-mode-groups{flex-direction:column;gap:1rem;display:flex}.mmpe-mode-group,.mmpe-option-list{flex-direction:column;gap:.5rem;display:flex}.mmpe-option{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:6px;align-items:flex-start;gap:.75rem;padding:.75rem;transition:border-color .15s,background .15s;display:flex}.mmpe-option:hover{border-color:var(--vergil-accent)}.mmpe-option.is-selected{border-color:var(--vergil-accent);background:#8ba55d1f}.mmpe-option.is-disabled{opacity:.7;cursor:not-allowed}.mmpe-option input{accent-color:var(--vergil-accent);margin-top:.15rem}.mmpe-option-copy{flex-direction:column;gap:.2rem;min-width:0;display:flex}.mmpe-option-title{color:var(--text-primary);font-size:.92rem;font-weight:500}.mmpe-option-meta{color:var(--text-secondary);font-size:.78rem}@media (width<=900px){.mmpe-columns{grid-template-columns:1fr}}.team-logo-name{align-items:center;gap:.5rem;min-width:0;display:inline-flex}.team-logo-name__image{width:var(--team-logo-size,24px);height:var(--team-logo-size,24px);object-fit:contain;background:#ffffff0d;border-radius:6px;flex-shrink:0}.team-logo-name__text{min-width:0}.sv-overlay{z-index:1000;background:#000000d9;justify-content:center;align-items:center;animation:.2s ease-out sv-fade-in;display:flex;position:fixed;inset:0}@keyframes sv-fade-in{0%{opacity:0}to{opacity:1}}.sv-container{color:#e5e5e5;background:#111;border-radius:12px;width:90vw;max-width:1100px;max-height:92vh;animation:.25s ease-out sv-slide-up;position:relative;overflow-y:auto;box-shadow:0 24px 80px #0009}@keyframes sv-slide-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.sv-close{z-index:10;color:#fff;cursor:pointer;background:#0009;border:1px solid #ffffff26;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.5rem;line-height:1;transition:background .15s;display:flex;position:absolute;top:12px;right:16px}.sv-close:hover{background:#ffffff26}.sv-loading,.sv-error{text-align:center;color:#999;padding:4rem 2rem;font-size:1rem}.sv-hero{border-radius:12px 12px 0 0;width:100%;position:relative;overflow:hidden}.sv-hero-stream{aspect-ratio:16/9;max-height:55vh}.sv-hero-static{justify-content:center;align-items:center;min-height:220px;max-height:45vh;display:flex}.sv-stream-embed{border:none;width:100%;height:100%}.sv-hero-map-name{color:#ffffff0f;text-transform:uppercase;letter-spacing:.05em;pointer-events:none;-webkit-user-select:none;user-select:none;white-space:nowrap;justify-content:center;align-items:center;font-size:clamp(2rem,8vw,5rem);font-weight:800;display:flex;position:absolute;inset:0;overflow:hidden}.sv-hero-overlay{z-index:1;text-align:center;padding:2rem;position:relative}.sv-hero-status{text-transform:uppercase;letter-spacing:.12em;color:#ffffffb3;margin-bottom:.75rem;font-size:.9rem;font-weight:600}.sv-hero-mode-info{color:#fff;justify-content:center;align-items:center;gap:.5rem;font-size:1.15rem;display:flex}.sv-mode-icon-large{object-fit:contain;filter:brightness(1.2);width:32px;height:32px}.sv-mode-icon-small{object-fit:contain;width:20px;height:20px}.sv-hero-final-score{justify-content:center;align-items:baseline;gap:.75rem;margin:.5rem 0;display:flex}.sv-hero-score-team{color:#ffffff80;font-size:clamp(2.5rem,6vw,4rem);font-weight:800;transition:color .3s}.sv-hero-score-team.sv-winner{color:#22c55e}.sv-hero-score-dash{color:#ffffff4d;font-size:clamp(1.5rem,4vw,2.5rem)}.sv-hero-winner{color:#22c55e;margin-top:.25rem;font-size:1.1rem;font-weight:600}.sv-stream-info-bar{color:#ffffffe6;background:linear-gradient(#0000,#000000d9);justify-content:center;align-items:center;gap:.5rem;padding:.6rem 1rem;font-size:.85rem;display:flex;position:absolute;bottom:0;left:0;right:0}.sv-game-label{font-weight:700}.sv-game-separator{opacity:.5}.sv-game-detail{opacity:.85}.sv-info-bar{background:#1a1a1a;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.sv-info-team{flex:1;align-items:baseline;gap:.5rem;min-width:0;display:flex}.sv-info-team-left{justify-content:flex-start}.sv-info-team-right{text-align:right;justify-content:flex-end}.sv-team-name{color:#e5e5e5;font-size:1.1rem;font-weight:700}.sv-info-team .team-logo-name{min-width:0}.sv-info-team-right .team-logo-name{justify-content:flex-end}.sv-info-team.sv-winner .sv-team-name{color:#22c55e}.sv-seed{color:#fff6;font-size:.75rem;font-weight:500}.sv-info-center{text-align:center;flex:none;padding:0 1.5rem}.sv-info-score{color:#fff;letter-spacing:.05em;font-size:1.75rem;font-weight:800}.sv-info-bestof{color:#fff6;text-transform:uppercase;letter-spacing:.1em;margin-top:.15rem;font-size:.7rem}.sv-round-label{text-align:center;text-transform:uppercase;letter-spacing:.1em;color:#ffffff59;background:#151515;padding:.5rem 1rem;font-size:.75rem;font-weight:600}.sv-admin-bar{background:#181818;border-top:1px solid #ffffff0d;border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1.5rem;display:flex}.sv-status-note{color:#ffffffb8;font-size:.85rem}.sv-reset-btn{color:#fff;cursor:pointer;background:#991b1b;border:none;border-radius:6px;padding:.6rem 1rem;font-weight:700;transition:background .15s}.sv-reset-btn:hover:not(:disabled){background:#b91c1c}.sv-reset-btn:disabled{opacity:.6;cursor:wait}.sv-lineup-strip{scrollbar-width:thin;scrollbar-color:#ffffff26 transparent;background:#111;border-radius:0 0 12px 12px;gap:.75rem;padding:1.25rem 1.5rem;display:flex;overflow-x:auto}.sv-lineup-strip::-webkit-scrollbar{height:6px}.sv-lineup-strip::-webkit-scrollbar-track{background:0 0}.sv-lineup-strip::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.sv-game-card{text-align:center;border:2px solid #ffffff14;border-radius:8px;flex-direction:column;flex:0 0 140px;justify-content:center;align-items:center;gap:.35rem;min-height:180px;padding:.75rem;transition:transform .15s,border-color .15s;display:flex;position:relative}.sv-game-card.sv-game-future{opacity:.4}.sv-game-card.sv-game-current{border-color:#3b82f6;transform:scale(1.05);box-shadow:0 0 20px #3b82f640}.sv-game-card.sv-game-completed.sv-game-p1-win{border-color:#ef444480}.sv-game-card.sv-game-completed.sv-game-p2-win{border-color:#3b82f680}.sv-next-badge{color:#fff;letter-spacing:.08em;background:#3b82f6;border-radius:3px;padding:2px 6px;font-size:.6rem;font-weight:700;animation:2s ease-in-out infinite sv-pulse;position:absolute;top:6px;right:6px}@keyframes sv-pulse{0%,to{opacity:1}50%{opacity:.6}}.sv-game-mode-icon{object-fit:contain;filter:brightness(1.3)drop-shadow(0 1px 3px #00000080);width:28px;height:28px}.sv-game-map-name{color:#fff;font-size:.8rem;font-weight:700;line-height:1.2}.sv-game-mode-name{color:#ffffff80;text-transform:capitalize;font-size:.7rem}.sv-game-score{color:#fff9;align-items:baseline;gap:.3rem;margin-top:.25rem;font-size:1rem;font-weight:700;display:flex}.sv-game-score-winner{color:#fff}.sv-game-score-dash{opacity:.4;font-size:.8rem}.sv-game-number{color:#ffffff40;text-transform:uppercase;letter-spacing:.08em;margin-top:auto;font-size:.6rem}.sv-featured-prompt{z-index:20;color:#fff;white-space:nowrap;background:#3b82f6f2;border-radius:8px;align-items:center;gap:.75rem;padding:.6rem 1rem;font-size:.85rem;animation:.3s ease-out sv-slide-down;display:flex;position:absolute;top:52px;left:50%;transform:translate(-50%);box-shadow:0 4px 20px #0006}@keyframes sv-slide-down{0%{opacity:0;transform:translate(-50%)translateY(-12px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.sv-follow-btn{color:#3b82f6;cursor:pointer;background:#fff;border:none;border-radius:4px;padding:.3rem .75rem;font-size:.8rem;font-weight:700}.sv-follow-btn:hover{background:#e0e7ff}.sv-dismiss-btn{color:#fffc;cursor:pointer;background:0 0;border:1px solid #ffffff4d;border-radius:4px;padding:.3rem .75rem;font-size:.8rem}.sv-dismiss-btn:hover{background:#ffffff1a}@media (width<=640px){.sv-container{border-radius:0;width:100vw;max-width:100vw;max-height:100vh}.sv-hero{border-radius:0}.sv-hero-static{min-height:160px}.sv-info-bar{padding:.75rem 1rem}.sv-team-name{font-size:.95rem}.sv-info-score{font-size:1.4rem}.sv-info-center{padding:0 .75rem}.sv-admin-bar{flex-direction:column;align-items:stretch;padding:.75rem 1rem}.sv-lineup-strip{flex-direction:column;align-items:stretch;padding:1rem;overflow-x:visible}.sv-game-card{flex-direction:row;flex:none;gap:.75rem;min-height:auto;padding:.75rem 1rem}.sv-game-card.sv-game-current{transform:none}.sv-next-badge{top:50%;right:8px;transform:translateY(-50%)}.sv-game-mode-icon{flex-shrink:0;width:24px;height:24px}.sv-game-map-name,.sv-game-mode-name{text-align:left}.sv-game-score{margin-top:0;margin-left:auto}.sv-game-number{margin-top:0;margin-left:.5rem}.sv-featured-prompt{white-space:normal;flex-wrap:wrap;top:8px;left:8px;right:8px;transform:none}@keyframes sv-slide-down{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}}.bracket-viewer{box-sizing:border-box;width:100%;min-width:320px;max-width:100%;margin:0 auto;padding:2rem 2.5rem 2rem 2rem}.bracket-viewer.loading,.bracket-viewer.error{text-align:center;color:var(--text-secondary);padding:4rem 2rem}.bracket-header{border-bottom:2px solid var(--border);margin-bottom:2rem;padding-bottom:1.5rem}.bracket-header-actions{gap:.5rem;margin-top:.75rem;display:flex}.bracket-header h2{color:var(--text-primary);margin:0 0 .75rem;font-size:1.75rem}.bracket-meta{gap:.75rem;margin-bottom:1rem;display:flex}.status-badge,.format-badge{text-transform:capitalize;border-radius:4px;padding:.25rem .75rem;font-size:.8rem;font-weight:600;display:inline-block}.status-badge{background:var(--surface-elevated);border:1px solid var(--border);color:var(--text-secondary)}.status-badge.status-open{background:var(--accent-green-transparent,#22c55e1a);border-color:var(--accent-green,#22c55e);color:var(--accent-green,#22c55e)}.status-badge.status-in_progress{background:var(--accent-blue-transparent,#3b82f61a);border-color:var(--accent-blue,#3b82f6);color:var(--accent-blue,#3b82f6)}.status-badge.status-completed{border-color:var(--accent-purple,#8b5cf6);color:var(--accent-purple,#8b5cf6);background:#8b5cf626}.format-badge{background:var(--surface-elevated);border:1px solid var(--border);color:var(--text-secondary)}.elimination-bracket{margin-bottom:2.5rem}.bracket-label{color:var(--text-primary);border-bottom:1px solid var(--border);margin:0 0 1rem;padding-bottom:.5rem;font-size:1.25rem}.bracket-rounds{justify-content:center;gap:1.5rem;width:100%;padding-bottom:1rem;display:flex;overflow-x:auto}.bracket-round{flex-direction:column;flex:none;min-width:220px;display:flex}.round-header{justify-content:center;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.round-label{text-align:center;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;padding:.5rem;font-size:.85rem;font-weight:600}.round-config-btn{border:1px solid var(--border-color);cursor:pointer;color:var(--text-secondary);white-space:nowrap;background:0 0;border-radius:4px;padding:.25rem .5rem;font-size:.7rem}.round-config-btn:hover{background:var(--bg-elevated);color:var(--text-primary)}.round-matches{flex-direction:column;flex:1;justify-content:space-around;gap:1rem;display:flex}.match-card{border:1px solid var(--border);background:var(--surface);border-radius:6px;width:auto;min-width:220px;transition:border-color .2s;position:relative;overflow:visible}.match-card:hover{border-color:var(--text-secondary)}.match-card.match-completed{border-left:3px solid var(--accent-green,#22c55e)}.match-card.match-in-progress{border-left:3px solid var(--accent-blue,#3b82f6)}.match-card.match-ready{border-left:3px solid var(--accent-yellow,#eab308)}.match-card.match-disputed{border-left:3px solid var(--accent-red,#ef4444)}.match-card.match-pending{opacity:.6}.match-card.match-clickable{cursor:pointer}.match-card.match-clickable:hover{border-color:var(--accent-blue,#3b82f6)}.view-btn{border:1px solid var(--border-color);cursor:pointer;color:var(--text-secondary);background:0 0;border-radius:4px;padding:1px 6px;font-size:.75rem}.view-btn:hover{background:var(--bg-elevated);color:var(--text-primary)}.match-team{color:var(--text-primary);align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.9rem;display:flex}.match-team:first-child{border-bottom:1px solid var(--border)}.match-team.winner{background:var(--accent-green-transparent,#22c55e14);font-weight:600}.match-team.tbd{color:var(--text-secondary);font-style:italic}.match-team.team-red{background:#ef44440a;box-shadow:inset 4px 0 #ef4444a6}.match-team.team-blue{background:#3b82f60a;box-shadow:inset 4px 0 #3b82f6a6}.match-team.team-red.winner{background:#ef44441a}.match-team.team-blue.winner{background:#3b82f61a}.match-team .seed{background:var(--surface-elevated);width:1.5rem;height:1.5rem;color:var(--text-secondary);border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:600;display:inline-flex}.match-team .team-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.match-team .team-logo-name{flex:1;min-width:0}.match-team .score{text-align:center;min-width:1.25rem;font-size:1rem;font-weight:700}.match-team.winner .score{color:var(--accent-green,#22c55e)}.report-btn{background:var(--accent-blue,#3b82f6);color:#fff;cursor:pointer;border:none;width:100%;padding:.35rem;font-size:.8rem;font-weight:600;transition:background .2s;display:block}.report-btn:hover{background:var(--accent-blue-hover,#2563eb)}.dispute-badge{text-align:center;background:var(--accent-red-transparent,#ef44441a);width:100%;color:var(--accent-red,#ef4444);padding:.25rem;font-size:.75rem;font-weight:600;display:block}.pending-badge{text-align:center;width:100%;color:var(--accent-yellow,#f59e0b);background:#f59e0b1a;padding:.2rem;font-size:.7rem;font-weight:600;display:block}.quick-sync-btn{border:1px solid var(--border-color);cursor:pointer;color:var(--text-secondary);background:0 0;border-radius:3px;padding:1px 6px;font-size:.75rem;transition:background .15s,color .15s}.quick-sync-btn:hover:not(:disabled){background:var(--bg-elevated);color:var(--text-primary)}.quick-sync-btn:disabled{opacity:.55;cursor:not-allowed}.quick-sync-btn.quick-sync-cooldown{color:var(--text-muted,var(--text-secondary))}.quick-sync-panel{border:1px solid var(--border);border-radius:6px;margin:.5rem 0 0;font-size:.85rem;overflow:hidden}.quick-sync-panel-header{background:var(--surface-2,#1e2130);border-bottom:1px solid var(--border);color:var(--text-secondary);justify-content:space-between;align-items:center;padding:.5rem .75rem;font-size:.8rem;display:flex}.quick-sync-info,.quick-sync-error{justify-content:space-between;align-items:center;gap:.75rem;padding:.6rem .75rem;display:flex}.quick-sync-info{color:var(--text-secondary)}.quick-sync-error{color:var(--accent-red,#ef4444);background:#ef44440f}.quick-sync-cancel{border:1px solid var(--border-color);cursor:pointer;color:var(--text-secondary);white-space:nowrap;background:0 0;border-radius:3px;flex-shrink:0;padding:1px 6px;font-size:.75rem}.quick-sync-cancel:hover{background:var(--bg-elevated);color:var(--text-primary)}.quick-sync-candidate{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem .75rem;transition:background .12s;display:flex}.quick-sync-candidate:last-child{border-bottom:none}.quick-sync-candidate.qs-roster-ok{background:#22c55e0a}.quick-sync-candidate.qs-roster-partial{background:#f59e0b0a}.qs-candidate-info{color:var(--text-primary);flex-wrap:wrap;align-items:center;gap:.6rem;font-size:.8rem;display:flex}.qs-time{color:var(--text-secondary);font-size:.75rem}.qs-map-mode{color:var(--text-secondary)}.qs-score{font-weight:600}.qs-roster-badge{border-radius:4px;padding:.1rem .4rem;font-size:.7rem;font-weight:600}.qs-badge-ok{color:var(--accent-green,#22c55e);background:#22c55e26}.qs-badge-warn{color:var(--accent-yellow,#f59e0b);background:#f59e0b26}.qs-select-btn{background:var(--accent-blue,#3b82f6);cursor:pointer;color:#fff;white-space:nowrap;border:none;border-radius:3px;flex-shrink:0;padding:.25rem .6rem;font-size:.75rem;font-weight:600;transition:background .15s}.qs-select-btn:hover{background:var(--accent-blue-hover,#2563eb)}.round-robin-view{grid-template-columns:1fr 1.5fr;gap:2rem;display:grid}.round-robin-view.round-robin-view-matches-only{display:block}@media (width<=768px){.round-robin-view{grid-template-columns:1fr}}.standings-table h3,.round-robin-matches h3{color:var(--text-primary);margin:0 0 1rem;font-size:1.1rem}.standings-table table{border-collapse:collapse;width:100%}.standings-table th,.standings-table td{text-align:center;border-bottom:1px solid var(--border);padding:.5rem .75rem;font-size:.9rem}.standings-table th{color:var(--text-secondary);text-transform:uppercase;font-size:.8rem;font-weight:600}.standings-table td:nth-child(2){text-align:left}.standings-table .positive{color:var(--accent-green,#22c55e)}.standings-table .negative{color:var(--accent-red,#ef4444)}.rr-round{margin-bottom:1.5rem}.rr-round h4{color:var(--text-secondary);margin:0 0 .75rem;font-size:.95rem}.rr-round-matches{flex-direction:column;gap:.75rem;display:flex}.rr-round-header{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.rr-round-header h4{margin:0}.rr-round-config-btn{flex-shrink:0}.rr-round-collapsible{margin-bottom:.5rem}.rr-round-toggle{background:var(--bg-secondary);border:1px solid var(--border-color);cursor:pointer;width:100%;color:var(--text-primary);text-align:left;border-radius:6px;flex:1;align-items:center;gap:.5rem;margin-bottom:0;padding:.6rem .9rem;font-size:.95rem;font-weight:600;transition:background .15s;display:flex}.rr-round-toggle:hover{background:var(--bg-elevated)}.rr-round-toggle.expanded{border-bottom-right-radius:0;border-bottom-left-radius:0}.rr-round-toggle-label{flex:1;align-items:center;gap:.5rem;display:flex}.rr-round-badge{text-transform:uppercase;letter-spacing:.03em;border-radius:4px;padding:.1rem .45rem;font-size:.7rem;font-weight:600}.rr-round-badge.complete{color:var(--accent-green,#22c55e);background:#22c55e26}.rr-round-toggle-count{color:var(--text-secondary);font-size:.8rem;font-weight:400}.rr-round-chevron{color:var(--text-secondary);margin-left:.25rem;font-size:.65rem}.rr-round-collapsible .rr-round-matches{border:1px solid var(--border);border-top:none;border-bottom-right-radius:6px;border-bottom-left-radius:6px;flex-direction:column;gap:.75rem;margin-bottom:.5rem;padding:.75rem;display:flex}.rr-round-pending .rr-round-toggle-pending{opacity:.6;cursor:default;border-style:dashed}.rr-round-pending .rr-round-toggle-pending:hover{background:var(--bg-secondary)}.rr-round-badge.pending{color:var(--text-secondary);background:#94a3b826}.rr-round-pending-actions{align-items:center;gap:.4rem;display:flex}.swiss-generate-banner{color:var(--text-secondary);background:#22c55e14;border:1px solid #22c55e4d;border-radius:6px;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding:.65rem 1rem;font-size:.875rem;display:flex}.swiss-delete-round-bar{color:var(--text-secondary);background:#ef44440f;border:1px solid #ef444440;border-radius:6px;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding:.65rem 1rem;font-size:.875rem;display:flex}.certify-banner{background:#8b5cf614;border:1px solid #8b5cf64d;border-radius:6px;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;padding:.75rem 1rem;display:flex}.certify-banner-text{color:var(--text-secondary);font-size:.875rem}.certify-banner-text strong{color:var(--text-primary)}.modal-content h3{color:var(--text-primary);margin:0 0 .25rem;font-size:1.25rem}.score-entry{justify-content:center;align-items:center;gap:1.5rem;margin-bottom:2rem;display:flex}.score-team{text-align:center}.score-team-name{color:var(--text-primary);margin-bottom:.75rem;font-size:.95rem;font-weight:600;display:block}.score-controls{align-items:center;gap:.5rem;display:flex}.score-controls button{border:1px solid var(--border);background:var(--surface-elevated);width:2.25rem;height:2.25rem;color:var(--text-primary);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;font-size:1.25rem;transition:background .15s;display:flex}.score-controls button:hover{background:var(--border)}.score-value{text-align:center;min-width:2.5rem;color:var(--text-primary);font-size:2rem;font-weight:700}.score-vs{color:var(--text-secondary);text-transform:uppercase;font-size:.85rem;font-weight:600}.modal-actions{justify-content:flex-end;gap:.75rem;display:flex}.modal-actions .button-primary,.modal-actions .button-secondary{cursor:pointer;border:none;border-radius:4px;padding:.6rem 1.25rem;font-size:.9rem;font-weight:600}.modal-actions .button-primary{background:var(--accent-blue,#3b82f6);color:#fff}.modal-actions .button-primary:hover{background:var(--accent-blue-hover,#2563eb)}.modal-actions .button-primary:disabled{opacity:.5;cursor:not-allowed}.modal-actions .button-secondary{background:var(--surface-elevated);color:var(--text-primary);border:1px solid var(--border)}.modal-actions .button-secondary:hover{background:var(--border)}.game-scores-entry{border:1px solid var(--border);border-radius:6px;margin-bottom:1.25rem;overflow:hidden}.game-scores-header,.game-score-row{grid-template-columns:minmax(5rem,10rem) 1fr 1fr auto;align-items:center;gap:.5rem;padding:.5rem .75rem;display:grid}.game-scores-header{background:var(--surface-elevated);border-bottom:1px solid var(--border);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;font-weight:600}.gs-team-col{text-align:center;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gs-team-red{color:#ef4444e6;font-weight:700}.gs-team-blue{color:#3b82f6e6;font-weight:700}.game-score-row-group{border-bottom:1px solid var(--border)}.game-score-row-group:last-child{border-bottom:none}.gs-game-label{color:var(--text-secondary);flex-direction:column;gap:.15rem;font-size:.8rem;font-weight:500;display:flex}.gs-map-mode{opacity:.75;white-space:nowrap;text-overflow:ellipsis;font-size:.7rem;font-weight:400;overflow:hidden}.gs-score-input{text-align:center;border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text-primary);border-radius:4px;padding:.35rem .5rem;font-size:1rem;font-weight:600}.gs-score-input:focus{border-color:var(--accent-blue,#3b82f6);outline:none}.series-result-summary{color:var(--text-secondary);text-align:center;margin:0 0 1.25rem;font-size:.9rem}.series-result-summary strong{color:var(--text-primary)}.result-valid{color:var(--accent-green,#22c55e);margin-left:.25rem}.gs-reported{opacity:.65}.gs-reported .gs-score-input{background:var(--surface-elevated);cursor:default}.gs-reported-badge{color:var(--accent-green,#22c55e);margin-left:.35rem;font-size:.65rem;font-weight:700}.gs-report-game-btn{border:1px solid var(--accent-blue,#3b82f6);color:var(--accent-blue,#3b82f6);cursor:pointer;white-space:nowrap;background:0 0;border-radius:4px;padding:.25rem .6rem;font-size:.7rem;font-weight:600;transition:background .15s,color .15s}.gs-report-game-btn:hover:not(:disabled){background:var(--accent-blue,#3b82f6);color:#fff}.gs-report-game-btn:disabled{opacity:.5;cursor:default}.gs-reporting-hint{color:var(--text-secondary);text-align:center;opacity:.85;margin:0 0 .75rem;font-size:.78rem}.pools-section{margin-bottom:2.5rem}.pool-archive{border:1px solid var(--border-color);border-radius:6px;margin-bottom:1.5rem;overflow:hidden}.pool-archive.expanded{border-bottom-right-radius:6px;border-bottom-left-radius:6px}.pool-archive-toggle{background:var(--bg-secondary);width:100%;color:var(--text-primary);cursor:pointer;text-align:left;border:none;align-items:center;gap:.5rem;padding:.6rem .9rem;font-size:.95rem;font-weight:600;transition:background .15s;display:flex}.pool-archive-toggle:hover{background:var(--bg-elevated)}.pool-archive-toggle-label{flex:1;align-items:center;gap:.5rem;display:flex}.pool-archive-toggle-meta{color:var(--text-secondary);font-size:.8rem;font-weight:400}.pool-archive-content{border-top:1px solid var(--border-color);padding:1.25rem}.pool-archive-content .pools-section:last-child{margin-bottom:0}.pools-section h3{color:var(--text-primary);border-bottom:1px solid var(--border);margin:0 0 1rem;padding-bottom:.5rem;font-size:1.25rem}.pools-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem;display:grid}.pool-card{border:1px solid var(--border);background:var(--surface);border-radius:6px;padding:1rem}.pool-card h4{color:var(--text-primary);justify-content:space-between;align-items:center;margin:0 0 .75rem;font-size:1rem;display:flex}.pool-status{text-transform:uppercase;border-radius:4px;padding:.2rem .6rem;font-size:.7rem;font-weight:600}.pool-status-pending{background:var(--surface-elevated);color:var(--text-secondary)}.pool-status-in_progress{background:var(--accent-blue-transparent,#3b82f61a);color:var(--accent-blue,#3b82f6)}.pool-status-completed{color:var(--accent-purple,#8b5cf6);background:#8b5cf626}.pool-card table{border-collapse:collapse;width:100%}.pool-card th,.pool-card td{text-align:center;padding:.35rem .5rem;font-size:.85rem}.pool-card th{color:var(--text-secondary);text-transform:uppercase;border-bottom:1px solid var(--border);font-size:.75rem}.pool-card td:nth-child(2){text-align:left}.pool-card tr.advancing{background:var(--accent-green-transparent,#22c55e0d)}.pool-card .positive{color:var(--accent-green,#22c55e)}.pool-card .negative{color:var(--accent-red,#ef4444)}.pool-matches-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.25rem;display:grid}.pool-match-card{border:1px solid var(--border);background:var(--surface);border-radius:6px;padding:1rem}.pool-match-header{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.pool-match-header h4{color:var(--text-primary);margin:0;font-size:1rem}.no-bracket{text-align:center;color:var(--text-secondary);padding:3rem 2rem;font-size:1rem}.bestof-badge{background:var(--vergil-accent);color:#fff;z-index:1;border-radius:4px;padding:1px 5px;font-size:.625rem;font-weight:700;position:absolute;top:-8px;right:-8px}.match-card{position:relative}.lineup-indicator{text-align:center;color:var(--text-secondary);padding:1px 0;font-size:.6875rem;display:block}.match-actions{justify-content:center;gap:4px;padding:2px 0;display:flex}.config-btn{border:1px solid var(--border-color);cursor:pointer;color:var(--text-secondary);background:0 0;border-radius:4px;padding:1px 6px;font-size:.75rem}.config-btn:hover{background:var(--bg-elevated);color:var(--text-primary)}.series-config-modal{width:95vw;max-width:600px;max-height:80vh;overflow-y:auto}.config-field{margin-bottom:1.25rem}.config-field>label{color:var(--text-primary);margin-bottom:.5rem;font-size:.875rem;font-weight:600;display:block}.bestof-selector{gap:.5rem;display:flex}.bestof-opt{border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);cursor:pointer;border-radius:4px;padding:.375rem .75rem;font-size:.8125rem;font-weight:600}.bestof-opt.active{background:var(--vergil-accent);color:#fff;border-color:var(--vergil-accent)}.lineup-editor{flex-direction:column;gap:.5rem;display:flex}.lineup-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.game-num{color:var(--vergil-accent);min-width:24px;font-size:.8125rem;font-weight:700}.lineup-thumb{object-fit:cover;border-radius:3px;flex-shrink:0;width:32px;height:32px}.gs-map-mode .lineup-thumb{vertical-align:middle;border-radius:2px;width:16px;height:16px;margin-right:2px}.lineup-row select,.lineup-row input[type=text]{border:1px solid var(--border-color);background:var(--bg-primary);min-width:120px;color:var(--text-primary);border-radius:4px;flex:1;padding:.375rem .5rem;font-size:.8125rem}.bulk-hint{color:var(--text-secondary);margin:-.5rem 0 1rem;font-size:.8125rem}.halo-query-cell{justify-content:flex-end;align-items:center;min-width:6rem;display:flex}.halo-query-btn{border:1px solid var(--border);background:var(--surface-elevated);color:var(--text-secondary);cursor:pointer;white-space:nowrap;border-radius:4px;padding:.25rem .6rem;font-size:.75rem;font-weight:600;transition:border-color .15s,color .15s}.halo-query-btn:hover{border-color:var(--vergil-accent,#a78bfa);color:var(--text-primary)}.halo-match-badge{color:var(--accent-green,#22c55e);white-space:nowrap;font-size:.75rem;font-weight:700}.halo-synced-badge{color:var(--text-secondary);white-space:nowrap;font-size:.75rem}.halo-loading{color:var(--text-secondary);white-space:nowrap;font-size:.75rem;font-style:italic}.halo-candidates{background:var(--surface-elevated);border-top:1px solid var(--border);padding:.5rem .75rem .75rem}.halo-candidates-hint{color:var(--text-secondary);margin:0 0 .4rem;font-size:.75rem}.halo-candidate-row{border-bottom:1px solid var(--border);align-items:center;gap:.5rem;padding:.35rem 0;font-size:.8rem;display:flex}.halo-candidate-row:last-child{border-bottom:none}.hc-map{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;flex:1;font-weight:600;overflow:hidden}.hc-mode{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.hc-score{color:var(--text-primary);white-space:nowrap;text-align:center;min-width:3rem;font-weight:700}.hc-players{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;flex:2;font-size:.75rem;overflow:hidden}.hc-conf{color:var(--text-secondary);text-align:right;min-width:2.5rem;font-size:.75rem}.hc-select-btn{border:1px solid var(--border);color:var(--vergil-accent,#a78bfa);cursor:pointer;white-space:nowrap;background:0 0;border-radius:4px;padding:.2rem .5rem;font-size:.75rem;font-weight:600;transition:background .15s}.hc-select-btn:hover{background:color-mix(in srgb, var(--vergil-accent,#a78bfa) 15%, transparent)}.halo-no-candidates,.halo-error{color:var(--text-secondary);background:var(--surface-elevated);border-top:1px solid var(--border);padding:.35rem .75rem;font-size:.75rem}.halo-error{color:var(--accent-red,#ef4444)}.halo-link-match{border-top:1px solid var(--border);padding:.35rem .75rem .5rem}.halo-link-row{align-items:center;gap:.4rem;display:flex}.halo-link-input{border:1px solid var(--border);background:var(--surface-elevated);color:var(--text-primary);border-radius:4px;outline:none;flex:1;padding:.25rem .5rem;font-family:monospace;font-size:.75rem}.halo-link-input:focus{border-color:var(--vergil-accent,#a78bfa)}.halo-link-input::placeholder{color:var(--text-secondary);font-family:inherit}.halo-link-btn{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border-radius:4px;padding:.25rem .6rem;font-size:.75rem;transition:border-color .15s,color .15s}.halo-link-btn:hover:not(:disabled){border-color:var(--vergil-accent,#a78bfa);color:var(--text-primary)}.halo-link-btn:disabled{opacity:.5;cursor:not-allowed}.heat-bracket{flex-direction:column;gap:.5rem;padding:1rem 0;display:flex}.heat-round{border:1px solid var(--border-color);border-radius:6px;overflow:hidden}.heat-round-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.heat-round-grid-collapsible{border-top:1px solid var(--border-color);padding:1rem}.heat-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;overflow:hidden}.heat-card.heat-status-completed{border-color:var(--accent-green,#22c55e)}.heat-card-header{background:var(--surface-elevated);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.5rem .75rem;display:flex}.heat-label{font-size:.9rem;font-weight:600}.heat-participants,.heat-results{padding:.5rem 0}.heat-participant-row,.heat-result-row{align-items:center;gap:.5rem;padding:.35rem .75rem;font-size:.85rem;display:flex}.heat-result-row.advancing{background:#22c55e14}.heat-result-row.eliminated{opacity:.55}.heat-result-row .placement{min-width:2rem;color:var(--text-secondary);font-weight:700}.heat-result-row .team-name,.heat-participant-row .team-name{flex:1}.heat-result-row .seed,.heat-participant-row .seed{color:var(--text-secondary);font-size:.75rem}.heat-result-row .score{color:var(--text-secondary);font-weight:600}.advance-badge{background:var(--accent-green,#22c55e);color:#fff;letter-spacing:.04em;border-radius:3px;padding:.1rem .35rem;font-size:.65rem;font-weight:700}.advancement-cutoff{background:var(--accent-red,#ef4444);opacity:.5;height:2px;margin:.25rem .75rem}.heat-empty{text-align:center;color:var(--text-secondary);padding:1rem .75rem;font-size:.85rem;font-style:italic}.heat-report-btn{width:calc(100% - 1.5rem);margin:.5rem .75rem .75rem;padding:.4rem;font-size:.85rem;display:block}.heat-reopen-btn{border:1px dashed var(--border-color);width:calc(100% - 1.5rem);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:4px;margin:.5rem .75rem .75rem;padding:.3rem;font-size:.75rem;font-weight:600;transition:color .15s,border-color .15s;display:block}.heat-reopen-btn:hover{color:var(--accent-yellow,#f59e0b);border-color:var(--accent-yellow,#f59e0b)}.heat-result-modal{max-width:480px}.heat-result-modal .modal-description{color:var(--text-secondary);margin:0 0 1rem;font-size:.85rem}.heat-placement-list{flex-direction:column;gap:0;display:flex}.heat-placement-row{border-bottom:1px solid var(--border);align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.9rem;display:flex}.heat-placement-row.advancing{background:#22c55e14}.heat-placement-row.eliminated{opacity:.6}.heat-placement-row .placement-input{text-align:center;border:1px solid var(--border);background:var(--surface);width:3rem;color:var(--text);border-radius:4px;padding:.25rem;font-weight:600}.heat-placement-row .team-name{flex:1;font-weight:500}.heat-placement-row .score-input{text-align:center;border:1px solid var(--border);background:var(--surface);width:4.5rem;color:var(--text);border-radius:4px;padding:.25rem}.advancement-cutoff-modal{color:var(--accent-red,#ef4444);align-items:center;gap:.5rem;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:flex}.advancement-cutoff-modal:before,.advancement-cutoff-modal:after{content:"";background:var(--accent-red,#ef4444);opacity:.5;flex:1;height:1px}.modal-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:.5rem;margin-top:1rem;padding-top:1rem;display:flex}.stream-panel{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:8px;margin-bottom:1.5rem;padding:1rem}.stream-panel-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.stream-panel-header h3{margin:0;font-size:.9375rem}.stream-channels{color:var(--text-secondary);font-size:.75rem}.stream-panel-body label{color:var(--text-secondary);margin-bottom:.25rem;font-size:.8125rem;font-weight:600;display:block}.stream-panel-body input[type=text]{border:1px solid var(--border-color);background:var(--bg-primary);width:100%;color:var(--text-primary);border-radius:4px;padding:.5rem;font-family:monospace;font-size:.8125rem}.stream-template-help{color:var(--text-secondary);margin-top:.375rem;font-size:.6875rem;line-height:1.6}.stream-template-help code{background:var(--bg-primary);border-radius:2px;padding:1px 4px;font-size:.625rem}.stream-panel-actions{gap:.5rem;margin-top:.75rem;display:flex}.match-card.match-featured{border:2px solid var(--accent-red,#ef4444);box-shadow:0 0 8px #ef44444d}.featured-badge{background:var(--accent-red,#ef4444);color:#fff;z-index:2;white-space:nowrap;letter-spacing:.5px;text-transform:uppercase;border-radius:4px;padding:1px 6px;font-size:.625rem;font-weight:700;position:absolute;top:-10px;left:50%;transform:translate(-50%)}.featured-btn{border:1px solid var(--border-color);cursor:pointer;color:var(--text-secondary);background:0 0;border-radius:4px;padding:1px 6px;font-size:.75rem}.featured-btn:hover{background:var(--accent-red,#ef4444);color:#fff;border-color:var(--accent-red,#ef4444)}.featured-btn:disabled{opacity:.5;cursor:not-allowed}.button-secondary.active{background:var(--vergil-accent);color:#fff;border-color:var(--vergil-accent)}.stream-panel-warning{border-color:var(--accent-yellow,#eab308)}.stream-channel-tag{color:var(--accent-green,#22c55e);background:#22c55e26;border-radius:3px;margin-left:4px;padding:1px 6px;font-size:.6875rem;font-weight:600;display:inline-block}.stream-channel-tag.stream-channel-revoked{color:var(--accent-red,#ef4444);background:#ef444426}.stream-auth-warning{background:#eab30814;border:1px solid #eab3084d;border-radius:6px;align-items:center;gap:1rem;margin-bottom:.75rem;padding:.75rem;display:flex}.stream-auth-warning-text{flex:1}.stream-auth-warning-text strong{color:var(--accent-yellow,#eab308);margin-bottom:.25rem;font-size:.8125rem;display:block}.stream-auth-warning-text p{color:var(--text-secondary);margin:0;font-size:.75rem;line-height:1.4}.stream-reauth-btn{white-space:nowrap;flex-shrink:0;padding:.375rem .75rem;font-size:.75rem;text-decoration:none}.stream-btn-warn{position:relative}.stream-warn-dot{color:var(--accent-yellow,#eab308);margin-left:4px;font-size:.75rem}.swiss-upcoming-rounds{background:var(--bg-secondary);border:1px solid var(--border-color,#333);border-radius:8px;margin-top:1.5rem;padding:1rem 1.25rem}.swiss-upcoming-rounds h3{color:var(--text-primary);margin:0 0 .75rem;font-size:1rem}.swiss-generate-next{background:var(--surface-1,#161622);border:1px solid var(--accent-green,#22c55e);border-radius:6px;align-items:center;gap:1rem;margin-bottom:1rem;padding:.75rem 1rem;display:flex}.swiss-generate-next p{color:var(--text-secondary);flex:1;margin:0;font-size:.875rem}.swiss-round-configs-hint{color:var(--text-secondary);margin:0 0 .75rem;font-size:.8125rem}.swiss-round-config-cards{flex-wrap:wrap;gap:.625rem;display:flex}.swiss-round-config-card{background:var(--surface-1,#161622);border:1px solid var(--border-color,#333);border-radius:6px;align-items:center;gap:.75rem;min-width:180px;padding:.5rem .875rem;display:flex}.swiss-round-config-card.configured{border-color:var(--accent-blue,#3b82f6)}.swiss-round-config-card-header{flex-direction:column;flex:1;gap:.2rem;display:flex}.swiss-round-label{color:var(--text-primary);font-size:.875rem;font-weight:600}.swiss-round-config-badge{color:var(--accent-blue,#3b82f6);font-size:.75rem;font-weight:500}.swiss-round-config-badge.unconfigured{color:var(--text-muted,#666)}.button-sm{padding:.25rem .625rem;font-size:.75rem}.modal-subtitle{color:var(--text-secondary);margin:-.5rem 0 1rem;font-size:.8125rem}@media (width<=768px){.tournament-create-form-container,.tournament-edit-container,.team-registration-container,.team-management-page,.tournament-admin-panel{padding:1rem}.form-row{grid-template-columns:1fr}.form-actions,.page-actions,.action-group{flex-direction:column}.teams-grid{grid-template-columns:1fr}}.tournament-reg-banner{border-radius:8px;max-height:220px;margin-bottom:1.5rem;overflow:hidden}.tournament-reg-banner img{object-fit:cover;width:100%;height:100%;display:block}.tournament-reg-title{color:var(--text-primary);margin:0 0 .5rem;font-size:1.75rem;font-weight:700}.team-registration-container .success-message{background:var(--accent-green-transparent,#22c55e1a);border:1px solid var(--accent-green,#22c55e);color:var(--text-primary);border-radius:4px;margin-bottom:1.5rem;padding:1.5rem}.team-registration-container .player-card,.team-registration-container .coach-card{background:var(--surface-elevated);border:1px solid var(--border);border-radius:6px;margin-bottom:1rem;padding:1.25rem}.team-registration-container .player-card-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.express-success-icon{background:var(--accent-green,#22c55e);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:3rem;height:3rem;margin-bottom:1rem;font-size:1.5rem;font-weight:700;display:inline-flex}.express-confirmation-copy{color:var(--text-secondary);margin:0}.express-confirmation-card{gap:1rem;display:grid}.express-confirmation-row{border:1px solid var(--border);background:var(--surface-elevated);border-radius:8px;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:flex}.express-confirmation-stack{flex-direction:column;align-items:flex-start}.express-confirmation-label{letter-spacing:.02em;text-transform:uppercase;color:var(--text-secondary);font-size:.85rem;font-weight:600}.express-player-list{margin:0;padding-left:1.25rem}.express-player-list li+li{margin-top:.35rem}.express-refresh-badge{margin-bottom:1rem}@media (width<=640px){.express-confirmation-row{flex-direction:column;align-items:flex-start}}@media (width<=768px){.tournament-create-form-container,.tournament-edit-container,.team-registration-container,.team-management-page,.tournament-admin-panel{padding:1rem}.form-row{grid-template-columns:1fr}.form-actions,.page-actions,.action-group{flex-direction:column}.teams-grid{grid-template-columns:1fr}}.team-registration-success{background:var(--bg-primary);max-width:900px;margin:0 auto;padding:2rem}.team-registration-success .success-checkmark{background:var(--accent-green);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:3rem;height:3rem;margin-bottom:1rem;font-size:1.5rem;font-weight:700;display:inline-flex}.team-registration-success .url-copy-row{align-items:stretch;gap:.75rem;display:flex}.team-registration-success .url-copy-row input{background:var(--input-bg,var(--surface-elevated));border:1.5px solid var(--input-border,var(--border-light));color:var(--text-primary);border-radius:4px;flex:1;min-width:0;padding:.75rem;font-family:monospace;font-size:.9rem}.team-registration-success .copy-button{white-space:nowrap;flex-shrink:0}.team-registration-success .copy-button.copied{background:var(--accent-green-transparent,#22c55e1a);border-color:var(--accent-green,#22c55e);color:var(--accent-green,#22c55e)}.team-registration-success .url-warning{margin-top:1rem;display:block}.team-registration-success .tips-list{color:var(--text-primary);margin:0;padding-left:1.5rem;line-height:2}@media (width<=768px){.team-registration-success{padding:1rem}.team-registration-success .url-copy-row,.team-registration-success .form-actions{flex-direction:column}}.tournament-create-form-container,.tournament-edit-container,.team-registration-container,.team-management-page,.tournament-admin-panel{background:var(--bg-primary);max-width:900px;margin:0 auto;padding:2rem}.form-header,.page-header,.panel-header{border-bottom:2px solid var(--border);margin-bottom:2rem;padding-bottom:1.5rem}.form-header h1,.page-header h1,.panel-header h1{color:var(--text-primary);margin:0 0 .5rem;font-size:2rem}.form-header p,.page-header p{color:var(--text-secondary);margin:.25rem 0}.info-badge,.warning-badge{background:var(--accent-blue-transparent);border:1px solid var(--accent-blue);color:var(--text-primary);border-radius:4px;margin-top:1rem;padding:.5rem 1rem;font-size:.875rem;display:inline-block}.warning-badge{background:var(--accent-yellow-transparent);border-color:var(--accent-yellow)}.error-banner{background:var(--accent-red-transparent);border:1px solid var(--accent-red);color:var(--text-primary);border-radius:4px;margin-bottom:1.5rem;padding:1rem}.form-section{border-bottom:1px solid var(--border);margin-bottom:2.5rem;padding-bottom:2rem}.form-section:last-of-type{border-bottom:none}.form-section h2{color:var(--text-primary);margin:0 0 1.5rem;font-size:1.25rem}.section-description{color:var(--text-secondary);margin:-.5rem 0 1rem;font-size:.9375rem}.form-group{margin-bottom:1.5rem}.form-group label{color:var(--text-primary);margin-bottom:.5rem;font-size:.9375rem;font-weight:500;display:block}.form-group input[type=text],.form-group input[type=email],.form-group input[type=url],.form-group input[type=number],.form-group input[type=datetime-local],.form-group select,.form-group textarea{background:var(--input-bg,var(--surface-elevated));border:1.5px solid var(--input-border,var(--border-light));width:100%;color:var(--text-primary);border-radius:4px;padding:.75rem;font-family:inherit;font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--input-focus-border,var(--vergil-accent));outline:none;box-shadow:0 0 0 2px #8ba55d33}.form-group small{color:var(--text-secondary);margin-top:.25rem;font-size:.8125rem;display:block}.warning-text{color:var(--accent-yellow)}.form-row{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;display:grid}.checkbox-group{margin-bottom:1rem}.checkbox-group label{cursor:pointer;align-items:center;gap:.75rem;display:flex}.checkbox-group input[type=checkbox]{cursor:pointer;width:1.25rem;height:1.25rem}.checkbox-group span{font-weight:400}.image-field-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.image-field-header>label,.image-field-header>span{color:var(--text-primary);margin-bottom:0;font-size:.9375rem;font-weight:500;display:block}.remove-image-inline,.remove-logo-inline{background:var(--accent-red);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:.25rem .625rem;font-size:.8125rem;font-weight:500;line-height:1.4;transition:opacity .15s}.remove-image-inline:hover,.remove-logo-inline:hover{opacity:.85}.remove-image-inline:disabled,.remove-logo-inline:disabled{opacity:.5;cursor:not-allowed}.image-upload-area,.logo-upload-area{background:var(--surface-elevated);border:2px dashed var(--border);border-radius:4px;padding:1rem;transition:border-color .2s,background-color .2s}.image-upload-area.drag-active,.logo-upload-area.drag-active{border-color:var(--vergil-accent,var(--primary));background:color-mix(in srgb, var(--surface-elevated) 88%, var(--vergil-accent,var(--primary)) 12%)}.image-preview,.logo-preview{text-align:center}.image-preview img{border-radius:4px;max-width:100%;height:auto;max-height:300px;margin-bottom:0}.logo-preview img{border-radius:4px;max-width:200px;height:auto;margin-bottom:0}.upload-placeholder{text-align:center;padding:2rem 1rem}.upload-placeholder p{color:var(--text-secondary);margin:.75rem 0 0}.upload-button,.remove-image,.remove-logo{background:var(--primary);color:var(--text-primary);cursor:pointer;border:none;border-radius:4px;padding:.75rem 1.5rem;font-weight:500;transition:background .2s}.upload-button:hover{background:var(--primary-dark)}.remove-image,.remove-logo{background:var(--accent-red)}.player-card,.coach-card,.team-card{background:var(--surface-elevated);border:1px solid var(--border);border-radius:4px;margin-bottom:1rem;padding:1.5rem}.player-header,.coach-header,.team-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.player-header h3,.coach-header h3{color:var(--text-primary);margin:0;font-size:1rem}.captain-badge,.required-badge,.seed-badge,.team-tag{background:var(--accent-blue);color:#fff;text-transform:uppercase;border-radius:3px;margin-left:.5rem;padding:.25rem .5rem;font-size:.75rem;font-weight:600}.required-badge{background:var(--accent-yellow);color:var(--background)}.seed-badge{background:var(--accent-purple)}.button-primary,.button-secondary,.button-danger,.add-button,.remove-button,.set-captain-button{cursor:pointer;border:none;border-radius:4px;padding:.75rem 1.5rem;font-weight:600;transition:background .2s}.button-primary{background:var(--primary);color:var(--text-primary)}.button-primary:hover:not(:disabled){background:var(--primary-dark)}.button-primary:disabled{opacity:.5;cursor:not-allowed}.button-secondary{background:var(--surface-elevated);color:var(--text-primary);border:1px solid var(--border)}.button-secondary:hover:not(:disabled){background:var(--surface)}.button-danger{background:var(--accent-red);color:#fff}.button-danger:hover:not(:disabled){opacity:.9}.add-button{border:2px dashed var(--border);width:100%;color:var(--text-secondary);background:0 0;padding:1rem;font-weight:500}.add-button:hover{border-color:var(--primary);color:var(--primary)}.remove-button{border:1px solid var(--accent-red);color:var(--accent-red);background:0 0;padding:.5rem 1rem;font-size:.875rem}.remove-button:hover{background:var(--accent-red);color:#fff}.set-captain-button{background:var(--accent-blue);color:#fff;padding:.5rem 1rem;font-size:.875rem}.form-actions,.page-actions{border-top:2px solid var(--border);justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:2rem;display:flex}.action-group{gap:1rem;display:flex}.stats-overview{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.stat-card{background:var(--surface-elevated);border:1px solid var(--border);text-align:center;border-radius:4px;padding:1.5rem}.stat-card h3{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .5rem;font-size:.875rem;font-weight:600}.stat-value{color:var(--text-primary);margin:0;font-size:2rem;font-weight:700}.status-draft{color:var(--accent-yellow)}.status-open{color:var(--accent-green)}.status-in_progress{color:var(--accent-blue)}.status-completed{color:var(--text-secondary)}.bracket-section,.teams-section{margin-bottom:2rem}.section-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.bracket-actions{flex-wrap:wrap;gap:1rem;display:flex}.teams-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;display:grid}.team-logo{object-fit:contain;border-radius:4px;width:50px;height:50px;margin-right:1rem}.team-info h3{margin:0;font-size:1.125rem}.team-details{margin:1rem 0}.detail-group{border-bottom:1px solid var(--border);justify-content:space-between;padding:.5rem 0;display:flex}.detail-group:last-child{border-bottom:none}.team-actions{gap:.5rem;margin-top:1rem;display:flex}.button-secondary-sm,.button-danger-sm{padding:.5rem 1rem;font-size:.875rem}.button-secondary-sm{background:var(--surface);border:1px solid var(--border);color:var(--text-primary)}.button-danger-sm{border:1px solid var(--accent-red);color:var(--accent-red);background:0 0}.button-danger-sm:hover:not(:disabled){background:var(--accent-red);color:#fff}.button-danger-sm:disabled{opacity:.5;cursor:not-allowed}.empty-state{text-align:center;color:var(--text-secondary);padding:3rem 2rem}.modal-overlay{z-index:1000;background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--surface);border:1px solid var(--border);border-radius:8px;width:90%;max-width:500px;padding:2rem}.modal-content h2{margin:0 0 1rem}.modal-content ul{margin:1rem 0;padding-left:1.5rem}@media (width<=768px){.tournament-create-form-container,.tournament-edit-container,.team-registration-container,.team-management-page,.tournament-admin-panel{padding:1rem}.form-row{grid-template-columns:1fr}.form-actions,.page-actions,.action-group{flex-direction:column}.teams-grid{grid-template-columns:1fr}}.config-summary{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-secondary);border-radius:6px;margin-top:1rem;padding:.75rem 1rem;font-size:.9375rem;line-height:1.5}.config-warning{color:var(--color-warning,#e6a700);margin-top:.5rem;font-weight:500}.derived-value{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary);border-radius:6px;padding:.5rem .75rem;font-size:1.125rem;font-weight:600}.derived-label{color:var(--text-secondary)}.team-management-page .team-management-title{margin:.5rem 0}.team-management-page .team-management-title-logo{display:flex}.team-management-page .team-management-title-text{font-size:1.75rem;font-weight:700}.team-management-page .management-url-notice{background:var(--accent-blue-transparent,#3b82f61a);border:1px solid var(--accent-blue,#3b82f6);border-radius:4px;margin-bottom:1.5rem;padding:1rem;font-size:.9rem}.team-management-page .management-url-notice code{background:var(--surface-elevated);word-break:break-all;border-radius:4px;margin-top:.5rem;padding:.5rem;font-size:.85rem;display:block}.team-management-page .danger-zone{border:1px solid var(--accent-red,#ef4444);border-radius:6px;margin-top:2rem;padding:1.5rem}.team-management-page .danger-zone h3{color:var(--accent-red,#ef4444);margin:0 0 1rem}.team-management-page .team-logo-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.team-page{max-width:900px;margin:0 auto;padding:2rem}.team-page.loading,.team-page.error{text-align:center;color:var(--text-secondary);padding:4rem 2rem}.team-page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:2rem;display:flex}.team-identity{align-items:center;gap:1rem;display:flex}.team-logo-large{object-fit:contain;border:1px solid var(--border-color);border-radius:8px;width:80px;height:80px}.team-identity h1{color:var(--text-primary);margin:0;font-size:1.75rem}.team-tag-display{color:var(--vergil-accent);margin-right:.375rem;font-weight:700}.team-tagline{color:var(--text-secondary);margin:.25rem 0 0;font-style:italic}.team-owner-actions{gap:.5rem;display:flex}.ctrl-btn.danger{background:var(--accent-red)}.ctrl-btn.danger:hover{opacity:.9}.team-tournament-link{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:6px;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding:.75rem 1rem;display:flex}.team-tournament-link .label{color:var(--text-secondary);font-size:.875rem}.team-tournament-link button{color:var(--vergil-accent);cursor:pointer;background:0 0;border:none;font-size:.9375rem;font-weight:600;text-decoration:underline}.team-stats-bar{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:6px;flex-wrap:wrap;gap:1.5rem;margin-bottom:2rem;padding:1rem 1.5rem;display:flex}.stat{text-align:center}.stat-num{color:var(--text-primary);font-size:1.5rem;font-weight:700;display:block}.stat-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem}.team-section{margin-bottom:2rem}.team-section h2{color:var(--text-primary);border-bottom:1px solid var(--border-color);margin:0 0 1rem;padding-bottom:.5rem;font-size:1.125rem}.member-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem;display:grid}.member-card{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:6px;padding:.875rem 1rem}.member-card.captain-card{border-color:var(--vergil-accent);border-width:1.5px}.member-gt{color:var(--text-primary);font-size:.9375rem;font-weight:600;display:block}.member-name{color:var(--text-secondary);margin-top:.125rem;font-size:.8125rem;display:block}.member-meta{flex-wrap:wrap;align-items:center;gap:.375rem;margin-top:.5rem;display:flex}.role-pill{text-transform:uppercase;background:var(--bg-secondary);color:var(--text-secondary);border-radius:3px;margin-top:.375rem;padding:.125rem .5rem;font-size:.6875rem;font-weight:600;display:inline-block}.captain-pill{background:var(--vergil-primary);color:var(--text-primary)}.starter-pill{color:var(--accent-blue);background:#3b82f626}.stream-link-small{font-size:.875rem;text-decoration:none}.team-socials{gap:1rem;display:flex}.team-socials a{background:var(--bg-elevated);border:1px solid var(--border-color);color:var(--vergil-accent);border-radius:4px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:border-color .2s}.team-socials a:hover{border-color:var(--vergil-accent)}.team-owner-line{border-top:1px solid var(--border-color);color:var(--text-secondary);margin-top:2rem;padding-top:1rem;font-size:.875rem}@media (width<=768px){.team-page{padding:1rem}.team-page-header{flex-direction:column}.member-grid{grid-template-columns:1fr}}.sa-page{background:var(--bg-primary);width:100%;min-height:100vh;padding:2rem}.sa-container{max-width:960px;margin:0 auto}.sa-header{align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.sa-header h1{color:var(--text-primary);margin:0;font-size:1.75rem}.sa-role-badge{text-transform:uppercase;letter-spacing:.05em;color:var(--vergil-accent);border:1px solid var(--vergil-accent);background:#8ba55d26;border-radius:999px;margin:0;padding:.2rem .625rem;font-size:.75rem;font-weight:700;display:inline-block}.sa-stats-bar{flex-wrap:wrap;gap:1rem;margin-bottom:2rem;display:flex}.sa-stat{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:8px;flex-direction:column;align-items:center;min-width:100px;padding:.75rem 1.25rem;display:flex}.sa-stat-value{color:var(--text-primary);font-size:1.5rem;font-weight:700;line-height:1}.sa-stat-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;text-align:center;margin-top:.25rem;font-size:.75rem}.sa-stat-alert{border-color:var(--vergil-accent)}.sa-stat-alert .sa-stat-value{color:var(--vergil-accent)}.sa-modules{flex-direction:column;gap:.75rem;display:flex}.sa-module-card{background:var(--bg-elevated);border:1px solid var(--border-color);cursor:pointer;text-align:left;border-radius:8px;align-items:center;gap:1rem;width:100%;padding:1.25rem 1.5rem;font-family:inherit;transition:border-color .15s,background .15s;display:flex}.sa-module-card:hover{border-color:var(--vergil-accent);background:var(--bg-hover,var(--bg-elevated))}.sa-module-icon{width:40px;height:40px;color:var(--vergil-accent);background:#8ba55d1a;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.sa-module-icon svg{width:22px;height:22px}.sa-module-info{flex:1;min-width:0}.sa-module-info h3{color:var(--text-primary);margin:0;font-size:1rem;font-weight:600}.sa-module-info p{color:var(--text-secondary);margin:.25rem 0 0;font-size:.8125rem;line-height:1.4}.sa-module-arrow{width:20px;height:20px;color:var(--text-tertiary,var(--text-secondary));opacity:.5;flex-shrink:0;transition:opacity .15s,color .15s}.sa-module-arrow svg{width:20px;height:20px}.sa-module-card:hover .sa-module-arrow{opacity:1;color:var(--vergil-accent)}@media (width<=768px){.sa-page{padding:1.25rem}.sa-header{flex-direction:column;align-items:flex-start;gap:.5rem}.sa-stats-bar{gap:.5rem}.sa-stat{flex:1;min-width:80px;padding:.5rem .75rem}.sa-stat-value{font-size:1.25rem}.sa-module-card{padding:1rem}.sa-module-icon{width:36px;height:36px}.sa-module-icon svg{width:18px;height:18px}}.sag-header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.sag-section h2{margin:0 0 1.25rem;font-size:1.25rem}.sag-subheading{color:var(--text-primary);margin:0 0 1rem;font-size:1rem}.sag-hint{color:var(--text-secondary);margin:0 0 .75rem;font-size:.875rem}.sag-input{background:var(--input-bg,var(--surface-elevated));border:1.5px solid var(--input-border,var(--border-light));color:var(--text-primary);border-radius:4px;padding:.5rem .75rem;font-family:inherit;font-size:.9375rem;transition:border-color .15s}.sag-input:focus{border-color:var(--vergil-accent);outline:none}.sag-input-wide{width:100%}.sag-input-narrow{width:100px}.sag-textarea{background:var(--input-bg,var(--surface-elevated));border:1.5px solid var(--input-border,var(--border-light));min-height:120px;color:var(--text-primary);resize:vertical;border-radius:4px;padding:.65rem .75rem;font-family:inherit;font-size:.9375rem}.sag-textarea:focus{border-color:var(--vergil-accent);outline:none}.sag-field{flex-direction:column;gap:.35rem;display:flex}.sag-field span{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;font-size:.8125rem;font-weight:600}.sag-grid-two{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.sag-checkbox-row{color:var(--text-primary);align-items:center;gap:.5rem;margin:.25rem 0;display:inline-flex}.sag-action-row{align-items:center;gap:.5rem;display:flex}.sag-block-card{margin-bottom:1.25rem}.sag-profile-form{flex-direction:column;gap:.75rem;display:flex}.sag-slug-display{color:var(--vergil-accent);font-family:monospace;font-size:.875rem}.sag-slug-code{background:var(--bg-primary);color:var(--vergil-accent);border-radius:3px;padding:.125rem .4rem;font-size:.8125rem}.sag-date{color:var(--text-secondary);font-size:.8125rem}.sag-request-card{justify-content:space-between;align-items:center;gap:1rem;display:flex}.sag-request-info{flex-direction:column;gap:.25rem;display:flex}.sag-request-info strong{color:var(--text-primary);font-size:1rem}.sag-request-actions{flex-shrink:0;gap:.5rem;display:flex}.sag-add-form{flex-direction:column;gap:.5rem;margin-bottom:1.25rem;display:flex}.sag-add-row{flex-wrap:wrap;gap:.5rem;display:flex}.sag-add-row .sag-input{flex:1;min-width:150px}.sag-reserved-card{justify-content:space-between;align-items:center;gap:1rem;display:flex}.sag-reserved-info{flex-direction:column;gap:.25rem;display:flex}.sag-reserved-for{color:var(--text-secondary);font-size:.875rem}.sag-contact-note{color:var(--text-secondary);font-size:.8125rem;font-style:italic}.sag-guild-list{flex-direction:column;gap:.5rem;margin-top:.75rem;display:flex}.sag-guild-card{cursor:pointer;transition:border-color .15s}.sag-guild-card:hover{border-color:var(--vergil-accent)}.sag-guild-selected{border-color:var(--vergil-accent);background:var(--surface-elevated,var(--bg-elevated))}.sag-guild-summary{flex-direction:column;gap:.25rem;display:flex}.sag-guild-summary strong{color:var(--text-primary);font-size:1rem}.sag-guild-badges{align-items:center;gap:.375rem;display:flex}.sag-vis-badge{text-transform:uppercase;letter-spacing:.03em;border-radius:3px;padding:.1rem .4rem;font-size:.7rem;font-weight:600;display:inline-block}.sag-vis-public{color:#4ade80;background:#22c55e26}.sag-vis-unlisted{color:#fbbf24;background:#f59e0b26}.sag-vis-private{color:#f87171;background:#ef444426}.sag-verified-badge{text-transform:uppercase;letter-spacing:.03em;color:var(--vergil-accent);background:#8ba55d33;border-radius:3px;padding:.1rem .4rem;font-size:.7rem;font-weight:600;display:inline-block}.sag-system-badge{text-transform:uppercase;letter-spacing:.03em;color:#60a5fa;background:#3b82f624;border-radius:3px;padding:.1rem .4rem;font-size:.7rem;font-weight:600;display:inline-block}.sag-system-layout{grid-template-columns:minmax(280px,360px) minmax(0,1fr);align-items:start;gap:1rem;display:grid}.sag-system-list-panel{flex-direction:column;gap:.75rem;display:flex}.sag-guild-detail{background:var(--surface,var(--bg-elevated));border:1px solid var(--border);border-radius:8px;margin-top:1.25rem;padding:1.25rem}.sag-guild-detail h3{color:var(--text-primary);margin:0 0 1rem;font-size:1.1rem}.sag-detail-section{border-bottom:1px solid var(--border);margin-bottom:1.25rem;padding-bottom:1rem}.sag-detail-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.sag-detail-section h4{text-transform:uppercase;letter-spacing:.03em;color:var(--text-secondary);margin:0 0 .5rem;font-size:.875rem;font-weight:600}.sag-branding-preview{flex-direction:column;gap:.75rem;display:flex}.sag-branding-logo{object-fit:cover;border:1px solid var(--border);background:var(--bg-primary);border-radius:12px;width:72px;height:72px}.sag-branding-banner{object-fit:cover;border:1px solid var(--border);background:var(--bg-primary);border-radius:10px;width:100%;max-width:420px;height:88px}.sag-member-list{flex-direction:column;gap:.375rem;display:flex}.sag-member-row{background:var(--bg-primary);border-radius:4px;justify-content:space-between;align-items:center;padding:.375rem .5rem;display:flex}.sag-member-name{color:var(--text-primary);font-size:.9375rem}.sag-slug-list{flex-direction:column;gap:.375rem;display:flex}.sag-slug-entry{background:var(--bg-primary);border-radius:4px;justify-content:space-between;align-items:center;gap:.75rem;padding:.375rem .5rem;display:flex}.sag-reassign-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.sag-reassign-row select{flex:1;min-width:200px}.sag-quick-links{flex-wrap:wrap;gap:.5rem;display:flex;border-bottom:none!important}.sag-cap-row{align-items:center;gap:.5rem;display:flex}.sag-badge-count{background:var(--accent-red);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;margin-left:.5rem;padding:0 .375rem;font-size:.7rem;font-weight:700;display:inline-flex}@media (width<=768px){.sag-grid-two{grid-template-columns:1fr}.sag-request-card{flex-direction:column;align-items:flex-start}.sag-request-actions{width:100%}.sag-reserved-card{flex-direction:column;align-items:flex-start}.sag-add-row{flex-direction:column}.sag-add-row .sag-input{min-width:100%}.sag-reassign-row{flex-direction:column}.sag-reassign-row select{width:100%}.sag-system-layout{grid-template-columns:1fr}.sag-action-row{flex-direction:column;align-items:stretch}}.ap-avatar{object-fit:cover;background:var(--bg-secondary);border-radius:999px;width:2.25rem;height:2.25rem}.ap-avatar-fallback{background:var(--vergil-primary);color:#fff;justify-content:center;align-items:center;font-weight:700;display:flex}.ap-inline-controls{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.ap-system-summary{flex-direction:column;gap:.75rem;display:flex}.ap-tag-list{flex-wrap:wrap;gap:.5rem;display:flex}.ap-tag-pill{color:var(--text-primary);background:#8ba55d1f;border:1px solid #8ba55d4d;border-radius:999px;align-items:center;padding:.3rem .65rem;font-size:.8125rem;display:inline-flex}.ap-pagination{justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;display:flex}.ap-profile-link{white-space:nowrap;text-decoration:none}@media (width<=768px){.ap-pagination{flex-direction:column;align-items:flex-start}}.guild-dashboard{--mobile-subnav-offset-top:2rem;--mobile-subnav-offset-x:2rem;max-width:1100px;margin:0 auto;padding:2rem}.guild-dashboard-header{border-bottom:2px solid var(--border);margin-bottom:2rem;padding-bottom:1.5rem}.guild-dashboard-header h1{color:var(--text-primary);margin:0 0 .25rem;font-size:2rem}.guild-dashboard-header p{color:var(--text-secondary);margin:0}.guild-dashboard-layout{gap:2rem;display:flex}.guild-sidebar{flex-direction:column;flex-shrink:0;align-self:flex-start;gap:.25rem;width:180px;display:flex;position:sticky;top:5rem}.guild-nav-btn{width:100%;color:var(--text-secondary);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.625rem .875rem;font-size:.9375rem;font-weight:500;transition:background .15s,color .15s;display:block}.guild-nav-btn:hover{background:var(--surface-elevated);color:var(--text-primary)}.guild-nav-btn.active{background:var(--primary);color:var(--text-primary)}.guild-content{flex:1;min-width:0}.guild-toast{border-radius:4px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.9375rem}.guild-toast.error{background:var(--accent-red-transparent);border:1px solid var(--accent-red);color:var(--text-primary)}.guild-toast.success{border:1px solid var(--vergil-accent);color:var(--text-primary);background:#8ba55d26}.guild-loading{text-align:center;color:var(--text-secondary);padding:3rem}.guild-settings-section{border-bottom:1px solid var(--border);margin-bottom:2rem;padding-bottom:1.5rem}.guild-settings-section:last-child{border-bottom:none}.guild-settings-section h2{color:var(--text-primary);margin:0 0 1.25rem;font-size:1.25rem}.slug-warning{background:var(--accent-yellow-transparent);border:1px solid var(--accent-yellow);color:var(--text-primary);border-radius:4px;margin-top:.5rem;padding:.5rem .75rem;font-size:.8125rem}.color-input-group{align-items:center;gap:.75rem;display:flex}.color-input-group input[type=color]{border:1.5px solid var(--input-border,var(--border-light));background:var(--input-bg,var(--surface-elevated));cursor:pointer;border-radius:4px;width:3rem;height:2.5rem;padding:.125rem}.color-input-group input[type=text]{flex:1}.socials-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;display:grid}.guild-socials-hint{color:var(--text-secondary);margin:0 0 .75rem;font-size:.875rem}.guild-social-pills{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.guild-social-pill-btn{border:1.5px solid var(--border-color);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:999px;padding:.375rem .875rem;font-size:.8125rem;font-weight:500;transition:all .15s}.guild-social-pill-btn:hover{border-color:var(--vergil-accent);color:var(--text-primary)}.guild-social-pill-active{border-color:var(--vergil-accent);color:var(--vergil-accent);background:#8ba55d26;font-weight:600}.guild-socials-active{flex-direction:column;gap:.75rem;margin-bottom:.75rem;display:flex}.guild-directory-badges{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.guild-directory-badge{color:var(--text-primary);background:#8ba55d26;border:1px solid #8ba55d59;border-radius:999px;align-items:center;padding:.35rem .75rem;font-size:.8125rem;font-weight:600;display:inline-flex}.guild-directory-actions{margin-top:1rem}.guild-danger-zone{background:#7f1d1d14;border:1px solid #ef444466;border-radius:8px;padding:1.25rem}.guild-danger-zone h2{color:var(--accent-red)}.guild-danger-copy{color:var(--text-secondary);margin:0 0 .9rem}.guild-delete-overlay{z-index:1000;background:#0a0a0ab8;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.guild-delete-modal{background:var(--surface);border:1px solid var(--border);border-radius:10px;width:min(100%,520px);padding:1.5rem;box-shadow:0 18px 48px #00000052}.guild-delete-modal h2{margin:0 0 1rem}.guild-delete-copy{color:var(--text-secondary);margin:0 0 1rem}.guild-delete-copy code{color:var(--text-primary)}.guild-delete-modal .modal-actions{justify-content:flex-end;gap:.75rem;margin-top:1.25rem;display:flex}.members-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.member-card{background:var(--surface-elevated);border:1px solid var(--border);border-radius:4px;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding:1rem;display:flex}.member-info{align-items:center;gap:.75rem;display:flex}.member-name{color:var(--text-primary);font-weight:500}.member-username{color:var(--text-secondary);font-size:.875rem}.role-badge{text-transform:uppercase;letter-spacing:.03em;border-radius:3px;padding:.15rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.role-badge.owner{background:var(--accent-purple,#7c3aed);color:#fff}.role-badge.admin{background:var(--accent-blue);color:#fff}.role-badge.moderator{background:var(--accent-yellow);color:var(--background)}.role-badge.member{background:var(--surface);color:var(--text-secondary);border:1px solid var(--border)}.member-actions{align-items:center;gap:.5rem;display:flex}.member-actions select{background:var(--input-bg,var(--surface-elevated));border:1px solid var(--input-border,var(--border-light));color:var(--text-primary);border-radius:4px;padding:.375rem .5rem;font-size:.8125rem}.invite-form{flex-direction:column;gap:1rem;display:flex}.invite-form .form-row{grid-template-columns:1fr auto;gap:.75rem;display:grid}.transfer-section{background:var(--surface-elevated);border:1px solid var(--accent-red);border-radius:4px;margin-top:2rem;padding:1.5rem}.transfer-section h3{color:var(--accent-red);margin:0 0 .75rem}.transfer-section p{color:var(--text-secondary);margin:0 0 1rem;font-size:.9375rem}.pending-transfer-banner{background:var(--accent-yellow-transparent);border:1px solid var(--accent-yellow);border-radius:4px;margin-bottom:1rem;padding:1rem}.pending-transfer-banner strong{margin-bottom:.25rem;display:block}.guild-create-container{max-width:700px;margin:0 auto;padding:2rem}.guild-create-container .form-group input[type=text]{box-sizing:border-box;width:100%;max-width:400px}.guild-create-container .form-group textarea{box-sizing:border-box;resize:vertical;width:100%}.guild-create-container .form-group select{box-sizing:border-box;width:auto;min-width:200px}.slug-preview{color:var(--text-secondary);margin-top:.25rem;font-size:.8125rem}.slug-preview code{color:var(--vergil-accent)}.reserved-slug-notice{background:var(--accent-yellow-transparent);border:1px solid var(--accent-yellow);color:var(--text-primary);border-radius:4px;margin-top:.5rem;padding:.75rem 1rem;font-size:.875rem}.discord-status-card{background:var(--surface-elevated);border:1px solid var(--border);border-radius:4px;align-items:center;gap:.75rem;margin-bottom:1rem;padding:1rem;display:flex}.discord-status-card p{color:var(--text-secondary);margin:.25rem 0 0;font-size:.875rem}.discord-status-card code{color:var(--vergil-accent);font-size:.8125rem}.discord-status-indicator{border-radius:50%;flex-shrink:0;width:12px;height:12px}.discord-status-indicator.online{background:#43b581;box-shadow:0 0 6px #43b58180}.discord-status-indicator.offline{background:#747f8d}.discord-toggle-list{flex-direction:column;gap:.5rem;display:flex}.discord-toggle{background:var(--surface-elevated);border:1px solid var(--border);cursor:pointer;border-radius:4px;align-items:center;gap:.625rem;padding:.625rem .875rem;transition:border-color .15s;display:flex}.discord-toggle:hover{border-color:var(--vergil-accent)}.discord-toggle input[type=checkbox]{flex-shrink:0}.discord-toggle span{color:var(--text-primary);white-space:nowrap;font-weight:500}.discord-toggle small{color:var(--text-secondary);margin-left:auto;font-size:.8125rem}.button-danger{background:var(--accent-red);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:opacity .15s}.button-danger:hover{opacity:.9}.button-danger:disabled{opacity:.6;cursor:not-allowed}@media (width>=769px){.guild-sidebar{display:flex}}@media (width<=768px){.guild-dashboard{--mobile-subnav-offset-top:1rem;--mobile-subnav-offset-x:1rem;padding:1rem}.guild-dashboard-layout{flex-direction:column}.guild-sidebar{display:none}.member-card{flex-direction:column;align-items:flex-start;gap:.75rem}.member-actions{justify-content:flex-end;width:100%}}.discord-sync-section{gap:1rem;display:grid}.discord-sync-header,.discord-sync-import-header,.discord-sync-row,.discord-sync-prompt,.discord-sync-prompt-actions{align-items:center;gap:1rem;display:flex}.discord-sync-header,.discord-sync-import-header{justify-content:space-between}.discord-sync-header h2,.discord-sync-import-header h3,.discord-sync-block h3{margin:0 0 .25rem}.discord-sync-header p,.discord-sync-import-header p,.discord-sync-prompt p{color:var(--text-secondary);margin:0}.discord-sync-block{border:1px solid var(--border-color);background:var(--bg-elevated);border-radius:10px;padding:1rem}.discord-sync-prompt{background:#5865f214;border:1px solid #5865f259;border-radius:10px;justify-content:space-between;padding:1rem}.discord-sync-prompt strong{margin-bottom:.25rem;display:block}.discord-sync-prompt-actions{flex-shrink:0}.discord-sync-error,.discord-sync-empty{color:var(--text-secondary);margin:0}.discord-sync-error{color:#ef4444}.discord-sync-table{gap:.75rem;display:grid}.discord-sync-row{border:1px solid var(--border-color);background:var(--bg-primary);border-radius:8px;justify-content:space-between;padding:.875rem 1rem}.discord-sync-main{gap:.2rem;display:grid}.discord-sync-main span{color:var(--text-secondary);font-size:.9rem}.discord-sync-meta{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.discord-sync-badge,.discord-sync-status{border-radius:999px;align-items:center;padding:.25rem .625rem;font-size:.75rem;font-weight:700;display:inline-flex}.discord-sync-badge.vergil{color:#f59e0b;background:#f59e0b29}.discord-sync-badge.discord{color:#5865f2;background:#5865f229}.discord-sync-status.synced{color:#16a34a;background:#22c55e24}.discord-sync-status.disabled,.discord-sync-status.pending{color:var(--text-secondary);background:#94a3b829}.discord-sync-toggle{color:var(--text-primary);align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;display:inline-flex}.discord-sync-toggle input[type=checkbox]{width:18px;height:18px}@media (width<=768px){.discord-sync-header,.discord-sync-import-header,.discord-sync-row,.discord-sync-prompt{flex-direction:column;align-items:flex-start}.discord-sync-prompt-actions{flex-wrap:wrap;justify-content:flex-start;width:100%}.discord-sync-row button{width:100%}}.rsvp-panel{width:100%}.rsvp-stats{gap:1rem;margin-bottom:1.5rem;display:flex}.rsvp-stat{background:var(--surface-elevated);border:1px solid var(--border);text-align:center;border-radius:4px;flex:1;padding:1rem}.rsvp-stat-value{color:var(--text-primary);font-size:1.5rem;font-weight:700;display:block}.rsvp-stat-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);font-size:.75rem;font-weight:600}.rsvp-stat-pending{border-color:var(--accent-yellow)}.rsvp-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.rsvp-filters{gap:.25rem;display:flex}.rsvp-filter-btn{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:4px;padding:.375rem .75rem;font-size:.8125rem;font-weight:500;transition:background .15s,color .15s}.rsvp-filter-btn.active{background:var(--primary);color:var(--text-primary);border-color:var(--primary)}.rsvp-filter-btn:not(.active):hover{background:var(--surface-elevated)}.rsvp-list{flex-direction:column;gap:.375rem;display:flex}.rsvp-row{background:var(--surface-elevated);border:1px solid var(--border);border-radius:4px;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.rsvp-user{align-items:center;gap:.625rem;min-width:0;display:flex}.rsvp-avatar{border-radius:50%;flex-shrink:0;width:28px;height:28px}.rsvp-username{color:var(--text-primary);font-weight:500}.rsvp-handle{color:var(--text-tertiary);font-size:.75rem;display:block}.rsvp-meta{flex-shrink:0;align-items:center;gap:.75rem;display:flex}.rsvp-status-badge{text-transform:uppercase;border-radius:3px;padding:.125rem .5rem;font-size:.6875rem;font-weight:600}.rsvp-status-badge.rsvp-going{color:var(--vergil-accent);background:#8ba55d26}.rsvp-status-badge.rsvp-maybe{background:var(--accent-yellow-transparent);color:var(--accent-yellow)}.rsvp-status-badge.rsvp-waitlisted{background:var(--accent-blue-transparent);color:var(--accent-blue)}.rsvp-status-badge.rsvp-pending_approval{background:var(--accent-yellow-transparent);color:var(--accent-yellow)}.rsvp-status-badge.rsvp-not_going{background:var(--surface);color:var(--text-tertiary)}.rsvp-guests{color:var(--text-secondary);font-size:.8125rem}.rsvp-date{color:var(--text-tertiary);font-size:.75rem}.rsvp-actions{flex-shrink:0}.rsvp-form-responses{margin-top:1.5rem}.rsvp-form-responses summary{cursor:pointer;color:var(--text-primary);margin-bottom:.75rem;font-weight:500}.rsvp-response-card{background:var(--surface-elevated);border:1px solid var(--border);border-radius:4px;margin-bottom:.5rem;padding:.75rem 1rem}.rsvp-response-card strong{color:var(--text-primary)}.rsvp-response-card p{color:var(--text-secondary);margin:.25rem 0 0;font-size:.875rem}@media (width<=768px){.rsvp-stats{flex-wrap:wrap}.rsvp-stat{min-width:80px}.rsvp-row{flex-direction:column;align-items:flex-start}.rsvp-meta{flex-wrap:wrap}}.event-calendar{flex-direction:column;gap:1rem;width:100%;display:flex}.ec-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.ec-toolbar-left,.ec-toolbar-right{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.ec-view-toggle{border:1px solid var(--border);background:var(--surface-elevated);border-radius:999px;display:inline-flex;overflow:hidden}.ec-view-toggle button{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:.55rem .95rem;font-size:.85rem;font-weight:600;transition:background .15s,color .15s}.ec-view-toggle button.active{background:var(--vergil-accent);color:var(--background)}.ec-view-toggle button:hover:not(.active){color:var(--text-primary);background:#8ba55d1f}.ec-search,.ec-filter,.ec-date-popover input{border:1px solid var(--border);background:var(--surface-elevated);color:var(--text-primary);border-radius:12px;padding:.65rem .85rem;font-size:.92rem}.ec-search{min-width:260px}.ec-nav-shell{z-index:2;position:relative}.ec-range-nav,.ec-month-title-group{flex-wrap:wrap;justify-content:center;align-items:center;gap:.9rem;display:flex;position:relative}.ec-nav-arrow,.ec-spinner-btn{color:var(--text-primary);cursor:pointer;background:0 0;border:none;transition:color .15s,transform .15s}.ec-nav-arrow:hover,.ec-spinner-btn:hover,.ec-title-button:hover,.ec-range-title:hover{color:var(--vergil-accent)}.ec-nav-arrow:hover,.ec-spinner-btn:hover{transform:translateY(-1px)}.ec-nav-arrow{justify-content:center;align-items:center;width:1.8rem;height:2.8rem;padding:0;font-size:2rem;line-height:1;display:inline-flex}.ec-range-title,.ec-title-button{color:var(--text-primary);cursor:pointer;padding:.35rem .2rem;font-size:1rem;font-weight:700}.ec-range-title{background:0 0;border:none;border-radius:0}.ec-title-button{background:0 0;border:none;border-radius:0;min-width:120px;padding:.35rem .2rem}.ec-spinner-group{align-items:center;gap:.2rem;padding:.15rem .1rem;display:inline-flex}.ec-spinner-btn{justify-content:center;align-items:center;width:1.6rem;height:2.5rem;padding:0;font-size:1rem;line-height:1;display:inline-flex}.ec-spinner-group .ec-title-button{background:0 0;border:none;border-radius:12px;min-width:110px}.ec-title-popover,.ec-date-popover{background:var(--bg-secondary,#242820);border:1px solid var(--border);border-radius:18px;padding:1rem;position:absolute;top:calc(100% + .75rem);left:50%;transform:translate(-50%);box-shadow:0 20px 50px #00000059}.ec-title-popover{grid-template-columns:1fr 180px;gap:1rem;min-width:420px;display:grid}.ec-title-popover-section h4{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;margin:0 0 .65rem;font-size:.78rem}.ec-month-choice-grid{grid-template-columns:repeat(3,1fr);gap:.45rem;display:grid}.ec-month-choice-grid button,.ec-year-choice-list button{border:1px solid var(--border);background:var(--surface-elevated);color:var(--text-primary);cursor:pointer;text-align:left;border-radius:10px;padding:.6rem .75rem}.ec-month-choice-grid button.active,.ec-year-choice-list button.active{border-color:var(--vergil-accent);background:#8ba55d26}.ec-year-choice-list{flex-direction:column;gap:.45rem;max-height:260px;display:flex;overflow:auto}.ec-date-popover{padding:.85rem}.ec-loading,.ec-empty{border:1px solid var(--border);background:var(--surface-elevated);color:var(--text-secondary);border-radius:18px;padding:1.5rem}.ec-month-grid-shell,.ec-range-grid,.ec-list-shell{border:1px solid var(--border);background:radial-gradient(circle at top right, #8ba55d14, transparent 28%), var(--bg-secondary,#242820);border-radius:22px;overflow:hidden}.ec-month-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.ec-day-header{text-align:center;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--border);background:#ffffff08;padding:.8rem .6rem;font-size:.8rem;font-weight:700}.ec-month-cell{border-right:1px solid var(--border);border-bottom:1px solid var(--border);flex-direction:column;gap:.55rem;min-height:148px;padding:.65rem;display:flex}.ec-month-cell:nth-child(7n){border-right:none}.ec-month-cell-header{justify-content:space-between;align-items:center;display:flex}.ec-day-number{color:var(--text-primary);font-weight:700}.ec-day-outside{opacity:.45}.ec-day-today .ec-day-number,.ec-range-column-today .ec-range-column-date{color:var(--background);background:var(--vergil-accent);border-radius:999px;padding:.2rem .55rem}.ec-month-cell-events,.ec-range-column-body{flex-direction:column;gap:.45rem;display:flex}.ec-overflow-label,.ec-list-range,.ec-empty-slot{color:var(--text-secondary);font-size:.85rem}.ec-event-pill{color:var(--text-primary);text-align:left;cursor:pointer;background:#ffffff0d;border:none;border-radius:10px;flex-direction:column;gap:.15rem;padding:.55rem .65rem;display:flex}.ec-event-pill span{color:var(--text-secondary);font-size:.75rem}.ec-event-pill.badge-one-time{border-left:3px solid var(--accent-blue,#3b82f6)}.ec-event-pill.badge-recurring{border-left:3px solid var(--vergil-accent)}.ec-event-pill.badge-multi-day{border-left:3px solid var(--accent-purple,#8b5cf6)}.ec-event-pill.badge-stream{border-left:3px solid var(--accent-red,#ef4444)}.ec-event-pill.badge-tournament{border-left:3px solid var(--accent-gold,#f59e0b)}.ec-range-grid{background:var(--border);gap:1px;display:grid}.ec-range-grid-day{grid-template-columns:1fr}.ec-range-grid-week,.ec-range-grid-week_outlook{grid-template-columns:repeat(7,minmax(0,1fr))}.ec-range-column{background:var(--bg-secondary,#242820);flex-direction:column;min-height:420px;display:flex}.ec-range-column-header{border-bottom:1px solid var(--border);flex-direction:column;gap:.25rem;padding:.9rem .85rem;display:flex}.ec-range-column-day{text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);font-size:.78rem;font-weight:700}.ec-range-column-date{color:var(--text-primary);width:fit-content;font-size:1rem;font-weight:700}.ec-range-column-body{flex:1;padding:.85rem}.ec-event-card{border:1px solid var(--border);cursor:pointer;background:#ffffff0a;border-radius:14px;transition:border-color .15s,transform .15s;overflow:hidden}.ec-event-card:hover,.ec-list-item:hover{border-color:var(--vergil-accent);transform:translateY(-1px)}.ec-event-card.compact{min-height:0}.ec-event-card-image{background-color:#ffffff0a;background-position:50%;background-size:cover;height:116px}.ec-event-card-header,.ec-list-badges{flex-wrap:wrap;align-items:center;gap:.45rem;margin-bottom:.45rem;display:flex}.ec-event-card-header,.ec-event-card h4,.ec-event-card .ec-event-meta{padding-left:.9rem;padding-right:.9rem}.ec-event-card-header{padding-top:.8rem}.ec-event-card.compact .ec-event-card-header{padding-top:.75rem}.ec-event-card .ec-event-meta:last-child{padding-bottom:.8rem}.ec-event-card.compact .ec-event-meta:last-child{padding-bottom:.75rem}.ec-event-card h4,.ec-list-info h4{color:var(--text-primary);margin:0 0 .35rem}.ec-event-meta{color:var(--text-secondary);flex-wrap:wrap;gap:.6rem;font-size:.82rem;display:flex}.ec-event-meta.secondary{margin-top:.4rem}.ec-type-badge{text-transform:uppercase;letter-spacing:.06em;border-radius:999px;align-items:center;padding:.22rem .55rem;font-size:.7rem;font-weight:700;display:inline-flex}.ec-type-badge.badge-one-time{color:var(--accent-blue,#60a5fa);background:#3b82f626}.ec-type-badge.badge-recurring{color:var(--vergil-accent);background:#8ba55d26}.ec-type-badge.badge-multi-day{color:var(--accent-purple,#a78bfa);background:#8b5cf626}.ec-type-badge.badge-stream{color:var(--accent-red,#f87171);background:#ef444426}.ec-type-badge.badge-tournament{color:var(--accent-gold,#fbbf24);background:#f59e0b26}.ec-live-badge{background:var(--accent-red,#ef4444);color:#fff;border-radius:999px;align-items:center;padding:.22rem .55rem;font-size:.7rem;font-weight:700;display:inline-flex}.ec-list-shell{padding:1rem}.ec-list-group+.ec-list-group{margin-top:1.25rem}.ec-list-group h3{color:var(--text-primary);margin:0 0 .7rem}.ec-list{flex-direction:column;gap:.7rem;display:flex}.ec-list-item{border:1px solid var(--border);cursor:pointer;background:#ffffff08;border-radius:16px;align-items:flex-start;gap:1rem;padding:1rem;transition:border-color .15s,transform .15s;display:flex}.ec-list-image{background-color:#ffffff0a;background-position:50%;background-size:cover;border-radius:12px;align-self:stretch;width:128px;min-width:128px}.ec-list-date{text-align:center;border-right:1px solid var(--border);min-width:58px;padding-right:1rem}.ec-list-month{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;display:block}.ec-list-day{color:var(--text-primary);font-size:1.6rem;font-weight:800;line-height:1;display:block}.ec-list-info{flex:1;min-width:0}@media (width<=980px){.ec-title-popover{grid-template-columns:1fr;min-width:320px}.ec-range-grid-week,.ec-range-grid-week_outlook,.ec-month-grid{flex-direction:column;display:flex}.ec-day-header{display:none}.ec-list-image{width:100%;min-width:0;min-height:140px}.ec-month-cell,.ec-range-column{border-right:none;min-height:auto}}@media (width<=720px){.ec-toolbar-left{width:100%}.ec-view-toggle{width:100%;overflow:auto hidden}.ec-view-toggle button{white-space:nowrap;flex-shrink:0;padding:.5rem .7rem;font-size:.8rem}.ec-search{width:100%;min-width:100%}.ec-toolbar-right{width:100%}.ec-list-item{flex-direction:column}.ec-list-date{border-right:none;border-bottom:1px solid var(--border);align-items:baseline;gap:.65rem;min-width:0;padding-bottom:.75rem;padding-right:0;display:flex}.ec-range-title,.ec-title-button{white-space:nowrap;text-overflow:ellipsis;max-width:calc(100vw - 8rem);overflow:hidden}.ec-nav-arrow{height:2.4rem;font-size:1.8rem}}.sl-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.sl-header h2{color:var(--text-primary);margin:0;font-size:1.25rem}.sl-filters{flex-wrap:wrap;gap:.375rem;margin-bottom:1.25rem;display:flex}.sl-filter-tab{border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:999px;padding:.3rem .75rem;font-size:.8125rem;transition:background .15s,color .15s,border-color .15s}.sl-filter-tab:hover{border-color:var(--vergil-accent);color:var(--text-primary)}.sl-filter-active{background:var(--vergil-primary);border-color:var(--vergil-primary);color:var(--text-primary)}.sl-list{flex-direction:column;gap:.75rem;display:flex}.sl-card{background:var(--surface-elevated);border:1px solid var(--border);cursor:pointer;border-radius:6px;padding:1rem 1.25rem;transition:border-color .15s,transform .12s}.sl-card:hover{border-color:var(--vergil-accent);transform:translateY(-1px)}.sl-card-top{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.375rem;display:flex}.sl-card-top h3{color:var(--text-primary);margin:0;font-size:1.05rem;font-weight:600}.sl-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;flex-shrink:0;padding:.125rem .5rem;font-size:.7rem;font-weight:600;display:inline-block}.sl-badge-draft{color:#fbbf24;background:#f59e0b26}.sl-badge-upcoming{color:#60a5fa;background:#3b82f626}.sl-badge-active{color:#4ade80;background:#22c55e26}.sl-badge-completed{color:#a78bfa;background:#8b5cf626}.sl-badge-cancelled{color:#f87171;background:#ef444426}.sl-card-meta{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.8125rem;display:flex}.sl-dot{background:var(--text-tertiary,var(--text-secondary));border-radius:50%;flex-shrink:0;width:3px;height:3px}.sl-card-desc{color:var(--text-secondary);margin:.375rem 0 0;font-size:.8125rem;line-height:1.4}.csf-root h2:first-of-type{margin:0 0 .25rem}.csf-back{margin-bottom:1.25rem}.csf-placements{flex-direction:column;gap:.5rem;margin-top:.5rem;display:flex}.csf-placement-row{align-items:center;gap:.5rem;display:flex}.csf-tiebreaker-row{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.csf-tiebreaker-row select{background:var(--input-bg,var(--surface-elevated));border:1.5px solid var(--input-border,var(--border-light));color:var(--text-primary);border-radius:4px;flex:1;padding:.5rem;font-size:.9375rem}.sd-back{margin-bottom:1.25rem}.sd-banner{border:1px solid var(--border);background:var(--surface-elevated);border-radius:10px;margin-bottom:1.5rem;overflow:hidden}.sd-banner img{object-fit:cover;width:100%;max-height:320px;display:block}.sd-header{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.sd-header-left{align-items:center;gap:.75rem;display:flex}.sd-header-left h2{color:var(--text-primary);margin:0;font-size:1.5rem}.sd-status-actions{flex-shrink:0;gap:.5rem;display:flex}.sd-info{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem;margin-bottom:1.5rem;display:grid}.sd-info-row{flex-direction:column;gap:.125rem;display:flex}.sd-info-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);font-size:.75rem;font-weight:600}.sd-info-row>span:last-child{color:var(--text-primary);text-transform:capitalize;font-size:.9375rem}.sd-description{background:var(--surface-elevated);border:1px solid var(--border);color:var(--text-secondary);border-radius:6px;margin-bottom:1.5rem;padding:1rem;font-size:.9375rem;line-height:1.6}.sd-section{margin-bottom:2rem}.sd-section-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.sd-section-header h3{color:var(--text-primary);margin:0;font-size:1.1rem}.sd-add-tournament{background:var(--surface-elevated);border:1px solid var(--border);border-radius:6px;margin-bottom:1rem;padding:1rem}.sd-add-actions{gap:.5rem;margin-top:.75rem;display:flex}.sd-no-tournaments{color:var(--text-secondary);font-size:.875rem;font-style:italic}.sd-tournament-list{flex-direction:column;gap:.5rem;display:flex}.sd-tournament-card{background:var(--surface-elevated);border:1px solid var(--border);border-radius:6px;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.sd-tournament-info{flex-direction:column;gap:.25rem;min-width:0;display:flex}.sd-tournament-name{color:var(--vergil-accent);cursor:pointer;font-size:.9375rem;font-weight:500}.sd-tournament-name:hover{text-decoration:underline}.sd-tournament-meta{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.sd-tag{background:var(--bg-primary);color:var(--text-secondary);text-transform:capitalize;border-radius:3px;padding:.0625rem .4rem;font-size:.75rem}.sd-tournament-date{color:var(--text-secondary);font-size:.8125rem}.ss-empty{text-align:center;color:var(--text-secondary);padding:2rem;font-size:.9375rem}.ss-table-wrap{overflow-x:auto}.ss-table{border-collapse:collapse;width:100%;font-size:.9375rem}.ss-table thead{border-bottom:2px solid var(--border)}.ss-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);padding:.625rem .75rem;font-size:.75rem;font-weight:600}.ss-table td{border-bottom:1px solid var(--border);color:var(--text-primary);padding:.625rem .75rem}.ss-col-rank{width:48px;text-align:center!important}.ss-col-num{width:64px;text-align:right!important}.ss-col-name{font-weight:500}.ss-rank{border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:.8125rem;font-weight:700;display:inline-flex}.ss-rank-1{color:#fbbf24;background:#fbbf2433}.ss-rank-2{color:silver;background:#c0c0c033}.ss-rank-3{color:#cd7f32;background:#cd7f3233}.ss-points{font-weight:600}.ss-win{color:var(--accent-green)}.ss-loss{color:var(--accent-red)}.ss-row:hover{background:var(--surface-elevated)}@media (width<=768px){.sd-header{flex-direction:column}.sd-status-actions{width:100%}.sd-status-actions .button-primary,.sd-status-actions .button-danger{flex:1}.sd-tournament-card{flex-direction:column;align-items:flex-start}.sd-tournament-card .remove-button{align-self:flex-end}.sl-card-top{flex-direction:column;align-items:flex-start;gap:.375rem}.csf-placement-row{flex-wrap:wrap}}.gp-page{background:var(--bg-primary);min-height:100vh}.gp-banner{background:linear-gradient(135deg, var(--guild-primary,var(--vergil-dark,#1a1d15)) 0%, var(--bg-elevated) 100%);background-position:50%;background-size:cover;align-items:flex-end;min-height:280px;display:flex;position:relative;overflow:hidden}.gp-banner-overlay{pointer-events:none;background:linear-gradient(#0000001a 0%,#0009 100%);position:absolute;inset:0}.gp-banner-content{z-index:1;align-items:flex-end;gap:1.5rem;width:100%;max-width:1100px;margin:0 auto;padding:2rem 2rem 1.75rem;display:flex;position:relative}.gp-logo{object-fit:cover;background:var(--bg-elevated);border:3px solid #ffffff26;border-radius:12px;flex-shrink:0;width:96px;height:96px;box-shadow:0 4px 16px #0000004d}.gp-title-area{flex:1;min-width:0}.gp-name-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.gp-name{color:#fff;text-shadow:0 2px 8px #0006;margin:0;font-size:2rem;font-weight:800;line-height:1.2}.gp-verified-badge{background:var(--guild-accent,var(--vergil-accent));color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.gp-description{color:#ffffffd9;text-shadow:0 1px 4px #0000004d;margin:.375rem 0 0;font-size:1rem;line-height:1.5}.gp-meta{flex-wrap:wrap;align-items:center;gap:1rem;margin-top:.75rem;display:flex}.gp-member-count{color:#ffffffbf;align-items:center;gap:.375rem;font-size:.875rem;font-weight:500;display:flex}.gp-member-count svg{opacity:.8}.gp-social-icons{gap:.5rem;display:flex}.gp-social-link{color:#fffc;background:#ffffff1f;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;transition:background .15s,color .15s,transform .15s;display:flex}.gp-social-link:hover{color:#fff;background:#ffffff38;transform:translateY(-1px)}.gp-actions-bar{background:var(--bg-elevated);border-bottom:1px solid var(--border-color);padding:.75rem 2rem}.gp-actions-inner{flex-wrap:wrap;gap:.75rem;max-width:1100px;margin:0 auto;display:flex}.gp-btn-primary{background:var(--guild-accent,var(--vergil-primary));color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.5rem 1.25rem;font-size:.875rem;font-weight:600;transition:opacity .15s}.gp-btn-primary:hover{opacity:.9}.gp-btn-secondary{color:var(--text-primary);border:1px solid var(--border-color);cursor:pointer;background:0 0;border-radius:6px;padding:.5rem 1.25rem;font-size:.875rem;font-weight:500;transition:border-color .15s}.gp-btn-secondary:hover{border-color:var(--guild-accent,var(--vergil-accent))}.gp-content{max-width:1100px;margin:0 auto;padding:2rem 2rem 4rem}.gp-section{margin-bottom:2.5rem}.gp-section-title{color:var(--text-primary);border-bottom:2px solid var(--guild-accent,var(--vergil-primary));margin:0 0 1rem;padding-bottom:.5rem;font-size:1.25rem;font-weight:700;display:inline-block}.gp-about{color:var(--text-secondary);font-size:.9375rem;line-height:1.7}.gp-about h1,.gp-about h2,.gp-about h3{color:var(--text-primary);margin:1.25rem 0 .5rem}.gp-about h1:first-child,.gp-about h2:first-child,.gp-about h3:first-child{margin-top:0}.gp-about p{margin:0 0 .75rem}.gp-about a{color:var(--guild-accent,var(--vergil-accent))}.gp-about img{border-radius:6px;max-width:100%}.gp-about ul,.gp-about ol{margin:0 0 .75rem;padding-left:1.5rem}.gp-seasons{flex-direction:column;gap:1rem;display:flex}.gp-season-card{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:8px;padding:1.25rem 1.5rem;transition:border-color .15s}.gp-season-card:hover{border-color:var(--guild-accent,var(--vergil-accent))}.gp-season-past{opacity:.75}.gp-season-header{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.375rem;display:flex}.gp-season-header h3{color:var(--text-primary);margin:0;font-size:1.1rem;font-weight:600}.gp-season-status{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;flex-shrink:0;padding:.125rem .625rem;font-size:.7rem;font-weight:600;display:inline-block}.gp-season-active{color:#4ade80;background:#22c55e26}.gp-season-upcoming{color:#60a5fa;background:#3b82f626}.gp-season-completed{color:#a78bfa;background:#8b5cf626}.gp-season-dates{color:var(--text-secondary);margin:0 0 .75rem;font-size:.8125rem}.gp-season-empty{color:var(--text-tertiary,var(--text-secondary));margin:0;font-size:.875rem;font-style:italic}.gp-season-tournament-count{color:var(--text-secondary);margin:0;font-size:.875rem}.gp-season-tournaments{flex-direction:column;gap:.375rem;display:flex}.gp-tournament-row{background:var(--bg-primary);cursor:pointer;border-radius:6px;justify-content:space-between;align-items:center;gap:.75rem;padding:.625rem .875rem;transition:background .15s;display:flex}.gp-tournament-row:hover{background:var(--border-color)}.gp-tournament-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:.9375rem;font-weight:500;overflow:hidden}.gp-tournament-meta{flex-shrink:0;align-items:center;gap:.625rem;display:flex}.gp-tournament-date{color:var(--text-secondary);font-size:.8125rem}.gp-contact-link{color:var(--guild-accent,var(--vergil-accent));font-size:.9375rem;text-decoration:none}.gp-contact-link:hover{text-decoration:underline}.gp-loading{color:var(--text-secondary);justify-content:center;padding:6rem 2rem;display:flex}.gp-not-found{text-align:center;padding:6rem 2rem}.gp-not-found h1{color:var(--text-tertiary,var(--text-secondary));margin:0 0 .5rem;font-size:4rem;font-weight:800}.gp-not-found p{color:var(--text-secondary);margin:0 0 1.5rem;font-size:1.125rem}.gp-empty-portal{text-align:center;color:var(--text-secondary);padding:4rem 2rem;font-size:1rem}.gp-empty-portal .gp-btn-primary{margin-top:1rem}@media (width<=768px){.gp-banner{min-height:220px}.gp-banner-content{flex-direction:column;align-items:flex-start;gap:1rem;padding:1.5rem 1.25rem 1.25rem}.gp-logo{border-radius:8px;width:64px;height:64px}.gp-name{font-size:1.5rem}.gp-content{padding:1.5rem 1.25rem 3rem}.gp-actions-bar{padding:.75rem 1.25rem}.gp-tournament-row{flex-direction:column;align-items:flex-start;gap:.375rem}.gp-tournament-meta{justify-content:space-between;width:100%}}@media (width<=480px){.gp-banner{min-height:180px}.gp-meta{flex-direction:column;align-items:flex-start;gap:.625rem}}.gd-page{background:var(--bg-primary);min-height:100vh}.gd-hero{background:linear-gradient(135deg, var(--vergil-dark,#1a1d15) 0%, var(--bg-elevated) 100%);border-bottom:1px solid var(--border-color);text-align:center;padding:2.5rem 2rem 2rem}.gd-hero h1{color:var(--vergil-accent);margin:0 0 .4rem;font-size:2rem}.gd-hero p{color:var(--text-secondary);margin:0}.gd-container{max-width:1200px;margin:0 auto;padding:2rem 1.5rem 4rem}.gd-filters{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.gd-search{border:1px solid var(--border-color);background:var(--bg-elevated);min-width:200px;color:var(--text-primary);border-radius:6px;outline:none;flex:1;padding:.5rem .875rem;font-size:.875rem;transition:border-color .15s}.gd-search:focus{border-color:var(--vergil-accent)}.gd-search::placeholder{color:var(--text-tertiary,var(--text-secondary))}.gd-filter-tabs{gap:.375rem;display:flex}.gd-tab{border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:999px;padding:.375rem .875rem;font-size:.875rem;transition:background .15s,color .15s,border-color .15s}.gd-tab:hover{border-color:var(--vergil-accent);color:var(--text-primary)}.gd-tab-active{background:var(--vergil-primary);border-color:var(--vergil-primary);color:var(--text-primary)}.gd-count{color:var(--text-secondary);margin:0 0 1.25rem;font-size:.875rem}.gd-loading{text-align:center;color:var(--text-secondary);padding:4rem 0}.gd-grid{columns:320px;column-gap:1.25rem}.gd-card{break-inside:avoid;background:var(--bg-elevated);border:1px solid var(--border-color);cursor:pointer;border-radius:8px;margin-bottom:1.25rem;transition:transform .15s,box-shadow .15s;overflow:hidden}.gd-card:hover{transform:translateY(-2px);box-shadow:0 6px 24px #00000059}.gd-card-image{background-position:50%;background-size:cover;background-color:var(--bg-primary);height:132px}.gd-card-accent{height:4px}.gd-card-body{padding:1.125rem 1.25rem}.gd-card-header{align-items:center;gap:.875rem;margin-bottom:.625rem;display:flex}.gd-card-logo{object-fit:cover;background:var(--bg-primary);border-radius:8px;flex-shrink:0;width:48px;height:48px}.gd-card-logo-placeholder{color:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.25rem;font-weight:700;display:flex}.gd-card-title-area{flex:1;min-width:0}.gd-card-name-row{align-items:center;gap:.375rem;display:flex}.gd-card-name-row h3{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1rem;font-weight:600;overflow:hidden}.gd-verified{background:var(--vergil-accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:inline-flex}.gd-card-members{color:var(--text-secondary);margin-top:.125rem;font-size:.8125rem;display:block}.gd-card-desc{color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.875rem;line-height:1.5;display:-webkit-box;overflow:hidden}.gd-empty{text-align:center;color:var(--text-secondary);padding:5rem 1rem}.gd-empty-icon{margin-bottom:1rem}.gd-empty h3{color:var(--text-primary);margin:0 0 .5rem}.gd-empty p{margin:0}.gd-load-more{text-align:center;margin-top:2.5rem}.gd-load-btn{background:var(--vergil-primary);color:var(--text-primary);cursor:pointer;border:none;border-radius:6px;padding:.625rem 2rem;font-size:.95rem;transition:opacity .15s}.gd-load-btn:disabled{opacity:.6;cursor:default}@media (width<=600px){.gd-hero{padding:2rem 1rem 1.5rem}.gd-container{padding:1.5rem 1rem 3rem}.gd-search{width:100%}.gd-grid{column-count:1}}.directory-page{background:var(--bg-primary);min-height:100vh}.directory-hero{border-bottom:1px solid var(--border-color);background:radial-gradient(circle at top right, #8ba55d2e, transparent 32%), linear-gradient(135deg, var(--bg-primary) 0%, var(--bg-elevated) 100%);text-align:center;padding:2.75rem 1.5rem 2rem}.directory-hero h1{color:var(--vergil-accent);margin:0 0 .5rem;font-size:2.15rem}.directory-hero p{color:var(--text-secondary);margin:0}.directory-shell{max-width:1200px;margin:0 auto;padding:2rem 1.5rem 4rem}.directory-tab-switcher{border:1px solid var(--border-color);background:var(--bg-elevated);border-radius:999px;gap:.5rem;margin-bottom:1.25rem;padding:.35rem;display:inline-flex}.directory-tab{color:var(--text-secondary);background:0 0;border:0;border-radius:999px;padding:.7rem 1.15rem;font-weight:600}.directory-tab.active{background:var(--vergil-primary);color:var(--text-primary)}.directory-controls{gap:1rem;margin-bottom:1.25rem;display:grid}.directory-search{border:1px solid var(--border-color);background:var(--bg-elevated);width:100%;color:var(--text-primary);border-radius:.85rem;padding:.85rem 1rem}.directory-filter-group{gap:.5rem;display:grid}.directory-filter-label{color:var(--text-secondary);letter-spacing:.06em;text-transform:uppercase;font-size:.8rem;font-weight:700}.directory-chip-row{flex-wrap:wrap;gap:.5rem;display:flex}.directory-chip{border:1px solid var(--border-color);color:var(--text-secondary);background:0 0;border-radius:999px;padding:.55rem .9rem;font-size:.9rem}.directory-chip.active{border-color:var(--vergil-primary);background:var(--vergil-primary);color:var(--text-primary)}.directory-count{color:var(--text-secondary);margin:0 0 1.25rem}.directory-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem;display:grid}.directory-card{border:1px solid var(--border-color);background:var(--bg-elevated);text-align:left;border-radius:1rem;overflow:hidden;box-shadow:0 16px 40px #00000029}.directory-card:hover{border-color:var(--vergil-primary);transform:translateY(-2px)}.directory-card-banner{background:var(--bg-secondary);height:122px;position:relative}.directory-card-banner img,.directory-card-banner-fallback{object-fit:cover;width:100%;height:100%}.directory-card-banner-fallback{background:linear-gradient(135deg, #6b7c4e8c, #8ba55d2e), var(--bg-secondary)}.directory-card-banner-overlay{background:linear-gradient(#0000,#1a1d15b8);position:absolute;inset:0}.directory-card-flags{gap:.4rem;display:flex;position:absolute;top:.85rem;right:.85rem}.directory-flag{color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:999px;justify-content:center;align-items:center;width:1.9rem;height:1.9rem;display:inline-flex}.directory-flag.verified{background:#8ba55deb}.directory-flag.featured{background:#f59e0beb}.directory-card-body{gap:.9rem;padding:1.1rem;display:grid}.directory-card-header{align-items:center;gap:.85rem;display:flex}.directory-avatar{object-fit:cover;background:var(--bg-secondary);border-radius:.9rem;flex-shrink:0;width:3.2rem;height:3.2rem}.directory-avatar.creator{border-radius:999px}.directory-avatar.fallback{background:var(--vergil-primary);color:#fff;justify-content:center;align-items:center;font-size:1.2rem;font-weight:700;display:inline-flex}.directory-card-title{min-width:0}.directory-card-title h2{color:var(--text-primary);margin:0;font-size:1.1rem;line-height:1.15}.directory-meta,.directory-handle{color:var(--text-secondary);margin-top:.25rem;font-size:.88rem;display:block}.directory-description{color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;line-height:1.5;display:-webkit-box;overflow:hidden}.directory-badge-row{flex-wrap:wrap;gap:.45rem;display:flex}.directory-badge{min-height:1.8rem;color:var(--text-primary);background:#8ba55d2e;border-radius:999px;align-items:center;padding:.25rem .65rem;font-size:.78rem;font-weight:600;display:inline-flex}.directory-badge.muted{color:var(--text-secondary);background:#ffffff0d}.directory-social-row{flex-wrap:wrap;gap:.45rem;display:flex}.directory-social-icon{border:1px solid var(--border-color);background:var(--bg-secondary);min-width:2rem;min-height:2rem;color:var(--text-secondary);border-radius:999px;justify-content:center;align-items:center;padding:.25rem .45rem;font-size:.72rem;font-weight:700;display:inline-flex}.directory-state{text-align:center;color:var(--text-secondary);padding:4rem 1rem}.directory-state h3{color:var(--text-primary);margin:0 0 .5rem}.directory-load-more{text-align:center;margin-top:2rem}.directory-load-button{border:1px solid var(--vergil-primary);background:var(--vergil-primary);min-width:11rem;min-height:2.75rem;color:var(--text-primary);border-radius:999px;font-weight:700}@media (width<=768px){.directory-hero{padding:2.25rem 1rem 1.6rem}.directory-shell{padding:1.25rem 1rem 3rem}.directory-tab-switcher{width:100%;display:flex}.directory-tab{flex:1}.directory-grid{grid-template-columns:1fr}}.pp-page{background:var(--bg-primary);min-height:100vh}.pp-banner{background:linear-gradient(135deg, var(--vergil-dark,#1a1d15) 0%, var(--bg-elevated) 100%);background-position:50%;background-size:cover;height:220px;position:relative}.pp-banner-overlay{pointer-events:none;background:linear-gradient(#0000000d 0%,#0006 100%);position:absolute;inset:0}.pp-header{max-width:900px;margin:-48px auto 0;padding:0 2rem;position:relative}.pp-header-inner{flex-wrap:wrap;align-items:flex-end;gap:1.25rem;display:flex}.pp-avatar-wrap{flex-shrink:0}.pp-avatar{border:4px solid var(--bg-primary);object-fit:cover;background:var(--bg-elevated);border-radius:50%;width:120px;height:120px;box-shadow:0 4px 16px #0000004d}.pp-avatar-placeholder{color:var(--text-secondary);justify-content:center;align-items:center;font-size:2.5rem;font-weight:700;display:flex}.pp-identity{flex:1;min-width:0;padding-bottom:.375rem}.pp-display-name{color:var(--text-primary);margin:0;font-size:1.75rem;font-weight:800;line-height:1.2}.pp-handle{color:var(--text-secondary);font-family:monospace;font-size:.9375rem}.pp-edit-btn{flex-shrink:0;margin-bottom:.375rem}.pp-btn-secondary{color:var(--text-primary);border:1px solid var(--border-color);cursor:pointer;background:0 0;border-radius:6px;padding:.5rem 1.25rem;font-size:.875rem;font-weight:500;transition:border-color .15s}.pp-btn-secondary:hover{border-color:var(--vergil-accent)}.pp-tags{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.pp-tag{text-transform:uppercase;letter-spacing:.04em;color:var(--vergil-accent);background:#8ba55d26;border-radius:999px;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-block}.pp-socials{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.pp-social-btn{background:var(--bg-elevated);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:6px;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.8125rem;text-decoration:none;transition:border-color .15s,color .15s;display:inline-flex}.pp-social-btn:hover{border-color:var(--vergil-accent);color:var(--text-primary)}.pp-content{max-width:900px;margin:0 auto;padding:2rem 2rem 4rem}.pp-section{margin-bottom:2.5rem}.pp-section-title{color:var(--text-primary);border-bottom:2px solid var(--vergil-primary);margin:0 0 1rem;padding-bottom:.5rem;font-size:1.125rem;font-weight:700;display:inline-block}.pp-bio{color:var(--text-secondary);font-size:.9375rem;line-height:1.7}.pp-bio h1,.pp-bio h2,.pp-bio h3{color:var(--text-primary);margin:1.25rem 0 .5rem}.pp-bio p{margin:0 0 .75rem}.pp-bio a{color:var(--vergil-accent)}.pp-guilds{flex-direction:column;gap:.5rem;display:flex}.pp-guild-card{background:var(--bg-elevated);border:1px solid var(--border-color);cursor:pointer;border-radius:8px;align-items:center;gap:.875rem;padding:.75rem 1rem;transition:border-color .15s;display:flex}.pp-guild-card:hover{border-color:var(--vergil-accent)}.pp-guild-logo-wrap{flex-shrink:0}.pp-guild-logo{object-fit:cover;border-radius:8px;width:40px;height:40px}.pp-guild-logo-placeholder{color:#fff;justify-content:center;align-items:center;font-size:1.125rem;font-weight:700;display:flex}.pp-guild-info{flex-direction:column;gap:.125rem;min-width:0;display:flex}.pp-guild-name{color:var(--text-primary);align-items:center;gap:.375rem;font-size:.9375rem;font-weight:600;display:flex}.pp-verified-icon{flex-shrink:0}.pp-guild-role{color:var(--text-secondary);font-size:.8125rem}.pp-loading{color:var(--text-secondary);justify-content:center;padding:6rem 2rem;display:flex}.pp-not-found{text-align:center;padding:6rem 2rem}.pp-not-found h1{color:var(--text-tertiary,var(--text-secondary));margin:0 0 .5rem;font-size:4rem;font-weight:800}.pp-not-found p{color:var(--text-secondary);margin:0 0 1.5rem;font-size:1.125rem}.pp-empty{text-align:center;color:var(--text-secondary);padding:4rem 2rem}@media (width<=768px){.pp-banner{height:160px}.pp-header{margin-top:-40px;padding:0 1.25rem}.pp-avatar{width:96px;height:96px}.pp-display-name{font-size:1.375rem}.pp-content{padding:1.5rem 1.25rem 3rem}.pp-header-inner{gap:1rem}}@media (width<=480px){.pp-banner{height:120px}.pp-avatar{width:80px;height:80px}.pp-header-inner{flex-direction:column;align-items:flex-start}.pp-identity{padding-bottom:0}}.ps-page{background:var(--bg-primary);--mobile-subnav-offset-top:2rem;--mobile-subnav-offset-x:2rem;min-height:100vh;padding:2rem}.ps-container{max-width:800px;margin:0 auto}.ps-page-header{margin-bottom:2rem}.ps-page-header h1{color:var(--vergil-accent);margin:0 0 .25rem}.ps-page-header p{color:var(--text-secondary);margin:0;font-family:monospace;font-size:.875rem}.ps-tab-row{gap:.75rem;margin-bottom:1.5rem;display:flex}.ps-tab-btn{border:1px solid var(--border-color);background:var(--bg-elevated);color:var(--text-secondary);cursor:pointer;border-radius:999px;padding:.5rem 1rem;font-weight:600}.ps-tab-btn.active{background:var(--vergil-primary);border-color:var(--vergil-primary);color:#fff}.ps-loading{color:var(--text-primary);padding:2rem}.ps-section{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:8px;margin-bottom:1.5rem;padding:1.5rem}.ps-section h2{color:var(--text-primary);margin:0 0 .25rem;font-size:1.125rem}.ps-discord-header,.ps-discord-status{justify-content:space-between;align-items:center;gap:1rem;display:flex}.ps-discord-status{border:1px solid var(--border-color);background:var(--bg-primary);border-radius:8px;justify-content:flex-start;margin-top:1rem;padding:1rem}.ps-discord-indicator{border-radius:999px;flex-shrink:0;width:12px;height:12px}.ps-discord-indicator.online{background:#22c55e}.ps-discord-indicator.offline{background:#94a3b8}.ps-hint{color:var(--text-secondary);margin:0 0 .75rem;font-size:.8125rem}.ps-directory-badges{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.ps-directory-badge{color:var(--text-primary);background:#8ba55d26;border:1px solid #8ba55d59;border-radius:999px;align-items:center;padding:.35rem .75rem;font-size:.8125rem;font-weight:600;display:inline-flex}.ps-field{margin-bottom:1rem}.ps-field:last-child{margin-bottom:0}.ps-field label{color:var(--text-secondary);margin-bottom:.375rem;font-size:.875rem;font-weight:500;display:block}.ps-input{background:var(--input-bg,var(--surface-elevated));border:1.5px solid var(--input-border,var(--border-light));width:100%;color:var(--text-primary);box-sizing:border-box;border-radius:4px;padding:.5rem .75rem;font-family:inherit;font-size:.9375rem;transition:border-color .15s}.ps-input:focus{border-color:var(--vergil-accent);outline:none}.ps-textarea{resize:vertical;min-height:120px;line-height:1.6}.ps-field-hint{color:var(--text-tertiary,var(--text-secondary));margin:.25rem 0 0;font-size:.75rem}.ps-handle-row{align-items:center;gap:0;display:flex}.ps-handle-prefix{background:var(--bg-primary);border:1.5px solid var(--input-border,var(--border-light));color:var(--text-secondary);border-right:none;border-radius:4px 0 0 4px;padding:.5rem .625rem;font-family:monospace;font-size:.9375rem}.ps-handle-input{flex:1;border-radius:0 4px 4px 0!important}.ps-handle-status{white-space:nowrap;margin-left:.75rem;font-size:.8125rem;font-weight:600}.ps-checking{color:var(--text-secondary)}.ps-available{color:#4ade80}.ps-taken{color:#f87171}.ps-toggle-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.ps-toggle-row h2{margin-bottom:0}.ps-directory-actions{margin-top:1rem}.ps-toggle{flex-shrink:0;width:50px;height:26px;display:inline-block;position:relative}.ps-toggle input{opacity:0;width:0;height:0}.ps-toggle-slider{cursor:pointer;background-color:var(--border-color);border-radius:13px;transition:all .2s;position:absolute;inset:0}.ps-toggle-slider:before{content:"";background-color:#fff;border-radius:50%;width:18px;height:18px;transition:all .2s;position:absolute;bottom:4px;left:4px}.ps-toggle input:checked+.ps-toggle-slider{background-color:var(--vergil-primary)}.ps-toggle input:checked+.ps-toggle-slider:before{left:28px}.ps-images-grid{flex-wrap:wrap;gap:2rem;display:flex}.ps-image-field{border:2px dashed #0000;border-radius:8px;flex:1;min-width:200px;padding:.75rem;transition:border-color .2s,background-color .2s}.ps-image-field-active{border-color:var(--vergil-accent);background:#8ba55d14}.ps-image-field label{color:var(--text-secondary);margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}.ps-avatar-preview{border:2px solid var(--border-color);background:var(--bg-primary);border-radius:50%;justify-content:center;align-items:center;width:96px;height:96px;margin-bottom:.5rem;display:flex;overflow:hidden}.ps-avatar-preview img{object-fit:cover;width:100%;height:100%}.ps-avatar-letter{color:var(--text-secondary);font-size:2rem;font-weight:700}.ps-banner-preview{border:2px solid var(--border-color);background:var(--bg-primary);border-radius:6px;justify-content:center;align-items:center;width:100%;height:96px;margin-bottom:.5rem;display:flex;overflow:hidden}.ps-banner-preview img{object-fit:cover;width:100%;height:100%}.ps-banner-empty{color:var(--text-tertiary,var(--text-secondary));font-size:.8125rem}.ps-image-actions{gap:.5rem;margin-bottom:.25rem;display:flex}.ps-tags-grid{flex-wrap:wrap;gap:.5rem;display:flex}.ps-tag-btn{border:1.5px solid var(--border-color);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:999px;padding:.375rem .875rem;font-size:.8125rem;font-weight:500;transition:all .15s}.ps-tag-btn:hover{border-color:var(--vergil-accent);color:var(--text-primary)}.ps-tag-active{border-color:var(--vergil-accent);color:var(--vergil-accent);background:#8ba55d26;font-weight:600}.ps-socials-list{flex-direction:column;gap:.75rem;margin-top:.75rem;display:flex}.ps-social-field{align-items:center;gap:.75rem;display:flex}.ps-social-field label{width:110px;color:var(--text-secondary);flex-shrink:0;font-size:.875rem;font-weight:500}.ps-social-field .ps-input{flex:1}.ps-affiliations{flex-direction:column;gap:.5rem;margin-bottom:.75rem;display:flex}.ps-affiliation-row{background:var(--bg-primary);border-radius:6px;align-items:center;gap:.75rem;padding:.625rem .75rem;display:flex}.ps-affiliation-info{flex:1;align-items:center;gap:.75rem;min-width:0;display:flex}.ps-affiliation-name{color:var(--text-primary);white-space:nowrap;flex-shrink:0;font-size:.9375rem;font-weight:600}.ps-affiliation-role{min-width:120px;flex:1!important;width:auto!important}.ps-add-affiliation{margin-top:.5rem}.ps-add-affiliation select{max-width:300px}.ps-btn-small{border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-secondary);cursor:pointer;border-radius:4px;padding:.35rem .7rem;font-size:.8rem;transition:border-color .15s}.ps-btn-small:hover{border-color:var(--vergil-accent)}.ps-btn-danger{color:var(--error,#f87171);border-color:var(--error,#f87171)}.ps-btn-danger:hover{border-color:var(--error,#f87171)}.ps-actions{flex-wrap:wrap;gap:.75rem;margin-top:.5rem;display:flex}.ps-btn-primary{background:var(--vergil-primary);color:var(--text-primary);cursor:pointer;border:none;border-radius:6px;padding:.6rem 1.5rem;font-size:.9375rem;font-weight:600;transition:opacity .15s}.ps-btn-primary:hover:not(:disabled){opacity:.9}.ps-btn-primary:disabled{opacity:.5;cursor:not-allowed}.ps-btn-secondary{color:var(--text-secondary);border:1px solid var(--border-color);cursor:pointer;background:0 0;border-radius:6px;padding:.6rem 1.25rem;font-size:.9375rem;transition:border-color .15s}.ps-btn-secondary:hover{border-color:var(--vergil-accent)}@media (width>=769px){.ps-tab-row{display:flex}}@media (width<=768px){.ps-discord-header,.ps-discord-status{flex-direction:column;align-items:flex-start}.ps-tab-row{display:none}.ps-page{--mobile-subnav-offset-top:1.25rem;--mobile-subnav-offset-x:1.25rem;padding:1.25rem}.ps-images-grid{flex-direction:column;gap:1.25rem}.ps-social-field{flex-direction:column;align-items:flex-start;gap:.25rem}.ps-social-field label{width:auto}.ps-social-field .ps-input{width:100%}.ps-affiliation-info{flex-direction:column;align-items:flex-start;gap:.375rem}.ps-affiliation-role{min-width:100%!important}}.event-detail{max-width:1100px;margin:0 auto;padding:2rem}.ed-loading,.ed-error{text-align:center;max-width:800px;color:var(--text-secondary);margin:3rem auto;padding:2rem}.ed-hero{background-position:50%;background-size:cover;border-radius:8px;height:200px;margin-bottom:1.5rem}.ed-header{border-bottom:2px solid var(--border);margin-bottom:2rem;padding-bottom:1.5rem}.ed-header-content{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.ed-badges{flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem;display:flex}.ed-header h1{color:var(--text-primary);margin:0;font-size:2rem}.ed-admin-actions{flex-shrink:0}.ed-status-badge{text-transform:uppercase;letter-spacing:.03em;border-radius:3px;padding:.2rem .625rem;font-size:.75rem;font-weight:600;display:inline-block}.ed-status-badge.status-draft{background:var(--accent-yellow-transparent);color:var(--accent-yellow)}.ed-status-badge.status-scheduled{color:var(--vergil-accent);background:#8ba55d26}.ed-status-badge.status-live{background:var(--accent-red);color:#fff;animation:2s ease-in-out infinite ec-pulse}.ed-status-badge.status-completed{background:var(--surface-elevated);color:var(--text-secondary)}.ed-status-badge.status-cancelled{background:var(--surface-elevated);color:var(--text-tertiary);text-decoration:line-through}.ed-tag{background:var(--surface-elevated);color:var(--text-secondary);border:1px solid var(--border);border-radius:3px;padding:.15rem .5rem;font-size:.75rem;display:inline-block}.ed-body{gap:2rem;display:flex}.ed-main{flex:1;min-width:0}.ed-sidebar{flex-direction:column;flex-shrink:0;gap:1rem;width:300px;display:flex}.ed-section{border-bottom:1px solid var(--border);margin-bottom:2rem;padding-bottom:1.5rem}.ed-section:last-child{border-bottom:none}.ed-section h2{color:var(--text-primary);margin:0 0 1rem;font-size:1.125rem}.ed-datetime{align-items:flex-start;gap:1.25rem;display:flex}.ed-date-block{text-align:center;background:var(--surface-elevated);border:1px solid var(--border);border-radius:4px;flex-shrink:0;width:60px;overflow:hidden}.ed-date-month{text-transform:uppercase;letter-spacing:.05em;background:var(--vergil-accent);color:var(--background);padding:.25rem;font-size:.6875rem;font-weight:600;display:block}.ed-date-day{color:var(--text-primary);padding:.375rem;font-size:1.5rem;font-weight:700;display:block}.ed-date-full{color:var(--text-primary);margin:0 0 .25rem;font-weight:500}.ed-date-time{color:var(--text-secondary);margin:0 0 .25rem}.ed-date-tz{color:var(--text-tertiary);margin:0;font-size:.8125rem}.ed-recurrence{background:var(--surface-elevated);border:1px solid var(--border);color:var(--text-secondary);border-radius:4px;margin-top:.75rem;padding:.5rem .75rem;font-size:.875rem}.ed-multi-day{flex-direction:column;gap:.5rem;margin-top:.75rem;display:flex}.ed-multi-day-item{background:var(--surface-elevated);border:1px solid var(--border);border-radius:4px;gap:1rem;padding:.5rem .75rem;font-size:.875rem;display:flex}.ed-multi-day-item strong{color:var(--text-primary);min-width:100px}.ed-multi-day-item span{color:var(--text-secondary)}.ed-stream-block{align-items:center;gap:1rem;margin-top:.75rem;display:flex}.ed-stream-block a{background:var(--accent-purple,#7c3aed);color:#fff;border-radius:4px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;text-decoration:none}.ed-auto-detect{color:var(--text-secondary);font-size:.8125rem}.ed-location{flex-direction:column;gap:.5rem;display:flex}.ed-location-type{color:var(--text-primary);font-weight:500}.ed-venue{color:var(--text-primary);margin:0;font-weight:500}.ed-address{color:var(--text-secondary);margin:0;font-size:.9375rem}.ed-location a{color:var(--vergil-accent);text-decoration:none}.ed-location a:hover{text-decoration:underline}.ed-description{color:var(--text-primary);line-height:1.6}.ed-description a{color:var(--vergil-accent)}.ed-description h1,.ed-description h2,.ed-description h3{color:var(--text-primary)}.ed-attendees{flex-wrap:wrap;gap:.5rem;display:flex}.ed-attendee{background:var(--surface-elevated);border:1px solid var(--border);border-radius:4px;align-items:center;gap:.5rem;padding:.375rem .75rem;font-size:.875rem;display:flex}.ed-attendee-avatar{border-radius:50%;width:20px;height:20px}.ed-maybe-count{color:var(--text-secondary);margin-top:.5rem;font-size:.8125rem}.ed-sidebar-card{background:var(--surface-elevated);border:1px solid var(--border);border-radius:4px;padding:1.25rem}.ed-sidebar-card h3{color:var(--text-primary);margin:0 0 .75rem;font-size:1rem}.ed-rsvp-capacity{color:var(--text-secondary);margin:0 0 .75rem;font-size:.875rem}.ed-rsvp-confirmed{color:var(--vergil-accent);margin:0 0 .75rem;font-weight:500}.ed-rsvp-maybe{color:var(--accent-yellow);margin:0 0 .75rem}.ed-rsvp-waitlisted{color:var(--accent-blue);margin:0}.ed-rsvp-pending{color:var(--accent-yellow);margin:0}.ed-rsvp-login{color:var(--text-secondary);margin:0;font-size:.875rem}.ed-rsvp-btn-group{gap:.5rem;display:flex}.ed-rsvp-btn-group .button-primary,.ed-rsvp-btn-group .button-secondary,.ed-rsvp-btn-group .button-danger{flex:1;padding:.625rem 1rem;font-size:.875rem}.ed-rsvp-actions,.ed-ical-actions{flex-direction:column;gap:.5rem;display:flex}.ed-ical-actions .button-secondary,.ed-ical-actions a{text-align:center;padding:.625rem 1rem;font-size:.875rem;text-decoration:none;display:block}.ed-sync-active{color:var(--vergil-accent);margin:0 0 .75rem;font-size:.875rem}.ed-sync-status{color:var(--text-secondary);margin:.5rem 0 0;font-size:.8125rem}.ed-ical-url-box{gap:.5rem;margin:1rem 0;display:flex}.ed-ical-url-box input{background:var(--input-bg,var(--surface-elevated));border:1px solid var(--input-border,var(--border-light));color:var(--text-primary);border-radius:4px;flex:1;padding:.625rem;font-family:monospace;font-size:.8125rem}.ed-ical-url-box .button-primary{white-space:nowrap;padding:.625rem 1rem;font-size:.875rem}@media (width<=768px){.event-detail{padding:1rem}.ed-header-content,.ed-body{flex-direction:column}.ed-sidebar{width:100%}.ed-hero{height:150px}}.event-form-container{background:var(--bg-primary);max-width:900px;margin:0 auto;padding:2rem}.ef-multi-day-row{background:var(--surface-elevated);border:1px solid var(--border);border-radius:4px;margin-bottom:1rem;padding:1rem}.ef-scope-options{flex-direction:column;gap:.75rem;margin:1rem 0;display:flex}.ef-scope-option{background:var(--surface-elevated);border:1px solid var(--border);cursor:pointer;border-radius:4px;align-items:flex-start;gap:.75rem;padding:.75rem 1rem;transition:border-color .15s;display:flex}.ef-scope-option:hover{border-color:var(--vergil-accent)}.ef-scope-option input[type=radio]{flex-shrink:0;margin-top:.25rem}.ef-scope-option strong{color:var(--text-primary);margin-bottom:.125rem;display:block}.ef-scope-option p{color:var(--text-secondary);margin:0;font-size:.8125rem}@media (width<=768px){.event-form-container{padding:1rem}}.landing{width:100%;max-width:none;margin:0;padding:0}.landing-hero{background:linear-gradient(160deg, #0f110c 0%, var(--bg-primary) 40%, var(--bg-secondary) 100%);justify-content:center;align-items:center;min-height:420px;padding:4rem 2rem;display:flex;position:relative;overflow:hidden}.landing-hero-watermark{opacity:.04;pointer-events:none;-webkit-user-select:none;user-select:none;width:400px;height:400px;position:absolute;bottom:-60px;right:-60px}.landing-hero-content{text-align:center;max-width:700px;position:relative}.landing-hero-content h1{color:var(--vergil-accent);margin-bottom:1rem;font-size:2.75rem;font-weight:800;line-height:1.15}.landing-hero-content p{color:var(--text-secondary);margin-bottom:2rem;font-size:1.2rem;line-height:1.6}.landing-hero-cta{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.landing-btn{cursor:pointer;border:none;border-radius:4px;padding:.875rem 2rem;font-size:1.05rem;font-weight:600;transition:background .2s,transform .15s}.landing-btn:hover{transform:translateY(-2px)}.landing-btn-primary{background:var(--vergil-primary);color:var(--text-primary)}.landing-btn-primary:hover{background:var(--vergil-primary-light)}.landing-btn-secondary{color:var(--vergil-accent);border:2px solid var(--vergil-accent);background:0 0}.landing-btn-secondary:hover{background:var(--vergil-primary);color:var(--text-primary);border-color:var(--vergil-primary)}.landing-activity{background:var(--bg-secondary);border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);padding:2.5rem 2rem}.landing-activity h2{text-align:center;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:1.5rem;font-size:1.1rem;font-weight:600}.landing-activity-strip{-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--border-light) transparent;gap:1rem;max-width:1200px;margin:0 auto;padding-bottom:.5rem;display:flex;overflow-x:auto}.landing-featured-row-wrap{max-width:1200px;margin:1.5rem auto 0}.landing-featured-heading{color:var(--text-primary);letter-spacing:.04em;text-transform:uppercase;margin:0 0 .85rem;font-size:.95rem;font-weight:700}.landing-activity-card{background:var(--bg-elevated);border:1px solid var(--border-color);cursor:pointer;border-radius:6px;flex:0 0 220px;padding:1rem 1.25rem;transition:border-color .2s,transform .15s}.landing-activity-card:hover{border-color:var(--vergil-primary);transform:translateY(-2px)}.landing-activity-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:3px;margin-bottom:.5rem;padding:.15rem .5rem;font-size:.7rem;font-weight:700;display:inline-block}.badge-live{background:var(--accent-red);color:#fff}.badge-upcoming{background:var(--vergil-primary);color:var(--text-primary)}.landing-activity-card h3{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;margin-bottom:.35rem;font-size:.9rem;font-weight:600;overflow:hidden}.landing-activity-meta{color:var(--text-tertiary);gap:.75rem;font-size:.78rem;display:flex}.landing-activity-guild-header{align-items:center;gap:.5rem;margin-bottom:.35rem;display:flex}.landing-activity-guild-logo,.landing-activity-guild-logo-placeholder{border-radius:4px;flex-shrink:0;width:28px;height:28px}.landing-activity-guild-logo{object-fit:cover}.landing-activity-guild-logo-placeholder{color:#fff;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:flex}.landing-activity-guild-header h3{margin-bottom:0}.landing-activity-card-creator{min-height:106px}.landing-activity-creator-avatar{border-radius:999px}.landing-activity-creator-title{min-width:0}.landing-activity-creator-title h3{margin:0 0 .15rem}.landing-activity-creator-title span{color:var(--text-tertiary);white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;display:block;overflow:hidden}.landing-activity-creator-tags{flex-wrap:wrap;gap:.35rem;margin-top:.6rem;display:flex}.landing-activity-creator-tag{min-height:1.5rem;color:var(--text-secondary);background:#8ba55d1f;border-radius:999px;align-items:center;padding:.15rem .45rem;font-size:.7rem;font-weight:600;display:inline-flex}.landing-capabilities{max-width:1200px;margin:0 auto;padding:4rem 2rem}.landing-capabilities>h2{text-align:center;color:var(--text-primary);margin-bottom:2.5rem;font-size:1.75rem;font-weight:700}.landing-capabilities-grid{grid-template-columns:repeat(3,1fr);gap:1.25rem;display:grid}.landing-cap-card{background:var(--bg-elevated);border:1px solid var(--border-color);cursor:pointer;border-radius:8px;padding:1.75rem;transition:border-color .2s,transform .15s;position:relative}.landing-cap-card:hover{border-color:var(--vergil-primary);transform:translateY(-3px)}.landing-cap-card-nolink{cursor:default}.landing-cap-card-nolink:hover{transform:none}.landing-cap-card-soon{opacity:.6;cursor:default}.landing-cap-card-soon:hover{border-color:var(--border-color);transform:none}.landing-cap-soon-badge{background:var(--accent-yellow);color:#000;text-transform:uppercase;letter-spacing:.03em;border-radius:3px;padding:.15rem .5rem;font-size:.7rem;font-weight:700;position:absolute;top:.75rem;right:.75rem}.landing-cap-icon{color:var(--vergil-accent);margin-bottom:.75rem}.landing-cap-card h3{color:var(--text-primary);margin-bottom:.5rem;font-size:1.1rem;font-weight:600}.landing-cap-card p{color:var(--text-secondary);font-size:.9rem;line-height:1.5}.landing-cta{text-align:center;border-top:1px solid var(--border-color);background:#0f110c;padding:4rem 2rem}.landing-cta h2{color:#f0f0f0;margin-bottom:1.5rem;font-size:1.75rem;font-weight:700}.landing-cta .landing-btn-primary{color:#fff}.landing-cta-login{color:#b0b0b0;margin-top:1rem;font-size:.9rem}.landing-link-btn{color:#8fc98a;cursor:pointer;background:0 0;border:none;padding:0;font-size:.9rem;font-weight:600;text-decoration:underline}.landing-link-btn:hover{color:#b5e6b0}@media (width<=900px){.landing-capabilities-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.landing-hero{min-height:340px;padding:3rem 1.5rem}.landing-hero-content h1{font-size:2rem}.landing-hero-content p{font-size:1.05rem}.landing-hero-watermark{width:250px;height:250px;bottom:-40px;right:-40px}.landing-capabilities-grid{grid-template-columns:1fr}.landing-activity-card{flex:0 0 180px}}.cs-page{justify-content:center;align-items:center;min-height:70vh;padding:2rem;display:flex}.cs-content{text-align:center;max-width:420px}.cs-logo{opacity:.85;width:72px;height:72px;margin-bottom:1.5rem}.cs-title{color:var(--text-primary);letter-spacing:-.02em;margin:0 0 .75rem;font-size:2.25rem}.cs-subtitle{color:var(--text-secondary);margin:0 0 2rem;font-size:1.0625rem;line-height:1.6}.cs-login-btn{background:var(--vergil-primary);color:var(--text-primary);cursor:pointer;border:none;border-radius:6px;padding:.625rem 1.75rem;font-family:inherit;font-size:.9375rem;font-weight:600;transition:background .2s}.cs-login-btn:hover{background:var(--vergil-primary-dark)}.announcement-banners{width:100%}.announcement-banner{justify-content:center;align-items:center;min-height:2.5rem;padding:.6rem 1rem;font-size:.9rem;font-weight:500;line-height:1.4;display:flex;position:relative}.announcement-text{text-align:center;flex:1;padding:0 2.5rem}.announcement-dismiss{cursor:pointer;opacity:.8;background:0 0;border:none;padding:.25rem .5rem;font-size:1.4rem;line-height:1;transition:opacity .15s;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.announcement-dismiss:hover{opacity:1}:root{--base-font-size:16px;--bp-sm:480px;--bp-md:768px;--bp-lg:1024px;--bp-xl:1280px;--vergil-primary:#6b7c4e;--vergil-primary-light:#7d9159;--vergil-primary-dark:#5a6941;--vergil-accent:#8ba55d;--vergil-accent-hover:#9db56e;--bg-primary:#1a1d15;--bg-secondary:#242820;--bg-elevated:#2d3228;--text-primary:#e8ebe4;--text-secondary:#b5baa8;--text-tertiary:#8a8f7e;--border-color:#3a4031;--border-light:#4a5241;--error:#dc2626;--success:#8ba55d;--warning:#f59e0b;--input-bg:#242820;--input-border:#4a5241;--input-focus-border:#8ba55d;--surface:var(--bg-primary);--surface-elevated:var(--bg-elevated);--border:var(--border-color);--primary:var(--vergil-primary);--primary-dark:var(--vergil-primary-dark);--background:var(--bg-primary);--accent-blue:#3b82f6;--accent-blue-transparent:#3b82f61a;--accent-red:#dc2626;--accent-red-transparent:#dc26261a;--accent-green:var(--vergil-accent);--accent-yellow:#f59e0b;--accent-yellow-transparent:#f59e0b1a;--accent-purple:#8b5cf6}[data-theme=light]{--vergil-primary:#5a6941;--vergil-primary-light:#6b7c4e;--vergil-primary-dark:#4a5637;--vergil-accent:#4a7a2e;--vergil-accent-hover:#3d6b24;--bg-primary:#f4f3ef;--bg-secondary:#eae8e3;--bg-elevated:#fff;--text-primary:#1e211a;--text-secondary:#4a4f3f;--text-tertiary:#6e7365;--border-color:#d0cfc8;--border-light:#e2e0da;--error:#dc2626;--success:#4a7a2e;--warning:#d97706;--input-bg:#fff;--input-border:#d0cfc8;--input-focus-border:#4a7a2e;--surface:var(--bg-primary);--surface-elevated:var(--bg-elevated);--border:var(--border-color);--primary:var(--vergil-primary);--primary-dark:var(--vergil-primary-dark);--background:var(--bg-primary);--accent-blue:#2563eb;--accent-blue-transparent:#2563eb1a;--accent-red:#dc2626;--accent-red-transparent:#dc26261a;--accent-green:var(--vergil-accent);--accent-yellow:#d97706;--accent-yellow-transparent:#d977061a;--accent-purple:#7c3aed}body{font-size:var(--base-font-size)}*{box-sizing:border-box;margin:0;padding:0}html,body{background-color:var(--bg-primary)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--text-primary);font-family:Mohave,system-ui,Avenir,Helvetica,Arial,sans-serif;overflow-x:clip}.App{flex-direction:column;width:100%;min-height:100vh;padding-top:4.75rem;display:flex}.main-content{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:2rem 2rem 4rem}.site-footer{text-align:center;color:var(--text-secondary);border-top:1px solid var(--border-color);margin-top:auto;padding:1rem 2rem;font-size:.8125rem}.hero{text-align:center;width:100%;margin-bottom:4rem}.hero-title{color:var(--vergil-accent);margin-bottom:1rem;font-size:3rem;font-weight:800}.hero-subtitle{color:var(--text-secondary);max-width:600px;margin-bottom:2rem;margin-left:auto;margin-right:auto;font-size:1.25rem}.hero-buttons{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.hero-button{cursor:pointer;border:none;border-radius:4px;padding:.875rem 2rem;font-size:1.1rem;font-weight:600;transition:all .2s}.hero-button.primary{background-color:var(--vergil-primary);color:var(--text-primary)}.hero-button.primary:hover{background-color:var(--vergil-primary-light);transform:translateY(-2px)}.hero-button.secondary{color:var(--vergil-accent);border:2px solid var(--vergil-accent);background-color:#0000}.hero-button.secondary:hover{background-color:var(--vergil-primary);color:var(--text-primary);border-color:var(--vergil-primary);transform:translateY(-2px)}.welcome-message{color:var(--vergil-accent);font-size:1.5rem;font-weight:600}.features{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;width:100%;margin-top:4rem;display:grid}.feature{background-color:var(--bg-elevated);text-align:center;border:1px solid var(--border-color);border-radius:8px;padding:2rem;transition:transform .2s}.feature:hover{border-color:var(--vergil-primary);transform:translateY(-4px)}.feature h3{color:var(--vergil-accent);margin-bottom:1rem;font-size:1.5rem}.feature p{color:var(--text-secondary);line-height:1.6}@media (width<=768px){.hero-title{font-size:2rem}.hero-subtitle{font-size:1rem}.features{grid-template-columns:1fr}}
