/* Generated from web-src/index-page.css/ by scripts/build-sources.cjs. Edit the fragments there, not this file. */
    :root {
      --bg: #030713;
      --text: #f4f7ff;
      --muted: #aeb9d7;
      --cyan: #66f2ff;
      --violet: #a77cff;
      --pink: #ff66c8;
      --gold: #ffd591;
      --pull: 0;
      --workspace-transition-surface: #071126;
      --assistant-ui-text: #eef5ff;
      --assistant-ui-muted: #91a5cc;
      --assistant-ui-border: rgba(91, 176, 255, .34);
      --assistant-ui-border-strong: rgba(115, 118, 255, .62);
      --assistant-ui-surface: rgba(7, 20, 53, .97);
      --assistant-ui-surface-soft: rgba(13, 35, 76, .9);
      --assistant-ui-surface-raised: rgba(18, 43, 88, .92);
      --assistant-ui-input: rgba(4, 17, 45, .78);
      --assistant-ui-accent: #348fc9;
      --assistant-ui-accent-2: #6650d8;
      --assistant-ui-accent-soft: rgba(72, 125, 222, .2);
      --assistant-ui-shadow: rgba(0, 4, 24, .58);
      --assistant-ui-inset: rgba(198, 231, 255, .12);
      --assistant-ui-backdrop: rgba(2, 7, 24, .55);
      --assistant-ui-error-text: #ffb6c7;
      --assistant-ui-error-bg: rgba(104, 26, 52, .52);
    }

    * {
      box-sizing: border-box;
    }

    html,
    body {
      height: 100%;
      margin: 0;
    }

    body {
      min-width: 320px;
      height: 100dvh;
      overflow: hidden;
      background: var(--bg);
      color: var(--text);
      font-family: "Microsoft YaHei UI", "PingFang SC", "Segoe UI", Arial, sans-serif;
      letter-spacing: 0;
    }

    button {
      font: inherit;
    }

    .cover {
      position: relative;
      width: 100%;
      height: 100dvh;
      min-height: 0;
      padding: 86px 48px 28px;
      isolation: isolate;
      overflow: hidden;
      transform-origin: center top;
      transform: scaleY(calc(1 + (var(--pull) * .018)));
      transition: transform .22s ease-out;
      background: var(--nexora-home-background);
    }

    .cover::before {
      content: "";
      position: absolute;
      inset: -18%;
      z-index: -3;
      background:
        radial-gradient(circle at 50% 45%, transparent 0 18%, rgba(173, 93, 255, .5) 19%, transparent 22%),
        conic-gradient(from 0deg at 50% 45%, transparent 0deg, rgba(105, 227, 255, .15) 45deg, rgba(178, 92, 255, .28) 95deg, transparent 150deg, rgba(255, 99, 207, .2) 210deg, rgba(95, 231, 255, .16) 280deg, transparent 360deg);
      mix-blend-mode: screen;
      animation: none;
      filter: blur(20px);
      opacity: .72;
    }

    .cover::after {
      content: "";
      position: absolute;
      inset: 0;
      z-index: -1;
      background:
        radial-gradient(circle at 50% 45%, rgba(255, 255, 255, .18), transparent 8%),
        radial-gradient(circle at 50% 44%, transparent 0 19%, rgba(178, 107, 255, .28) 20%, transparent 24%),
        radial-gradient(ellipse at 50% 100%, rgba(70, 142, 255, .2), transparent 30%),
        radial-gradient(ellipse at center, transparent 0 58%, rgba(0, 0, 0, .58) 100%);
      pointer-events: none;
      animation: none;
    }

    .cover::selection {
      background: rgba(102, 242, 255, .25);
    }

    .energy-field {
      position: absolute;
      inset: 0;
      z-index: 1;
      pointer-events: none;
      background:
        radial-gradient(circle at 12% 20%, rgba(91, 199, 255, .9) 0 1px, transparent 2px),
        radial-gradient(circle at 28% 12%, rgba(255, 255, 255, .78) 0 1px, transparent 2px),
        radial-gradient(circle at 72% 18%, rgba(210, 180, 255, .9) 0 1px, transparent 2px),
        radial-gradient(circle at 86% 28%, rgba(255, 156, 214, .9) 0 1px, transparent 2px),
        radial-gradient(circle at 64% 62%, rgba(96, 221, 255, .85) 0 1px, transparent 2px),
        linear-gradient(110deg, transparent 0 38%, rgba(112, 218, 255, .18) 48%, transparent 58%),
        linear-gradient(250deg, transparent 0 44%, rgba(195, 101, 255, .18) 52%, transparent 62%);
      background-size: 100% 100%, 100% 100%, 100% 100%, 100% 100%, 100% 100%, 220% 100%, 220% 100%;
      mix-blend-mode: screen;
      opacity: .72;
      animation: none;
    }

    .portal-aura {
      position: absolute;
      left: 50%;
      top: 46%;
      z-index: 1;
      width: min(46vw, 640px);
      aspect-ratio: 1;
      transform: translate(-50%, -50%);
      border-radius: 50%;
      pointer-events: none;
      border: 2px solid rgba(207, 156, 255, .5);
      box-shadow: 0 0 28px rgba(190, 114, 255, .85), 0 0 90px rgba(91, 167, 255, .42), inset 0 0 55px rgba(139, 102, 255, .38);
      mix-blend-mode: screen;

    }

    .portal-aura::before,
    .portal-aura::after {
      content: "";
      position: absolute;
      inset: 8%;
      border-radius: 50%;
      border: 1px dashed rgba(165, 210, 255, .34);

    }

    .portal-aura::after {
      inset: 21%;
      border-style: solid;
      border-color: rgba(221, 190, 255, .24);

    }

    .floor-light {
      position: absolute;
      left: 50%;
      bottom: 0;
      z-index: 1;
      width: 70vw;
      height: 28vh;
      transform: translateX(-50%);
      pointer-events: none;
      background: radial-gradient(ellipse at 50% 20%, rgba(175, 123, 255, .42), transparent 22%), linear-gradient(90deg, transparent, rgba(93, 211, 255, .26), rgba(255, 118, 215, .22), transparent);
      filter: blur(14px);
      mix-blend-mode: screen;

    }

    .transition-tension {
      position: absolute;
      left: 0;
      right: 0;
      bottom: -1px;
      z-index: 2;
      height: 150px;
      pointer-events: none;
      background:
        radial-gradient(ellipse at 50% 20%, rgba(150, 111, 255, calc(.18 + var(--pull) * .12)), transparent 34%),
        linear-gradient(180deg, transparent 0%, rgba(5, 9, 21, .52) 52%, #02040b 100%);
      filter: blur(calc(var(--pull) * 2px));
      transform: translateY(calc(var(--pull) * 10px)) scaleY(calc(1 + var(--pull) * .08));
      transform-origin: bottom;
      opacity: calc(.78 + var(--pull) * .18);
      transition: transform .18s ease-out, filter .18s ease-out, opacity .18s ease-out;
    }

    .transition-tension::before {
      content: "";
      position: absolute;
      left: 50%;
      bottom: 34px;
      width: min(680px, 70vw);
      height: 1px;
      transform: translateX(-50%);
      background: linear-gradient(90deg, transparent, rgba(116, 226, 255, .52), rgba(202, 126, 255, .62), transparent);
      box-shadow: 0 0 24px rgba(140, 170, 255, calc(.32 + var(--pull) * .32));
    }

    .topbar {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      z-index: 29;
      display: grid;
      grid-template-columns: auto minmax(320px, 1fr) auto;
      align-items: center;
      gap: 26px;
      min-height: 54px;
      margin: 0;
      padding: 0 48px;
      border-bottom: 1px solid rgba(142, 187, 255, .18);
      background: transparent;
      box-shadow: none;
    }

    .brand {
      display: flex;
      align-items: center;
      gap: 12px;
      font-size: 17px;
      letter-spacing: 6px;
      text-transform: uppercase;
    }

    .brand-mark {
      width: 32px;
      height: 32px;
      border: 1px solid rgba(236, 243, 255, .9);
      transform: rotate(30deg);
      position: relative;
    }

    .brand-mark::before {
      content: "";
      position: absolute;
      inset: 7px;
      border: 1px solid rgba(236, 243, 255, .65);
    }

    .theme-quick-switch {
      width: 42px;
      height: 42px;
      display: grid;
      place-items: center;
      padding: 0;
      border: 0;
      border-radius: 50%;
      color: inherit;
      background: transparent;
      cursor: pointer;
      appearance: none;
      -webkit-appearance: none;
      -webkit-tap-highlight-color: transparent;
      transition: transform .2s ease;
    }

    .theme-quick-switch img {
      width: 42px;
      height: 42px;
      display: block;
      object-fit: contain;
      pointer-events: none;
      filter: drop-shadow(0 0 7px rgba(76, 211, 255, .42));
      transform: rotate(var(--theme-switch-angle, 0deg));
      transform-origin: center;
      will-change: transform;
    }

    .theme-quick-switch:hover {
      transform: scale(1.08);
    }

    .theme-quick-switch:is(:hover, :active, :focus) {
      background: transparent;
      box-shadow: none;
      filter: none;
    }

    .theme-quick-switch.is-turning img {
      animation: quick-theme-turn .46s cubic-bezier(.22, .72, .2, 1);
    }

    @keyframes quick-theme-turn {
      from { transform: rotate(var(--theme-switch-from, 0deg)); }
      to { transform: rotate(var(--theme-switch-to, -180deg)); }
    }

    body button.theme-quick-switch:focus-visible {
      outline: none;
    }

    html[data-theme-switch-keyboard] body button.theme-quick-switch:focus-visible {
      outline: 2px solid rgba(105, 224, 255, .92);
      outline-offset: 3px;
    }

    html[data-reduce-motion="true"] .theme-quick-switch {
      transition: none;
    }

    html[data-reduce-motion="true"] .theme-quick-switch.is-turning img {
      animation: none;
    }

    .nav-actions {
      display: flex;
      align-items: center;
      gap: 10px;
    }

    .mobile-settings-button {
      display: none;
    }

    .main-nav {
      height: 54px;
      display: flex;
      align-items: stretch;
      justify-content: center;
      gap: 28px;
    }

    .main-nav button {
      position: relative;
      border: 0;
      padding: 0 4px;
      color: rgba(222, 229, 250, .68);
      cursor: pointer;
      background: transparent;
      font-size: 13px;
      white-space: nowrap;
    }

    .main-nav button:hover,
    .main-nav button.is-active {
      color: #fff;
    }

    .main-nav button.is-active::after {
      content: "";
      position: absolute;
      left: 2px;
      right: 2px;
      bottom: 0;
      height: 2px;
      background: #4388ff;
      box-shadow: 0 0 10px rgba(67, 136, 255, .8);
    }

    .nav-badge {
      position: absolute;
      top: 9px;
      right: -15px;
      min-width: 17px;
      height: 17px;
      padding: 0 5px;
      border-radius: 999px;
      display: grid;
      place-items: center;
      background: #ff3755;
      color: #fff;
      font-size: 10px;
      font-weight: 800;
      line-height: 1;
      box-shadow: 0 0 10px rgba(255, 55, 85, .55);
      z-index: 2;
    }

    .nav-badge[hidden] {
      display: none;
    }

    .language-select {
      height: 34px;
      border: 1px solid rgba(213, 224, 255, .18);
      border-radius: 5px;
      padding: 0 28px 0 10px;
      color: #dbe4ff;
      outline: none;
      background: rgba(5, 10, 24, .5);
      font-size: 12px;
    }

    .language-select option {
      color: #111;
      background: #fff;
    }

    html[data-home-theme="midnight"] .cover::after {
      background: radial-gradient(circle at 50% 44%, rgba(100, 145, 255, .12), transparent 18%), linear-gradient(180deg, rgba(0, 0, 0, .18), rgba(0, 0, 0, .72));
    }

    html[data-home-theme="contrast"] {
      --text: #fff;
      --muted: #e5ecff;
      --cyan: #00f5ff;
      --violet: #cf9cff;
    }

    html[data-home-theme="contrast"] .topbar,
    html[data-home-theme="contrast"] .gateway-dialog {
      background: rgba(0, 4, 16, .96);
      border-color: rgba(255, 255, 255, .44);
    }

    html[data-reduce-motion="true"] *,
    html[data-reduce-motion="true"] *::before,
    html[data-reduce-motion="true"] *::after {
      animation-duration: .001ms !important;
      animation-iteration-count: 1 !important;
      transition-duration: .001ms !important;
      scroll-behavior: auto !important;
    }

    .device-slot {
      flex: 0 0 auto;
    }


    .search {
      width: 24px;
      height: 24px;
      border: 0;
      background: transparent;
      position: relative;
      cursor: pointer;
    }

    .search::before {
      content: "";
      position: absolute;
      width: 12px;
      height: 12px;
      border: 2px solid #fff;
      border-radius: 50%;
      left: 2px;
      top: 2px;
    }

    .search::after {
      content: "";
      position: absolute;
      width: 9px;
      height: 2px;
      background: #fff;
      transform: rotate(45deg);
      left: 14px;
      top: 16px;
      border-radius: 2px;
    }

    .signin {
      position: relative;
      width: auto;
      min-width: 88px;
      height: 36px;
      padding: 0 15px;
      border: 1px solid rgba(213, 224, 255, .42);
      border-radius: 999px;
      background: rgba(5, 10, 24, .35);
      color: #fff;
      cursor: pointer;
      overflow: hidden;
      font-size: 13px;
      line-height: 34px;
      white-space: nowrap;
    }

    .signin.is-user {
      width: auto;
      min-width: 62px;
      max-width: 112px;
      padding: 0 16px;
      border-radius: 999px;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
      text-transform: none;
      letter-spacing: 0;
      font-size: 14px;
      font-weight: 600;
      line-height: 34px;
    }

    .gateway-button {
      min-width: 58px;
      height: 36px;
      border: 1px solid rgba(102, 242, 255, .34);
      border-radius: 10px;
      background: rgba(5, 14, 34, .42);
      color: rgba(236, 247, 255, .92);
      cursor: pointer;
      white-space: nowrap;
      box-shadow: inset 0 0 18px rgba(102, 242, 255, .08);
    }

    .gateway-button.is-on {
      color: #77f7ff;
      border-color: rgba(102, 242, 255, .72);
      background: rgba(0, 87, 105, .28);
    }

    .info-button {
      position: relative;
      min-width: 54px;
      height: 36px;
      border: 1px solid rgba(213, 224, 255, .22);
      border-radius: 10px;
      background: rgba(5, 14, 34, .42);
      color: rgba(236, 247, 255, .92);
      cursor: pointer;
      white-space: nowrap;
    }

    .info-button .nav-badge {
      top: -6px;
      right: -7px;
    }

    .gateway-modal {
      position: fixed;
      inset: 0;
      z-index: 70;
      display: none;
      align-items: center;
      justify-content: center;
      padding: 18px;
      background: rgba(1, 5, 14, .46);
      backdrop-filter: blur(8px);
    }

    .gateway-modal.is-visible {
      display: flex;
    }

    .gateway-dialog {
      width: min(560px, calc(100vw - 28px));
      max-height: calc(100dvh - 36px);
      display: flex;
      flex-direction: column;
      border: 1px solid rgba(119, 172, 255, .28);
      border-radius: 12px;
      background: rgba(6, 13, 31, .92);
      box-shadow: 0 22px 70px rgba(0, 0, 0, .46);
      overflow: hidden;
    }

    .gateway-header,
    .gateway-footer {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      padding: 16px 18px;
      border-bottom: 1px solid rgba(142, 187, 255, .16);
    }

    .gateway-footer {
      flex: 0 0 auto;
      border-top: 1px solid rgba(142, 187, 255, .16);
      border-bottom: 0;
      justify-content: flex-end;
      flex-wrap: wrap;
    }

    .gateway-close {
      border: 1px solid rgba(142, 187, 255, .28);
      border-radius: 8px;
      background: rgba(7, 17, 38, .76);
      color: #f4f7ff;
      cursor: pointer;
      min-height: 38px;
      padding: 0 14px;
    }


    .gateway-body {
      min-height: 0;
      flex: 1 1 auto;
      overflow-x: hidden;
      overflow-y: auto;
      overscroll-behavior: contain;
      scrollbar-gutter: stable;
      -webkit-overflow-scrolling: touch;
      padding: 18px;
      color: rgba(226, 235, 255, .86);
    }

    .gateway-body::-webkit-scrollbar {
      width: 8px;
    }

    .gateway-body::-webkit-scrollbar-thumb {
      border: 2px solid transparent;
      border-radius: 999px;
      background: rgba(125, 158, 223, .42);
      background-clip: padding-box;
    }

    .settings-dialog {
      width: min(780px, calc(100vw - 28px));
      height: min(760px, calc(100dvh - 36px));
      box-sizing: border-box;
      display: grid;
      grid-template-rows: auto minmax(0, 1fr) auto;
    }

    .settings-main {
      min-height: 0;
      min-width: 0;
      display: grid;
      grid-template-columns: 170px minmax(0, 1fr);
      overflow: hidden;
    }

    .settings-tabs {
      min-height: 0;
      overflow-y: auto;
      overscroll-behavior: contain;
      display: grid;
      align-content: start;
      gap: 7px;
      padding: 16px 12px;
      border-right: 1px solid rgba(142, 187, 255, .16);
      background: rgba(2, 8, 22, .38);
    }

    .settings-tab {
      min-height: 42px;
      padding: 0 13px;
      border: 1px solid transparent;
      border-radius: 9px;
      color: #b7c4e4;
      text-align: left;
      background: transparent;
      cursor: pointer;
    }

    .settings-tab:hover,
    .settings-tab.is-active {
      color: #fff;
      border-color: rgba(102, 242, 255, .28);
      background: rgba(37, 111, 154, .22);
    }

    .settings-content {
      min-height: 0;
      min-width: 0;
      overflow-y: auto;
      overflow-x: hidden;
      overscroll-behavior: contain;
      scrollbar-gutter: stable;
      padding: 20px 22px;
    }

    .settings-panel { display: none; }
    .settings-panel.is-active { display: block; }
    .settings-panel [hidden] { display: none !important; }
    .settings-panel h3 { margin: 0 0 5px; font-size: 18px; }
    .settings-panel-copy { margin: 0 0 18px; color: #91a2c7; font-size: 13px; line-height: 1.6; }

    .setting-group {
      border: 1px solid rgba(142, 187, 255, .16);
      border-radius: 11px;
      overflow: hidden;
      background: rgba(3, 10, 25, .44);
    }

    .setting-row {
      min-height: 66px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 18px;
      padding: 12px 15px;
      border-bottom: 1px solid rgba(142, 187, 255, .12);
    }

    .setting-row:last-child { border-bottom: 0; }
    .setting-row { flex-wrap: wrap; }
    .setting-copy { flex: 1 1 210px; min-width: 0; display: grid; gap: 7px; overflow-wrap: anywhere; }
    .setting-copy strong { color: #edf3ff; font-size: 14px; }
    .setting-copy span { color: #8999bb; font-size: 13px; line-height: 1.65; }
    .setting-row > button { flex: 0 0 auto; white-space: nowrap; max-width: 100%; }
    .setting-group-body { padding: 15px; display: grid; gap: 14px; }
    .setting-group-body > p { margin: 0; font-size: 13px; line-height: 1.7; overflow-wrap: anywhere; }
    .setting-group-body > button { justify-self: start; }

    .setting-select {
      max-width: 100%;
      min-width: 150px;
      height: 36px;
      border: 1px solid rgba(142, 187, 255, .26);
      border-radius: 8px;
      padding: 0 30px 0 10px;
      color: #eef4ff;
      background: #09142b;
      outline: none;
    }

    .setting-switch { position: relative; width: 46px; height: 25px; flex: 0 0 auto; }
    .setting-switch input { position: absolute; opacity: 0; pointer-events: none; }
    .setting-switch span { position: absolute; inset: 0; border-radius: 999px; background: #263451; cursor: pointer; transition: .2s; }
    .setting-switch span::after { content: ""; position: absolute; width: 19px; height: 19px; left: 3px; top: 3px; border-radius: 50%; background: #dce6ff; transition: .2s; }
    .setting-switch input:checked + span { background: linear-gradient(90deg, #147fc1, #13a9b6); box-shadow: 0 0 14px rgba(50, 222, 240, .24); }
    .setting-switch input:checked + span::after { transform: translateX(21px); background: #fff; }
    .setting-switch input:disabled + span { opacity: .38; cursor: not-allowed; }
    .settings-status { min-height: 22px; margin: 15px 0 0; color: #83eaf5; font-size: 12px; }
    .settings-status.is-error { color: #ff9ebc; }
    .admin-cache-manager { margin-top: 18px; padding-top: 16px; border-top: 1px solid rgba(142, 187, 255, .16); }
    .admin-cache-manager[hidden] { display: none; }
    .admin-cache-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
    .admin-cache-head strong { display: block; font-size: 15px; color: #eef8ff; }
    .admin-cache-head span { display: block; margin-top: 4px; color: #91a2c7; font-size: 12px; line-height: 1.5; }
    .admin-cache-total { flex: 0 0 auto; color: #71e8f4; font-size: 12px; }
    .admin-cache-list { display: grid; gap: 8px; }
    .admin-cache-scope { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 9px; align-items: start; padding: 10px; border: 1px solid rgba(126, 177, 255, .17); border-radius: 7px; background: rgba(5, 17, 36, .58); }
    .admin-cache-scope input { margin-top: 3px; accent-color: #22d7e8; }
    .admin-cache-scope strong, .admin-cache-scope span { display: block; }
    .admin-cache-scope span { margin-top: 3px; color: #8193b8; font-size: 11px; line-height: 1.45; }
    .admin-cache-size { color: #bfeef5; font-size: 11px; white-space: nowrap; }
    .admin-cache-roots { grid-column: 2 / -1; display: flex; flex-wrap: wrap; gap: 6px; margin-top: 2px; }
    .admin-cache-open { min-height: 28px; padding: 0 9px; border: 1px solid rgba(91, 218, 235, .34); border-radius: 6px; color: #aef5ff; background: rgba(18, 90, 116, .2); font-size: 11px; }
    .nexdrive-storage-stats { margin-top: 14px; padding: 12px; border: 1px solid rgba(126, 177, 255, .17); border-radius: 8px; background: rgba(7, 15, 37, .5); }
    .nexdrive-storage-head { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 9px; }
    .nexdrive-storage-head span { color: #71e8f4; font-size: 11px; }
    .nexdrive-storage-users { display: grid; gap: 8px; }
    .nexdrive-storage-user { padding: 9px; border: 1px solid rgba(126, 177, 255, .13); border-radius: 7px; background: rgba(4, 12, 30, .56); }
    .nexdrive-storage-user-head { display: flex; justify-content: space-between; gap: 10px; }
    .nexdrive-storage-user-head span { color: #a9badb; font-size: 11px; }
    .nexdrive-category-stats { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 7px; }
    .nexdrive-category-stats span { padding: 3px 6px; border-radius: 5px; background: rgba(69, 92, 165, .17); color: #9fb2da; font-size: 10px; }
    .nexdrive-storage-roots { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 9px; }
    .admin-cache-actions { display: flex; justify-content: flex-end; margin-top: 10px; }
    .admin-cache-clear { min-height: 34px; padding: 0 14px; border: 1px solid rgba(255, 94, 125, .52); border-radius: 6px; color: #ffd8e1; background: rgba(111, 20, 49, .44); }
    .api-settings-stack { overflow: visible; }
    .api-settings-stack .setting-row { align-items: flex-start; }
    .api-control { width: min(310px, 54%); display: grid; gap: 7px; }
    .api-control .setting-select, .api-control input { width: 100%; min-width: 0; box-sizing: border-box; }
    .api-control input { height: 36px; border: 1px solid rgba(142, 187, 255, .26); border-radius: 8px; padding: 0 10px; color: #eef4ff; background: #09142b; outline: none; }
    .api-control input:disabled { color: #b9c9e7; background: rgba(9, 20, 43, .55); }
    .api-control input:disabled::placeholder { color: #b9c9e7; opacity: 1; }
    .api-key-shell { display: grid; grid-template-columns: minmax(0, 1fr) 38px; gap: 7px; }
    .api-key-lock { height: 36px; border: 1px solid rgba(102, 242, 255, .3); border-radius: 8px; color: #dffbff; background: rgba(17, 73, 103, .42); cursor: pointer; }
    .api-key-state { color: #83dfe9; font-size: 11px; line-height: 1.55; }
    .api-key-state.is-configured { color: #65edb5; }
    .api-key-state.is-missing { color: #ff9baa; }
    .api-key-actions { display: flex; justify-content: flex-end; gap: 7px; flex-wrap: wrap; }
    .api-key-test, .api-key-clear { min-height: 31px; padding: 0 11px; border-radius: 7px; cursor: pointer; }
    .api-key-test { border: 1px solid rgba(101, 237, 181, .42); color: #bfffe4; background: rgba(8, 81, 68, .3); }
    .api-key-clear { border: 1px solid rgba(255, 104, 154, .4); color: #ffb7cc; background: rgba(74, 8, 32, .28); }
    .secretary-admin-note { margin-top: 14px; display: grid; gap: 8px; }
    .secretary-admin-note div { padding: 10px 12px; border: 1px solid rgba(126, 177, 255, .16); border-radius: 9px; background: rgba(5, 17, 36, .45); }
    .secretary-admin-note strong { display: block; color: #dfefff; font-size: 12px; }
    .secretary-admin-note span { display: block; margin-top: 4px; color: #8193b8; font-size: 11px; line-height: 1.5; }
    .secretary-admin-state { margin-top: 12px; color: #78dfe9; font-size: 12px; line-height: 1.6; }

    @media (max-width: 620px) {
      .settings-main { grid-template-columns: 1fr; grid-template-rows: minmax(0, auto) minmax(0, 1fr); }
      /* Whole tab names per row ("Windows 客户端" never splits inside a word). */
      .settings-tabs { display: flex; flex-wrap: wrap; border-right: 0; border-bottom: 1px solid rgba(142, 187, 255, .16); padding: 9px; }
      .settings-tab { flex: 1 1 auto; padding: 0 10px; text-align: center; font-size: 12px; white-space: nowrap; }
      .settings-content { padding: 16px 12px; }
      .setting-row { gap: 10px; }
      .setting-select { min-width: 118px; max-width: 145px; }
      .api-control { width: 56%; }
    }

    .gateway-status {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      margin-bottom: 14px;
      color: #aeb9d7;
    }

    .gateway-dot {
      width: 9px;
      height: 9px;
      border-radius: 50%;
      background: #ffb86c;
      box-shadow: 0 0 14px rgba(255, 184, 108, .55);
    }

    .gateway-dot.is-on {
      background: #5cffc9;
      box-shadow: 0 0 14px rgba(92, 255, 201, .55);
    }

    .gateway-url {
      display: grid;
      gap: 8px;
      margin: 12px 0;
    }

    .gateway-url label {
      color: #aeb9d7;
      font-size: 13px;
    }

    .gateway-url code {
      display: block;
      padding: 12px;
      border: 1px solid rgba(102, 242, 255, .25);
      border-radius: 8px;
      background: rgba(2, 8, 22, .74);
      color: #78f5ff;
      overflow-x: auto;
      white-space: nowrap;
    }

    .gateway-url input {
      width: 100%;
      min-height: 42px;
      padding: 10px 12px;
      border: 1px solid rgba(102, 242, 255, .62);
      border-radius: 8px;
      outline: 0;
      background: rgba(2, 8, 22, .92);
      color: #78f5ff;
      font: inherit;
      box-shadow: 0 0 0 3px rgba(58, 208, 255, .08);
    }

    .gateway-note {
      margin: 12px 0 0;
      color: #aeb9d7;
      line-height: 1.7;
      font-size: 13px;
    }

    .gateway-section {
      display: grid;
      gap: 10px;
      margin-top: 14px;
      padding-top: 14px;
      border-top: 1px solid rgba(142, 187, 255, .14);
    }

    .gateway-section:first-of-type {
      margin-top: 4px;
      padding-top: 0;
      border-top: 0;
    }

    .gateway-section-title {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      color: #f4f7ff;
      font-size: 14px;
    }

    .gateway-section-title small {
      color: #8edfd0;
      font-size: 11px;
      font-weight: 500;
    }

    .gateway-endpoint {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      align-items: end;
      gap: 10px;
    }

    .gateway-endpoint .gateway-url { margin: 0; min-width: 0; }

    .gateway-inline-action {
      min-width: 96px;
      min-height: 42px;
      white-space: nowrap;
    }

    .gateway-choice {
      display: flex;
      align-items: center;
      gap: 8px;
      color: #aeb9d7;
      font-size: 12px;
      cursor: pointer;
    }

    .gateway-choice input { accent-color: #36b89c; }

    .gateway-current code { color: #b8ffe9; }

    @media (max-width: 620px) {
      .gateway-endpoint { grid-template-columns: 1fr; }
      .gateway-inline-action { width: 100%; }
      .gateway-footer .gateway-action { flex: 1 1 42%; }
    }

    .info-list {
      display: grid;
      gap: 10px;
      max-height: min(58vh, 520px);
      overflow: auto;
      padding-right: 4px;
    }

    .info-empty {
      border: 1px dashed rgba(142, 187, 255, .24);
      border-radius: 10px;
      padding: 28px 18px;
      color: #9eacc9;
      text-align: center;
    }

    .info-item {
      display: grid;
      grid-template-columns: 48px 1fr auto;
      gap: 12px;
      align-items: center;
      border: 1px solid rgba(142, 187, 255, .18);
      border-radius: 10px;
      padding: 10px;
      background: rgba(4, 11, 26, .58);
      color: inherit;
      text-decoration: none;
    }

    .info-thumb {
      width: 48px;
      height: 48px;
      border-radius: 10px;
      display: grid;
      place-items: center;
      background: rgba(28, 78, 125, .56);
      color: #7df5ff;
      font-weight: 800;
      overflow: hidden;
    }

    .info-thumb.is-chat {
      background: linear-gradient(135deg, rgba(42, 214, 255, .32), rgba(44, 86, 166, .72));
    }

    .info-thumb img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }

    .info-main {
      min-width: 0;
      display: grid;
      gap: 5px;
    }

    .info-title {
      font-weight: 700;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .info-text,
    .info-meta {
      color: #aeb9d7;
      font-size: 13px;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .info-unread {
      width: 9px;
      height: 9px;
      border-radius: 50%;
      background: #ff3755;
      box-shadow: 0 0 10px rgba(255, 55, 85, .58);
    }

    html.native-secretary-overlay body > :not(#nexoraFloat):not(.nexora-dialog-layer):not(.nexora-notification-stack):not(.nexora-tooltip):not(dialog):not(script):not(style) { visibility: hidden !important; }
    html.native-secretary-overlay, html.native-secretary-overlay body { background:transparent!important; }
    html.native-secretary-overlay body::before, html.native-secretary-overlay body::after { display:none!important; }
    html.native-secretary-overlay #nexoraFloat { position:fixed!important;left:0!important;top:0!important;width:100%!important;height:100dvh!important;max-width:none!important;max-height:none!important;min-width:0!important;min-height:0!important;resize:none!important; }
    .secretary-resize-handle { position:absolute;right:0;bottom:0;width:30px;height:30px;border:0;background:transparent;color:var(--assistant-ui-accent);cursor:nwse-resize;touch-action:none;user-select:none;z-index:5;padding:0;font-size:20px; }
    .nexora-float.is-closed .secretary-resize-handle { display:none; }
    .nexora-float {
      position: fixed;
      top: 82px;
      left: 24px;
      z-index: 2147483000;
      width: 390px;
      height: 62px;
      min-width: 310px;
      min-height: 58px;
      max-width: calc(100vw - 24px);
      max-height: calc(100vh - 96px);
      resize: none;
      overflow: hidden;
      border: 1px solid rgba(83, 166, 255, .72);
      border-radius: 18px;
      background: linear-gradient(145deg, rgba(5, 20, 43, .94), rgba(13, 10, 41, .92));
      box-shadow: 0 16px 52px rgba(0, 0, 0, .42), inset 0 0 28px rgba(55, 119, 210, .1), 0 0 18px rgba(63, 121, 255, .16);
      backdrop-filter: blur(18px);
      color: #eef8ff;
      /* Do not interpolate the old glass shadow behind the collapsed icon. */
      transition: none;
      touch-action: auto;
    }
    body.is-reading-workspace #nexoraFloat { display: none; }
    .nexora-workspace-scene { display: contents; }
    .nexora-workspace-frame {
      position: fixed;
      inset: 0;
      z-index: 17;
      width: 100vw;
      height: 100dvh;
      border: 0;
      background: var(--workspace-transition-surface);
      opacity: 1;
      backface-visibility: hidden;
      -webkit-font-smoothing: antialiased;
      transition: opacity .28s ease-in-out;
    }
    html[data-home-theme="forest-glass"] {
      --workspace-transition-surface: #e6f1ed;
      --assistant-ui-text: #173e35;
      --assistant-ui-muted: #668078;
      --assistant-ui-border: rgba(60, 146, 123, .28);
      --assistant-ui-border-strong: rgba(60, 146, 123, .48);
      --assistant-ui-surface: rgba(239, 249, 246, .99);
      --assistant-ui-surface-soft: rgba(221, 240, 234, .9);
      --assistant-ui-surface-raised: rgba(255, 255, 255, .84);
      --assistant-ui-input: rgba(255, 255, 255, .78);
      --assistant-ui-accent: #4aa086;
      --assistant-ui-accent-2: #2c725f;
      --assistant-ui-accent-soft: rgba(43, 111, 94, .09);
      --assistant-ui-shadow: rgba(18, 58, 48, .32);
      --assistant-ui-inset: rgba(255, 255, 255, .82);
      --assistant-ui-backdrop: rgba(23, 52, 45, .24);
      --assistant-ui-error-text: #a83b55;
      --assistant-ui-error-bg: #fff2f5;
    }
    html[data-home-theme="forest-glass"] .nexora-workspace-frame {
      background: var(--workspace-transition-surface);
    }
    .nexora-workspace-frame[hidden] { display: none !important; }
    .nexora-workspace-frame.is-workspace-stage {
      z-index: 18;
      opacity: 0;
      pointer-events: none;
    }
    .nexora-workspace-frame.is-workspace-stage.is-workspace-revealing {
      opacity: 1;
      pointer-events: auto;
    }
    .nexora-workspace-frame.is-workspace-leaving {
      opacity: 0;
    }
    body.is-workspace-transitioning .nexora-workspace-frame {
      will-change: opacity;
    }
    body.is-workspace-active { overflow: hidden !important; }
    body.is-workspace-active:not(.is-workspace-transitioning) > .cover { visibility: hidden; }
    body.is-workspace-active > .cover *, body.is-workspace-active > .cover *::before,
    body.is-workspace-active > .cover *::after { animation-play-state: paused !important; }
    body.is-workspace-active > .topbar { z-index: 16; }
    @media (prefers-reduced-motion: reduce) {
      .nexora-workspace-frame { transition-duration: .01ms; transform: none !important; }
    }
    .nexora-float:hover { border-color: rgba(122, 91, 255, .88); box-shadow: 0 18px 58px rgba(0, 0, 0, .5), 0 0 24px rgba(114, 74, 255, .2); }
    .nexora-float.is-expanded { width: min(620px, calc(100vw - 32px)); height: min(510px, calc(100vh - 108px)); min-width: 390px; min-height: 330px; border-radius: 22px; }
    .nexora-float.is-agent { width: min(440px, calc(100vw - 24px)); height: min(640px, calc(100dvh - 24px)); min-width: min(320px, calc(100vw - 24px)); min-height: min(420px, calc(100dvh - 24px)); max-height: calc(100dvh - 24px); border-color: rgba(61, 177, 255, .78); border-radius: 24px; background: radial-gradient(circle at 18% 0, rgba(32, 108, 219, .18), transparent 40%), linear-gradient(145deg, rgba(5, 20, 49, .86), rgba(14, 10, 55, .84)); box-shadow: 0 20px 68px rgba(0, 0, 0, .56), inset 0 0 38px rgba(66, 124, 255, .12), 0 0 24px rgba(66, 96, 255, .24); }
    .nexora-float.is-closed { width: 68px !important; height: 62px !important; min-width: 68px; min-height: 62px; max-width: 68px; max-height: 62px; resize: none; border: 0; border-radius: 0; background: transparent; box-shadow: none; backdrop-filter: none; }
    /* Focus pages share the same movable assistant; do not pin its position over the drag coordinates. */
    .nexora-float.is-searching:not(.is-expanded):not(.is-closed) { height: min(370px, calc(100dvh - 160px)); resize: none; }
    .nexora-float.is-dragging { transition: none; cursor: grabbing; user-select: none; }
    .nexora-float-launch { position: relative; display: none; width: 100%; height: 100%; padding: 0; overflow: visible; border: 0; color: #eef8ff; background: transparent; cursor: grab; place-items: center; touch-action: none; }
    .nexora-float.is-closed .nexora-float-launch { display: grid; }
    .nexora-float-launch, .nexora-float-search-collapse {
      appearance: none;
      -webkit-appearance: none;
      -webkit-tap-highlight-color: transparent;
      transition: none !important;
    }
    .nexora-float :is(.nexora-float-launch, .nexora-float-search-collapse):is(:hover, :active, :focus) {
      background: transparent !important;
      box-shadow: none !important;
    }
    .nexora-float :is(.nexora-float-launch, .nexora-float-search-collapse):focus:not(:focus-visible) { outline: none; }
    .nexora-float :is(.nexora-float-launch, .nexora-float-search-collapse):focus-visible { outline: 2px solid #3e8e79; outline-offset: -3px; }
    .nexora-float.is-closed .nexora-float-launch .nexora-secretary-searchicon { width: 46px; height: 46px; }
    .nexora-secretary-searchicon { display: block; width: 100%; height: 100%; object-fit: contain; pointer-events: none; user-select: none; -webkit-user-drag: none; filter: none; }
    .nexora-float-compact { height: 62px; display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 8px; padding: 7px 12px 7px 10px; cursor: grab; touch-action: none; }
    .nexora-float.is-expanded .nexora-float-compact, .nexora-float.is-agent .nexora-float-compact, .nexora-float.is-closed .nexora-float-compact { display: none; }
    .nexora-float-searchline { min-width: 0; display: flex; align-items: center; gap: 12px; }
    .nexora-float-searchicon { width: 18px; height: 18px; flex: 0 0 auto; border: 2px solid #e7f6ff; border-radius: 50%; position: relative; opacity: .92; }
    .nexora-float-searchicon::after { content: ""; position: absolute; width: 8px; height: 2px; right: -6px; bottom: -3px; background: #e7f6ff; transform: rotate(45deg); border-radius: 2px; }
    .nexora-float-searchline input { min-width: 0; width: 100%; border: 0; outline: 0; color: #eef8ff; background: transparent; font: inherit; font-size: 14px; }
    .nexora-float-searchline input::placeholder { color: #8799b8; }
    .nexora-float-search-collapse { position: relative; width: 46px; height: 46px; flex: 0 0 46px; display: grid; place-items: center; padding: 0; border: 0; color: inherit; background: transparent; cursor: pointer; }
    .nexora-float-search-collapse .nexora-float-searchicon { width: 16px; height: 16px; }
    .nexora-float-search-collapse .nexora-secretary-searchicon { width: 46px; height: 46px; }
    .nexora-float-iconbtn { position: relative; width: 34px; height: 34px; border: 0; border-radius: 9px; color: #dff4ff; background: transparent; font-size: 19px; display: grid; place-items: center; cursor: pointer; }
    .nexora-float-iconbtn:hover { background: rgba(89, 139, 214, .17); }
    .nexora-agent-mode-icon { position: relative; width: 7px; height: 7px; display: block; border: 1px solid #8be9ff; border-radius: 2px; background: rgba(54, 166, 255, .22); box-shadow: 10px 0 0 -1px rgba(54, 166, 255, .22), 10px 0 0 0 #8be9ff, 0 10px 0 -1px rgba(114, 88, 255, .28), 0 10px 0 0 #9b8cff, 10px 10px 0 -1px rgba(114, 88, 255, .28), 10px 10px 0 0 #9b8cff; transform: translate(-5px, -5px); filter: drop-shadow(0 0 6px rgba(73, 195, 255, .6)); }
    .nexora-float-badge { position: absolute; top: -3px; right: -3px; min-width: 18px; height: 18px; padding: 0 4px; border-radius: 9px; display: grid; place-items: center; color: #fff; background: #e8324f; font-size: 10px; box-shadow: 0 0 10px rgba(255, 48, 79, .72); }
    .nexora-float-badge[hidden], .nexora-float-tab-badge[hidden] { display: none !important; }
    .nexora-float-update-dot { position: absolute; top: 1px; right: 1px; z-index: 2; width: 11px; height: 11px; border: 2px solid #071326; border-radius: 50%; background: #ff334f; box-shadow: 0 0 11px rgba(255, 51, 79, .95); pointer-events: none; }
    .nexora-float-update-dot[hidden] { display: none !important; }
    .nexora-float-maximize-icon { position: relative; width: 18px; height: 18px; display: block; }
    .nexora-float-maximize-icon::before, .nexora-float-maximize-icon::after { content: ""; position: absolute; inset: 0; background: linear-gradient(#e8f5ff, #e8f5ff) left top / 7px 2px no-repeat, linear-gradient(#e8f5ff, #e8f5ff) left top / 2px 7px no-repeat, linear-gradient(#e8f5ff, #e8f5ff) right top / 7px 2px no-repeat, linear-gradient(#e8f5ff, #e8f5ff) right top / 2px 7px no-repeat; }
    .nexora-float-maximize-icon::after { transform: rotate(180deg); }
    .nexora-float-expanded { display: none; height: 100%; min-height: 0; grid-template-rows: auto auto auto auto minmax(0, 1fr) auto; padding: 16px 18px 14px; }
    .nexora-float.is-expanded .nexora-float-expanded { display: grid; }
    .nexora-float-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 40px; cursor: grab; touch-action: none; }
    .nexora-float-brand { display: flex; align-items: center; gap: 10px; font-weight: 700; letter-spacing: 4px; }
    .nexora-float-brand .brand-mark { width: 29px; height: 29px; }
    .nexora-float-head-actions { display: flex; align-items: center; gap: 3px; }
    .nexora-float-query { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; margin: 10px 0; }
    .nexora-float-query .nexora-float-searchline { min-height: 40px; padding: 0 16px; border: 1px solid rgba(160, 199, 255, .25); border-radius: 20px; background: rgba(2, 12, 29, .52); }
    .nexora-float-query button { min-width: 76px; border: 1px solid rgba(95, 155, 255, .54); border-radius: 16px; color: #fff; background: linear-gradient(135deg, #227fd5, #7137d8); box-shadow: 0 0 16px rgba(76, 82, 255, .32); }
    .nexora-float-read-actions { display: flex; justify-content: flex-end; min-height: 30px; margin: -3px 0 6px; }
    .nexora-float-read-actions button { min-width: 82px; height: 28px; padding: 0 13px; border: 1px solid rgba(255, 80, 103, .54); border-radius: 14px; color: #ffdce2; background: rgba(154, 20, 48, .28); cursor: pointer; }
    .nexora-float-read-actions button:hover { border-color: rgba(255, 99, 121, .86); background: rgba(193, 25, 58, .4); }
    .nexora-float-tabs { display: flex; gap: 8px; overflow-x: auto; padding: 1px 0 10px; }
    .nexora-float-tabs button { position: relative; min-width: 70px; height: 32px; padding: 0 15px; border: 1px solid rgba(115, 162, 225, .18); border-radius: 16px; color: #95a7c4; background: rgba(2, 13, 31, .35); }
    .nexora-float-tabs button.is-active { color: #fff; border-color: #2ca9ff; background: rgba(20, 87, 162, .45); box-shadow: 0 0 12px rgba(35, 137, 255, .28); }
    .nexora-float-tab-badge { position: absolute; top: -5px; right: -2px; min-width: 16px; height: 16px; padding: 0 4px; display: grid; place-items: center; border-radius: 8px; color: #fff; background: #e8324f; font-size: 9px; box-shadow: 0 0 8px rgba(255, 48, 79, .68); }
    .nexora-float-results { min-height: 0; overflow: auto; display: grid; align-content: start; gap: 9px; padding-right: 3px; touch-action: pan-y; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
    .nexora-float-card { position: relative; display: grid; grid-template-columns: 90px minmax(0, 1fr) auto; gap: 11px; align-items: center; min-height: 82px; padding: 9px; border: 1px solid rgba(115, 162, 225, .19); border-radius: 12px; color: inherit; text-decoration: none; background: rgba(4, 18, 39, .55); cursor: pointer; }
    .nexora-float-card:hover { border-color: rgba(76, 174, 255, .52); background: rgba(7, 27, 56, .82); }
    .nexora-float-card.is-client-update { grid-template-columns: minmax(0, 1fr) auto; min-height: 64px; padding: 14px 16px; border-color: rgba(76, 174, 255, .5); background: linear-gradient(100deg, rgba(5, 24, 53, .96), rgba(20, 29, 78, .94)); }
    .nexora-float-card.is-client-update .nexora-float-copy strong { font-size: 16px; }
    .nexora-float-card.is-client-update .nexora-float-copy p { margin: 4px 0 0; }
    .nexora-float-card.is-transfer { grid-template-columns: minmax(0, 1fr); min-height: 92px; padding: 12px 15px; }
    .nexora-float-card.is-transfer .nexora-float-copy p { margin: 5px 0 8px; }
    .nexora-float-card.is-transfer .nexora-float-meta { margin-top: 7px; }
    .nexora-transfer-track { display: block; height: 7px; overflow: hidden; border-radius: 99px; background: rgba(130, 173, 223, .2); }
    .nexora-transfer-fill { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #32c8cf, #438dff); transition: width .25s ease; }
    .nexora-transfer-track.is-indeterminate .nexora-transfer-fill { width: 35% !important; animation: nexora-transfer-wait 1.5s ease-in-out infinite alternate; }
    @keyframes nexora-transfer-wait { from { transform: translateX(0); } to { transform: translateX(185%); } }
    @media (prefers-reduced-motion: reduce) { .nexora-transfer-track.is-indeterminate .nexora-transfer-fill { animation: none; } }
    .nexora-float-card.is-unread { border-color: rgba(82, 137, 221, .34); background: linear-gradient(100deg, rgba(4, 16, 39, .96), rgba(11, 29, 62, .94)); }
    .nexora-float-card-dot { position: absolute; top: 12px; right: 12px; width: 7px; height: 7px; border-radius: 50%; background: #ff405c; box-shadow: 0 0 9px rgba(255, 51, 84, .78); }
    .nexora-float-thumb { width: 90px; height: 62px; border-radius: 8px; display: grid; place-items: center; color: #dffaff; font-size: 24px; background: radial-gradient(circle at 50% 45%, rgba(69, 114, 255, .74), rgba(10, 27, 65, .92) 62%), linear-gradient(135deg, #0b4a94, #452583); overflow: hidden; }
    .nexora-float-thumb img { width: 100%; height: 100%; object-fit: cover; }
    .nexora-float-card:nth-child(2) .nexora-float-thumb { background: radial-gradient(circle at 50% 50%, rgba(136, 58, 255, .7), rgba(12, 20, 55, .94) 65%); }
    .nexora-float-card:nth-child(3) .nexora-float-thumb { background: radial-gradient(circle at 50% 50%, rgba(0, 209, 229, .62), rgba(8, 27, 61, .96) 66%); }
    .nexora-float-copy { min-width: 0; }
    .nexora-float-copy strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 14px; }
    .nexora-float-copy p { margin: 5px 0 7px; color: #899bbb; font-size: 11px; line-height: 1.45; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
    .nexora-float-meta { display: flex; gap: 10px; color: #7085a7; font-size: 10px; }
    .nexora-float-next { margin-right: 8px; color: #9bb8dc; font-size: 24px; }
    .nexora-float-footer { min-height: 34px; display: grid; place-items: end center; color: #8297b6; font-size: 12px; }
    .nexora-float-empty { padding: 28px; text-align: center; color: #8ea1c0; line-height: 1.7; }
    .nexora-float-suggestions { position: absolute; top: 62px; left: 0; right: 0; bottom: 0; display: none; overflow-y: auto; padding: 8px; border-top: 1px solid rgba(115, 162, 225, .2); background: linear-gradient(180deg, rgba(4, 15, 34, .98), rgba(9, 10, 34, .98)); touch-action: pan-y; overscroll-behavior: contain; }
    .nexora-float.is-searching:not(.is-expanded):not(.is-closed) .nexora-float-suggestions { display: grid; align-content: start; gap: 7px; }
    .nexora-float-suggestion { position: relative; min-height: 56px; display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 7px 10px; border: 1px solid rgba(103, 158, 224, .2); border-radius: 11px; color: #eaf6ff; text-decoration: none; background: rgba(5, 22, 46, .7); }
    .nexora-float-suggestion:hover { border-color: rgba(66, 192, 255, .55); background: rgba(9, 36, 68, .9); }
    .nexora-float-suggestion-icon { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 9px; color: #dffaff; background: radial-gradient(circle, rgba(58, 104, 255, .75), rgba(10, 31, 69, .95)); }
    .nexora-float-suggestion-copy { min-width: 0; display: grid; gap: 4px; }
    .nexora-float-suggestion-copy strong, .nexora-float-suggestion-copy span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .nexora-float-suggestion-copy strong { font-size: 13px; }
    .nexora-float-suggestion-copy span { color: #899bbb; font-size: 10px; }
    .nexora-agent-panel { position: relative; display: none; width: 100%; min-width: 0; height: 100%; box-sizing: border-box; padding: 22px 26px 24px; grid-template-columns: minmax(0, 1fr); grid-template-rows: auto auto auto minmax(64px, 1fr) auto; gap: 14px; }
    .nexora-float.is-agent .nexora-agent-panel { display: grid; }
    .nexora-agent-head { min-height: 72px; display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; cursor: grab; touch-action: none; }
    /* Not clipped: the speaking flame rises above the avatar; the greeting clips its own text. */
    .nexora-agent-identity { flex: 1 1 0; min-width: 0; overflow: visible; display: flex; align-items: center; gap: 17px; }
    .nexora-agent-greeting { flex: 1 1 0; min-width: 0; overflow: hidden; }
    .nexora-agent-greeting strong, .nexora-agent-greeting span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .nexora-agent-greeting strong { display: block; color: #f3f8ff; font-size: 25px; font-weight: 650; letter-spacing: .02em; white-space: nowrap; }
    .nexora-agent-greeting strong em { color: #7fe8ff; font-style: normal; text-shadow: 0 0 12px rgba(72, 205, 255, .8); }
    .nexora-agent-greeting span { display: block; margin-top: 8px; color: #8297ba; font-size: 15px; }
    .nexora-agent-head-actions { flex: 0 0 auto; display: flex; align-items: center; gap: 8px; }
    .nexora-agent-prompts { display: flex; align-items: center; justify-content: flex-start; min-width: 0; gap: 12px; }
    .nexora-agent-prompts button { min-width: 0; height: 48px; padding: 0 12px; border: 1px solid rgba(76, 171, 255, .52); border-radius: 16px; color: #e5efff; background: linear-gradient(145deg, rgba(19, 58, 119, .72), rgba(31, 24, 93, .68)); box-shadow: inset 0 0 18px rgba(59, 121, 255, .08); font-size: 13px; cursor: pointer; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .nexora-agent-prompts button:hover { border-color: rgba(110, 222, 255, .82); background: linear-gradient(145deg, rgba(25, 82, 156, .82), rgba(64, 35, 137, .76)); }
    .nexora-agent-prompts .nexora-mode-button { width: auto; height: 34px; flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; padding: 0 15px; border-radius: 17px; color: var(--assistant-ui-text); background: var(--assistant-ui-surface-soft); box-shadow: inset 0 1px var(--assistant-ui-inset), 0 3px 9px var(--assistant-ui-shadow); }
    .nexora-mode-button[aria-pressed="true"] { color: var(--assistant-ui-text); border-color: var(--assistant-ui-border-strong); background: var(--assistant-ui-surface-raised); box-shadow: inset 3px 0 0 var(--assistant-ui-accent), 0 3px 9px var(--assistant-ui-shadow); }
    .nexora-mode-button:disabled { opacity: .48; cursor: not-allowed; }
    .nexora-agent-output { width: 100%; min-width: 0; min-height: 64px; height: 100%; box-sizing: border-box; overflow: auto; padding: 12px 14px; border: 1px solid rgba(91, 164, 255, .25); border-radius: 14px; color: #dceaff; background: rgba(4, 18, 43, .48); font-size: 12px; line-height: 1.65; overscroll-behavior: contain; }
    .nexora-agent-output.is-loading { color: #85dff0; }
    .nexora-agent-output.is-error { color: #ffb4c3; border-color: rgba(255, 107, 139, .32); }
    .nexora-agent-conversation { width: 100%; min-width: 0; min-height: 100%; display: flex; flex-direction: column; justify-content: flex-start; gap: 10px; }
    .nexora-agent-empty { margin: auto 0; color: #9db0cf; white-space: pre-wrap; }
    .nexora-agent-message { width: 100%; min-width: 0; flex: 0 0 auto; display: flex; flex-direction: column; align-items: flex-start; gap: 3px; }
    .nexora-agent-message.is-user { align-items: flex-end; }
    .nexora-agent-message-bubble { width: fit-content; min-width: 0; max-width: min(84%, 640px); box-sizing: border-box; padding: 8px 11px; border: 1px solid rgba(91, 164, 255, .24); border-radius: 12px 12px 12px 4px; color: #dceaff; background: rgba(8, 27, 59, .64); white-space: pre-wrap; overflow-wrap: anywhere; word-break: break-word; }
    .nexora-agent-file { margin-top: 8px; padding: 9px 11px; display: flex; align-items: center; gap: 9px; border: 1px solid rgba(110, 215, 190, .34); border-radius: 10px; color: #e7fff8; background: rgba(39, 130, 109, .2); text-decoration: none; white-space: normal; }
    .nexora-agent-file:hover { border-color: rgba(122, 235, 207, .62); background: rgba(47, 151, 126, .3); }
    .nexora-agent-file strong { min-width: 0; flex: 1 1 auto; white-space: normal; overflow-wrap: anywhere; }
    .nexora-agent-file small { margin-left: auto; flex: 0 0 auto; color: #a7d9cd; }
    .nexora-agent-confirm { width: min(100%, 640px); box-sizing: border-box; display: grid; gap: 9px; padding: 11px 12px; border: 1px solid rgba(245, 190, 82, .58); border-radius: 12px; color: #eff8f5; background: rgba(78, 58, 20, .48); }
    .nexora-agent-confirm strong { color: #ffe0a0; font-size: 12px; }
    .nexora-agent-confirm p { margin: 0; color: #d9e7e2; white-space: pre-wrap; overflow-wrap: anywhere; }
    .nexora-agent-confirm-actions { display: flex; justify-content: flex-end; gap: 8px; }
    .nexora-agent-confirm-actions button { min-width: 76px; height: 32px; border: 1px solid rgba(110, 215, 190, .42); border-radius: 9px; color: #eafff8; background: rgba(24, 90, 75, .58); cursor: pointer; }
    .nexora-agent-confirm-actions button[data-confirm="true"] { border-color: rgba(245, 190, 82, .7); background: rgba(159, 111, 28, .7); }
    .nexora-agent-message.is-user .nexora-agent-message-bubble { border-color: rgba(91, 194, 255, .4); border-radius: 12px 12px 4px 12px; color: #f1f7ff; background: linear-gradient(145deg, rgba(31, 112, 168, .74), rgba(78, 63, 176, .72)); }
    .nexora-agent-message.is-error .nexora-agent-message-bubble { border-color: rgba(255, 107, 139, .34); color: #ffb4c3; background: rgba(93, 24, 47, .42); }
    .nexora-agent-message-meta { padding: 0 3px; color: #7085a7; font-size: 9px; line-height: 1.2; }
    .nexora-agent-knowledge-sources { width: min(84%, 640px); display: grid; gap: 6px; margin-top: 3px; }
    .nexora-agent-knowledge-source { width: 100%; min-width: 0; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 8px; padding: 7px 9px; border: 1px solid var(--assistant-ui-border); border-radius: 9px; color: var(--assistant-ui-text); background: var(--assistant-ui-surface-soft); text-align: left; cursor: pointer; }
    .nexora-agent-knowledge-source span { min-width: 0; white-space: normal; overflow-wrap: anywhere; line-height: 1.6; }
    .nexora-agent-knowledge-source em { color: var(--assistant-ui-muted); font-size: 9px; font-style: normal; }
    .nexora-agent-knowledge-actions { display: flex; gap: 7px; }
    .nexora-agent-knowledge-actions button { height: 28px; padding: 0 10px; border: 1px solid var(--assistant-ui-border); border-radius: 8px; color: var(--assistant-ui-text); background: var(--assistant-ui-surface-raised); cursor: pointer; font-size: 10px; }
    .nexora-agent-live-status { min-height: 30px; display: flex; align-items: center; gap: 9px; padding: 5px 11px; border: 1px solid rgba(91, 164, 255, .25); border-radius: 15px; color: #a9dff3; background: rgba(9, 31, 66, .46); font-size: 11px; line-height: 1.35; }
    .nexora-agent-live-status[hidden] { display: none !important; }
    .nexora-agent-status-icon { width: 19px; height: 19px; flex: 0 0 19px; display: grid; place-items: center; border-radius: 50%; color: #dff9ff; background: rgba(57, 152, 221, .3); font-size: 11px; }
    .nexora-agent-live-status.is-active .nexora-agent-status-icon { animation: nexoraAgentStatusPulse 1.35s ease-in-out infinite; }
    .nexora-agent-live-status.is-completed { color: #8ce6c0; border-color: rgba(35, 196, 131, .3); }
    .nexora-agent-live-status.is-completed .nexora-agent-status-icon { color: #dffff0; background: rgba(35, 196, 131, .28); }
    .nexora-agent-live-status.is-failed { color: #ffb4c3; border-color: rgba(255, 107, 139, .34); }
    .nexora-agent-live-status.is-failed .nexora-agent-status-icon { color: #ffe7ec; background: rgba(213, 63, 96, .3); }
    @keyframes nexoraAgentStatusPulse { 0%, 100% { transform: scale(.88); opacity: .66; } 50% { transform: scale(1); opacity: 1; box-shadow: 0 0 10px rgba(84, 204, 255, .42); } }
    .secretary-message-files { display:flex; justify-content:flex-end; gap:8px; margin-bottom:6px; }
    .secretary-message-files > button { width:80px; height:80px; padding:0; overflow:hidden; border:1px solid #8cbdb4; border-radius:12px; background:#e5f2ee; color:#245a50; cursor:pointer; }
    .secretary-message-files span { display:flex; width:100%; height:100%; align-items:center; justify-content:center; }
    .secretary-message-files img { width:100%; height:100%; object-fit:contain; }
    @keyframes nexoraAgentVoicePulse { 50% { transform: scale(.92); box-shadow: 0 0 0 7px rgba(63, 218, 176, .1), 0 0 22px rgba(54, 224, 183, .42); } }
    .nexora-agent-panel.is-function-view { grid-template-rows: auto minmax(0, 1fr); }
    .nexora-agent-function-view { min-width: 0; min-height: 0; grid-row: 2 / -1; display: grid; grid-template-rows: auto minmax(0, 1fr); gap: 10px; color: var(--assistant-ui-text); }
    .nexora-agent-function-view[hidden] { display: none; }
    .nexora-agent-panel.is-function-view > .nexora-agent-prompts,
    .nexora-agent-panel.is-function-view > .nexora-agent-live-status,
    .nexora-agent-panel.is-function-view > .nexora-agent-output,
    .nexora-agent-panel.is-function-view > .nexora-agent-composer { display: none; }
    .nexora-agent-function-toolbar { min-height: 36px; display: flex; align-items: center; gap: 10px; padding: 0 2px; }
    .nexora-agent-function-heading { min-width: 0; display: grid; gap: 2px; }
    .nexora-agent-function-heading b { font-size: 14px; }
    .nexora-agent-function-heading span { color: var(--assistant-ui-muted); font-size: 10px; }
    .nexora-agent-function-list { min-width: 0; min-height: 0; box-sizing: border-box; display: grid; grid-template-columns: minmax(0, 1fr); align-content: start; gap: 10px; overflow: auto; padding: 12px; border: 1px solid var(--assistant-ui-border); border-radius: 15px; background: linear-gradient(145deg, var(--assistant-ui-surface), var(--assistant-ui-surface-soft)); box-shadow: inset 0 1px var(--assistant-ui-inset); }
    .nexora-agent-function-list[hidden] { display: none; }
    .nexora-agent-function-card { width: 100%; min-width: 0; box-sizing: border-box; min-height: 82px; display: grid; grid-template-columns: 52px minmax(0, 1fr) 18px; align-items: center; gap: 12px; padding: 12px; border: 1px solid var(--assistant-ui-border); border-radius: 14px; color: var(--assistant-ui-text); background: linear-gradient(135deg, var(--assistant-ui-surface-raised), var(--assistant-ui-surface-soft)); text-align: left; cursor: pointer; }
    .nexora-agent-function-card > span { min-width: 0; overflow-wrap: anywhere; }
    .nexora-agent-function-card:hover { border-color: var(--assistant-ui-border-strong); filter: brightness(1.08); }
    .nexora-agent-function-icon { width: 49px; height: 49px; display: grid; place-items: center; border: 1px solid var(--assistant-ui-border); border-radius: 15px; color: var(--assistant-ui-text); background: linear-gradient(145deg, var(--assistant-ui-accent-soft), var(--assistant-ui-surface-soft)); box-shadow: inset 0 1px var(--assistant-ui-inset), 0 5px 12px var(--assistant-ui-shadow); }
    .nexora-agent-function-icon svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
    .nexora-agent-function-card b,.nexora-agent-function-card small { display: block; }
    .nexora-agent-function-card b { font-size: 13px; }
    .nexora-agent-function-card small { margin-top: 4px; color: var(--assistant-ui-muted); font-size: 10px; line-height: 1.4; }
    .nexora-agent-function-next { color: var(--assistant-ui-muted); font-size: 23px; }
    .nexora-quick-voice-dialog { display:flex; flex-direction:column; width:100%; height:100%; min-height:0; overflow:hidden; color:var(--assistant-ui-text); background:var(--assistant-ui-surface); border-radius:inherit; }
    .nexora-quick-voice-dialog[hidden] { display:none; }
    .nexora-float.is-voice-input .nexora-agent-panel { display:none; }
    .nexora-quick-voice-head { flex:none; min-height: 72px; display: flex; align-items: center; gap: 12px; padding: 12px 15px; border-bottom: 1px solid var(--assistant-ui-border); }
    .nexora-quick-voice-logo { width: 47px; height: 47px; flex: 0 0 47px; object-fit: contain; }
    .nexora-quick-voice-title { min-width: 0; display: grid; gap: 3px; }
    .nexora-quick-voice-title strong { font-size: 18px; }
    .nexora-quick-voice-title span { overflow: hidden; color: var(--assistant-ui-muted); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
    .nexora-quick-voice-body { flex:1; min-height:0; display:flex; flex-direction:column; overflow-y:auto; overscroll-behavior:contain; padding:14px 15px 34px; }
    .nexora-quick-device-step,.nexora-quick-input-step { display: grid; gap: 11px; }
    .nexora-quick-input-step { flex:1 0 auto; min-height:0; grid-template-rows:minmax(118px,1fr) repeat(5,auto); }
    .nexora-quick-device-step[hidden],.nexora-quick-input-step[hidden] { display: none; }
    .nexora-quick-voice-notice { min-height: 34px; display: flex; align-items: center; padding: 8px 11px; border: 1px solid var(--assistant-ui-border); border-radius: 11px; color: var(--assistant-ui-muted); background: var(--assistant-ui-input); font-size: 12px; }
    .nexora-quick-voice-notice.is-error { color: var(--assistant-ui-error-text); border-color: rgba(255, 107, 139, .36); background: var(--assistant-ui-error-bg); }
    .nexora-quick-device-list { display: grid; gap: 8px; }
    .nexora-quick-device { width: 100%; min-height: 66px; display: grid; grid-template-columns: 42px minmax(0,1fr) auto; align-items: center; gap: 10px; padding: 10px 11px; border: 1px solid var(--assistant-ui-border); border-radius: 13px; color: var(--assistant-ui-text); background: var(--assistant-ui-surface-raised); text-align: left; cursor: pointer; }
    .nexora-quick-device:hover { border-color: var(--assistant-ui-border-strong); filter: brightness(1.08); }
    .nexora-quick-device i { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 12px; color: var(--assistant-ui-text); background: linear-gradient(145deg,var(--assistant-ui-accent-soft),var(--assistant-ui-surface-soft)); font-style: normal; }
    .nexora-quick-device b,.nexora-quick-device small { display: block; }
    .nexora-quick-device small { margin-top: 3px; color: var(--assistant-ui-muted); font-size: 11px; }
    .nexora-quick-device em { color: var(--assistant-ui-muted); font-size: 11px; font-style: normal; }
    .nexora-quick-device-password { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; }
    .nexora-quick-device-password[hidden] { display: none; }
    .nexora-quick-device-password input { min-width: 0; height: 42px; padding: 0 12px; border: 1px solid var(--assistant-ui-border); border-radius: 11px; outline: 0; color: var(--assistant-ui-text); background: var(--assistant-ui-input); }
    .nexora-quick-device-password button,.nexora-quick-voice-action { min-height: 42px; padding: 0 14px; border: 1px solid var(--assistant-ui-border-strong); border-radius: 11px; color: #fff; background: linear-gradient(145deg, var(--assistant-ui-accent), var(--assistant-ui-accent-2)); cursor: pointer; }
    .nexora-quick-voice-section { display: grid; gap: 7px; }
    .nexora-quick-voice-section-head { display: flex; align-items: center; justify-content: space-between; color: var(--assistant-ui-text); font-size: 12px; font-weight: 700; }
    /* The two wrappers only group the panel for the Android floating window
       below; everywhere else the six rows stay in the original grid. */
    .nexora-quick-voice-scroll,.nexora-quick-voice-controls { display: contents; }
    .nexora-quick-voice-scroll > .nexora-quick-voice-section:first-child { min-height: 0; grid-template-rows: auto minmax(0,1fr); }
    .nexora-quick-voice-history { contain:size; min-height:96px; overflow-y:auto; overscroll-behavior:contain; padding:8px 10px; border:1px solid var(--assistant-ui-border); border-radius:11px; background:var(--assistant-ui-input); }
    .nexora-quick-voice-empty { margin: 42px 0; color: var(--assistant-ui-muted); text-align: center; }
    .nexora-quick-voice-history article { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 3px 8px; padding: 7px 2px; border-bottom: 1px solid var(--assistant-ui-border); }
    .nexora-quick-voice-history article[role="button"] { cursor: pointer; border-radius: 6px; }
    .nexora-quick-voice-history article[role="button"]:hover { background: var(--assistant-ui-input); }
    .nexora-quick-voice-history article[role="button"]:focus-visible { outline: 2px solid var(--assistant-ui-border); outline-offset: -2px; }
    .nexora-quick-voice-history time { color: var(--assistant-ui-muted); font-size: 10px; }
    .nexora-quick-voice-history b { color: var(--assistant-ui-muted); font-size: 10px; }
    .nexora-quick-voice-history p { grid-column: 2; margin: 0; color: var(--assistant-ui-text); font-size: 13px; overflow-wrap: anywhere; }
    .nexora-quick-current { min-height: 76px; padding: 7px 9px; border: 1px solid var(--assistant-ui-border); border-radius: 11px; background: var(--assistant-ui-input); }
    .nexora-quick-current textarea { width: 100%; height: 58px; max-height: 58px; margin: 0; padding: 2px; resize: none; overflow-y: auto; border: 0; outline: 0; box-sizing: border-box; color: var(--assistant-ui-text); background: transparent; font: inherit; font-size: 14px; line-height: 1.5; }
    .nexora-quick-current textarea::placeholder { color: var(--assistant-ui-muted); opacity: 1; }
    .nexora-quick-current small { display: block; margin-top: 4px; color: var(--assistant-ui-muted); }
    .nexora-quick-voice-modes { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; padding: 4px; border-radius: 12px; background: var(--assistant-ui-accent-soft); }
    .nexora-quick-voice-modes button { min-height: 38px; border: 0; border-radius: 9px; color: var(--assistant-ui-muted); background: transparent; cursor: pointer; font-weight: 650; }
    .nexora-quick-voice-modes button[aria-pressed="true"] { color: #fff; background: linear-gradient(145deg, var(--assistant-ui-accent), var(--assistant-ui-accent-2)); }
    .nexora-quick-microphone { min-height: 58px; display: grid; grid-template-columns: 42px minmax(0,1fr) auto; align-items: center; gap: 10px; padding: 8px 12px; border: 1px solid var(--assistant-ui-border-strong); border-radius: 13px; color: var(--assistant-ui-text); background: var(--assistant-ui-surface-raised); cursor: pointer; }
    .nexora-quick-microphone i { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; color: var(--assistant-ui-text); background: linear-gradient(145deg,var(--assistant-ui-accent-soft),var(--assistant-ui-surface-soft)); font-style: normal; }
    .nexora-quick-microphone b { text-align: left; }
    .nexora-quick-microphone em { color: var(--assistant-ui-muted); font-size: 10px; font-style: normal; }
    .nexora-quick-microphone[data-state="listening"],.nexora-quick-microphone[data-state="recognizing"] { color: #fff; border-color: var(--assistant-ui-border-strong); background: linear-gradient(145deg, var(--assistant-ui-accent), var(--assistant-ui-accent-2)); }
    .nexora-quick-microphone[data-state="listening"] i,.nexora-quick-microphone[data-state="recognizing"] i { animation: nexoraAgentVoicePulse 1.25s ease-in-out infinite; }
    .nexora-quick-microphone[data-state="error"] { color: var(--assistant-ui-error-text); border-color: rgba(180,59,88,.42); background: var(--assistant-ui-error-bg); }
    .nexora-quick-voice-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
    .nexora-quick-voice-action.is-secondary { color: var(--assistant-ui-text); border-color: var(--assistant-ui-border); background: var(--assistant-ui-surface-raised); }
    .nexora-quick-voice-action:disabled { opacity: .45; cursor: default; }
    /* Android desktop secretary: its window (about 430-520px tall in
       portrait, 320px in landscape) is shorter than this panel. Keep speaking
       and sending pinned at the bottom and scroll the rest: the draft, the
       injection hint and 实时/手动 first, the record below them, so a short
       window never cuts the hint or the mode switch under 开始说话. */
    html.native-secretary-overlay .nexora-quick-voice-action { padding: 0 8px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    @media (max-height: 640px) {
      html.native-secretary-overlay .nexora-quick-voice-body { overflow: hidden; padding: 10px 12px 18px; }
      html.native-secretary-overlay .nexora-quick-input-step:not([hidden]) { flex: 1 1 auto; display: flex; flex-direction: column; gap: 8px; }
      html.native-secretary-overlay .nexora-quick-voice-scroll { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; gap: 8px; overflow-y: auto; overscroll-behavior: contain; }
      html.native-secretary-overlay .nexora-quick-voice-scroll > * { flex: none; }
      html.native-secretary-overlay .nexora-quick-voice-scroll > .nexora-quick-voice-section:first-child { flex: 1 0 auto; min-height: 86px; order: 1; margin-top: 12px; }
      html.native-secretary-overlay .nexora-quick-voice-history { min-height: 60px; }
      html.native-secretary-overlay .nexora-quick-voice-empty { margin: 12px 0; }
      html.native-secretary-overlay .nexora-quick-voice-controls { flex: none; display: grid; gap: 8px; }
      html.native-secretary-overlay .nexora-quick-voice-notice { min-height: 30px; padding: 6px 10px; }
      html.native-secretary-overlay .nexora-quick-voice-modes button { min-height: 32px; }
      html.native-secretary-overlay .nexora-quick-current { min-height: 0; }
      html.native-secretary-overlay .nexora-quick-current textarea { height: 44px; }
      html.native-secretary-overlay .nexora-quick-microphone { min-height: 48px; padding: 4px 12px; }
      html.native-secretary-overlay .nexora-quick-voice-action { min-height: 38px; }
    }

    /* Desktop intelligent-agent panel: preserve the original composition at about half its area. */
    @media (min-width: 621px) {
      .nexora-float.is-agent { border-radius: 17px; box-shadow: 0 14px 48px rgba(0, 0, 0, .56), inset 0 0 27px rgba(66, 124, 255, .12), 0 0 17px rgba(66, 96, 255, .24); }
      .nexora-agent-panel { padding: 15px 18px 17px; grid-template-rows: auto auto auto minmax(64px, 1fr) auto; gap: 8px; }
      .nexora-agent-head { min-height: 50px; gap: 13px; }
      .nexora-agent-identity { gap: 12px; }
      .nexora-agent-greeting strong { font-size: 18px; }
      .nexora-agent-greeting span { margin-top: 5px; font-size: 11px; }
      .nexora-agent-prompts { gap: 8px; }
      .nexora-agent-prompts button { height: 34px; padding: 0 9px; border-radius: 11px; box-shadow: inset 0 0 13px rgba(59, 121, 255, .08); font-size: 10px; }
      .nexora-agent-prompts .nexora-mode-button { height: 30px; padding: 0 13px; border-radius: 15px; }
    }

    @media (max-width: 620px) {
      .nexora-float { top: 146px; left: 12px; width: calc(100vw - 24px); max-width: calc(100vw - 24px); max-height: calc(100dvh - 158px); }
      .nexora-float.is-expanded { min-width: 300px; width: calc(100vw - 24px); height: min(510px, calc(100dvh - 158px)); min-height: 280px; }
      .nexora-float.is-closed { width: 68px !important; max-width: 68px; height: 62px !important; max-height: 62px; }
      .nexora-float-card { grid-template-columns: 62px minmax(0, 1fr) auto; }
      .nexora-float-thumb { width: 62px; height: 54px; }
      .nexora-agent-panel { padding: 18px 15px; grid-template-rows: auto auto auto minmax(80px, 1fr) auto; gap: 10px; }
      .nexora-agent-identity { gap: 11px; }
      .nexora-agent-greeting strong { font-size: 17px; }
      .nexora-agent-greeting span { margin-top: 5px; font-size: 12px; }
      .nexora-agent-prompts { gap: 9px; }
      .nexora-agent-prompts button { height: 43px; font-size: 11px; }
      .nexora-agent-prompts .nexora-mode-button { height: 34px; padding: 0 14px; border-radius: 17px; }

      .nexora-agent-function-list { padding: 10px; }
      .nexora-quick-voice-head { min-height: 64px; padding: 9px 12px; gap: 9px; }
      .nexora-quick-voice-logo { width: 42px; height: 42px; flex-basis: 42px; }
      .nexora-quick-voice-title strong { font-size: 16px; }
      .nexora-quick-voice-body { padding:11px 12px 34px; }
      .nexora-quick-input-step { gap:8px; }
      .nexora-quick-microphone { min-height: 54px; }
      .nexora-quick-voice-action { min-height: 40px; }
    }

    @media (max-width: 900px) {
      .topbar {
        grid-template-columns: auto minmax(0, 1fr);
        gap: 14px;
        padding: 0 18px;
        margin: 0;
      }

      .main-nav {
        order: 3;
        grid-column: 1 / -1;
        height: 42px;
        justify-content: flex-start;
        gap: 22px;
      }

      .nav-actions {
        justify-self: end;
      }
    }

    @media (min-width: 901px) and (max-width: 1250px) {
      .topbar {
        grid-template-columns: auto minmax(0, 1fr) auto;
        gap: 12px;
        padding: 0 14px;
      }
      .main-nav {
        justify-content: flex-start;
        gap: 18px;
      }
      .nav-actions { min-width: max-content; }
    }

    @media (max-width: 620px) {
      .topbar {
        min-height: 80px;
        row-gap: 2px;
        padding: 4px 12px 0;
        margin: 0;
      }

      .brand {
        font-size: 13px;
        letter-spacing: 3px;
      }

      .brand-mark { width: 26px; height: 26px; }
      .nav-actions { gap: 6px; }
      .language-select { width: 68px; padding-left: 7px; padding-right: 18px; }
      .info-button,
      .gateway-button { min-width: 44px; padding: 0 8px; font-size: 12px; }
      .main-nav { height: 34px; gap: 20px; }
      .main-nav button { font-size: 12px; }
      .gateway-footer { flex-wrap: wrap; }
    }

    html[data-layout="mobile"] .topbar .search {
      display: block !important;
      flex: 0 0 32px;
      width: 32px;
      height: 32px;
    }

    @media (max-width: 700px) {
      html[data-layout="desktop"] .topbar .search {
        display: block !important;
        flex: 0 0 32px;
        width: 32px;
        height: 32px;
      }
    }

    html[data-layout="mobile"] .topbar .signin {
      display: block !important;
      width: auto;
      min-width: 76px;
      max-width: 88px;
      height: 34px;
      padding: 0 11px;
      border-radius: 999px;
      font-size: 12px;
    }

    html[data-layout="mobile"] .topbar .signin.is-user,
    html[data-layout="desktop"] .topbar .signin.is-user {
      width: auto;
      min-width: 58px;
      max-width: 96px;
      padding: 0 13px;
    }

    html[data-layout="mobile"] .topbar .nav-actions {
      gap: 6px;
      min-width: 0;
      max-width: 100%;
      flex-wrap: wrap;
      justify-content: flex-end;
    }
    html[data-layout="mobile"] .topbar .nav-actions > * { flex-shrink: 0; }
    html[data-layout="mobile"] .topbar :is(.mobile-settings-button,.gateway-button,.signin) { white-space: nowrap; }

    html[data-layout="mobile"] .topbar .mobile-settings-button {
      display: inline-grid;
      place-items: center;
      min-width: 42px;
      height: 34px;
      border: 1px solid rgba(102, 226, 255, .5);
      border-radius: 10px;
      padding: 0 9px;
      color: #eef8ff;
      background: linear-gradient(145deg, rgba(12, 41, 75, .92), rgba(31, 24, 78, .9));
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12), 0 0 14px rgba(78, 181, 255, .18);
      font-size: 12px;
    }

    html[data-home-theme="forest-glass"][data-layout="mobile"] .topbar .mobile-settings-button {
      border-color: rgba(59, 112, 96, .3);
      color: #214f41;
      background: rgba(255, 255, 255, .58);
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9), 0 5px 14px rgba(28, 88, 72, .08);
    }

    html[data-layout="mobile"] .main-nav [data-home-nav="settings"] {
      display: none;
    }

    html[data-layout="mobile"] .cover {
      padding-top: 120px;
    }

    @media (max-width: 430px) {
      html[data-layout="mobile"] .topbar {
        column-gap: 8px;
      }

      .topbar .brand {
        gap: 7px;
        font-size: 11px;
        letter-spacing: 2px;
      }

      .topbar .brand > span:last-child {
        display: none;
      }

      html[data-layout="mobile"] .topbar .nav-actions {
        gap: 4px;
      }

      html[data-layout="mobile"] .topbar .language-select {
        width: 62px;
      }

      html[data-layout="mobile"] .topbar .info-button {
        min-width: 38px;
        width: 38px;
        padding: 0;
        overflow: hidden;
      }

      html[data-layout="mobile"] .topbar .gateway-button {
        min-width:44px; width:auto; padding:0 8px; font-size:12px;
      }


      html[data-layout="mobile"] .topbar .signin.is-user,
      html[data-layout="desktop"] .topbar .signin.is-user {
        min-width: 52px;
        max-width: 64px;
        padding: 0 10px;
        font-size: 12px;
      }

      html[data-layout="desktop"] .topbar .signin:not(.is-user) {
        min-width: 76px;
        max-width: 76px;
        padding: 0 9px;
        font-size: 11px;
      }
    }

    .auth-modal {
      position: fixed;
      inset: 0;
      z-index: 20;
      display: grid;
      place-items: center;
      padding: 20px;
      background: rgba(1, 4, 12, .78);
      backdrop-filter: blur(14px);
      visibility: hidden;
      opacity: 0;
      pointer-events: none;
      transition: opacity .18s ease-out, visibility 0s linear .18s;
    }

    .auth-modal.is-visible {
      visibility: visible;
      opacity: 1;
      pointer-events: auto;
      transition-delay: 0s;
    }

    .auth-dialog {
      width: min(430px, 100%);
      border: 1px solid rgba(213, 224, 255, .24);
      border-radius: 8px;
      overflow: hidden;
      background: rgba(5, 10, 24, .96);
      box-shadow: 0 24px 80px rgba(0, 0, 0, .48);
      opacity: 0;
      transform: translateY(10px) scale(.985);
      transition: opacity .18s ease-out, transform .18s ease-out;
    }

    .auth-modal.is-visible .auth-dialog {
      opacity: 1;
      transform: translateY(0) scale(1);
    }

    .auth-header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 18px 20px;
      border-bottom: 1px solid rgba(213, 224, 255, .14);
    }

    .auth-header strong {
      font-size: 18px;
      font-weight: 400;
    }

    .auth-close {
      width: 34px;
      height: 34px;
      border: 1px solid rgba(213, 224, 255, .22);
      border-radius: 50%;
      color: #fff;
      cursor: pointer;
      background: transparent;
      font-size: 22px;
    }

    .auth-tabs {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 8px;
      padding: 16px 20px 0;
    }

    /* Registration closed by an administrator: the login tab spans the row. */
    .auth-tabs:has(> .auth-tab[hidden]) { grid-template-columns: 1fr; }

    .auth-tab {
      height: 42px;
      border: 1px solid rgba(213, 224, 255, .18);
      border-radius: 6px;
      color: var(--muted);
      cursor: pointer;
      background: transparent;
    }

    .auth-tab.is-active {
      color: #fff;
      border-color: rgba(102, 242, 255, .58);
      background: rgba(102, 242, 255, .12);
    }

    .auth-form {
      display: grid;
      gap: 14px;
      padding: 20px;
    }

    .auth-field label {
      display: block;
      margin-bottom: 7px;
      color: var(--muted);
      font-size: 13px;
    }

    .auth-field input {
      width: 100%;
      height: 44px;
      padding: 0 12px;
      border: 1px solid rgba(213, 224, 255, .2);
      border-radius: 6px;
      outline: none;
      color: #fff;
      background: rgba(1, 5, 15, .68);
    }

    .auth-field input:focus {
      border-color: rgba(102, 242, 255, .62);
    }

    .auth-submit {
      height: 46px;
      border: 1px solid rgba(102, 242, 255, .58);
      border-radius: 6px;
      color: #fff;
      cursor: pointer;
      background: rgba(102, 242, 255, .16);
    }

    .auth-status {
      min-height: 20px;
      margin: 0;
      color: var(--muted);
      font-size: 13px;
      line-height: 1.6;
    }

    .auth-status.is-error {
      color: #ff9bad;
    }

    .remember-login {
      display: flex;
      align-items: center;
      gap: 9px;
      color: var(--muted);
      cursor: pointer;
      font-size: 13px;
      user-select: none;
    }

    .remember-login input {
      width: 17px;
      height: 17px;
      margin: 0;
      accent-color: var(--cyan);
    }

    .account-menu {
      position: fixed;
      top: 62px;
      right: 18px;
      z-index: 30;
      display: none;
      width: 220px;
      padding: 12px;
      border: 1px solid rgba(190, 216, 255, .34);
      border-radius: 8px;
      background: rgba(0, 0, 0, .36);
      box-shadow: 0 18px 46px rgba(0, 0, 0, .24), inset 0 1px rgba(255, 255, 255, .05);
      backdrop-filter: blur(2px);
    }

    .account-menu.is-visible {
      display: grid;
      gap: 10px;
    }

    .account-menu span {
      color: rgba(232, 240, 255, .82);
      font-size: 13px;
      text-shadow: 0 1px 8px rgba(0, 0, 0, .72);
    }

    .account-menu button {
      height: 38px;
      border: 1px solid rgba(213, 224, 255, .2);
      border-radius: 6px;
      color: #fff;
      cursor: pointer;
      background: rgba(0, 0, 0, .18);
      backdrop-filter: none;
    }

    .account-menu .delete-account {
      border-color: rgba(255, 93, 116, .42);
      color: #ff9baa;
      background: rgba(76, 0, 18, .2);
    }

    .account-menu .delete-account:hover {
      border-color: rgba(255, 93, 116, .78);
      background: rgba(132, 24, 44, .3);
    }

    .account-menu .switch-account {
      border-color: rgba(88, 231, 255, .46);
      color: #dffcff;
      background: rgba(0, 94, 116, .24);
    }

    .account-menu .switch-account:hover {
      border-color: rgba(88, 231, 255, .78);
      background: rgba(0, 118, 142, .34);
    }

    .saved-accounts-panel {
      position: fixed;
      top: 62px;
      right: 18px;
      z-index: 31;
      display: none;
      width: min(320px, calc(100vw - 24px));
      max-height: min(62vh, 480px);
      grid-template-rows: auto minmax(0, 1fr);
      overflow: hidden;
      border: 1px solid rgba(190, 216, 255, .34);
      border-radius: 8px;
      background: rgba(0, 5, 18, .9);
      box-shadow: 0 18px 46px rgba(0, 0, 0, .34);
      backdrop-filter: blur(10px);
    }

    .saved-accounts-panel.is-visible { display: grid; }
    .saved-accounts-head { min-height: 48px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 12px; border-bottom: 1px solid rgba(190, 216, 255, .16); }
    .saved-accounts-head button { width: 34px; height: 34px; border: 1px solid rgba(213, 224, 255, .2); border-radius: 6px; color: #fff; background: transparent; cursor: pointer; }
    .saved-accounts-list { min-height: 0; overflow-y: auto; padding: 10px; display: grid; gap: 8px; }
    .saved-account-option { width: 100%; min-height: 50px; display: grid; grid-template-columns: 36px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 7px 10px; border: 1px solid rgba(126, 177, 255, .2); border-radius: 7px; color: #fff; background: rgba(8, 20, 43, .72); cursor: pointer; text-align: left; }
    .saved-account-option:hover:not(:disabled) { border-color: rgba(88, 231, 255, .58); background: rgba(0, 73, 94, .48); }
    .saved-account-option:disabled { cursor: default; opacity: .72; }
    .saved-account-avatar { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: linear-gradient(135deg, rgba(74, 226, 255, .42), rgba(74, 96, 210, .62)); font-weight: 700; }
    .saved-account-copy { min-width: 0; display: grid; gap: 3px; }
    .saved-account-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .saved-account-role, .saved-account-state { color: #9eacc9; font-size: 11px; }
    .saved-account-state { color: #72eef8; }
    .saved-accounts-empty { padding: 24px 12px; color: #9eacc9; text-align: center; line-height: 1.6; }

    .admin-accounts-panel {
      position: fixed;
      top: 62px;
      right: 18px;
      z-index: 31;
      display: none;
      width: min(420px, calc(100vw - 24px));
      max-height: min(68vh, 620px);
      grid-template-rows: auto auto minmax(0, 1fr);
      overflow: hidden;
      border: 1px solid rgba(190, 216, 255, .34);
      border-radius: 8px;
      background: rgba(0, 5, 18, .82);
      box-shadow: 0 18px 46px rgba(0, 0, 0, .34);
      backdrop-filter: blur(10px);
    }

    .admin-accounts-panel.is-visible { display: grid; }
    .admin-accounts-head { min-height: 48px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 12px; border-bottom: 1px solid rgba(190, 216, 255, .16); }
    .admin-accounts-head button { width: 34px; height: 34px; border: 1px solid rgba(213, 224, 255, .2); border-radius: 6px; color: #fff; background: transparent; }
    .admin-registration-toggle { display: flex; align-items: center; gap: 8px; padding: 9px 12px; border-bottom: 1px solid rgba(190, 216, 255, .16); color: inherit; font-size: 13px; cursor: pointer; }
    .admin-registration-toggle input { width: 16px; height: 16px; margin: 0; accent-color: #58e7ff; }
    .admin-registration-toggle small { margin-left: auto; color: var(--muted); font-size: 11px; }
    .admin-accounts-list { min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 10px; display: grid; gap: 9px; }
    .admin-account-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; padding: 10px; border: 1px solid rgba(126, 177, 255, .2); border-radius: 7px; background: rgba(8, 20, 43, .72); }
    .admin-account-fields { min-width: 0; display: grid; gap: 7px; }
    .admin-account-fields input { min-width: 0; width: 100%; height: 34px; border: 1px solid rgba(126, 177, 255, .22); border-radius: 6px; padding: 0 9px; color: #fff; background: rgba(0, 5, 16, .62); }
    .admin-account-fields input:disabled { opacity: .72; color: #cbd7eb; }
    .admin-account-meta { color: var(--muted); font-size: 11px; }
    .admin-account-actions { display: grid; grid-template-columns: 34px 34px; align-content: start; gap: 7px; }
    .admin-account-actions button { width: 34px; height: 34px; border: 1px solid rgba(126, 177, 255, .24); border-radius: 6px; color: #dffcff; background: rgba(4, 16, 36, .72); }
    .admin-account-actions .admin-delete-user { border-color: rgba(255, 93, 116, .42); color: #ff9baa; }
    .admin-account-save { justify-self: start; min-height: 32px; padding: 0 12px; border: 1px solid rgba(88, 231, 255, .5); border-radius: 6px; color: #eaffff; background: rgba(0, 111, 134, .42); }
    .admin-account-save[hidden] { display: none; }
    .admin-accounts-empty { padding: 26px 12px; text-align: center; color: var(--muted); }

    .delete-confirm-copy {
      margin: 0;
      color: var(--muted);
      font-size: 14px;
      line-height: 1.7;
    }

    .delete-confirm-copy strong {
      color: #fff;
      font-weight: 600;
    }

    .delete-confirm-actions {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 10px;
      margin-top: 18px;
    }

    .delete-confirm-actions button {
      height: 40px;
      border-radius: 6px;
      cursor: pointer;
    }

    .delete-cancel {
      border: 1px solid rgba(213, 224, 255, .22);
      color: #fff;
      background: transparent;
    }

    .delete-confirm {
      border: 1px solid rgba(255, 93, 116, .62);
      color: #fff;
      background: #8d2639;
    }

    .hero {
      position: relative;
      z-index: 3;
      height: 100%;
      min-height: 0;
      display: grid;
      grid-template-rows: 1fr auto 58px;
      align-items: center;
    }

    .portal-scene {
      display: none;
    }

    .mountains,
    .city,
    .planet {
      position: absolute;
      bottom: 14%;
      opacity: .82;
      filter: saturate(1.12);
    }

    .mountains.left {
      left: -8%;
      width: 36%;
      height: 38%;
      background: linear-gradient(135deg, transparent 0 34%, rgba(111, 171, 223, .55) 34% 45%, transparent 46%),
        linear-gradient(45deg, transparent 0 42%, rgba(237, 245, 255, .62) 43% 48%, rgba(28, 64, 107, .8) 49% 72%, transparent 73%);
      clip-path: polygon(0 100%, 18% 44%, 31% 72%, 48% 20%, 64% 68%, 78% 36%, 100% 100%);
    }

    .mountains.right {
      right: -6%;
      width: 34%;
      height: 42%;
      background: linear-gradient(135deg, transparent 0 36%, rgba(233, 240, 255, .62) 37% 42%, rgba(72, 74, 144, .8) 44% 72%, transparent 73%);
      clip-path: polygon(0 100%, 16% 62%, 34% 18%, 52% 70%, 66% 31%, 86% 77%, 100% 100%);
    }

    .planet {
      left: 4%;
      bottom: 25%;
      width: 270px;
      height: 270px;
      border-radius: 50%;
      background:
        radial-gradient(circle at 30% 28%, rgba(213, 238, 255, .9), transparent 18%),
        radial-gradient(circle at 62% 58%, rgba(69, 183, 255, .7), transparent 28%),
        linear-gradient(135deg, rgba(190, 226, 255, .88), rgba(7, 32, 69, .15) 52%, rgba(0, 0, 0, .85));
      box-shadow: inset -42px -34px 50px rgba(0, 0, 0, .74), 0 0 48px rgba(67, 192, 255, .35);
    }

    .city {
      left: 25%;
      bottom: 18%;
      width: 150px;
      height: 230px;
      background:
        linear-gradient(to top, rgba(111, 69, 158, .5), transparent),
        repeating-linear-gradient(90deg, rgba(224, 229, 255, .5) 0 3px, transparent 3px 18px);
      clip-path: polygon(0 100%, 0 46%, 12% 46%, 12% 28%, 24% 28%, 24% 55%, 35% 55%, 35% 20%, 49% 20%, 49% 42%, 61% 42%, 61% 10%, 76% 10%, 76% 36%, 89% 36%, 89% 100%);
      opacity: .55;
    }

    .portal {
      position: absolute;
      left: 50%;
      top: 50%;
      width: min(47vw, 580px);
      aspect-ratio: 1;
      transform: translate(-50%, -45%);
      border-radius: 50%;
      background:
        radial-gradient(circle at 50% 55%, rgba(255, 249, 232, .96) 0 7%, rgba(200, 211, 255, .7) 13%, rgba(57, 64, 137, .25) 25%, transparent 31%),
        repeating-conic-gradient(from 20deg, rgba(230, 213, 255, .1) 0 8deg, rgba(137, 96, 255, .27) 11deg 16deg, rgba(60, 184, 255, .09) 18deg 24deg, transparent 25deg 34deg);
      box-shadow:
        0 0 44px rgba(159, 115, 255, .6),
        inset 0 0 35px rgba(189, 179, 255, .45),
        inset 0 0 90px rgba(0, 0, 0, .72);

    }

    .portal::before,
    .portal::after {
      content: "";
      position: absolute;
      inset: 10%;
      border: 2px solid rgba(194, 169, 255, .45);
      border-radius: 50%;
      box-shadow: 0 0 28px rgba(175, 112, 255, .65);

    }

    .portal::after {
      inset: 27%;
      border-color: rgba(128, 226, 255, .3);

    }

    .center-copy {
      align-self: end;
      margin-bottom: min(25vh, 230px);
      text-align: center;
      text-shadow: 0 0 30px rgba(137, 117, 255, .55);
    }

    .eyebrow {
      margin: 0 0 24px;
      color: rgba(255, 255, 255, .9);
      font-size: 22px;
      letter-spacing: 18px;
      text-indent: 18px;
      text-transform: uppercase;
    }

    h1 {
      margin: 0;
      font-size: clamp(56px, 9vw, 120px);
      line-height: .95;
      font-weight: 300;
      letter-spacing: 22px;
      text-indent: 22px;
      text-transform: uppercase;
    }

    .subtitle {
      display: inline-flex;
      align-items: center;
      gap: 18px;
      margin-top: 28px;
      color: #fff;
      font-size: clamp(16px, 2vw, 23px);
      letter-spacing: 5px;
    }

    .subtitle::before,
    .subtitle::after {
      content: "";
      width: 52px;
      height: 1px;
      background: linear-gradient(90deg, transparent, #fff);
    }

    .subtitle::after {
      background: linear-gradient(90deg, #fff, transparent);
    }

    .feature-row {
      align-self: end;
      display: flex;
      justify-content: center;
      gap: 28px;
      width: min(940px, 94vw);
      margin-inline: auto;
      padding: 0 0 12px;
      overflow-x: auto;
      overscroll-behavior-x: contain;
    }

    @media (min-width: 761px) {
      body[data-nexora-page="home"] .feature-row {
        overflow: visible;
      }
    }

    .feature-card {
      position: relative;
      width: min(280px, 72vw);
      height: 250px;
      border: 1px solid rgba(120, 225, 255, .72);
      border-radius: 8px;
      clip-path: polygon(0 9%, 50% 0, 100% 9%, 100% 91%, 50% 100%, 0 91%);
      color: #fff;
      background:
        radial-gradient(circle at 50% 100%, rgba(73, 226, 255, .35), transparent 20%),
        linear-gradient(180deg, rgba(30, 72, 128, .55), rgba(5, 14, 32, .58));
      box-shadow:
        inset 0 0 60px rgba(54, 150, 255, .22),
        0 0 34px rgba(77, 211, 255, .32),
        0 45px 75px rgba(0, 0, 0, .55);
      cursor: pointer;
      transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
      flex: 0 0 min(280px, 72vw);
    }

    .feature-card.ai-card {
      border-color: rgba(176, 135, 255, .78);
      background: radial-gradient(circle at 50% 100%, rgba(159, 83, 255, .38), transparent 22%), linear-gradient(180deg, rgba(66, 43, 137, .62), rgba(8, 13, 38, .62));
      box-shadow: inset 0 0 60px rgba(130, 72, 255, .2), 0 0 34px rgba(135, 78, 255, .3), 0 45px 75px rgba(0, 0, 0, .55);
    }
    .feature-card.ai-card .feature-icon { border-radius: 50%; border-color: #c6a7ff; transform: none; }
    .feature-card.ai-card .feature-icon::before { inset: 12px; border-radius: 50%; border-color: rgba(185, 139, 255, .92); }
    .feature-card.ai-card .feature-icon::after { inset: 24px; border: 0; border-radius: 50%; background: #d9c2ff; box-shadow: 0 0 18px #a96cff; }
    .feature-card:hover,
    .feature-card:focus-visible {
      outline: none;
      transform: translateY(-8px);
      border-color: rgba(189, 249, 255, .95);
      box-shadow:
        inset 0 0 70px rgba(72, 244, 255, .26),
        0 0 46px rgba(84, 234, 255, .6),
        0 50px 95px rgba(0, 0, 0, .65);
    }

    .feature-card::after {
      content: "";
      position: absolute;
      left: 50%;
      bottom: -2px;
      width: 86px;
      height: 7px;
      transform: translateX(-50%);
      background: #62f3ff;
      border-radius: 50%;
      filter: blur(5px);
      box-shadow: 0 0 28px #62f3ff;

    }

    .feature-inner {
      height: 100%;
      display: grid;
      place-items: center;
      align-content: center;
      gap: 18px;
      padding: 34px 28px 28px;
      text-align: center;
    }

    .feature-icon {
      width: 60px;
      height: 60px;
      position: relative;
      border: 2px solid #98deff;
      transform: rotate(30deg);
      box-shadow: 0 0 18px rgba(124, 218, 255, .6);
    }

    .feature-icon::before,
    .feature-icon::after {
      content: "";
      position: absolute;
      inset: 11px;
      border: 2px solid rgba(151, 222, 255, .8);
    }

    .feature-icon::after {
      inset: 22px;
      background: rgba(151, 222, 255, .16);
    }

    .feature-title {
      margin: 0;
      font-size: 25px;
      font-weight: 500;
    }

    .feature-en {
      margin: -6px 0 0;
      color: rgba(220, 235, 255, .78);
      font-size: 12px;
      letter-spacing: 2px;
      text-transform: uppercase;
      white-space: nowrap;
    }

    .feature-line {
      width: 30px;
      height: 2px;
      background: #a6dfff;
      box-shadow: 0 0 13px #8de6ff;
    }

    .floor {
      display: none;
    }

    .scroll {
      align-self: end;
      justify-self: center;
      border: 0;
      background: transparent;
      text-align: center;
      color: rgba(230, 237, 255, .78);
      font-size: 13px;
      letter-spacing: 9px;
      text-indent: 9px;
      text-transform: uppercase;
      cursor: pointer;
    }

    .scroll::after {
      content: "";
      display: block;
      width: 14px;
      height: 14px;
      margin: 12px auto 0;
      border-right: 1px solid #fff;
      border-bottom: 1px solid #fff;
      transform: rotate(45deg);
      opacity: .88;
    }

    .content-section {
      position: relative;
      min-height: 100vh;
      margin-top: -1px;
      padding: 108px 48px 92px;
      background:
        radial-gradient(circle at 18% 22%, rgba(102, 242, 255, .12), transparent 28%),
        radial-gradient(circle at 82% 34%, rgba(255, 102, 200, .1), transparent 28%),
        linear-gradient(180deg, #02040b 0%, #07111f 55%, #02040b 100%);
      overflow: hidden;
    }

    .content-section::before {
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(90deg, transparent 0 16%, rgba(145, 177, 255, .1) 16.1%, transparent 16.2% 48%, rgba(145, 177, 255, .08) 48.1%, transparent 48.2% 74%, rgba(145, 177, 255, .1) 74.1%, transparent 74.2%),
        repeating-linear-gradient(0deg, rgba(142, 201, 255, .06) 0 1px, transparent 1px 72px);
      pointer-events: none;
    }

    .section-inner {
      position: relative;
      z-index: 1;
      width: min(1120px, 100%);
      margin: 0 auto;
    }

    .section-kicker {
      margin: 0 0 12px;
      color: var(--cyan);
      font-size: 13px;
      letter-spacing: 5px;
      text-transform: uppercase;
    }

    .section-title {
      margin: 0 0 42px;
      font-size: clamp(34px, 5vw, 64px);
      font-weight: 300;
    }

    .analysis-panel {
      display: grid;
      grid-template-columns: 1.1fr .9fr;
      gap: 24px;
      align-items: stretch;
    }

    .metric-board,
    .chart-board {
      min-height: 360px;
      border: 1px solid rgba(132, 222, 255, .26);
      border-radius: 8px;
      background: rgba(5, 14, 32, .58);
      box-shadow: inset 0 0 50px rgba(70, 164, 255, .12), 0 24px 70px rgba(0, 0, 0, .36);
      backdrop-filter: blur(10px);
    }

    .metric-board {
      padding: 30px;
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 18px;
    }

    .metric {
      padding: 22px;
      border: 1px solid rgba(175, 210, 255, .18);
      border-radius: 8px;
      background: linear-gradient(180deg, rgba(71, 125, 202, .18), rgba(8, 15, 32, .34));
    }

    .metric span {
      display: block;
      color: var(--muted);
      font-size: 13px;
      margin-bottom: 12px;
    }

    .metric strong {
      display: block;
      color: #fff;
      font-size: 34px;
      font-weight: 400;
    }

    .chart-board {
      padding: 34px;
      display: flex;
      align-items: end;
      justify-content: center;
      gap: 18px;
    }

    .bar {
      width: 42px;
      min-height: 48px;
      border-radius: 6px 6px 0 0;
      background: linear-gradient(180deg, var(--cyan), rgba(102, 242, 255, .12));
      box-shadow: 0 0 24px rgba(102, 242, 255, .32);
    }

    .bar:nth-child(2) {
      height: 210px;
      background: linear-gradient(180deg, var(--violet), rgba(167, 124, 255, .12));
    }

    .bar:nth-child(3) {
      height: 145px;
      background: linear-gradient(180deg, var(--pink), rgba(255, 102, 200, .12));
    }

    .bar:nth-child(4) {
      height: 260px;
      background: linear-gradient(180deg, var(--gold), rgba(255, 213, 145, .12));
    }

    .bar:nth-child(1) {
      height: 120px;
    }

    @keyframes gradientLoop {
      to {
        transform: rotate(360deg);
      }
    }





    @keyframes coverBreath {
      0%,
      100% {
        opacity: .84;
      }

      50% {
        opacity: 1;
      }
    }



    @keyframes starDrift {
      0%,
      100% {
        opacity: .58;
        background-position: 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 100% 0;
      }

      50% {
        opacity: .9;
        background-position: 0 0, 0 0, 0 0, 0 0, 0 0, 80% 0, 20% 0;
      }
    }





    @media (max-width: 760px) {
      .cover {
        height: 100dvh;
        padding: 120px 18px max(28px, env(safe-area-inset-bottom));
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior-y: contain;
      }

      .brand {
        font-size: 13px;
        letter-spacing: 4px;
      }

      .signin {
        display: none;
      }

      .portal {
        width: 86vw;
      }

      .planet,
      .city {
        display: none;
      }

      .center-copy {
        align-self: center;
        margin-bottom: 0;
        padding-top: 16px;
      }

      .eyebrow {
        font-size: 15px;
        letter-spacing: 9px;
        text-indent: 9px;
      }

      h1 {
        font-size: 48px;
        letter-spacing: 9px;
        text-indent: 9px;
      }

      .subtitle {
        gap: 10px;
        letter-spacing: 2px;
      }

      .subtitle::before,
      .subtitle::after {
        width: 26px;
      }

      .feature-card {
        width: min(300px, calc(100vw - 64px));
        height: 220px;
        flex-basis: min(300px, calc(100vw - 64px));
        background:
          radial-gradient(circle at 50% 100%, rgba(73, 226, 255, .38), transparent 23%),
          linear-gradient(180deg, rgba(22, 63, 119, .96), rgba(4, 12, 29, .98));
        backdrop-filter: blur(18px) saturate(1.15);
      }

      .feature-row {
        position: relative;
        z-index: 4;
        justify-content: flex-start;
        width: calc(100% + 36px);
        margin-inline: -18px;
        padding: 20px 32px 18px;
        scroll-padding-inline: 32px;
        background: transparent;
        border-top: 0;
        box-shadow: none;
        backdrop-filter: none;
      }

      .feature-card.ai-card {
        background:
          radial-gradient(circle at 50% 100%, rgba(159, 83, 255, .42), transparent 24%),
          linear-gradient(180deg, rgba(60, 38, 128, .96), rgba(7, 11, 34, .98));
      }

      .hero {
        height: auto;
        min-height: calc(100dvh - 148px);
        grid-template-rows: minmax(500px, 1fr) auto;
        gap: 28px;
        align-items: stretch;
      }

      .content-section {
        padding: 72px 18px;
      }

      .analysis-panel {
        grid-template-columns: 1fr;
      }

      .metric-board {
        grid-template-columns: 1fr;
      }
    }
    /* Phone floating secretary, minimized: the Windows client's mini bar
       (assistant-shell .dock-transfer-header and its 快捷互传 panel) with the
       same colours per theme. The Android window is sized to this content, so
       the float fills it and the bar card is the whole window. */
    #nexoraFloat.is-mini { --bar-surface:#101e36; --bar-hover:#233957; --bar-line:rgba(114,161,220,.3); --bar-accent:#9cc9ff; --bar-text:#edf5ff; --bar-muted:#91a5c8; --bar-danger:#ffb6c7; --text:var(--bar-text); --muted:var(--bar-muted); --accent:var(--bar-accent); --border:var(--bar-line); --input:var(--bar-hover); --surface-soft:var(--bar-surface); --raised:var(--bar-hover); }
    html[data-home-theme="forest-glass"] #nexoraFloat.is-mini { --bar-surface:#f1faf6; --bar-hover:#d9eee4; --bar-line:#b4d7c8; --bar-accent:#28765f; --bar-text:#173e35; --bar-muted:#668078; --bar-danger:#a83b55; }
    html.native-secretary-overlay body #nexoraFloat.nexora-float.is-mini { top:0!important; bottom:auto!important; height:100dvh!important; border:1px solid var(--bar-line)!important; border-radius:14px!important; color:var(--bar-text); background:var(--bar-surface)!important; overflow:hidden!important; }
    #nexoraFloat.is-mini .nexora-agent-panel { height:auto!important; }
    /* Its own class: the shared .secretary-mini-bar rules (the old one-row
       bar, also shipped to Windows) do not reach these controls. */
    .secretary-phone-bar { display:none; }
    #nexoraFloat.is-mini .nexora-agent-panel > .secretary-phone-bar { display:block!important; height:auto; padding:0; font-family:"Microsoft YaHei UI","Segoe UI",sans-serif; }
    #nexoraFloat.is-mini .secretary-bar-row { display:flex; align-items:center; gap:8px; height:62px; padding:0 10px 0 11px; box-sizing:border-box; touch-action:none; user-select:none; -webkit-user-select:none; }
    #nexoraFloat.is-mini .secretary-bar-row button { flex:none; height:auto; margin:0; padding:0; border:0; color:var(--bar-text); background:transparent; font:inherit; cursor:pointer; -webkit-tap-highlight-color:transparent; transition:background .14s ease; }
    #nexoraFloat.is-mini .secretary-bar-row button:focus-visible { outline:2px solid var(--bar-accent); outline-offset:2px; }
    #nexoraFloat.is-mini .secretary-bar-row .secretary-mini-avatar { width:38px; height:38px; border-radius:50%; }
    #nexoraFloat.is-mini .secretary-mini-avatar img { width:38px; height:38px; -webkit-user-drag:none; }
    #nexoraFloat.is-mini .secretary-bar-row .secretary-bar-mode { display:flex; align-items:center; gap:6px; padding:9px 10px; border-radius:10px; color:var(--bar-accent); background:var(--bar-hover); font-size:12px; font-weight:650; white-space:nowrap; }
    #nexoraFloat.is-mini .secretary-bar-row .secretary-bar-mode:active { background:color-mix(in srgb,var(--bar-accent) 17%,var(--bar-surface)); }
    #nexoraFloat.is-mini .secretary-bar-mode svg { width:15px; height:15px; flex:none; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
    #nexoraFloat.is-mini .secretary-bar-mode-transfer, #nexoraFloat.is-mini .secretary-bar-mode[aria-pressed="true"] .secretary-bar-mode-mic { display:none; }
    #nexoraFloat.is-mini .secretary-bar-mode[aria-pressed="true"] .secretary-bar-mode-transfer { display:block; }
    #nexoraFloat.is-mini .secretary-bar-mode-kind { margin-left:-1px; padding:1px 5px; border-radius:6px; color:var(--bar-muted); background:var(--bar-surface); font-size:10px; font-weight:500; line-height:1.4; }
    #nexoraFloat.is-mini .secretary-bar-mode-kind[hidden] { display:none; }
    #nexoraFloat.is-mini .secretary-bar-row .secretary-bar-target { flex:1 1 auto; min-width:0; display:grid; justify-items:stretch; gap:4px; padding:5px 7px; border-radius:8px; text-align:left; }
    #nexoraFloat.is-mini .secretary-bar-row .secretary-bar-target:active, #nexoraFloat.is-mini .secretary-bar-target[aria-expanded="true"] { background:var(--bar-hover); }
    #nexoraFloat.is-mini .secretary-bar-target > :is(b,small) { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; overflow-wrap:normal; }
    #nexoraFloat.is-mini .secretary-bar-target > b { font-size:14px; font-weight:650; }
    #nexoraFloat.is-mini .secretary-bar-target > small { color:var(--bar-muted); font-size:11px; }
    #nexoraFloat.is-mini .secretary-bar-target .secretary-account-name { overflow-wrap:normal; }
    #nexoraFloat.is-mini .secretary-bar-row .secretary-mini-mic { width:40px; height:40px; display:grid; place-items:center; border-radius:50%; color:var(--bar-accent); background:var(--bar-hover); animation:none; }
    #nexoraFloat.is-mini .secretary-bar-row .secretary-mini-mic[hidden] { display:none; }
    #nexoraFloat.is-mini .secretary-mini-mic svg { display:none; width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
    #nexoraFloat.is-mini .secretary-mini-mic[data-action="mic"] .secretary-bar-icon-mic, #nexoraFloat.is-mini .secretary-mini-mic[data-action="stop"] .secretary-bar-icon-stop, #nexoraFloat.is-mini .secretary-mini-mic[data-action="send"] .secretary-bar-icon-send { display:block; }
    #nexoraFloat.is-mini .secretary-bar-icon-stop rect { fill:currentColor; stroke:none; }
    #nexoraFloat.is-mini .secretary-bar-row .secretary-mini-mic[data-action="stop"] { color:#fff; background:#c4561f; }
    #nexoraFloat.is-mini .secretary-bar-row .secretary-mini-mic[data-action="send"] { color:var(--bar-surface); background:var(--bar-accent); }
    #nexoraFloat.is-mini .secretary-bar-row .secretary-mini-mic[data-recording="true"] { animation:secretary-mini-ring 1.1s ease-out infinite; }
    #nexoraFloat.is-mini .secretary-bar-row .secretary-mini-mic:disabled { opacity:.55; cursor:default; }
    /* Under the row: the words (实时注入: what was heard, light and slightly
       see-through; 手动注入: the editable text) and one status line. */
    #nexoraFloat.is-mini .secretary-bar-speech { display:grid; gap:4px; margin:0 10px 10px; padding:8px 10px; border-radius:10px; background:color-mix(in srgb,var(--bar-hover) 62%,transparent); }
    #nexoraFloat.is-mini .secretary-bar-speech[hidden] { display:none; }
    #nexoraFloat.is-mini #secretaryBarEditor { display:block; width:100%; height:21px; max-height:88px; margin:0; padding:0; border:0!important; border-radius:0; outline:0; resize:none; overflow-y:auto; box-sizing:border-box; color:var(--bar-text)!important; background:transparent!important; box-shadow:none!important; font:400 14px/1.5 "Microsoft YaHei UI","Segoe UI",sans-serif; }
    #nexoraFloat.is-mini #secretaryBarEditor[hidden] { display:none; }
    #nexoraFloat.is-mini #secretaryBarEditor::placeholder { color:var(--bar-muted); opacity:.85; }
    #nexoraFloat.is-mini .secretary-bar-live { max-height:88px; margin:0; overflow-y:auto; color:var(--bar-text); opacity:.6; font-size:14px; line-height:1.5; white-space:pre-wrap; overflow-wrap:anywhere; }
    #nexoraFloat.is-mini .secretary-bar-status { color:var(--bar-muted); font-size:11px; line-height:1.4; }
    #nexoraFloat.is-mini .secretary-bar-status.is-error { color:var(--bar-danger); }
    #nexoraFloat.is-mini :is(.secretary-bar-live,.secretary-bar-status):empty { display:none; }
    /* 快捷互传 grows the bar downward into the transfer panel, as on Windows. */
    #secretaryBarDrawer > .quick-transfer-panel { max-height:var(--secretary-bar-drawer-max,360px); gap:8px; padding:12px; border-top:1px solid var(--bar-line); overflow-y:auto; overscroll-behavior:contain; color:var(--bar-text); }
    #secretaryBarDrawer > .quick-transfer-panel .qt-target, #secretaryBarDrawer > .quick-transfer-panel > small, #secretaryBarDrawer .qt-notice:empty { display:none; }
    #secretaryBarDrawer .qt-drop { padding:16px 8px; border-color:var(--bar-line); border-radius:12px; color:var(--bar-text); background:var(--bar-surface); font-size:12px; }
    #secretaryBarDrawer .qt-drop:active { background:var(--bar-hover); }
    #secretaryBarDrawer .qt-file { padding:8px; font-size:11px; }
    #secretaryBarDrawer .qt-thumbnail { width:36px; height:36px; }
    #secretaryBarDrawer .qt-list > .empty { margin:6px 0; color:var(--bar-muted); text-align:center; }
    /* The device dropdown: a short list right under the device name. */
    #nexoraFloat.is-mini .secretary-bar-devices { display:grid; gap:2px; max-height:226px; margin:-4px 10px 10px var(--bar-devices-left,10px); padding:4px; border:1px solid var(--bar-line); border-radius:10px; overflow-y:auto; overscroll-behavior:contain; background:var(--bar-surface); box-shadow:0 6px 16px rgba(0,0,0,.14); }
    #nexoraFloat.is-mini .secretary-bar-devices[hidden] { display:none; }
    #nexoraFloat.is-mini .secretary-bar-devices > button { display:grid; gap:2px; min-height:42px; margin:0; padding:5px 8px; border:0; border-radius:8px; color:var(--bar-text); background:transparent; text-align:left; font:inherit; cursor:pointer; -webkit-tap-highlight-color:transparent; }
    #nexoraFloat.is-mini .secretary-bar-devices > button:active, #nexoraFloat.is-mini .secretary-bar-devices > button[aria-selected="true"] { background:var(--bar-hover); }
    #nexoraFloat.is-mini .secretary-bar-devices > button > :is(b,small) { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; overflow-wrap:normal; }
    #nexoraFloat.is-mini .secretary-bar-devices > button > b { font-size:13px; font-weight:650; }
    #nexoraFloat.is-mini .secretary-bar-devices > button > small { color:var(--bar-muted); font-size:11px; }
    #nexoraFloat.is-mini .secretary-bar-devices-note { margin:0; padding:8px; color:var(--bar-muted); font-size:12px; }
    /* The 语音输入 page's 缩小, right under 选择设备 (phone floating secretary). */
    #nexoraQuickVoiceDialog .quick-transfer-header > #chooseNexoraQuickDevice { grid-column:3; grid-row:1; }
    #nexoraQuickVoiceDialog .quick-transfer-header > #minimizeNexoraQuickVoice { grid-column:3; grid-row:2; justify-self:stretch; margin:0!important; padding:4px 9px; border:1px solid var(--border); border-radius:9px; color:var(--text); background:var(--raised); font-size:11px; white-space:nowrap; cursor:pointer; }
    #nexoraQuickVoiceDialog .quick-transfer-header > #minimizeNexoraQuickVoice[hidden] { display:none; }
    #nexoraQuickVoiceDialog .quick-transfer-header:has(> #minimizeNexoraQuickVoice:not([hidden])) .secretary-voice-target { grid-column:2; }
