.cp-banner{position:fixed;z-index:var(--z-index-modal,1400);inset:auto 24px 24px;max-width:1060px;margin-inline:auto;display:grid;grid-template-columns:1fr auto;align-items:center;grid-gap:28px;gap:28px;padding:24px;background:var(--colors-bg-default);color:var(--colors-fg-default);border:2px solid var(--colors-neutral-7);border-radius:var(--radii-2xl);box-shadow:var(--shadows-lg)}.cp-banner strong{font-family:var(--font-logo),sans-serif;font-size:22px;line-height:1.3}.cp-banner p{margin:8px 0 0;max-width:62ch;color:var(--colors-fg-muted);font-size:var(--font-sizes-sm);line-height:1.7}.cp-banner small,.cp-preview{display:block;margin-top:12px;font-size:var(--font-sizes-xs);color:var(--colors-fg-muted);line-height:1.6}.cp-banner-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.cp-banner-actions>:last-child{grid-column:1/-1}.cp-positioner{padding:16px}.cp-dialog{width:min(100%,580px);max-width:580px;max-height:calc(100dvh - 32px);overflow:hidden}.cp-dialog,.cp-header{border-color:var(--colors-neutral-7)}.cp-header{padding:28px 28px 24px;gap:12px}.cp-heading-art,.cp-heading-art img{width:64px;height:64px}.cp-heading-art img{display:block;animation:cp-arrive .55s ease-out both}.cp-header [data-part=title]{font-family:var(--font-logo),sans-serif;font-size:clamp(26px,3vw,32px);line-height:1.2;font-weight:var(--font-weights-bold)}.cp-header [data-part=description]{font-size:var(--font-sizes-sm);line-height:1.75;margin:0}.cp-body{padding:0 28px 24px}.cp-purpose{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:12px 20px;gap:12px 20px;padding-block:24px;align-items:start;border-bottom:2px solid var(--colors-neutral-7)}.cp-purpose h3{margin:0;font-weight:var(--font-weights-bold);font-size:var(--font-sizes-md);line-height:1.5}.cp-purpose p{margin:8px 0 0;color:var(--colors-fg-muted);font-size:var(--font-sizes-sm);line-height:1.7}.cp-always{display:inline-flex;align-items:center;gap:8px;padding-top:4px;white-space:nowrap}.cp-always,.cp-kind{color:var(--colors-fg-muted);font-size:var(--font-sizes-xs)}.cp-kind{display:block;margin-top:4px}.cp-optional>p{grid-column:1/-1;margin:0}.cp-optional>label{margin-top:4px}.cp-scope{line-height:1.7;color:var(--colors-fg-muted);margin:20px 0 0}.cp-reading,.cp-scope{font-size:var(--font-sizes-xs)}.cp-reading{display:flex;align-items:center;gap:8px;min-height:44px;color:var(--colors-fg-default);text-underline-offset:4px}.cp-reading:focus-visible{outline:2px solid var(--colors-accent-default);outline-offset:4px}.cp-actions{padding:20px 28px;border-color:var(--colors-neutral-7);display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.cp-actions button,.cp-banner-actions button{width:100%;height:auto;min-height:44px;white-space:normal}.cp-error{color:var(--colors-fg-default);border-left:2px solid var(--colors-neutral-7);padding-left:12px;font-size:var(--font-sizes-sm);line-height:1.7;margin-top:16px}.cp-summary{display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between;border-block:2px solid var(--colors-neutral-7);padding-block:24px;margin-block:28px}.cp-summary p{margin:0;font-size:var(--font-sizes-sm);line-height:1.7}.cp-footer-trigger{margin:0;padding-inline:0;min-width:0;justify-content:flex-start;text-align:start;white-space:normal;font-family:inherit;letter-spacing:normal;text-transform:none;color:var(--footer-link)}.cp-footer-trigger:hover{color:var(--footer-title)}.cp-footer-trigger:focus-visible{outline:2px solid var(--footer-title);outline-offset:3px;box-shadow:none}.cp-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap}@keyframes cp-arrive{0%{transform:translateY(4px) rotate(-5deg);opacity:0}to{transform:none;opacity:1}}@media (max-width:800px){.cp-banner{grid-template-columns:1fr;gap:16px;inset:auto 16px 16px}}@media (max-width:480px){.cp-positioner{padding:10px}.cp-dialog{max-height:calc(100dvh - 20px)}.cp-header{padding:24px 20px 20px}.cp-body{padding:0 20px 20px}.cp-actions{padding:16px 20px}.cp-purpose{gap:12px}.cp-always{gap:4px}.cp-banner{padding:20px;inset-inline:10px;bottom:10px;max-height:calc(100dvh - 90px);overflow-y:auto}}@media (prefers-reduced-motion:reduce){.cp-backdrop,.cp-dialog,.cp-heading-art img{animation:none}}@media print{.cp-banner,.cp-footer-trigger,.cp-positioner,.cp-summary{display:none}}