[hidden] { display:none !important; }

.owner-self-claim-card { display:grid; gap:12px; padding:16px; margin:12px 0; border:1px solid #d8c9ff; border-radius:14px; background:#f8f5ff; }
.owner-self-claim-card h2 { margin:4px 0; font-size:16px; }
.owner-self-claim-card p { margin:4px 0; color:#675d78; font-size:11px; line-height:1.5; }
.owner-self-claim-card strong { display:block; margin-top:3px; color:#4c2a86; font-size:13px; }
.owner-self-claim-card .primary-action { width:100%; }

:root { color-scheme: light; font-family: Inter,"PingFang SC","Microsoft YaHei",system-ui,sans-serif; background:#f3f6f5; color:#15231e; }
* { box-sizing:border-box; }
body { margin:0; min-width:300px; min-height:100vh; background:linear-gradient(180deg,#f7faf9 0,#f2f5f4 180px,#eef2f1 100%); }
button,textarea { font:inherit; }
.app-header { position:sticky; top:0; z-index:10; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:11px; min-height:68px; padding:12px 16px; border-bottom:1px solid #dfe7e3; background:rgba(255,255,255,.96); backdrop-filter:blur(14px); }
.brand-mark { display:grid; width:37px; height:37px; place-items:center; border-radius:10px; background:#147a55; color:#fff; font-weight:800; box-shadow:0 6px 14px rgba(20,122,85,.22); }
.app-header h1 { margin:0; font-size:17px; line-height:1.2; }
.app-header p { margin:3px 0 0; color:#738079; font-size:11px; }
.pilot-chip { padding:5px 8px; border:1px solid #c7ddd3; border-radius:7px; background:#f5fbf8; color:#176746; font-size:11px; font-weight:700; }
.sidebar-shell { width:min(100%,520px); margin:0 auto; padding:14px 12px 28px; }
.identity-stack { display:grid; gap:8px; }
.identity-card { display:grid; grid-template-columns:auto 1fr auto; gap:10px; align-items:center; padding:11px 12px; border:1px solid #dce6e1; border-radius:12px; background:#fff; box-shadow:0 4px 14px rgba(30,52,43,.035); }
.identity-icon { display:grid; width:32px; height:32px; place-items:center; border-radius:9px; background:#eaf5f0; color:#147a55; font-size:12px; font-weight:800; }
.object-icon { background:#edf3fb; color:#2967a6; }
.context-icon { background:#fff4df; color:#9a680e; }
.identity-label { display:block; color:#718078; font-size:10px; }
.identity-card strong { display:block; margin-top:1px; font-size:13px; }
.identity-card p { margin:2px 0 0; color:#7c8983; font-size:10px; line-height:1.45; }
.status-dot { width:9px; height:9px; border-radius:50%; background:#e6a630; box-shadow:0 0 0 5px rgba(230,166,48,.12); }
.status-dot.is-ready { background:#1b9b67; box-shadow:0 0 0 5px rgba(27,155,103,.12); }
.status-dot.is-error { background:#d55c4b; box-shadow:0 0 0 5px rgba(213,92,75,.12); }
.status-dot.is-neutral { background:#8a9690; box-shadow:0 0 0 5px rgba(138,150,144,.12); }
.role-card,.manual-context-card,.loading-panel,.feedback-card,.attachment-context-card { margin-top:10px; padding:12px; border:1px solid #d9e4df; border-radius:12px; background:#fff; }
.role-card h2,.feedback-card h2 { margin:0 0 5px; font-size:13px; }
.role-card p,.manual-context-card p { margin:4px 0 9px; color:#738079; font-size:11px; line-height:1.5; }
.role-actions,.feedback-actions { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; }
.role-actions button,.feedback-actions button { min-height:35px; border:1px solid #cfdad5; border-radius:8px; background:#fff; color:#345046; font-size:11px; }
.manual-context-card summary { color:#176746; font-size:12px; font-weight:750; cursor:pointer; }
.manual-context-meta { display:flex; justify-content:space-between; gap:8px; margin-top:5px; color:#7a8781; font-size:10px; }
.manual-context-meta output { white-space:nowrap; font-variant-numeric:tabular-nums; }
.manual-context-meta output.is-over-limit,.manual-context-error { color:#bd4334; }
.manual-context-error[hidden] { display:none; }
textarea { width:100%; padding:9px; resize:vertical; border:1px solid #cfdad5; border-radius:8px; background:#fbfdfc; color:#21342c; font-size:12px; line-height:1.55; }
.programmer-card-panel { margin-top:10px; padding:12px; border:1px solid #cee0d7; border-radius:12px; background:#f8fcfa; }
.programmer-card-panel[hidden],.programmer-card-result[hidden],.programmer-card-warning[hidden] { display:none; }
.programmer-card-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
.programmer-card-heading h2 { margin:0; color:#23453a; font-size:14px; }
.programmer-card-heading p { margin:4px 0 0; color:#738079; font-size:10px; line-height:1.45; }
.programmer-card-heading .secondary-action { flex:0 0 auto; min-height:34px; }
.programmer-card-result { margin-top:9px; }
.programmer-card-result textarea[readonly] { background:#fff; }
.programmer-card-actions { display:grid; grid-template-columns:1fr 1fr 1fr; gap:7px; margin-top:8px; }
.programmer-card-actions .primary-action,.programmer-card-actions .secondary-action { width:auto; min-height:35px; margin:0; }
.programmer-card-warning { margin:7px 0 0; padding:7px 8px; border-radius:7px; background:#fff4df; color:#855b1d; font-size:10px; line-height:1.45; }
.programmer-card-boundary { margin:8px 1px 0; color:#75827c; font-size:9px; line-height:1.45; }
.primary-action { display:flex; width:100%; min-height:48px; align-items:center; justify-content:center; gap:8px; margin-top:12px; border:0; border-radius:11px; background:#147a55; color:#fff; font-weight:800; box-shadow:0 8px 18px rgba(20,122,85,.18); }
.primary-action:disabled { background:#b5c3bd; box-shadow:none; cursor:not-allowed; }
.analysis-note { margin:7px 4px 12px; color:#738079; font-size:11px; line-height:1.5; text-align:center; }
.loading-panel { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:10px; background:#f5fbf8; border-color:#badaca; }
.loading-panel[hidden],.error-message[hidden] { display:none; }
.loading-spinner { width:22px; height:22px; border:3px solid #c7ded3; border-top-color:#147a55; border-radius:50%; animation:spin .8s linear infinite; }
.loading-panel strong { font-size:13px; }
.loading-panel p { margin:2px 0 0; color:#748079; font-size:10px; }
.loading-panel time { color:#16734e; font-size:10px; }
@keyframes spin { to { transform:rotate(360deg); } }
.error-message { margin:8px 0; padding:10px; border-radius:9px; background:#fff0ed; color:#9e382c; font-size:11px; line-height:1.5; }
.analysis-result-meta { margin:7px 3px; color:#738079; font-size:10px; text-align:right; }
.stale-result-notice { margin:8px 0; padding:10px; border:1px solid #efd49f; border-radius:9px; background:#fff8e9; color:#8a5d0c; font-size:11px; line-height:1.5; }
.analysis-result-meta[hidden],.stale-result-notice[hidden] { display:none; }
.result-stack { display:grid; gap:10px; }
.attachment-context-card[hidden] { display:none; }
.attachment-context-card h2 { margin:0; font-size:13px; }
.attachment-icon { background:#f0ebff; color:#6647a8; }
.attachment-context-list { display:grid; gap:7px; margin:10px 0 0; padding:0; list-style:none; }
.attachment-context-list li { display:flex; gap:8px; align-items:center; color:#345046; font-size:12px; }
.attachment-context-list li span:first-child { color:#147a55; font-weight:800; }
.attachment-context-card>p { margin:9px 0 0; color:#7c8983; font-size:10px; line-height:1.5; }
.result-card,.feedback-card { border:1px solid #dfe6e3; border-radius:12px; background:#fff; box-shadow:0 4px 14px rgba(30,52,43,.035); }
.result-card { padding:13px; }
.action-card { border-color:#b9dbc9; background:#f5fbf8; }
.reply-card { border-color:#bed3ee; background:#f8fbff; }
.card-heading,.reply-heading>div { display:flex; align-items:center; gap:8px; }
.reply-heading { display:flex; justify-content:space-between; gap:8px; }
.card-heading h2 { margin:0; font-size:13px; }
.card-icon { display:grid; width:25px; height:25px; place-items:center; border-radius:8px; font-weight:800; }
.action-icon { background:#e3f3eb; color:#147a55; }.reply-icon { background:#e9f2fd; color:#2566a8; }.neutral-icon { background:#edf2f0; color:#61716a; }.risk-icon { background:#fff2dc; color:#a66a0e; }
.card-body,.reply-body { margin-top:10px; font-size:13px; line-height:1.65; }
.card-body ol { margin:0; padding-left:20px; }.card-body li+li { margin-top:5px; }.empty-copy { color:#909b96; }
.copy-button { min-height:31px; padding:0 10px; border:1px solid #aac9eb; border-radius:8px; background:#fff; color:#235f9f; font-size:11px; font-weight:700; }.copy-button:disabled { border-color:#dbe2df; color:#a1aaa6; background:#f6f8f7; }
.inline-status { min-height:16px; margin:5px 0 0; color:#17744f; font-size:11px; }
.collaboration-card { padding:3px 13px; }.decision-row { display:flex; align-items:center; justify-content:space-between; min-height:43px; font-size:12px; }.decision-row+.decision-row { border-top:1px solid #edf1ef; }
.decision-badge { padding:4px 8px; border-radius:999px; background:#edf2f0; color:#74817b; font-size:11px; }.decision-badge.is-needed { background:#fff0d8; color:#985f08; }.decision-badge.is-clear { background:#e6f4ed; color:#15714c; }
.feedback-card { margin-top:0; }.feedback-card textarea { margin-top:8px; }
footer { padding:0 18px 18px; color:#85918b; font-size:10px; line-height:1.5; text-align:center; }
.work-mode-switch { display:grid; grid-template-columns:1fr 1fr; gap:4px; margin:12px 0 2px; padding:4px; border:1px solid #d9e4df; border-radius:11px; background:#eaf0ed; }
.work-mode-switch button,.ask-ai-answer-mode button { min-height:36px; border:0; border-radius:8px; background:transparent; color:#607068; font-size:12px; font-weight:750; }
.work-mode-switch button.is-active,.ask-ai-answer-mode button.is-active { background:#fff; color:#147a55; box-shadow:0 2px 8px rgba(30,52,43,.09); }
#mode-ask-ai:not(.is-active) { color:#147a55; background:#e2f2ea; }
body.ask-ai-active #analyze-current,body.ask-ai-active #analysis-note,body.ask-ai-active #loading-panel,body.ask-ai-active #analysis-error,body.ask-ai-active #analysis-result-meta,body.ask-ai-active #stale-result-notice,body.ask-ai-active #attachment-context-card,body.ask-ai-active .result-stack { display:none!important; }
.ask-ai-panel { margin-top:10px; padding:13px; border:1px solid #d9e4df; border-radius:12px; background:#fff; box-shadow:0 4px 14px rgba(30,52,43,.035); }
.ask-ai-panel[hidden],.ask-ai-thinking[hidden] { display:none; }
.ask-ai-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:10px; }
.ask-ai-heading h2 { margin:0; font-size:15px; }
.ask-ai-heading p { margin:4px 0 0; color:#738079; font-size:10px; line-height:1.45; }
.secondary-action { min-height:32px; padding:0 10px; border:1px solid #cbd8d2; border-radius:8px; background:#fff; color:#345046; font-size:11px; font-weight:700; white-space:nowrap; }
.secondary-action:disabled { color:#9aa59f; background:#f5f7f6; }
.ask-ai-answer-mode { display:grid; grid-template-columns:1fr 1fr; gap:4px; margin-top:12px; padding:3px; border-radius:9px; background:#f0f4f2; }
.ask-ai-answer-mode button { min-height:32px; font-size:11px; }
.ask-ai-scope,.ask-ai-safety-note { margin:8px 2px; color:#75827c; font-size:10px; line-height:1.5; }
.ask-ai-conversation-toolbar { display:flex; align-items:center; justify-content:space-between; gap:8px; margin:7px 0; }
.ask-ai-conversation-toolbar>span { color:#53685f; font-size:10px; font-weight:750; }
.ask-ai-conversation-toolbar>div { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:5px; }
.ask-ai-conversation-toolbar .ask-ai-clear { color:#865041; }
.ask-ai-chat { display:grid; gap:10px; max-height:390px; min-height:170px; overflow:auto; padding:12px 4px; border-block:1px solid #edf1ef; scroll-behavior:smooth; }
.ask-ai-chat[hidden] { display:none; }
.ask-ai-empty { display:grid; place-content:center; gap:5px; min-height:145px; color:#7d8983; text-align:center; }
.ask-ai-empty strong { color:#4b5e55; font-size:12px; }.ask-ai-empty span { font-size:10px; }
.ask-ai-message { position:relative; display:grid; gap:4px; max-width:88%; }
.ask-ai-message.is-user { justify-self:end; }.ask-ai-message.is-assistant { justify-self:start; }
.ask-ai-message-label { color:#7a8781; font-size:9px; }.ask-ai-message.is-user .ask-ai-message-label { text-align:right; }
.ask-ai-message-body { padding:9px 11px; border-radius:12px 12px 12px 3px; background:#eef4f1; color:#24372f; font-size:12px; line-height:1.65; white-space:pre-wrap; overflow-wrap:anywhere; }
.ask-ai-message.is-user .ask-ai-message-body { border-radius:12px 12px 3px 12px; background:#147a55; color:#fff; }
.ask-ai-message.is-error .ask-ai-message-body { background:#fff1ee; color:#8a3f32; }
.ask-ai-copy { justify-self:start; min-height:25px; padding:0 8px; border:1px solid #d5dfda; border-radius:7px; background:#fff; color:#466158; font-size:9px; }
.ask-ai-sources { margin:1px 2px 0; color:#76837d; font-size:9px; line-height:1.45; }
.ask-ai-thinking { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:9px; margin-top:9px; padding:9px; border-radius:9px; background:#f5fbf8; }
.ask-ai-thinking strong { font-size:11px; }.ask-ai-thinking p { margin:2px 0 0; color:#748079; font-size:9px; }.ask-ai-thinking time { color:#16734e; font-size:9px; }
.ask-ai-video-upload { display:flex; align-items:center; gap:10px; margin:12px 0 4px; padding:12px; border:1px dashed #9ca3af; border-radius:10px; color:#4b5563; background:#f9fafb; }
.ask-ai-video-upload.is-dragging { border-color:#2563eb; background:#eff6ff; }
.ask-ai-video-upload.is-disabled { opacity:.62; }
.ask-ai-video-status { min-height:22px; margin:4px 0 8px; color:#374151; }
.ask-ai-composer { margin-top:10px; }.ask-ai-composer textarea { resize:none; }
.ask-ai-composer-row { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:7px; }
.ask-ai-composer-row>span { color:#738079; font-size:9px; line-height:1.35; }
.ask-ai-composer-row .primary-action { width:auto; min-width:76px; min-height:36px; margin:0; padding:0 15px; border-radius:9px; }
.ask-ai-heading-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:6px; }
.ask-ai-governance-notice { margin:8px 2px 0; padding:8px 10px; border-radius:8px; background:#f3f6f5; color:#52675e; font-size:10px; line-height:1.5; }
.ask-ai-audit-panel { margin-top:12px; padding:12px; border:1px solid #cbdad3; border-radius:11px; background:#f9fbfa; }
.ask-ai-audit-panel[hidden],.ask-ai-audit-abuse[hidden],.pilot-enrollment-panel[hidden] { display:none; }
.pilot-enrollment-capacity { margin:8px 0; color:#345046; font-size:12px; font-weight:700; }
.pilot-enrollment-columns { display:grid; grid-template-columns:1fr; gap:10px; }
.pilot-enrollment-columns h4 { margin:6px 0; color:#30463d; font-size:12px; }
.pilot-enrollment-row { display:flex; align-items:flex-start; justify-content:space-between; gap:8px; padding:9px; margin:6px 0; border:1px solid #dde6e1; border-radius:9px; background:#fff; }
.pilot-enrollment-row strong,.pilot-enrollment-row span { display:block; }
.pilot-enrollment-row span { margin-top:3px; color:#6d7973; font-size:10px; }
.pilot-enrollment-actions { display:flex; flex-wrap:wrap; gap:5px; }
.pilot-enrollment-empty { color:#7b8681; font-size:11px; }
.ask-ai-audit-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
.ask-ai-audit-heading h3 { margin:0; color:#23453a; font-size:14px; }
.ask-ai-audit-heading p { margin:4px 0 0; color:#748079; font-size:9px; }
.ask-ai-audit-filters { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:12px; }
.ask-ai-audit-filters label { display:grid; gap:4px; color:#61716a; font-size:9px; }
.ask-ai-audit-filters input,.ask-ai-audit-filters select { min-width:0; height:34px; padding:0 7px; border:1px solid #cfdad5; border-radius:7px; background:#fff; color:#263a31; font-size:10px; }
.ask-ai-audit-filters .ask-ai-audit-checkbox { display:flex; align-items:center; gap:7px; min-height:34px; padding:0 8px; border:1px solid #cfdad5; border-radius:7px; background:#fff; color:#344b40; font-size:10px; }
.ask-ai-audit-filters .ask-ai-audit-checkbox input { width:15px; height:15px; margin:0; padding:0; accent-color:#147a55; }
.ask-ai-audit-filters .primary-action { min-height:36px; margin:0; grid-column:1/-1; }
.ask-ai-audit-scope-notice { margin:8px 1px 0; color:#748079; font-size:9px; line-height:1.5; }
.ask-ai-audit-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; margin-top:12px; }
.ask-ai-audit-summary article { display:grid; gap:3px; padding:9px; border:1px solid #e0e8e4; border-radius:8px; background:#fff; }
.ask-ai-audit-summary .ask-ai-audit-summary-attention { grid-column:1/-1; background:#fff8e9; border-color:#eed8aa; }
.ask-ai-audit-summary strong { color:#176746; font-size:15px; font-variant-numeric:tabular-nums; }
.ask-ai-audit-summary span { color:#718078; font-size:9px; }
.ask-ai-audit-abuse { margin-top:9px; padding:8px; border-radius:8px; background:#fff2dc; color:#8b5c15; font-size:10px; line-height:1.5; }
.ask-ai-audit-events { display:grid; gap:7px; margin-top:10px; }
.ask-ai-audit-event { padding:9px; border:1px solid #dce6e1; border-radius:8px; background:#fff; }
.ask-ai-audit-event h4 { margin:0; color:#345046; font-size:11px; font-weight:750; line-height:1.5; }
.ask-ai-audit-event p { margin:6px 0 9px; color:#30463c; font-size:10px; line-height:1.6; white-space:pre-wrap; overflow-wrap:anywhere; }
.ask-ai-audit-event .ask-ai-audit-event-context { margin-bottom:3px; color:#176746; font-weight:700; }
.ask-ai-audit-event .ask-ai-audit-event-meta { color:#75827c; font-size:9px; }
.ask-ai-audit-event strong { color:#176746; font-size:10px; }
.ask-ai-audit-alias-editor { margin:4px 0 7px; padding:6px 8px; border-radius:7px; background:#f3f8f5; color:#3c6252; font-size:9px; }
.ask-ai-audit-alias-editor summary { cursor:pointer; font-weight:700; }
.ask-ai-audit-alias-form { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:6px; margin-top:7px; }
.ask-ai-audit-alias-form input,.ask-ai-audit-alias-form select { min-width:0; height:32px; padding:0 7px; border:1px solid #cbdad3; border-radius:7px; background:#fff; color:#263a31; font-size:10px; }
.ask-ai-audit-alias-form .secondary-action { min-height:32px; padding:0 9px; }
.ask-ai-audit-alias-status { grid-column:1/-1; min-height:12px; color:#63756d; }
.ask-ai-audit-empty { padding:16px; color:#7b8882; font-size:10px; text-align:center; }
.ask-ai-audit-pagination { display:flex; align-items:center; justify-content:center; gap:9px; margin-top:10px; color:#64746c; font-size:9px; }
@media (max-width:350px) { .app-header{padding-inline:12px}.pilot-chip{display:none}.sidebar-shell{padding-inline:8px} }
