.login-page{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--gradient-page);height:100vh;width:100%;gap:40px;padding:24px;box-sizing:border-box}.login-page>img{max-width:240px;width:100%;height:auto}.login-error{color:var(--color-error-text);background-color:var(--color-error-bg);border:1px solid var(--color-error-text);border-radius:6px;padding:10px 16px;font-size:13px;width:100%;max-width:320px;text-align:center;margin:0}.login-page form{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;max-width:320px;gap:16px}.login-page form input[type=email],.login-page form input[type=password],.login-page form input[type=text]{width:100%;height:40px;padding:0 12px;box-sizing:border-box;border-radius:50px;background:var(--color-form-input-bg);border:1px solid var(--color-form-input-border);color:var(--color-text-primary);font-size:14px;transition:border-color var(--transition-fast)}.login-page form input:focus{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-subtle)}.login-page .password-container{display:flex;align-items:center;position:relative;width:100%}.login-page .password-container input{padding-right:40px}.login-page .password-icon{cursor:pointer;position:absolute;right:10px;background-color:var(--color-sidebar-muted);padding:5px;border-radius:50%;width:20px;height:20px}.login-page .remember-me{display:flex;align-items:center;justify-content:space-between;width:100%;gap:16px;font-size:12px}.login-page .remember-me div{display:flex;align-items:center;gap:6px}.login-page .remember-me input[type=checkbox]{width:16px;height:16px;cursor:pointer}.login-page .remember-me a{color:var(--color-text-secondary);text-decoration:underline;font-size:12px;white-space:nowrap}.login-page .remember-me a:hover{color:var(--color-text-primary)}.login-page .primary-button{width:100%;height:44px;border-radius:8px;font-size:14px;font-weight:600;letter-spacing:.3px}.login-page .primary-button:disabled{opacity:.45;cursor:not-allowed}@media (max-width: 480px){.login-page{gap:32px;padding:20px}.login-page>img{max-width:180px}}.sidebar{--sidebar-width: 174px;--sidebar-item-width: 164px;--sidebar-text: #e8eaf0;--sidebar-text-muted: #a8adc0;width:var(--sidebar-width);height:100vh;background-color:var(--color-sidebar-bg);color:var(--sidebar-text);position:fixed;left:0;top:0;overflow:hidden;transition:width .3s ease;padding-top:42px}.sidebar--collapsed{--sidebar-width: 64px;--sidebar-item-width: 54px}.sidebar__nav{width:100%;height:100%;display:flex;flex-direction:column}.sidebar__header{height:80px;display:flex;justify-content:center;align-items:center}.sidebar__logo{margin-bottom:42px}.sidebar__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;align-items:center;gap:16px;flex:1;overflow-y:auto}.sidebar__section{display:flex;flex-direction:column;align-items:center;width:100%;list-style:none}.sidebar__section-label{font-size:10px;font-weight:600;letter-spacing:1.2px;color:var(--sidebar-text-muted);text-transform:uppercase;padding:4px 16px 4px 21px;width:var(--sidebar-item-width);display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;background:none;border:none}.sidebar__section-label:after{content:"";flex:1;height:1px;background-color:var(--sidebar-text-muted);opacity:.3}.sidebar__section-chevron{font-size:8px;transition:transform .2s ease,opacity .2s ease;opacity:.5}.sidebar__section-label:hover .sidebar__section-chevron{opacity:1}.sidebar__section-chevron--collapsed{transform:rotate(-90deg)}.sidebar__section-divider{display:block;width:32px;height:1px;background-color:var(--sidebar-text-muted);opacity:.3;margin:4px 0}.sidebar__section-items{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;align-items:center;gap:4px;width:100%;overflow:hidden;max-height:500px;opacity:1;transition:max-height .3s ease,opacity .2s ease}.sidebar__section-items--collapsed{max-height:0;opacity:0;transition:max-height .25s ease,opacity .15s ease}.sidebar__item{display:flex;flex-direction:column;align-items:flex-start;width:var(--sidebar-item-width);min-height:40px;border-radius:8px;transition:background-color .3s ease;cursor:pointer;-webkit-user-select:none;user-select:none}.sidebar__item:hover{background-color:var(--color-sidebar-hover)}.sidebar__item--active{background-color:var(--color-sidebar-active-bg, var(--color-sidebar-hover))}.sidebar__link{display:flex;align-items:center;justify-content:flex-start;padding-left:16px;gap:10px;font-weight:400;width:100%;height:100%;min-height:40px;color:var(--sidebar-text);text-decoration:none}.sidebar--collapsed .sidebar__link{padding-left:0;justify-content:center}.sidebar__icon{width:20px;height:20px;flex-shrink:0}.sidebar__label{white-space:nowrap;overflow:hidden;color:var(--sidebar-text)}.sidebar__dropdown-toggle{display:flex;align-items:center;padding-left:16px;gap:10px;width:100%;min-height:40px;background:none;border:none;border-radius:0;color:var(--sidebar-text);font:inherit;font-size:inherit;text-transform:none;padding-top:0;padding-bottom:0;height:auto;cursor:pointer}.sidebar--collapsed .sidebar__dropdown-toggle{padding:0;justify-content:center}.sidebar__arrow{font-size:10px;transition:transform .3s ease;margin-left:auto;margin-right:12px;color:var(--sidebar-text-muted)}.sidebar__arrow--expanded{transform:rotate(180deg)}.sidebar__subitem{min-height:34px}.sidebar__subitem .sidebar__link{padding-left:44px;font-size:13px;min-height:34px;color:var(--sidebar-text-muted)}.sidebar__subitem:hover .sidebar__link,.sidebar__subitem.sidebar__item--active .sidebar__link{color:var(--sidebar-text)}.sidebar__footer{flex-shrink:0;width:100%;padding:15px 0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:26px}.sidebar__footer small{font-size:10px;color:var(--sidebar-text-muted);font-family:Gelion}.sidebar__toggle-btn{background:none;border:none;color:var(--sidebar-text);cursor:pointer;padding:10px;display:flex;justify-content:center;align-items:center;gap:10px}.sidebar__toggle-btn path{transition:fill .3s ease}.sidebar__toggle-path--collapsed{fill:var(--color-border-primary)!important}.sidebar__toggle-path--collapsed-alt{fill:#fff!important}.sidebar__logout-btn{background:none;border:none;color:var(--sidebar-text);cursor:pointer;width:60px;text-transform:capitalize}.sidebar__logout-btn span,.sidebar span{color:inherit}.sidebar a:hover{color:var(--sidebar-text)}.sidebar__overlay{display:none}.sidebar__mobile-toggle{display:none;position:fixed;top:12px;left:12px;z-index:1001;background-color:var(--color-sidebar-bg);color:#e8eaf0;border:1px solid #262b3a;border-radius:8px;width:40px;height:40px;padding:0;cursor:pointer;align-items:center;justify-content:center;box-shadow:var(--shadow-md)}@media (max-width: 768px){.sidebar{transform:translate(-100%);z-index:1000;box-shadow:var(--shadow-lg)}.sidebar--mobile-open{transform:translate(0)}.sidebar--collapsed{--sidebar-width: 174px;--sidebar-item-width: 164px}.sidebar--collapsed .sidebar__label,.sidebar--collapsed .sidebar__arrow{display:inline}.sidebar--collapsed .sidebar__link,.sidebar--collapsed .sidebar__dropdown-toggle{padding-left:16px;justify-content:flex-start}.sidebar__overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;z-index:999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.sidebar__mobile-toggle{display:flex}.sidebar__toggle-btn--hidden{display:none}}.main-layout{display:flex;width:100%;min-height:100vh}.content{margin-left:var(--sidebar-width);display:flex;flex-direction:column;align-items:stretch;justify-content:start;flex:1;transition:margin-left var(--transition-base);width:calc(100% - var(--sidebar-width));min-width:0;padding:24px;box-sizing:border-box}.sidebar--collapsed+.content{margin-left:var(--sidebar-collapsed-width);width:calc(100% - var(--sidebar-collapsed-width))}::view-transition-old(root){animation:vt-fade-out .15s ease-in forwards}::view-transition-new(root){animation:vt-fade-in .2s ease-out}@keyframes vt-fade-out{0%{opacity:1}to{opacity:0}}@keyframes vt-fade-in{0%{opacity:0}to{opacity:1}}.content--entering{animation:vt-fade-in .25s ease-out}@media (max-width: 768px){.content{margin-left:0;width:100%;padding:56px 16px 16px}.sidebar--collapsed+.content{margin-left:0;width:100%}}.status-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600;white-space:nowrap}.status-badge--draft{background-color:var(--color-btn-secondary-bg);color:var(--color-text-tertiary)}.status-badge--generating{background-color:var(--color-info-bg);color:var(--color-info-text);animation:pulse 2s ease-in-out infinite}.status-badge--ready{background-color:var(--color-badge-success-bg);color:var(--color-badge-success-text)}.status-badge--failed{background-color:var(--color-badge-danger-bg);color:var(--color-badge-danger-text)}.status-badge--published{background-color:var(--color-accent-subtle);color:var(--color-accent)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.home{width:100%;box-sizing:border-box;display:flex;flex-direction:column;gap:24px}.home__loading,.home__error{text-align:center;padding:60px;color:var(--color-text-muted)}.home__error{color:var(--color-error-text)}.home__welcome{display:flex;align-items:center;gap:20px}.home__avatar{width:64px;height:64px;border-radius:50%;overflow:hidden;flex-shrink:0;background-color:var(--color-bg-tertiary);display:flex;align-items:center;justify-content:center}.home__avatar img{width:100%;height:100%;object-fit:cover}.home__avatar-initial{font-size:1.5rem;font-weight:700;color:var(--color-text-tertiary)}.home__welcome-text h1{margin:0 0 6px;font-size:1.5rem}.home__meta{display:flex;align-items:center;gap:12px}.home__role-badge{font-size:11px;font-weight:600;text-transform:uppercase;padding:2px 10px;border-radius:50px;background-color:var(--color-accent-subtle);color:var(--color-accent);font-family:Gelion}.home__last-login{font-size:12px;color:var(--color-text-muted);font-family:Gelion}.home__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.home__stat{background-color:var(--color-card-bg);border:1px solid var(--color-card-border);border-radius:10px;padding:20px;cursor:pointer;box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease}.home__stat:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.home__stat h3{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-tertiary);margin:0 0 8px;font-family:Gelion}.home__stat p{font-size:2rem;font-weight:700;color:var(--color-text-primary);margin:0;line-height:1}.home__actions{display:flex;gap:12px;flex-wrap:wrap}.home__action-btn{padding:10px 20px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;border:none;background-color:var(--color-accent);color:var(--color-btn-primary-text);box-shadow:0 1px 2px #00000026;transition:background-color .15s ease,box-shadow .15s ease,transform .1s ease;font-family:Gelion}.home__action-btn:hover{background-color:var(--color-accent-hover);box-shadow:0 3px 8px #f2f2f24d}.home__action-btn:active{transform:scale(.97)}.home__action-btn--secondary{background-color:var(--color-btn-secondary-bg);color:var(--color-btn-secondary-text);border:1px solid var(--color-border-primary);box-shadow:none}.home__action-btn--secondary:hover{background-color:var(--color-btn-secondary-hover);box-shadow:none}.home__section h2{font-size:1.125rem;font-weight:600;color:var(--color-text-primary);margin:0 0 16px;font-family:Gelion}.home__empty{text-align:center;padding:40px 20px;background-color:var(--color-bg-tertiary);border:1px dashed var(--color-border-primary);border-radius:10px;color:var(--color-text-muted)}.home__empty p{margin:0 0 16px;color:var(--color-text-muted)}.home__characters-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.home__character-card{display:flex;gap:12px;padding:14px;background-color:var(--color-card-bg);border:1px solid var(--color-card-border);border-radius:10px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.home__character-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.home__character-img{width:48px;height:48px;border-radius:8px;overflow:hidden;flex-shrink:0;background-color:var(--color-bg-tertiary);display:flex;align-items:center;justify-content:center}.home__character-img img{width:100%;height:100%;object-fit:cover}.home__character-initial{font-size:1.25rem;font-weight:700;color:var(--color-text-tertiary)}.home__character-info{display:flex;flex-direction:column;gap:4px;min-width:0}.home__character-info strong{font-size:14px;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home__character-meta{display:flex;align-items:center;gap:6px}.home__character-type{font-size:11px;color:var(--color-text-muted);text-transform:capitalize;font-family:Gelion}.home__character-universe{font-size:11px;color:var(--color-text-tertiary);font-family:Gelion}.home__character-time{font-size:11px;color:var(--color-text-muted);font-family:Gelion}.home__campaigns-list{display:flex;flex-direction:column;gap:8px}.home__campaign-card{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background-color:var(--color-card-bg);border:1px solid var(--color-card-border);border-radius:10px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.home__campaign-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.home__campaign-info{display:flex;flex-direction:column;gap:4px;min-width:0}.home__campaign-info strong{font-size:14px;color:var(--color-text-primary)}.home__campaign-universe{font-size:12px;color:var(--color-text-tertiary);font-family:Gelion}.home__campaign-right{display:flex;align-items:center;gap:12px;flex-shrink:0}.home__campaign-status{font-size:11px;font-weight:600;padding:3px 10px;border-radius:50px;text-transform:capitalize;font-family:Gelion}.home__campaign-status--active{background-color:#22c55e1f;color:#22c55e}.home__campaign-status--recruiting{background-color:#3b82f61f;color:#3b82f6}.home__campaign-status--paused{background-color:#f59e0b1f;color:#f59e0b}.home__campaign-status--draft{background-color:#6b72801f;color:#6b7280}.home__campaign-players{font-size:12px;color:var(--color-text-muted);white-space:nowrap;font-family:Gelion}@media (max-width: 768px){.home{gap:20px}.home__welcome{gap:14px}.home__avatar{width:48px;height:48px}.home__welcome-text h1{font-size:1.25rem}.home__stats{grid-template-columns:1fr}.home__actions{flex-direction:column}.home__action-btn{width:100%;text-align:center}.home__characters-grid{grid-template-columns:1fr}.home__campaign-card{flex-direction:column;align-items:flex-start;gap:10px}.home__campaign-right{align-self:flex-end}}.page-header{margin-bottom:24px}.page-header__title{margin:0 0 6px;color:var(--color-text-primary)}.page-header__description{margin:0;font-size:14px;color:var(--color-text-tertiary);line-height:1.5}.profile-container{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-height:100vh;width:100%;background:var(--gradient-page)}.profile-card{background:var(--color-card-bg);border-radius:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:32px;width:100%;max-width:800px;box-shadow:var(--shadow-lg);margin-top:20px}.profile-header{display:flex;flex-direction:column;align-items:center;margin-bottom:30px;position:relative}.profile-image-container{position:relative;margin-bottom:20px}.profile-image{width:150px;height:150px;display:block;border-radius:50%;object-fit:cover;border:4px solid var(--color-border-secondary);box-shadow:var(--shadow-md)}.profile-image-placeholder{width:150px;height:150px;color:var(--color-text-tertiary);border-radius:50%}.edit-image-btn{position:absolute;bottom:5px;right:5px;background:var(--color-accent);color:var(--color-btn-primary-text);border:none;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-sm);transition:all .3s ease}.edit-image-btn:hover{background:var(--color-accent-hover);transform:scale(1.05)}.profile-name{font-size:24px;font-weight:700;margin:10px 0;color:var(--color-text-primary)}.profile-username{color:var(--color-text-tertiary);font-size:16px;margin-bottom:10px}.profile-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;width:100%}.detail-group{margin-bottom:20px}.detail-row{display:flex;padding:12px 0;border-bottom:1px solid var(--color-border-secondary)}.detail-row:last-child{border-bottom:none}.detail-label{font-weight:700;width:120px;color:var(--color-text-tertiary)}.detail-value{flex:1;color:var(--color-text-primary)}.profile-actions{display:flex;justify-content:center;gap:15px;margin-top:30px}.action-button{padding:10px 24px;border-radius:8px;font-family:Gelion,sans-serif;font-weight:600;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;box-shadow:0 1px 2px #00000026;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .1s ease}.action-button:active:not(:disabled){transform:scale(.97)}.password-button{background:var(--color-accent);color:var(--color-btn-primary-text)}.password-button:hover{background:var(--color-accent-hover);box-shadow:0 3px 8px #f2f2f24d}.edit-profile-button{background:transparent;color:var(--color-text-primary);border-color:var(--color-border-primary);box-shadow:none}.edit-profile-button:hover{background:var(--color-bg-hover);border-color:var(--color-text-muted)}@media (max-width: 768px){.profile-container{padding:16px}.profile-card{padding:24px 16px}.profile-details{grid-template-columns:1fr}.profile-actions{flex-direction:column}.action-button{width:100%;justify-content:center}.detail-row{flex-direction:column;gap:4px}.detail-label{width:auto}}.profile-modal__overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.profile-modal{background-color:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:12px;padding:24px;width:100%;max-width:420px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:16px}.profile-modal__title{margin:0;font-size:1.125rem;color:var(--color-text-primary)}.profile-modal__field{display:flex;flex-direction:column;gap:6px}.profile-modal__field span{font-size:.8125rem;color:var(--color-text-muted)}.profile-modal__field input{padding:10px 12px;border-radius:8px;border:1px solid var(--color-border-primary);background-color:var(--color-form-input-bg, var(--color-bg-secondary));color:var(--color-text-primary);font-size:.9rem}.profile-modal__field input:focus{outline:2px solid var(--color-accent);outline-offset:1px}.profile-modal__actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}.gallery-layout-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:16px;width:100%}@media (max-width: 480px){.gallery-layout-container{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-gap:12px}}.square-card-container{width:100%;aspect-ratio:1;background-color:var(--color-card-bg);display:flex;align-items:center;justify-content:center;background-size:cover;background-position:center;cursor:pointer;border:1px solid var(--color-border-primary);border-radius:8px;transition:transform .2s ease,box-shadow .2s ease}.square-card-container p{color:var(--color-text-primary);font-size:12px;text-align:center;font-family:Gelion;letter-spacing:40%;text-transform:uppercase}.square-card-container:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.square-card-container.empty-state{background-color:var(--color-card-bg);border:2px dashed var(--color-border-primary)}.square-card-container.empty-state:hover{border-color:var(--color-accent)}.square-card-container .empty-state-icon{font-size:2rem;color:var(--color-text-tertiary)}.entity-list-table-container{display:flex;flex-direction:column;gap:1rem}.entity-list-table-container>.btn{align-self:flex-start}.entity-list-table{width:100%;border-collapse:collapse;background-color:var(--color-table-bg);box-shadow:var(--shadow-sm);border-radius:8px;overflow:hidden}.entity-list-table thead{background-color:var(--color-table-header-bg)}.entity-list-table th,.entity-list-table td{padding:.75rem;text-align:left;border-bottom:1px solid var(--color-table-border)}.entity-list-table th{font-weight:600;color:var(--color-table-header-text)}.entity-list-table tbody tr:hover{background-color:var(--color-table-row-hover)}.table-actions{display:flex;gap:6px;justify-content:flex-start}.table-actions .btn{padding:6px;min-width:32px;min-height:32px}.table-actions .btn img{width:16px;height:16px}.entity-list-loading,.entity-list-error,.entity-list-empty{padding:2rem;text-align:center;color:var(--color-text-muted)}.entity-list-error{color:var(--color-error-text);background-color:var(--color-error-bg);border:1px solid var(--color-error-text);border-radius:8px}.entity-list-empty{background-color:var(--color-bg-tertiary);border:1px dashed var(--color-border-primary);border-radius:8px}@media (max-width: 768px){.entity-list-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.entity-list-table{min-width:500px}}.universe-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:16px;padding:1rem;width:100%}@media (max-width: 480px){.universe-list{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-gap:12px}}.step-component{border:1px solid var(--color-border-primary);width:100%;padding:16px 20px 20px;position:relative;display:flex;flex-direction:column;align-items:stretch;border-radius:16px;background-color:var(--color-bg-elevated);transition:transform .3s ease,background-color .3s ease}.step-component--collapsed{padding-bottom:16px}.step-component.moving-up{transform:translateY(-10px);background-color:var(--color-bg-tertiary)}.step-component.moving-down{transform:translateY(10px);background-color:var(--color-bg-tertiary)}.step-header{display:flex;flex-flow:row;align-items:center;gap:12px;margin-bottom:0;padding-bottom:14px;border-bottom:1px solid var(--color-border-secondary)}.step-component--collapsed .step-header{border-bottom:none;padding-bottom:0}.step-collapse-btn{flex:0 0 auto;width:30px;height:30px;display:flex;align-items:center;justify-content:center;padding:0;border:1px solid var(--color-border-primary);border-radius:8px;background-color:var(--color-bg-tertiary);color:var(--color-text-secondary);cursor:pointer}.step-chevron{font-size:12px;line-height:1;transition:transform .2s ease}.step-chevron--collapsed{transform:rotate(-90deg)}.step-title-group{flex:1 1 auto;display:flex;flex-direction:column;gap:3px;min-width:0}.step-title{display:flex;align-items:center;gap:10px;margin:0;font-size:16px;color:var(--color-text-primary)}.step-title-badge{flex:0 0 auto;padding:2px 10px;font-size:12px;font-weight:700;letter-spacing:.3px;border-radius:999px;background-color:var(--color-accent-subtle);color:var(--color-accent)}.step-title-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.step-summary{font-size:12px;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.step-header-actions{flex:0 0 auto;display:flex;align-items:center;gap:6px}.step-header-actions>button{width:30px;height:30px;display:flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:8px;cursor:pointer;background-color:var(--color-btn-secondary-bg)}.step-header-actions>button:disabled{opacity:.4;cursor:not-allowed}.step-remove-button{background-color:var(--color-error-bg)!important;color:var(--color-error-text)}.step-remove-button img{height:16px;width:16px}.items-empty{text-align:center;color:var(--color-text-muted);font-size:13px;padding:18px 8px}.step-component .item{padding:10px;border:1px solid var(--color-border-primary);width:calc(100% - 20px);position:relative}.step-component .item input{width:70px;max-width:200px;margin-right:10px;padding:10px;border:1px solid var(--color-form-input-border);border-radius:5px;background-color:var(--color-form-input-bg);color:var(--color-text-primary)}.step-details{margin-top:18px;display:grid;grid-template-columns:1fr 1fr;gap:16px;width:100%}.step-field{display:flex;flex-direction:column;gap:6px;min-width:0;text-align:left}.step-field--full{grid-column:1 / -1}.step-field label{font-size:12px;font-weight:600;letter-spacing:.3px;text-transform:uppercase;color:var(--color-form-label)}.step-field input,.step-field textarea{width:100%;padding:10px 12px;font-size:14px;font-family:inherit;color:var(--color-text-primary);background-color:var(--color-form-input-bg);border:1px solid var(--color-form-input-border);border-radius:8px;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.step-field textarea{resize:vertical;min-height:56px}.step-field input:focus,.step-field textarea:focus{outline:none;border-color:var(--color-form-input-focus);box-shadow:0 0 0 3px var(--color-accent-subtle)}.step-field-hint{font-size:11px;color:var(--color-text-muted)}@media (max-width: 640px){.step-details{grid-template-columns:1fr}}.items-container{display:flex;flex-direction:column;width:100%;margin-top:20px}.items-container h4{margin-bottom:15px;align-self:flex-start}.items-table{width:100%;border-collapse:separate;border-spacing:0;margin-bottom:15px;color:var(--color-text-primary);position:relative;overflow:hidden}.items-table thead{background-color:var(--color-table-header-bg);padding:8px;text-align:left;border-bottom:1px solid var(--color-border-primary);font-family:Oswald}.items-table th{background-color:var(--color-table-header-bg);padding:8px;text-align:left;border-bottom:1px solid var(--color-border-primary)}.items-table td{padding:10px 8px;border-bottom:1px solid var(--color-border-secondary)}.item-row{transition:background-color .3s ease,opacity .2s ease;position:relative}.item-row:hover{background-color:var(--color-table-row-hover)}.item-row.item-fade-out{opacity:.3;background-color:var(--color-accent-subtle)}.item-row.item-fade-in{opacity:1;background-color:var(--color-accent-subtle)}.item-position{width:100px}.item-position-buttons{display:flex;flex-flow:row;justify-content:space-between;align-items:center;gap:5px}.item-position-buttons button{width:24px;height:24px;padding:0;background-color:var(--color-btn-secondary-bg);display:flex;align-items:center;justify-content:center;cursor:pointer;border:none;border-radius:3px}.item-position-buttons button:disabled{opacity:.5;cursor:not-allowed;background-color:var(--color-btn-disabled-bg)}.items-table input{width:100%;padding:8px;border:1px solid var(--color-form-input-border);border-radius:4px;background-color:var(--color-form-input-bg);color:var(--color-text-primary)}.item-remove-button{width:30px;height:30px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:8px;cursor:pointer;background-color:#ef444429;border:1px solid rgba(239,68,68,.45);color:var(--color-error-text);transition:background-color .15s ease}.item-remove-button:hover{background-color:#ef444447}.item-remove-button img{height:16px;width:16px;filter:var(--icon-filter);opacity:.85}.add-item-button{margin-top:10px;padding:8px 16px;background-color:var(--color-btn-primary-bg);color:var(--color-btn-primary-text);border:none;border-radius:4px;cursor:pointer;transition:background-color .3s ease}.add-item-button:hover{background-color:var(--color-btn-primary-hover)}.step-header-actions>button,.item-position-buttons button{border:1px solid var(--color-border-primary);background-color:var(--color-bg-tertiary);transition:background-color .15s ease,border-color .15s ease}.step-collapse-btn:hover,.step-header-actions>button:hover:not(:disabled),.item-position-buttons button:hover:not(:disabled){background-color:var(--color-bg-hover);border-color:var(--color-text-tertiary)}.step-collapse-btn img,.step-header-actions>button:not(.step-remove-button) img,.item-position-buttons button img{filter:var(--icon-filter);opacity:.72;transition:opacity .15s ease}.step-header-actions>button:not(.step-remove-button):hover:not(:disabled) img,.item-position-buttons button:hover:not(:disabled) img{opacity:1}.step-remove-button{background-color:#ef444429!important;border-color:#ef444473!important}.step-remove-button:hover{background-color:#ef444447!important}.step-remove-button img{filter:var(--icon-filter);opacity:.85}.item-compat{min-width:180px}.item-compat input{display:block;width:100%;margin-bottom:4px;font-size:12px}.item-compat input:last-child{margin-bottom:0}.create-universe-page{width:100%;max-width:800px}.create-universe-page form{display:flex;flex-direction:column;gap:24px;width:100%}.create-universe-page form .form-header{display:grid;grid-template-columns:1fr 280px;gap:24px;align-items:start}.create-universe-page form .form-header .image-upload{border:2px dashed var(--color-border-primary);padding:20px;text-align:center;cursor:pointer;min-height:200px;display:flex;flex-direction:column;justify-content:center;align-items:center;border-radius:8px;transition:border-color .15s ease;color:var(--color-text-muted);font-size:13px;font-family:Gelion}.create-universe-page form .form-header .image-upload:hover{border-color:var(--color-accent)}.create-universe-page form .form-header .image-upload img{width:100%;height:auto;object-fit:cover;border-radius:8px}.create-universe-page form .main-universe-data{display:flex;flex-direction:column;gap:14px}.create-universe-page form .main-universe-data>div{display:flex;flex-direction:column;gap:4px}.create-universe-page form .main-universe-data>div>label{font-size:13px;font-weight:600}.create-universe-page form .main-universe-data>div>input,.create-universe-page form .main-universe-data>div>textarea{width:100%}.create-universe-page form .steps-container{display:flex;flex-direction:column;align-items:center;width:100%;gap:16px}.create-universe-page form .submit-button{width:100%;height:44px;background-color:var(--color-btn-primary-bg);color:var(--color-btn-primary-text);border:none;border-radius:8px;cursor:pointer;font-size:15px;font-weight:600;font-family:Gelion;box-shadow:0 1px 2px #00000026;transition:background-color .15s ease,box-shadow .15s ease}.create-universe-page form .submit-button:hover{background-color:var(--color-btn-primary-hover);box-shadow:0 3px 8px #f2f2f24d}.create-universe-page form .submit-button:disabled{background-color:var(--color-btn-disabled-bg);color:var(--color-btn-disabled-text);cursor:not-allowed;box-shadow:none}.error-input{border:1px solid var(--color-error-text)!important;background-color:var(--color-error-bg)}.error-message{color:var(--color-error-text);font-size:.8rem;margin-top:2px}.error-field label{color:var(--color-error-text)}.themes-checklist{display:flex;flex-direction:column!important;gap:8px;margin-top:4px}.themes-checkbox{display:flex!important;align-items:center;gap:8px;justify-content:flex-start!important}.themes-checkbox input[type=checkbox]{width:18px;height:18px;flex-shrink:0}@media (max-width: 768px){.create-universe-page form .form-header{grid-template-columns:1fr}}.mechanics-container{width:100%;margin-top:24px;padding:20px;border:1px solid var(--color-border-primary);border-radius:16px;background-color:var(--color-bg-elevated)}.mechanics-container h2{margin:0 0 4px}.mechanics-container h4{margin:18px 0 10px;color:var(--color-text-secondary)}.mechanics-hint{margin:0 0 16px;font-size:13px;color:var(--color-text-muted)}.mechanics-empty{font-size:13px;color:var(--color-text-muted);margin:0 0 10px}.mechanics-row{display:flex;gap:16px;margin-bottom:8px}.mechanics-row>label{display:flex;flex-direction:column;gap:6px;flex:1;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;color:var(--color-form-label)}.mechanics-maxlevel{max-width:120px}.mechanics-container input[type=text],.mechanics-container input[type=number],.mechanics-container select{padding:9px 12px;font-size:14px;color:var(--color-text-primary);background-color:var(--color-form-input-bg);border:1px solid var(--color-form-input-border);border-radius:8px}.mechanics-container input:focus,.mechanics-container select:focus{outline:none;border-color:var(--color-form-input-focus)}.mechanics-container input:disabled{opacity:.5}.mechanics-field{display:grid;grid-template-columns:1.3fr 1fr 2fr auto auto;gap:10px;align-items:center;margin-bottom:8px}.mechanics-required{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--color-text-secondary);white-space:nowrap}.mechanics-remove{width:32px;height:32px;border:1px solid rgba(239,68,68,.45);background-color:#ef444429;color:var(--color-error-text);border-radius:8px;cursor:pointer}@media (max-width: 760px){.mechanics-field{grid-template-columns:1fr}.mechanics-row{flex-direction:column}.mechanics-maxlevel{max-width:none}}.mechanics-prompt{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--color-border-primary);border-radius:8px;margin-bottom:6px;cursor:pointer;color:var(--color-text-primary)}.mechanics-prompt:hover{background-color:var(--color-bg-hover)}.mechanics-prompt-meta{margin-left:auto;font-size:12px;color:var(--color-text-muted)}.mechanics-prompt-select{width:100%;max-width:480px}.wildcard-wrap{position:relative}.wildcard-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:50;margin:0;padding:4px;list-style:none;min-width:220px;max-height:220px;overflow-y:auto;background-color:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:8px;box-shadow:var(--shadow-md)}.wildcard-menu__hint{font-size:11px;text-transform:uppercase;letter-spacing:.3px;color:var(--color-text-muted);padding:4px 8px}.wildcard-menu__item{padding:7px 10px;border-radius:6px;font-family:monospace;font-size:13px;color:var(--color-text-primary);cursor:pointer}.wildcard-menu__item:hover{background-color:var(--color-accent-subtle);color:var(--color-accent)}.compat-help{margin-bottom:18px;border:1px solid var(--color-border-primary);border-radius:10px;background-color:var(--color-bg-elevated)}.compat-help>summary{cursor:pointer;padding:12px 16px;font-weight:600;color:var(--color-text-secondary);list-style:none}.compat-help>summary::marker,.compat-help>summary::-webkit-details-marker{display:none}.compat-help>summary:before{content:"▸";display:inline-block;margin-right:8px;color:var(--color-text-muted)}.compat-help[open]>summary:before{content:"▾"}.compat-help__body{padding:0 16px 16px;font-size:13px;color:var(--color-text-secondary);line-height:1.5}.compat-help__body ul{margin:8px 0;padding-left:18px}.compat-help__body li{margin-bottom:6px}.compat-help__body code{padding:1px 5px;border-radius:4px;background-color:var(--color-bg-tertiary);font-size:12px;color:var(--color-text-primary)}.compat-help__body strong{color:var(--color-text-primary)}.compat-help__eg{margin-top:10px;padding:10px 12px;border-left:3px solid var(--color-accent);background-color:var(--color-bg-tertiary);border-radius:0 6px 6px 0}.universe-detail-container{width:100%;position:relative}.universe-actions{position:fixed;bottom:10px;right:10px;display:flex;flex-flow:column;gap:20px;align-items:center;margin-bottom:20px;z-index:900}.universe-actions .delete-button{background-color:var(--color-btn-danger-bg);color:var(--color-btn-danger-text);padding:10px 20px;border-radius:8px;border:none;cursor:pointer;font-size:1rem;transition:background-color .3s}.universe-actions .delete-button img{width:20px;height:20px}.universe-actions .delete-button:hover{background-color:var(--color-btn-danger-hover)}.universe-actions .edit-button{background-color:var(--color-btn-primary-bg);color:var(--color-btn-primary-text);padding:10px 20px;border-radius:8px;border:none;cursor:pointer;font-size:1rem;transition:background-color .3s}.universe-actions .edit-button img{width:20px;height:20px}.universe-actions .edit-button:hover{background-color:var(--color-btn-primary-hover)}.modal{transition:visibility 0s,opacity .5s linear;position:absolute;top:0;left:0;bottom:0;right:0;width:100%;height:100%;background-color:#0006;display:flex;justify-content:center;z-index:1000}.modal .modal-content{background-color:var(--color-bg-elevated);width:500px;height:200px;border-radius:8px;padding:20px;box-shadow:var(--shadow-lg);position:relative;top:50%;left:25%;transform:translate(-50%,-50%)}.modal .modal-content .close-button{position:absolute;top:10px;right:10px;background-color:transparent;border:none;cursor:pointer}.modal .modal-content .close-button img{width:20px;height:20px}.modal .modal-content h2{font-size:1.2rem;color:var(--color-text-primary)}.modal .modal-content p{font-size:1rem;color:var(--color-text-secondary)}.modal .modal-content .modal-buttons{display:flex;justify-content:flex-end;margin-top:20px}.modal .modal-content .modal-buttons button{margin-left:10px}.modal .modal-content .cancel-button{background-color:var(--color-btn-secondary-bg);color:var(--color-btn-secondary-text);padding:10px 20px;border-radius:8px;border:none;cursor:pointer;font-size:1rem;margin-right:10px;transition:background-color .3s}.modal .modal-content .cancel-button:hover{background-color:var(--color-btn-secondary-hover)}.modal .modal-content .confirm-button{background-color:var(--color-btn-danger-bg);color:var(--color-btn-danger-text);padding:10px 20px;border-radius:8px;border:none;cursor:pointer;font-size:1rem;transition:background-color .3s}.modal .modal-content .confirm-button:hover{background-color:var(--color-btn-danger-hover)}.modal:target{visibility:visible;opacity:1}.universe-header{display:flex;gap:30px;margin-bottom:40px;flex-wrap:wrap}.universe-image{flex:0 0 300px}.universe-image img{width:100%;height:auto;border-radius:8px;box-shadow:var(--shadow-md)}.universe-info{flex:1;min-width:300px}.universe-description{font-size:1.1rem;line-height:1.6;margin-bottom:20px}.universe-metadata{background-color:var(--color-bg-elevated);padding:15px;border-radius:6px}.universe-metadata p{margin:8px 0}.universe-steps{margin-top:40px}.universe-steps h2{border-bottom:2px solid var(--color-border-primary);padding-bottom:10px;margin-bottom:20px}.universe-step{background-color:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:8px;padding:20px;margin-bottom:20px;box-shadow:var(--shadow-sm)}.universe-step h3{margin-top:0;color:var(--color-text-primary)}.step-items{margin-top:15px}.step-items h4{font-size:1.1rem;margin-bottom:10px}.step-items ul{list-style-type:none;padding-left:0}.step-items li{padding:8px 0;border-bottom:1px solid var(--color-border-primary)}.step-items li:last-child{border-bottom:none}.item-tags{display:block;font-size:.9rem;color:var(--color-text-secondary);margin-top:4px}.items-table-container{overflow-x:auto;margin-top:15px}.items-table{width:100%;border-collapse:collapse;font-size:.95rem}.items-table th{background-color:var(--color-table-header-bg);color:var(--color-table-header-text);text-align:left;padding:12px 15px;font-weight:600;border-bottom:2px solid var(--color-table-border)}.items-table td{padding:10px 15px;border-bottom:1px solid var(--color-table-border);color:var(--color-table-cell-text)}.items-table tr:last-child td{border-bottom:none}@media (max-width: 768px){.universe-header{flex-direction:column}.universe-image{flex:0 0 100%;margin-bottom:20px}.items-table th,.items-table td{padding:8px 10px}}.universe-detail-container p:first-child:last-child{text-align:center;padding:40px;font-size:1.2rem;color:var(--color-text-muted)}.universe-detail-container h1+p{text-align:center;color:var(--color-error-text);font-size:1.1rem}.public-home-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;width:100%;background:var(--gradient-page)}.public-home-container footer{position:absolute;bottom:20px;text-align:center;font-size:14px}.public-home-content{display:flex;flex-direction:column;align-items:center;justify-content:center;position:absolute;z-index:2}.public-home-content>h1{animation:typing 3s steps(30,end) infinite,blink-caret .75s step-end infinite;white-space:nowrap;overflow:hidden;border-right:3px solid;width:fit-content;width:110px}.public-home-content>div{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:20px;margin-top:20px}@keyframes typing{0%,to{width:0}30%,70%{width:110px}}@keyframes blink-caret{0%,to{border-color:transparent}50%{border-color:currentColor}}.character-card{background-color:var(--color-card-bg);border:1px solid var(--color-card-border);border-radius:12px;overflow:hidden;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.character-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.character-card--generating{border-color:var(--color-info-text);animation:card-pulse 2s ease-in-out infinite}@keyframes card-pulse{0%,to{border-color:var(--color-info-text)}50%{border-color:transparent}}.character-card__image{position:relative;width:100%;aspect-ratio:1;overflow:hidden;background-color:var(--color-bg-tertiary)}.character-card__image img{width:100%;height:100%;object-fit:cover}.character-card__placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-bg-tertiary),var(--color-bg-elevated))}.character-card__placeholder--hidden{display:none}.character-card__initial{font-size:3rem;font-weight:700;color:var(--color-text-tertiary)}.character-card__info{padding:12px}.character-card__name{margin:0 0 8px;font-size:1rem;font-weight:600;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.character-card__meta{display:flex;align-items:center;justify-content:space-between;gap:8px}.character-card__type{font-size:12px;color:var(--color-text-muted);text-transform:capitalize}.characters-list{width:100%}.characters-list__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.characters-list__header h1{margin:0;color:var(--color-text-primary)}.characters-list__create-btn{padding:10px 24px;background-color:var(--color-btn-primary-bg);color:var(--color-btn-primary-text);border:none;border-radius:8px;font-family:Gelion;font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 1px 2px #00000026;transition:background-color .15s ease,box-shadow .15s ease,transform .1s ease}.characters-list__create-btn:hover{background-color:var(--color-btn-primary-hover);box-shadow:0 3px 8px #f2f2f24d}.characters-list__create-btn:active{transform:scale(.97)}.characters-list__filters{display:flex;gap:12px;margin-bottom:24px}.characters-list__filter{padding:8px 12px;background-color:var(--color-form-input-bg);border:1px solid var(--color-form-input-border);border-radius:6px;color:var(--color-text-primary);font-size:14px}.characters-list__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px}.characters-list__empty{text-align:center;padding:60px 20px;color:var(--color-text-muted);background-color:var(--color-bg-tertiary);border-radius:12px;border:1px dashed var(--color-border-primary)}.characters-loading,.characters-error{text-align:center;padding:60px;color:var(--color-text-muted)}.characters-error{color:var(--color-error-text)}@media (max-width: 768px){.characters-list__header{flex-direction:column;gap:12px;align-items:stretch}.characters-list__filters{flex-direction:column}.characters-list__grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}}.dynamic-fields__section{margin-bottom:24px}.dynamic-fields__section-title{font-size:1.125rem;font-weight:600;color:var(--color-text-primary);margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid var(--color-border-primary)}.dynamic-fields__grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.dynamic-field{display:flex;flex-direction:column;gap:6px}.dynamic-field--full{grid-column:1 / -1}.dynamic-field__label{font-size:13px;font-weight:500;color:var(--color-form-label);text-transform:capitalize}.dynamic-field__required{color:var(--color-error-text);margin-left:4px}.dynamic-field__input,.dynamic-field__select,.dynamic-field__textarea{padding:10px 12px;border:1px solid var(--color-form-input-border);border-radius:6px;background-color:var(--color-form-input-bg);color:var(--color-text-primary);font-size:14px;font-family:inherit;transition:border-color .2s}.dynamic-field__input:focus,.dynamic-field__select:focus,.dynamic-field__textarea:focus{outline:none;border-color:var(--color-form-input-focus);box-shadow:0 0 0 2px var(--color-accent-subtle)}.dynamic-field__input:disabled,.dynamic-field__select:disabled,.dynamic-field__textarea:disabled{opacity:.6;cursor:not-allowed}.dynamic-field__textarea{resize:vertical;min-height:80px}.dynamic-field__multiselect{display:flex;flex-wrap:wrap;gap:10px}.dynamic-field__checkbox-label{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--color-text-secondary);cursor:pointer}.dynamic-field__toggle{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--color-text-secondary);cursor:pointer}.dynamic-field__switch{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0}.dynamic-field__switch input{opacity:0;width:0;height:0}.dynamic-field__switch-slider{position:absolute;top:0;right:0;bottom:0;left:0;cursor:pointer;background-color:var(--color-bg-hover);border-radius:24px;transition:background-color .45s cubic-bezier(.4,0,.2,1)}.dynamic-field__switch-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;top:50%;transform:translateY(-50%) translate(0);background-color:#fff;border-radius:50%;box-shadow:0 1px 2px #0000004d;transition:transform .45s cubic-bezier(.4,0,.2,1)}.dynamic-field__switch input:checked+.dynamic-field__switch-slider{background-color:var(--color-success)}.dynamic-field__switch input:checked+.dynamic-field__switch-slider:before{transform:translateY(-50%) translate(20px)}.dynamic-field__switch input:disabled+.dynamic-field__switch-slider{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.dynamic-fields__grid{grid-template-columns:1fr}}.character-form{max-width:900px;margin:0 auto;padding:24px}.character-form__title{text-align:center;color:var(--color-text-primary);margin-bottom:32px}.character-form__error{padding:12px 16px;margin-bottom:20px;background-color:var(--color-error-bg);color:var(--color-error-text);border-radius:8px;font-size:14px}.character-form__stepper{display:flex;justify-content:center;gap:8px;margin-bottom:32px;padding:16px;background-color:var(--color-card-bg);border-radius:12px;border:1px solid var(--color-border-primary)}.character-form__step-indicator{display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:20px;font-size:13px;color:var(--color-text-muted);transition:all .3s}.character-form__step-indicator--active{color:var(--color-text-primary)}.character-form__step-indicator--completed{color:var(--color-success-text)}.character-form__step-dot{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;background-color:var(--color-btn-secondary-bg);color:var(--color-text-muted)}.character-form__step-indicator--active .character-form__step-dot{background-color:var(--color-accent);color:var(--color-btn-primary-text)}.character-form__step-indicator--completed .character-form__step-dot{background-color:var(--color-success-text);color:var(--color-text-inverse)}.character-form__step-label{font-weight:500}.character-form__section{background-color:var(--color-card-bg);border:1px solid var(--color-border-primary);border-radius:12px;padding:32px;margin-bottom:24px}.character-form__section h2{margin:0 0 8px;color:var(--color-text-primary);font-size:1.5rem}.character-form__hint{color:var(--color-text-muted);margin:0 0 24px;font-size:14px}.character-form__blueprint-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}.character-form__blueprint-card{padding:20px;background-color:var(--color-bg-tertiary);border:2px solid var(--color-border-primary);border-radius:8px;cursor:pointer;transition:border-color .2s,transform .2s}.character-form__blueprint-card:hover{border-color:var(--color-accent);transform:translateY(-2px)}.character-form__blueprint-card--selected{border-color:var(--color-accent);background-color:var(--color-accent-subtle)}.character-form__blueprint-card h3{margin:0 0 8px;font-size:1.1rem;color:var(--color-text-primary)}.character-form__blueprint-card p{margin:0 0 12px;font-size:13px;color:var(--color-text-secondary)}.character-form__blueprint-universe{font-size:12px;color:var(--color-accent);font-weight:600}.character-form__context{display:flex;gap:24px;padding:12px 16px;background-color:var(--color-bg-tertiary);border-radius:6px;margin-bottom:24px;font-size:13px;color:var(--color-text-secondary)}.character-form__field{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.character-form__field label{font-size:14px;font-weight:500;color:var(--color-form-label)}.character-form__field input,.character-form__field select{padding:12px;border:1px solid var(--color-form-input-border);border-radius:6px;background-color:var(--color-form-input-bg);color:var(--color-text-primary);font-size:14px;font-family:inherit}.character-form__field input:focus,.character-form__field select:focus{outline:none;border-color:var(--color-form-input-focus);box-shadow:0 0 0 2px var(--color-accent-subtle)}.character-form__steps-section{margin-top:24px;padding-top:24px;border-top:1px solid var(--color-border-primary)}.character-form__steps-section h3{margin:0 0 16px;color:var(--color-text-primary)}.character-form__step-group{margin-bottom:20px}.character-form__step-group h4{margin:0 0 4px;color:var(--color-text-primary);font-size:1rem}.character-form__step-desc{margin:0 0 10px;font-size:13px;color:var(--color-text-muted)}.character-form__chips{display:flex;flex-wrap:wrap;gap:8px}.character-form__chip{padding:8px 16px;background-color:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:20px;cursor:pointer;font-size:13px;font-weight:600;color:var(--color-text-secondary);transition:all .2s}.character-form__chip:hover{background-color:var(--color-bg-hover);transform:translateY(-1px)}.character-form__chip--selected{background-color:var(--color-accent);color:var(--color-btn-primary-text);border-color:var(--color-accent-hover)}.character-form__selected-item{margin-top:6px;font-size:13px;color:var(--color-text-tertiary)}.character-form__no-fields{padding:40px;text-align:center;color:var(--color-text-muted);background-color:var(--color-bg-tertiary);border-radius:8px}.character-form__review{display:flex;flex-direction:column;gap:16px;margin-top:20px}.character-form__review-item{display:flex;flex-direction:column;gap:4px;padding:12px 0;border-bottom:1px solid var(--color-border-primary)}.character-form__review-item:last-child{border-bottom:none}.character-form__review-label{font-size:12px;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.character-form__review-type{text-transform:capitalize}.character-form__review-steps{display:flex;flex-wrap:wrap;gap:8px}.character-form__review-tag{padding:4px 10px;background-color:var(--color-bg-tertiary);border-radius:12px;font-size:13px;color:var(--color-text-secondary)}.character-form__review-json{padding:12px;background-color:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:6px;font-family:Courier New,monospace;font-size:13px;color:var(--color-text-secondary);overflow-x:auto;white-space:pre-wrap}.character-form__actions{display:flex;justify-content:space-between;align-items:center;padding-top:16px}.character-form__actions-right{margin-left:auto}.character-form__btn{padding:12px 28px;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .2s;font-family:inherit}.character-form__btn:disabled{opacity:.5;cursor:not-allowed}.character-form__btn--primary{background-color:var(--color-btn-primary-bg);color:var(--color-btn-primary-text)}.character-form__btn--primary:hover:not(:disabled){background-color:var(--color-btn-primary-hover)}.character-form__btn--secondary{background-color:var(--color-btn-secondary-bg);color:var(--color-btn-secondary-text)}.character-form__btn--secondary:hover:not(:disabled){background-color:var(--color-btn-secondary-hover)}@media (max-width: 768px){.character-form{padding:16px}.character-form__stepper{flex-direction:column;gap:4px;padding:12px}.character-form__blueprint-grid{grid-template-columns:1fr}.character-form__section{padding:20px}.character-form__context{flex-direction:column;gap:4px}}.character-form__label{display:flex;flex-direction:column;gap:6px;margin-bottom:20px;font-size:13px;font-weight:600;color:var(--color-form-label)}.character-form__label select,.character-form__label input{padding:10px 12px;font-size:14px;font-weight:400;color:var(--color-text-primary);background-color:var(--color-form-input-bg);border:1px solid var(--color-form-input-border);border-radius:8px;transition:border-color .2s}.character-form__label select:focus,.character-form__label input:focus{outline:none;border-color:var(--color-form-input-focus)}.character-form__label select:disabled{opacity:.6;cursor:not-allowed}.character-form__review-row{display:flex;align-items:baseline;gap:12px;padding:10px 0;border-bottom:1px solid var(--color-border-primary)}.character-form__review-row .character-form__review-label{min-width:100px}.character-form__review-data{margin-top:12px;padding:12px;background-color:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:6px;font-size:13px;color:var(--color-text-secondary);overflow-x:auto}.gen-step{display:flex;gap:16px;padding:20px;border-radius:8px;border:1px solid var(--color-border-primary);background-color:var(--color-card-bg);transition:border-color .3s}.gen-step--completed{border-color:var(--color-success-text)}.gen-step--in_progress{border-color:var(--color-info-text)}.gen-step--failed{border-color:var(--color-error-text)}.gen-step--awaiting_selection{border-color:var(--color-warning-text)}.gen-step__indicator{flex-shrink:0;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}.gen-step--pending .gen-step__indicator{background-color:var(--color-btn-secondary-bg);color:var(--color-text-tertiary)}.gen-step--in_progress .gen-step__indicator{background-color:var(--color-info-bg);color:var(--color-info-text)}.gen-step--completed .gen-step__indicator{background-color:var(--color-success-bg);color:var(--color-success-text)}.gen-step--failed .gen-step__indicator{background-color:var(--color-error-bg);color:var(--color-error-text)}.gen-step--awaiting_selection .gen-step__indicator{background-color:var(--color-warning-bg);color:var(--color-warning-text)}.gen-step__selection{font-size:18px;font-weight:700}.gen-step__check,.gen-step__cross{font-size:18px}.gen-step__spinner{width:18px;height:18px;border:2px solid var(--color-info-text);border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}.gen-step__content{flex:1;min-width:0}.gen-step__header{margin-bottom:12px}.gen-step__title{margin:0 0 4px;font-size:1rem;font-weight:600;color:var(--color-text-primary)}.gen-step__description{margin:0;font-size:13px;color:var(--color-text-muted)}.gen-step__result{margin-bottom:12px;padding:12px;background-color:var(--color-bg-tertiary);border-radius:6px}.gen-step__btn{padding:8px 20px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 1px 2px #00000026;transition:background-color .15s ease,box-shadow .15s ease,transform .1s ease}.gen-step__btn:active:not(:disabled){transform:scale(.97)}.gen-step__btn:disabled{opacity:.45;cursor:not-allowed}.gen-step__btn--action{background-color:var(--color-btn-primary-bg);color:var(--color-btn-primary-text)}.gen-step__btn--action:hover:not(:disabled){background-color:var(--color-btn-primary-hover);box-shadow:0 3px 8px #f2f2f24d}.gen-step__btn--retry{background-color:var(--color-warning-text);color:var(--color-text-inverse)}.gen-step__btn--retry:hover:not(:disabled){background-color:var(--color-warning);box-shadow:0 3px 8px #f59e0b4d}.gen-step__btn--delete{background-color:var(--color-btn-danger-bg);color:var(--color-btn-danger-text)}.gen-step__btn--delete:hover:not(:disabled){background-color:var(--color-btn-danger-hover);box-shadow:0 3px 8px #dc26264d}.gen-step__notice{margin-top:8px;font-size:12px;color:var(--color-text-muted);line-height:1.4}.gen-step__notice a{color:var(--color-accent);text-decoration:none;font-weight:600}.gen-step__notice a:hover{text-decoration:underline}.generation-pipeline{padding:24px;background-color:var(--color-bg-secondary);border-radius:12px;border:1px solid var(--color-border-primary)}.generation-pipeline__title{margin:0 0 20px;font-size:1.25rem;font-weight:600;color:var(--color-text-primary)}.generation-pipeline__error{padding:12px 16px;margin-bottom:16px;background-color:var(--color-error-bg);color:var(--color-error-text);border-radius:6px;font-size:14px}.generation-pipeline__warning{padding:12px 16px;margin-bottom:16px;background-color:var(--color-warning-bg);color:var(--color-warning-text);border-radius:6px;font-size:14px}.generation-pipeline__steps{display:flex;flex-direction:column;gap:0}.generation-pipeline__connector{width:2px;height:24px;background-color:var(--color-border-primary);margin-left:17px}.generation-pipeline__background-text{font-size:14px;line-height:1.6;color:var(--color-text-secondary);white-space:pre-wrap}.generation-pipeline__image-selection{margin-top:12px}.generation-pipeline__grid-container{position:relative;display:inline-block;max-width:512px;border-radius:8px;overflow:hidden}.generation-pipeline__grid-image{display:block;width:100%;height:auto}.generation-pipeline__grid-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.generation-pipeline__grid-btn{background:transparent;border:2px solid transparent;color:transparent;font-size:1.5rem;font-weight:700;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.generation-pipeline__grid-btn:hover{background:#f2f2f24d;border-color:var(--color-accent);color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.8)}.generation-pipeline__grid-btn:disabled{cursor:not-allowed;opacity:.5}.generation-pipeline__selection-hint{margin:8px 0 0;font-size:13px;color:var(--color-text-muted)}.generation-pipeline__selected-preview{margin-top:12px;max-width:256px}.generation-pipeline__selected-image{width:100%;height:auto;border-radius:8px;border:1px solid var(--color-border-primary)}.generation-pipeline__delete-image{display:inline-block;margin-top:12px}.model-viewer{display:flex;flex-direction:column;gap:12px}.model-viewer__canvas,.model-viewer model-viewer{width:100%;height:480px;border-radius:8px;background:var(--color-bg-secondary);border:1px solid var(--color-border-primary)}.model-viewer__actions{display:flex;justify-content:flex-end}.model-viewer__download{color:var(--color-accent);text-decoration:none;font-size:.9rem}.model-viewer__download:hover{text-decoration:underline}.character-detail{width:100%;display:flex;flex-direction:column;gap:24px}.character-detail__loading{text-align:center;padding:60px;color:var(--color-text-muted)}.character-detail__header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.character-detail__header-left{display:flex;flex-direction:column;gap:8px}.character-detail__back{background:none;border:none;color:var(--color-accent);cursor:pointer;font-size:14px;padding:0;align-self:flex-start}.character-detail__back:hover{text-decoration:underline}.character-detail__header-left h1{margin:0;color:var(--color-text-primary)}.character-detail__meta{display:flex;align-items:center;gap:12px}.character-detail__type{font-size:14px;color:var(--color-text-muted);text-transform:capitalize}.character-detail__header-actions{display:flex;gap:8px;flex-shrink:0}.character-detail__btn{padding:8px 20px;border:1px solid transparent;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 1px 2px #00000026;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .1s ease}.character-detail__btn:active:not(:disabled){transform:scale(.97)}.character-detail__btn--secondary{background-color:var(--color-btn-secondary-bg);color:var(--color-btn-secondary-text);border-color:var(--color-border-primary);box-shadow:none}.character-detail__btn--secondary:hover{background-color:var(--color-btn-secondary-hover);border-color:var(--color-text-muted)}.character-detail__btn--danger{background-color:var(--color-btn-danger-bg);color:var(--color-btn-danger-text)}.character-detail__btn--danger:hover{background-color:var(--color-btn-danger-hover);box-shadow:0 3px 8px #dc26264d}.character-detail__tabs{display:flex;gap:4px;border-bottom:1px solid var(--color-border-primary)}.character-detail__tab{padding:10px 20px;background:none;border:none;border-bottom:2px solid transparent;color:var(--color-text-tertiary);cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.character-detail__tab:hover{color:var(--color-text-primary)}.character-detail__tab--active{color:var(--color-text-primary);border-bottom-color:var(--color-accent)}.character-detail__content{min-height:300px}.character-detail__info-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.character-detail__info-card{background-color:var(--color-card-bg);border:1px solid var(--color-card-border);border-radius:8px;padding:20px}.character-detail__info-card h3{margin:0 0 16px;font-size:1rem;color:var(--color-text-primary)}.character-detail__info-card p{margin:6px 0;font-size:14px;color:var(--color-text-secondary)}.character-detail__prompt-preview{background-color:var(--color-card-bg);border:1px solid var(--color-card-border);border-radius:8px;padding:16px 20px;margin-top:16px}.character-detail__prompt-preview-header{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 12px;margin-bottom:10px}.character-detail__prompt-preview-header h3{margin:0;font-size:.95rem;color:var(--color-text-primary)}.character-detail__prompt-preview-hint{font-size:12px;color:var(--color-text-muted)}.character-detail__prompt-preview-text{margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;line-height:1.55;color:var(--color-text-primary);background-color:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:6px;padding:12px 14px;white-space:pre-wrap;word-break:break-word}.character-detail__prompt-preview-template{margin-top:10px}.character-detail__prompt-preview-template summary{cursor:pointer;font-size:12px;color:var(--color-text-muted)}.character-detail__prompt-preview-template code{display:block;margin-top:8px;font-size:12px;line-height:1.5;color:var(--color-text-secondary);white-space:pre-wrap;word-break:break-word}.character-detail__data-preview{padding:12px;background-color:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:6px;font-family:Courier New,monospace;font-size:13px;color:var(--color-text-secondary);overflow-x:auto;white-space:pre-wrap;word-break:break-word}.character-detail__lore{padding:24px;background-color:var(--color-card-bg);border:1px solid var(--color-card-border);border-radius:8px;font-size:15px;line-height:1.8;color:var(--color-text-secondary);white-space:pre-wrap}.character-detail__empty-state{text-align:center;padding:60px 20px;color:var(--color-text-muted);background-color:var(--color-bg-tertiary);border-radius:12px;border:1px dashed var(--color-border-primary)}.character-detail__image-container,.character-detail__model-container{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:40px;background-color:var(--color-card-bg);border-radius:8px}.character-detail__portrait{max-width:100%;max-height:600px;border-radius:8px;box-shadow:var(--shadow-lg)}.character-detail__grid-preview{display:flex;flex-direction:column;align-items:center;gap:12px}.character-detail__grid-image{max-width:100%;max-height:500px;border-radius:8px;opacity:.7}.character-detail__grid-hint{margin-top:12px;font-size:14px;color:var(--color-text-muted)}.character-detail__gallery-section{margin-bottom:24px}.character-detail__gallery-section h3{margin:0 0 12px;font-size:1rem;font-weight:600;color:var(--color-text-secondary)}.character-detail__grid-full{max-width:100%;max-height:500px;border-radius:8px}@media (max-width: 768px){.character-detail__header{flex-direction:column}.character-detail__info-grid{grid-template-columns:1fr}.character-detail__tabs{overflow-x:auto}}.accept-invitation-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-secondary) 100%);padding:20px}.accept-invitation-card{background:var(--color-card-bg);border-radius:12px;padding:40px;max-width:500px;width:100%;box-shadow:var(--shadow-lg)}.accept-invitation-card h1{margin:0 0 8px;font-size:28px;color:var(--color-text-primary);text-align:center}.accept-invitation-card .subtitle{margin:0 0 30px;color:var(--color-text-muted);text-align:center;font-size:14px}.accept-invitation-card.success{text-align:center}.accept-invitation-card.success h1{color:var(--color-success-text);font-size:48px}.accept-invitation-form{display:flex;flex-direction:column;gap:20px}.form-group label{font-size:14px;font-weight:600;color:var(--color-form-label)}.form-group input{padding:12px;border:1px solid var(--color-form-input-border);border-radius:6px;font-size:14px;background-color:var(--color-form-input-bg);color:var(--color-text-primary);transition:border-color .2s}.form-group input:focus{outline:none;border-color:var(--color-form-input-focus)}.error-message{background-color:var(--color-error-bg);color:var(--color-error-text);padding:12px;border-radius:6px;font-size:14px;margin-bottom:20px}.btn-full{width:100%;padding:14px;font-size:16px;font-weight:600;margin-top:10px}.btn-primary{background-color:var(--color-btn-primary-bg);color:var(--color-btn-primary-text);border:none;border-radius:6px;cursor:pointer;transition:background-color .2s}.btn-primary:hover:not(:disabled){background-color:var(--color-btn-primary-hover)}.btn-primary:disabled{background-color:var(--color-btn-disabled-bg);color:var(--color-btn-disabled-text);cursor:not-allowed}.settings-container{width:100%;box-sizing:border-box}.settings-container h1{margin-bottom:30px;color:var(--color-text-primary);font-size:2rem;font-weight:600;border-bottom:1px solid var(--color-border-primary);padding-bottom:15px}.settings-section{margin-bottom:32px}.settings-section-title{font-size:1.25rem;font-weight:600;color:var(--color-text-secondary);margin-bottom:16px}.settings-list{display:flex;flex-direction:column;gap:16px}.setting-item{display:flex;justify-content:space-between;align-items:center;padding:20px;background:var(--color-card-bg);border-radius:8px;border:1px solid var(--color-border-primary);box-shadow:var(--shadow-sm);transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease}.setting-content{flex:1;margin-right:20px}.setting-name{margin:0 0 6px;font-size:1.125rem;font-weight:500;color:var(--color-text-primary);line-height:1.4}.setting-description{margin:0;color:var(--color-text-secondary);font-size:.875rem;line-height:1.5}.switch{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--color-bg-hover);transition:background-color .45s cubic-bezier(.4,0,.2,1),border-color .45s cubic-bezier(.4,0,.2,1);border-radius:24px}.slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;top:50%;transform:translateY(-50%) translate(0);background-color:#fff;transition:transform .45s cubic-bezier(.4,0,.2,1);border-radius:50%;box-shadow:0 1px 2px #0000004d}input:checked+.slider{background-color:var(--color-success);border-color:var(--color-success)}input:focus+.slider{box-shadow:0 0 1px var(--color-accent)}input:checked+.slider:before{transform:translateY(-50%) translate(20px)}.theme-selector{display:flex;gap:2px;background:var(--color-bg-tertiary);border:1px solid var(--color-border-primary);border-radius:10px;padding:3px;flex-shrink:0}.theme-selector__btn{padding:8px 16px;border-radius:8px;font-size:13px;font-weight:500;color:var(--color-text-tertiary);background:transparent;border:none;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px}.theme-selector__btn:hover{color:var(--color-text-primary);background:var(--color-bg-hover)}.theme-selector__btn--active{background:var(--color-accent);color:var(--color-btn-primary-text);box-shadow:0 1px 3px #f2f2f24d}.theme-selector__btn--active:hover{background:var(--color-accent-hover);color:var(--color-btn-primary-text)}@media (max-width: 768px){.settings-container{padding:16px}.setting-item{flex-direction:column;align-items:flex-start}.setting-content{margin-right:0;margin-bottom:12px}.switch{align-self:flex-end}}.entity-form-container{max-width:900px;margin:0 auto;padding:2rem}.entity-form-container h2{margin-bottom:1.5rem;color:var(--color-text-primary);font-size:1.75rem;font-weight:600}.form-error{padding:1rem;margin-bottom:1.5rem;background-color:var(--color-error-bg);color:var(--color-error-text);border:1px solid var(--color-error-text);border-radius:4px;font-size:.875rem}.form-loading{padding:2rem;text-align:center;color:var(--color-text-muted);font-size:1rem}.entity-form{background-color:var(--color-form-bg);padding:2rem;border-radius:8px;box-shadow:var(--shadow-sm)}.form-fields{display:flex;flex-wrap:wrap;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group.full-width{flex:1 1 100%}.form-group.half-width{flex:1 1 calc(50% - .75rem);min-width:250px}.form-group.checkbox-group{flex-direction:row;align-items:center}.form-group.checkbox-group label{order:2;margin-left:.5rem;margin-bottom:0}.form-group.checkbox-group input[type=checkbox]{order:1;width:auto;margin:0}.form-group label{font-weight:600;color:var(--color-form-label);font-size:.875rem}.form-group input,.form-group select,.form-group textarea{height:42px;padding:0 12px;border:1px solid var(--color-form-input-border);border-radius:8px;font-size:14px;font-family:inherit;background-color:var(--color-form-input-bg);color:var(--color-text-primary);box-sizing:border-box;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-group textarea{height:auto;padding:10px 12px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-form-input-focus);box-shadow:0 0 0 .2rem var(--color-accent-subtle)}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{background-color:var(--color-bg-tertiary);opacity:.6;cursor:not-allowed}.form-group input[type=checkbox]{width:1.25rem;height:1.25rem;cursor:pointer}.form-group textarea{resize:vertical;min-height:100px}.form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--color-border-primary)}@media (max-width: 768px){.entity-form-container{padding:1rem}.entity-form{padding:1.5rem}.form-group.half-width{flex:1 1 100%}.form-actions{flex-direction:column-reverse}.form-actions .btn{width:100%}}.user-form-container{border-radius:8px;width:100%;height:100%;padding:0 32px;display:flex;flex-direction:column;gap:32px}.user-form{width:100%;display:flex;flex-direction:column;gap:20px;max-width:800px;margin:0 auto}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group.full-width{grid-column:1 / -1}.form-group label{color:var(--color-form-label);font-weight:500;font-size:14px}.form-group input,.form-group select{padding:12px;border:1px solid var(--color-form-input-border);border-radius:6px;background-color:var(--color-form-input-bg);color:var(--color-text-primary);font-size:14px;transition:border-color .2s ease}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--color-form-input-focus);box-shadow:0 0 0 2px var(--color-accent-subtle)}.form-group input::placeholder{color:var(--color-form-placeholder)}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.submit-btn{padding:12px 24px;background-color:var(--color-btn-primary-bg);color:var(--color-btn-primary-text);border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.submit-btn:hover,.submit-btn:active{background-color:var(--color-btn-primary-hover)}.user-form-container h1{color:var(--color-text-primary);margin-bottom:24px;font-size:24px;font-weight:600}@media (max-width: 768px){.form-row{grid-template-columns:1fr}.user-form-container{padding:12px}}.playground-home{max-width:1200px;margin:0 auto;padding:2rem}.playground-home-header{text-align:center;margin-bottom:3rem}.playground-home-header h1{font-size:3rem;color:var(--color-text-primary);margin-bottom:.5rem;font-weight:700}.playground-home-subtitle{font-size:1.25rem;color:var(--color-text-muted);margin:0}.playground-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-bottom:3rem}.feature-card{background-color:var(--color-card-bg);border-radius:12px;padding:2rem;box-shadow:var(--shadow-md);transition:all .3s ease;cursor:pointer;position:relative;overflow:hidden;border:1px solid var(--color-card-border)}.feature-card:not(.disabled):hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.feature-card.disabled{opacity:.6;cursor:not-allowed}.feature-icon{font-size:3rem;margin-bottom:1rem}.feature-title{font-size:1.5rem;color:var(--color-text-primary);margin-bottom:.75rem;font-weight:600}.feature-description{font-size:1rem;color:var(--color-text-muted);line-height:1.6;margin:0}.coming-soon-badge{position:absolute;top:1rem;right:1rem;background-color:var(--color-warning-text);color:var(--color-text-inverse);padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase}.playground-info{background-color:var(--color-bg-tertiary);border-radius:12px;padding:2rem;border-left:4px solid var(--color-accent)}.playground-info h2{font-size:1.5rem;color:var(--color-text-primary);margin-bottom:1rem;font-weight:600}.playground-info ul{list-style:none;padding:0;margin:0}.playground-info li{padding:.75rem 0;border-bottom:1px solid var(--color-border-primary);line-height:1.6}.playground-info li:last-child{border-bottom:none}.playground-info strong{color:var(--color-accent)}@media (max-width: 768px){.playground-home{padding:1rem}.playground-home-header h1{font-size:2rem}.playground-features{grid-template-columns:1fr;gap:1.5rem}.playground-info{padding:1.5rem}}.midjourney-test{padding:20px}.imagine-form{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.imagine-form textarea{width:100%;padding:12px;background:var(--color-bg-tertiary);border:1px solid var(--color-border-primary);border-radius:8px;color:var(--color-text-primary);font-size:14px;resize:vertical;font-family:inherit}.imagine-form button{align-self:flex-end;padding:10px 24px;background:var(--color-accent-secondary);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600}.imagine-form button:disabled{opacity:.5;cursor:not-allowed}.active-job{background:var(--color-card-bg);border-radius:12px;padding:20px;margin-bottom:24px}.active-job h2{margin-top:0;margin-bottom:12px}.job-status{display:flex;align-items:center;gap:12px;margin-bottom:8px;font-weight:700;text-transform:capitalize}.progress{color:var(--color-text-tertiary);font-weight:400}.job-prompt{color:var(--color-text-tertiary);font-size:13px;margin-bottom:16px}.job-image{margin-bottom:16px}.job-image img{max-width:100%;max-height:512px;border-radius:8px}.upscale-options{display:flex;gap:8px}.upscale-options button{padding:6px 16px;background:var(--color-btn-secondary-bg);border:1px solid var(--color-border-primary);border-radius:6px;color:var(--color-text-primary);cursor:pointer;font-size:13px}.upscale-options button:hover{background:var(--color-btn-secondary-hover)}.upscale-options button:disabled{opacity:.5;cursor:not-allowed}.job-history h2{margin-bottom:16px}.jobs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.job-card{background:var(--color-card-bg);border-radius:8px;overflow:hidden;cursor:pointer;transition:transform .2s}.job-card:hover{transform:translateY(-2px)}.job-card img{width:100%;height:200px;object-fit:cover}.job-placeholder{width:100%;height:200px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-primary);text-transform:capitalize;font-weight:700}.job-card-info{padding:10px}.job-card-prompt{color:var(--color-text-secondary);font-size:12px;margin:0 0 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.job-card-type{color:var(--color-text-tertiary);font-size:11px;text-transform:capitalize}.campaign-detail{width:100%}.campaign-header{display:flex;align-items:center;gap:16px;margin-bottom:12px}.campaign-header h1{margin:0}.status-badge{padding:4px 12px;border-radius:12px;color:var(--color-btn-primary-text);font-size:12px;font-weight:700;text-transform:capitalize}.campaign-description{color:var(--color-text-tertiary);margin-bottom:24px}.error-message{color:var(--color-error-text);margin-bottom:16px}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--color-border-primary);margin-bottom:24px}.tab{padding:8px 16px;background:none;border:none;color:var(--color-text-tertiary);cursor:pointer;font-size:14px;border-bottom:2px solid transparent;transition:all .2s}.tab:hover{color:var(--color-text-primary)}.tab.active{color:var(--color-text-primary);border-bottom-color:var(--color-accent-secondary)}.tab-content{min-height:300px}.overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.info-card{background:var(--color-card-bg);border-radius:8px;padding:20px}.info-card h3{margin-top:0;margin-bottom:12px;color:var(--color-text-primary)}.info-card p{margin:6px 0;color:var(--color-text-secondary);font-size:14px}.invite-form{display:flex;gap:12px;margin-bottom:20px}.invite-form select{flex:1;padding:8px 12px;background:var(--color-form-input-bg);border:1px solid var(--color-form-input-border);border-radius:6px;color:var(--color-text-primary);font-size:14px}.invite-form button{padding:8px 20px;background:var(--color-accent-secondary);border:none;border-radius:6px;color:var(--color-btn-primary-text);cursor:pointer;font-size:14px}.invite-form button:disabled{opacity:.5;cursor:not-allowed}.entity-table{width:100%;border-collapse:collapse}.entity-table th,.entity-table td{padding:10px 14px;text-align:left;border-bottom:1px solid var(--color-table-border);font-size:14px}.entity-table th{color:var(--color-table-header-text);font-weight:600}.entity-table td{color:var(--color-table-cell-text)}.btn-danger-sm{padding:4px 12px;background:var(--color-btn-danger-bg);border:none;border-radius:4px;color:var(--color-btn-danger-text);cursor:pointer;font-size:12px}.btn-danger-sm:hover{background:var(--color-btn-danger-hover)}.timeline{display:flex;flex-direction:column;gap:12px}.timeline-entry{display:flex;align-items:center;gap:16px;padding:12px 16px;background:var(--color-card-bg);border-radius:8px}.timeline-date{color:var(--color-text-tertiary);font-size:13px;min-width:100px}.timeline-type{background:var(--color-bg-hover);padding:2px 10px;border-radius:10px;font-size:12px;color:var(--color-text-primary);text-transform:capitalize;min-width:80px;text-align:center}.timeline-name{color:var(--color-text-primary);font-size:14px}.api-keys-container{padding:20px 32px;width:100%;align-self:stretch;box-sizing:border-box}.api-keys-container h1{margin-bottom:20px}.api-keys-list{width:100%}.scope-chip{display:inline-block;padding:2px 8px;margin:2px 4px 2px 0;font-size:11px;border-radius:12px;background-color:var(--color-accent-bg, var(--color-card-bg));color:var(--color-accent-text, var(--color-text-primary));border:1px solid var(--color-border-primary);white-space:nowrap}.key-prefix{font-family:monospace;font-size:13px;color:var(--color-text-secondary)}.raw-key-display{font-family:monospace;font-size:14px;padding:16px;background-color:var(--color-card-bg);border:1px solid var(--color-border-primary);border-radius:8px;word-break:break-all;margin:12px 0;color:var(--color-text-primary)}.raw-key-warning{color:var(--color-warning);font-size:13px;margin-top:8px}.raw-key-actions{display:flex;gap:8px;margin-top:12px}.api-key-dialog .MuiPaper-root{background-color:var(--color-bg-primary);color:var(--color-text-primary);border:1px solid var(--color-border-primary)}.api-key-dialog .MuiDialogTitle-root,.api-key-dialog .MuiDialogContent-root{color:var(--color-text-primary)}.api-key-dialog .MuiDialogActions-root{padding:12px 24px 16px}.api-key-dialog .MuiCheckbox-root{color:var(--color-text-secondary)}.api-key-dialog .MuiCheckbox-root.Mui-checked{color:var(--color-accent)}.api-key-dialog .MuiFormControlLabel-label{color:var(--color-text-primary);font-size:14px}.create-api-key-form{display:flex;flex-direction:column;gap:16px;min-width:min(400px,90vw)}.create-api-key-form label{display:flex;flex-direction:column;gap:4px;font-size:14px;color:var(--color-text-primary)}.create-api-key-form input[type=text],.create-api-key-form input[type=date],.create-api-key-form textarea{padding:8px 12px;border:1px solid var(--color-border-primary);border-radius:6px;font-size:14px;background-color:var(--color-form-bg);color:var(--color-text-primary)}.create-api-key-form textarea{resize:vertical}.scopes-fieldset{border:1px solid var(--color-border-primary);border-radius:6px;padding:12px;background-color:transparent}.scopes-fieldset legend{font-size:14px;color:var(--color-text-primary);padding:0 4px}.scopes-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px}.action-buttons{display:flex;gap:8px;align-items:center}.dash{width:100%}.dash h1{margin-bottom:24px}.dash__loading{text-align:center;padding:60px;color:var(--color-text-muted)}.dash__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:24px}.dash-stat{background-color:var(--color-card-bg);border:1px solid var(--color-card-border);border-radius:10px;padding:20px;box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease}.dash-stat:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.dash-stat__label{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-tertiary);margin:0 0 8px;font-family:Gelion}.dash-stat__value{font-size:2rem;font-weight:700;color:var(--color-text-primary);margin:0;line-height:1}.dash-stat__secondary{display:block;font-size:.75rem;color:var(--color-text-muted);margin-top:8px;font-family:Gelion}.dash__card{background-color:var(--color-card-bg);border:1px solid var(--color-card-border);border-radius:10px;padding:20px;box-shadow:var(--shadow-sm)}.dash__card h2{font-size:1rem;font-weight:600;color:var(--color-text-primary);margin:0 0 16px;font-family:Gelion}.dash__card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.dash__card-header h2{margin:0}.dash__charts{display:grid;grid-template-columns:2fr 1fr;gap:16px;margin-bottom:24px}.dash__chart-wrap{width:100%;min-height:200px}.dash__chart-wrap--pie{display:flex;flex-direction:column;align-items:center}.dash__period-select{display:flex;gap:4px}.dash__period-btn{padding:4px 12px;border-radius:6px;font-size:12px;font-weight:600;background-color:var(--color-bg-tertiary);color:var(--color-text-secondary);border:1px solid transparent;cursor:pointer;transition:all .15s ease}.dash__period-btn:hover{background-color:var(--color-bg-hover)}.dash__period-btn--active{background-color:var(--color-accent);color:var(--color-btn-primary-text)}.dash__legend{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;font-family:Gelion;margin-top:12px}.dash-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.dash-badge{font-size:11px;font-weight:600;padding:3px 10px;border-radius:50px;text-transform:capitalize;font-family:Gelion}.dash__generation{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-bottom:24px}.dash__queues-section{margin-bottom:24px}.dash__queues-live{font-size:12px;color:var(--color-success);font-weight:600}.dash__queues{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.dash-queue{background:var(--color-bg-tertiary);border:1px solid var(--color-border-primary);border-radius:10px;padding:14px 16px}.dash-queue__header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.dash-queue__dot{width:8px;height:8px;border-radius:50%;background:var(--color-text-tertiary);flex-shrink:0}.dash-queue__dot--active{background:var(--color-success);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-success) 25%,transparent)}.dash-queue__label{font-size:13px;font-weight:600;color:var(--color-text-secondary);margin:0}.dash-queue__metrics{display:flex;gap:18px}.dash-queue__metric{display:flex;flex-direction:column}.dash-queue__metric-value{font-size:22px;font-weight:700;color:var(--color-text-primary);line-height:1.1}.dash-queue__metric-label{font-size:11px;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.04em}.dash-gauge{display:flex;align-items:center;gap:16px;margin-bottom:12px}.dash-gauge__circle{width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.dash-gauge__pct{background-color:var(--color-card-bg);width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:var(--color-text-primary);font-family:Gelion}.dash-gauge__info{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--color-text-secondary);font-family:Gelion}.dash-gauge__info strong{color:var(--color-text-primary)}.dash__cost{font-size:13px;color:var(--color-text-secondary);margin:0 0 8px;font-family:Gelion}.dash__pipeline{display:flex;flex-direction:column;gap:14px}.dash-pipeline-step{display:flex;align-items:center;gap:12px}.dash-pipeline-step__label{width:80px;font-size:13px;color:var(--color-text-secondary);font-family:Gelion;flex-shrink:0}.dash-pipeline-step__bar{flex:1;height:8px;background-color:var(--color-bg-tertiary);border-radius:4px;display:flex;overflow:hidden}.dash-pipeline-step__fill{height:100%;transition:width .3s ease}.dash-pipeline-step__counts{font-size:11px;color:var(--color-text-muted);white-space:nowrap;font-family:Gelion}.dash__campaigns{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-bottom:24px}.dash__funnel{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.dash__funnel-row{display:flex;align-items:center;gap:10px}.dash__funnel-label{width:70px;font-size:12px;color:var(--color-text-secondary);text-transform:capitalize;font-family:Gelion;flex-shrink:0}.dash__funnel-bar{flex:1;height:16px;background-color:var(--color-bg-tertiary);border-radius:8px;overflow:hidden}.dash__funnel-fill{height:100%;border-radius:8px;transition:width .3s ease}.dash__funnel-count{font-size:13px;font-weight:600;color:var(--color-text-primary);width:30px;text-align:right;font-family:Gelion}.dash__sessions{font-size:13px;color:var(--color-text-secondary);font-family:Gelion}.dash__sessions strong{font-size:1.25rem;color:var(--color-text-primary);margin-right:4px}.dash__campaign-lists{display:flex;flex-direction:column;gap:16px}.dash__subheading{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px;margin:0 0 8px;font-family:Gelion;color:var(--color-text-secondary)}.dash__subheading--green{color:#22c55e}.dash__subheading--orange{color:#f59e0b}.dash__campaign-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.dash__campaign-list li{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;border-radius:6px;cursor:pointer;font-size:13px;color:var(--color-text-secondary);transition:background-color .15s ease;font-family:Gelion}.dash__campaign-list li:hover{background-color:var(--color-bg-hover);color:var(--color-text-primary)}.dash__campaign-list small{font-size:11px;color:var(--color-text-muted);flex-shrink:0;margin-left:8px}.dash__empty{font-size:13px;color:var(--color-text-muted);font-style:italic;margin:8px 0;font-family:Gelion}@media (max-width: 1024px){.dash__charts{grid-template-columns:1fr}.dash__generation{grid-template-columns:1fr 1fr}.dash__campaigns{grid-template-columns:1fr}}@media (max-width: 768px){.dash{padding:16px}.dash__stats{grid-template-columns:repeat(2,1fr)}.dash__generation{grid-template-columns:1fr}.dash__card-header{flex-direction:column;align-items:flex-start;gap:8px}}@media (max-width: 480px){.dash__stats{grid-template-columns:1fr}}.instance-status{display:flex;align-items:center;gap:10px;padding:8px 16px;background-color:var(--color-bg-tertiary);border:1px solid var(--color-border-primary);border-radius:8px;font-size:13px}.instance-status__indicator{width:10px;height:10px;border-radius:50%;flex-shrink:0}.instance-status__indicator--running{background-color:var(--color-success);box-shadow:0 0 6px var(--color-success)}.instance-status__indicator--launching{background-color:var(--color-warning);animation:pulse 1.5s ease-in-out infinite}.instance-status__indicator--stopped{background-color:var(--color-text-tertiary)}.instance-status__indicator--unknown{background-color:var(--color-error)}.instance-status__indicator--loading{background-color:var(--color-text-muted);animation:pulse 1.5s ease-in-out infinite}.instance-status__label{font-weight:600;color:var(--color-text-primary)}.instance-status__hint{color:var(--color-text-tertiary);font-size:12px}.instance-status__link{color:var(--color-accent);text-decoration:none;font-weight:600;font-size:13px}.instance-status__link:hover{text-decoration:underline}.instance-status__btn{padding:4px 12px;border-radius:6px;border:none;font-size:12px;font-weight:600;cursor:pointer;transition:background-color var(--transition-fast);font-family:inherit}.instance-status__btn:disabled{background-color:var(--color-btn-disabled-bg);color:var(--color-btn-disabled-text);cursor:not-allowed}.instance-status__btn--primary{background-color:var(--color-btn-primary-bg);color:var(--color-btn-primary-text)}.instance-status__btn--primary:hover:not(:disabled){background-color:var(--color-btn-primary-hover)}.instance-status__btn--danger{background-color:var(--color-btn-danger-bg);color:var(--color-btn-danger-text)}.instance-status__btn--danger:hover:not(:disabled){background-color:var(--color-btn-danger-hover)}.instance-status__btn--secondary{background-color:var(--color-btn-secondary-bg);color:var(--color-btn-secondary-text)}.instance-status__btn--secondary:hover:not(:disabled){background-color:var(--color-btn-secondary-hover)}.instance-status__spinner{width:14px;height:14px;border:2px solid var(--color-border-primary);border-top-color:var(--color-warning);border-radius:50%;animation:spin .8s linear infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes spin{to{transform:rotate(360deg)}}.comfyui-page{width:100%;height:calc(100vh - 56px);display:flex;flex-direction:column;padding:0}.comfyui-page__header{display:flex;justify-content:space-between;align-items:center;padding:12px 24px;flex-shrink:0;border-bottom:1px solid var(--color-border-primary)}.comfyui-page__header h1{font-size:1.25rem;margin:0}.comfyui-page__controls{display:flex;align-items:center;gap:12px}.comfyui-page__open-btn{font-size:13px;font-weight:600;color:var(--color-accent);text-decoration:none;padding:6px 14px;border-radius:6px;border:1px solid var(--color-accent);transition:background-color .15s ease;font-family:Gelion}.comfyui-page__open-btn:hover{background-color:var(--color-accent-subtle)}.comfyui-page__frame{flex:1;width:100%;border:none}.comfyui-page__frame--hidden{position:absolute;width:0;height:0;overflow:hidden}.comfyui-skeleton{flex:1;display:flex;overflow:hidden}.comfyui-skeleton__sidebar{width:200px;background-color:var(--color-bg-secondary);border-right:1px solid var(--color-border-primary);padding:16px;display:flex;flex-direction:column;gap:12px;flex-shrink:0}.comfyui-skeleton__block{border-radius:6px;background:linear-gradient(90deg,var(--color-bg-tertiary) 25%,var(--color-bg-hover) 50%,var(--color-bg-tertiary) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite}.comfyui-skeleton__block--sm{height:32px}.comfyui-skeleton__block--lg{height:120px}.comfyui-skeleton__canvas{flex:1;position:relative;background-color:var(--color-bg-primary);background-image:radial-gradient(circle,var(--color-border-primary) 1px,transparent 1px);background-size:24px 24px}.comfyui-skeleton__node{position:absolute;width:160px;height:80px;border-radius:8px;border:1px solid var(--color-border-primary);background:linear-gradient(90deg,var(--color-bg-secondary) 25%,var(--color-bg-tertiary) 50%,var(--color-bg-secondary) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite}.comfyui-skeleton__label{position:absolute;bottom:24px;left:50%;transform:translate(-50%);font-size:14px;color:var(--color-text-muted);font-family:Gelion}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width: 768px){.comfyui-page{height:calc(100vh - 56px)}.comfyui-page__header{padding:10px 16px}}.toast-container{position:fixed;top:24px;right:24px;z-index:9999;display:flex;flex-direction:column;gap:10px;max-width:400px}.toast{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-radius:8px;color:#fff;font-size:14px;box-shadow:var(--shadow-md);animation:toast-slide-in .3s ease-out}.toast-content{flex:1}.toast-content p{margin:0}.toast-close{background:none;border:none;color:inherit;font-size:18px;cursor:pointer;margin-left:12px;padding:0 4px;opacity:.8}.toast-close:hover{opacity:1}.toast-success{background-color:var(--color-success)}.toast-error{background-color:var(--color-error)}.toast-warning{background-color:var(--color-warning)}.toast-info{background-color:var(--color-info)}@keyframes toast-slide-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}:root,[data-theme=dark]{--color-bg-primary: #050505;--color-bg-secondary: #0f111a;--color-bg-tertiary: #1c1f2b;--color-bg-elevated: #15171f;--color-bg-hover: #262a39;--color-bg-input: #1c1f2b;--color-sidebar-bg: #0a0b10;--color-sidebar-hover: #20242f;--color-sidebar-muted: #8d8d8d;--color-sidebar-active-bg: rgba(242, 242, 242, .1);--color-text-primary: #f2f2f2;--icon-filter: brightness(0) invert(1);--icon-filter-inverse: none;--color-text-secondary: #c2c5d2;--color-text-tertiary: #9398a8;--color-text-muted: #8d8d8d;--color-text-inverse: #050505;--color-border-primary: #2b2e3b;--color-border-secondary: rgba(255, 255, 255, .1);--color-border-input: #34384a;--color-accent: #f2f2f2;--color-accent-hover: #ffffff;--color-accent-subtle: rgba(242, 242, 242, .1);--color-accent-secondary: #8d8d8d;--color-success: #22c55e;--color-success-bg: rgba(34, 197, 94, .12);--color-success-text: #4ade80;--color-error: #ef4444;--color-error-bg: rgba(239, 68, 68, .12);--color-error-text: #f87171;--color-warning: #f59e0b;--color-warning-bg: rgba(245, 158, 11, .12);--color-warning-text: #fbbf24;--color-info: #3b82f6;--color-info-bg: rgba(59, 130, 246, .12);--color-info-text: #60a5fa;--color-badge-pending-bg: rgba(245, 158, 11, .12);--color-badge-pending-text: #fbbf24;--color-badge-success-bg: rgba(34, 197, 94, .12);--color-badge-success-text: #4ade80;--color-badge-danger-bg: rgba(239, 68, 68, .12);--color-badge-danger-text: #f87171;--color-btn-primary-bg: #f2f2f2;--color-btn-primary-hover: #ffffff;--color-btn-primary-text: #050505;--color-btn-danger-bg: #dc2626;--color-btn-danger-hover: #b91c1c;--color-btn-danger-text: #ffffff;--color-btn-secondary-bg: #1c1f2b;--color-btn-secondary-hover: #262a39;--color-btn-secondary-text: #f2f2f2;--color-btn-disabled-bg: #15171f;--color-btn-disabled-text: #5b6075;--color-card-bg: #14161e;--color-card-border: var(--color-border-primary);--gradient-page: linear-gradient(160deg, #0a0b10 0%, #050505 100%);--gradient-brand: linear-gradient(135deg, #f2f2f2 0%, #8d8d8d 100%);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .4);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 30px rgba(0, 0, 0, .5);--color-form-bg: var(--color-bg-secondary);--color-form-input-bg: var(--color-bg-input);--color-form-input-border: var(--color-border-input);--color-form-input-focus: var(--color-accent);--color-form-label: var(--color-text-secondary);--color-form-placeholder: var(--color-text-tertiary);--color-table-bg: var(--color-bg-secondary);--color-table-header-bg: var(--color-bg-tertiary);--color-table-header-text: var(--color-text-primary);--color-table-cell-text: var(--color-text-secondary);--color-table-border: var(--color-border-primary);--color-table-row-hover: var(--color-bg-tertiary);--color-loader: #f2f2f2;--sidebar-width: 174px;--sidebar-collapsed-width: 64px;--content-max-width: 1400px;--transition-fast: .15s ease;--transition-base: .3s ease}[data-theme=light]{--color-bg-primary: #f8f9fc;--color-bg-secondary: #ffffff;--color-bg-tertiary: #f1f3f8;--color-bg-elevated: #ffffff;--color-bg-hover: #eef0f6;--color-bg-input: #ffffff;--color-sidebar-bg: #13151d;--color-sidebar-hover: #2a2f42;--color-sidebar-muted: #7b83a0;--color-sidebar-active-bg: rgba(242, 242, 242, .12);--color-text-primary: #111827;--icon-filter: none;--icon-filter-inverse: brightness(0) invert(1);--color-text-secondary: #4b5563;--color-text-tertiary: #6b7280;--color-text-muted: #9ca3af;--color-text-inverse: #ffffff;--color-border-primary: #e2e5ee;--color-border-secondary: rgba(0, 0, 0, .06);--color-border-input: #d1d5e0;--color-accent: #14161e;--color-accent-hover: #050505;--color-accent-subtle: rgba(20, 22, 30, .07);--color-accent-secondary: #6b7280;--color-success: #16a34a;--color-success-bg: #f0fdf4;--color-success-text: #16a34a;--color-error: #dc2626;--color-error-bg: #fef2f2;--color-error-text: #dc2626;--color-warning: #d97706;--color-warning-bg: #fffbeb;--color-warning-text: #d97706;--color-info: #2563eb;--color-info-bg: #eff6ff;--color-info-text: #2563eb;--color-badge-pending-bg: #fef3c7;--color-badge-pending-text: #b45309;--color-badge-success-bg: #dcfce7;--color-badge-success-text: #15803d;--color-badge-danger-bg: #fee2e2;--color-badge-danger-text: #b91c1c;--color-btn-primary-bg: #14161e;--color-btn-primary-hover: #050505;--color-btn-primary-text: #f2f2f2;--color-btn-danger-bg: #dc2626;--color-btn-danger-hover: #b91c1c;--color-btn-danger-text: #ffffff;--color-btn-secondary-bg: #f1f3f8;--color-btn-secondary-hover: #e2e5ee;--color-btn-secondary-text: #374151;--color-btn-disabled-bg: #f1f3f8;--color-btn-disabled-text: #9ca3af;--color-card-bg: #ffffff;--color-card-border: var(--color-border-primary);--gradient-page: linear-gradient(145deg, #f8f9fc 0%, #eef0f6 100%);--gradient-brand: linear-gradient(135deg, #14161e 0%, #6b7280 100%);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 30px rgba(0, 0, 0, .1);--color-form-bg: var(--color-bg-secondary);--color-form-input-bg: var(--color-bg-input);--color-form-input-border: var(--color-border-input);--color-form-input-focus: var(--color-accent);--color-form-label: var(--color-text-secondary);--color-form-placeholder: var(--color-text-muted);--color-table-bg: var(--color-bg-secondary);--color-table-header-bg: var(--color-bg-tertiary);--color-table-header-text: var(--color-text-primary);--color-table-cell-text: var(--color-text-secondary);--color-table-border: var(--color-border-primary);--color-table-row-hover: var(--color-bg-tertiary);--color-loader: #14161e}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@font-face{font-family:Gelion;src:url(/assets/GelionBlack-DQ-eWs3V.ttf) format("truetype");font-weight:900;font-style:normal}@font-face{font-family:Gelion;src:url(/assets/GelionBlackItalic-C8ZVBl48.ttf) format("truetype");font-weight:900;font-style:italic}@font-face{font-family:Gelion;src:url(/assets/GelionBold-DfkWSOuk.ttf) format("truetype");font-weight:700;font-style:normal}@font-face{font-family:Gelion;src:url(/assets/GelionBoldItalic-_HbwctXN.ttf) format("truetype");font-weight:700;font-style:italic}@font-face{font-family:Gelion;src:url(/assets/GelionSemiBold-CiS9Ii44.ttf) format("truetype");font-weight:600;font-style:normal}@font-face{font-family:Gelion;src:url(/assets/GelionSemiBoldItalic-BWfUB_C4.ttf) format("truetype");font-weight:600;font-style:italic}@font-face{font-family:Gelion;src:url(/assets/GelionRegular-DItWxR3O.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:Gelion;src:url(/assets/GelionRegularItalic-DBqtXYRu.ttf) format("truetype");font-weight:400;font-style:italic}@font-face{font-family:Gelion;src:url(/assets/GelionMedium-DwU7pYVY.ttf) format("truetype");font-weight:500;font-style:normal}@font-face{font-family:Gelion;src:url(/assets/GelionMediumItalic-BsSZakex.ttf) format("truetype");font-weight:500;font-style:italic}@font-face{font-family:Gelion;src:url(/assets/GelionLight-CpU67-Ud.ttf) format("truetype");font-weight:300;font-style:normal}@font-face{font-family:Gelion;src:url(/assets/GelionLightItalic-Dm5PDYIT.ttf) format("truetype");font-weight:300;font-style:italic}@font-face{font-family:Gelion;src:url(/assets/GelionThin-D-wk5Tw6.ttf) format("truetype");font-weight:100;font-style:normal}@font-face{font-family:Gelion;src:url(/assets/GelionThinItalic-ChkTl4Ni.ttf) format("truetype");font-weight:100;font-style:italic}@font-face{font-family:Oswald;src:url(/assets/Oswald-Bold-CHB0NlSS.ttf) format("truetype");font-weight:700;font-style:normal}@font-face{font-family:Oswald;src:url(/assets/Oswald-SemiBold-BS34gioX.ttf) format("truetype");font-weight:600;font-style:normal}@font-face{font-family:Oswald;src:url(/assets/Oswald-Medium-UI9DaFIC.ttf) format("truetype");font-weight:500;font-style:normal}@font-face{font-family:Oswald;src:url(/assets/Oswald-Regular-CUewnb0h.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:Oswald;src:url(/assets/Oswald-Light-BxipAuXN.ttf) format("truetype");font-weight:300;font-style:normal}@font-face{font-family:Oswald;src:url(/assets/Oswald-ExtraLight-DU2v8jKc.ttf) format("truetype");font-weight:200;font-style:normal}input[type=text],input[type=number],input[type=email],input[type=password],input[type=url],input[type=search],input[type=tel],input[type=color],input[type=date],input[type=datetime-local],input[type=month],input[type=week],input[type=time]{display:flex;align-items:center;width:100%;min-height:40px;padding:8px 12px;gap:6px;flex-shrink:0;border-radius:50px;background:var(--color-form-input-bg);border:1px solid var(--color-form-input-border);color:var(--color-text-primary);font-family:Gelion;outline:none;box-sizing:border-box;transition:border-color var(--transition-fast, .15s ease)}input[type=text]:focus,input[type=number]:focus,input[type=email]:focus,input[type=password]:focus,input[type=url]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=date]:focus{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-subtle)}input[type=checkbox]{display:flex;align-items:center;width:20px;height:20px;padding:0;flex-shrink:0;border-radius:4px;background:var(--color-form-input-bg);border:1px solid var(--color-form-input-border);cursor:pointer}label{font-family:Gelion;color:var(--color-form-label)}textarea{display:flex;width:100%;min-height:56px;padding:10px 12px;font-family:Gelion;align-items:center;gap:6px;flex-shrink:0;border-radius:8px;background:var(--color-form-input-bg);border:1px solid var(--color-form-input-border);color:var(--color-text-primary);resize:vertical;box-sizing:border-box;outline:none;transition:border-color var(--transition-fast, .15s ease)}textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-subtle)}select{min-height:40px;padding:8px 12px;border-radius:50px;background:var(--color-form-input-bg);border:1px solid var(--color-form-input-border);color:var(--color-text-primary);font-family:Gelion;font-size:14px;outline:none;cursor:pointer;box-sizing:border-box;width:100%;transition:border-color var(--transition-fast, .15s ease)}select:focus{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-subtle)}button{font-family:inherit;font-size:inherit;line-height:1;border:none;cursor:pointer;background:none;color:inherit}button:disabled{cursor:not-allowed;opacity:.5}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:Gelion,sans-serif;font-weight:600;font-size:13px;line-height:1;padding:10px 20px;border:1px solid transparent;border-radius:8px;cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .1s ease}.btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none!important;box-shadow:none!important}.btn:active:not(:disabled){transform:scale(.97)}.btn-primary{background-color:var(--color-btn-primary-bg);color:var(--color-btn-primary-text);box-shadow:0 1px 2px #00000026}.btn-primary:hover:not(:disabled){background-color:var(--color-btn-primary-hover);box-shadow:0 3px 8px #f2f2f24d}.btn-secondary{background-color:var(--color-btn-secondary-bg);color:var(--color-btn-secondary-text);border-color:var(--color-border-primary)}.btn-secondary:hover:not(:disabled){background-color:var(--color-btn-secondary-hover);border-color:var(--color-text-muted)}.btn-danger{background-color:var(--color-btn-danger-bg);color:var(--color-btn-danger-text);box-shadow:0 1px 2px #00000026}.btn-danger:hover:not(:disabled){background-color:var(--color-btn-danger-hover);box-shadow:0 3px 8px #dc26264d}.btn-icon{padding:8px;min-width:34px;min-height:34px}.btn img{width:16px;height:16px}.btn-primary img{filter:var(--icon-filter-inverse)}.btn-secondary img{filter:var(--icon-filter)}.btn-danger img{filter:brightness(0) invert(1)}.btn-ghost{background-color:transparent;color:var(--color-text-secondary)}.btn-ghost:hover:not(:disabled){background-color:var(--color-bg-hover);color:var(--color-text-primary)}.btn-sm{font-size:12px;padding:6px 14px;border-radius:6px}.btn-lg{font-size:15px;padding:12px 28px;border-radius:10px}.btn-icon{padding:8px;border-radius:8px;min-width:36px;min-height:36px}.btn-icon img,.btn-icon svg{width:16px;height:16px}.btn-icon.btn-sm{padding:5px;min-width:28px;min-height:28px}.btn-pill{border-radius:50px}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:Gelion,sans-serif;font-weight:600;font-size:14px;padding:10px 24px;border:none;border-radius:8px;cursor:pointer;background-color:var(--color-btn-primary-bg);color:var(--color-btn-primary-text);box-shadow:0 1px 2px #00000026;transition:background-color .15s ease,box-shadow .15s ease,transform .1s ease}.primary-button:hover:not(:disabled){background-color:var(--color-btn-primary-hover);box-shadow:0 3px 8px #f2f2f24d}.primary-button:active:not(:disabled){transform:scale(.97)}.primary-button:disabled{opacity:.45;cursor:not-allowed}.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:Gelion,sans-serif;font-weight:600;font-size:14px;padding:10px 24px;border:1px solid var(--color-border-primary);border-radius:8px;cursor:pointer;background-color:var(--color-btn-secondary-bg);color:var(--color-btn-secondary-text);transition:background-color .15s ease,border-color .15s ease,transform .1s ease}.secondary-button:hover:not(:disabled){background-color:var(--color-btn-secondary-hover);border-color:var(--color-text-muted)}.secondary-button:active:not(:disabled){transform:scale(.97)}.status-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:capitalize;display:inline-block}.status-pending{background-color:var(--color-badge-pending-bg);color:var(--color-badge-pending-text)}.status-accepted,.status-active{background-color:var(--color-badge-success-bg);color:var(--color-badge-success-text)}.status-revoked{background-color:var(--color-badge-danger-bg);color:var(--color-badge-danger-text)}html{background-color:var(--color-bg-primary)}*{box-sizing:border-box}#root{font-weight:400;width:100%;margin:0;padding:0;color:var(--color-text-primary);background-color:var(--color-bg-primary);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-family:Gelion;font-weight:500;color:var(--color-text-primary);text-decoration:none}a:hover{color:var(--color-text-primary)}p{font-family:Gelion;font-weight:400;color:var(--color-text-primary)}h1{font-family:Oswald;font-weight:900;color:var(--color-text-primary);margin:0 0 16px}h2{font-family:Oswald;font-weight:700;color:var(--color-text-primary)}h3,h4{font-family:Oswald;font-weight:600;color:var(--color-text-primary)}ul li,span{font-family:Gelion;font-weight:400;color:var(--color-text-primary)}body{margin:0;display:flex;place-items:top center;min-width:320px;min-height:100vh;font-family:Gelion,sans-serif}ul{list-style:none;padding:0;margin:0}.back-btn{display:inline-flex;align-items:center;gap:4px;background:none;border:none;color:var(--color-accent);font-size:14px;font-family:Gelion;cursor:pointer;padding:4px 0;margin-bottom:12px;align-self:flex-start}.back-btn:hover{text-decoration:underline}table{width:100%;border-collapse:collapse;border:1px solid var(--color-table-border);border-radius:40px}table th,table td{padding:12px 16px;border-bottom:1px solid var(--color-table-border)}table th{background-color:var(--color-table-header-bg);color:var(--color-table-header-text);font-weight:500;font-family:Gelion}table td{color:var(--color-table-cell-text);font-size:.875rem;font-family:Gelion}table .table-actions{display:flex;justify-content:center;align-items:center;gap:6px}table .table-actions button[class~=btn-primary]{background-color:var(--color-btn-primary-bg);border:none;color:var(--color-btn-primary-text);cursor:pointer;font-size:1.2rem;border-radius:6px;padding:6px;transition:background-color .15s ease,box-shadow .15s ease}table .table-actions button[class~=btn-primary]:hover{background-color:var(--color-btn-primary-hover);box-shadow:0 2px 6px #f2f2f240}table .table-actions button[class~=btn-danger]{background-color:var(--color-btn-danger-bg);border:none;color:var(--color-btn-danger-text);cursor:pointer;font-size:1.2rem;border-radius:6px;padding:6px;transition:background-color .15s ease,box-shadow .15s ease}table .table-actions button[class~=btn-danger]:hover{background-color:var(--color-btn-danger-hover);box-shadow:0 2px 6px #dc262640}table .table-actions button[alt=view]{background-color:transparent;border:none;color:var(--color-success-text);cursor:pointer;font-size:1.2rem;border-radius:6px;padding:6px;transition:background-color .15s ease}table .table-actions button[alt=view]:hover{background-color:var(--color-success-bg)}table .table-actions button[alt=copy]{background-color:transparent;border:none;color:var(--color-warning-text);cursor:pointer;font-size:1.2rem;border-radius:6px;padding:6px;transition:background-color .15s ease}table .table-actions button[alt=copy]:hover{background-color:var(--color-warning-bg)}table .table-actions button[alt=download]{background-color:transparent;border:none;color:var(--color-accent);cursor:pointer;font-size:1.2rem;border-radius:6px;padding:6px;transition:background-color .15s ease}table .table-actions button[alt=download]:hover{background-color:var(--color-accent-subtle)}.page-container{width:100%}.loader-container{display:flex;justify-content:center;align-items:center;height:100vh}.loader{width:40px;aspect-ratio:1;background:var(--color-loader);animation:l1 1s infinite}@keyframes l1{0%{transform:perspective(150px) rotateX(0)}to{transform:perspective(150px) rotateX(180deg)}}
