    .quick-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
    .quick { border: 1px solid var(--border); background: rgba(255,255,255,.035); border-radius: 10px; padding: 10px; color: #cbd5e1; text-align: left; }
    .quick b { display: block; margin-bottom: 4px; color: white; }

    .composer {
      border-top: 1px solid var(--border);
      background: #10131a;
      display: grid;
      grid-template-rows: auto minmax(0, 1fr) auto;
      min-height: 0;
    }
    .composer-head { height: 32px; display: flex; align-items: center; gap: 8px; padding: 0 10px; border-bottom: 1px solid var(--border-soft); color: var(--muted); font-size: 12px; }
    .prompt-row { display: grid; grid-template-columns: minmax(0, 1fr) 230px; min-height: 0; }
    textarea {
      width: 100%; height: 100%; min-height: 80px; resize: none;
      border: 0; outline: 0;
      padding: 12px 14px;
      color: var(--text); background: transparent;
      font-family: JetBrains Mono, ui-monospace, monospace;
      line-height: 1.55; font-size: 13px;
    }
    .composer-tools { border-left: 1px solid var(--border); padding: 10px; display: grid; gap: 8px; align-content: start; }
    .input, .btn, .file-label, select.input {
      width: 100%; border: 1px solid var(--border); border-radius: 8px;
      padding: 8px 10px; color: var(--text); background: rgba(255,255,255,.04);
      font-size: 12px;
    }
    .btn, .file-label { text-align: center; font-weight: 700; }
    .btn.primary { background: linear-gradient(135deg, #7c3aed, #2563eb); border-color: rgba(255,255,255,.16); color: #fff; }
    .btn:disabled { opacity: .55; cursor: wait; }
    input[type="file"] { display: none; }
    .files, .previews { display: none; flex-wrap: wrap; gap: 6px; padding: 0; border: 0; }
    .files.has-files, .previews.has-files { display: flex; }
    .agent-input-wrap .previews,
    .agent-input-wrap .files {
      position: absolute;
      left: 12px;
      right: 178px;
      z-index: 2;
    }
    .agent-input-wrap .previews { top: 10px; }
    .agent-input-wrap .files { top: 58px; }
    .agent-input-wrap .previews:not(.has-files) + .files { top: 10px; }
    .agent-input-wrap.has-attachments .agent-only-prompt { padding-top: 96px; }
    .file-item { display: inline-flex; align-items: center; gap: 6px; max-width: 220px; border: 1px solid var(--border); border-radius: 8px; padding: 5px 7px; background: rgba(255,255,255,.06); backdrop-filter: blur(10px); font-size: 11px; color: #cbd5e1; }
    .file-item span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .file-item button { color: var(--red); font-weight: 700; }
    .previews img { width: 42px; height: 42px; object-fit: cover; border-radius: 8px; border: 1px solid var(--border); }
    .agent-panel { display: grid; gap: 9px; }
    .agent-panel textarea { min-height: 180px; border: 1px solid var(--border); border-radius: 10px; background: rgba(0,0,0,.22); }
    .agent-panel .composer-tools { border-left: 0; padding: 0; }
    .agent-hint { color: var(--muted); font-size: 11px; line-height: 1.45; padding: 0 2px; }
    .agent-split {
      height: 100%;
      min-height: 0;
      display: grid;
      grid-template-rows: minmax(0, 65%) minmax(180px, 35%);
    }
    .agent-history {
      min-height: 0;
      overflow-y: auto;
      padding: 12px;
      display: flex;
      flex-direction: column;
      gap: 8px;
      border-bottom: 1px solid var(--border);
    }
    .history-empty {
      align-self: center;
      margin: auto;
      color: var(--dim);
      font-size: 12px;
      letter-spacing: .02em;
    }
    .agent-prompt-dock {
      min-height: 0;
      display: grid;
      grid-template-rows: minmax(0, 1fr) auto;
      background: rgba(0,0,0,.18);
    }
    .agent-input-wrap {
      position: relative;
      min-height: 0;
    }
    .agent-only-prompt {
      width: 100%;
      height: 100%;
      min-height: 0;
      border: 0;
      border-radius: 0;
      background: transparent;
      resize: none;
      padding: 14px 178px 14px 14px;
      color: var(--text);
      font-family: JetBrains Mono, ui-monospace, monospace;
      line-height: 1.6;
    }
    .agent-mic,
    .agent-attach {
      position: absolute;
      top: 10px;
      width: 30px;
      height: 30px;
      display: grid;
      place-items: center;
      border: 1px solid var(--border);
      border-radius: 9px;
      background: rgba(255,255,255,.045);
      color: var(--muted);
      cursor: pointer;
      overflow: hidden;
      z-index: 3;
    }
    .agent-mic { right: 136px; }
    .agent-attach { right: 100px; }
    .agent-mic:hover, .agent-attach:hover { color: var(--text); background: rgba(255,255,255,.08); }
    .agent-mic.recording { color: #fff; background: rgba(239,68,68,.78); border-color: rgba(248,113,113,.9); box-shadow: 0 0 0 3px rgba(239,68,68,.18); }
    .agent-mic:disabled,
    .agent-attach.disabled { opacity: .55; cursor: wait; pointer-events: none; }
    .agent-mic svg { width: 16px; height: 16px; pointer-events: none; }
    .agent-recording-wave {
      position: absolute;
      top: 10px;
      right: 172px;
      width: 48px;
      height: 30px;
      display: none;
      align-items: center;
      justify-content: center;
      gap: 3px;
      border: 1px solid rgba(248,113,113,.32);
      border-radius: 999px;
      background: rgba(239,68,68,.08);
      box-shadow: 0 0 18px rgba(239,68,68,.08);
      pointer-events: none;
      z-index: 3;
    }
    .agent-recording-wave span {
      width: 3px;
      height: 7px;
      border-radius: 999px;
      background: rgba(254,202,202,.92);
      opacity: .74;
      animation: agent-wave 1.05s ease-in-out infinite;
    }
    .agent-recording-wave span:nth-child(2) { animation-delay: .12s; }
    .agent-recording-wave span:nth-child(3) { animation-delay: .24s; }
    .agent-recording-wave span:nth-child(4) { animation-delay: .36s; }
    .agent-recording-wave span:nth-child(5) { animation-delay: .48s; }
    .agent-input-wrap.recording-active .agent-recording-wave { display: flex; }
    .agent-input-wrap.recording-active .agent-only-prompt { padding-right: 228px; }
    @keyframes agent-wave {
      0%, 100% { transform: scaleY(.45); opacity: .38; }
      50% { transform: scaleY(1.8); opacity: .95; }
    }
    @media (prefers-reduced-motion: reduce) {
      .agent-recording-wave span { animation: none; transform: scaleY(1); }
    }
    .agent-attach span { pointer-events: none; }
    .agent-attach input[type="file"] {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      opacity: 0;
      display: block;
      cursor: pointer;
    }
    .agent-actions {
      display: flex;
      justify-content: flex-end;
      padding: 8px 10px 10px;
      border-top: 1px solid var(--border-soft);
    }
    .agent-submit {
      position: absolute;
      top: 10px;
      right: 10px;
      width: auto;
      min-width: 82px;
      padding: 8px 12px;
      border: 1px solid #1d4ed8;
      border-radius: 4px;
      background: #2f7df6;
      color: #fff;
      font-size: 13px;
      font-weight: 800;
      line-height: 1;
      box-shadow: 0 2px 0 rgba(0,0,0,.35), inset 0 1px rgba(255,255,255,.18);
      z-index: 3;
    }
    .agent-submit:hover { background: #3b86ff; border-color: #2563eb; }
    .agent-submit:active { transform: translateY(1px); box-shadow: inset 0 1px rgba(0,0,0,.2); }
    .agent-submit:disabled {
      opacity: .76;
      cursor: wait;
      transform: none;
    }
    .project-plan-cancel {
      position: absolute;
      top: 10px;
      right: 10px;
      width: auto;
      min-width: 82px;
      padding: 7px 11px;
      border: 1px solid rgba(248,113,113,.55);
      border-radius: 4px;
      background: rgba(127,29,29,.42);
      color: #fecaca;
      font-size: 12px;
      font-weight: 800;
      line-height: 1;
      z-index: 3;
    }
    .project-plan-cancel:hover { background: rgba(153,27,27,.58); color: #fff; }
    .project-agent-wrap.planning-active {
      isolation: isolate;
    }
    .project-agent-wrap.planning-active::before,
    .project-agent-wrap.planning-active::after {
      content: '';
      position: absolute;
      pointer-events: none;
      z-index: 1;
    }
    .project-agent-wrap.planning-active::before {
      inset: 0;
      border-radius: 10px;
      background:
        radial-gradient(circle at 18% 24%, rgba(20,184,166,.12), transparent 28%),
        radial-gradient(circle at 78% 34%, rgba(99,102,241,.12), transparent 32%),
        linear-gradient(115deg, transparent 0%, rgba(148,163,184,.07) 42%, rgba(125,211,252,.14) 50%, rgba(148,163,184,.07) 58%, transparent 100%);
      background-size: 100% 100%, 100% 100%, 260% 100%;
      mix-blend-mode: screen;
      opacity: .58;
      animation: project-planning-sheen 4.8s cubic-bezier(.4,0,.2,1) infinite;
    }
    .project-agent-wrap.planning-active::after {
      left: 14px;
      right: 98px;
      bottom: 10px;
      height: 1px;
      border-radius: 999px;
      background: linear-gradient(90deg, transparent, rgba(45,212,191,.62), rgba(96,165,250,.5), transparent);
      opacity: .52;
      transform-origin: center;
      animation: project-planning-breath 3.2s ease-in-out infinite;
    }
    .project-agent-wrap.planning-active .project-prompt-input {
      cursor: progress;
      background: rgba(15,23,42,.24);
      box-shadow:
        inset 0 0 0 1px rgba(125,211,252,.16),
        inset 0 0 34px rgba(14,165,233,.055),
        0 0 0 1px rgba(14,165,233,.05);
      transition: box-shadow .35s ease, background .35s ease;
    }
    @keyframes project-planning-sheen {
      0% { background-position: 0 0, 0 0, 150% 50%; opacity: .36; }
      45% { opacity: .62; }
      100% { background-position: 0 0, 0 0, -150% 50%; opacity: .36; }
    }
    @keyframes project-planning-breath {
      0%, 100% { transform: scaleX(.58); opacity: .22; filter: blur(.2px); }
      50% { transform: scaleX(1); opacity: .58; filter: blur(.55px); }
    }
    @media (prefers-reduced-motion: reduce) {
      .project-agent-wrap.planning-active::before,
      .project-agent-wrap.planning-active::after { animation: none; }
    }
    .project-agent-wrap .project-prompt-input {
      height: 150px;
      min-height: 150px;
    }
    @media (max-width: 699px) {
      .project-agent-wrap .project-prompt-input {
        height: 126px;
        min-height: 126px;
      }
    }
