body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.character-form{background-color:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:var(--spacing-lg);margin-bottom:var(--spacing-lg);padding:var(--spacing-xl)}.character-form__group{margin-bottom:0}.character-form__label{color:var(--color-text-secondary);display:block;font-size:var(--font-size-md);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-sm)}.character-form__input{background-color:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-primary);font-size:var(--font-size-md);outline:none;padding:var(--spacing-lg) var(--spacing-xl);transition:border-color .2s ease;width:100%}.character-form__input:focus{border-color:var(--color-primary)}.character-form__hint{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-top:var(--spacing-sm)}.character-form__toggle-row{align-items:center;background-color:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex;gap:var(--spacing-xl);justify-content:space-between;padding:var(--spacing-lg) var(--spacing-xl)}.character-form__toggle-title{color:var(--color-text-primary);font-size:var(--font-size-md);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-xs)}.character-form__toggle-track{align-items:center;border:1px solid var(--color-border);border-radius:999px;cursor:pointer;display:flex;flex:0 0 auto;height:26px;padding:var(--spacing-xs);transition:background-color .15s ease,border-color .15s ease;width:44px}.character-form__toggle-track--active{background-color:#c9a24d59;border-color:#c9a24dcc}.character-form__toggle-track--inactive{background-color:#0e1a24;border-color:var(--color-border)}.character-form__toggle-thumb{border-radius:999px;height:18px;transition:transform .15s ease,background-color .15s ease;width:18px}.character-form__toggle-thumb--active{background-color:var(--color-primary);transform:translateX(18px)}.character-form__toggle-thumb--inactive{background-color:var(--color-text-secondary);transform:translateX(0)}.character-form__footer{display:flex;justify-content:flex-end}.character-form__button{background-color:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-lg);color:var(--color-bg-dark);cursor:pointer;font-weight:var(--font-weight-black);padding:var(--spacing-lg) var(--spacing-xl);transition:all .2s ease}.character-form__button:hover:not(:disabled){background-color:var(--color-primary-dark)}.character-form__button:disabled{cursor:not-allowed;opacity:.55}.family-form__card{background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);margin-bottom:var(--spacing-lg);overflow:hidden}.family-form__header{background-color:var(--color-bg-input);border-bottom:1px solid var(--color-border);display:flex;gap:var(--spacing-lg);justify-content:space-between;padding:var(--spacing-xl)}.family-form__info{flex:1 1;min-width:0}.family-form__name{color:var(--color-text-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-black);margin:0}.family-form__shared-info{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-style:italic;margin:var(--spacing-sm) 0 0 0}.family-form__actions{align-items:center;display:flex;gap:var(--spacing-md)}.family-form__expand-button{background:#0000;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);cursor:pointer;font-size:16px;padding:var(--spacing-xs) var(--spacing-lg);transition:all .2s ease}.family-form__expand-button:hover{background-color:var(--color-bg-card)}.family-form__delete-button{background:#0000;border:1px solid var(--color-danger-light);border-radius:var(--radius-md);color:var(--color-danger);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-black);padding:var(--spacing-sm) var(--spacing-lg);transition:all .2s ease}.family-form__delete-button:hover{background-color:#e35b5b1a}.family-form-input,.family-form__content{padding:var(--spacing-xl)}.family-form-input{background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);margin-bottom:var(--spacing-2xl)}.family-form-input__group{margin-bottom:var(--spacing-lg)}.family-form-input__label{color:var(--color-text-secondary);display:block;font-size:var(--font-size-md);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-sm)}.family-form-input__input,.family-form-input__textarea{background-color:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-primary);font-family:inherit;font-size:var(--font-size-md);outline:none;padding:var(--spacing-lg) var(--spacing-xl);transition:border-color .2s ease;width:100%}.family-form-input__input:focus,.family-form-input__textarea:focus{border-color:var(--color-primary)}.family-form-input__textarea{min-height:60px;resize:vertical}.family-form-input__footer{display:flex;justify-content:flex-end;margin-top:var(--spacing-lg)}.family-form-input__button{background-color:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-lg);color:var(--color-bg-dark);cursor:pointer;font-weight:var(--font-weight-black);padding:var(--spacing-lg) var(--spacing-xl);transition:all .2s ease}.family-form-input__button:hover:not(:disabled){background-color:var(--color-primary-dark)}.family-form-input__button:disabled{cursor:not-allowed;opacity:.55}.scenario-card{background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex;flex-direction:column;min-height:360px;overflow:hidden}.scenario-card__image-wrapper{position:relative}.scenario-card__image{display:block;height:180px;object-fit:cover;width:100%}.scenario-card__image-overlay{background:linear-gradient(0deg,#0e1a24d9,#0e1a241a 60%,#0e1a2400);inset:0;position:absolute}.scenario-card__no-image{align-items:center;background-color:var(--color-bg-input);border-bottom:1px solid var(--color-border);color:var(--color-text-secondary);display:flex;font-size:var(--font-size-md);height:180px;justify-content:center}.scenario-card__content{display:flex;flex:1 1;flex-direction:column;gap:var(--spacing-lg);padding:var(--spacing-2xl)}.scenario-card__title{color:var(--color-text-primary);font-size:17px;font-weight:var(--font-weight-black);letter-spacing:.2px;margin:0}.scenario-card__players{display:flex;flex-wrap:wrap;gap:var(--spacing-md)}.scenario-card__players-badge{background-color:var(--color-bg-input);border:1px solid var(--color-border);border-radius:999px;color:var(--color-text-primary);font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-lg)}.scenario-card__description{-webkit-line-clamp:4;-webkit-box-orient:vertical;color:var(--color-text-secondary);display:-webkit-box;font-size:var(--font-size-md);line-height:1.45;overflow:hidden}.scenario-card__actions{display:flex;gap:var(--spacing-md);margin-top:auto}.scenario-card__button{border-radius:var(--radius-lg);cursor:pointer;flex:1 1;font-weight:var(--font-weight-black);padding:var(--spacing-lg) var(--spacing-xl);transition:all .2s ease}.scenario-card__button-start{background-color:var(--color-primary);border:1px solid var(--color-primary);color:var(--color-bg-dark)}.scenario-card__button-start:hover{background-color:var(--color-primary-dark)}.scenario-card__button-delete{background-color:initial;border:1px solid var(--color-danger-light);border-radius:var(--radius-lg);color:var(--color-danger);cursor:pointer;font-weight:var(--font-weight-bold);padding:var(--spacing-lg) var(--spacing-xl)}.scenario-card__button-delete:hover{background-color:#e35b5b1a}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#000000b3;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.modal-box{animation:modalSlideIn .3s ease;background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);display:flex;flex-direction:column;max-height:90vh;overflow:auto;width:min(900px,95%)}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-header{align-items:center;border-bottom:1px solid var(--color-border);display:flex;flex-shrink:0;gap:var(--spacing-lg);justify-content:space-between;padding:var(--spacing-2xl)}.modal-header__title{color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-black);margin:0}.modal-header__close{align-items:center;background-color:initial;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);cursor:pointer;display:flex;font-size:18px;height:32px;justify-content:center;transition:all .2s ease;width:32px}.modal-header__close:hover{background-color:var(--color-bg-input);border-color:var(--color-primary)}.modal-content{flex:1 1;overflow-y:auto;padding:var(--spacing-2xl)}.modal-box::-webkit-scrollbar{width:8px}.modal-box::-webkit-scrollbar-track{background-color:var(--color-bg-input);border-radius:4px}.modal-box::-webkit-scrollbar-thumb{background-color:var(--color-primary);border-radius:4px}.modal-box::-webkit-scrollbar-thumb:hover{background-color:var(--color-primary-dark)}.session-card{background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex;flex-direction:column;overflow:hidden}.session-card__image-container{background-color:var(--color-bg-input);height:160px;overflow:hidden;width:100%}.session-card__image{height:100%;object-fit:cover;width:100%}.session-card__no-image{align-items:center;color:var(--color-text-secondary);display:flex;font-size:var(--font-size-sm);height:100%;justify-content:center;width:100%}.session-card__content{display:flex;flex-direction:column;gap:var(--spacing-lg);padding:var(--spacing-xl)}.session-card__title{color:var(--color-text-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-black);margin:0}.session-card__phase-section{align-items:center;display:flex;gap:var(--spacing-md)}.session-card__phase-label{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-black)}.session-card__phase-value{color:var(--color-primary);font-size:var(--font-size-md);font-weight:var(--font-weight-black);text-transform:uppercase}.session-card__button-group{display:flex;gap:var(--spacing-md)}.session-card__button{border:1px solid;border-radius:var(--radius-md);cursor:pointer;flex:1 1;font-size:var(--font-size-sm);font-weight:var(--font-weight-black);padding:var(--spacing-lg) var(--spacing-xl);transition:all .2s ease}.session-card__button-primary{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--color-bg-dark)}.session-card__button-primary:hover{background-color:var(--color-primary-dark)}.session-card__button-danger{background-color:initial;border-color:var(--color-danger-light);color:var(--color-danger)}.session-card__button-danger:hover{background-color:#e35b5b1a}.page{background-color:var(--color-bg-dark);min-height:100vh;padding:var(--spacing-xl)}.header{align-items:center;display:flex;gap:var(--spacing-xl);justify-content:space-between;margin-bottom:var(--spacing-2xl)}.title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-black);margin:0}.section-title,.title{color:var(--color-text-primary)}.section-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin:var(--spacing-2xl) 0 var(--spacing-lg) 0}.grid{grid-gap:var(--spacing-2xl);display:grid;gap:var(--spacing-2xl);grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.empty-state{color:var(--color-text-secondary);font-size:var(--font-size-lg);font-style:italic;padding:var(--spacing-3xl);text-align:center}.error{color:var(--color-danger);margin-bottom:var(--spacing-lg)}.button-primary,.error{font-weight:var(--font-weight-black)}.button-primary{background-color:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-lg);color:var(--color-bg-dark);cursor:pointer;padding:var(--spacing-lg) var(--spacing-xl);transition:all .2s ease}.button-primary:hover:not(:disabled){background-color:var(--color-primary-dark)}.button-primary:disabled{cursor:not-allowed;opacity:.55}.admin-home{background-color:var(--color-bg-dark);min-height:100vh;padding:var(--spacing-xl)}.admin-home__header{align-items:center;display:flex;gap:var(--spacing-xl);justify-content:space-between;margin-bottom:var(--spacing-2xl)}.admin-home__title{color:var(--color-text-primary);font-size:var(--font-size-3xl);font-weight:var(--font-weight-black);margin:0}.admin-home__section-title{color:var(--color-text-primary);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin:var(--spacing-2xl) 0 var(--spacing-lg) 0}.admin-home__grid{grid-gap:var(--spacing-2xl);display:grid;gap:var(--spacing-2xl);grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.admin-home__empty-state{color:var(--color-text-secondary);font-size:var(--font-size-lg);font-style:italic;padding:var(--spacing-3xl);text-align:center}.session-meta-info{display:flex;flex-wrap:wrap;gap:var(--spacing-lg);margin-bottom:var(--spacing-2xl)}.session-meta-info__card{background-color:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-lg)}.session-meta-info__label{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-black)}.session-meta-info__value{color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.play-mode-selector{align-items:center;background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex;flex-wrap:wrap;gap:var(--spacing-2xl);margin-bottom:var(--spacing-2xl);padding:var(--spacing-xl)}.play-mode-selector__label{color:var(--color-text-secondary);font-size:var(--font-size-md);font-weight:var(--font-weight-black)}.play-mode-selector__options{display:flex;gap:var(--spacing-2xl)}.play-mode-selector__option{align-items:center;color:var(--color-text-primary);cursor:pointer;display:flex;font-size:var(--font-size-md);gap:var(--spacing-md)}.play-mode-selector__button{background-color:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-lg);color:var(--color-bg-dark);cursor:pointer;font-weight:var(--font-weight-black);padding:var(--spacing-lg) var(--spacing-xl);transition:all .2s ease}.play-mode-selector__button:hover:not(:disabled){background-color:var(--color-primary-dark)}.play-mode-selector__button:disabled{cursor:not-allowed;opacity:.55}.play-mode-selector__hint{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-style:italic}.desired-players-selector{align-items:center;background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex;flex-wrap:wrap;gap:var(--spacing-lg);margin-bottom:var(--spacing-2xl);padding:var(--spacing-xl)}.desired-players-selector__label{color:var(--color-text-secondary);font-size:var(--font-size-md);font-weight:var(--font-weight-black)}.desired-players-selector__select{background-color:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);cursor:pointer;font-size:var(--font-size-md);padding:var(--spacing-md) var(--spacing-lg);transition:border-color .2s ease}.desired-players-selector__select:focus{border-color:var(--color-primary);outline:none}.desired-players-selector__info{color:var(--color-text-secondary);font-size:var(--font-size-md)}.slot-card{background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);gap:var(--spacing-md);padding:var(--spacing-xl)}.slot-card,.slot-card__row{display:flex;flex-direction:column}.slot-card__row{gap:var(--spacing-sm)}.slot-card__label{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-black);text-transform:uppercase}.slot-card__value{color:var(--color-text-primary);font-size:var(--font-size-md);word-break:break-word}.slot-card__photo-section{display:flex;flex-direction:column;gap:var(--spacing-md)}.slot-card__photo-status{font-size:var(--font-size-sm);font-weight:var(--font-weight-black)}.slot-card__photo-status--ok{color:var(--color-success)}.slot-card__photo-status--missing{color:var(--color-danger)}.slot-card__photo-preview{align-items:center;background-color:var(--color-bg-input);border-radius:var(--radius-lg);display:flex;height:150px;justify-content:center;margin-left:auto;margin-right:auto;margin-top:var(--spacing-md);max-width:150px;overflow:hidden;width:100%}.slot-card__photo-preview img{height:100%;object-fit:cover;width:100%}.slot-card__button{background-color:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-lg);color:var(--color-bg-dark);cursor:pointer;font-size:var(--font-size-md);font-weight:var(--font-weight-black);padding:var(--spacing-lg) var(--spacing-xl);transition:all .2s ease}.slot-card__button:hover:not(:disabled){background-color:var(--color-primary-dark)}.slot-card__button:disabled{cursor:not-allowed;opacity:.55}.slots-section__grid{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:var(--spacing-2xl)}.slots-section__groups-container{display:flex;flex-direction:column;gap:var(--spacing-2xl);margin-bottom:var(--spacing-2xl)}.slots-section__group-card{background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-xl)}.slots-section__group-title{color:var(--color-text-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-black);margin:0 0 var(--spacing-md) 0}.slots-section__group-info{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-style:italic;margin:0 0 var(--spacing-lg) 0}.slots-section__group-grid{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.slots-section__empty-message{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-style:italic}.optional-characters-list{display:flex;flex-direction:column;gap:var(--spacing-sm);list-style:none;margin:var(--spacing-lg) 0 0 0;padding:0}.optional-characters-list__item{align-items:center;display:flex;gap:var(--spacing-md)}.optional-characters-list__button{align-items:center;background-color:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-md);color:var(--color-bg-dark);cursor:pointer;display:flex;font-size:16px;font-weight:var(--font-weight-black);height:28px;justify-content:center;min-width:28px;padding:0;transition:all .2s ease;width:28px}.optional-characters-list__button:hover:not(:disabled){background-color:var(--color-primary-dark)}.optional-characters-list__button:disabled{cursor:not-allowed;opacity:.5}.optional-characters-list__name{color:var(--color-text-primary);font-size:var(--font-size-md)}.optional-characters-list__name--picked{opacity:.6}.character-section{display:flex;flex-wrap:wrap;gap:var(--spacing-2xl);margin-bottom:var(--spacing-2xl)}.character-section__card{background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);flex:1 1;min-width:240px;padding:var(--spacing-xl)}.character-section__title{color:var(--color-text-secondary);display:block;font-size:var(--font-size-md);font-weight:var(--font-weight-black);margin-bottom:var(--spacing-lg)}.character-section__list{display:flex;flex-direction:column;gap:var(--spacing-sm);list-style:none;margin:0;padding:0}.character-section__list-item{color:var(--color-text-primary);font-size:var(--font-size-md);padding:var(--spacing-sm) 0}.groups-section{background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-bottom:var(--spacing-2xl);padding:var(--spacing-xl)}.groups-section__title{color:var(--color-text-secondary);display:block;font-size:var(--font-size-md);font-weight:var(--font-weight-black);margin-bottom:var(--spacing-lg)}.groups-section__list{display:flex;flex-direction:column;gap:var(--spacing-lg)}.groups-section__card{background-color:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-lg)}.groups-section__card-name{color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-black);margin:0 0 var(--spacing-sm) 0}.groups-section__card-info{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-style:italic;margin:0 0 var(--spacing-md) 0}.character-card{background-color:var(--color-bg-card);display:flex;flex-direction:column;gap:var(--spacing-lg);padding:var(--spacing-xl)}.character-card__name{font-weight:var(--font-weight-black)}.character-card__photo{border:1px solid var(--color-border);border-radius:var(--radius-md);height:200px;object-fit:cover;width:100%}.character-card__section{display:flex;flex-direction:column;gap:var(--spacing-md)}.character-card__section-title{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-black);margin:0;text-transform:uppercase}.character-card__traits-list{display:flex;flex-direction:column;gap:var(--spacing-sm);list-style:none;padding:0}.character-card__trait-item{background-color:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-sm);padding:var(--spacing-md)}.character-card__empty-message{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-style:italic;margin:0}.character-card__select{background-color:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);cursor:pointer;font-size:var(--font-size-sm);padding:var(--spacing-md) var(--spacing-lg)}.character-card__select:focus{border-color:var(--color-primary);outline:none}.character-card__button{background-color:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-md);color:var(--color-bg-dark);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-black);padding:var(--spacing-lg) var(--spacing-xl)}.character-card__button:hover:not(:disabled){background-color:var(--color-primary-dark)}.character-card__button:disabled{cursor:not-allowed;opacity:.55}.family-card{margin-bottom:var(--spacing-3xl)}.family-card__header{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-lg)}.family-card__grid{grid-gap:var(--spacing-2xl);gap:var(--spacing-2xl);grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.session-chat{background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-2xl);padding:var(--spacing-xl)}.session-chat__input{background-color:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);flex:1 1;font-size:var(--font-size-md);outline:none;padding:var(--spacing-lg) var(--spacing-xl);transition:border-color .2s ease}.session-chat__input:focus{border-color:var(--color-primary)}.session-chat__input:disabled{cursor:not-allowed;opacity:.6}.session-chat__button{border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-md);font-weight:var(--font-weight-black);padding:var(--spacing-lg) var(--spacing-xl);transition:all .2s ease}.session-chat__button:disabled{cursor:not-allowed;opacity:.55}.session-chat__button-send{background-color:var(--color-primary);border:1px solid var(--color-primary);color:var(--color-bg-dark)}.session-chat__button-send:hover:not(:disabled){background-color:var(--color-primary-dark)}.session-chat__button-clear{background-color:initial;border:1px solid var(--color-danger-light);color:var(--color-danger)}.session-chat__button-clear:hover:not(:disabled){background-color:#e35b5b1a}.join-code-box{background-color:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-lg);position:fixed;right:var(--spacing-lg);top:var(--spacing-lg);z-index:1000}.join-code-box__label{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-black)}.join-code-box__value{color:var(--color-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-black)}.join-code-box__end-button{background-color:initial;border:1px solid var(--color-danger-light);border-radius:var(--radius-lg);color:var(--color-danger);cursor:pointer;font-size:var(--font-size-md);font-weight:var(--font-weight-black);padding:var(--spacing-lg) var(--spacing-xl);transition:all .2s ease}.join-code-box__end-button:hover:not(:disabled){background-color:#e35b5b1a}.join-code-box__end-button:disabled{cursor:not-allowed;opacity:.55}.admin-connect__overlay{align-items:center;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.admin-connect__modal{background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 8px 24px #0006;max-width:400px;padding:var(--spacing-4xl);position:relative;width:90%}.admin-connect__close{align-items:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;display:flex;font-size:var(--font-size-2xl);height:32px;justify-content:center;padding:0;position:absolute;right:var(--spacing-lg);top:var(--spacing-lg);transition:all .2s ease;width:32px}.admin-connect__close:hover{background-color:var(--color-bg-light);color:var(--color-text-primary)}.admin-connect__title{color:var(--color-text-primary);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-3xl);margin-top:var(--spacing-lg);text-align:center}.admin-connect__form{display:flex;flex-direction:column;gap:var(--spacing-2xl)}.admin-connect__form-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.admin-connect__form-group label{font-weight:var(--font-weight-bold)}.admin-connect__form-group label,.admin-connect__input{color:var(--color-text-primary);font-size:var(--font-size-lg)}.admin-connect__input{background-color:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:inherit;padding:var(--spacing-lg);transition:all .2s ease}.admin-connect__input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #c9a24d1a;outline:none}.admin-connect__input::placeholder{color:var(--color-text-muted)}.admin-connect__error{background-color:#e35b5b1a;border:1px solid var(--color-danger);border-radius:var(--radius-sm);color:var(--color-danger);font-size:var(--font-size-md);font-weight:var(--font-weight-bold);padding:var(--spacing-md)}.admin-connect__submit{background-color:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-lg);color:var(--color-bg-dark);cursor:pointer;font-size:var(--font-size-lg);font-weight:var(--font-weight-black);padding:var(--spacing-lg) var(--spacing-2xl);transition:all .2s ease;width:100%}.admin-connect__submit:hover:not(:disabled){background-color:var(--color-primary-dark);border-color:var(--color-primary-dark)}.admin-connect__submit:disabled{cursor:not-allowed;opacity:.55}.admin-connect__toggle-container{color:var(--color-text-secondary);font-size:var(--font-size-lg);margin-top:var(--spacing-2xl);text-align:center}.admin-connect__toggle-button{background:none;border:none;color:var(--color-primary);cursor:pointer;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);padding:0;text-decoration:underline;transition:all .2s ease}.admin-connect__toggle-button:hover{color:var(--color-primary-light)}:root{--color-primary:#c9a24d;--color-primary-dark:#a68140;--color-primary-light:#d4b35f;--color-danger:#e35b5b;--color-danger-light:#e35b5b80;--color-success:#4caf50;--color-bg-dark:#141d28;--color-bg-card:#1c3348;--color-bg-input:#13212e;--color-bg-light:#1f3448;--color-text-primary:#ededed;--color-text-secondary:#b8b8b8;--color-text-muted:#999;--color-border:#1f3448;--spacing-xs:4px;--spacing-sm:6px;--spacing-md:8px;--spacing-lg:12px;--spacing-xl:14px;--spacing-2xl:16px;--spacing-3xl:20px;--spacing-4xl:24px;--radius-sm:8px;--radius-md:10px;--radius-lg:12px;--radius-xl:14px;--font-size-xs:11px;--font-size-sm:12px;--font-size-md:13px;--font-size-lg:14px;--font-size-xl:16px;--font-size-2xl:18px;--font-size-3xl:28px;--font-weight-normal:400;--font-weight-bold:700;--font-weight-black:800}*{box-sizing:border-box}body{background-color:var(--color-bg-dark);color:var(--color-text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.client-join__container{display:flex;flex-direction:column;gap:var(--spacing-2xl);margin:80px auto;max-width:320px;padding:var(--spacing-xl);position:relative;text-align:center}.client-join__admin-button{background-color:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-lg);color:var(--color-bg-dark);cursor:pointer;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);padding:var(--spacing-lg) var(--spacing-2xl);position:fixed;right:var(--spacing-3xl);top:var(--spacing-3xl);transition:all .2s ease}.client-join__admin-button:hover{background-color:var(--color-primary-dark);border-color:var(--color-primary-dark)}.client-join__title{color:var(--color-text-primary);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);margin:0;margin-bottom:var(--spacing-xl)}.client-join__input{background-color:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-primary);font-family:inherit;font-size:var(--font-size-xl);padding:var(--spacing-lg);transition:all .2s ease}.client-join__input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #c9a24d1a;outline:none}.client-join__input::placeholder{color:var(--color-text-muted)}.client-join__input:disabled{cursor:not-allowed;opacity:.6}.client-join__button{background-color:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-lg);color:var(--color-bg-dark);cursor:pointer;font-size:var(--font-size-xl);font-weight:var(--font-weight-black);padding:var(--spacing-lg) var(--spacing-2xl);transition:all .2s ease}.client-join__button:hover:not(:disabled){background-color:var(--color-primary-dark);border-color:var(--color-primary-dark)}.client-join__button:disabled{cursor:not-allowed;opacity:.55}.client-join__error{background-color:#e35b5b1a;border:1px solid var(--color-danger);border-radius:var(--radius-sm);color:var(--color-danger);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);padding:var(--spacing-lg)}.character-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-2xl);transition:all .2s ease;width:100%}.character-card__header{align-items:flex-start;display:flex;gap:var(--spacing-2xl)}.character-card__avatar-container{flex-shrink:0;position:relative}.character-card__avatar{align-items:center;background:var(--color-bg-input);border-radius:var(--radius-lg);color:var(--color-text-muted);display:flex;font-size:var(--font-size-sm);height:200px;justify-content:center;overflow:hidden;width:200px}.character-card__avatar img{height:100%;object-fit:cover;width:100%}.character-card__avatar-upload{align-items:center;background-color:var(--color-primary);border:2px solid var(--color-bg-card);border-radius:var(--radius-sm);bottom:0;cursor:pointer;display:flex;font-size:16px;height:32px;justify-content:center;position:absolute;right:0;transition:all .2s ease;width:32px}.character-card__avatar-upload:hover{background-color:var(--color-primary-dark)}.character-card__avatar-upload:disabled{cursor:not-allowed;opacity:.5}.character-card__avatar-input{display:none}.character-card__content{flex:1 1}.character-card__name{color:var(--color-text-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin:0}.character-card__role-hint{color:var(--color-text-secondary);font-size:var(--font-size-md);margin:var(--spacing-sm) 0 0 0}.character-card__traits{margin-top:var(--spacing-xl)}.character-card__traits-list{-webkit-padding-start:18px;color:var(--color-text-primary);margin:0;padding-inline-start:18px}.character-card__traits-item{font-size:var(--font-size-md);margin-bottom:var(--spacing-sm)}.character-card__upload-status{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-top:var(--spacing-sm)}.character-card__upload-error{color:var(--color-danger);font-size:var(--font-size-sm);margin-top:var(--spacing-sm)}.family-card{margin-bottom:var(--spacing-2xl)}.family-card__header{border-bottom:2px solid var(--color-border);color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-black);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm)}.family-card__shared-info{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:1.5;margin-bottom:var(--spacing-md)}.characters-grid,.family-card__grid{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.client-screen{background-color:var(--color-bg-dark);margin:0 auto;max-width:1200px;min-height:100vh;padding:var(--spacing-2xl)}.client-screen__header{align-items:baseline;display:flex;justify-content:space-between;margin-bottom:var(--spacing-lg)}.client-screen__title{color:var(--color-text-primary);font-size:var(--font-size-2xl);font-weight:var(--font-weight-black);margin:0}.client-screen__meta{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:1.6;margin-top:var(--spacing-md)}.client-screen__meta-item{display:inline;margin-right:var(--spacing-lg)}.client-screen__meta-label{color:var(--color-text-secondary)}.client-screen__meta-value{color:var(--color-primary);font-weight:var(--font-weight-bold)}.client-screen__message{background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-top:var(--spacing-2xl);padding:var(--spacing-lg)}.client-screen__message-label{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-md);text-transform:uppercase}.client-screen__message-text{color:var(--color-text-primary);font-size:var(--font-size-lg);line-height:1.5}
/*# sourceMappingURL=main.25bd11ba.css.map*/