/* ==========================================================
   A7 · AI应用登记自查 —— 「应用上架清单」设计系统
   淡紫白 + 靛紫 + 薄荷；大圆角、柔和阴影、完成度环与应用卡片。
   ========================================================== */
.aar-page, .aar-modal, .aar-toast {
    --aar-bg: #f8f6ff;
    --aar-card: #ffffff;
    --aar-card2: #f6f3ff;
    --aar-ink: #231a3d;
    --aar-ink2: #5d5478;
    --aar-ink3: #938cab;
    --aar-purple: #6d28d9;
    --aar-purple-soft: #ede5ff;
    --aar-mint: #0d9488;
    --aar-mint-soft: #dff7f2;
    --aar-red: #c0364c;
    --aar-red-soft: #ffe9ee;
    --aar-amber: #a86a0b;
    --aar-amber-soft: #fff3da;
    --aar-line: #e2dcf3;
    --aar-line2: #efeaf9;
    --aar-shadow: 0 8px 26px rgba(109, 40, 217, .09);
    --aar-radius: 18px;
}
:root[data-theme="dark"] .aar-page,
:root[data-theme="dark"] .aar-modal,
:root[data-theme="dark"] .aar-toast {
    --aar-bg: #100d1a;
    --aar-card: #1b1729;
    --aar-card2: #241e36;
    --aar-ink: #f0eaff;
    --aar-ink2: #bdb2d8;
    --aar-ink3: #8c81a8;
    --aar-purple: #b294ff;
    --aar-purple-soft: #2e2348;
    --aar-mint: #5fd9c7;
    --aar-mint-soft: #153b37;
    --aar-red: #ff92a5;
    --aar-red-soft: #3b2029;
    --aar-amber: #f0bd6b;
    --aar-amber-soft: #3a2c17;
    --aar-line: #372e4f;
    --aar-line2: #2b2440;
    --aar-shadow: 0 8px 26px rgba(0, 0, 0, .38);
}

.aar-page {
    background: var(--aar-bg); color: var(--aar-ink);
    font-family: "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;
    font-size: 14.5px; line-height: 1.85; padding: 26px 0 56px; min-height: 60vh;
    background-image: radial-gradient(circle at 90% 2%, rgba(109, 40, 217, .09), transparent 32%),
        radial-gradient(circle at 4% 60%, rgba(13, 148, 136, .06), transparent 30%);
}
.aar-wrap { max-width: 1220px; margin: 0 auto; padding: 0 22px; }
.aar-page b, .aar-page strong { color: var(--aar-purple); font-weight: 700; }
.aar-page .detail-breadcrumb { background: transparent; margin-bottom: 20px; font-size: 12.5px; }

