.overlay { position: fixed; inset: 0; z-index: var(--z-modal-backdrop); background: rgba(3,5,8,.66); backdrop-filter: blur(14px); display: none; place-items: center; padding: 20px; }.overlay.open, .overlay[style*="display: flex"], .overlay[style*="display: grid"] { display: grid !important; }.modal, .auth-box { position: relative; z-index: var(--z-modal); border: 1px solid var(--line-2); border-radius: 24px; background: rgba(12,15,21,.99); box-shadow: var(--shadow); overflow: hidden; }.auth-box { width: min(410px,100%); padding: 25px; display: grid; gap: 12px; }.auth-box h2, .auth-box p { margin: 0; }.auth-box p { color: var(--muted); }.primary, .secondary { min-height: 36px; border-radius: 10px; padding: 0 12px; }.primary { background: linear-gradient(135deg,#706cff,#5fbde8); color: #fff; }.secondary { border: 1px solid var(--line); background: var(--surface-2); color: var(--muted); }
.permission-dialog { width: min(520px,100%); height: auto; }.permission-body { padding: 22px; }.permission-actions { display: flex; justify-content: flex-end; gap: 8px; padding: 14px 18px; border-top: 1px solid var(--line); }.permission-session-toggle { display: flex; align-items: center; gap: 8px; color: var(--muted); }
.notification-pop { position: fixed; right: 18px; top: 68px; width: min(380px,calc(100vw - 24px)); z-index: var(--z-popover); border: 1px solid var(--line-2); border-radius: 18px; background: rgba(12,15,21,.98); box-shadow: var(--shadow); overflow: hidden; display: none; }.notification-pop.open { display: block; }.pop-head { min-height: 54px; display: flex; align-items: center; padding: 0 13px; border-bottom: 1px solid var(--line); }.pop-head strong { flex: 1; }.notification-empty { padding: 22px; color: var(--subtle); text-align: center; }
.command { position: relative; z-index: var(--z-command); width: min(680px,100%); border: 1px solid var(--line-2); border-radius: 20px; background: #10141c; box-shadow: var(--shadow); overflow: hidden; }.command-search { height: 62px; display: flex; align-items: center; gap: 10px; padding: 0 16px; border-bottom: 1px solid var(--line); }.command-search input { min-width: 0; flex: 1; border: 0; outline: 0; background: transparent; color: var(--text); }.command-list { max-height: 60vh; overflow: auto; padding: 10px; }.command-group { padding: 10px; color: var(--subtle); font-size: 10px; text-transform: uppercase; letter-spacing: .09em; }.command-row { width: 100%; border-radius: 12px; display: grid; grid-template-columns: 34px 1fr; gap: 10px; align-items: center; padding: 10px; text-align: left; }.command-row:hover, .command-row.is-active { background: var(--surface-2); }.command-copy { display: grid; }.command-copy span { color: var(--subtle); font-size: 10px; }
.drop-zone { position: fixed; inset: 0; z-index: var(--z-modal-backdrop); background: rgba(3,5,10,.82); display: none; place-items: center; }.drop-zone[style*="display: flex"], .drop-zone[style*="display: grid"] { display: grid !important; }.drop-content { text-align: center; }.drop-content p { color: var(--muted); }
.toast, #uiToastRegion { position: fixed; z-index: var(--z-toast); right: 18px; bottom: 18px; }.toast { display: none; align-items: center; gap: 10px; padding: 12px 14px; border: 1px solid var(--line-2); border-radius: 14px; background: #11161f; }.ui-toast { padding: 11px 13px; border: 1px solid var(--line-2); border-radius: 12px; background: #11161f; box-shadow: var(--shadow-soft); }


/* AuAI V6.3 — authentication and overlay polish */
body.auth-required .boot { display: none !important; }
#authModal { z-index: var(--z-command); background: radial-gradient(circle at 50% 12%, rgba(123,120,255,.12), transparent 24rem), rgba(4,6,10,.86); }
#authModal .auth-box {
  width: min(430px, calc(100vw - 32px));
  padding: 30px;
  gap: 16px;
  border-color: rgba(255,255,255,.12);
  background: linear-gradient(155deg, rgba(19,24,34,.985), rgba(9,12,18,.99));
  box-shadow: 0 36px 120px rgba(0,0,0,.58), 0 0 0 1px rgba(123,120,255,.035);
}
.auth-brand { display: flex; justify-content: center; padding: 2px 0 5px; }
.auth-brand .aura-core { --core: 48px; }
.auth-copy { display: grid; justify-items: center; text-align: center; gap: 5px; }
.auth-copy h2 { margin: 0; font-size: 24px; line-height: 1.12; letter-spacing: -.035em; }
.auth-copy p { margin: 0; max-width: 320px; color: var(--muted); font-size: 12px; line-height: 1.52; }
.auth-field { display: grid; gap: 6px; }
.auth-field > span { color: #c4cbd6; font-size: 10px; font-weight: 690; }
.form-input {
  width: 100%;
  height: 46px;
  border: 1px solid var(--line-2);
  border-radius: 12px;
  outline: 0;
  background: rgba(7,10,15,.72);
  color: var(--text);
  padding: 0 13px;
  transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}
.form-input::placeholder { color: #687386; }
.form-input:focus { border-color: rgba(123,120,255,.55); background: rgba(10,13,20,.95); box-shadow: 0 0 0 3px rgba(123,120,255,.08); }
.auth-submit { width: 100%; min-height: 46px; margin-top: 2px; font-weight: 720; box-shadow: 0 12px 28px rgba(93,91,220,.22); }
.auth-register-link { color: #aebcff; font-size: 11px; font-weight: 650; text-align: center; text-decoration: none; }
.auth-register-link:hover, .auth-register-link:focus-visible { color: #d7ddff; text-decoration: underline; text-underline-offset: 3px; }
.auth-footnote { margin: -2px 0 0 !important; color: var(--subtle) !important; font-size: 9.5px !important; line-height: 1.45; text-align: center; }
#loginError { padding: 9px 10px; border: 1px solid rgba(255,136,151,.22); border-radius: 10px; background: rgba(255,136,151,.07); color: #ffb4be; font-size: 10.5px; }

.overlay.open .modal,
.overlay.open .auth-box { animation: modal-enter .22s var(--ease) both; }
@keyframes modal-enter { from { opacity: 0; transform: translateY(8px) scale(.985); } }

.permission-dialog { max-height: min(640px, calc(100dvh - 32px)); }
.permission-body p { color: var(--muted); line-height: 1.55; }
.permission-session-toggle { min-height: 42px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 10px; background: rgba(255,255,255,.02); }
.permission-actions .primary,
.permission-actions .secondary { min-height: 40px; }


/* V6.4 image lightbox */
.media-preview-overlay { z-index: calc(var(--z-modal) + 20); padding: clamp(10px,3vw,28px); background: rgba(2,4,8,.82); backdrop-filter: blur(18px); }
.media-preview-dialog { width: min(1120px,100%); height: min(88dvh,860px); display: grid; grid-template-rows: auto minmax(0,1fr) auto auto; overflow: hidden; background: #090d14; }
.media-preview-head { min-height: 58px; display: flex; align-items: center; gap: 12px; padding: 10px 12px 10px 16px; border-bottom: 1px solid var(--line); }
.media-preview-head > div { min-width: 0; flex: 1; }
.media-preview-head strong, .media-preview-head span { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.media-preview-head strong { font-size: 13px; }.media-preview-head span { margin-top: 2px; color: var(--subtle); font-size: 10px; }
.media-preview-stage { min-width: 0; min-height: 0; display: grid; place-items: center; overflow: auto; padding: 14px; background: radial-gradient(circle at 50% 35%,rgba(91,111,207,.12),transparent 45%),#05070b; }
.media-preview-stage img { display: block; max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; border-radius: 12px; box-shadow: 0 22px 70px rgba(0,0,0,.42); transform-origin: center; transition: transform .16s ease; }
.media-preview-controls { min-height: 44px; display: flex; align-items: center; justify-content: center; gap: 8px; border-top: 1px solid var(--line); }
.media-preview-controls button { min-height: 32px; padding: 0 10px; border: 1px solid var(--line); border-radius: 8px; color: var(--muted); background: var(--surface); }
.media-preview-controls output { min-width: 48px; color: var(--subtle); font-size: 10px; text-align: center; }
.media-preview-actions { min-height: 58px; display: flex; justify-content: flex-end; gap: 8px; align-items: center; padding: 10px 14px; border-top: 1px solid var(--line); }
.media-preview-actions a { min-height: 38px; display: inline-flex; align-items: center; justify-content: center; padding: 0 13px; border-radius: 10px; text-decoration: none; }
@media (max-width:620px) { .media-preview-overlay { padding: 0; } .media-preview-dialog { width:100%; height:100dvh; border:0; border-radius:0; } .media-preview-actions a { flex:1; } }
