body.perf-lite .send-btn.loading{
  background:rgba(var(--lime-rgb),.10) !important;
  border:1px solid rgba(var(--lime-rgb),.24) !important;
  color:var(--lime) !important;
  box-shadow:none !important;
}
body.perf-lite .send-loader{
  width:19px !important;
  height:19px !important;
  border-width:2.2px !important;
}
body.perf-lite .send-btn.stop-mode{
  background:rgba(255,79,109,.14) !important;
  color:#ff4f6d !important;
  border-color:rgba(255,79,109,.28) !important;
  animation:stopPulse 1.1s ease-in-out infinite !important;
}
@media (prefers-reduced-motion: reduce){
  body.perf-lite *{animation:none !important;transition:none !important;scroll-behavior:auto !important;}
}
@media (max-width:760px){
  body.perf-lite .glass-btn,
  body.perf-lite .glass-capsule{box-shadow:0 8px 20px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.05) !important;}
  body.perf-lite .quick-card,
  body.perf-lite .bubble,
  body.perf-lite .file-card,
  body.perf-lite .tool-btn{box-shadow:none !important;}
  body.perf-lite .voice-logo{width:118px;height:118px;}
}

/* =========================================================
   V21 HP KENTANG PATCH
   - Firebase dibuat lazy di firebase.js
   - realtime Firestore dimatikan di app.js
   - efek blur/filter mahal dipangkas lagi
   ========================================================= */
body.perf-lite .glass-btn,
body.perf-lite .glass-capsule,
body.perf-lite .composer-card,
body.perf-lite .floating-menu,
body.perf-lite .style-menu,
body.perf-lite .sidebar,
body.perf-lite .settings-popover,
body.perf-lite .name-modal-card,
body.perf-lite .viewer-box,
body.perf-lite .answer-menu-portal{
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
  filter:none !important;
}
body.perf-lite .voice-logo circle[filter],
body.perf-lite .voice-logo *[filter]{filter:none !important;}
body.perf-lite .outer-pulse,
body.perf-lite .inner-pulse,
body.perf-lite .dash-ring{will-change:auto !important;}
body.perf-lite .wave-bar{animation:none !important;}
body.perf-lite .typing-dots span{animation:typingDot 1.25s ease-in-out infinite !important;}
body.perf-lite .typing-dots span:nth-child(2){animation-delay:.14s !important;}
body.perf-lite .typing-dots span:nth-child(3){animation-delay:.28s !important;}
body.perf-lite .settings-page,
body.perf-lite .sidebar,
body.perf-lite .composer-card{overscroll-behavior:contain;}
body.perf-lite .settings-sub-head,
body.perf-lite .settings-sub-head::before,
body.perf-lite .settings-sub-head::after{background:transparent !important;box-shadow:none !important;filter:none !important;}
body.perf-lite .settings-page::before,
body.perf-lite .settings-page::after{display:none !important;}

