.aicc {
    --aicc-accent: #287f68;
    --aicc-text: #333;
    --aicc-muted: #6b7280;
    --aicc-border: #e2e5e8;
    --aicc-soft: #f7f8f8;
    box-sizing: border-box;
    width: 100%;
    margin: 24px 0 30px;
    padding: clamp(18px, 3.2vw, 28px);
    color: var(--aicc-text);
    background: #fff;
    border: 1px solid var(--aicc-border);
    border-radius: 12px;
    box-shadow: 0 3px 14px rgba(0, 0, 0, .035);
    font-family: inherit;
    font-size: 15px;
    line-height: 1.7;
}
.aicc *, .aicc *::before, .aicc *::after { box-sizing: border-box; }
.aicc code { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.aicc__header { display:flex; justify-content:space-between; align-items:flex-start; gap:18px; margin-bottom:18px; }
.aicc__title { margin:0 0 3px; padding:0; border:0; color:var(--aicc-text); font-size:clamp(20px,3vw,27px); line-height:1.35; }
.aicc__lead { margin:0; color:var(--aicc-muted); font-size:14px; }
.aicc__overall, .aicc__state, .aicc__pill { display:inline-flex; align-items:center; justify-content:center; border-radius:999px; font-size:12px; font-weight:700; white-space:nowrap; }
.aicc__overall { min-height:29px; padding:4px 10px; color:var(--aicc-muted); background:var(--aicc-soft); border:1px solid var(--aicc-border); }
.aicc__overall[data-state="ok"] { color:#176b4b; background:#eef9f4; border-color:#bfe4d4; }
.aicc__overall[data-state="partial"] { color:#8a5b00; background:#fff8e7; border-color:#ead7a2; }
.aicc__overall[data-state="ng"] { color:#a33b32; background:#fff1ef; border-color:#edc3bd; }
.aicc__protocols { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }
.aicc__protocol { min-width:0; padding:17px; background:var(--aicc-soft); border:1px solid var(--aicc-border); border-radius:10px; }
.aicc__protocol-head { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-bottom:10px; }
.aicc__protocol h3 { margin:0; padding:0; border:0; font-size:18px; line-height:1.3; }
.aicc__state { padding:3px 9px; color:var(--aicc-muted); background:#fff; border:1px solid var(--aicc-border); }
.aicc__state[data-state="ok"] { color:#176b4b; border-color:#bfe4d4; }
.aicc__state[data-state="ng"] { color:#a33b32; border-color:#edc3bd; }
.aicc__protocol-ip { display:block; min-height:34px; margin:2px 0 7px; padding:0; color:var(--aicc-text); background:transparent; font-size:clamp(17px,2.7vw,23px); font-weight:700; overflow-wrap:anywhere; }
.aicc__protocol p { margin:0 0 12px; color:var(--aicc-muted); font-size:13px; }
.aicc__copy { appearance:none; margin:0; padding:6px 10px; color:var(--aicc-accent); background:#fff; border:1px solid color-mix(in srgb, var(--aicc-accent) 38%, #ddd); border-radius:6px; cursor:pointer; font:inherit; font-size:13px; font-weight:700; }
.aicc__copy:hover:not(:disabled) { background:color-mix(in srgb, var(--aicc-accent) 7%, #fff); }
.aicc__copy:disabled { cursor:not-allowed; opacity:.45; }
.aicc__diagnosis { margin:13px 0 0; padding:10px 12px; color:#315d51; background:color-mix(in srgb, var(--aicc-accent) 8%, #fff); border-left:4px solid var(--aicc-accent); border-radius:4px; font-weight:700; }
.aicc__guide { margin-top:18px; padding:16px 18px; background:#fff; border:1px solid var(--aicc-border); border-radius:9px; }
.aicc__guide h3 { margin:0 0 7px; padding:0; border:0; font-size:16px; }
.aicc__guide ul { margin:0; padding-left:1.25em; }
.aicc__guide li { margin:4px 0; }
.aicc__summary { margin-top:20px; padding-top:20px; border-top:1px solid var(--aicc-border); }
.aicc__label { display:block; margin-bottom:6px; color:var(--aicc-muted); font-size:13px; font-weight:700; }
.aicc__main-ip { margin-bottom:13px; padding:15px 17px; background:#fff; border:1px solid var(--aicc-border); border-radius:9px; }
.aicc__main-ip-line { display:flex; flex-wrap:wrap; align-items:center; gap:9px; }
.aicc__main-ip code { padding:0; color:var(--aicc-text); background:transparent; font-size:clamp(20px,3.8vw,31px); font-weight:800; overflow-wrap:anywhere; }
.aicc__pill { padding:3px 9px; color:#fff; background:var(--aicc-accent); }
.aicc__facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.aicc__fact { min-width:0; padding:12px 14px; background:var(--aicc-soft); border:1px solid var(--aicc-border); border-radius:8px; }
.aicc__fact span { display:block; margin-bottom:3px; color:var(--aicc-muted); font-size:12px; font-weight:700; }
.aicc__fact strong { display:block; font-size:14px; font-weight:700; overflow-wrap:anywhere; }
.aicc__actions { display:flex; flex-wrap:wrap; gap:9px; margin-top:18px; }
.aicc .aicc__button { appearance:none; min-height:40px; margin:0; padding:8px 16px; color:#fff; background:var(--aicc-accent); border:1px solid var(--aicc-accent); border-radius:7px; box-shadow:none; cursor:pointer; font:inherit; font-size:14px; font-weight:700; line-height:1.2; }
.aicc .aicc__button--sub { color:var(--aicc-text); background:#fff; border-color:var(--aicc-border); }
.aicc .aicc__button:hover:not(:disabled) { filter:brightness(.96); }
.aicc .aicc__button:focus-visible, .aicc__copy:focus-visible { outline:3px solid color-mix(in srgb, var(--aicc-accent) 30%, transparent); outline-offset:2px; }
.aicc .aicc__button:disabled { opacity:.5; cursor:not-allowed; }
.aicc__details { margin-top:14px; padding:15px 17px; background:var(--aicc-soft); border:1px solid var(--aicc-border); border-radius:9px; }
.aicc__details dl { margin:0; }
.aicc__details dl > div { display:grid; grid-template-columns:130px minmax(0,1fr); gap:12px; padding:8px 0; border-bottom:1px dashed #dfe2e4; }
.aicc__details dl > div:last-child { border-bottom:0; }
.aicc__details dt { color:var(--aicc-muted); font-weight:700; }
.aicc__details dd { margin:0; overflow-wrap:anywhere; }
.aicc__external { margin:10px 0 0; color:var(--aicc-muted); font-size:12px; }
.aicc__message { min-height:1.5em; margin:10px 0 0; font-size:13px; }
.aicc__message[data-type="warning"] { color:#8a5b00; }
.aicc__message[data-type="error"] { color:#a33b32; }
.aicc__message[data-type="success"] { color:#176b4b; }
.aicc__note { margin:9px 0 0; color:var(--aicc-muted); font-size:12px; }
@media (max-width:640px) {
    .aicc { padding:17px 14px; border-radius:9px; }
    .aicc__header { display:block; }
    .aicc__overall { margin-top:9px; }
    .aicc__protocols, .aicc__facts { grid-template-columns:1fr; }
    .aicc__actions { display:grid; grid-template-columns:1fr 1fr; }
    .aicc .aicc__button { width:100%; }
    .aicc__details dl > div { grid-template-columns:1fr; gap:1px; }
}
@media (prefers-reduced-motion:reduce) { .aicc * { scroll-behavior:auto !important; } }
