:root{
  --success:#7ce5a3;
  --warning:#ffd36d;
  --info:#63e6ff;
  --control-height:48px;
  --radius-control:13px;
  --focus-ring:0 0 0 2px var(--bg),0 0 0 4px var(--lime);
  --z-dialog:150;
  --z-toast:180;
}

.button:disabled,.button[aria-disabled="true"]{cursor:not-allowed;opacity:.48;transform:none;box-shadow:none}
.button[aria-busy="true"]{cursor:wait}
.creator-topbar-actions form,.sidebar-secondary form,.access-logout-form{margin:0}
.creator-topbar-actions a,.creator-topbar-actions button{min-height:40px;padding:0 12px;border-radius:10px;display:inline-flex;align-items:center;background:transparent;color:#8994a3;font-size:11px;font-weight:600;cursor:pointer;transition:color var(--duration-fast),background var(--duration-fast),border-color var(--duration-fast)}
.creator-topbar-actions .topbar-logout{border:1px solid #26313f;color:#d8dde4}
.sidebar-secondary a,.sidebar-secondary button{width:100%;min-height:42px;padding:0 10px;border:0;border-radius:10px;display:flex;align-items:center;gap:11px;background:transparent;color:#737f8f;font-size:11px;font-weight:600;text-align:left;cursor:pointer;transition:color var(--duration-fast),background var(--duration-fast)}
.access-logout-form{display:flex;justify-content:center}.access-logout{border:0;background:transparent;cursor:pointer}

.ui-input,input.ui-input,.ui-select,select.ui-select,.ui-textarea,textarea.ui-textarea{
  width:100%;min-height:var(--control-height);border:1px solid var(--line);border-radius:var(--radius-control);
  background:rgba(255,255,255,.025);color:var(--text);padding:0 14px;line-height:1.4;
  transition:border-color var(--duration-fast),background var(--duration-fast),box-shadow var(--duration-fast)
}
.ui-textarea,textarea.ui-textarea{min-height:120px;padding-block:12px;resize:vertical}
.ui-input::placeholder,.ui-textarea::placeholder{color:var(--muted-2)}
.ui-input:hover,.ui-select:hover,.ui-textarea:hover{border-color:#344152;background:rgba(255,255,255,.04)}
.ui-input:focus-visible,.ui-select:focus-visible,.ui-textarea:focus-visible{outline:none;border-color:rgba(217,255,91,.6);box-shadow:var(--focus-ring)}
.ui-input:disabled,.ui-select:disabled,.ui-textarea:disabled{cursor:not-allowed;opacity:.55}
.ui-input[aria-invalid="true"],.ui-select[aria-invalid="true"],.ui-textarea[aria-invalid="true"]{border-color:rgba(255,120,111,.72)}

.ui-alert{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid rgba(99,230,255,.24);border-radius:var(--radius-sm);background:rgba(99,230,255,.055);color:#c8f5ff;font-size:12px;line-height:1.55}
.ui-alert.is-success{min-height:0;align-items:flex-start;gap:0;padding:15px 18px;border:1px solid rgba(124,229,163,.25);border-radius:18px;background:rgba(124,229,163,.06);color:#c9f5d9;font-size:11px;line-height:1.55}
.ui-alert.is-success>span:first-child:empty{display:none!important}
.ui-alert.is-success>p{margin:0!important;padding:0!important;color:inherit!important}
.ui-alert.quest-state.is-success{min-height:0;border:1px solid rgba(124,229,163,.25);border-radius:18px}
.ui-alert.is-error{border-color:rgba(255,120,111,.3);background:rgba(255,120,111,.065);color:#ffc1bd}
.ui-alert.is-warning{border-color:rgba(255,211,109,.28);background:rgba(255,211,109,.06);color:#ffe6ab}

.ui-dialog{z-index:var(--z-dialog);margin:auto;padding:0;border:1px solid #293746;border-radius:var(--radius-lg);background:#0a0f15;color:var(--text);box-shadow:var(--shadow-lg);overflow:hidden;animation:ui-dialog-in .24s var(--ease-emphasized) both}
.ui-dialog::backdrop{background:rgba(2,4,7,.76);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:ui-backdrop-in .2s ease both}
.ui-dialog.is-closing{animation:ui-dialog-out .2s ease both}
.ui-dialog.is-closing::backdrop{animation:ui-backdrop-out .2s ease both}
.ui-dialog-shell{width:min(480px,calc(100vw - 28px));max-height:calc(100svh - 28px);display:grid;gap:20px;padding:22px;overflow:auto;overscroll-behavior:contain}
.ui-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.ui-dialog-header>div{display:grid;gap:6px}.ui-dialog-header span{color:var(--lime);font-size:9px;font-weight:700;letter-spacing:.15em}.ui-dialog-header h2{margin:0;font-size:20px;line-height:1.2}
.ui-dialog-close{width:38px;height:38px;flex:none;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.025);color:var(--muted);font-size:23px;line-height:1;cursor:pointer}
.ui-confirm-message{margin:0;color:#aeb8c5;font-size:13px;line-height:1.65;white-space:pre-line}
.ui-dialog-actions{display:flex;justify-content:flex-end;gap:9px}
.ui-toast{z-index:var(--z-toast);box-shadow:0 18px 55px rgba(0,0,0,.38)}
.ui-toast[data-type="success"]{border-color:rgba(124,229,163,.35);background:rgba(18,38,29,.97);color:#d4f9e1}
.ui-toast[data-type="error"]{border-color:rgba(255,120,111,.42);color:#ffb8b3}
.ui-toast[data-type="warning"]{border-color:rgba(255,211,109,.38);color:#ffe6ab}
.ui-toast[data-type="info"]{border-color:rgba(99,230,255,.34);color:#cef7ff}
body.ui-dialog-open{overflow:hidden;overscroll-behavior:none}

@keyframes ui-dialog-in{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}
@keyframes ui-dialog-out{from{opacity:1;transform:none}to{opacity:0;transform:translateY(10px) scale(.985)}}
@keyframes ui-backdrop-in{from{opacity:0}to{opacity:1}}
@keyframes ui-backdrop-out{from{opacity:1}to{opacity:0}}

@media(max-width:640px){
  .ui-dialog{max-width:calc(100vw - 18px);max-height:calc(100svh - 18px);border-radius:18px}
  .ui-dialog-shell{width:100%;max-height:calc(100svh - 18px);padding:18px}
  .ui-dialog-actions{display:grid;grid-template-columns:1fr}.ui-dialog-actions .button{width:100%}
}

@media(hover:hover) and (pointer:fine){
  .creator-topbar-actions a:hover,.creator-topbar-actions button:hover{color:var(--text)}
  .creator-topbar-actions .topbar-logout:hover{background:rgba(255,255,255,.04);border-color:#344152}
  .sidebar-secondary a:hover,.sidebar-secondary button:hover{color:var(--text);background:rgba(255,255,255,.035)}
}

@media(prefers-reduced-motion:reduce){.ui-dialog,.ui-dialog::backdrop,.ui-dialog.is-closing,.ui-dialog.is-closing::backdrop{animation:none}}