/* Bola pilihan warna aksen harus sesuai nama. Jangan ikut warna aktif, dasar bola plin-plan. */
.settings-pop-row[data-pop-type="accent"] .color-dot{background:var(--dot-color, var(--lime)) !important;}
.settings-pop-row[data-pop-type="accent"][data-pop-value="lime"] .color-dot{--dot-color:#c6ff34;}
.settings-pop-row[data-pop-type="accent"][data-pop-value="blue"] .color-dot{--dot-color:#38a7ff;}
.settings-pop-row[data-pop-type="accent"][data-pop-value="green"] .color-dot{--dot-color:#20e484;}
.settings-pop-row[data-pop-type="accent"][data-pop-value="yellow"] .color-dot{--dot-color:#ffd83d;}
.settings-pop-row[data-pop-type="accent"][data-pop-value="pink"] .color-dot{--dot-color:#ff5f93;}
.settings-pop-row[data-pop-type="accent"][data-pop-value="orange"] .color-dot{--dot-color:#ff9b2f;}
.settings-pop-row[data-pop-type="accent"][data-pop-value="purple"] .color-dot{--dot-color:#ad7cff;}

/* Loading tombol kirim balik jadi lingkaran, bukan tombol hantu. */
body.perf-lite .send-btn.loading{background:rgba(var(--lime-rgb),.09) !important;color:var(--lime) !important;}
body.perf-lite .send-btn.loading .send-icon-wrap{display:grid;place-items:center;}
body.perf-lite .send-loader{display:block;border:2.2px solid rgba(var(--lime-rgb),.22);border-top-color:var(--lime);border-right-color:var(--lime);border-radius:50%;animation:spin .72s linear infinite !important;}

/* Modal nama di tengah, tanpa blur layar seperti CCTV kena minyak. */
.name-modal{background:rgba(0,0,0,.48) !important;-webkit-backdrop-filter:none !important;backdrop-filter:none !important;align-items:center !important;}
.name-modal-card{margin:auto !important;transform:none !important;}

/* =========================================================
   V22 FIX: perf-lite jangan ngerusak transform sidebar/composer.
   Penyebab sidebar kebuka terus dan chatbox geser: transform:translateZ(0)
   nimpa translateX. CSS, makhluk kecil perusak malam.
   ========================================================= */
body.perf-lite .composer-card{
  transform:translateX(-50%) translateZ(0) !important;
}
body.perf-lite .sidebar{
  transform:translateX(calc(-100% - 28px)) translateZ(0) !important;
}
body.perf-lite .sidebar.show{
  transform:translateX(0) translateZ(0) !important;
}
body.perf-lite .sidebar-backdrop{pointer-events:none !important;}
body.perf-lite .sidebar-backdrop.show{pointer-events:auto !important;}
body.perf-lite .settings-row#authMainRow .settings-next,
body.perf-lite .settings-row#authMainRow b{color:var(--lime);}
body.perf-lite .auth-card .danger-wide.subtle{margin-top:10px;}
body.perf-lite #manualRefreshDataBtn{margin-top:10px;}
body.perf-lite .side-profile-card{cursor:pointer;}
body.perf-lite .side-profile-card .side-gear{cursor:pointer;}

/* =========================================================
   V23 AUTH + LIGHT ANIMATION PATCH
   - Login/Register dipisah, password eye rapi
   - Animasi balik ringan tanpa blur, HP kentang masih diajak hidup
   ========================================================= */
.auth-v23 .auth-panel{display:none;animation:authPanelIn .22s ease both;}
.auth-v23 .auth-panel.is-active{display:block;}
.auth-tabs-title{font-size:22px;font-weight:950;letter-spacing:-.03em;margin:10px 2px 16px;color:var(--text);}
.password-field{position:relative;margin-bottom:10px;}
.password-field .settings-input{padding-right:56px;margin-bottom:0 !important;}
.password-eye{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:14px;border:1px solid rgba(var(--lime-rgb),.18);background:rgba(245,255,232,.045);color:rgba(245,255,232,.78);display:grid;place-items:center;}
.password-eye.is-visible{color:var(--lime);background:rgba(var(--lime-rgb),.12);}
.auth-reset-inline{display:block;margin:2px auto 14px;color:var(--lime);font-weight:900;}
.auth-switch-note{margin:15px 2px 0;color:var(--muted);font-weight:750;line-height:1.45;text-align:center;}
.auth-switch-note button{color:var(--lime);font-weight:950;background:transparent;border:0;font:inherit;padding:0 2px;}
.google-complete-head{display:flex;align-items:center;gap:14px;padding:13px;border:1px solid rgba(var(--lime-rgb),.16);border-radius:22px;background:rgba(var(--lime-rgb),.045);margin-bottom:14px;}
.google-complete-head b{display:block;color:var(--text);font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:calc(100vw - 185px);}
.google-complete-head span{display:block;color:var(--muted);font-size:12.5px;margin-top:3px;line-height:1.35;}
.auth-card .google-btn{margin-top:12px;}
.auth-card #authLogoutBtn[hidden]{display:none !important;}
@keyframes authPanelIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

/* Hero animasi ringan: no blur, no GPU drama berlebihan */
body.perf-lite .hero{animation:heroLiteIn .52s cubic-bezier(.2,.8,.2,1) both !important;}
body.perf-lite .pill{animation:heroLiteIn .42s cubic-bezier(.2,.8,.2,1) both .05s !important;}
body.perf-lite .hero h1{animation:heroLiteIn .48s cubic-bezier(.2,.8,.2,1) both .12s !important;}
body.perf-lite .hero p{animation:heroLiteIn .48s cubic-bezier(.2,.8,.2,1) both .17s !important;}
body.perf-lite .quick-card{animation:heroLiteIn .48s cubic-bezier(.2,.8,.2,1) both !important;}
body.perf-lite .quick-card:nth-child(1){animation-delay:.20s !important;}
body.perf-lite .quick-card:nth-child(2){animation-delay:.25s !important;}
body.perf-lite .quick-card:nth-child(3){animation-delay:.30s !important;}
body.perf-lite .quick-card:nth-child(4){animation-delay:.35s !important;}
body.perf-lite .voice-logo{animation:logoLiteEntrance .64s cubic-bezier(.2,.8,.2,1) both .08s !important;}
body.perf-lite .logo-float{animation:logoFloat 5.2s ease-in-out infinite !important;}
body.perf-lite .dash-ring{animation:ringRotate 18s linear infinite !important;transform-origin:center;}
body.perf-lite .outer-pulse{animation:outerPulseLite 3.2s ease-in-out infinite !important;transform-origin:center;}
body.perf-lite .inner-pulse{animation:innerPulseLite 3.8s ease-in-out infinite !important;transform-origin:center;}
body.perf-lite .wave-group{animation:waveGroupEnterLite .45s cubic-bezier(.2,.8,.2,1) both .22s !important;}
body.perf-lite .wave-bar{animation:waveMove 2.2s ease-in-out infinite !important;}
body.perf-lite .wave-bar:nth-child(1){animation-delay:0s !important;}
body.perf-lite .wave-bar:nth-child(2){animation-delay:.14s !important;}
body.perf-lite .wave-bar:nth-child(3){animation-delay:.28s !important;}
body.perf-lite .wave-bar:nth-child(4){animation-delay:.18s !important;}
body.perf-lite .wave-bar:nth-child(5){animation-delay:.34s !important;}
@keyframes heroLiteIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes logoLiteEntrance{0%{opacity:0;transform:translateY(18px) scale(.82) rotate(-7deg)}70%{opacity:1;transform:translateY(-2px) scale(1.03) rotate(2deg)}100%{opacity:1;transform:translateY(0) scale(1) rotate(0)}}
@keyframes waveGroupEnterLite{from{opacity:0;transform:translateY(12px) scaleY(.72)}to{opacity:1;transform:translateY(0) scaleY(1)}}
@keyframes outerPulseLite{0%,100%{transform:scale(1);opacity:.55}50%{transform:scale(1.035);opacity:.88}}
@keyframes innerPulseLite{0%,100%{transform:scale(.98);opacity:.38}50%{transform:scale(1.045);opacity:.7}}

@media (max-width:430px){
  .auth-tabs-title{font-size:20px;margin-top:6px;}
  .google-complete-head b{max-width:calc(100vw - 165px);}
}

/* =========================================================
   V24 CHAT TOOLS PATCH
   - Logo pulse ringan
   - Bersihin sisa lime/hijau dari panel saat accent berubah
   - Share/pin/files/search/temp/export/delete UI
   ========================================================= */
:root{
  --chat-toast-top:18px;
  --neutral-panel:rgba(8,10,12,.88);
  --neutral-panel-strong:rgba(6,8,10,.96);
  --accent-surface:linear-gradient(180deg,rgba(var(--lime-rgb),.07),rgba(var(--lime-rgb),.018)),var(--neutral-panel);
  --accent-surface-strong:linear-gradient(180deg,rgba(var(--lime-rgb),.095),rgba(var(--lime-rgb),.026)),var(--neutral-panel-strong);
}
body.perf-lite{
  background:
    radial-gradient(circle at 50% -8%, rgba(var(--lime-rgb),.15), transparent 36%),
    radial-gradient(circle at 12% 20%, rgba(var(--lime-rgb),.055), transparent 30%),
    radial-gradient(circle at 88% 72%, rgba(var(--lime-rgb),.06), transparent 34%),
    linear-gradient(180deg, var(--bg) 0%, var(--bg2) 46%, #030405 100%) !important;
}
body.perf-lite .ai .bubble,
body.perf-lite .sidebar,
body.perf-lite .floating-menu,
body.perf-lite .answer-menu-portal,
body.perf-lite .composer-card,
body.perf-lite .settings-group,
body.perf-lite .settings-row,
body.perf-lite .settings-input,
body.perf-lite .settings-textarea,
body.perf-lite .auth-card,
body.perf-lite .side-profile-card,
body.perf-lite .quick-card,
body.perf-lite .coming-card,
body.perf-lite .security-card,
body.perf-lite .storage-panel,
body.perf-lite .bug-card,
body.perf-lite .about-hero-card{
  background:var(--accent-surface) !important;
  border-color:rgba(var(--lime-rgb),.19) !important;
}
body.perf-lite .floating-menu,
body.perf-lite .answer-menu-portal,
body.perf-lite .sidebar,
body.perf-lite .custom-modal-card{
  background:var(--accent-surface-strong) !important;
}
body.perf-lite .ai .bubble{color:var(--text) !important;}
body.perf-lite .side-item.primary,
body.perf-lite .settings-pop-row.active,
body.perf-lite .side-chat.pinned{
  background:linear-gradient(180deg,rgba(var(--lime-rgb),.13),rgba(var(--lime-rgb),.045)),rgba(8,10,12,.86) !important;
  border-color:rgba(var(--lime-rgb),.24) !important;
}
body.perf-lite .voice-logo{filter:none !important;}
body.perf-lite .voice-logo .outer-pulse{
  animation:logoPulseRingV24 2.55s ease-in-out infinite !important;
  transform-origin:center;
}
body.perf-lite .voice-logo .inner-pulse{
  animation:logoPulseInnerV24 3s ease-in-out infinite !important;
  transform-origin:center;
}
@keyframes logoPulseRingV24{
  0%,100%{transform:scale(1);opacity:.58;stroke-width:2;}
  45%{transform:scale(1.045);opacity:.96;stroke-width:2.6;}
  70%{transform:scale(1.015);opacity:.72;stroke-width:2.2;}
}
@keyframes logoPulseInnerV24{
  0%,100%{transform:scale(.985);opacity:.38;}
  50%{transform:scale(1.055);opacity:.72;}
}
.menu-check-lite{margin-left:auto;color:var(--lime);font-size:18px;font-weight:1000;}
.side-chat{display:flex;align-items:center;gap:8px;}
.side-chat .pin-mini{flex:0 0 auto;color:var(--lime);opacity:.95;}

.chat-search-capsule{
  position:fixed;
  z-index:155;
  top:12px;
  left:94px;
  right:108px;
  height:54px;
  border-radius:999px;
  border:1px solid rgba(var(--lime-rgb),.23);
  background:linear-gradient(180deg,rgba(var(--lime-rgb),.10),rgba(var(--lime-rgb),.025)),rgba(8,10,12,.92);
  box-shadow:0 18px 48px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.11);
  display:flex;
  align-items:center;
  gap:8px;
  padding:6px 8px;
  opacity:0;
  transform:translateY(-5px) scaleX(.68);
  transform-origin:center;
  pointer-events:none;
  transition:opacity .18s ease, transform .22s cubic-bezier(.2,.85,.2,1);
}
body.chat-search-open .chat-search-capsule{opacity:1;transform:translateY(0) scaleX(1);pointer-events:auto;}
body.chat-search-open #modelButton{opacity:0;transform:translateY(-4px) scale(.88);pointer-events:none;}
.chat-search-capsule input{
  min-width:0;
  flex:1;
  height:42px;
  border:0;
  outline:0;
  background:transparent;
  color:var(--text);
  caret-color:var(--lime);
  font-weight:850;
  font-size:16px;
}
.chat-search-capsule input::placeholder{color:rgba(246,255,233,.46);}
.chat-search-icon,.chat-search-close{
  width:42px;height:42px;border-radius:999px;display:grid;place-items:center;color:var(--lime);
  background:rgba(var(--lime-rgb),.075);
}
body.chat-search-open .chat-actions{display:flex;}
body.chat-search-open .new-chat-btn{width:44px;padding:0;justify-content:center;}
body.chat-search-open .new-chat-btn span{display:none !important;}
.chat-hit{background:rgba(var(--lime-rgb),.26);color:var(--text);border-radius:7px;padding:0 3px;box-shadow:0 0 0 1px rgba(var(--lime-rgb),.25)}
.hit-active-bubble{outline:2px solid rgba(var(--lime-rgb),.58);outline-offset:3px;}

.custom-modal{
  position:fixed;
  inset:0;
  z-index:260;
  display:none;
  place-items:center;
  padding:22px;
  background:rgba(0,0,0,.48);
}
.custom-modal.show{display:grid;animation:modalFadeV24 .16s ease both;}
.custom-modal-card{
  width:min(420px,100%);
  max-height:min(72vh,560px);
  overflow:auto;
  border-radius:28px;
  border:1px solid rgba(var(--lime-rgb),.23);
  padding:20px;
  box-shadow:0 28px 86px rgba(0,0,0,.55);
}
.custom-modal-card h3{margin:0 0 12px;font-size:24px;line-height:1.05;font-weight:1000;color:var(--text);}
.custom-modal-body{color:var(--muted);font-weight:750;line-height:1.5;}
.custom-modal-actions{display:flex;gap:10px;margin-top:18px;justify-content:flex-end;}
.custom-modal-btn{min-width:92px;height:46px;border-radius:999px;padding:0 18px;font-weight:950;border:1px solid rgba(var(--lime-rgb),.22);background:rgba(var(--lime-rgb),.09);color:var(--lime);}
.custom-modal-btn.danger{background:rgba(255,79,109,.14);border-color:rgba(255,79,109,.28);color:#ff5f7a;}
    .custom-modal-btn.primary{background:linear-gradient(135deg,rgba(255,255,255,.86),var(--lime) 52%,var(--lime3));border-color:rgba(var(--lime-rgb),.34);color:#071006;box-shadow:0 14px 34px rgba(var(--lime-rgb),.16);}
    .custom-modal-card.mic-permission-card{
      width:min(560px,calc(100vw - 34px));
      padding:28px 28px 26px;
      text-align:center;
      background:linear-gradient(180deg,rgba(var(--lime-rgb),.075),rgba(var(--lime-rgb),.025)),rgba(8,13,7,.97);
      box-shadow:0 32px 100px rgba(0,0,0,.62),inset 0 1px 0 rgba(255,255,255,.045);
    }
    .custom-modal-card.mic-permission-card h3{margin:0 0 18px;font-size:27px;text-align:center;}
    .custom-modal-card.mic-permission-card .custom-modal-actions{justify-content:center;margin-top:22px;}
    .custom-modal-card.mic-permission-card .custom-modal-btn{min-width:132px;height:50px;}
    .mic-permission-copy{display:grid;gap:12px;color:var(--muted);font-weight:780;line-height:1.58;}
    .mic-permission-copy p{margin:0;}
    .mic-permission-copy b{color:var(--text);font-weight:1000;}
    .mic-permission-intro{place-items:center;text-align:center;}
    .mic-permission-intro p{max-width:450px;}
    .mic-permission-lead{font-size:16px;color:rgba(245,255,232,.84);}
    .mic-permission-orb{
      position:relative;
      width:74px;
      height:74px;
      margin:0 auto 2px;
      border-radius:26px;
      display:grid;
      place-items:center;
      color:var(--lime);
      background:radial-gradient(circle at 50% 42%,rgba(var(--lime-rgb),.22),rgba(var(--lime-rgb),.06) 60%,rgba(245,255,232,.035));
      border:1px solid rgba(var(--lime-rgb),.26);
      box-shadow:0 18px 42px rgba(var(--lime-rgb),.10),inset 0 1px 0 rgba(255,255,255,.06);
      overflow:hidden;
    }
    .mic-permission-orb svg{width:31px;height:31px;position:relative;z-index:2;filter:drop-shadow(0 0 10px rgba(var(--lime-rgb),.22));}
    .mic-permission-orb.danger{color:#ff5f7a;background:rgba(255,79,109,.11);border-color:rgba(255,79,109,.23);}
    .mic-permission-orb-ring{position:absolute;inset:10px;border-radius:22px;border:1px dashed rgba(var(--lime-rgb),.35);animation:ringRotate 9s linear infinite;}
    .mic-permission-orb-ring.second{inset:19px;border-style:solid;opacity:.46;animation-direction:reverse;animation-duration:7s;}
    .mic-permission-icon{width:50px;height:50px;border-radius:18px;display:grid;place-items:center;color:var(--lime);background:rgba(var(--lime-rgb),.10);border:1px solid rgba(var(--lime-rgb),.20);box-shadow:0 16px 34px rgba(var(--lime-rgb),.08);}
    .mic-permission-icon.danger{color:#ff5f7a;background:rgba(255,79,109,.11);border-color:rgba(255,79,109,.23);}
    .mic-permission-note{
      padding:12px 14px;
      border-radius:18px;
      background:rgba(var(--lime-rgb),.075);
      border:1px solid rgba(var(--lime-rgb),.16);
      color:rgba(245,255,232,.74) !important;
    }
    .mic-permission-warn{padding:11px 13px;border-radius:18px;background:rgba(255,79,109,.08);border:1px solid rgba(255,79,109,.18);color:#ffb7c3 !important;}
.modal-muted{margin:0;color:var(--muted);}
.file-list-row{display:flex;flex-direction:column;gap:2px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.07);}
.file-list-row:last-child{border-bottom:0;}
.file-list-row b{color:var(--text);font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.file-list-row span{font-size:13px;color:var(--muted);}
.mini-toast{
  position:fixed;
  left:50%;
  bottom:calc(var(--composer-h) + 18px + env(safe-area-inset-bottom));
  transform:translateX(-50%) translateY(12px);
  max-width:min(86vw,420px);
  padding:11px 15px;
  border-radius:999px;
  border:1px solid rgba(var(--lime-rgb),.24);
  background:rgba(8,10,12,.96);
  color:var(--text);
  font-weight:850;
  z-index:300;
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease, transform .18s ease;
  box-shadow:0 18px 50px rgba(0,0,0,.38);
}
.mini-toast.show{opacity:1;transform:translateX(-50%) translateY(0);}
@keyframes modalFadeV24{from{opacity:0}to{opacity:1}}

@media (max-width:760px){
  .chat-search-capsule{top:14px;left:70px;right:82px;height:48px;padding:4px 6px;}
  .chat-search-icon,.chat-search-close{width:40px;height:40px;}
  .chat-search-capsule input{font-size:15px;height:40px;}
  .custom-modal{padding:16px;}
  .custom-modal-card{border-radius:24px;padding:18px;}
  .custom-modal-card.mic-permission-card{padding:22px 18px 20px;border-radius:26px;}
  .custom-modal-card.mic-permission-card h3{font-size:24px;}
  .custom-modal-card.mic-permission-card .custom-modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
  .custom-modal-card.mic-permission-card .custom-modal-btn{min-width:0;width:100%;}
  .mic-permission-orb{width:66px;height:66px;border-radius:23px;}
}

/* V25 auth split cleanup */
.auth-status:empty{display:none !important;}
.auth-card.auth-v23 .primary-wide{margin-top:10px;}
.auth-card.auth-v23 .google-btn{margin-top:12px;}
.auth-card.auth-v23 #authLogoutBtn{margin-top:16px;}
.auth-card.auth-v23 .auth-panel .settings-input{margin-bottom:10px;}
.auth-card.auth-v23 .auth-tabs-title{padding-left:2px;}

/* V26: auth selector + safer chat search layout. Karena ruang HP itu bukan lapangan bola. */
.auth-segment{
  width:100%;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:5px;
  padding:5px;
  margin:14px 0 18px;
  border-radius:20px;
  border:1px solid rgba(var(--lime-rgb),.18);
  background:linear-gradient(180deg,rgba(var(--lime-rgb),.08),rgba(255,255,255,.025)),rgba(5,8,6,.62);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07);
}
.auth-segment[hidden]{display:none !important;}
.auth-segment button{
  min-height:42px;
  border-radius:16px;
  color:var(--muted);
  font-weight:950;
  font-size:15px;
  letter-spacing:-.02em;
  background:transparent;
  border:1px solid transparent;
  transition:transform .16s ease, background .16s ease, color .16s ease, border-color .16s ease;
}
.auth-segment button:active{transform:scale(.97)}
.auth-segment button.is-active{
  color:var(--lime);
  border-color:rgba(var(--lime-rgb),.25);
  background:linear-gradient(180deg,rgba(var(--lime-rgb),.18),rgba(var(--lime-rgb),.065));
}
.auth-card.auth-v23 .auth-tabs-title{display:none;}

body.chat-search-open .top-right{
  transform:translateY(58px);
  transition:transform .24s cubic-bezier(.2,.85,.2,1);
}
body:not(.chat-search-open) .top-right{transition:transform .2s ease;}
body.chat-search-open .chat-actions{
  box-shadow:0 12px 32px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.08);
}
body.chat-search-open .chat-search-capsule{
  right:14px;
  transform-origin:left center;
}
.chat-hit{
  background:rgba(var(--lime-rgb),.16) !important;
  color:var(--lime) !important;
  border-radius:6px !important;
  padding:0 2px !important;
  font-weight:950;
  box-shadow:none !important;
}
.hit-active-bubble{
  outline:2px solid rgba(var(--lime-rgb),.55) !important;
  outline-offset:4px;
}

@media (max-width:760px){
  .chat-search-capsule{
    left:70px !important;
    right:14px !important;
    top:14px;
  }
  body.chat-search-open .top-right{transform:translateY(58px);}
  body.chat-search-open .chat-actions{max-width:118px;}
  body.chat-search-open .chat-actions .glass-capsule{max-width:118px;}
}
@media (max-width:430px){
  body.chat-search-open .top-controls{grid-template-columns:56px 1fr auto;}
  body.chat-search-open .chat-search-capsule{
    left:68px !important;
    right:12px !important;
  }
  body.chat-search-open .top-right{transform:translateY(56px);}
  body.chat-search-open .chat-actions{max-width:112px;}
}

/* V27 Notes + Dynamic Island Toast. Iya, notifikasi akhirnya berhenti jadi kotak nyasar. */
.model-button{overflow:hidden;}
.model-button > #modelLabel,
.model-button > svg{transition:opacity .18s ease, transform .22s cubic-bezier(.2,.85,.2,1);}
.model-button.notify-mode{
  width:auto;
  min-width:42px;
  max-width:min(88vw,520px);
  padding-inline:18px;
  border-color:rgba(var(--lime-rgb),.28);
  background:linear-gradient(180deg,rgba(var(--lime-rgb),.12),rgba(255,255,255,.035)),rgba(7,10,8,.94);
  animation:islandPulseV27 .22s cubic-bezier(.2,.85,.2,1) both;
}
.model-button.notify-mode > #modelLabel,
.model-button.notify-mode > svg{opacity:0;transform:translateY(-8px) scale(.88);}
.model-toast-text{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 18px;
  opacity:0;
  transform:translateY(9px) scale(.92);
  color:var(--text);
  font-weight:950;
  max-width:min(86vw,520px);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  pointer-events:none;
}
.model-button.notify-mode .model-toast-text{opacity:1;transform:translateY(0) scale(1);transition:opacity .2s ease .06s, transform .24s cubic-bezier(.2,.85,.2,1) .06s;}
.dynamic-island-toast{
  position:fixed;
  left:50%;
  top:18px;
  z-index:10080;
  min-width:46px;
  max-width:min(88vw,520px);
  height:46px;
  padding:0 18px;
  border-radius:999px;
  border:1px solid rgba(var(--lime-rgb),.25);
  background:linear-gradient(180deg,rgba(var(--lime-rgb),.12),rgba(255,255,255,.035)),rgba(7,10,8,.96);
  color:var(--text);
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 18px 48px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.08);
  opacity:0;
  transform:translateX(-50%) translateY(-10px) scale(.42);
  pointer-events:none;
  transition:opacity .18s ease, transform .24s cubic-bezier(.2,.85,.2,1), width .24s ease;
}
.dynamic-island-toast.show{opacity:1;transform:translateX(-50%) translateY(0) scale(1);}
.dynamic-island-toast span{font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
@keyframes islandPulseV27{from{transform:scale(.84)}to{transform:scale(1)}}

.auth-card .auth-status{display:none !important;}
.auth-card.auth-v23 .danger-wide.subtle[hidden]{display:none !important;}

.notes-card{
  border:1px solid rgba(var(--lime-rgb),.18);
  background:linear-gradient(180deg,rgba(var(--lime-rgb),.07),rgba(255,255,255,.018)),rgba(7,11,8,.82);
  border-radius:28px;
  padding:16px;
  box-shadow:0 18px 54px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.05);
}
.notes-search{
  min-height:50px;
  border:1px solid rgba(var(--lime-rgb),.18);
  background:rgba(255,255,255,.035);
  border-radius:18px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:0 14px;
  color:var(--lime);
  margin-bottom:14px;
}
.notes-search input{
  flex:1;
  min-width:0;
  height:48px;
  border:0;
  outline:0;
  background:transparent;
  color:var(--text);
  caret-color:var(--lime);
  font-weight:850;
}
.notes-search input::placeholder{color:rgba(246,255,233,.42);}
.notes-list{display:flex;flex-direction:column;gap:12px;}
.note-item{
  border:1px solid rgba(var(--lime-rgb),.15);
  border-radius:20px;
  padding:14px;
  background:linear-gradient(180deg,rgba(var(--lime-rgb),.06),rgba(255,255,255,.018)),rgba(0,0,0,.16);
}
.note-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px;}
.note-top b{font-size:16px;line-height:1.15;color:var(--text);font-weight:1000;}
.note-top button{
  min-height:34px;
  border-radius:999px;
  padding:0 12px;
  color:var(--lime);
  background:rgba(var(--lime-rgb),.09);
  border:1px solid rgba(var(--lime-rgb),.16);
  font-weight:950;
  white-space:nowrap;
}
.note-item p{margin:0;color:var(--muted);font-weight:760;line-height:1.42;}
.note-item span{display:block;margin-top:9px;color:rgba(246,255,233,.42);font-size:12px;font-weight:850;}
.note-item mark,
.side-chat mark{
  background:rgba(var(--lime-rgb),.20) !important;
  color:var(--lime) !important;
  border-radius:7px !important;
  padding:0 3px !important;
  font-weight:950;
}
.notes-empty{padding:18px 8px;color:rgba(246,255,233,.48);font-weight:850;text-align:center;line-height:1.4;}
.notes-empty[hidden]{display:none !important;}

@media (max-width:430px){
  .dynamic-island-toast{top:14px;height:44px;max-width:calc(100vw - 28px);font-size:14px;}
  .model-button.notify-mode{max-width:calc(100vw - 26px);}
  .model-toast-text{font-size:14px;}
  .notes-card{padding:13px;border-radius:24px;}
  .note-top{flex-direction:column;align-items:stretch;}
  .note-top button{width:max-content;}
}

/* V29 fixes: balikin halaman V27 + toast satu gaya, bukan festival versi lama. */
#toastMeasureProbe{
  position:fixed;left:-9999px;top:-9999px;visibility:hidden;pointer-events:none;
  white-space:nowrap;font:950 15px/1 var(--font, inherit);letter-spacing:.01em;padding:0;
}
.top-left,.top-right,.settings-sub-head > *{
  transition:opacity .18s ease, transform .22s cubic-bezier(.2,.85,.2,1);
  will-change:opacity, transform;
}
body.toast-wide-active:not(.chat-search-open) .top-left,
body.toast-wide-active:not(.chat-search-open) .top-right,
body.toast-settings-active .settings-page.show .settings-sub-head > *{
  opacity:0;
  transform:translateY(-8px) scale(.86);
  pointer-events:none !important;
}
.model-button.notify-mode{
  width:54px;
  min-width:54px !important;
  max-width:calc(100vw - 24px) !important;
  padding-inline:0 !important;
  gap:0 !important;
  border-color:rgba(var(--lime-rgb),.28);
  background:linear-gradient(180deg,rgba(var(--lime-rgb),.12),rgba(255,255,255,.035)),rgba(7,10,8,.96);
  transition:width .25s cubic-bezier(.2,.85,.2,1), transform .22s cubic-bezier(.2,.85,.2,1), border-color .18s ease, background .18s ease;
  pointer-events:none;
  box-sizing:border-box;
  overflow:hidden;
}
.model-button.notify-mode > #modelLabel,
.model-button.notify-mode > svg{opacity:0;transform:translateY(-8px) scale(.88);}
.model-button.notify-prep{border-radius:999px;animation:none;}
.model-toast-text{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  width:100%;max-width:none !important;box-sizing:border-box;padding:0 14px !important;
  color:var(--text);font-weight:950;line-height:1;white-space:nowrap;overflow:visible !important;text-overflow:clip !important;
  text-align:center;opacity:0;transform:translateY(8px) scale(.95);pointer-events:none;
  transition:opacity .18s ease, transform .22s cubic-bezier(.2,.85,.2,1);
}
.model-button.notify-live .model-toast-text{opacity:1;transform:translateY(0) scale(1);}
.model-button.notify-mode:not(.notify-live) .model-toast-text{opacity:0;transform:translateY(8px) scale(.95);}
