:root{--diodes-blue:#005a9c;--diodes-blue-dark:#003f6d;--accent:#1a8ad4;--text:#212121;--muted:#5b6570;--bg:#f4f7fa;--card:#ffffff;--border:#d5dee7}*{box-sizing:border-box}body,html{margin:0;padding:0;height:100%;font-family:Open Sans,Noto Sans TC,Arial,Helvetica,sans-serif;color:var(--text);background:var(--bg)}a{color:var(--diodes-blue)}.shell{height:100vh;min-width:0;display:flex;flex-direction:column;overflow:hidden}.topbar{flex-shrink:0;width:100%;min-width:0;background:var(--diodes-blue-dark);padding:14px 24px;justify-content:space-between;flex-wrap:wrap;gap:10px 16px;overflow:visible}.brand,.topbar{color:#fff;display:flex;align-items:center}.brand{gap:10px;text-decoration:none;font-weight:700;letter-spacing:.04em}.brand:focus-visible,.brand:hover{color:#fff;opacity:.92}.brand-logo{display:block;height:56px;width:auto;object-fit:contain;border-radius:6px;background:#e8f1fa;flex-shrink:0}.brand span{font-size:12px;font-weight:400;opacity:.85;white-space:nowrap}.env-banner{flex-shrink:0;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 10px;background:#f5a524;color:#1a1408;padding:8px 16px;font-size:13px;font-weight:600;line-height:1.4;text-align:center}.env-banner-tag{display:inline-block;background:#1a1408;color:#ffd789;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:800;letter-spacing:.04em}.topbar-end{position:relative;display:flex;align-items:center;gap:12px;min-width:0;margin-left:auto}.app-version{color:rgba(255,255,255,.82);font-size:12px;font-weight:500;letter-spacing:.02em;white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.locale-menu{position:relative}.locale-toggle{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:6px 12px;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:rgba(255,255,255,.1);color:#fff;cursor:pointer;font:inherit;font-size:13px;font-weight:600}.locale-toggle:focus-visible,.locale-toggle:hover{background:rgba(255,255,255,.18);border-color:#fff}.locale-dropdown{position:absolute;top:calc(100% + 6px);right:0;z-index:20;min-width:160px;margin:0;padding:6px;list-style:none;background:#fff;color:var(--text);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px rgba(0,63,109,.18)}.locale-dropdown button{display:block;width:100%;text-align:left;border:0;background:none;color:inherit;cursor:pointer;font:inherit;font-size:13px;padding:8px 10px;border-radius:8px}.locale-dropdown li[aria-selected=true] button{background:#e8f1fa;color:var(--diodes-blue-dark);font-weight:700}.locale-dropdown button:focus-visible,.locale-dropdown button:hover{background:#f4f7fa}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.chat{max-width:920px;width:100%;margin:0 auto;padding:12px 20px 16px;gap:12px;overflow:hidden}.chat,.main-pane{flex:1 1;min-width:0;min-height:0;display:flex;flex-direction:column}.main-pane{gap:10px}.shortcuts{position:relative;flex-shrink:0;min-width:0;max-width:100%;display:flex;flex-wrap:nowrap;align-items:center;gap:8px;padding:6px 8px 10px;background:#eef4f9;border:1px solid var(--border);border-radius:10px}.shortcuts-open:after{content:"";position:absolute;top:1px;right:1px;bottom:1px;width:32px;pointer-events:none;background:linear-gradient(90deg,rgba(238,244,249,0),#eef4f9 72%);border-radius:0 9px 9px 0}.shortcuts-collapsed{align-self:flex-start;width:max-content;max-width:100%;padding:0;background:transparent;border:none}.shortcuts-track{display:flex;flex-wrap:nowrap;align-items:center;gap:6px;min-width:0;width:100%;flex:1 1;overflow-x:auto;overflow-y:hidden;white-space:nowrap;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;touch-action:pan-x;cursor:-webkit-grab;cursor:grab;scrollbar-width:thin;scrollbar-color:#b7c7d6 transparent;padding:2px 20px 8px 2px}.shortcuts-track.is-dragging{cursor:-webkit-grabbing;cursor:grabbing;-webkit-user-select:none;-moz-user-select:none;user-select:none}.shortcuts-track::-webkit-scrollbar{height:6px}.shortcuts-track::-webkit-scrollbar-thumb{background:#b7c7d6;border-radius:99px}.shortcuts-toggle{flex-shrink:0;display:inline-flex;align-items:center;gap:6px;min-height:36px;border:1px solid var(--border);background:#fff;color:var(--diodes-blue-dark);border-radius:999px;padding:6px 12px;cursor:pointer;font-size:12px;font-weight:700;white-space:nowrap}.shortcuts-toggle:focus-visible,.shortcuts-toggle:hover{background:#e3eef8;border-color:var(--diodes-blue)}.shortcuts-label{flex-shrink:0;font-size:12px;font-weight:700;color:var(--diodes-blue-dark);margin-right:2px}.shortcuts-track button{flex-shrink:0;display:inline-flex;align-items:center;gap:6px;touch-action:pan-x;min-height:36px;border:1px solid var(--border);background:#fff;color:var(--diodes-blue);border-radius:999px;padding:6px 12px;cursor:pointer;font-size:12px;font-weight:600;white-space:nowrap;transition:transform .12s ease,box-shadow .12s ease,background .12s ease,border-color .12s ease}.shortcuts-track button svg{flex-shrink:0}.shortcuts-track button:focus-visible,.shortcuts-track button:hover{transform:translateY(-1px);background:#e3eef8;border-color:var(--diodes-blue);box-shadow:0 2px 8px rgba(0,63,109,.14)}.shortcuts-track button:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.shortcuts-track button:disabled:focus-visible,.shortcuts-track button:disabled:hover{transform:none;background:#fff;border-color:var(--border);box-shadow:none}.thread-wrap{overflow:hidden}.thread,.thread-wrap{flex:1 1;min-width:0;min-height:0;display:flex;flex-direction:column}.thread{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px;gap:12px;overflow-x:hidden;overflow-y:auto}.thread::-webkit-scrollbar{width:10px}.thread::-webkit-scrollbar-thumb{background:#b7c4d0;border-radius:8px}.thread::-webkit-scrollbar-track{background:#eef2f6;border-radius:8px}.assist-rail{flex-shrink:0;min-width:0;display:flex;flex-direction:column;gap:10px}.assist-status{display:flex;align-items:baseline;gap:6px;margin:0;padding:0 2px;font-size:12px;color:#6b7280}.assist-status span:after{content:"："}.assist-status strong{color:#374151;font-weight:700}.alert-card{display:flex;align-items:flex-start;gap:10px;margin:0;padding:12px;border-radius:10px;color:#374151;font-size:13px;line-height:1.55}.alert-card.warn{background:#fef3c7;border:1px solid #f59e0b}.alert-card.info{background:#eff6ff;border:1px solid var(--accent)}.alert-icon{flex-shrink:0;display:flex;margin-top:1px}.alert-card.warn .alert-icon{color:#d97706}.alert-card.info .alert-icon{color:var(--diodes-blue)}.alert-card h2{margin:0 0 6px;font-size:12px;font-weight:700;letter-spacing:.02em;color:#374151}.alert-card p{margin:0 0 6px}.alert-card p:last-child{margin-bottom:0}.alert-card a{color:var(--diodes-blue-dark);font-weight:600;text-decoration:underline;text-underline-offset:2px;word-break:break-all}.alert-key,.live-site-warn{color:#b45309;font-weight:700}.live-site-note{margin:0 0 6px}.msg{display:flex;align-items:flex-start;gap:8px;max-width:100%;min-width:0}.msg.user{justify-content:flex-end}.msg.assistant{justify-content:flex-start}.assistant-mark{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:28px;height:28px;margin-top:6px;border-radius:50%;background:#dceaf6;color:var(--diodes-blue-dark)}.bubble{max-width:85%;min-width:0;padding:10px 12px;border-radius:10px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5;-webkit-user-select:text;-moz-user-select:text;user-select:text}.msg.assistant .bubble{max-width:calc(85% - 36px)}.bubble a{color:var(--diodes-blue);text-decoration:underline;word-break:break-all}.bubble.user a{color:#fff}.bubble.user{margin-left:auto;background:var(--diodes-blue);color:#fff}.bubble.assistant{background:#eef4f9}.bubble.pending{gap:8px;min-height:40px}.bubble.pending,.typing-dots{display:inline-flex;align-items:center}.typing-dots{gap:4px}.typing-dots i{width:6px;height:6px;border-radius:50%;background:var(--diodes-blue);animation:typing-bounce 1s ease-in-out infinite}.typing-dots i:nth-child(2){animation-delay:.15s}.typing-dots i:nth-child(3){animation-delay:.3s}@keyframes typing-bounce{0%,80%,to{transform:translateY(0);opacity:.35}40%{transform:translateY(-4px);opacity:1}}.pending-status{color:var(--muted);font-size:13px}.sources{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.sources a{font-size:12px;background:#fff;border:1px solid var(--border);border-radius:6px;padding:2px 8px;text-decoration:none}.answer-review{margin-top:10px;padding:8px 10px;border-left:3px solid #6b7280;background:#f3f4f6;font-size:12px;color:#374151}.answer-review.verdict-pass{border-left-color:#15803d;background:#f0fdf4}.answer-review.verdict-caution{border-left-color:#b45309;background:#fffbeb}.answer-review.verdict-fail{border-left-color:#b91c1c;background:#fef2f2}.answer-review-head{display:flex;flex-wrap:wrap;gap:8px;font-weight:700;margin-bottom:4px}.answer-review-tag{text-transform:uppercase;letter-spacing:.04em;font-size:11px}.answer-review-cats{opacity:.85;margin-bottom:4px}.answer-review p{margin:4px 0 0;white-space:pre-wrap}.answer-review-suggest{opacity:.95}.reply-suggestions{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px}.reply-suggestions-label{flex-basis:100%;font-size:12px;font-weight:700;color:var(--diodes-blue-dark)}.reply-suggestions button{display:inline-flex;align-items:center;gap:6px;min-height:32px;border:1px solid var(--border);background:#fff;color:var(--diodes-blue);border-radius:999px;padding:5px 10px;cursor:pointer;font-size:12px;font-weight:600}.reply-suggestions button:focus-visible,.reply-suggestions button:hover{background:#e3eef8;border-color:var(--diodes-blue)}.reply-suggestions button:disabled{opacity:.55;cursor:not-allowed}.reply-handoff{align-items:stretch}.handoff-card{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:8px;flex:1 1 148px;min-width:148px;padding:12px;border:1px solid var(--border);border-radius:12px;background:#fff;color:var(--diodes-blue-dark);text-decoration:none;font-size:13px;font-weight:700;line-height:1.35}.handoff-card:focus-visible,.handoff-card:hover{background:#e3eef8;border-color:var(--diodes-blue);color:var(--diodes-blue-dark)}.handoff-card svg{color:var(--diodes-blue)}.composer{flex-shrink:0;background:var(--bg)}.composer-row{display:flex;gap:8px;align-items:stretch}.composer-field{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:4px}.composer textarea{flex:1 1;min-width:0;width:auto;min-height:72px;resize:vertical;border:1px solid var(--border);border-radius:8px;padding:10px;font:inherit}.composer textarea:focus,.composer textarea:focus-visible{outline:none;border-color:var(--diodes-blue);box-shadow:0 0 0 3px rgba(0,90,156,.18)}.composer textarea[aria-invalid=true]{border-color:#c62828}.composer-meta{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:12px}.composer-hint{color:#c62828;font-weight:600}.composer-hint.muted{color:var(--muted);font-weight:400}.composer-keys{display:none;color:var(--muted);font-size:12px}.contact-list{background:#f8fafc;border:1px solid var(--border);border-radius:10px;padding:12px}.contact-list h2{margin:0;font-size:12px;font-weight:700;color:#374151}.contact-env{margin:4px 0 8px;font-size:12px;line-height:1.45;color:#4b5563;font-weight:400}.contact-list ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}.contact-list li{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:13px;color:#374151}.contact-list a{color:var(--diodes-blue-dark);font-weight:600;text-decoration:underline;text-underline-offset:2px}.reminder-notice{color:#4b5563;font-weight:400}.composer-count{flex-shrink:0;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.composer-count.near{color:#b45309;font-weight:600}.composer-count.over{color:#c62828;font-weight:700}.chat-error{margin:0;color:#b42318;font-size:13px;font-weight:600}.composer button{background:var(--accent);color:#fff;border:0;border-radius:8px;padding:0 18px;font-weight:600;cursor:pointer}.composer button:disabled{opacity:.6;cursor:not-allowed}.footer{flex-shrink:0;position:relative;z-index:2;background:var(--diodes-blue);padding:16px 24px;font-size:13px}.footer,.footer a{color:#fff}.composer textarea{-webkit-user-select:text;-moz-user-select:text;user-select:text}.bubble,.composer textarea{-webkit-touch-callout:default}@media (min-width:960px) and (orientation:landscape){.chat{max-width:1280px;display:grid;grid-template-columns:minmax(0,1.85fr) minmax(280px,.95fr);grid-template-rows:minmax(0,1fr);grid-template-areas:"main rail";align-items:stretch;grid-gap:14px;gap:14px}.main-pane{grid-area:main}.main-pane .shortcuts{min-width:0}.assist-rail{grid-area:rail;min-height:0;overflow-y:auto}.assist-rail .composer-row{flex-direction:column}.assist-rail .composer textarea{min-height:148px;resize:none}.assist-rail .composer button{width:100%;min-height:44px;padding:10px 18px}.composer-keys{display:inline}.composer-meta{flex-wrap:wrap}}@media (max-width:720px){.shell,body,html{height:100%;max-height:100dvh}.shell{height:100dvh;overflow:hidden}.env-banner{font-size:12px;padding:7px 12px}.topbar{padding:10px 12px;align-items:center;gap:8px}.app-version{font-size:11px}.brand-logo{height:44px;width:auto;max-width:72px}.locale-toggle{min-height:34px;padding:5px 10px;font-size:12px}.chat{padding:8px 12px 10px;gap:8px}.shortcuts{gap:6px;padding:4px 6px 8px}.shortcuts-collapsed{padding:0}.shortcuts-track{gap:6px;padding:2px 16px 2px 2px}.shortcuts-toggle,.shortcuts-track button{padding:6px 10px;min-height:34px;font-size:12px}.thread{min-height:0;padding:12px}.bubble,.msg.assistant .bubble{max-width:calc(100% - 36px)}.msg.user .bubble{max-width:100%}.composer{align-items:stretch}.composer textarea{min-height:56px;font-size:16px;line-height:1.4}.composer button{flex-shrink:0;min-width:64px;min-height:44px;height:auto;padding:0 14px;margin-bottom:0;align-self:stretch}.assist-rail{max-height:30dvh;overflow-y:auto}.alert-card{padding:10px;font-size:12px}.footer{padding:10px 12px;font-size:12px;line-height:1.45}}