:root{--color-background:#121310;--color-surface:#1a1c18;--color-surface-alt:#22251f;--color-text:#e7e4dc;--color-text-muted:#aaa99f;--color-accent:#829b75;--color-border:#363a32;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--radius-sm:.25rem;--radius-md:.5rem;--content-width:72rem;color:var(--color-text);background-color:var(--color-background);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*,:before,:after{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background-color:var(--color-background);min-height:100vh;color:var(--color-text)}#root{width:100%;min-height:100vh}a{color:inherit}button{font:inherit}.auth-loading-screen{min-height:100vh;padding:var(--space-xl) var(--space-md);background-color:var(--color-background);color:var(--color-text-muted);text-align:center;place-items:center;display:grid}.landing-page{min-height:100vh;padding:var(--space-xl) var(--space-lg);background:radial-gradient(circle at center, var(--color-surface) 0, transparent 55%), var(--color-background);place-items:center;display:grid}.landing-content{text-align:center;width:100%;max-width:48rem}.landing-title{color:var(--color-text);margin:0;font-weight:600;line-height:1}.landing-title-primary,.landing-title-secondary{display:block}.landing-title-primary{letter-spacing:-.045em;font-size:clamp(2.75rem,9vw,6.5rem)}.landing-title-secondary{margin-top:var(--space-md);color:var(--color-text-muted);letter-spacing:.18em;text-transform:uppercase;font-size:clamp(.9rem,2vw,1.15rem);font-weight:500}.landing-tagline{margin:var(--space-xl) 0 0;color:var(--color-text-muted);font-size:clamp(1rem,2.5vw,1.2rem);line-height:1.6}.landing-entry{margin-top:var(--space-xl);padding:.75rem var(--space-xl);border:1px solid var(--color-accent);border-radius:var(--radius-sm);background-color:var(--color-surface-alt);color:var(--color-text);font-weight:600;text-decoration:none;display:inline-block}.landing-entry:hover{background-color:var(--color-accent);color:var(--color-background)}.landing-entry:focus-visible{outline:2px solid var(--color-accent);outline-offset:var(--space-xs)}.auth-page{min-height:100vh;padding:var(--space-xl) var(--space-md);place-items:center;display:grid}.auth-card{width:100%;max-width:26rem;padding:var(--space-xl);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface)}.auth-title{margin:0 0 var(--space-xl);font-size:2rem;font-weight:600}.auth-heading{margin-bottom:var(--space-xl)}.auth-heading .auth-title{margin-bottom:var(--space-sm)}.auth-description{color:var(--color-text-muted);margin:0;line-height:1.5}.auth-form{gap:var(--space-lg);display:grid}.auth-field{gap:var(--space-sm);color:var(--color-text);font-size:.95rem;font-weight:600;display:grid}.auth-field input,.auth-field select{width:100%;padding:.75rem var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-background);color:var(--color-text);font:inherit}.auth-field input:focus,.auth-field select:focus{border-color:var(--color-accent);outline:2px solid color-mix(in srgb, var(--color-accent) 35%, transparent);outline-offset:1px}.auth-hint{color:var(--color-text-muted);font-size:.8rem;font-weight:400;line-height:1.5}.auth-submit{width:100%;padding:.75rem var(--space-md);border:1px solid var(--color-accent);border-radius:var(--radius-sm);background-color:var(--color-accent);color:var(--color-background);cursor:pointer;font-weight:650}.auth-submit:hover:not(:disabled){background-color:var(--color-surface-alt);color:var(--color-text)}.auth-submit:focus-visible{outline:2px solid var(--color-accent);outline-offset:var(--space-xs)}.auth-submit:disabled{cursor:not-allowed;opacity:.65}.auth-error{margin:var(--space-md) 0 0;padding:var(--space-sm) var(--space-md);background-color:var(--color-surface-alt);color:#d9b8b0;border-left:3px solid #9b766e;line-height:1.5}.auth-success{margin:var(--space-md) 0 0;padding:var(--space-sm) var(--space-md);border-left:3px solid var(--color-accent);background-color:var(--color-surface-alt);color:var(--color-text);line-height:1.5}.auth-alternate{margin-top:var(--space-lg);color:var(--color-text-muted);text-align:center;text-underline-offset:.2em;display:block}.auth-alternate:hover{color:var(--color-accent)}.auth-password-reset{margin-top:var(--space-md);color:var(--color-text-muted);text-align:right;text-underline-offset:.2em;font-size:.9rem;display:block}.auth-password-reset:hover{color:var(--color-accent)}.auth-password-reset:focus-visible{outline:2px solid var(--color-accent);outline-offset:var(--space-xs)}.app-shell{background-color:var(--color-background);flex-direction:column;min-height:100vh;display:flex}.app-header{background-color:var(--color-surface);border-bottom:1px solid var(--color-border)}.app-header-inner{justify-content:space-between;align-items:center;gap:var(--space-lg);width:100%;max-width:var(--content-width);padding:var(--space-md) var(--space-lg);margin:0 auto;display:flex}.app-brand{color:var(--color-text);letter-spacing:.01em;white-space:nowrap;font-size:1rem;font-weight:650}.app-header-controls{align-items:center;gap:var(--space-md);display:flex}.app-nav{align-items:center;gap:var(--space-xs);display:flex}.nav-link{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);color:var(--color-text-muted);border:1px solid #0000;text-decoration:none}.nav-link:hover{background-color:var(--color-surface-alt);color:var(--color-text)}.nav-link.active{border-color:var(--color-border);background-color:var(--color-surface-alt);color:var(--color-accent)}.app-logout{padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;white-space:nowrap;background-color:#0000}.app-logout:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-text)}.app-logout:focus-visible{outline:2px solid var(--color-accent);outline-offset:var(--space-xs)}.app-logout:disabled{cursor:wait;opacity:.65}.app-logout-error{width:100%;max-width:var(--content-width);margin:calc(var(--space-sm) * -1) auto var(--space-md);padding:0 var(--space-lg);color:#d9b8b0;font-size:.9rem}.app-main{width:100%;max-width:var(--content-width);padding:var(--space-xl) var(--space-lg);flex:1;margin:0 auto}.app-footer{width:100%;max-width:var(--content-width);padding:var(--space-md) var(--space-lg);border-top:1px solid var(--color-border);text-align:right;margin:0 auto}.app-admin-link{color:var(--color-text-muted);text-underline-offset:.2em;font-size:.85rem}.app-admin-link:hover{color:var(--color-text)}.app-admin-link:focus-visible{outline:2px solid var(--color-accent);outline-offset:var(--space-xs)}.admin-access-status{max-width:38rem;padding:var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);color:var(--color-text-muted)}.admin-access-status p{margin:0;line-height:1.5}.admin-access-status button{margin-top:var(--space-md);padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-surface-alt);color:var(--color-text);cursor:pointer}.admin-access-status button:hover{border-color:var(--color-accent)}.admin-access-status button:focus-visible{outline:2px solid var(--color-accent);outline-offset:var(--space-xs)}.admin-page{width:100%;max-width:56rem}.admin-page-header h1{margin:0;font-size:2rem;font-weight:600}.admin-page-header p{margin:var(--space-sm) 0 0;color:var(--color-text-muted);line-height:1.5}.admin-section-switcher{gap:var(--space-sm);margin-top:var(--space-xl);flex-wrap:wrap;display:flex}.admin-section-button{padding:.75rem var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;background-color:#0000;font-weight:600}.admin-section-button:hover{background-color:var(--color-surface-alt);color:var(--color-text)}.admin-section-button.active{border-color:var(--color-accent);background-color:var(--color-surface-alt);color:var(--color-accent)}.admin-section-button:focus-visible{outline:2px solid var(--color-accent);outline-offset:var(--space-xs)}.admin-section-content{margin-top:var(--space-lg);padding:var(--space-xl);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface)}.admin-section-content h2{margin:0 0 var(--space-sm);font-size:1.25rem;font-weight:600}.admin-section-content p{color:var(--color-text-muted);margin:0;line-height:1.5}.admin-users{margin-top:var(--space-md)}.admin-action-message{padding:var(--space-sm) var(--space-md);border-left:3px solid var(--color-accent);background-color:var(--color-surface-alt);margin-bottom:var(--space-md)!important;color:var(--color-text)!important}.admin-action-error{border-left-color:#9b766e;color:#d9b8b0!important}.admin-users-status{padding:var(--space-md);border-radius:var(--radius-sm);background-color:var(--color-surface-alt)}.admin-users-status button{margin-top:var(--space-md);padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-background);color:var(--color-text);cursor:pointer}.admin-users-status button:hover{border-color:var(--color-accent)}.admin-users-status button:focus-visible{outline:2px solid var(--color-accent);outline-offset:var(--space-xs)}.admin-user-list{gap:var(--space-sm);margin:0;padding:0;list-style:none;display:grid}.admin-user{justify-content:space-between;align-items:center;gap:var(--space-md);min-width:0;padding:.75rem var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-background);flex-wrap:wrap;display:flex}.admin-user-superadmin{border-color:color-mix(in srgb, var(--color-accent) 65%, var(--color-border))}.admin-user-identity{gap:var(--space-xs);min-width:0;display:grid}.admin-user-display-name,.admin-user-username{overflow-wrap:anywhere}.admin-user-display-name{color:var(--color-text);font-weight:600}.admin-user-username{color:var(--color-text-muted);font-size:.875rem}.admin-role-badge{padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-border);color:var(--color-text-muted);border-radius:999px;flex:none;font-size:.8rem;font-weight:600}.admin-deletion-pending-badge{padding:var(--space-xs) var(--space-sm);color:#d9b8b0;border:1px solid #9b766e;border-radius:999px;flex:none;font-size:.8rem;font-weight:600}.admin-user-controls{justify-content:flex-end;align-items:center;gap:var(--space-sm);display:flex}.admin-promote-button,.admin-demote-button,.admin-demote-confirm,.admin-demote-cancel,.admin-delete-button,.admin-delete-confirm,.admin-delete-cancel{padding:var(--space-sm) var(--space-md);border:1px solid var(--color-accent);border-radius:var(--radius-sm);color:var(--color-text);cursor:pointer;white-space:nowrap;background-color:#0000;font-size:.85rem}.admin-promote-button:hover:not(:disabled),.admin-demote-button:hover:not(:disabled),.admin-demote-confirm:hover:not(:disabled),.admin-demote-cancel:hover:not(:disabled),.admin-delete-button:hover:not(:disabled),.admin-delete-confirm:hover:not(:disabled),.admin-delete-cancel:hover:not(:disabled){background-color:var(--color-surface-alt)}.admin-promote-button:focus-visible,.admin-demote-button:focus-visible,.admin-demote-confirm:focus-visible,.admin-demote-cancel:focus-visible,.admin-delete-button:focus-visible,.admin-delete-confirm:focus-visible,.admin-delete-cancel:focus-visible{outline:2px solid var(--color-accent);outline-offset:var(--space-xs)}.admin-promote-button:disabled,.admin-demote-button:disabled,.admin-demote-confirm:disabled,.admin-demote-cancel:disabled,.admin-delete-button:disabled,.admin-delete-confirm:disabled,.admin-delete-cancel:disabled{cursor:not-allowed;opacity:.6}.admin-promote-button.is-submitting,.admin-demote-confirm.is-submitting,.admin-delete-confirm.is-submitting{cursor:progress}.admin-demote-button,.admin-demote-cancel{border-color:var(--color-border);color:var(--color-text-muted)}.admin-demote-confirmation{padding:var(--space-md);border-left:3px solid var(--color-border);background-color:var(--color-surface-alt);flex:1 0 100%}.admin-demote-confirmation-actions{gap:var(--space-sm);margin-top:var(--space-md);flex-wrap:wrap;display:flex}.admin-delete-button,.admin-delete-confirm{color:#d9b8b0;border-color:#9b766e}.admin-delete-cancel{border-color:var(--color-border);color:var(--color-text-muted)}.admin-delete-confirmation{padding:var(--space-md);background-color:color-mix(in srgb, #9b766e 10%, var(--color-surface-alt));border-left:3px solid #9b766e;flex:1 0 100%}.admin-delete-confirmation p{color:#d9b8b0}.admin-delete-confirmation-actions{gap:var(--space-sm);margin-top:var(--space-md);flex-wrap:wrap;display:flex}.admin-rounds{margin-top:var(--space-md)}.admin-rounds-status{padding:var(--space-md);border-radius:var(--radius-sm);background-color:var(--color-surface-alt)}.admin-rounds-status button{margin-top:var(--space-md);padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-background);color:var(--color-text);cursor:pointer}.admin-rounds-status button:hover{border-color:var(--color-accent)}.admin-rounds-status button:focus-visible{outline:2px solid var(--color-accent);outline-offset:var(--space-xs)}.admin-round-list{gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(min(18rem,100%),1fr));margin:0;padding:0;list-style:none;display:grid}.admin-round-card{height:100%;padding:var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-background)}.admin-round-card-link{border-radius:var(--radius-md);height:100%;color:inherit;text-decoration:none;display:block}.admin-round-card-link:hover .admin-round-card{border-color:var(--color-accent);background-color:var(--color-surface-alt)}.admin-round-card-link:focus-visible{outline:2px solid var(--color-accent);outline-offset:var(--space-xs)}.admin-round-card-header{justify-content:space-between;align-items:flex-start;gap:var(--space-md);display:flex}.admin-round-card-header h3{overflow-wrap:anywhere;min-width:0;margin:0;font-size:1.1rem;font-weight:600}.admin-round-card-header .round-badges{justify-content:flex-end}.admin-round-details{gap:var(--space-md);margin:var(--space-lg) 0 0;padding-top:var(--space-md);border-top:1px solid var(--color-border);display:grid}.admin-round-details div{gap:var(--space-xs);display:grid}.admin-round-details dt{color:var(--color-text-muted);font-size:.8rem;font-weight:600}.admin-round-details dd{overflow-wrap:anywhere;margin:0}.admin-role-admin{border-color:color-mix(in srgb, var(--color-accent) 45%, var(--color-border));color:var(--color-text)}.admin-role-superadmin{border-color:var(--color-accent);background-color:color-mix(in srgb, var(--color-accent) 14%, transparent);color:var(--color-accent)}@media (width<=32rem){.admin-section-button{width:100%}.admin-user,.admin-user-controls{flex-direction:column;align-items:flex-start}}.profile-page{width:100%;max-width:42rem}.profile-title{margin:0 0 var(--space-xl);font-size:2rem;font-weight:600}.profile-sections{gap:var(--space-xl);display:grid}.profile-section-title{margin:0 0 var(--space-md);font-size:1.25rem;font-weight:600}.profile-security-forms{gap:var(--space-md);display:grid}.profile-card,.profile-status{padding:var(--space-xl);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface)}.profile-status p,.profile-details{margin:0}.profile-detail{gap:var(--space-lg);padding:var(--space-md) 0;border-bottom:1px solid var(--color-border);grid-template-columns:minmax(8rem,1fr) minmax(0,2fr);display:grid}.profile-detail:first-child{padding-top:0}.profile-detail:last-child{border-bottom:0;padding-bottom:0}.profile-detail dt{color:var(--color-text-muted);font-weight:500}.profile-detail dd{overflow-wrap:anywhere;min-width:0;margin:0}.profile-display-form{gap:var(--space-sm);display:grid}.profile-display-controls{gap:var(--space-sm);display:flex}.profile-display-controls input{min-width:0;padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-background);color:var(--color-text);font:inherit;flex:1}.profile-display-controls input:focus{border-color:var(--color-accent);outline:2px solid color-mix(in srgb, var(--color-accent) 35%, transparent);outline-offset:1px}.profile-display-controls input:disabled,.auth-field input:disabled,.auth-field select:disabled{background-color:var(--color-surface-alt);color:var(--color-text-muted);cursor:not-allowed;opacity:.7}.profile-save{padding:var(--space-sm) var(--space-md);border:1px solid var(--color-accent);border-radius:var(--radius-sm);background-color:var(--color-accent);color:var(--color-background);cursor:pointer;white-space:nowrap;font-weight:650}.profile-save:hover:not(:disabled){background-color:var(--color-surface-alt);color:var(--color-text)}.profile-save:focus-visible{outline:2px solid var(--color-accent);outline-offset:var(--space-xs)}.profile-save:disabled{cursor:not-allowed;opacity:.6}.profile-form-error,.profile-form-success{margin:0;font-size:.9rem;line-height:1.5}.profile-form-error{color:#d9b8b0}.profile-form-success{color:var(--color-accent)}.email-change-current{gap:var(--space-xs);margin-top:var(--space-lg);padding-bottom:var(--space-lg);border-bottom:1px solid var(--color-border);display:grid}.email-change-current span,.email-change-form label{color:var(--color-text-muted);font-size:.9rem;font-weight:500}.email-change-current strong{overflow-wrap:anywhere;font-weight:500}.email-change-form{gap:var(--space-sm);padding-top:var(--space-lg);display:grid}.email-change-pending{margin-top:var(--space-xs);color:var(--color-text-muted);display:block}.password-change-form,.password-change-fields{gap:var(--space-lg);display:grid}.profile-form-title{margin:0;font-size:1rem;font-weight:600}.email-change-form button:disabled,.password-change-form button:disabled{cursor:not-allowed}.email-change-form button[data-submitting=true],.password-change-form button[data-submitting=true]{cursor:progress}.profile-role{padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-surface-alt);color:var(--color-accent);font-size:.85rem;font-weight:650;display:inline-block}.profile-retry{margin-top:var(--space-md);padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-surface-alt);color:var(--color-text);cursor:pointer}.profile-retry:hover{border-color:var(--color-accent)}.profile-retry:focus-visible{outline:2px solid var(--color-accent);outline-offset:var(--space-xs)}.rounds-page{width:100%}.rounds-title{margin:0 0 var(--space-xl);font-size:2rem;font-weight:600}.characters-create-link{margin-bottom:var(--space-xl);padding:.75rem var(--space-md);border:1px solid var(--color-accent);border-radius:var(--radius-sm);background-color:var(--color-accent);color:var(--color-background);font-weight:650;text-decoration:none;display:inline-block}.characters-create-link:hover{background-color:var(--color-surface-alt);color:var(--color-text)}.characters-create-link:focus-visible{outline:2px solid var(--color-accent);outline-offset:var(--space-xs)}.character-section-switch{gap:var(--space-sm);margin:var(--space-lg) 0;flex-wrap:wrap;display:flex}.character-section-button,.character-restore-trigger,.character-restore-confirm,.character-restore-cancel{padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-surface-alt);color:var(--color-text);font:inherit;cursor:pointer}.character-section-button[data-active=true]{border-color:var(--color-accent);color:var(--color-accent);font-weight:650}.character-section-button:hover,.character-restore-trigger:hover:not(:disabled),.character-restore-confirm:hover:not(:disabled),.character-restore-cancel:hover:not(:disabled){border-color:var(--color-accent)}.character-section-button:focus-visible,.character-restore-trigger:focus-visible,.character-restore-confirm:focus-visible,.character-restore-cancel:focus-visible{outline:2px solid var(--color-accent);outline-offset:var(--space-xs)}.character-trash-card{gap:var(--space-lg);min-width:0;height:100%;display:grid}.character-trash-card .round-details{margin:0}.character-restore-trigger{justify-self:start}.character-restore-confirmation{gap:var(--space-sm);padding:var(--space-md);border-left:2px solid var(--color-accent);background-color:var(--color-surface-alt);display:grid}.character-restore-confirmation p{margin:0;line-height:1.5}.character-restore-confirmation p:not([role=alert]){color:var(--color-text-muted)}.character-restore-confirmation p[role=alert]{color:#d9b8b0}.character-restore-actions{gap:var(--space-sm);flex-wrap:wrap;display:flex}.character-restore-trigger:disabled,.character-restore-confirm:disabled,.character-restore-cancel:disabled{cursor:not-allowed;opacity:.65}.character-restore-confirm[data-submitting=true]{cursor:progress}.create-character-page{width:100%;max-width:42rem}.create-character-form{gap:var(--space-lg);padding:var(--space-xl);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);display:grid}.create-character-form .auth-submit[data-submitting=true]{cursor:progress}.create-character-round-name{margin:calc(-1 * var(--space-md)) 0 var(--space-lg);color:var(--color-text-muted);overflow-wrap:anywhere}.create-round-card{width:100%;max-width:42rem;margin-bottom:var(--space-xl);padding:var(--space-xl);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface)}.create-round-title{margin:0;font-size:1.25rem;font-weight:600}.create-round-form{gap:var(--space-lg);margin-top:var(--space-lg);display:grid}.create-round-form textarea{width:100%;min-height:7rem;padding:.75rem var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-background);color:var(--color-text);font:inherit;resize:vertical;line-height:1.5}.create-round-form textarea:focus{border-color:var(--color-accent);outline:2px solid color-mix(in srgb, var(--color-accent) 35%, transparent);outline-offset:1px}.create-round-form textarea:disabled{background-color:var(--color-surface-alt);color:var(--color-text-muted);cursor:not-allowed;opacity:.7}.create-round-form .auth-submit:disabled{cursor:not-allowed}.create-round-form .auth-submit[data-submitting=true]{cursor:progress}.rounds-state{padding:var(--space-xl);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);color:var(--color-text-muted);margin:0}.rounds-state p{margin:0}.rounds-retry{margin-top:var(--space-md);padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-surface-alt);color:var(--color-text);cursor:pointer}.rounds-retry:hover{border-color:var(--color-accent)}.rounds-retry:focus-visible{outline:2px solid var(--color-accent);outline-offset:var(--space-xs)}.rounds-list{gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(min(18rem,100%),1fr));margin:0;padding:0;list-style:none;display:grid}.round-card-link{border-radius:var(--radius-md);height:100%;color:inherit;text-decoration:none;display:block}.round-card-link:hover .round-card{border-color:var(--color-accent);background-color:var(--color-surface-alt)}.round-card-link:focus-visible{outline:2px solid var(--color-accent);outline-offset:var(--space-xs)}.round-card-link:focus-visible .round-card{border-color:var(--color-accent)}.round-card{height:100%;padding:var(--space-xl);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface)}.round-card-header{gap:var(--space-md);display:grid}.round-card h2{overflow-wrap:anywhere;margin:0;font-size:1.25rem;font-weight:600}.round-badges{gap:var(--space-sm);flex-wrap:wrap;display:flex}.round-badge{padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-surface-alt);font-size:.8rem;font-weight:650;display:inline-block}.round-role,.round-status-active{color:var(--color-accent)}.round-status-paused{color:#c2b68f}.round-status-archived{color:var(--color-text-muted)}.round-orphaned{background-color:color-mix(in srgb, #9b766e 12%, var(--color-surface-alt));color:#d9b8b0;border-color:#9b766e}.round-details{gap:var(--space-md);margin:var(--space-lg) 0 0;padding-top:var(--space-lg);border-top:1px solid var(--color-border);display:grid}.round-details div{gap:var(--space-xs);display:grid}.round-details dt{color:var(--color-text-muted);font-size:.85rem;font-weight:500}.round-details dd{overflow-wrap:anywhere;margin:0}.round-detail-page{width:100%;max-width:52rem}.round-detail-back{margin-bottom:var(--space-lg);color:var(--color-text-muted);text-decoration:none;display:inline-block}.round-detail-back:hover{color:var(--color-accent)}.round-detail-back:focus-visible{outline:2px solid var(--color-accent);outline-offset:var(--space-xs)}.round-detail-state,.round-detail-card{padding:var(--space-xl);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);margin:0}.round-detail-state{color:var(--color-text-muted)}.round-detail-state p{margin:0}.character-detail-page{width:100%;min-width:0}.character-detail{gap:var(--space-lg);min-width:0;display:grid}.character-detail-header,.character-template-unavailable{padding:var(--space-xl);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface)}.character-detail-header{gap:var(--space-sm);display:grid}.character-detail-title-row{justify-content:space-between;align-items:flex-start;gap:var(--space-lg);display:flex}.character-detail-actions{justify-content:flex-end;gap:var(--space-sm);flex-wrap:wrap;display:flex}.character-detail-header h1{overflow-wrap:anywhere;margin:0;font-size:2rem;font-weight:600}.character-detail-template,.character-template-unavailable{color:var(--color-text-muted);margin:0}.character-detail-template span{margin-left:var(--space-sm);font-size:.85rem}.character-portrait-section{gap:var(--space-lg);width:fit-content;max-width:100%;padding:var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);grid-template-columns:minmax(10rem,14rem);display:grid}.character-portrait-section-with-management{grid-template-columns:minmax(10rem,14rem) minmax(0,1fr);width:100%}.character-portrait-section>h2{grid-column:1/-1;margin:0;font-size:1.1rem;font-weight:650}.character-portrait-frame{aspect-ratio:3/4;border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-surface-alt);width:100%;max-width:14rem;overflow:hidden}.character-portrait-image{object-fit:cover;width:100%;height:100%;display:block}.character-portrait-state,.character-portrait-placeholder{place-content:center;gap:var(--space-sm);width:100%;height:100%;padding:var(--space-md);color:var(--color-text-muted);text-align:center;margin:0;display:grid}.character-portrait-state p{margin:0}.character-portrait-placeholder>span:first-child{color:var(--color-accent);font-size:2rem}.character-portrait-management{align-content:start;gap:var(--space-md);min-width:0;display:grid}.character-portrait-file-input{display:none}.character-portrait-hint{color:var(--color-text-muted);margin:0;font-size:.85rem}.character-portrait-actions,.character-portrait-remove-actions{gap:var(--space-sm);flex-wrap:wrap;display:flex}.character-portrait-upload,.character-portrait-remove-trigger,.character-portrait-remove-confirm,.character-portrait-remove-cancel,.character-portrait-retry{padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-surface-alt);color:var(--color-text);cursor:pointer}.character-portrait-upload:hover:not(:disabled),.character-portrait-remove-trigger:hover:not(:disabled),.character-portrait-remove-confirm:hover:not(:disabled),.character-portrait-remove-cancel:hover:not(:disabled),.character-portrait-retry:hover:not(:disabled){border-color:var(--color-accent)}.character-portrait-upload:focus-visible,.character-portrait-remove-trigger:focus-visible,.character-portrait-remove-confirm:focus-visible,.character-portrait-remove-cancel:focus-visible,.character-portrait-retry:focus-visible{outline:2px solid var(--color-accent);outline-offset:var(--space-xs)}.character-portrait-remove-trigger,.character-portrait-remove-confirm{color:#d9b8b0;border-color:#9b766e}.character-portrait-remove-confirmation{gap:var(--space-md);padding:var(--space-md);background-color:var(--color-surface-alt);border-left:2px solid #9b766e;display:grid}.character-portrait-remove-confirmation p{color:#d9b8b0;margin:0;line-height:1.5}.character-portrait-upload:disabled,.character-portrait-remove-trigger:disabled,.character-portrait-remove-confirm:disabled,.character-portrait-remove-cancel:disabled,.character-portrait-retry:disabled{cursor:not-allowed;opacity:.65}.character-portrait-upload[data-submitting=true],.character-portrait-remove-trigger[data-submitting=true],.character-portrait-remove-confirm[data-submitting=true]{cursor:progress}.character-round-assignment{gap:var(--space-md);padding:var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);display:grid}.character-round-summary{justify-content:space-between;align-items:center;gap:var(--space-lg);display:flex}.character-round-summary h2,.character-round-summary p,.character-round-panel p{margin:0}.character-round-summary h2{color:var(--color-text-muted);font-size:.8rem;font-weight:600}.character-round-summary p{margin-top:var(--space-xs);overflow-wrap:anywhere}.character-round-secondary-action,.character-round-confirm-action{padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-surface-alt);color:var(--color-text);cursor:pointer}.character-round-secondary-action:hover:not(:disabled),.character-round-confirm-action:hover:not(:disabled){border-color:var(--color-accent)}.character-round-secondary-action:focus-visible,.character-round-confirm-action:focus-visible{outline:2px solid var(--color-accent);outline-offset:var(--space-xs)}.character-round-secondary-action:disabled,.character-round-confirm-action:disabled{cursor:not-allowed;opacity:.65}.character-round-panel{gap:var(--space-md);padding:var(--space-md);border-left:2px solid var(--color-accent);background-color:var(--color-surface-alt);display:grid}.character-round-confirmation{border-left-color:var(--color-border)}.character-round-form{gap:var(--space-md);display:grid}.character-round-actions{gap:var(--space-sm);flex-wrap:wrap;display:flex}.character-round-actions .auth-submit{width:auto}.character-round-actions .auth-submit[data-submitting=true],.character-round-confirm-action[data-submitting=true]{cursor:progress}.character-sheet{min-width:0}.character-sheet-grid{gap:var(--space-md);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.character-sheet-section{min-width:0;padding:var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface)}.character-sheet-section-small{grid-column:span 4}.character-sheet-section-half{grid-column:span 6}.character-sheet-section-full{grid-column:span 12}.character-sheet-section>h2,.character-sheet-group>h3{overflow-wrap:anywhere;margin:0}.character-sheet-section>h2{padding-bottom:var(--space-sm);border-bottom:1px solid var(--color-border);color:var(--color-accent);font-size:1.1rem;font-weight:650}.character-sheet-fields,.character-sheet-groups{gap:var(--space-md);margin-top:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(min(11rem,100%),1fr));display:grid}.character-sheet-fields-compact-checks{gap:var(--space-sm);grid-template-columns:repeat(auto-fit,3rem)}.character-sheet-fields-compact-checks .character-sheet-field-check{min-height:3rem;padding:var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-surface-alt);grid-template-columns:1fr;place-items:center}.character-sheet-fields-compact-shorts{grid-template-columns:repeat(auto-fit,minmax(min(10rem,100%),12rem))}.character-sheet-fields-compact-shorts .character-sheet-field-character_name,.character-sheet-fields-compact-shorts .character-sheet-field-long,.character-sheet-fields-compact-shorts .character-sheet-field-check{grid-column:1/-1}.character-sheet-group{min-width:0;padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-surface-alt)}.character-sheet-group>h3{font-size:.95rem;font-weight:600}.character-sheet-field{gap:var(--space-xs);min-width:0;display:grid}.character-sheet-field-long{grid-column:1/-1}.character-sheet-field-label{color:var(--color-text-muted);font-size:.8rem;font-weight:600}.character-sheet-field-value{overflow-wrap:anywhere;white-space:pre-wrap;min-width:0}.character-sheet-field-check{align-items:center;gap:var(--space-sm);grid-template-columns:auto minmax(0,1fr)}.character-edit-button,.character-copy-trigger,.character-copy-confirm,.character-copy-cancel,.character-delete-trigger,.character-delete-confirm,.character-delete-cancel,.character-edit-cancel{padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-surface-alt);color:var(--color-text);cursor:pointer;white-space:nowrap}.character-edit-button{border-color:var(--color-accent);background-color:var(--color-accent);color:var(--color-background);font-weight:650}.character-edit-button:hover:not(:disabled){background-color:var(--color-surface-alt);color:var(--color-text)}.character-delete-trigger{color:#d9b8b0;border-color:#9b766e}.character-edit-button:hover,.character-copy-trigger:hover:not(:disabled),.character-copy-confirm:hover:not(:disabled),.character-copy-cancel:hover:not(:disabled),.character-delete-trigger:hover:not(:disabled),.character-delete-confirm:hover:not(:disabled),.character-delete-cancel:hover:not(:disabled),.character-edit-cancel:hover:not(:disabled){border-color:var(--color-accent)}.character-edit-button:focus-visible,.character-copy-trigger:focus-visible,.character-copy-confirm:focus-visible,.character-copy-cancel:focus-visible,.character-delete-trigger:focus-visible,.character-delete-confirm:focus-visible,.character-delete-cancel:focus-visible,.character-edit-cancel:focus-visible{outline:2px solid var(--color-accent);outline-offset:var(--space-xs)}.character-copy-confirmation,.character-delete-confirmation{gap:var(--space-md);padding:var(--space-lg);border-left:2px solid var(--color-accent);background-color:var(--color-surface);display:grid}.character-copy-confirmation h2,.character-copy-confirmation p,.character-delete-confirmation h2,.character-delete-confirmation p{margin:0}.character-copy-confirmation h2,.character-delete-confirmation h2{font-size:1rem}.character-copy-confirmation p,.character-delete-confirmation p{color:var(--color-text-muted);line-height:1.5}.character-copy-actions,.character-delete-actions{gap:var(--space-sm);flex-wrap:wrap;display:flex}.character-copy-confirm[data-submitting=true],.character-delete-confirm[data-submitting=true]{cursor:progress}.character-edit-form{gap:var(--space-lg);min-width:0;display:grid}.character-sheet-input{width:100%;min-width:0;padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-background);color:var(--color-text);font:inherit}.character-sheet-textarea{resize:vertical;min-height:7rem;line-height:1.5}.character-sheet-input:focus,.character-sheet-checkbox-input:focus-visible{border-color:var(--color-accent);outline:2px solid color-mix(in srgb, var(--color-accent) 35%, transparent);outline-offset:1px}.character-sheet-input:disabled{background-color:var(--color-surface-alt);color:var(--color-text-muted);cursor:not-allowed;opacity:.7}.character-sheet-checkbox-input{width:1.15rem;height:1.15rem;accent-color:var(--color-accent);margin:0}.character-sheet-checkbox-input:disabled{cursor:not-allowed;opacity:.65}.character-sheet-view-check{cursor:pointer}.character-sheet-view-check[data-submitting=true]{cursor:progress;opacity:.7}.character-sheet-view-check[data-submitting=true] .character-sheet-field-label{color:var(--color-text-muted)}.character-edit-actions{gap:var(--space-sm);display:flex}.character-edit-actions .auth-submit{width:auto}.character-edit-actions .auth-submit:disabled,.character-edit-button:disabled,.character-copy-trigger:disabled,.character-copy-confirm:disabled,.character-copy-cancel:disabled,.character-delete-trigger:disabled,.character-delete-confirm:disabled,.character-delete-cancel:disabled,.character-edit-cancel:disabled{cursor:not-allowed;opacity:.65}.character-edit-actions .auth-submit[data-submitting=true]{cursor:progress}.round-detail-header{gap:var(--space-md);display:grid}.round-detail-title-row{justify-content:space-between;align-items:flex-start;gap:var(--space-lg);display:flex}.round-detail-header h1,.edit-round-title{overflow-wrap:anywhere;margin:0;font-size:2rem;font-weight:600}.round-edit-button,.admin-round-archive-trigger,.admin-round-archive-confirm,.admin-round-archive-cancel,.edit-round-cancel{padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-surface-alt);color:var(--color-text);cursor:pointer;white-space:nowrap}.round-edit-button:hover,.admin-round-archive-trigger:hover:not(:disabled),.admin-round-archive-confirm:hover:not(:disabled),.admin-round-archive-cancel:hover:not(:disabled),.edit-round-cancel:hover:not(:disabled){border-color:var(--color-accent)}.round-edit-button:focus-visible,.admin-round-archive-trigger:focus-visible,.admin-round-archive-confirm:focus-visible,.admin-round-archive-cancel:focus-visible,.edit-round-cancel:focus-visible{outline:2px solid var(--color-accent);outline-offset:var(--space-xs)}.admin-round-archive-trigger,.admin-round-archive-confirm{color:#d9b8b0;border-color:#9b766e}.admin-round-archive-trigger.is-unarchive{border-color:var(--color-accent);color:var(--color-accent)}.admin-round-archive-trigger:disabled,.admin-round-archive-confirm:disabled,.admin-round-archive-cancel:disabled{cursor:not-allowed;opacity:.65}.admin-round-archive-trigger[data-submitting=true],.admin-round-archive-confirm[data-submitting=true]{cursor:progress}.admin-round-archive-confirmation{gap:var(--space-sm);margin-top:var(--space-lg);padding:var(--space-md);background-color:color-mix(in srgb, #9b766e 10%, var(--color-surface-alt));border-left:3px solid #9b766e;display:grid}.admin-round-archive-confirmation p{margin:0}.admin-round-archive-confirmation-actions{gap:var(--space-sm);flex-wrap:wrap;display:flex}.orphaned-round-notice{gap:var(--space-xs);margin-top:var(--space-lg);padding:var(--space-md);background-color:color-mix(in srgb, #9b766e 10%, var(--color-surface-alt));border-left:3px solid #9b766e;display:grid}.orphaned-round-notice p,.orphaned-round-recovery p{margin:0}.orphaned-round-recovery-trigger,.orphaned-round-recovery-cancel,.orphaned-round-player-option,.orphaned-round-select-user,.orphaned-round-recovery-confirm,.orphaned-round-recovery-note button{padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-surface-alt);color:var(--color-text);cursor:pointer}.orphaned-round-recovery-trigger{margin-top:var(--space-lg);border-color:var(--color-accent);color:var(--color-accent)}.orphaned-round-recovery-trigger:hover,.orphaned-round-recovery-cancel:hover:not(:disabled),.orphaned-round-player-option:hover:not(:disabled),.orphaned-round-select-user:hover:not(:disabled),.orphaned-round-recovery-confirm:hover:not(:disabled),.orphaned-round-recovery-note button:hover{border-color:var(--color-accent)}.orphaned-round-recovery-trigger:focus-visible,.orphaned-round-recovery-cancel:focus-visible,.orphaned-round-player-option:focus-visible,.orphaned-round-select-user:focus-visible,.orphaned-round-recovery-confirm:focus-visible,.orphaned-round-recovery-note button:focus-visible{outline:2px solid var(--color-accent);outline-offset:var(--space-xs)}.orphaned-round-recovery{gap:var(--space-lg);margin-top:var(--space-lg);padding:var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface-alt);display:grid}.orphaned-round-recovery-header{justify-content:space-between;align-items:flex-start;gap:var(--space-lg);display:flex}.orphaned-round-recovery-header h2,.orphaned-round-recovery-section h3{margin:0}.orphaned-round-recovery-header p,.orphaned-round-recovery-note{color:var(--color-text-muted)}.orphaned-round-recovery-header p{margin-top:var(--space-xs)}.orphaned-round-recovery-section{gap:var(--space-md);display:grid}.orphaned-round-recovery-section h3{font-size:1rem}.orphaned-round-player-options{gap:var(--space-sm);grid-template-columns:repeat(auto-fit,minmax(min(12rem,100%),1fr));display:grid}.orphaned-round-player-option{gap:var(--space-xs);text-align:left;display:grid}.orphaned-round-player-option[aria-pressed=true]{border-color:var(--color-accent);background-color:color-mix(in srgb, var(--color-accent) 12%, var(--color-surface-alt))}.orphaned-round-player-option span{color:var(--color-text-muted)}.orphaned-round-user-search{align-items:end;gap:var(--space-md);grid-template-columns:minmax(0,1fr) auto;display:grid}.orphaned-round-user-search .auth-submit{width:auto}.orphaned-round-search-result{justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-background);display:flex}.orphaned-round-recovery-confirmation{gap:var(--space-sm);padding:var(--space-md);border-left:3px solid var(--color-accent);background-color:var(--color-background);display:grid}.orphaned-round-recovery-actions{gap:var(--space-sm);margin-top:var(--space-xs);flex-wrap:wrap;display:flex}.orphaned-round-recovery-confirm{border-color:var(--color-accent);color:var(--color-accent)}.orphaned-round-recovery-cancel{color:var(--color-text-muted)}.orphaned-round-recovery-cancel:disabled,.orphaned-round-player-option:disabled,.orphaned-round-select-user:disabled,.orphaned-round-recovery-confirm:disabled{cursor:not-allowed;opacity:.65}.orphaned-round-recovery-confirm[data-submitting=true]{cursor:progress}.admin-round-game-master-meta{margin-top:var(--space-md)}.edit-round-form{gap:var(--space-lg);margin-top:var(--space-xl);display:grid}.edit-round-form textarea,.edit-round-form select{width:100%;padding:.75rem var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-background);color:var(--color-text);font:inherit}.edit-round-form textarea{resize:vertical;min-height:10rem;line-height:1.5}.edit-round-form textarea:focus,.edit-round-form select:focus{border-color:var(--color-accent);outline:2px solid color-mix(in srgb, var(--color-accent) 35%, transparent);outline-offset:1px}.edit-round-form textarea:disabled,.edit-round-form select:disabled{background-color:var(--color-surface-alt);color:var(--color-text-muted);cursor:not-allowed;opacity:.7}.edit-round-actions{gap:var(--space-sm);display:flex}.edit-round-actions .auth-submit{width:auto}.edit-round-actions .auth-submit:disabled,.edit-round-cancel:disabled{cursor:not-allowed;opacity:.65}.edit-round-actions .auth-submit[data-submitting=true]{cursor:progress}.round-detail-meta{gap:var(--space-lg);margin:var(--space-xl) 0 0;padding-top:var(--space-xl);border-top:1px solid var(--color-border);grid-template-columns:repeat(auto-fit,minmax(min(14rem,100%),1fr));display:grid}.round-detail-meta div{gap:var(--space-xs);display:grid}.round-detail-meta dt{color:var(--color-text-muted);font-size:.85rem;font-weight:500}.round-detail-meta dd{overflow-wrap:anywhere;margin:0}.round-detail-description{margin-top:var(--space-xl);padding-top:var(--space-xl);border-top:1px solid var(--color-border)}.round-detail-description h2{margin:0 0 var(--space-md);font-size:1.25rem;font-weight:600}.round-detail-description p{color:var(--color-text-muted);overflow-wrap:anywhere;white-space:pre-wrap;margin:0;line-height:1.7}.round-members-card{margin-top:var(--space-xl);padding:var(--space-xl);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface)}.round-members-title{margin:0 0 var(--space-md);font-size:1.25rem;font-weight:600}.round-characters-header{justify-content:space-between;align-items:flex-start;gap:var(--space-lg);margin-bottom:var(--space-md);display:flex}.round-characters-header .round-members-title{margin:0}.round-characters-create-link{padding:var(--space-sm) var(--space-md);border:1px solid var(--color-accent);border-radius:var(--radius-sm);color:var(--color-text);font-size:.85rem;font-weight:600;text-decoration:none}.round-characters-create-link:hover{background-color:var(--color-surface-alt)}.round-characters-create-link:focus-visible{outline:2px solid var(--color-accent);outline-offset:var(--space-xs)}.round-character-section-switch{gap:var(--space-sm);margin-bottom:var(--space-md);flex-wrap:wrap;display:flex}.round-character-section-button{padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-surface-alt);color:var(--color-text);cursor:pointer;font-size:.85rem}.round-character-section-button[data-active=true]{border-color:var(--color-accent);color:var(--color-accent);font-weight:650}.round-character-section-button:hover:not(:disabled){border-color:var(--color-accent)}.round-character-section-button:focus-visible{outline:2px solid var(--color-accent);outline-offset:var(--space-xs)}.round-character-section-button:disabled{cursor:not-allowed;opacity:.65}.round-members-state{color:var(--color-text-muted);margin:0}.round-members-state p{margin:0}.round-characters-list{gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(min(13rem,100%),1fr));margin:0;padding:0;list-style:none;display:grid}.round-character-link{border-radius:var(--radius-sm);height:100%;color:inherit;text-decoration:none;display:block}.round-character-link:hover .round-character-card{border-color:var(--color-accent)}.round-character-link:focus-visible{outline:2px solid var(--color-accent);outline-offset:var(--space-xs)}.round-character-item{gap:var(--space-sm);flex-direction:column;min-width:0;display:flex}.round-character-item .round-character-link{flex:1;height:auto}.round-character-card{gap:var(--space-sm);min-width:0;height:100%;padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-surface-alt);display:grid}.round-character-card h3,.round-character-card p{overflow-wrap:anywhere;margin:0}.round-character-card h3{font-size:1rem;font-weight:600}.round-character-card p,.round-character-owner{color:var(--color-text-muted);font-size:.85rem}.round-character-owner{padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);justify-self:start}.round-character-active-badge{padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-accent);border-radius:var(--radius-sm);color:var(--color-text);justify-self:start;font-size:.85rem;font-weight:600}.round-character-assign-trigger,.round-character-copy-trigger,.round-character-delete-trigger,.round-character-set-active,.round-character-assignment-primary,.round-character-delete-confirm,.round-character-restore-trigger,.round-character-restore-confirm,.round-character-assignment-secondary{padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-surface-alt);color:var(--color-text);cursor:pointer;font-size:.85rem}.round-character-assign-trigger,.round-character-copy-trigger,.round-character-delete-trigger,.round-character-set-active,.round-character-assignment-primary,.round-character-delete-confirm,.round-character-restore-trigger,.round-character-restore-confirm{border-color:var(--color-accent)}.round-character-assign-trigger:hover:not(:disabled),.round-character-copy-trigger:hover:not(:disabled),.round-character-delete-trigger:hover:not(:disabled),.round-character-set-active:hover:not(:disabled),.round-character-assignment-primary:hover:not(:disabled),.round-character-delete-confirm:hover:not(:disabled),.round-character-restore-trigger:hover:not(:disabled),.round-character-restore-confirm:hover:not(:disabled),.round-character-assignment-secondary:hover:not(:disabled){background-color:var(--color-surface)}.round-character-assign-trigger:focus-visible,.round-character-copy-trigger:focus-visible,.round-character-delete-trigger:focus-visible,.round-character-set-active:focus-visible,.round-character-assignment-primary:focus-visible,.round-character-delete-confirm:focus-visible,.round-character-restore-trigger:focus-visible,.round-character-restore-confirm:focus-visible,.round-character-assignment-secondary:focus-visible{outline:2px solid var(--color-accent);outline-offset:var(--space-xs)}.round-character-assign-trigger:disabled,.round-character-copy-trigger:disabled,.round-character-delete-trigger:disabled,.round-character-set-active:disabled,.round-character-assignment-primary:disabled,.round-character-delete-confirm:disabled,.round-character-restore-trigger:disabled,.round-character-restore-confirm:disabled,.round-character-assignment-secondary:disabled{cursor:not-allowed;opacity:.65}.round-character-set-active[data-submitting=true],.round-character-delete-confirm[data-submitting=true],.round-character-restore-confirm[data-submitting=true]{cursor:progress}.round-character-trash-details{gap:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--color-border);margin:0;display:grid}.round-character-trash-details div{gap:var(--space-xs);min-width:0;display:grid}.round-character-trash-details dt{color:var(--color-text-muted);font-size:.8rem;font-weight:500}.round-character-trash-details dd{overflow-wrap:anywhere;margin:0;font-size:.85rem}.round-character-trash-note{line-height:1.5}.round-character-prepared-actions{gap:var(--space-sm);grid-template-columns:repeat(auto-fit,minmax(min(9rem,100%),1fr));display:grid}.round-character-active-overview{gap:var(--space-sm);margin:0;padding:0;list-style:none;display:grid}.round-character-active-overview li{gap:var(--space-xs);min-width:0;padding:var(--space-sm) var(--space-md);border-left:2px solid var(--color-border);background-color:var(--color-surface-alt);display:grid}.round-character-active-overview strong,.round-character-active-overview span,.round-character-player-active-status{overflow-wrap:anywhere}.round-character-active-overview span,.round-character-player-active-status{color:var(--color-text-muted);font-size:.9rem}.round-character-player-active-status{margin:0}.round-character-assignment-panel{gap:var(--space-md);padding:var(--space-md);border-left:2px solid var(--color-accent);background-color:var(--color-surface-alt);display:grid}.round-character-assignment-panel p{color:var(--color-text-muted);overflow-wrap:anywhere;margin:0;font-size:.9rem;line-height:1.5}.round-character-assignment-panel .round-character-name-collision{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);color:var(--color-text);background-color:#c4b17014;border:1px solid #c4b17061}.round-character-assignment-options{gap:var(--space-sm);display:grid}.round-character-assignment-options strong{color:var(--color-text)}.round-character-assignment-actions{gap:var(--space-sm);flex-flow:column wrap;display:flex}.round-character-assignment-actions>button{white-space:normal;max-width:100%}.round-character-assignment-primary[data-submitting=true]{cursor:progress}.round-members-list{margin:0;padding:0;list-style:none;display:grid}.round-member{gap:var(--space-md);padding:var(--space-md) 0;border-bottom:1px solid var(--color-border);display:grid}.round-member-summary{justify-content:space-between;align-items:center;gap:var(--space-lg);display:flex}.round-member:first-child{padding-top:0}.round-member:last-child{border-bottom:0;padding-bottom:0}.round-member-identity{gap:var(--space-xs);min-width:0;display:grid}.round-member-identity strong,.round-member-identity span{overflow-wrap:anywhere}.round-member-identity span{color:var(--color-text-muted);font-size:.9rem}.round-member-role{flex-shrink:0}.round-member-controls,.round-member-remove-actions,.round-member-transfer-actions{align-items:center;gap:var(--space-sm);display:flex}.round-member-role-game_master{color:var(--color-accent)}.round-member-role-player{color:var(--color-text-muted)}.round-member-remove-trigger,.round-member-remove-confirm,.round-member-remove-cancel,.round-member-transfer-trigger,.round-member-transfer-confirm,.round-member-transfer-cancel{padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-surface-alt);color:var(--color-text);cursor:pointer}.round-member-remove-trigger,.round-member-remove-confirm{color:#d9b8b0}.round-member-remove-trigger:hover:not(:disabled),.round-member-remove-confirm:hover:not(:disabled){border-color:#9f7168}.round-member-remove-cancel:hover:not(:disabled){border-color:var(--color-accent)}.round-member-transfer-trigger,.round-member-transfer-confirm{color:var(--color-accent)}.round-member-transfer-trigger:hover:not(:disabled),.round-member-transfer-confirm:hover:not(:disabled),.round-member-transfer-cancel:hover:not(:disabled){border-color:var(--color-accent)}.round-member-remove-trigger:focus-visible,.round-member-remove-confirm:focus-visible,.round-member-remove-cancel:focus-visible,.round-member-transfer-trigger:focus-visible,.round-member-transfer-confirm:focus-visible,.round-member-transfer-cancel:focus-visible{outline:2px solid var(--color-accent);outline-offset:var(--space-xs)}.round-member-remove-trigger:disabled,.round-member-remove-confirm:disabled,.round-member-remove-cancel:disabled,.round-member-transfer-trigger:disabled,.round-member-transfer-confirm:disabled,.round-member-transfer-cancel:disabled{cursor:not-allowed;opacity:.65}.round-member-remove-confirm[data-submitting=true],.round-member-transfer-confirm[data-submitting=true]{cursor:progress}.round-member-remove-confirmation,.round-member-transfer-confirmation{gap:var(--space-sm);padding:var(--space-md);background-color:var(--color-surface-alt);border-left:2px solid #9f7168;display:grid}.round-member-transfer-confirmation{border-left-color:var(--color-accent)}.round-member-remove-confirmation p,.round-member-transfer-confirmation p,.round-member-remove-success,.round-member-transfer-success{margin:0}.round-member-remove-success,.round-member-transfer-success{margin-top:var(--space-md);color:var(--color-accent);font-size:.9rem}.add-round-member-search{margin-top:var(--space-xl);padding-top:var(--space-xl);border-top:1px solid var(--color-border)}.add-round-member-search-title{margin:0 0 var(--space-md);font-size:1rem;font-weight:600}.add-round-member-search-form{align-items:end;gap:var(--space-sm);grid-template-columns:minmax(0,1fr) auto;display:grid}.add-round-member-search-form .auth-submit{width:auto;min-width:7rem}.add-round-member-search-form .auth-submit:disabled{cursor:not-allowed}.add-round-member-search-form .auth-submit[data-submitting=true]{cursor:progress}.add-round-member-search>.profile-form-error,.add-round-member-search>.profile-form-success{margin-top:var(--space-md)}.round-member-search-result{gap:var(--space-md);margin-top:var(--space-md);padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-surface-alt);display:grid}.round-member-search-notice{color:var(--color-text-muted);margin:0;font-size:.9rem}.round-member-search-action{justify-self:start;width:auto}.round-member-search-action:disabled{cursor:not-allowed}.round-member-search-action[data-submitting=true]{cursor:progress}@media (width<=48rem){.landing-page{padding-inline:var(--space-md)}.auth-card{padding:var(--space-lg)}.app-header-inner{align-items:flex-start;gap:var(--space-md);padding-inline:var(--space-md);flex-direction:column}.app-nav{flex-wrap:wrap}.app-header-controls{flex-direction:column;align-items:flex-start;width:100%}.app-logout-error{padding-inline:var(--space-md)}.app-main{padding:var(--space-lg) var(--space-md)}.profile-card,.profile-status,.create-round-card,.create-character-form,.round-card,.rounds-state,.round-detail-state,.round-detail-card,.round-members-card,.character-detail-header,.character-portrait-section,.character-template-unavailable,.character-round-assignment,.character-sheet-section{padding:var(--space-lg)}.character-sheet-section-small,.character-sheet-section-half,.character-sheet-section-full{grid-column:1/-1}.character-sheet-fields-compact-shorts{grid-template-columns:repeat(auto-fit,minmax(min(9rem,100%),12rem))}.character-portrait-section{grid-template-columns:1fr}.character-portrait-section:not(.character-portrait-section-with-management){justify-self:center}.character-portrait-frame{justify-self:center;width:min(100%,14rem)}.profile-detail{gap:var(--space-xs);grid-template-columns:1fr}.profile-display-controls,.round-detail-title-row,.character-detail-title-row,.character-detail-actions,.character-section-switch,.character-restore-actions,.round-character-section-switch,.character-round-summary,.round-characters-header,.character-edit-actions,.edit-round-actions{flex-direction:column;align-items:stretch}.character-round-summary .character-round-secondary-action{width:100%}.round-characters-create-link{text-align:center}.round-member-summary{align-items:flex-start;gap:var(--space-sm);flex-direction:column}.round-member-controls{flex-wrap:wrap;align-items:flex-start}.add-round-member-search-form{grid-template-columns:1fr}.orphaned-round-recovery-header,.orphaned-round-search-result{flex-direction:column;align-items:stretch}.orphaned-round-user-search{grid-template-columns:1fr}.add-round-member-search-form .auth-submit,.orphaned-round-user-search .auth-submit,.orphaned-round-recovery-trigger,.orphaned-round-recovery-cancel,.orphaned-round-select-user,.orphaned-round-recovery-confirm,.round-edit-button,.admin-round-archive-trigger,.admin-round-archive-confirm,.admin-round-archive-cancel,.character-edit-button,.character-copy-trigger,.character-copy-confirm,.character-copy-cancel,.character-delete-trigger,.character-delete-confirm,.character-delete-cancel,.character-portrait-upload,.character-portrait-remove-trigger,.character-portrait-remove-confirm,.character-portrait-remove-cancel,.character-section-button,.character-restore-trigger,.character-restore-confirm,.character-restore-cancel,.round-character-section-button,.round-character-restore-trigger,.round-character-restore-confirm,.character-edit-actions .auth-submit,.character-edit-cancel,.edit-round-actions .auth-submit,.edit-round-cancel,.profile-save{width:100%}}