.aar-hero { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr); gap: 20px; }
.aar-hero-copy { background: var(--aar-card); border: 1px solid var(--aar-line); border-radius: var(--aar-radius); box-shadow: var(--aar-shadow); padding: 28px 30px 22px; }
.aar-kicker { display: inline-block; font-size: 11px; letter-spacing: .14em; color: var(--aar-purple); background: var(--aar-purple-soft); border-radius: 999px; padding: 5px 13px; margin-bottom: 15px; }
.aar-hero h1 { font-size: clamp(28px, 3.2vw, 39px); font-weight: 800; letter-spacing: -.035em; margin: 0 0 11px; }
.aar-sub { font-size: 14px; line-height: 1.95; color: var(--aar-ink2); margin: 0 0 20px; }
.aar-hero-form { border-top: 1px solid var(--aar-line2); padding-top: 15px; }
.aar-label { display: block; font-size: 12px; color: var(--aar-ink3); font-weight: 700; margin-bottom: 7px; }
.aar-input-row { display: flex; gap: 9px; }
.aar-input { flex: 1 1 auto; min-width: 0; height: 44px; padding: 0 14px; border: 1.5px solid var(--aar-line); border-radius: 11px; background: var(--aar-card2); color: var(--aar-ink); font: 14px inherit; font-family: inherit; outline: none; }
.aar-input:focus { border-color: var(--aar-purple); box-shadow: 0 0 0 3px var(--aar-purple-soft); }
.aar-forms { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; margin-top: 10px; }
.aar-forms button { border: 1px solid var(--aar-line); background: var(--aar-card2); color: var(--aar-ink2); border-radius: 9px; padding: 7px 2px; font: 600 11.5px inherit; font-family: inherit; cursor: pointer; }
.aar-forms button.is-on { background: var(--aar-purple); border-color: var(--aar-purple); color: #fff; }
:root[data-theme="dark"] .aar-forms button.is-on { color: #1a1030; }
.aar-form-note { min-height: 17px; margin: 7px 0 0; font-size: 12px; color: var(--aar-red); }
.aar-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 36px; padding: 7px 16px; border: 1.5px solid var(--aar-purple); border-radius: 10px; background: var(--aar-card); color: var(--aar-purple); font: 600 12.5px inherit; font-family: inherit; cursor: pointer; white-space: nowrap; transition: transform .15s, background .15s; }
.aar-btn:hover { background: var(--aar-purple-soft); transform: translateY(-1px); }
.aar-btn--main { height: 44px; padding: 0 22px; border-radius: 11px; background: var(--aar-purple); color: #fff; font-size: 14px; box-shadow: 0 6px 18px rgba(109, 40, 217, .24); }
:root[data-theme="dark"] .aar-btn--main { color: #1a1030; }
.aar-btn--ghost { border-color: var(--aar-line); color: var(--aar-ink2); background: transparent; }
.aar-btn--sm { min-height: 28px; padding: 3px 11px; font-size: 11.5px; }
.aar-hero-facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 17px; }
.aar-fact { background: var(--aar-card2); border: 1px solid var(--aar-line2); border-radius: 11px; padding: 10px 12px; min-width: 0; }
.aar-fact b { display: block; font-size: 21px; line-height: 1.3; }
.aar-fact span { font-size: 10.5px; color: var(--aar-ink3); }
.aar-fact--warn b { color: var(--aar-red); }

.aar-ring-box { background: linear-gradient(155deg, var(--aar-purple-soft), var(--aar-card) 72%); border: 1px solid var(--aar-line); border-radius: var(--aar-radius); box-shadow: var(--aar-shadow); padding: 20px; display: flex; flex-direction: column; align-items: center; }
.aar-app-card { width: 100%; display: flex; align-items: center; gap: 12px; background: var(--aar-card); border: 1px solid var(--aar-line); border-radius: 14px; padding: 11px 13px; }
.aar-app-icon { width: 44px; height: 44px; flex: 0 0 auto; display: grid; place-items: center; background: linear-gradient(135deg, var(--aar-purple), var(--aar-mint)); color: #fff; border-radius: 12px; font-size: 22px; }
.aar-app-card b { display: block; font-size: 14px; word-break: break-all; }
.aar-app-card span { font-size: 11px; color: var(--aar-ink3); }
.aar-ring { width: 100%; max-width: 240px; height: auto; display: block; margin: 6px 0; }
.aar-ring-track { fill: none; stroke: var(--aar-line); stroke-width: 16; }
.aar-ring-fill { fill: none; stroke: var(--aar-purple); stroke-width: 16; stroke-linecap: round; transition: stroke-dashoffset .45s ease, stroke .3s; }
.aar-ring-num { fill: var(--aar-ink); font-size: 44px; font-weight: 800; text-anchor: middle; }
.aar-ring-unit { fill: var(--aar-ink3); font-size: 12px; text-anchor: middle; }
.aar-ring-foot { font-size: 12.5px; color: var(--aar-ink2); text-align: center; border-top: 1px solid var(--aar-line); padding-top: 10px; width: 100%; }

.aar-quick { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 16px 0 22px; padding: 11px 15px; background: var(--aar-card); border: 1px solid var(--aar-line); border-radius: 13px; }
.aar-quick-label { font-size: 12px; color: var(--aar-ink3); font-weight: 700; }
.aar-chip { border: 1px solid var(--aar-line); background: var(--aar-card2); color: var(--aar-ink2); border-radius: 999px; padding: 6px 14px; font: 600 12px inherit; font-family: inherit; cursor: pointer; }
.aar-chip:hover { border-color: var(--aar-purple); color: var(--aar-purple); }

.aar-body { display: grid; grid-template-columns: minmax(0, 390px) minmax(0, 1fr); gap: 20px; align-items: start; }
.aar-body > * { min-width: 0; }
.aar-panel, .aar-card, .aar-verdict { background: var(--aar-card); border: 1px solid var(--aar-line); border-radius: var(--aar-radius); box-shadow: var(--aar-shadow); }
.aar-panel { padding: 19px 20px; position: sticky; top: 16px; max-height: calc(100vh - 40px); overflow-y: auto; }
.aar-panel-head { display: flex; justify-content: space-between; align-items: baseline; border-bottom: 2px solid var(--aar-line2); padding-bottom: 9px; margin-bottom: 10px; }
.aar-panel-head h2 { font-size: 16px; margin: 0; }
.aar-panel-head span { font-size: 11.5px; color: var(--aar-ink3); }
.aar-hint { font-size: 11.5px; line-height: 1.8; color: var(--aar-ink3); margin: 0 0 13px; }
.aar-groups { display: grid; gap: 15px; }
.aar-group-title { display: flex; justify-content: space-between; align-items: baseline; font-size: 12.5px; font-weight: 700; color: var(--aar-purple); margin-bottom: 6px; }
.aar-group-title span { font-size: 10.5px; color: var(--aar-ink3); font-weight: 400; }
.aar-item { display: flex; align-items: flex-start; gap: 9px; padding: 7px 9px; border: 1px solid var(--aar-line2); border-radius: 9px; margin-bottom: 5px; cursor: pointer; font-size: 12.5px; }
.aar-item:hover { background: var(--aar-card2); }
.aar-item.is-on { background: var(--aar-mint-soft); border-color: var(--aar-mint); }
.aar-item input { margin: 4px 0 0; accent-color: var(--aar-purple); }
.aar-item-text { min-width: 0; flex: 1 1 auto; }
.aar-item-text b { display: block; font-weight: 600; color: var(--aar-ink); }
.aar-item.is-on .aar-item-text b { color: var(--aar-mint); }
.aar-item-text small { display: block; font-size: 10.5px; color: var(--aar-ink3); line-height: 1.6; }
.aar-lv { font-size: 9.5px; padding: 1px 6px; border-radius: 999px; white-space: nowrap; margin-top: 2px; }
.aar-lv--block { background: var(--aar-red-soft); color: var(--aar-red); }
.aar-lv--advice { background: var(--aar-amber-soft); color: var(--aar-amber); }
.aar-lv--plus { background: var(--aar-purple-soft); color: var(--aar-purple); }

.aar-result { display: grid; gap: 15px; }
.aar-verdict { display: flex; align-items: center; gap: 16px; padding: 17px 20px; border-left: 5px solid var(--aar-line); }
.aar-verdict.is-high { border-left-color: var(--aar-red); }
.aar-verdict.is-mid { border-left-color: var(--aar-amber); }
.aar-verdict.is-low { border-left-color: var(--aar-mint); }
.aar-verdict-icon { width: 50px; height: 50px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 15px; background: var(--aar-purple-soft); color: var(--aar-purple); font-size: 24px; font-weight: 800; }
.aar-verdict.is-high .aar-verdict-icon { background: var(--aar-red-soft); color: var(--aar-red); }
.aar-verdict.is-low .aar-verdict-icon { background: var(--aar-mint-soft); color: var(--aar-mint); }
.aar-verdict-copy { min-width: 0; }
.aar-verdict-tag { display: inline-block; font-size: 11px; color: var(--aar-purple); background: var(--aar-purple-soft); border-radius: 999px; padding: 2px 10px; margin-bottom: 6px; }
.aar-verdict-copy h2 { font-size: 16.5px; margin: 0 0 4px; }
.aar-verdict-copy p { margin: 0; font-size: 12.5px; color: var(--aar-ink2); line-height: 1.85; }

.aar-card { padding: 17px 20px; }
.aar-card-head { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; border-bottom: 1px solid var(--aar-line2); padding-bottom: 10px; margin-bottom: 12px; }
.aar-card-head h2 { font-size: 15.5px; margin: 0; }
.aar-mini { font-size: 11px; color: var(--aar-ink3); white-space: nowrap; }
.aar-todos { display: grid; gap: 7px; }
.aar-todo { display: grid; grid-template-columns: 8px minmax(0, 1fr); gap: 10px; border: 1px solid var(--aar-line2); border-radius: 10px; padding: 9px 11px; }
.aar-todo > i { border-radius: 999px; background: var(--aar-line); margin-top: 5px; height: 8px; }
.aar-todo.is-block > i { background: var(--aar-red); }
.aar-todo.is-advice > i { background: var(--aar-amber); }
.aar-todo b { font-size: 12.5px; }
.aar-todo p { margin: 2px 0 0; font-size: 11.5px; color: var(--aar-ink2); line-height: 1.7; }
.aar-empty { font-size: 12.5px; color: var(--aar-ink3); margin: 0; }
.aar-places { display: grid; gap: 8px; }
.aar-place { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 10px; align-items: start; }
.aar-place-no { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 9px; background: var(--aar-purple-soft); color: var(--aar-purple); font-size: 12px; font-weight: 700; }
.aar-place b { font-size: 12.5px; }
.aar-place p { margin: 2px 0 0; font-size: 11.5px; color: var(--aar-ink2); line-height: 1.75; }
.aar-table-scroll { overflow-x: auto; }
.aar-table { width: 100%; border-collapse: collapse; font-size: 12px; }
.aar-table th, .aar-table td { text-align: left; padding: 8px 9px; border-bottom: 1px solid var(--aar-line2); vertical-align: top; }
.aar-table th { font-size: 11px; color: var(--aar-ink3); white-space: nowrap; }
.aar-table td { color: var(--aar-ink2); word-break: break-all; }
.aar-table .num { text-align: right; font-weight: 700; color: var(--aar-purple); }
.aar-del { border: 0; background: transparent; color: var(--aar-red); cursor: pointer; font-size: 12px; }
.aar-toolbar { display: flex; flex-wrap: wrap; gap: 9px; align-items: center; }
.aar-local { margin-left: auto; font-size: 11px; color: var(--aar-ink3); }

.aar-modal { position: fixed; inset: 0; z-index: 900; display: flex; align-items: center; justify-content: center; background: rgba(24, 16, 46, .6); padding: 20px; }
.aar-modal[hidden] { display: none !important; }
.aar-sheet { width: min(520px, 100%); background: var(--aar-card); border: 1px solid var(--aar-line); border-radius: var(--aar-radius); padding: 24px 26px; box-shadow: var(--aar-shadow); }
.aar-sheet h3 { font-size: 18px; margin: 0 0 8px; }
.aar-sheet p { font-size: 12.5px; color: var(--aar-ink2); line-height: 1.85; margin: 0 0 14px; }
.aar-sheet-code { display: block; word-break: break-all; background: var(--aar-card2); border: 1px solid var(--aar-line); border-radius: 9px; padding: 10px 11px; font: 11px/1.7 Consolas, monospace; color: var(--aar-purple); max-height: 110px; overflow: auto; }
.aar-sheet-actions { display: flex; gap: 9px; margin-top: 16px; }
.aar-toast { position: fixed; left: 50%; bottom: 30px; transform: translate(-50%, 12px); z-index: 950; background: var(--aar-purple); color: #fff; border-radius: 999px; padding: 9px 20px; font-size: 12.5px; opacity: 0; pointer-events: none; transition: opacity .2s, transform .2s; }
.aar-toast.is-on { opacity: 1; transform: translate(-50%, 0); }

@media (max-width: 980px) {
    .aar-hero, .aar-body { grid-template-columns: minmax(0, 1fr); }
    .aar-panel { position: static; max-height: none; }
    .aar-local { margin-left: 0; width: 100%; }
}
@media (max-width: 600px) {
    .aar-wrap { padding: 0 14px; }
    .aar-hero-copy, .aar-panel, .aar-card, .aar-verdict { padding: 15px 14px; }
    .aar-hero h1 { font-size: 25px; }
    .aar-sub { font-size: 13px; }
    .aar-input-row { flex-direction: column; }
    .aar-btn--main { width: 100%; }
    .aar-forms { grid-template-columns: 1fr 1fr; }
    .aar-fact b { font-size: 17px; }
    .aar-table { min-width: 0; font-size: 10.5px; }
    .aar-table th, .aar-table td { padding: 6px 4px; }
}
@media print {
    .aar-page { background: #fff; }
    .aar-hero-form, .aar-quick, .aar-toolbar, .aar-modal, .aar-toast, .tskb { display: none !important; }
    .aar-body { grid-template-columns: 1fr; }
    .aar-panel, .aar-card, .aar-verdict, .aar-hero-copy, .aar-ring-box { box-shadow: none; break-inside: avoid; }
}
