    .chat-account-btn{position:relative;display:inline-flex;align-items:center;min-height:38px;border:1px solid var(--line);border-radius:999px;padding:0 12px;color:inherit;font-size:12px;text-decoration:none}.chat-account-btn[hidden]{display:none}.chat-account-btn span{position:absolute;top:-7px;right:-7px;min-width:19px;border-radius:999px;padding:2px 5px;background:#dc2626;color:#fff;font-size:9px;text-align:center}.chat-account-btn span[hidden]{display:none}
    :root {
      color-scheme: dark;
      --bg: #090b11;
      --panel: rgba(0, 0, 0, 0.40);
      --panel-soft: rgba(255, 255, 255, 0.045);
      --line: rgba(255, 255, 255, 0.10);
      --line-2: rgba(255, 255, 255, 0.14);
      --text: #ffffff;
      --text-soft: rgba(255, 255, 255, 0.62);
      --accent: #f3c45f;
      --accent-2: #ec8b38;
      --danger: #ef4444;
      --ok: #10b981;
      --radius: 0px;
      --line-gutter-width: 34px;
      --grid-dot: rgba(243, 196, 95, 0.14);
      --toolbar-bg: rgba(17, 21, 29, 0.85);
      --menu-bg: rgba(15, 18, 26, 0.96);
      --menu-hover: rgba(255, 255, 255, 0.08);
      --field-track: rgba(255, 255, 255, 0.06);
      --field-thumb: rgba(255, 255, 255, 0.28);
      --overlay: rgba(0, 0, 0, 0.62);
      --alert-bg: #11151d;
    }
    html[data-theme="light"] {
      color-scheme: light;
      --bg: #f4eee4;
      --panel: rgba(255, 255, 255, 0.82);
      --panel-soft: rgba(120, 84, 33, 0.06);
      --line: rgba(88, 66, 26, 0.12);
      --line-2: rgba(88, 66, 26, 0.18);
      --text: #1d160d;
      --text-soft: rgba(29, 22, 13, 0.64);
      --accent: #d49327;
      --accent-2: #b46b18;
      --danger: #c62828;
      --ok: #138a63;
      --grid-dot: rgba(180, 107, 24, 0.16);
      --toolbar-bg: rgba(255, 251, 245, 0.92);
      --menu-bg: rgba(255, 251, 245, 0.98);
      --menu-hover: rgba(180, 107, 24, 0.08);
      --field-track: rgba(67, 46, 16, 0.06);
      --field-thumb: rgba(67, 46, 16, 0.24);
      --overlay: rgba(90, 72, 47, 0.22);
      --alert-bg: #fffaf2;
    }
    * { box-sizing: border-box; }
    body.workbench-booting .container { visibility: hidden; }
    body {
      margin: 0;
      color: var(--text);
      font-family: "Plus Jakarta Sans", "Noto Sans SC", "Microsoft YaHei", sans-serif;
      background:
        radial-gradient(circle at top left, rgba(243, 196, 95, 0.11), transparent 28%),
        radial-gradient(circle at top right, rgba(236, 139, 56, 0.08), transparent 24%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.02), transparent 22%),
        var(--bg);
      min-height: 100vh;
      overflow: hidden;
    }
    html[data-theme="light"] body {
      background:
        radial-gradient(circle at top left, rgba(243, 196, 95, 0.18), transparent 30%),
        radial-gradient(circle at top right, rgba(236, 139, 56, 0.10), transparent 24%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.78), rgba(244, 238, 228, 0.94)),
        var(--bg);
    }
    .container {
      width: 100vw;
      height: 100vh;
      margin: 0;
      padding: 12px;
      display: flex;
      flex-direction: column;
      gap: 12px;
    }
    .topbar {
      display: flex;
      align-items: center;
      justify-content: space-between;
      position: relative;
      z-index: 80;
      gap: 12px;
      padding: 12px 14px;
      border: 1px solid var(--line);
      border-radius: 28px;
      background: var(--toolbar-bg);
      box-shadow: 0 18px 70px rgba(0, 0, 0, 0.28);
      backdrop-filter: blur(20px);
    }
    .brand {
      display: flex;
      flex-wrap: nowrap;
      align-items: center;
      gap: 16px;
      min-width: 0;
    }
    .xhalo-global-brand {
      display: block;
      flex: 0 0 40px;
      width: 40px;
      height: 40px;
      border-radius: 8px;
      transition: opacity 180ms ease;
    }
    .xhalo-global-brand:hover { opacity: .84; }
    .xhalo-global-brand:focus-visible {
      outline: 2px solid var(--accent);
      outline-offset: 4px;
    }
    .xhalo-global-brand img {
      display: block;
      width: 40px;
      height: 40px;
    }
    .brand-copy {
      flex: 1 1 auto;
      min-width: 0;
      padding-left: 16px;
      border-left: 1px solid var(--line);
    }
    .brand h1 {
      margin: 0;
      font-size: 20px;
      letter-spacing: 0.01em;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .brand p {
      margin: 4px 0 0;
      color: var(--text-soft);
      font-size: 13px;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .toolbar { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
    .brand,
    .toolbar,
    .workspace-main,
    .panel-surface,
    .docs-stack,
    .docs-grid,
    .doc-card,
    .doc-kpi,
    .quota-kpi-card {
      min-width: 0;
    }
    .user-menu { position: relative; z-index: 120; }
    .user-menu[hidden] { display: none !important; }
    .locale-menu { position: relative; z-index: 180; }
    .lang-toggle {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      min-height: 38px;
      padding: 0 14px;
      border: 1px solid rgba(255,255,255,.16);
      border-radius: 999px;
      color: var(--text);
      background: rgba(255,255,255,.08);
      font-weight: 800;
      cursor: pointer;
      backdrop-filter: blur(18px);
    }
    .theme-toggle-btn {
      justify-content: center;
      min-width: 38px;
      padding: 0;
      font-size: 18px;
      line-height: 1;
    }
    .locale-dropdown {
      position: absolute;
      right: 0;
      top: calc(100% + 8px);
      z-index: 200;
      width: max-content;
      min-width: 156px;
      padding: 8px;
      border: 1px solid rgba(255,255,255,.13);
      border-radius: 16px;
      background: var(--menu-bg);
      box-shadow: 0 22px 70px rgba(0,0,0,.42);
      backdrop-filter: blur(18px);
    }
    .locale-dropdown[hidden] { display: none; }
    .locale-option {
      display: flex;
      align-items: center;
      width: 100%;
      min-height: 36px;
      padding: 0 12px;
      border-radius: 11px;
      color: var(--text);
      text-decoration: none;
      font-size: 13px;
      font-weight: 800;
      white-space: nowrap;
    }
    .locale-option:hover,
    .locale-option.is-active {
      background: var(--menu-hover);
      color: #f6d992;
    }
    .avatar-btn {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      border: 1px solid var(--line-2);
      border-radius: 999px;
      background: rgba(255,255,255,.06);
      color: var(--text);
      padding: 4px 10px 4px 4px;
      cursor: pointer;
    }
    .avatar-fallback {
      width: 32px;
      height: 32px;
      border-radius: 999px;
      border: 1px solid rgba(255,255,255,.16);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      background: linear-gradient(135deg, rgba(243,196,95,.26), rgba(236,139,56,.14));
      color: #ffe9b8;
      font-size: 12px;
      font-weight: 800;
      overflow: hidden;
    }
    .user-dropdown {
      position: absolute;
      top: calc(100% + 8px);
      right: 0;
      z-index: 200;
      width: 240px;
      border: 1px solid var(--line);
      border-radius: 18px;
      background: var(--menu-bg);
      box-shadow: 0 22px 70px rgba(0,0,0,.38);
      padding: 10px;
      backdrop-filter: blur(18px);
    }
    .user-dropdown[hidden] { display: none; }
    .locale-caret { color: var(--text-soft); font-size: 11px; }
    .user-meta { padding: 8px 8px 10px; border-bottom: 1px solid var(--line); margin-bottom: 8px; }
    .user-meta strong, .user-meta span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .user-meta span { margin-top: 3px; color: var(--text-soft); font-size: 12px; }
    .menu-item {
      width: 100%;
      border: 0;
      border-radius: 12px;
      background: transparent;
      color: var(--text);
      cursor: pointer;
      padding: 9px 10px;
      text-align: left;
      font-size: 13px;
    }
    .menu-item:hover { background: var(--menu-hover); }
    .user-dropdown > .menu-item {
      display: flex;
      align-items: center;
      gap: 9px;
    }
    .user-dropdown .menu-item-icon {
      width: 17px;
      height: 17px;
      flex: 0 0 17px;
      color: var(--text-soft);
    }
    .user-dropdown > .menu-item:hover .menu-item-icon { color: var(--text); }
    .btn {
      border: 1px solid var(--line-2);
      background: rgba(255, 255, 255, 0.06);
      color: var(--text);
      border-radius: 10px;
      min-height: 36px;
      padding: 0 12px;
      font-size: 13px;
      cursor: pointer;
      transition: 180ms ease;
    }
    .btn[hidden],
    .alert-celebrate-icon[hidden] {
      display: none !important;
    }
    .btn:hover { border-color: rgba(255, 255, 255, 0.28); background: rgba(255, 255, 255, 0.10); }
    .btn.primary {
      border-color: rgba(243, 196, 95, 0.55);
      background: linear-gradient(120deg, var(--accent), var(--accent-2));
      color: #1f1302;
      font-weight: 700;
    }
    .btn.danger {
      border-color: #7f1d1d;
      color: #fecaca;
      background: #3f1616;
    }
    .btn.success {
      border-color: rgba(16, 185, 129, 0.55);
      color: #d1fae5;
      background: rgba(6, 78, 59, 0.9);
    }
    .layout {
      display: grid;
      grid-template-columns: 132px 430px minmax(480px, 1fr) minmax(360px, 430px);
      gap: 12px;
      min-height: 0;
      flex: 1;
    }
    .layout.without-task-card {
      grid-template-columns: 132px minmax(0, 1fr);
    }
    .layout.without-task-card .workspace-main {
      grid-column: 2;
    }
    .layout.task-panel-collapsed {
      grid-template-columns: 132px minmax(0, 1fr) 56px;
    }
    .layout.task-panel-collapsed .workspace-main {
      grid-column: 2;
    }
    .card {
      position: relative;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: var(--panel);
      padding: 14px;
      box-shadow: 0 20px 80px rgba(0, 0, 0, 0.26);
      backdrop-filter: blur(20px);
      min-width: 0;
      min-height: 0;
    }
    .card.select-layer {
      z-index: 430;
    }
    .card h2 {
      margin: 0 0 10px;
      font-size: 15px;
      letter-spacing: 0.01em;
    }
    .tabbar {
      display: flex;
      flex-direction: column;
      width: 100%;
      border: 1px solid var(--line-2);
      border-radius: 18px;
      background: rgba(255, 255, 255, 0.04);
      padding: 6px;
      gap: 4px;
    }
    .tab {
      border: 0;
      background: transparent;
      color: var(--text-soft);
      border-radius: 8px;
      padding: 10px 12px;
      cursor: pointer;
      font-size: 13px;
      text-align: left;
      width: 100%;
    }
    .tab.active {
      color: var(--text);
      background: rgba(255, 255, 255, 0.11);
    }
    .mini-tabs {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin: 10px 0;
    }
    .mini-tab {
      border: 1px solid var(--line-2);
      background: rgba(255, 255, 255, 0.04);
      color: var(--text-soft);
      border-radius: 999px;
      padding: 8px 13px;
      cursor: pointer;
      font-size: 12px;
      font-weight: 700;
    }
    .mini-tab.active {
      border-color: rgba(243, 196, 95, 0.5);
      background: rgba(243, 196, 95, 0.14);
      color: var(--accent);
    }
    .script-pane { display: none; }
    .script-pane.active { display: block; }
    .panel { display: none; }
    .panel.active { display: block; }
    .sidebar-card {
      display: flex;
      flex-direction: column;
      gap: 12px;
      padding: 10px;
      overflow: auto;
    }
    .sidebar-quota-card {
      margin-top: auto;
      width: 100%;
      border: 1px solid rgba(243, 196, 95, 0.2);
      background: linear-gradient(180deg, rgba(243,196,95,.12), rgba(255,255,255,.04));
      color: var(--text);
      padding: 12px;
      display: grid;
      gap: 10px;
      text-align: left;
      cursor: pointer;
      box-shadow: 0 10px 34px rgba(0,0,0,.18);
    }
    .sidebar-quota-card:hover,
    .sidebar-quota-card:focus-visible {
      border-color: rgba(243, 196, 95, 0.46);
      box-shadow: 0 12px 42px rgba(243,196,95,.12);
    }
    .sidebar-quota-head {
      display: grid;
      gap: 4px;
    }
    .sidebar-quota-head strong {
      font-size: 13px;
      color: #ffe7ae;
    }
    .sidebar-quota-head span {
      color: var(--text-soft);
      font-size: 11px;
      text-transform: uppercase;
      letter-spacing: .04em;
    }
    .sidebar-quota-list {
      display: grid;
      gap: 8px;
    }
    .sidebar-quota-row {
      display: grid;
      gap: 4px;
      font-size: 12px;
    }
    .sidebar-quota-row span {
      color: var(--text-soft);
    }
    .sidebar-quota-row strong {
      color: #fff4cf;
      font-size: 12px;
      text-align: left;
      font-variant-numeric: tabular-nums;
    }
    .sidebar-upgrade-pill {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 100%;
      min-height: 34px;
      padding: 8px 12px;
      box-sizing: border-box;
      border: 1px solid rgba(243,196,95,.32);
      color: #fff4cf;
      background: rgba(243,196,95,.10);
      font-size: 12px;
      font-weight: 800;
      line-height: 1.2;
      text-align: center;
      white-space: normal;
      overflow-wrap: anywhere;
      word-break: break-word;
    }
    .workspace-main {
      grid-column: 2 / 4;
      padding: 0;
      border: 0;
      background: transparent;
      box-shadow: none;
      backdrop-filter: none;
      min-height: 0;
      overflow: visible;
    }
    #panelWorkspace.panel.active {
      display: grid;
      grid-template-columns: 430px minmax(480px, 1fr);
      gap: 12px;
      min-height: 0;
      height: 100%;
    }
    #panelWorkspace.panel.active.config-panel-collapsed {
      grid-template-columns: 56px minmax(0, 1fr);
    }
    #panelWorkspace.panel.active.is-compact {
      grid-template-columns: minmax(0, 1fr);
    }
    .workspace-config,
    .workspace-script,
    .panel-surface,
    .task-card {
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: var(--panel);
      padding: 14px;
      box-shadow: 0 20px 80px rgba(0, 0, 0, 0.26);
      backdrop-filter: blur(20px);
      min-width: 0;
      min-height: 0;
      overflow-x: hidden;
      overflow-y: auto;
    }
    .workspace-config,
    .task-card {
      display: flex;
      flex-direction: column;
      gap: 12px;
    }
    .workspace-config.is-collapsed,
    .task-card.is-collapsed {
      padding: 0;
      overflow: hidden;
    }
    .config-panel-toggle,
    .task-panel-toggle {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      width: 100%;
      min-height: 40px;
      border: 1px solid rgba(243, 196, 95, 0.24);
      background: linear-gradient(180deg, rgba(243,196,95,.12), rgba(255,255,255,.035));
      color: var(--text);
      padding: 0 12px;
      font-size: 12px;
      font-weight: 900;
      line-height: 1.2;
      text-align: left;
      cursor: pointer;
      transition: 160ms ease;
    }
    .config-panel-toggle:hover,
    .config-panel-toggle:focus-visible,
    .task-panel-toggle:hover,
    .task-panel-toggle:focus-visible {
      border-color: rgba(243, 196, 95, 0.52);
      box-shadow: 0 0 0 1px rgba(243, 196, 95, 0.12), 0 12px 34px rgba(0,0,0,.22);
    }
    .workspace-config.is-collapsed .config-panel-toggle,
    .task-card.is-collapsed .task-panel-toggle {
      height: 100%;
      min-height: 220px;
      justify-content: center;
      padding: 14px 8px;
      border: 0;
      writing-mode: vertical-rl;
      text-orientation: mixed;
    }
    .config-panel-toggle-icon::before,
    .task-panel-toggle-icon::before {
      content: "+";
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 20px;
      height: 20px;
      border: 1px solid rgba(255,255,255,.18);
      background: rgba(255,255,255,.06);
      color: #ffe0a3;
      font-size: 14px;
      line-height: 1;
    }
    .workspace-config.is-open .config-panel-toggle-icon::before,
    .task-card.is-open .task-panel-toggle-icon::before {
      content: "-";
    }
    .config-panel-body,
    .task-panel-body {
      min-height: 0;
    }
    .config-panel-body[hidden],
    .task-panel-body[hidden] {
      display: none !important;
    }
    .workspace-config {
      width: 430px;
      min-width: 430px;
      max-width: 430px;
      justify-self: start;
    }
    .workspace-config.is-collapsed {
      width: 56px;
      min-width: 56px;
      max-width: 56px;
    }
    .workspace-config .voice-panel {
      grid-template-columns: 1fr;
    }
    .workspace-config .top-control-grid,
    .workspace-config .grid {
      grid-template-columns: 1fr;
    }
    .workspace-script {
      display: flex;
      flex-direction: column;
    }
    .workspace-script.is-compact .mini-tabs,
    .workspace-script.is-compact #jobState,
    .workspace-script.is-compact #aiOptimizedWrap,
    .workspace-script.is-compact #scriptJsonPane {
      display: none !important;
    }
    .workspace-script.is-compact .raw-script-grid.active {
      grid-template-columns: minmax(0, 1fr);
    }
    .workspace-script.is-compact .ai-optimized-wrap {
      min-height: 0;
    }
    .workspace-script:not(.has-ai-output):not(.is-ai-processing) #aiOptimizedWrap {
      display: none !important;
    }
    .workspace-script:not(.has-ai-output):not(.is-ai-processing) .raw-script-grid.active {
      grid-template-columns: minmax(0, 1fr);
    }
    .workspace-script .script-pane.active {
      display: flex;
      flex-direction: column;
      flex: 1;
      min-height: 0;
      width: 100%;
    }
    .workspace-script .raw-script-grid.active {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
      gap: 10px;
      flex: 1;
      min-height: 0;
      width: 100%;
      overflow: hidden;
    }
    .ai-optimized-wrap {
      position: relative;
      display: flex;
      min-width: 0;
      min-height: 0;
      flex-direction: column;
      overflow: hidden;
    }
    .script-field-head {
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      gap: 10px;
    }
    .script-char-count {
      flex: 0 0 auto;
      color: var(--text-soft);
      font-size: 12px;
      font-weight: 700;
      white-space: nowrap;
    }
    .line-number-editor,
    .line-number-viewer {
      display: grid;
      grid-template-columns: var(--line-gutter-width, 34px) minmax(0, 1fr);
      min-width: 0;
      min-height: 0;
      flex: 1 1 0;
      border: 1px solid var(--line-2);
      background: var(--panel-soft);
      overflow: hidden;
    }
    .line-number-editor:hover,
    .line-number-editor:focus-within,
    .line-number-viewer:hover,
    .line-number-viewer:focus-within {
      border-color: rgba(243, 196, 95, 0.34);
    }
    .line-number-gutter {
      overflow: hidden;
      padding: 10px 8px 10px 0;
      border-right: 1px solid var(--line);
      background: var(--field-track);
      color: var(--text-soft);
      text-align: right;
      user-select: none;
      white-space: pre;
      font: 12px/1.7 Consolas, "SFMono-Regular", Menlo, monospace;
      font-variant-numeric: tabular-nums;
    }
    .line-number-gutter span {
      display: block;
      min-height: 1.7em;
      line-height: 1.7;
    }
    .workspace-script textarea {
      flex: 1 1 0;
      width: 100%;
      min-height: 0;
      overflow-y: auto;
      resize: none;
      scrollbar-width: thin;
      scrollbar-color: rgba(255, 255, 255, 0.34) rgba(255, 255, 255, 0.08);
    }
    .workspace-script textarea::-webkit-scrollbar { display: block; width: 8px; height: 8px; }
    .workspace-script textarea::-webkit-scrollbar-track { background: var(--field-track); }
    .workspace-script textarea::-webkit-scrollbar-thumb { background: var(--field-thumb); border-radius: 999px; }
    .line-number-editor textarea,
    .line-number-viewer pre {
      border: 0;
      border-radius: 0;
      background: transparent;
      margin: 0;
      padding-left: 12px;
    }
    #scriptInput {
      background-image:
        radial-gradient(circle at 1px 1px, var(--grid-dot) 1.1px, transparent 0),
        linear-gradient(180deg, transparent, transparent);
      background-size: 18px 18px, auto;
      background-position: 0 0, 0 0;
      background-color: transparent;
    }
    #aiOptimizedInput,
    #scriptJsonInput {
      overflow-y: auto;
      resize: none;
    }
    @media (min-width: 721px) {
      .workspace-script.is-compact .script-pane.active,
      .workspace-script.is-compact .raw-script-grid.active {
        flex: 1 1 auto;
        min-height: 0;
      }
      .workspace-script.is-compact .line-number-editor {
        flex: 1 1 auto;
        min-height: 360px;
      }
    }
    .ai-optimized-wrap.ai-loading textarea {
      border-color: rgba(250, 204, 21, 0.84);
      overflow-y: hidden;
      animation: aiBorderCycle 1.25s linear infinite;
    }
    .ai-optimized-wrap.ai-loading textarea::-webkit-scrollbar { display: none; }
    .ai-optimized-wrap.ai-loading::after {
      content: attr(data-loading-text);
      position: absolute;
      left: 50%;
      top: 52%;
      transform: translate(-50%, -50%);
      z-index: 5;
      max-width: min(82%, 340px);
      padding: 14px 18px;
      border: 1px solid rgba(243, 196, 95, 0.35);
      background: rgba(0, 0, 0, 0.72);
      color: #ffe4a3;
      text-align: center;
      font-weight: 700;
      box-shadow: 0 18px 60px rgba(0, 0, 0, 0.42);
      backdrop-filter: blur(12px);
      pointer-events: none;
    }
    .ai-process-row {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      margin-bottom: 6px;
    }
    .ai-process-btn {
      flex: 0 0 auto;
      width: auto;
      min-width: 108px;
      min-height: 44px;
      height: 44px;
      padding: 0 12px;
      font-size: 12px;
      line-height: 1.15;
      white-space: nowrap;
      writing-mode: horizontal-tb;
      border-color: rgba(243, 196, 95, 0.72);
      color: #f6d992;
      background: rgba(243, 196, 95, 0.11);
      position: relative;
      overflow: visible;
      animation: aiBorderCycle 2.4s linear infinite;
      box-shadow: 0 0 0 1px rgba(243, 196, 95, 0.18), 0 0 18px rgba(243, 196, 95, 0.12);
    }
    .ai-process-btn.effect-off {
      animation: none;
      border-color: rgba(243, 196, 95, 0.36);
      box-shadow: 0 0 0 1px rgba(243, 196, 95, 0.1);
    }
    .ai-process-btn.ai-burst::after {
      content: "";
      position: absolute;
      inset: -16px;
      pointer-events: none;
      background:
        radial-gradient(circle, #fff7ad 0 2px, transparent 3px),
        radial-gradient(circle, #f97316 0 2px, transparent 3px),
        radial-gradient(circle, #22d3ee 0 2px, transparent 3px),
        radial-gradient(circle, #fb7185 0 2px, transparent 3px);
      background-position: 15% 20%, 82% 25%, 30% 78%, 78% 72%;
      background-repeat: no-repeat;
      animation: aiFirework 680ms ease-out forwards;
    }
    .workspace-script .action-row {
      align-items: center;
      flex-wrap: nowrap;
    }
    .workspace-script .action-row #aiProcessBtn,
    .workspace-script .action-row #generateBtn,
    .workspace-script .action-row #jobState {
      flex: 0 0 auto;
    }
    .workspace-script .action-row #generateBtn,
    .workspace-script .action-row #jobState {
      min-height: 44px;
      height: 44px;
    }
    @keyframes aiBorderCycle {
      0% { border-color: #facc15; box-shadow: 0 0 16px rgba(250,204,21,.22); }
      33% { border-color: #fb7185; box-shadow: 0 0 16px rgba(251,113,133,.22); }
      66% { border-color: #22d3ee; box-shadow: 0 0 16px rgba(34,211,238,.22); }
      100% { border-color: #facc15; box-shadow: 0 0 16px rgba(250,204,21,.22); }
    }
    .btn.primary.generate-ready {
      position: relative;
      overflow: visible;
      animation: aiBorderCycle 2.4s linear infinite;
      box-shadow: 0 0 0 1px rgba(243, 196, 95, 0.22), 0 0 18px rgba(243, 196, 95, 0.16);
    }
    @keyframes aiFirework {
      from { transform: scale(.4); opacity: 1; filter: blur(0); }
      to { transform: scale(1.55); opacity: 0; filter: blur(1px); }
    }
    .burst {
      position: fixed;
      left: 0;
      top: 0;
      width: 8px;
      height: 8px;
      pointer-events: none;
      z-index: 900;
    }
    .spark {
      position: absolute;
      width: 7px;
      height: 7px;
      border-radius: 999px;
      background: #f3c45f;
      box-shadow: 0 0 18px rgba(243,196,95,.8);
      animation: explode 760ms cubic-bezier(.16,.9,.24,1) forwards;
    }
    @keyframes explode {
      to {
        transform: translate(var(--x), var(--y)) scale(.12);
        opacity: 0;
      }
    }
    .task-log-dock {
      position: fixed;
      right: 22px;
      bottom: 22px;
      z-index: 760;
      display: flex;
      flex-direction: column;
      align-items: flex-end;
      gap: 12px;
      pointer-events: none;
    }
    .task-log-dock[hidden] {
      display: none !important;
    }
    .task-log-btn,
    .task-log-panel {
      pointer-events: auto;
    }
    .task-log-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: auto;
      min-width: 88px;
      max-width: min(180px, calc(100vw - 44px));
      min-height: 42px;
      padding: 0 16px;
      border-radius: 16px;
      border: 2px solid rgba(243,196,95,.86);
      background: radial-gradient(circle at 30% 20%, rgba(255,238,166,.28), rgba(15,17,21,.96) 58%);
      color: var(--text);
      font-weight: 900;
      font-size: 12px;
      line-height: 1;
      letter-spacing: .02em;
      white-space: nowrap;
      box-shadow: 0 12px 34px rgba(0,0,0,.42), 0 0 0 1px rgba(255,255,255,.08);
      cursor: pointer;
      transition: 160ms ease;
    }
    .task-log-btn:hover {
      transform: translateY(-2px);
      box-shadow: 0 16px 42px rgba(0,0,0,.48), 0 0 20px rgba(243,196,95,.2);
    }
    .task-log-btn.log-running {
      animation: taskLogCycle 1.5s linear infinite;
    }
    .task-log-btn.log-success {
      border-color: #22c55e;
      box-shadow: 0 12px 34px rgba(0,0,0,.42), 0 0 22px rgba(34,197,94,.28);
    }
    .task-log-btn.log-failed {
      border-color: #ef4444;
      box-shadow: 0 12px 34px rgba(0,0,0,.42), 0 0 22px rgba(239,68,68,.32);
    }
    @keyframes taskLogCycle {
      0% { border-color: #facc15; box-shadow: 0 0 18px rgba(250,204,21,.28); }
      33% { border-color: #22d3ee; box-shadow: 0 0 18px rgba(34,211,238,.28); }
      66% { border-color: #fb7185; box-shadow: 0 0 18px rgba(251,113,133,.28); }
      100% { border-color: #facc15; box-shadow: 0 0 18px rgba(250,204,21,.28); }
    }
    .task-log-panel {
      width: min(520px, calc(100vw - 32px));
      max-height: min(620px, calc(100vh - 120px));
      display: flex;
      flex-direction: column;
      overflow: hidden;
      border: 1px solid var(--line);
      background: rgba(12,14,18,.96);
      box-shadow: 0 24px 70px rgba(0,0,0,.52);
    }
    .task-log-panel[hidden] {
      display: none;
    }
    .task-log-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      padding: 14px;
      border-bottom: 1px solid var(--line);
    }
    .task-log-head h3 {
      margin: 0;
      font-size: 17px;
    }
    .task-log-actions {
      display: flex;
      gap: 8px;
      flex: 0 0 auto;
    }
    .task-log-body {
      overflow: auto;
      padding: 12px 14px 14px;
    }
    .task-log-job {
      border: 1px solid var(--line);
      background: rgba(255,255,255,.035);
      padding: 12px;
      margin-bottom: 10px;
    }
    .task-log-job strong {
      display: block;
      font-size: 13px;
      overflow-wrap: anywhere;
    }
    .task-log-meta {
      margin-top: 4px;
      font-size: 12px;
      color: var(--text-soft);
    }
    .task-log-list {
      margin: 10px 0 0;
      padding: 0;
      list-style: none;
      display: grid;
      gap: 7px;
    }
    .task-log-entry {
      border-left: 3px solid var(--line-2);
      padding-left: 9px;
      color: var(--text-soft);
      font-size: 12px;
      line-height: 1.45;
    }
    .task-log-entry.done { border-left-color: #22c55e; color: #bbf7d0; }
    .task-log-entry.running { border-left-color: #facc15; color: #fde68a; }
    .task-log-entry.failed { border-left-color: #ef4444; color: #fecaca; }
    .task-log-entry.pending { border-left-color: var(--line-2); }
    .task-log-empty {
      min-height: 120px;
      display: grid;
      place-items: center;
      color: var(--text-soft);
      text-align: center;
    }
    .container .card,
    .container .topbar,
    .container .tabbar,
    .container .tab,
    .container input,
    .container textarea,
    .container select,
    .container .select-trigger,
    .container .select-menu,
    .container .select-option,
    .container .voice-role-card,
    .container .mini-tab,
    .container .status-pill,
    .container .audio-wrap,
    .container .notice,
    .container .btn,
    .container .progress-shell,
    .container .doc-card,
    .container .doc-chip,
    .container .doc-kpi,
    .container .voice-locale-card,
    .container .voice-card-item {
      border-radius: 0 !important;
    }
    .panel:not(#panelWorkspace).active {
      display: block;
    }
    .panel-surface {
      height: 100%;
    }
    #panelVoices > *,
    #panelFiles > *,
    #panelApi > *,
    #panelAgent > *,
    #panelGuide > * {
      width: min(100%, 1360px);
      margin-left: auto;
      margin-right: auto;
    }
    #panelRedeem > * {
      width: min(100%, 1280px);
      margin-left: auto;
      margin-right: auto;
    }
    #panelRedeem #redeemPlansSection {
      width: min(100%, 1280px);
      margin-left: auto;
      margin-right: auto;
    }
    .grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 10px;
    }
    label {
      display: block;
      margin-bottom: 6px;
      color: var(--text-soft);
      font-size: 12px;
      font-weight: 600;
    }
    input, textarea, select {
      width: 100%;
      max-width: 100%;
      min-width: 0;
      min-height: 44px;
      border: 1px solid var(--line-2);
      background: var(--panel-soft);
      color: var(--text);
      border-radius: 10px;
      padding: 9px 10px;
      outline: none;
      font-size: 13px;
    }
    textarea {
      font-family: Consolas, "SFMono-Regular", Menlo, monospace;
      line-height: 1.7;
    }
    select.enhanced-select {
      position: absolute;
      width: 1px;
      height: 1px;
      opacity: 0;
      pointer-events: none;
    }
    .select-root {
      position: relative;
      width: 100%;
      min-width: 0;
      max-width: 100%;
    }
    .select-root.open {
      z-index: 360;
    }
    .select-trigger {
      display: flex;
      width: 100%;
      min-width: 0;
      min-height: 40px;
      height: 44px;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      border: 1px solid var(--line-2);
      border-radius: 12px;
      background: rgba(255,255,255,.035);
      color: var(--text);
      padding: 9px 12px;
      font-size: 13px;
      text-align: left;
      cursor: pointer;
      transition: 160ms ease;
    }
    .select-trigger:hover, .select-root.open .select-trigger {
      border-color: rgba(243,196,95,.38);
      background: rgba(255,255,255,.065);
    }
    .select-value { display: block; flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .select-chevron { color: rgba(255,255,255,.58); font-size: 12px; }
    .select-menu {
      position: absolute;
      left: 0;
      right: auto;
      top: calc(100% + 8px);
      z-index: 150;
      min-width: 100%;
      width: 100%;
      max-width: 100%;
      max-height: 280px;
      overflow-x: hidden;
      overflow-y: auto;
      border: 1px solid var(--line);
      border-radius: 14px;
      background: #13161f;
      box-shadow: 0 18px 52px rgba(0,0,0,.48);
      padding: 6px;
    }
    .select-root.align-right .select-menu {
      left: auto;
      right: 0;
    }
    .select-menu[hidden] { display: none; }
    .select-option {
      display: flex;
      align-items: center;
      gap: 8px;
      width: 100%;
      border: 0;
      border-radius: 10px;
      background: transparent;
      color: rgba(255,255,255,.86);
      cursor: pointer;
      padding: 8px 9px;
      text-align: left;
      font-size: 13px;
    }
    .select-option span:last-child {
      min-width: 0;
      max-width: 100%;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .select-option:hover, .select-option.active { background: rgba(255,255,255,.09); color: #fff; }
    .select-check { width: 14px; color: var(--accent); }
    select {
      appearance: none;
      background-image:
        linear-gradient(45deg, transparent 50%, rgba(255,255,255,.72) 50%),
        linear-gradient(135deg, rgba(255,255,255,.72) 50%, transparent 50%),
        linear-gradient(90deg, rgba(255,255,255,.10), rgba(255,255,255,.10));
      background-position: calc(100% - 17px) 50%, calc(100% - 12px) 50%, calc(100% - 36px) 50%;
      background-size: 5px 5px, 5px 5px, 1px 60%;
      background-repeat: no-repeat;
      padding-right: 42px;
    }
    select:hover, input:hover, textarea:hover { border-color: rgba(243, 196, 95, 0.34); }
    input[type="range"] {
      height: 38px;
      padding: 0;
      accent-color: var(--accent);
      background: transparent;
      border: 0;
    }
    .range-row {
      display: grid;
      grid-template-columns: minmax(0, 1fr) 52px;
      gap: 8px;
      align-items: center;
    }
    .rate-field { grid-column: 1 / -1; }
    .range-value {
      border: 1px solid var(--line-2);
      border-radius: 10px;
      padding: 8px 6px;
      color: #f6d992;
      text-align: center;
      font-size: 12px;
      background: rgba(255,255,255,.04);
    }
    .voice-panel {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 12px;
      min-width: 0;
    }
    .top-control-grid {
      grid-template-columns: minmax(180px, 0.9fr) minmax(300px, 1.4fr);
    }
    .voice-role-card {
      border: 1px solid var(--line);
      border-radius: 18px;
      background: rgba(255, 255, 255, 0.035);
      padding: 12px;
      min-width: 0;
      max-width: 100%;
      position: relative;
      overflow: visible;
    }
    .voice-role-card:has(.select-root.open) {
      z-index: 340;
    }
    .voice-role-card[hidden] { display: none; }
    .voice-role-title {
      margin: 0 0 10px;
      color: #f6d992;
      font-size: 13px;
      font-weight: 800;
    }
    .role-grid {
      display: grid;
      grid-template-columns: 1fr;
      gap: 10px;
      margin-bottom: 10px;
      min-width: 0;
    }
    .grid > *, .role-grid > *, .voice-panel > *, .voice-catalog-filters > *, .row > * {
      min-width: 0;
    }
    textarea { min-height: 260px; resize: vertical; }
    .muted {
      color: var(--text-soft);
      font-size: 12px;
    }
    .field-hint {
      margin-top: 6px;
      color: var(--text-soft);
      font-size: 12px;
      line-height: 1.5;
    }
    .line {
      margin: 12px 0;
      border-top: 1px dashed var(--line-2);
    }
    .row { display: flex; gap: 8px; align-items: center; }
    .row > * { flex: 1; min-width: 0; }
    .row .fit { flex: 0 0 auto; }
    .upload-row {
      align-items: stretch;
    }
    #uploadName,
    #pickUploadBtn {
      min-height: 44px;
      height: 44px;
    }
    #pickUploadBtn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      white-space: nowrap;
    }
    .status-pill {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border: 1px solid var(--line-2);
      border-radius: 999px;
      min-height: 44px;
      padding: 0 12px;
      font-size: 12px;
      color: #ffe2b9;
      background: #2e1f0c;
      white-space: nowrap;
    }
    .progress-list {
      margin: 10px 0 0;
      padding-left: 18px;
      color: var(--text-soft);
      font-size: 13px;
      line-height: 1.7;
    }
    .progress-list li.done { color: var(--ok); }
    .progress-list li.running { color: #f59e0b; }
    .progress-list li.error { color: #fca5a5; }
    .progress-shell {
      margin-top: 10px;
      border: 1px solid rgba(243, 196, 95, 0.18);
      border-radius: 999px;
      background: rgba(243, 196, 95, 0.08);
      overflow: hidden;
      height: 10px;
    }
    .progress-bar {
      height: 100%;
      width: 0%;
      border-radius: inherit;
      background: linear-gradient(90deg, #facc15, #f59e0b);
      box-shadow: 0 0 22px rgba(250, 204, 21, 0.35);
      transition: width 240ms ease;
    }
    .history-table {
      width: 100%;
      border-collapse: collapse;
      font-size: 12px;
    }
    .history-table th, .history-table td {
      border-bottom: 1px solid var(--line);
      padding: 8px 6px;
      text-align: left;
      vertical-align: top;
      transition: border-color 180ms ease, background 180ms ease, box-shadow 180ms ease;
    }
    .history-table th { color: var(--text-soft); font-weight: 600; }
    .history-table .file-cell { width: auto; max-width: 160px; overflow-wrap: anywhere; }
    .history-table th.actions,
    .history-table td.actions { width: 1%; white-space: nowrap; text-align: right; vertical-align: middle; }
    .history-actions { display: inline-flex; gap: 4px; flex-wrap: nowrap; align-items: center; justify-content: flex-end; width: max-content; margin-left: auto; }
    .history-table tr.is-deleting td {
      background: rgba(127, 29, 29, 0.16);
      animation: deletingRowPulse 1.1s linear infinite;
    }
    .history-table tr.is-deleting td {
      box-shadow:
        inset 0 1px 0 rgba(239, 68, 68, 0.64),
        inset 0 -1px 0 rgba(239, 68, 68, 0.64);
    }
    .history-table tr.is-deleting td:first-child {
      box-shadow:
        inset 1px 0 0 rgba(239, 68, 68, 0.64),
        inset 0 1px 0 rgba(239, 68, 68, 0.64),
        inset 0 -1px 0 rgba(239, 68, 68, 0.64);
    }
    .history-table tr.is-deleting td:last-child {
      box-shadow:
        inset -1px 0 0 rgba(239, 68, 68, 0.64),
        inset 0 1px 0 rgba(239, 68, 68, 0.64),
        inset 0 -1px 0 rgba(239, 68, 68, 0.64);
    }
    .history-table tr.is-deleting .btn,
    .history-table tr.is-deleting .menu-item {
      pointer-events: none;
      opacity: 0.7;
    }
    .file-manager-table tr.is-deleting td {
      background: rgba(127, 29, 29, 0.16);
      animation: deletingRowPulse 1.1s linear infinite;
      box-shadow:
        inset 0 1px 0 rgba(239, 68, 68, 0.64),
        inset 0 -1px 0 rgba(239, 68, 68, 0.64);
    }
    .file-manager-table tr.is-deleting td:first-child {
      box-shadow:
        inset 1px 0 0 rgba(239, 68, 68, 0.64),
        inset 0 1px 0 rgba(239, 68, 68, 0.64),
        inset 0 -1px 0 rgba(239, 68, 68, 0.64);
    }
    .file-manager-table tr.is-deleting td:last-child {
      box-shadow:
        inset -1px 0 0 rgba(239, 68, 68, 0.64),
        inset 0 1px 0 rgba(239, 68, 68, 0.64),
        inset 0 -1px 0 rgba(239, 68, 68, 0.64);
    }
    .file-task-asset-entry.is-deleting {
      border-color: rgba(239, 68, 68, 0.64);
      box-shadow: inset 0 0 0 1px rgba(239, 68, 68, 0.5);
      background: rgba(127, 29, 29, 0.16);
      animation: deletingRowPulse 1.1s linear infinite;
    }
    .file-manager-table tr.is-deleting .btn,
    .file-manager-table tr.is-deleting a,
    .file-task-asset-entry.is-deleting .btn,
    .file-task-asset-entry.is-deleting a {
      pointer-events: none;
      opacity: 0.7;
    }
    @keyframes deletingRowPulse {
      0% {
        background: rgba(127, 29, 29, 0.11);
      }
      50% {
        background: rgba(127, 29, 29, 0.22);
      }
      100% {
        background: rgba(127, 29, 29, 0.11);
      }
    }
    .history-actions .btn {
      min-height: 30px;
      min-width: 0;
      padding: 0 6px;
      font-size: 11px;
      white-space: nowrap;
    }
    .history-actions a.btn {
      display: inline-flex;
      align-items: center;
      text-decoration: none;
    }
    .history-actions .download-btn {
      border-color: rgba(243, 196, 95, 0.6);
      background: rgba(243, 196, 95, 0.14);
      color: #facc15;
      text-decoration: none;
    }
    .history-menu {
      position: relative;
      display: inline-flex;
      align-items: center;
    }
    .history-menu summary {
      list-style: none;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      margin: 0;
    }
    .history-menu summary::-webkit-details-marker {
      display: none;
    }
    .history-menu-panel {
      position: absolute;
      right: 0;
      top: calc(100% + 6px);
      z-index: 220;
      width: 150px;
      padding: 10px;
      border: 1px solid var(--line);
      border-radius: 18px !important;
      background: rgba(10, 13, 18, .96);
      box-shadow: 0 22px 70px rgba(0,0,0,.38);
      backdrop-filter: blur(18px);
    }
    .history-menu-panel .btn {
      width: 100%;
      justify-content: center;
      margin: 0;
    }
    .history-menu-panel .menu-item {
      display: flex;
      align-items: center;
      justify-content: center;
      min-height: 36px;
      font-size: 12px;
      font-weight: 700;
      text-align: center;
      text-decoration: none;
      border: 1px solid rgba(255,255,255,.08);
      background: rgba(255,255,255,.03);
      color: var(--text);
      padding: 0 12px;
    }
    .history-menu-panel .menu-item.success {
      border-color: rgba(16, 185, 129, 0.55);
      background: rgba(6, 78, 59, 0.9);
      color: #d1fae5;
    }
    .history-menu-panel .menu-item.danger {
      border-color: #7f1d1d;
      background: #3f1616;
      color: #fecaca;
    }
    .history-menu-panel .menu-item + .menu-item {
      margin-top: 6px;
    }
    .history-menu-panel .menu-item:hover {
      background: rgba(255,255,255,.08);
      color: #fff;
    }
    .audio-wrap {
      border: 1px solid var(--line-2);
      border-radius: 10px;
      padding: 10px;
      background: rgba(255, 255, 255, 0.035);
      margin-top: 10px;
    }
    .audio-wrap audio { width: 100%; }
    .task-card {
      width: 100%;
      max-width: 430px;
      overflow-x: hidden;
      overflow-y: auto;
    }
    .workspace-config.panel-animate-in,
    .task-card.panel-animate-in,
    .task-log-dock.panel-animate-in,
    .task-log-panel.panel-animate-in {
      animation: panelFadeIn 220ms ease both;
    }
    @keyframes panelFadeIn {
      from {
        opacity: 0;
        transform: translateY(10px);
      }
      to {
        opacity: 1;
        transform: translateY(0);
      }
    }
    .task-card[hidden] { display: none; }
    .task-card .history-table {
      table-layout: auto;
    }
    .task-card .history-table th:nth-child(2),
    .task-card .history-table td:nth-child(2) {
      display: none;
    }
    .task-card .history-table th:nth-child(3),
    .task-card .history-table td:nth-child(3) {
      width: 58px;
    }
    .task-card .history-table .file-cell {
      max-width: 120px;
    }
    .history-view-all-btn {
      width: 100%;
      margin-top: 10px;
      justify-content: center;
    }
    .file-manager-filters {
      display: grid;
      grid-template-columns: minmax(150px, 1.4fr) repeat(3, minmax(110px, .7fr)) auto;
      gap: 8px;
      align-items: end;
    }
    .file-manager-filters > .btn {
      height: 44px;
      min-height: 44px;
    }
    .file-manager-table {
      width: 100%;
      table-layout: fixed;
    }
    .file-manager-table th,
    .file-manager-table td {
      overflow-wrap: anywhere;
    }
    .file-manager-table th:nth-child(1) { width: 16%; }
    .file-manager-table th:nth-child(2) { width: 20%; }
    .file-manager-table th:nth-child(3) { width: 11%; }
    .file-manager-table th:nth-child(4) { width: 31%; }
    .file-manager-table th:nth-child(5) { width: 22%; }
    .file-task-assets,
    .file-task-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
    }
    .file-task-assets {
      display: grid;
    }
    .file-task-summary {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 8px;
      min-width: 0;
      padding: 8px;
      border: 1px solid var(--line);
      background: rgba(255,255,255,.025);
    }
    .file-task-asset-entry {
      display: grid;
      gap: 6px;
      min-width: 0;
      padding: 7px;
      border: 1px solid var(--line);
      background: rgba(255,255,255,.025);
    }
    .file-task-asset {
      display: inline-flex;
      max-width: 100%;
      color: var(--text-soft);
      font-size: 11px;
      overflow-wrap: anywhere;
    }
    .file-task-actions .btn,
    .file-task-actions a {
      min-height: 28px;
      height: auto;
      padding: 4px 7px;
      font-size: 11px;
      text-decoration: none;
      white-space: normal;
    }
    .file-manager-pager {
      display: flex;
      gap: 8px;
      align-items: center;
      justify-content: flex-end;
      margin-top: 12px;
    }
    #alertMessage {
      max-height: min(58vh, 620px);
      overflow: auto;
      white-space: pre-wrap;
      overflow-wrap: anywhere;
    }
    .file-preview-card {
      width: min(60vw, 1100px);
      min-width: min(520px, 100%);
      max-width: calc(100vw - 36px);
    }
    .file-preview-head {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 12px;
    }
    .file-preview-head .btn {
      flex: 0 0 auto;
      white-space: nowrap;
    }
    .line-number-viewer[hidden] {
      display: none !important;
    }
    .line-number-viewer {
      max-height: min(68vh, 760px);
      overflow: hidden;
    }
    .line-number-viewer .line-number-gutter {
      max-height: inherit;
      overflow: hidden;
    }
    .file-preview-text {
      max-width: 100%;
      max-height: min(68vh, 760px);
      overflow: auto;
      white-space: pre;
      overflow-wrap: normal;
      word-break: normal;
      padding-top: 10px;
      padding-bottom: 10px;
      font: 13px/1.7 Consolas, "SFMono-Regular", Menlo, monospace;
    }
    .file-preview-audio {
      width: 100%;
      max-width: 100%;
      margin-top: 16px;
    }
    .empty-cell {
      text-align: center;
      vertical-align: middle !important;
      height: 150px;
      padding: 0 !important;
    }
    .empty-state {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 100%;
      min-height: 150px;
      text-align: center;
    }
    #redeemInput,
    #redeemBtn {
      height: 44px;
      min-height: 44px;
    }
    @media (max-width: 840px) {
      .file-manager-filters { grid-template-columns: 1fr 1fr; }
      .file-manager-table th:nth-child(1),
      .file-manager-table td:nth-child(1) { display: none; }
      .file-manager-table th:nth-child(2) { width: 24%; }
      .file-manager-table th:nth-child(3) { width: 16%; }
      .file-manager-table th:nth-child(4) { width: 34%; }
      .file-manager-table th:nth-child(5) { width: 26%; }
    }
    .notice {
      margin-top: 8px;
      padding: 8px 10px;
      border: 1px solid #7c2d12;
      border-radius: 10px;
      background: rgba(124, 45, 18, 0.24);
      color: #facc15;
      font-size: 12px;
      line-height: 1.5;
    }
    .danger-text { color: #fca5a5; }
    .ok-text { color: #86efac; }
    .alert-backdrop {
      position: fixed;
      inset: 0;
      z-index: 500;
      display: grid;
      place-items: center;
      padding: 18px;
      background: var(--overlay);
      backdrop-filter: blur(10px);
    }
    .alert-backdrop[hidden] { display: none; }
    .alert-card {
      width: min(420px, 100%);
      border: 1px solid var(--line-2);
      border-radius: 20px;
      background: var(--alert-bg);
      box-shadow: 0 30px 90px rgba(0, 0, 0, 0.52);
      padding: 18px;
    }
    .alert-card.success { border-color: rgba(16, 185, 129, 0.35); }
    .alert-card.error { border-color: rgba(239, 68, 68, 0.38); }
    .alert-card.trial {
      position: relative;
      width: min(760px, 100%);
      padding: 30px 28px 26px;
      border-color: rgba(243, 196, 95, 0.52);
      border-radius: 14px;
      background:
        radial-gradient(circle at 50% 28%, rgba(255, 211, 120, 0.18), transparent 52%),
        radial-gradient(circle at 76% 78%, rgba(255, 170, 80, 0.12), transparent 48%),
        linear-gradient(160deg, rgba(20,24,34,.98), rgba(8,10,16,.98));
      overflow: hidden;
      box-shadow:
        0 32px 92px rgba(0, 0, 0, 0.56),
        0 0 0 1px rgba(243, 196, 95, 0.18),
        inset 0 1px 0 rgba(255,255,255,.08);
      text-align: center;
    }
    .alert-card.trial::after {
      content: "";
      position: absolute;
      inset: -1px;
      pointer-events: none;
      border: 2px solid transparent;
      animation: aiBorderCyclePseudo 2.1s linear infinite;
    }
    .alert-celebrate-icon {
      width: 56px;
      height: 56px;
      margin: 0 auto 10px;
      display: grid;
      place-items: center;
      border-radius: 10px;
      border: 1px solid rgba(243, 196, 95, 0.34);
      background: rgba(243, 196, 95, 0.14);
      color: #ffe5a8;
      font-size: 30px;
      box-shadow: 0 0 20px rgba(243,196,95,.22);
    }
    .alert-card h3 { margin: 0; font-size: 16px; }
    .alert-card p { margin: 10px 0 0; color: var(--text-soft); font-size: 13px; line-height: 1.6; }
    .alert-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 16px; }
    .alert-card.trial h3 {
      text-align: center;
      font-size: 28px;
      line-height: 1.25;
      margin-top: 2px;
    }
    .alert-card.trial p {
      text-align: center;
      font-size: 20px;
      line-height: 1.55;
      color: #ffe6b8;
      max-width: 92%;
      margin-left: auto;
      margin-right: auto;
    }
    .alert-card.trial .alert-actions {
      justify-content: center;
      margin-top: 20px;
    }
    .alert-card.trial .btn.primary {
      min-width: 168px;
      min-height: 52px;
      font-size: 20px;
      font-weight: 900;
      box-shadow: 0 12px 36px rgba(243,196,95,.28);
    }
    .docs-stack {
      display: grid;
      gap: 12px;
      width: 100%;
    }
    .docs-grid {
      display: grid;
      grid-template-columns: minmax(0, 1fr);
      gap: 12px;
      width: 100%;
    }
    .doc-card {
      border: 1px solid var(--line);
      border-radius: 18px;
      background: rgba(255, 255, 255, 0.035);
      padding: 14px;
      width: 100%;
    }
    .doc-card h3 {
      margin: 0 0 8px;
      font-size: 14px;
      line-height: 1.45;
    }
    .doc-card p {
      margin: 0;
      color: var(--text-soft);
      font-size: 12px;
      line-height: 1.65;
    }
    .doc-row {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin: 10px 0 8px;
    }
    .doc-chip {
      display: inline-flex;
      align-items: center;
      border-radius: 999px;
      padding: 4px 10px;
      border: 1px solid var(--line-2);
      background: rgba(255,255,255,.05);
      color: var(--text);
      font-size: 11px;
      letter-spacing: .01em;
      max-width: 100%;
      overflow-wrap: anywhere;
    }
    .doc-chip.method {
      border-color: rgba(243, 196, 95, 0.35);
      background: rgba(243, 196, 95, 0.14);
      color: #ffe0a3;
      font-weight: 700;
    }
    .doc-chip.path {
      font-family: Consolas, "SFMono-Regular", Menlo, monospace;
    }
    .doc-list {
      margin: 10px 0 0;
      padding-left: 18px;
      color: var(--text-soft);
      font-size: 12px;
      line-height: 1.7;
    }
    .doc-list strong {
      color: var(--text);
    }
    .doc-code {
      margin: 10px 0 0;
      border: 1px solid var(--line);
      border-radius: 14px;
      background: rgba(3, 6, 10, 0.78);
      color: #f8e8bd;
      padding: 12px;
      font-size: 12px;
      line-height: 1.6;
      overflow: auto;
      white-space: pre-wrap;
      overflow-wrap: anywhere;
      word-break: break-word;
      font-family: Consolas, "SFMono-Regular", Menlo, monospace;
    }
    .doc-kpi-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 10px;
    }
    .doc-kpi {
      border: 1px solid var(--line);
      border-radius: 14px;
      background: rgba(255,255,255,.03);
      padding: 12px;
    }
    .doc-kpi strong {
      display: block;
      color: #f6d992;
      font-size: 18px;
      margin-top: 6px;
    }
    .doc-kpi span {
      color: var(--text-soft);
      font-size: 12px;
    }
    #quotaDetailPanel {
      margin-top: 12px;
      padding: 0;
      border: 0;
      background: transparent;
    }
    #quotaDetailTitle {
      display: block;
      margin-bottom: 10px;
      color: #f6d992;
      font-size: 15px;
    }
    .quota-kpi-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 10px;
    }
    .quota-kpi-card {
      border: 1px solid var(--line);
      background: rgba(255,255,255,.035);
      padding: 12px;
      min-width: 0;
    }
    .quota-kpi-card span {
      display: block;
      color: var(--text-soft);
      font-size: 12px;
      line-height: 1.5;
    }
    .quota-kpi-card strong {
      display: block;
      margin-top: 6px;
      color: #f6d992;
      font-size: 17px;
      line-height: 1.45;
      overflow-wrap: anywhere;
    }
    .pricing-section {
      margin-top: 18px;
      display: grid;
      gap: 14px;
    }
    .pricing-hero {
      display: grid;
      gap: 8px;
      justify-items: center;
      text-align: center;
      padding: 8px 0 2px;
    }
    .pricing-badge {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      min-height: 28px;
      padding: 0 14px;
      border: 1px solid rgba(243, 196, 95, 0.35);
      background: rgba(243, 196, 95, 0.15);
      color: #ffe8a8;
      font-size: 12px;
      font-weight: 800;
      letter-spacing: 0.02em;
    }
    .pricing-hero h3 {
      margin: 0;
      font-size: 28px;
      line-height: 1.18;
    }
    .pricing-hero p {
      margin: 0;
      color: var(--text-soft);
      font-size: 13px;
      line-height: 1.7;
      max-width: 760px;
    }
    .pricing-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 14px;
      align-items: stretch;
      justify-content: center;
    }
    .plan-card {
      position: relative;
      overflow: hidden;
      border-radius: 24px;
      border: 1px solid rgba(255,255,255,.08);
      background: linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.028));
      padding: 18px;
      display: flex;
      flex-direction: column;
      gap: 14px;
      isolation: isolate;
      min-height: 100%;
      transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
    }
    .plan-card::before {
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(115deg, transparent 0%, transparent 34%, rgba(255,255,255,.02) 44%, rgba(255,255,255,.22) 50%, rgba(255,255,255,.03) 56%, transparent 66%, transparent 100%);
      transform: translateX(-155%);
      opacity: 0;
      pointer-events: none;
    }
    .plan-card::after {
      content: "";
      position: absolute;
      inset: 0;
      pointer-events: none;
      border: 1.5px solid transparent;
      border-radius: inherit;
      box-sizing: border-box;
      opacity: 0;
    }
    .plan-card:hover {
      transform: translateY(-2px);
      box-shadow: 0 26px 80px rgba(0,0,0,.28);
    }
    .plan-card:hover::before {
      opacity: 1;
      animation: planSweep 2s linear infinite;
    }
    .plan-card:hover::after,
    .plan-card:focus-within::after,
    .plan-card.plan-current::after,
    .plan-card.plan-highlight::after {
      opacity: 1;
      animation: aiBorderCyclePseudo 2.4s linear infinite;
    }
    .plan-card.plan-highlight {
      box-shadow: 0 28px 90px rgba(243, 196, 95, 0.12);
      border-color: rgba(243, 196, 95, 0.18);
    }
    .plan-card-header {
      display: grid;
      gap: 6px;
      justify-items: center;
      text-align: center;
    }
    .plan-card-title-row {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 8px;
      width: 100%;
      text-align: center;
    }
    .plan-card.has-tag {
      padding-top: 48px;
    }
    .plan-card h4 {
      margin: 0;
      font-size: 16px;
      line-height: 1.2;
      text-align: center;
    }
    .plan-card p {
      margin: 0;
      color: var(--text-soft);
      font-size: 12px;
      line-height: 1.65;
      text-align: center;
    }
    .plan-tag {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 24px;
      padding: 0 10px;
      border: 1px solid rgba(243, 196, 95, 0.22);
      background: rgba(243, 196, 95, 0.12);
      color: #ffe3a1;
      font-size: 11px;
      font-weight: 700;
      white-space: nowrap;
      position: absolute;
      top: 12px;
      left: 50%;
      transform: translateX(-50%);
      text-align: center;
    }
    .plan-price {
      display: flex;
      align-items: baseline;
      gap: 4px;
      font-size: 42px;
      font-weight: 800;
      line-height: 1;
      color: #fff7e0;
    }
    .plan-price span:last-child {
      font-size: 15px;
      font-weight: 600;
      color: var(--text-soft);
    }
    .plan-features {
      margin: 0;
      padding: 0;
      list-style: none;
      display: grid;
      gap: 8px;
    }
    .plan-features li {
      display: grid;
      grid-template-columns: 16px minmax(0, 1fr);
      gap: 8px;
      align-items: start;
      font-size: 12px;
      line-height: 1.6;
    }
    .plan-features li::before {
      content: "✓";
      color: #f6d992;
      font-weight: 800;
    }
    .plan-action {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 48px;
      height: 48px;
      width: 100%;
      border: 1px solid rgba(243, 196, 95, 0.3);
      background: rgba(255,255,255,.02);
      color: #fff4cf;
      text-decoration: none;
      font-weight: 700;
      position: relative;
      overflow: visible;
      margin-top: auto;
      transition: background 180ms ease, color 180ms ease, border-color 180ms ease;
    }
    .plan-action:hover {
      background: rgba(243, 196, 95, 0.14);
      color: #fff;
      border-color: rgba(243, 196, 95, 0.62);
    }
    .plan-action[aria-disabled="true"] {
      pointer-events: none;
      opacity: 0.66;
      background: rgba(243, 196, 95, 0.12);
    }
    .plan-action.burst::after {
      content: "";
      position: absolute;
      inset: -16px;
      pointer-events: none;
      background:
        radial-gradient(circle, #fff7ad 0 2px, transparent 3px),
        radial-gradient(circle, #f97316 0 2px, transparent 3px),
        radial-gradient(circle, #22d3ee 0 2px, transparent 3px),
        radial-gradient(circle, #fb7185 0 2px, transparent 3px);
      background-position: 15% 20%, 82% 25%, 30% 78%, 78% 72%;
      background-repeat: no-repeat;
      animation: aiFirework 680ms ease-out forwards;
    }
    .pricing-compare {
      display: grid;
      gap: 12px;
      width: 100%;
    }
    .pricing-compare-title {
      margin: 0;
      font-size: 20px;
    }
    .pricing-compare-table {
      width: 100%;
      border-collapse: collapse;
      font-size: 12px;
      table-layout: fixed;
    }
    .pricing-compare-table th,
    .pricing-compare-table td {
      border: 1px solid var(--line);
      padding: 12px 10px;
      vertical-align: top;
      text-align: left;
      overflow-wrap: anywhere;
    }
    .pricing-compare-table th {
      color: #fff2c6;
      background: rgba(255,255,255,.03);
      font-size: 12px;
    }
    .pricing-compare-table td {
      color: var(--text-soft);
      line-height: 1.6;
    }
    .pricing-contact {
      display: grid;
      justify-items: center;
      gap: 10px;
      text-align: center;
      padding-top: 8px;
    }
    .pricing-contact p {
      margin: 0;
      color: var(--text-soft);
      font-size: 13px;
    }
    @keyframes planSweep {
      from { transform: translateX(-155%); }
      to { transform: translateX(155%); }
    }
    @keyframes aiBorderCyclePseudo {
      0% { border-color: #facc15; box-shadow: 0 0 16px rgba(250,204,21,.22); }
      33% { border-color: #fb7185; box-shadow: 0 0 16px rgba(251,113,133,.22); }
      66% { border-color: #22d3ee; box-shadow: 0 0 16px rgba(34,211,238,.22); }
      100% { border-color: #facc15; box-shadow: 0 0 16px rgba(250,204,21,.22); }
    }
    .doc-caption {
      color: var(--text-soft);
      font-size: 12px;
      line-height: 1.7;
    }
    #panelRedeem .history-table th,
    #panelRedeem .history-table td {
      text-align: center;
      vertical-align: middle;
    }
    #panelRedeem .history-table td:last-child {
      width: 1%;
      white-space: nowrap;
    }
    #panelRedeem .history-table td:last-child .btn {
      margin: 0 auto;
      display: inline-flex;
      align-items: center;
      justify-content: center;
    }
    .voice-catalog-filters {
      display: grid;
      grid-template-columns: minmax(260px, 1.5fr) minmax(140px, 0.75fr) minmax(170px, 0.9fr) minmax(190px, 1fr);
      gap: 10px;
      margin-top: 12px;
    }
    .voice-filter-search-row {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 8px;
      align-items: stretch;
    }
    .voice-filter-search-row .btn {
      min-height: 44px;
      height: 44px;
      white-space: nowrap;
    }
    .voice-catalog-stack {
      display: grid;
      gap: 14px;
      margin-top: 14px;
    }
    .voice-locale-card {
      border: 1px solid var(--line);
      border-radius: 20px;
      background: rgba(255,255,255,.032);
      padding: 14px;
    }
    .voice-locale-head {
      display: flex;
      justify-content: space-between;
      align-items: baseline;
      gap: 10px;
      margin-bottom: 12px;
    }
    .voice-locale-head h3 {
      margin: 0;
      font-size: 15px;
      color: #f6d992;
    }
    .voice-locale-head span {
      color: var(--text-soft);
      font-size: 12px;
      white-space: nowrap;
    }
    .voice-card-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(280px, 360px));
      gap: 10px;
      justify-content: start;
      justify-items: start;
    }
    .voice-card-item {
      border: 1px solid rgba(255,255,255,.10);
      border-radius: 16px;
      background: rgba(3, 6, 10, 0.30);
      padding: 12px;
      min-width: 0;
      width: 100%;
      max-width: 360px;
    }
    .voice-card-title {
      display: flex;
      justify-content: space-between;
      gap: 10px;
      align-items: flex-start;
    }
    .voice-card-title strong {
      display: block;
      font-size: 13px;
      line-height: 1.45;
      overflow-wrap: anywhere;
    }
    .voice-card-title small {
      display: block;
      margin-top: 2px;
      color: var(--text-soft);
      font-size: 11px;
      overflow-wrap: anywhere;
    }
    .voice-card-meta {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
      margin-top: 10px;
    }
    .voice-chip {
      display: inline-flex;
      align-items: center;
      border: 1px solid var(--line-2);
      border-radius: 999px;
      background: rgba(255,255,255,.045);
      color: rgba(255,255,255,.82);
      padding: 3px 8px;
      font-size: 11px;
      max-width: 100%;
      overflow-wrap: anywhere;
    }
    .voice-chip.primary {
      border-color: rgba(243,196,95,.38);
      background: rgba(243,196,95,.12);
      color: #ffe0a3;
    }
    .voice-preview-btn {
      flex: 0 0 auto;
      min-height: 30px;
      padding: 0 10px;
      border-color: rgba(243,196,95,.55);
      color: #facc15;
      background: rgba(243,196,95,.10);
    }
    @media (max-width: 1024px) {
      body { overflow: auto; }
      .container { width: 100%; max-width: 100%; height: auto; min-height: 100vh; padding: 10px; gap: 10px; overflow-x: hidden; }
      .layout,
      .layout.without-task-card,
      .layout.task-panel-collapsed {
        flex: 0 0 auto;
        grid-template-columns: minmax(0, 1fr);
        grid-auto-rows: max-content;
        align-content: start;
        min-height: 0;
      }
      .sidebar-card { order: 0; width: 100%; overflow: visible; gap: 10px; align-self: start; }
      .workspace-main,
      .layout.without-task-card .workspace-main,
      .layout.task-panel-collapsed .workspace-main { grid-column: auto; }
      #panelWorkspace.panel.active,
      #panelWorkspace.panel.active.config-panel-collapsed { grid-template-columns: 1fr; height: auto; }
      .workspace-script { order: 1; }
      .workspace-config { order: 2; }
      .task-card { order: 3; }
      .workspace-config.is-collapsed .config-panel-toggle,
      .task-card.is-collapsed .task-panel-toggle {
        min-height: 52px;
        height: auto;
        padding: 0 14px;
        justify-content: space-between;
        writing-mode: horizontal-tb;
      }
      .workspace-script .raw-script-grid.active { grid-template-columns: 1fr; }
      .workspace-config, .workspace-script, .panel-surface, .task-card { width: 100%; max-width: 100%; overflow-x: hidden; overflow-y: visible; }
      .workspace-config,
      .workspace-config.is-collapsed { width: 100%; min-width: 0; max-width: none; }
      .grid, .voice-panel, .role-grid, .docs-grid, .doc-kpi-grid, .voice-catalog-filters, .voice-card-grid, .quota-kpi-grid, .pricing-grid { grid-template-columns: 1fr; }
      .topbar {
        padding: 12px;
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: start;
        width: 100%;
      }
      .toolbar {
        flex-direction: column;
        flex-wrap: nowrap;
        align-items: flex-end;
        justify-content: flex-start;
        width: auto;
      }
      .toolbar .btn,
      .toolbar .user-menu,
      .toolbar .avatar-btn {
        width: auto;
      }
      .toolbar .user-menu {
        display: flex;
        justify-content: flex-end;
      }
      .toolbar .user-menu[hidden] {
        display: none !important;
      }
      .tabbar { width: 100%; flex-direction: row; overflow-x: auto; overflow-y: hidden; }
      .tab { width: auto; white-space: nowrap; }
      .sidebar-quota-card { margin-top: 0; align-self: start; }
      .doc-row { width: 100%; }
      .doc-chip.path, .doc-chip.auth { max-width: 100%; }
      .doc-code { font-size: 11px; }
      .workspace-script .script-pane,
      .workspace-script .raw-script-grid.active { min-height: auto; }
      #scriptInput,
      #aiOptimizedInput,
      #scriptJsonInput { min-height: 220px; }
    }
    @media (max-width: 720px) {
      .container { padding: 8px; }
      .topbar {
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
        padding: 14px;
      }
      .brand {
        gap: 12px;
      }
      .brand-copy {
        padding-left: 12px;
      }
      .brand h1 {
        font-size: clamp(15px, 3.2vw, 20px);
        line-height: 1.08;
      }
      .brand p {
        font-size: clamp(11px, 2.2vw, 13px);
        line-height: 1.45;
      }
      .toolbar {
        width: 100%;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        gap: 10px;
      }
      .toolbar .user-menu,
      .toolbar .locale-menu {
        min-width: 0;
      }
      .locale-menu {
        order: 1;
      }
      #loginBtn,
      #userMenu {
        order: 2;
      }
      .locale-dropdown {
        left: 0;
        right: auto;
        width: min(220px, calc(100vw - 24px));
        min-width: 0;
        max-height: min(70vh, 520px);
        overflow-y: auto;
      }
      .lang-toggle,
      .avatar-btn {
        max-width: 100%;
        min-height: 48px;
        padding-left: 14px;
        padding-right: 14px;
      }
      #avatarName,
      #workspaceLocaleLabel {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
      }
      #avatarName {
        max-width: 96px;
      }
      #workspaceLocaleLabel {
        max-width: 112px;
      }
      .sidebar-card {
        padding: 10px;
      }
      .tabbar {
        padding: 4px;
        gap: 4px;
        scroll-snap-type: x proximity;
      }
      .tab {
        min-height: 46px;
        padding: 0 16px;
        font-size: 15px;
        scroll-snap-align: start;
      }
      .sidebar-quota-card {
        padding: 16px;
        min-height: 0;
      }
      .sidebar-quota-list {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 10px;
      }
      .sidebar-upgrade-pill {
        min-height: 42px;
      }
      .workspace-script,
      .workspace-config,
      .panel-surface,
      .task-card {
        padding: 16px;
      }
      .script-field-head {
        align-items: flex-start;
        gap: 8px;
      }
      .line-number-editor,
      .line-number-viewer {
        min-height: 240px;
      }
      .line-number-gutter {
        padding-right: 7px;
        font-size: 11px;
      }
      .upload-row {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
      }
      #pickUploadBtn {
        min-width: 112px;
      }
      .workspace-script .action-row {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        align-items: stretch;
      }
      .workspace-script .action-row #aiProcessBtn,
      .workspace-script .action-row #generateBtn {
        width: 100%;
        min-width: 0;
      }
      .workspace-script .action-row #aiProcessBtn[hidden] ~ #generateBtn {
        grid-column: 1 / -1;
      }
      .workspace-script .action-row #jobState {
        grid-column: 1 / -1;
        width: 100%;
      }
      .voice-card-grid {
        grid-template-columns: minmax(0, 1fr);
        justify-items: stretch;
      }
      .voice-card-item {
        width: 100%;
        max-width: none;
      }
      .file-manager-table .empty-cell {
        display: table-cell !important;
        width: 100%;
      }
      .file-manager-table .empty-state {
        min-height: 96px;
      }
    }
    @media (max-width: 640px) {
      .workspace-script.is-compact .line-number-editor {
        min-height: 260px;
      }
      #scriptInput,
      #aiOptimizedInput,
      #scriptJsonInput { min-height: 260px; }
    }
    @media (max-width: 420px) {
      .toolbar {
        align-items: stretch;
      }
      .lang-toggle,
      .avatar-btn {
        justify-content: center;
        min-width: 0;
        padding-left: 10px;
        padding-right: 10px;
      }
      #avatarName {
        max-width: 72px;
      }
      #workspaceLocaleLabel {
        max-width: 92px;
      }
      .sidebar-quota-list {
        grid-template-columns: minmax(0, 1fr);
      }
      .upload-row,
      .workspace-script .action-row {
        grid-template-columns: minmax(0, 1fr);
      }
      #pickUploadBtn {
        width: 100%;
      }
    }
    @media (min-width: 1025px) and (max-width: 1360px) {
      .layout {
        grid-template-columns: 120px 430px minmax(360px, 1fr) minmax(300px, 360px);
      }
      #panelWorkspace.panel.active {
        grid-template-columns: 430px minmax(360px, 1fr);
      }
      .btn { padding: 0 9px; }
      .history-actions .btn { padding: 0 6px; font-size: 11px; }
    }
