@pcoi/components 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components.css +1 -1
- package/dist/index.d.ts +5 -6
- package/dist/index.js +2 -2
- package/dist/index.mjs +296 -375
- package/package.json +12 -5
- package/src/Badge/Badge.css +2 -2
- package/src/Button/Button.css +4 -4
- package/src/Button/Button.figma.tsx +3 -5
- package/src/Button/Button.test.tsx +32 -0
- package/src/Callout/Callout.css +5 -5
- package/src/Callout/Callout.figma.tsx +25 -0
- package/src/Card/Card.css +8 -8
- package/src/Card/Card.figma.tsx +28 -0
- package/src/ChatInterface/ChatInterface.css +5 -5
- package/src/ChatInterface/ChatInterface.integration.test.tsx +123 -0
- package/src/ChatMessage/ChatMessage.css +8 -8
- package/src/ChatMessageList/ChatMessageList.css +4 -4
- package/src/ChatMessageList/ChatMessageList.test.tsx +74 -0
- package/src/Checkbox/Checkbox.css +6 -6
- package/src/CitationMark/CitationMark.css +3 -3
- package/src/CitedExcerpt/CitedExcerpt.css +7 -7
- package/src/ComparisonTable/ComparisonTable.css +6 -6
- package/src/ContactForm/ContactForm.css +5 -5
- package/src/ContactForm/ContactForm.tsx +1 -1
- package/src/DataTable/DataTable.css +4 -4
- package/src/DocumentOverlay/DocumentOverlay.css +5 -5
- package/src/DocumentOverlay/DocumentOverlay.test.tsx +95 -0
- package/src/DocumentOverlay/DocumentOverlay.tsx +1 -1
- package/src/Footer/Footer.css +9 -9
- package/src/FormField/FormField.css +4 -4
- package/src/FormField/FormField.figma.tsx +28 -0
- package/src/HowStep/HowStep.css +4 -4
- package/src/HowStep/HowStep.figma.tsx +23 -0
- package/src/LogoMark/LogoMark.tsx +1 -2
- package/src/Modal/Modal.css +11 -11
- package/src/Modal/Modal.figma.tsx +28 -0
- package/src/Modal/Modal.test.tsx +46 -0
- package/src/Modal/Modal.tsx +17 -19
- package/src/Nav/Nav.css +16 -16
- package/src/Panel/Panel.css +3 -3
- package/src/PromptBar/PromptBar.css +10 -10
- package/src/PromptBar/PromptBar.figma.tsx +25 -0
- package/src/PromptBar/PromptBar.test.tsx +83 -0
- package/src/PromptBar/PromptBar.tsx +2 -2
- package/src/RadioGroup/RadioGroup.css +11 -11
- package/src/SectionHeader/SectionHeader.css +4 -4
- package/src/SectionHeader/SectionHeader.figma.tsx +23 -0
- package/src/Select/Select.css +5 -5
- package/src/Select/Select.figma.tsx +33 -0
- package/src/Select/Select.tsx +1 -1
- package/src/SignalsPanel/SignalsPanel.css +9 -9
- package/src/SuggestionCard/SuggestionCard.css +5 -5
- package/src/SuggestionCards/SuggestionCards.css +1 -1
- package/src/SuggestionCards/SuggestionCards.test.tsx +27 -0
- package/src/SuggestionCards/SuggestionCards.tsx +1 -1
- package/src/Toast/Toast.css +14 -14
- package/src/Toast/Toast.tsx +1 -1
- package/src/Toggle/Toggle.css +15 -15
- package/src/Toggle/Toggle.figma.tsx +24 -0
- package/src/TypingIndicator/TypingIndicator.css +6 -6
package/dist/components.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.pcoi-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pcoi-badge{display:inline-flex;align-items:center;font-family:var(--pcoi-semantic-type-mono-font);font-size:var(--pcoi-semantic-type-badge-size);font-weight:var(--pcoi-semantic-type-label-weight);letter-spacing:var(--pcoi-semantic-type-badge-letter-spacing);text-transform:uppercase;padding:var(--pcoi-spacing-4) var(--pcoi-spacing-10);border-radius:var(--pcoi-radius-full);line-height:var(--pcoi-semantic-type-none-line-height)}.pcoi-badge--default{background:var(--pcoi-semantic-surface-accent-dim);color:var(--pcoi-semantic-text-accent)}.pcoi-badge--success{background:var(--pcoi-semantic-action-success-bg);color:var(--pcoi-semantic-text-success)}.pcoi-badge--error{background:var(--pcoi-semantic-action-error-bg);color:var(--pcoi-semantic-text-error)}.pcoi-badge--warning{background:var(--pcoi-semantic-action-warning-bg);color:var(--pcoi-semantic-text-warning)}.pcoi-badge--info{background:var(--pcoi-semantic-action-info-bg);color:var(--pcoi-semantic-text-info)}.pcoi-logo{font-family:var(--pcoi-semantic-type-body-font);font-size:var(--pcoi-semantic-type-logo-size);font-weight:var(--pcoi-semantic-type-emphasis-weight);letter-spacing:var(--pcoi-semantic-type-logo-letter-spacing);color:var(--pcoi-semantic-text-primary);text-decoration:none;display:inline-flex;align-items:center}.pcoi-logo__mark{color:var(--pcoi-semantic-text-accent)}.pcoi-btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--pcoi-spacing-14) var(--pcoi-spacing-28);font-size:var(--pcoi-semantic-type-body-size);font-weight:var(--pcoi-semantic-type-emphasis-weight);font-family:var(--pcoi-semantic-type-body-font);border-radius:var(--pcoi-radius-sm);border:none;cursor:pointer;transition:all var(--pcoi-effect-transition-fast, .2s ease);text-decoration:none;line-height:var(--pcoi-semantic-type-none-line-height);white-space:nowrap}.pcoi-btn--primary{background:var(--pcoi-semantic-action-primary-bg);color:var(--pcoi-semantic-action-primary-text)}.pcoi-btn--primary:hover{background:var(--pcoi-semantic-action-primary-bg-hover);transform:var(--pcoi-effect-transform-hover-lift);box-shadow:var(--pcoi-effect-shadow-btn-primary-hover)}.pcoi-btn--ghost{background:transparent;color:var(--pcoi-semantic-action-ghost-text);border:1px solid var(--pcoi-semantic-action-ghost-border)}.pcoi-btn--ghost:hover{color:var(--pcoi-semantic-action-ghost-text-hover);border-color:var(--pcoi-semantic-action-ghost-border-hover);background:var(--pcoi-semantic-action-ghost-bg-hover)}.pcoi-btn--nav-cta{background:var(--pcoi-semantic-action-primary-bg);color:var(--pcoi-semantic-action-primary-text);padding:var(--pcoi-spacing-10) var(--pcoi-spacing-22);font-weight:var(--pcoi-semantic-type-emphasis-weight)}.pcoi-btn--nav-cta:hover{background:var(--pcoi-semantic-action-primary-bg-hover);transform:var(--pcoi-effect-transform-hover-lift-sm)}.pcoi-btn--primary:active{transform:var(--pcoi-effect-transform-press-scale);box-shadow:none}.pcoi-btn--ghost:active{transform:var(--pcoi-effect-transform-press-scale)}.pcoi-btn--nav-cta:active{transform:var(--pcoi-effect-transform-press-scale);box-shadow:none}.pcoi-btn:focus-visible{outline:none;box-shadow:var(--pcoi-effect-shadow-focus-ring)}.pcoi-btn:disabled,.pcoi-btn[aria-disabled=true]{opacity:var(--pcoi-effect-opacity-disabled);cursor:not-allowed;transform:none;box-shadow:none}.pcoi-btn--large{padding:var(--pcoi-spacing-16) var(--pcoi-spacing-36);font-size:var(--pcoi-semantic-type-body-lg-size)}.pcoi-field{display:flex;flex-direction:column;gap:var(--pcoi-spacing-6)}.pcoi-field__label{font-size:var(--pcoi-semantic-type-label-size);font-weight:var(--pcoi-semantic-type-label-weight);letter-spacing:var(--pcoi-semantic-type-label-letter-spacing);text-transform:uppercase;color:var(--pcoi-semantic-text-secondary)}.pcoi-field__required{color:var(--pcoi-semantic-text-error);margin-left:var(--pcoi-spacing-4)}.pcoi-field__input,.pcoi-field__textarea{font-family:var(--pcoi-semantic-type-body-font);font-size:var(--pcoi-semantic-type-body-size);color:var(--pcoi-semantic-text-primary);background:var(--pcoi-semantic-bg-default);border:1px solid var(--pcoi-semantic-border-default);border-radius:var(--pcoi-radius-sm);padding:var(--pcoi-spacing-12) var(--pcoi-spacing-14);transition:border-color var(--pcoi-effect-transition-fast, .2s ease),box-shadow var(--pcoi-effect-transition-fast, .2s ease)}.pcoi-field__input::placeholder,.pcoi-field__textarea::placeholder{color:var(--pcoi-semantic-text-muted)}.pcoi-field__input:not(:disabled):not(:focus):hover,.pcoi-field__textarea:not(:disabled):not(:focus):hover{border-color:var(--pcoi-semantic-border-input-hover)}.pcoi-field__input:focus,.pcoi-field__textarea:focus{outline:none;border-color:var(--pcoi-semantic-focus-border);box-shadow:var(--pcoi-effect-shadow-focus-ring)}.pcoi-field__textarea{resize:vertical;min-height:var(--pcoi-semantic-sizing-textarea-min-height)}.pcoi-field--error .pcoi-field__input,.pcoi-field--error .pcoi-field__textarea{border-color:var(--pcoi-semantic-border-error)}.pcoi-field--error .pcoi-field__input:focus,.pcoi-field--error .pcoi-field__textarea:focus{box-shadow:var(--pcoi-effect-shadow-focus-ring-error)}.pcoi-field__error{font-size:var(--pcoi-semantic-type-label-size);color:var(--pcoi-semantic-text-error);margin:0}.pcoi-field--disabled{opacity:var(--pcoi-effect-opacity-disabled);pointer-events:none}.pcoi-card{border:1px solid var(--pcoi-semantic-border-card);border-radius:var(--pcoi-radius-md);padding:var(--pcoi-spacing-36);transition:border-color var(--pcoi-effect-transition-medium, .3s ease),transform var(--pcoi-effect-transition-medium, .3s ease)}.pcoi-card:hover{border-color:var(--pcoi-semantic-border-card-hover);transform:var(--pcoi-effect-transform-hover-lift)}.pcoi-card--problem{background:var(--pcoi-semantic-bg-card)}.pcoi-card--problem .pcoi-card__icon{width:var(--pcoi-semantic-sizing-icon-box);height:var(--pcoi-semantic-sizing-icon-box);border-radius:var(--pcoi-radius-sm);background:var(--pcoi-semantic-surface-accent-dim);display:flex;align-items:center;justify-content:center;margin-bottom:var(--pcoi-spacing-20);color:var(--pcoi-semantic-text-accent)}.pcoi-card--problem .pcoi-card__title{font-size:var(--pcoi-semantic-type-heading-md-size);font-weight:var(--pcoi-semantic-type-emphasis-weight);color:var(--pcoi-semantic-text-primary);margin:0 0 var(--pcoi-spacing-10) 0}.pcoi-card--problem .pcoi-card__description{font-size:var(--pcoi-semantic-type-body-size);color:var(--pcoi-semantic-text-secondary);line-height:var(--pcoi-semantic-type-body-line-height)}.pcoi-card--who{background:var(--pcoi-semantic-bg-surface)}.pcoi-card--who .pcoi-card__title{font-size:var(--pcoi-semantic-type-heading-sm-size);font-weight:var(--pcoi-semantic-type-emphasis-weight);color:var(--pcoi-semantic-text-accent);margin:0 0 var(--pcoi-spacing-10) 0}.pcoi-card--who .pcoi-card__description{font-size:var(--pcoi-semantic-type-body-compact-size);color:var(--pcoi-semantic-text-secondary);line-height:var(--pcoi-semantic-type-body-line-height)}.pcoi-card--principle{background:var(--pcoi-semantic-bg-card)}.pcoi-card--principle .pcoi-card__number{font-family:var(--pcoi-semantic-type-mono-font);font-size:var(--pcoi-semantic-type-body-sm-size);font-weight:var(--pcoi-semantic-type-emphasis-weight);color:var(--pcoi-semantic-text-accent);margin-bottom:var(--pcoi-spacing-16)}.pcoi-card--principle .pcoi-card__title{font-size:var(--pcoi-semantic-type-card-subtitle-size);font-weight:var(--pcoi-semantic-type-emphasis-weight);color:var(--pcoi-semantic-text-primary);margin:0 0 var(--pcoi-spacing-10) 0}.pcoi-card--principle .pcoi-card__description{font-size:var(--pcoi-semantic-type-body-compact-size);color:var(--pcoi-semantic-text-secondary);line-height:var(--pcoi-semantic-type-body-line-height)}.pcoi-nav{position:fixed;top:0;left:0;right:0;z-index:var(--pcoi-layout-zIndex-nav, 1000);height:var(--pcoi-layout-nav-height, 72px);transition:background var(--pcoi-effect-transition-medium, .3s ease),box-shadow var(--pcoi-effect-transition-medium, .3s ease)}.pcoi-nav--scrolled{background:var(--pcoi-semantic-bg-nav-scrolled);-webkit-backdrop-filter:blur(var(--pcoi-effect-blur-nav-backdrop, 20px));backdrop-filter:blur(var(--pcoi-effect-blur-nav-backdrop, 20px));box-shadow:var(--pcoi-effect-shadow-nav-scrolled)}.pcoi-nav__inner{max-width:var(--pcoi-layout-container-max);margin:0 auto;padding:0 var(--pcoi-spacing-24);height:100%;display:flex;align-items:center;justify-content:space-between}.pcoi-nav__links{display:flex;align-items:center;gap:var(--pcoi-spacing-32)}.pcoi-nav__links a{font-size:var(--pcoi-semantic-type-nav-size);font-weight:var(--pcoi-semantic-type-label-weight);color:var(--pcoi-semantic-text-secondary);text-decoration:none;transition:color var(--pcoi-effect-transition-fast, .2s ease)}.pcoi-nav__links a:hover{color:var(--pcoi-semantic-text-primary)}.pcoi-nav__links a:focus-visible{outline:none;box-shadow:var(--pcoi-effect-shadow-focus-ring);border-radius:var(--pcoi-radius-sm)}.pcoi-nav__links a:active{transform:var(--pcoi-effect-transform-press-scale)}.pcoi-nav__hamburger{display:none;flex-direction:column;justify-content:center;gap:var(--pcoi-spacing-5);width:var(--pcoi-layout-component-hamburger);height:var(--pcoi-layout-component-hamburger);background:none;border:none;cursor:pointer;padding:0}.pcoi-nav__hamburger:hover{color:var(--pcoi-semantic-text-primary)}.pcoi-nav__hamburger:focus-visible{outline:none;box-shadow:var(--pcoi-effect-shadow-focus-ring);border-radius:var(--pcoi-radius-sm)}.pcoi-nav__hamburger:active{transform:var(--pcoi-effect-transform-press-scale-icon)}.pcoi-nav__hamburger span{display:block;width:100%;height:2px;background:var(--pcoi-semantic-text-primary);border-radius:1px;transition:transform var(--pcoi-effect-transition-fast, .2s ease),opacity var(--pcoi-effect-transition-fast, .2s ease)}.pcoi-nav__hamburger--active span:nth-child(1){transform:translateY(var(--pcoi-layout-component-hamburger-bar-offset)) rotate(45deg)}.pcoi-nav__hamburger--active span:nth-child(2){opacity:0}.pcoi-nav__hamburger--active span:nth-child(3){transform:translateY(calc(-1 * var(--pcoi-layout-component-hamburger-bar-offset))) rotate(-45deg)}.pcoi-nav__mobile-menu{display:none;flex-direction:column;padding:var(--pcoi-spacing-24) var(--pcoi-spacing-24) var(--pcoi-spacing-32);background:var(--pcoi-semantic-bg-default);box-shadow:var(--pcoi-effect-shadow-mobile-menu)}.pcoi-nav__mobile-menu a{font-size:var(--pcoi-semantic-type-body-lg-size);font-weight:var(--pcoi-semantic-type-label-weight);color:var(--pcoi-semantic-text-secondary);text-decoration:none;padding:var(--pcoi-spacing-12) 0;transition:color var(--pcoi-effect-transition-fast, .2s ease)}.pcoi-nav__mobile-menu a:hover{color:var(--pcoi-semantic-text-primary)}.pcoi-nav__mobile-menu a:focus-visible{outline:none;box-shadow:var(--pcoi-effect-shadow-focus-ring);border-radius:var(--pcoi-radius-sm)}.pcoi-nav__mobile-menu a:active{transform:var(--pcoi-effect-transform-press-scale)}.pcoi-nav__mobile-menu .pcoi-btn{margin-top:var(--pcoi-spacing-16);width:100%;justify-content:center}@media (max-width: 768px){.pcoi-nav__links{display:none}.pcoi-nav__hamburger,.pcoi-nav--menu-open .pcoi-nav__mobile-menu{display:flex}}.pcoi-section-header{text-align:center;max-width:var(--pcoi-layout-container-narrow);margin:0 auto var(--pcoi-spacing-64)}.pcoi-section-header__label{display:inline-block;font-family:var(--pcoi-semantic-type-mono-font);font-size:var(--pcoi-semantic-type-section-label-size);font-weight:var(--pcoi-semantic-type-label-weight);letter-spacing:var(--pcoi-semantic-type-section-label-letter-spacing);text-transform:uppercase;color:var(--pcoi-semantic-text-accent);margin-bottom:var(--pcoi-spacing-16)}.pcoi-section-header__title{font-size:var(--pcoi-semantic-type-section-title-size);font-weight:var(--pcoi-semantic-type-heading-weight);line-height:var(--pcoi-semantic-type-heading-line-height);letter-spacing:var(--pcoi-semantic-type-heading-letter-spacing);color:var(--pcoi-semantic-text-primary);margin:0 0 var(--pcoi-spacing-16) 0}.pcoi-section-header__title em{font-style:normal;color:var(--pcoi-semantic-text-accent)}.pcoi-section-header__desc{font-size:var(--pcoi-semantic-type-heading-sm-size);color:var(--pcoi-semantic-text-secondary);line-height:var(--pcoi-semantic-type-relaxed-line-height)}.pcoi-how-step{display:flex;align-items:flex-start;gap:var(--pcoi-spacing-32);padding:var(--pcoi-spacing-40) 0;border-bottom:1px solid var(--pcoi-semantic-border-default)}.pcoi-how-step--last{border-bottom:none}.pcoi-how-step__number{flex-shrink:0;width:var(--pcoi-semantic-sizing-step-number);height:var(--pcoi-semantic-sizing-step-number);border-radius:var(--pcoi-radius-full);background:var(--pcoi-semantic-surface-accent-dim);border:1px solid var(--pcoi-semantic-border-accent-dim);display:flex;align-items:center;justify-content:center;font-family:var(--pcoi-semantic-type-mono-font);font-size:var(--pcoi-semantic-type-body-sm-size);font-weight:var(--pcoi-semantic-type-emphasis-weight);color:var(--pcoi-semantic-text-accent)}.pcoi-how-step__content{flex:1;min-width:0}.pcoi-how-step__title{font-size:var(--pcoi-semantic-type-step-title-size);font-weight:var(--pcoi-semantic-type-emphasis-weight);color:var(--pcoi-semantic-text-primary);margin:0 0 var(--pcoi-spacing-8) 0}.pcoi-how-step__desc{font-size:var(--pcoi-semantic-type-body-size);color:var(--pcoi-semantic-text-secondary);line-height:var(--pcoi-semantic-type-step-line-height);margin:0}.pcoi-comparison{max-width:var(--pcoi-layout-container-compare, 900px);border:1px solid var(--pcoi-semantic-border-card);border-radius:var(--pcoi-radius-md);overflow:hidden}.pcoi-comparison__table{width:100%;border-collapse:collapse}.pcoi-comparison__header .pcoi-comparison__col{font-family:var(--pcoi-semantic-type-mono-font);font-size:var(--pcoi-semantic-type-body-sm-size);font-weight:var(--pcoi-semantic-type-emphasis-weight);letter-spacing:var(--pcoi-semantic-type-label-letter-spacing);text-transform:uppercase;color:var(--pcoi-semantic-text-secondary);padding:var(--pcoi-spacing-16) var(--pcoi-spacing-20);background:var(--pcoi-semantic-bg-alt);text-align:left}.pcoi-comparison__row{border-top:1px solid var(--pcoi-semantic-border-card)}.pcoi-comparison__col{padding:var(--pcoi-spacing-16) var(--pcoi-spacing-20);font-size:var(--pcoi-semantic-type-body-compact-size);color:var(--pcoi-semantic-text-secondary);line-height:var(--pcoi-semantic-type-body-compact-line-height)}.pcoi-comparison__col--label{font-weight:var(--pcoi-semantic-type-label-weight);color:var(--pcoi-semantic-text-primary);text-align:left}.pcoi-comparison__col--highlight{background:var(--pcoi-semantic-surface-highlight);color:var(--pcoi-semantic-text-accent);font-weight:var(--pcoi-semantic-type-label-weight)}.pcoi-comparison__header .pcoi-comparison__col--highlight{color:var(--pcoi-semantic-text-accent);font-weight:var(--pcoi-semantic-type-emphasis-weight)}@media (max-width: 768px){.pcoi-comparison{overflow-x:auto;-webkit-overflow-scrolling:touch}.pcoi-comparison__table{min-width:var(--pcoi-layout-container-compare-scroll)}}.pcoi-form{background:var(--pcoi-semantic-bg-surface);border:1px solid var(--pcoi-semantic-border-default);border-radius:var(--pcoi-radius-lg);padding:var(--pcoi-spacing-40);display:flex;flex-direction:column;gap:var(--pcoi-spacing-20)}.pcoi-form__row{display:grid;grid-template-columns:1fr 1fr;gap:var(--pcoi-spacing-20)}.pcoi-form__full{grid-column:1 / -1}.pcoi-form__note{font-size:var(--pcoi-semantic-type-label-size);color:var(--pcoi-semantic-text-muted);margin:0}@media (max-width: 768px){.pcoi-form{padding:var(--pcoi-spacing-24)}.pcoi-form__row{grid-template-columns:1fr}}.pcoi-callout{text-align:center;padding:var(--pcoi-spacing-40) var(--pcoi-spacing-24);display:flex;flex-direction:column;align-items:center}.pcoi-callout__line{width:var(--pcoi-layout-component-accent-line-w);height:2px;background:var(--pcoi-semantic-text-accent);margin-bottom:var(--pcoi-spacing-32)}.pcoi-callout__quote{font-size:var(--pcoi-semantic-type-callout-size);font-weight:var(--pcoi-semantic-type-callout-weight);color:var(--pcoi-semantic-text-secondary);line-height:var(--pcoi-semantic-type-body-compact-line-height);max-width:var(--pcoi-layout-container-chamath, 640px);margin:0 0 var(--pcoi-spacing-24) 0;font-style:italic}.pcoi-callout__attribution{font-size:var(--pcoi-semantic-type-body-sm-size);color:var(--pcoi-semantic-text-muted);margin:0}.pcoi-callout__attribution a{color:var(--pcoi-semantic-text-accent);text-decoration:underline;text-underline-offset:2px;transition:color var(--pcoi-effect-transition-fast, .2s ease)}.pcoi-callout__attribution a:hover{color:var(--pcoi-semantic-text-accent-hover)}.pcoi-signals{background:var(--pcoi-semantic-bg-surface);border:1px solid var(--pcoi-semantic-border-default);border-radius:var(--pcoi-radius-md);padding:var(--pcoi-spacing-40) var(--pcoi-spacing-48)}.pcoi-signals__title{font-size:var(--pcoi-semantic-type-heading-sm-size);font-weight:var(--pcoi-semantic-type-emphasis-weight);color:var(--pcoi-semantic-text-accent);margin:0 0 var(--pcoi-spacing-24) 0}.pcoi-signals__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--pcoi-spacing-14)}.pcoi-signals__item{position:relative;padding-left:var(--pcoi-spacing-24);font-size:var(--pcoi-semantic-type-body-compact-size);color:var(--pcoi-semantic-text-secondary);line-height:var(--pcoi-semantic-type-body-compact-line-height)}.pcoi-signals__item:before{content:"";position:absolute;left:0;top:8px;width:var(--pcoi-layout-component-bullet);height:var(--pcoi-layout-component-bullet);border-radius:var(--pcoi-radius-full);background:var(--pcoi-semantic-text-accent);opacity:.5}@media (max-width: 768px){.pcoi-signals{padding:var(--pcoi-spacing-24) var(--pcoi-spacing-28)}}.pcoi-footer{border-top:1px solid var(--pcoi-semantic-border-default);padding:var(--pcoi-spacing-60) var(--pcoi-spacing-24) var(--pcoi-spacing-40)}.pcoi-footer__inner{max-width:var(--pcoi-layout-container-max);margin:0 auto;display:flex;justify-content:space-between;align-items:flex-start}.pcoi-footer__logo{margin-bottom:var(--pcoi-spacing-8)}.pcoi-footer__tagline{font-size:var(--pcoi-semantic-type-body-sm-size);color:var(--pcoi-semantic-text-secondary);line-height:var(--pcoi-semantic-type-body-compact-line-height);margin:0;white-space:pre-line}.pcoi-footer__links{display:flex;flex-wrap:wrap;gap:var(--pcoi-spacing-28)}.pcoi-footer__links a{font-size:var(--pcoi-semantic-type-nav-size);color:var(--pcoi-semantic-text-secondary);text-decoration:none;transition:color var(--pcoi-effect-transition-fast, .2s ease)}.pcoi-footer__links a:hover{color:var(--pcoi-semantic-text-primary)}.pcoi-footer__bottom{max-width:var(--pcoi-layout-container-max);margin:var(--pcoi-spacing-40) auto 0;padding-top:var(--pcoi-spacing-24);border-top:1px solid var(--pcoi-semantic-border-default)}.pcoi-footer__bottom p{font-size:var(--pcoi-semantic-type-label-size);color:var(--pcoi-semantic-text-muted);margin:0}@media (max-width: 768px){.pcoi-footer__inner{flex-direction:column;gap:var(--pcoi-spacing-32)}.pcoi-footer__links{flex-direction:column;gap:var(--pcoi-spacing-14)}}.pcoi-select{display:flex;flex-direction:column;gap:var(--pcoi-spacing-6)}.pcoi-select__label{font-size:var(--pcoi-semantic-type-label-size);font-weight:var(--pcoi-semantic-type-label-weight);letter-spacing:var(--pcoi-semantic-type-label-letter-spacing);text-transform:uppercase;color:var(--pcoi-semantic-text-secondary)}.pcoi-select__required{color:var(--pcoi-semantic-text-error);margin-left:var(--pcoi-spacing-4)}.pcoi-select__wrapper{position:relative}.pcoi-select__native{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;font-family:var(--pcoi-semantic-type-body-font);font-size:var(--pcoi-semantic-type-body-size);color:var(--pcoi-semantic-text-primary);background:var(--pcoi-semantic-bg-default);border:1px solid var(--pcoi-semantic-border-default);border-radius:var(--pcoi-radius-sm);padding:var(--pcoi-spacing-12) var(--pcoi-spacing-36) var(--pcoi-spacing-12) var(--pcoi-spacing-14);cursor:pointer;transition:border-color var(--pcoi-effect-transition-fast, .2s ease),box-shadow var(--pcoi-effect-transition-fast, .2s ease)}.pcoi-select__native:hover{border-color:var(--pcoi-semantic-border-input-hover)}.pcoi-select__native:active{transform:var(--pcoi-effect-transform-press-scale-input)}.pcoi-select__native:focus{outline:none;border-color:var(--pcoi-semantic-focus-border);box-shadow:var(--pcoi-effect-shadow-focus-ring)}.pcoi-select__native option{background:var(--pcoi-semantic-bg-default);color:var(--pcoi-semantic-text-primary)}.pcoi-select__chevron{position:absolute;right:var(--pcoi-spacing-14);top:50%;transform:translateY(-50%);pointer-events:none;color:var(--pcoi-semantic-text-secondary);display:flex;align-items:center}.pcoi-select--error .pcoi-select__native{border-color:var(--pcoi-semantic-border-error)}.pcoi-select--error .pcoi-select__native:focus{box-shadow:var(--pcoi-effect-shadow-focus-ring-error)}.pcoi-select__error{font-size:var(--pcoi-semantic-type-label-size);color:var(--pcoi-semantic-text-error);margin:0}.pcoi-select--disabled{opacity:var(--pcoi-effect-opacity-disabled);pointer-events:none}.pcoi-checkbox{display:flex;flex-direction:column;gap:var(--pcoi-spacing-6)}.pcoi-checkbox__control{display:inline-flex;align-items:center;gap:var(--pcoi-spacing-8);cursor:pointer}.pcoi-checkbox__input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pcoi-checkbox__box{width:var(--pcoi-layout-component-control-box);height:var(--pcoi-layout-component-control-box);flex-shrink:0;border:1px solid var(--pcoi-semantic-border-default);border-radius:var(--pcoi-radius-sm);background:var(--pcoi-semantic-bg-default);transition:background var(--pcoi-effect-transition-fast, .2s ease),border-color var(--pcoi-effect-transition-fast, .2s ease);position:relative}.pcoi-checkbox__box:after{content:"";position:absolute;top:2px;left:5px;width:5px;height:9px;border:solid var(--pcoi-semantic-action-primary-text);border-width:0 2px 2px 0;transform:rotate(45deg);opacity:0;transition:opacity var(--pcoi-effect-transition-fast, .2s ease)}.pcoi-checkbox__input:checked+.pcoi-checkbox__box{background:var(--pcoi-semantic-action-primary-bg);border-color:var(--pcoi-semantic-action-primary-bg)}.pcoi-checkbox__input:checked+.pcoi-checkbox__box:after{opacity:1}.pcoi-checkbox__control:hover .pcoi-checkbox__box{border-color:var(--pcoi-semantic-border-input-hover)}.pcoi-checkbox__control:active .pcoi-checkbox__box{transform:var(--pcoi-effect-transform-press-scale-control)}.pcoi-checkbox__input:focus-visible+.pcoi-checkbox__box{border-color:var(--pcoi-semantic-focus-border);box-shadow:var(--pcoi-effect-shadow-focus-ring)}.pcoi-checkbox__label{font-size:var(--pcoi-semantic-type-body-size);color:var(--pcoi-semantic-text-primary)}.pcoi-checkbox--error .pcoi-checkbox__box{border-color:var(--pcoi-semantic-border-error)}.pcoi-checkbox__error{font-size:var(--pcoi-semantic-type-label-size);color:var(--pcoi-semantic-text-error);margin:0;padding-left:calc(var(--pcoi-layout-component-control-box) + var(--pcoi-spacing-8))}.pcoi-checkbox--disabled{opacity:var(--pcoi-effect-opacity-disabled);pointer-events:none}.pcoi-toggle{display:flex;flex-direction:column;gap:var(--pcoi-spacing-6)}.pcoi-toggle__control{display:inline-flex;align-items:center;gap:var(--pcoi-spacing-12);cursor:pointer}.pcoi-toggle__input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pcoi-toggle__track{width:var(--pcoi-layout-component-toggle-track-w);height:var(--pcoi-layout-component-toggle-track-h);flex-shrink:0;border-radius:var(--pcoi-radius-full);background:var(--pcoi-semantic-action-toggle-bg);position:relative;transition:background var(--pcoi-effect-transition-fast, .2s ease)}.pcoi-toggle__thumb{position:absolute;top:var(--pcoi-layout-component-toggle-thumb-inset);left:var(--pcoi-layout-component-toggle-thumb-inset);width:var(--pcoi-layout-component-toggle-thumb);height:var(--pcoi-layout-component-toggle-thumb);border-radius:var(--pcoi-radius-full);background:var(--pcoi-semantic-action-toggle-thumb);transition:transform var(--pcoi-effect-transition-fast, .2s ease),background var(--pcoi-effect-transition-fast, .2s ease)}.pcoi-toggle__thumb:after{content:"";position:absolute;top:50%;left:50%;width:var(--pcoi-layout-component-toggle-check-w);height:var(--pcoi-layout-component-toggle-check-h);border:solid var(--pcoi-semantic-action-success);border-width:0 var(--pcoi-layout-component-toggle-check-stroke) var(--pcoi-layout-component-toggle-check-stroke) 0;transform:translate(-50%,-60%) rotate(45deg);opacity:0;transition:opacity var(--pcoi-effect-transition-fast, .2s ease)}.pcoi-toggle__control:hover .pcoi-toggle__track{box-shadow:0 0 0 1px var(--pcoi-semantic-border-input-hover)}.pcoi-toggle__control:active .pcoi-toggle__track{transform:var(--pcoi-effect-transform-press-scale-track)}.pcoi-toggle__input:checked+.pcoi-toggle__track{background:var(--pcoi-semantic-action-toggle-bg-on)}.pcoi-toggle__input:checked+.pcoi-toggle__track .pcoi-toggle__thumb{transform:translate(var(--pcoi-layout-component-toggle-thumb-travel)) var(--pcoi-effect-transform-toggle-thumb-on)}.pcoi-toggle__input:checked+.pcoi-toggle__track .pcoi-toggle__thumb:after{opacity:1}.pcoi-toggle__input:focus-visible+.pcoi-toggle__track{outline:none;box-shadow:var(--pcoi-effect-shadow-focus-ring)}.pcoi-toggle__label{font-size:var(--pcoi-semantic-type-body-size);color:var(--pcoi-semantic-text-primary)}.pcoi-toggle--error .pcoi-toggle__track{box-shadow:0 0 0 1px var(--pcoi-semantic-border-error)}.pcoi-toggle__error{font-size:var(--pcoi-semantic-type-label-size);color:var(--pcoi-semantic-text-error);margin:0;padding-left:calc(var(--pcoi-layout-component-toggle-track-w) + var(--pcoi-spacing-12))}.pcoi-toggle--disabled{opacity:var(--pcoi-effect-opacity-disabled);pointer-events:none}.pcoi-radio-group{border:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--pcoi-spacing-10)}.pcoi-radio-group__legend{font-size:var(--pcoi-semantic-type-label-size);font-weight:var(--pcoi-semantic-type-label-weight);letter-spacing:var(--pcoi-semantic-type-label-letter-spacing);text-transform:uppercase;color:var(--pcoi-semantic-text-secondary);margin-bottom:var(--pcoi-spacing-4)}.pcoi-radio-group__required{color:var(--pcoi-semantic-text-error);margin-left:var(--pcoi-spacing-4)}.pcoi-radio-group__options{display:flex;flex-direction:column;gap:var(--pcoi-spacing-12)}.pcoi-radio-group__option{display:inline-flex;align-items:center;gap:var(--pcoi-spacing-8);cursor:pointer}.pcoi-radio-group__input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pcoi-radio-group__circle{width:var(--pcoi-layout-component-control-box);height:var(--pcoi-layout-component-control-box);flex-shrink:0;border:1px solid var(--pcoi-semantic-border-default);border-radius:var(--pcoi-radius-full);background:var(--pcoi-semantic-bg-default);position:relative;transition:border-color var(--pcoi-effect-transition-fast, .2s ease)}.pcoi-radio-group__circle:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:var(--pcoi-layout-component-radio-dot);height:var(--pcoi-layout-component-radio-dot);border-radius:var(--pcoi-radius-full);background:var(--pcoi-semantic-action-primary-bg);opacity:0;transition:opacity var(--pcoi-effect-transition-fast, .2s ease)}.pcoi-radio-group__input:checked+.pcoi-radio-group__circle{border-color:var(--pcoi-semantic-action-primary-bg)}.pcoi-radio-group__input:checked+.pcoi-radio-group__circle:after{opacity:1}.pcoi-radio-group__option:hover .pcoi-radio-group__circle{border-color:var(--pcoi-semantic-border-input-hover)}.pcoi-radio-group__option:active .pcoi-radio-group__circle{transform:var(--pcoi-effect-transform-press-scale-control)}.pcoi-radio-group__input:focus-visible+.pcoi-radio-group__circle{border-color:var(--pcoi-semantic-focus-border);box-shadow:var(--pcoi-effect-shadow-focus-ring)}.pcoi-radio-group__label{font-size:var(--pcoi-semantic-type-body-size);color:var(--pcoi-semantic-text-primary)}.pcoi-radio-group--error .pcoi-radio-group__circle{border-color:var(--pcoi-semantic-border-error)}.pcoi-radio-group__error{font-size:var(--pcoi-semantic-type-label-size);color:var(--pcoi-semantic-text-error);margin:0}.pcoi-radio-group--disabled{opacity:var(--pcoi-effect-opacity-disabled);pointer-events:none}.pcoi-panel{background:var(--pcoi-semantic-bg-card);border:1px solid var(--pcoi-semantic-border-default);border-radius:var(--pcoi-radius-md);overflow:hidden}.pcoi-panel__header{display:flex;align-items:center;justify-content:space-between;padding:var(--pcoi-spacing-16) var(--pcoi-spacing-24);border-bottom:1px solid var(--pcoi-semantic-border-default)}.pcoi-panel__title{font-size:var(--pcoi-semantic-type-body-size);font-weight:var(--pcoi-semantic-type-emphasis-weight);color:var(--pcoi-semantic-text-primary);margin:0}.pcoi-panel__action{flex-shrink:0}.pcoi-panel__body{padding:var(--pcoi-spacing-24)}.pcoi-panel--flush .pcoi-panel__body{padding:0}.pcoi-data-table{width:100%;overflow:hidden;overflow-x:auto;border:1px solid var(--pcoi-semantic-border-card);border-radius:var(--pcoi-radius-md)}.pcoi-data-table__table{width:100%;border-collapse:collapse}.pcoi-data-table__th{font-family:var(--pcoi-semantic-type-mono-font);font-size:var(--pcoi-semantic-type-body-sm-size);font-weight:var(--pcoi-semantic-type-emphasis-weight);letter-spacing:var(--pcoi-semantic-type-label-letter-spacing);text-transform:uppercase;color:var(--pcoi-semantic-text-secondary);text-align:left;padding:var(--pcoi-spacing-16) var(--pcoi-spacing-20);background:var(--pcoi-semantic-bg-alt)}.pcoi-data-table__th--center{text-align:center}.pcoi-data-table__th--right{text-align:right}.pcoi-data-table__td{font-size:var(--pcoi-semantic-type-body-compact-size);color:var(--pcoi-semantic-text-secondary);line-height:var(--pcoi-semantic-type-body-compact-line-height);text-align:left;padding:var(--pcoi-spacing-16) var(--pcoi-spacing-20)}.pcoi-data-table__td--center{text-align:center}.pcoi-data-table__td--right{text-align:right}.pcoi-data-table__row{border-top:1px solid var(--pcoi-semantic-border-card);transition:background var(--pcoi-effect-transition-fast, .2s ease)}.pcoi-data-table__row:hover{background:var(--pcoi-semantic-bg-card-hover)}.pcoi-data-table__empty{font-size:var(--pcoi-semantic-type-body-size);color:var(--pcoi-semantic-text-muted);text-align:center;padding:var(--pcoi-spacing-40) var(--pcoi-spacing-16)}.pcoi-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--pcoi-layout-zIndex-modal, 500);display:flex;align-items:center;justify-content:center;background:var(--pcoi-semantic-bg-overlay);padding:var(--pcoi-spacing-24);animation:pcoi-modal-fade-in .2s ease}.pcoi-modal__dialog{font-family:var(--pcoi-semantic-type-body-font);background:var(--pcoi-semantic-surface-elevated);border:1px solid var(--pcoi-semantic-border-default);border-radius:var(--pcoi-radius-lg);box-shadow:var(--pcoi-effect-shadow-elevated);width:100%;max-width:var(--pcoi-layout-container-modal);max-height:85vh;display:flex;flex-direction:column;animation:pcoi-modal-slide-up .2s ease}.pcoi-modal__header{display:flex;align-items:center;justify-content:space-between;padding:var(--pcoi-spacing-20) var(--pcoi-spacing-24);border-bottom:1px solid var(--pcoi-semantic-border-default)}.pcoi-modal__title{font-size:var(--pcoi-semantic-type-heading-sm-size);font-weight:var(--pcoi-semantic-type-emphasis-weight);color:var(--pcoi-semantic-text-primary);margin:0}.pcoi-modal__close{background:none;border:none;color:var(--pcoi-semantic-text-secondary);font-size:var(--pcoi-semantic-type-close-lg-size);line-height:var(--pcoi-semantic-type-none-line-height);cursor:pointer;padding:var(--pcoi-spacing-4);border-radius:var(--pcoi-radius-sm);transition:color var(--pcoi-effect-transition-fast, .2s ease)}.pcoi-modal__close:hover{color:var(--pcoi-semantic-text-primary)}.pcoi-modal__close:active{transform:var(--pcoi-effect-transform-press-scale-icon)}.pcoi-modal__close:focus-visible{outline:none;box-shadow:var(--pcoi-effect-shadow-focus-ring)}.pcoi-modal__body{padding:var(--pcoi-spacing-24);overflow-y:auto;flex:1;font-size:var(--pcoi-semantic-type-body-size);color:var(--pcoi-semantic-text-secondary);line-height:var(--pcoi-semantic-type-body-line-height)}.pcoi-modal__footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--pcoi-spacing-12);padding:var(--pcoi-spacing-16) var(--pcoi-spacing-24);border-top:1px solid var(--pcoi-semantic-border-default)}.pcoi-modal__dialog--wide{max-width:var(--pcoi-layout-container-document, 900px)}@keyframes pcoi-modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes pcoi-modal-slide-up{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}.pcoi-toast{position:fixed;bottom:var(--pcoi-spacing-24);right:var(--pcoi-spacing-24);z-index:var(--pcoi-layout-zIndex-toast, 600);animation:pcoi-toast-slide-in .3s ease}.pcoi-toast__content{display:flex;align-items:center;gap:var(--pcoi-spacing-12);font-family:var(--pcoi-semantic-type-body-font);background:var(--pcoi-semantic-surface-elevated);border:1px solid var(--pcoi-semantic-border-default);border-radius:var(--pcoi-radius-md);box-shadow:var(--pcoi-effect-shadow-elevated);padding:var(--pcoi-spacing-14) var(--pcoi-spacing-20);min-width:var(--pcoi-layout-container-toast-min);max-width:var(--pcoi-layout-container-toast-max)}.pcoi-toast--success .pcoi-toast__content{border-left:var(--pcoi-layout-component-accent-border-w) solid var(--pcoi-semantic-border-success)}.pcoi-toast--error .pcoi-toast__content{border-left:var(--pcoi-layout-component-accent-border-w) solid var(--pcoi-semantic-border-error)}.pcoi-toast--warning .pcoi-toast__content{border-left:var(--pcoi-layout-component-accent-border-w) solid var(--pcoi-semantic-border-warning)}.pcoi-toast--info .pcoi-toast__content{border-left:var(--pcoi-layout-component-accent-border-w) solid var(--pcoi-semantic-border-info)}.pcoi-toast__message{flex:1;font-size:var(--pcoi-semantic-type-body-size);color:var(--pcoi-semantic-text-primary);line-height:var(--pcoi-semantic-type-body-compact-line-height)}.pcoi-toast__close{background:none;border:none;color:var(--pcoi-semantic-text-secondary);font-size:var(--pcoi-semantic-type-close-sm-size);line-height:var(--pcoi-semantic-type-none-line-height);cursor:pointer;padding:var(--pcoi-spacing-4);border-radius:var(--pcoi-radius-sm);flex-shrink:0;transition:color var(--pcoi-effect-transition-fast, .2s ease)}.pcoi-toast__close:hover{color:var(--pcoi-semantic-text-primary)}.pcoi-toast__close:active{transform:var(--pcoi-effect-transform-press-scale-icon)}.pcoi-toast__close:focus-visible{outline:none;box-shadow:var(--pcoi-effect-shadow-focus-ring)}@keyframes pcoi-toast-slide-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.pcoi-suggestion-card{display:flex;align-items:center;gap:var(--pcoi-spacing-12);width:100%;padding:var(--pcoi-spacing-16) var(--pcoi-spacing-20);font-family:var(--pcoi-semantic-type-body-font);font-size:var(--pcoi-semantic-type-body-size);line-height:var(--pcoi-semantic-type-body-line-height);color:var(--pcoi-semantic-text-secondary);text-align:left;background:var(--pcoi-color-bg-card);border:1px solid var(--pcoi-semantic-border-card);border-radius:var(--pcoi-radius-md);cursor:pointer;transition:background var(--pcoi-effect-transition-medium),border-color var(--pcoi-effect-transition-medium),transform var(--pcoi-effect-transition-medium),box-shadow var(--pcoi-effect-transition-medium)}.pcoi-suggestion-card:hover{background:var(--pcoi-color-bg-card-hover);border-color:var(--pcoi-semantic-border-card-hover);transform:var(--pcoi-effect-transform-hover-lift-sm)}.pcoi-suggestion-card:active{transform:var(--pcoi-effect-transform-press-scale)}.pcoi-suggestion-card:focus-visible{outline:none;box-shadow:var(--pcoi-effect-shadow-focus-ring)}.pcoi-suggestion-card__icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--pcoi-semantic-text-accent)}.pcoi-suggestion-card__label{flex:1;min-width:0}.pcoi-suggestion-cards{display:flex;flex-direction:column;gap:var(--pcoi-spacing-16)}@media (min-width: 768px){.pcoi-suggestion-cards{display:grid;grid-template-columns:repeat(3,1fr)}}.pcoi-cited-excerpt{display:flex;flex-direction:column;gap:var(--pcoi-spacing-6);padding:var(--pcoi-spacing-12);background:var(--pcoi-semantic-surface-accent-dim);border-left:var(--pcoi-layout-component-accent-border-w) solid var(--pcoi-semantic-border-accent-dim);border-radius:var(--pcoi-radius-sm)}.pcoi-cited-excerpt__source{display:inline-flex;align-items:center;align-self:flex-start;padding:0;font-family:var(--pcoi-semantic-type-body-font);font-size:var(--pcoi-semantic-type-body-sm-size);color:var(--pcoi-semantic-text-accent);background:none;border:none;cursor:pointer;transition:color var(--pcoi-effect-transition-fast)}.pcoi-cited-excerpt__source:hover{color:var(--pcoi-semantic-text-accent-hover);text-decoration:underline}.pcoi-cited-excerpt__source:focus-visible{outline:none;box-shadow:var(--pcoi-effect-shadow-focus-ring);border-radius:var(--pcoi-radius-sm)}.pcoi-cited-excerpt__body{display:flex;align-items:baseline;gap:var(--pcoi-spacing-6)}.pcoi-cited-excerpt__index{flex-shrink:0;padding:0;background:none;border:none;cursor:pointer;font-family:var(--pcoi-semantic-type-mono-font);font-size:var(--pcoi-semantic-type-body-compact-size);font-weight:var(--pcoi-semantic-type-label-weight);color:var(--pcoi-semantic-text-accent);transition:color var(--pcoi-effect-transition-fast)}.pcoi-cited-excerpt__index:hover{color:var(--pcoi-semantic-text-accent-hover)}.pcoi-cited-excerpt__index:focus-visible{outline:none;box-shadow:var(--pcoi-effect-shadow-focus-ring);border-radius:var(--pcoi-radius-sm)}.pcoi-cited-excerpt__text{margin:0;font-family:var(--pcoi-semantic-type-body-font);font-size:var(--pcoi-semantic-type-body-compact-size);color:var(--pcoi-semantic-text-secondary);line-height:var(--pcoi-semantic-type-body-line-height)}.pcoi-prompt-bar{display:flex;align-items:flex-end;gap:var(--pcoi-spacing-12);padding:var(--pcoi-spacing-12) var(--pcoi-spacing-16);background:var(--pcoi-color-bg-card);border:1px solid var(--pcoi-semantic-border-default);border-radius:var(--pcoi-radius-md);transition:border-color var(--pcoi-effect-transition-fast),box-shadow var(--pcoi-effect-transition-fast)}.pcoi-prompt-bar:not(:focus-within):hover{border-color:var(--pcoi-semantic-border-input-hover)}.pcoi-prompt-bar:focus-within{border-color:var(--pcoi-color-focus-border);box-shadow:var(--pcoi-effect-shadow-focus-ring)}.pcoi-prompt-bar__input{flex:1;min-height:24px;max-height:120px;padding:var(--pcoi-spacing-4) 0;font-family:var(--pcoi-semantic-type-body-font);font-size:var(--pcoi-semantic-type-body-size);line-height:var(--pcoi-semantic-type-body-line-height);color:var(--pcoi-semantic-text-primary);background:transparent;border:none;outline:none;resize:none}.pcoi-prompt-bar__input::placeholder{color:var(--pcoi-semantic-text-muted)}.pcoi-prompt-bar__actions{flex-shrink:0;display:flex;align-items:center}.pcoi-prompt-bar__send.pcoi-btn{padding:var(--pcoi-spacing-6);min-width:0;min-height:0;width:32px;height:32px}.pcoi-prompt-bar__send-icon{display:flex;transform:rotate(-90deg)}@media (max-width: 480px){.pcoi-prompt-bar{padding:var(--pcoi-spacing-8) var(--pcoi-spacing-12)}}.pcoi-chat-message{display:flex;flex-direction:column;gap:var(--pcoi-spacing-8);padding:var(--pcoi-spacing-16);border-radius:var(--pcoi-radius-md);border:1px solid var(--pcoi-semantic-border-card)}.pcoi-chat-message--user{background:var(--pcoi-color-surface)}.pcoi-chat-message--assistant{background:var(--pcoi-semantic-surface-accent-dim)}.pcoi-chat-message__header{display:flex;align-items:center}.pcoi-chat-message__body{font-family:var(--pcoi-semantic-type-body-font);font-size:var(--pcoi-semantic-type-body-size);line-height:var(--pcoi-semantic-type-body-line-height);color:var(--pcoi-semantic-text-primary)}.pcoi-chat-message__citations{display:flex;flex-direction:column;gap:var(--pcoi-spacing-8);margin-top:var(--pcoi-spacing-4)}.pcoi-chat-message__timestamp{font-family:var(--pcoi-semantic-type-body-font);font-size:var(--pcoi-semantic-type-body-sm-size);color:var(--pcoi-semantic-text-muted)}@media (min-width: 1025px){.pcoi-chat-message--user{margin-left:var(--pcoi-spacing-48)}.pcoi-chat-message--assistant{margin-right:var(--pcoi-spacing-48)}}.pcoi-chat-message-list{flex:1;min-height:0;overflow:hidden}.pcoi-chat-message-list__inner{height:100%;overflow-y:auto;display:flex;flex-direction:column;gap:var(--pcoi-spacing-16);padding:var(--pcoi-spacing-16)}@media (min-width: 768px){.pcoi-chat-message-list__inner{gap:var(--pcoi-spacing-20);padding:var(--pcoi-spacing-24)}}.pcoi-typing-indicator{display:flex;flex-direction:column;gap:var(--pcoi-spacing-8);padding:var(--pcoi-spacing-16);background:var(--pcoi-semantic-surface-accent-dim);border:1px solid var(--pcoi-semantic-border-card);border-radius:var(--pcoi-radius-md);animation:pcoi-typing-fade-in .2s ease}.pcoi-typing-indicator__header{display:flex;align-items:center}.pcoi-typing-indicator__dots{display:flex;align-items:center;gap:6px;padding:var(--pcoi-spacing-4) 0}.pcoi-typing-indicator__dot{width:8px;height:8px;border-radius:var(--pcoi-radius-full);background:var(--pcoi-semantic-text-accent);opacity:.4;animation:pcoi-typing-bounce 1.4s ease-in-out infinite}.pcoi-typing-indicator__dot:nth-child(2){animation-delay:.2s}.pcoi-typing-indicator__dot:nth-child(3){animation-delay:.4s}@keyframes pcoi-typing-bounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-6px);opacity:1}}@keyframes pcoi-typing-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (min-width: 1025px){.pcoi-typing-indicator{margin-right:var(--pcoi-spacing-48)}}.pcoi-doc-overlay .pcoi-modal__title{color:var(--pcoi-semantic-text-accent)}.pcoi-doc-overlay__content{font-family:var(--pcoi-semantic-type-body-font);font-size:var(--pcoi-semantic-type-body-size);line-height:var(--pcoi-semantic-type-body-line-height);color:var(--pcoi-semantic-text-primary)}.pcoi-doc-overlay__content p{margin:0 0 var(--pcoi-spacing-12)}.pcoi-doc-overlay__content p:last-child{margin-bottom:0}.pcoi-doc-overlay__highlight{display:flex;align-items:baseline;gap:var(--pcoi-spacing-6);background:var(--pcoi-semantic-surface-highlight);border-left:var(--pcoi-layout-component-accent-border-w) solid var(--pcoi-semantic-border-accent-subtle);padding:var(--pcoi-spacing-8) var(--pcoi-spacing-12);border-radius:var(--pcoi-radius-sm);animation:pcoi-doc-highlight-fade .4s ease}.pcoi-doc-overlay__highlight[data-highlight-index]:before{content:attr(data-highlight-index);flex-shrink:0;font-family:var(--pcoi-semantic-type-mono-font);font-size:var(--pcoi-semantic-type-body-compact-size);font-weight:var(--pcoi-semantic-type-label-weight);color:var(--pcoi-semantic-text-accent)}.pcoi-doc-overlay__source{display:flex;align-items:center}@keyframes pcoi-doc-highlight-fade{0%{background:var(--pcoi-semantic-surface-accent-dim)}to{background:var(--pcoi-semantic-surface-highlight)}}.pcoi-chat{display:flex;flex-direction:column;height:100%;max-width:var(--pcoi-layout-container-narrow, 800px);margin:0 auto}.pcoi-chat--empty{justify-content:flex-end}.pcoi-chat__empty-state{flex:1;display:flex;flex-direction:column;justify-content:center;padding:var(--pcoi-spacing-16)}.pcoi-chat__suggestions{max-width:100%}.pcoi-chat__messages{flex:1;min-height:0}.pcoi-chat__prompt{flex-shrink:0;padding:var(--pcoi-spacing-16)}@media (min-width: 768px){.pcoi-chat__empty-state,.pcoi-chat__prompt{padding:var(--pcoi-spacing-24)}}
|
|
1
|
+
.pcoi-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pcoi-badge{display:inline-flex;align-items:center;font-family:var(--pcoi-semantic-type-mono-font);font-size:var(--pcoi-semantic-type-badge-size);font-weight:var(--pcoi-semantic-type-label-weight);letter-spacing:var(--pcoi-semantic-type-badge-letter-spacing);text-transform:uppercase;padding:var(--pcoi-semantic-spacing-inline-2xs) var(--pcoi-semantic-spacing-chip-x);border-radius:var(--pcoi-semantic-radius-badge);line-height:var(--pcoi-semantic-type-none-line-height)}.pcoi-badge--default{background:var(--pcoi-semantic-surface-accent-dim);color:var(--pcoi-semantic-text-accent)}.pcoi-badge--success{background:var(--pcoi-semantic-action-success-bg);color:var(--pcoi-semantic-text-success)}.pcoi-badge--error{background:var(--pcoi-semantic-action-error-bg);color:var(--pcoi-semantic-text-error)}.pcoi-badge--warning{background:var(--pcoi-semantic-action-warning-bg);color:var(--pcoi-semantic-text-warning)}.pcoi-badge--info{background:var(--pcoi-semantic-action-info-bg);color:var(--pcoi-semantic-text-info)}.pcoi-logo{font-family:var(--pcoi-semantic-type-body-font);font-size:var(--pcoi-semantic-type-logo-size);font-weight:var(--pcoi-semantic-type-emphasis-weight);letter-spacing:var(--pcoi-semantic-type-logo-letter-spacing);color:var(--pcoi-semantic-text-primary);text-decoration:none;display:inline-flex;align-items:center}.pcoi-logo__mark{color:var(--pcoi-semantic-text-accent)}.pcoi-btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--pcoi-semantic-spacing-btn-y-comfortable) var(--pcoi-semantic-spacing-btn-x-comfortable);font-size:var(--pcoi-semantic-type-body-size);font-weight:var(--pcoi-semantic-type-emphasis-weight);font-family:var(--pcoi-semantic-type-body-font);border-radius:var(--pcoi-semantic-radius-btn);border:none;cursor:pointer;transition:all var(--pcoi-effect-transition-fast, .2s ease);text-decoration:none;line-height:var(--pcoi-semantic-type-none-line-height);white-space:nowrap}.pcoi-btn--primary{background:var(--pcoi-semantic-action-primary-bg);color:var(--pcoi-semantic-action-primary-text)}.pcoi-btn--primary:hover{background:var(--pcoi-semantic-action-primary-bg-hover);transform:var(--pcoi-effect-transform-hover-lift);box-shadow:var(--pcoi-effect-shadow-btn-primary-hover)}.pcoi-btn--ghost{background:transparent;color:var(--pcoi-semantic-action-ghost-text);border:1px solid var(--pcoi-semantic-action-ghost-border)}.pcoi-btn--ghost:hover{color:var(--pcoi-semantic-action-ghost-text-hover);border-color:var(--pcoi-semantic-action-ghost-border-hover);background:var(--pcoi-semantic-action-ghost-bg-hover)}.pcoi-btn--nav-cta{background:var(--pcoi-semantic-action-primary-bg);color:var(--pcoi-semantic-action-primary-text);padding:var(--pcoi-semantic-spacing-btn-y) var(--pcoi-semantic-spacing-btn-x-nav);font-weight:var(--pcoi-semantic-type-emphasis-weight)}.pcoi-btn--nav-cta:hover{background:var(--pcoi-semantic-action-primary-bg-hover);transform:var(--pcoi-effect-transform-hover-lift-sm)}.pcoi-btn--primary:active{transform:var(--pcoi-effect-transform-press-scale);box-shadow:none}.pcoi-btn--ghost:active{transform:var(--pcoi-effect-transform-press-scale)}.pcoi-btn--nav-cta:active{transform:var(--pcoi-effect-transform-press-scale);box-shadow:none}.pcoi-btn:focus-visible{outline:none;box-shadow:var(--pcoi-effect-shadow-focus-ring)}.pcoi-btn:disabled,.pcoi-btn[aria-disabled=true]{opacity:var(--pcoi-effect-opacity-disabled);cursor:not-allowed;transform:none;box-shadow:none}.pcoi-btn--large{padding:var(--pcoi-semantic-spacing-btn-y-lg) var(--pcoi-semantic-spacing-btn-x-lg);font-size:var(--pcoi-semantic-type-body-lg-size)}.pcoi-field{display:flex;flex-direction:column;gap:var(--pcoi-semantic-spacing-form-gap-compact)}.pcoi-field__label{font-size:var(--pcoi-semantic-type-label-size);font-weight:var(--pcoi-semantic-type-label-weight);letter-spacing:var(--pcoi-semantic-type-label-letter-spacing);text-transform:uppercase;color:var(--pcoi-semantic-text-secondary)}.pcoi-field__required{color:var(--pcoi-semantic-text-error);margin-left:var(--pcoi-semantic-spacing-inline-2xs)}.pcoi-field__input,.pcoi-field__textarea{font-family:var(--pcoi-semantic-type-body-font);font-size:var(--pcoi-semantic-type-body-size);color:var(--pcoi-semantic-text-primary);background:var(--pcoi-semantic-bg-default);border:1px solid var(--pcoi-semantic-border-default);border-radius:var(--pcoi-semantic-radius-input);padding:var(--pcoi-semantic-spacing-input-y) var(--pcoi-semantic-spacing-input-x-compact);transition:border-color var(--pcoi-effect-transition-fast, .2s ease),box-shadow var(--pcoi-effect-transition-fast, .2s ease)}.pcoi-field__input::placeholder,.pcoi-field__textarea::placeholder{color:var(--pcoi-semantic-text-muted)}.pcoi-field__input:not(:disabled):not(:focus):hover,.pcoi-field__textarea:not(:disabled):not(:focus):hover{border-color:var(--pcoi-semantic-border-input-hover)}.pcoi-field__input:focus,.pcoi-field__textarea:focus{outline:none;border-color:var(--pcoi-semantic-focus-border);box-shadow:var(--pcoi-effect-shadow-focus-ring)}.pcoi-field__textarea{resize:vertical;min-height:var(--pcoi-semantic-sizing-textarea-min-height)}.pcoi-field--error .pcoi-field__input,.pcoi-field--error .pcoi-field__textarea{border-color:var(--pcoi-semantic-border-error)}.pcoi-field--error .pcoi-field__input:focus,.pcoi-field--error .pcoi-field__textarea:focus{box-shadow:var(--pcoi-effect-shadow-focus-ring-error)}.pcoi-field__error{font-size:var(--pcoi-semantic-type-label-size);color:var(--pcoi-semantic-text-error);margin:0}.pcoi-field--disabled{opacity:var(--pcoi-effect-opacity-disabled);pointer-events:none}.pcoi-card{border:1px solid var(--pcoi-semantic-border-card);border-radius:var(--pcoi-semantic-radius-card);padding:var(--pcoi-semantic-spacing-card-padding);transition:border-color var(--pcoi-effect-transition-medium, .3s ease),transform var(--pcoi-effect-transition-medium, .3s ease)}.pcoi-card:hover{border-color:var(--pcoi-semantic-border-card-hover);transform:var(--pcoi-effect-transform-hover-lift)}.pcoi-card--problem{background:var(--pcoi-semantic-bg-card)}.pcoi-card--problem .pcoi-card__icon{width:var(--pcoi-semantic-sizing-icon-box);height:var(--pcoi-semantic-sizing-icon-box);border-radius:var(--pcoi-semantic-radius-btn);background:var(--pcoi-semantic-surface-accent-dim);display:flex;align-items:center;justify-content:center;margin-bottom:var(--pcoi-semantic-spacing-card-gap);color:var(--pcoi-semantic-text-accent)}.pcoi-card--problem .pcoi-card__title{font-size:var(--pcoi-semantic-type-heading-md-size);font-weight:var(--pcoi-semantic-type-emphasis-weight);color:var(--pcoi-semantic-text-primary);margin:0 0 var(--pcoi-semantic-spacing-text-gap-sm) 0}.pcoi-card--problem .pcoi-card__description{font-size:var(--pcoi-semantic-type-body-size);color:var(--pcoi-semantic-text-secondary);line-height:var(--pcoi-semantic-type-body-line-height)}.pcoi-card--who{background:var(--pcoi-semantic-bg-surface)}.pcoi-card--who .pcoi-card__title{font-size:var(--pcoi-semantic-type-heading-sm-size);font-weight:var(--pcoi-semantic-type-emphasis-weight);color:var(--pcoi-semantic-text-accent);margin:0 0 var(--pcoi-semantic-spacing-text-gap-sm) 0}.pcoi-card--who .pcoi-card__description{font-size:var(--pcoi-semantic-type-body-compact-size);color:var(--pcoi-semantic-text-secondary);line-height:var(--pcoi-semantic-type-body-line-height)}.pcoi-card--principle{background:var(--pcoi-semantic-bg-card)}.pcoi-card--principle .pcoi-card__number{font-family:var(--pcoi-semantic-type-mono-font);font-size:var(--pcoi-semantic-type-body-sm-size);font-weight:var(--pcoi-semantic-type-emphasis-weight);color:var(--pcoi-semantic-text-accent);margin-bottom:var(--pcoi-semantic-spacing-stack-md)}.pcoi-card--principle .pcoi-card__title{font-size:var(--pcoi-semantic-type-card-subtitle-size);font-weight:var(--pcoi-semantic-type-emphasis-weight);color:var(--pcoi-semantic-text-primary);margin:0 0 var(--pcoi-semantic-spacing-text-gap-sm) 0}.pcoi-card--principle .pcoi-card__description{font-size:var(--pcoi-semantic-type-body-compact-size);color:var(--pcoi-semantic-text-secondary);line-height:var(--pcoi-semantic-type-body-line-height)}.pcoi-nav{position:fixed;top:0;left:0;right:0;z-index:var(--pcoi-semantic-layout-z-nav, 1000);height:var(--pcoi-semantic-spacing-nav-height, 72px);transition:background var(--pcoi-effect-transition-medium, .3s ease),box-shadow var(--pcoi-effect-transition-medium, .3s ease)}.pcoi-nav--scrolled{background:var(--pcoi-semantic-bg-nav-scrolled);-webkit-backdrop-filter:blur(var(--pcoi-effect-blur-nav-backdrop, 20px));backdrop-filter:blur(var(--pcoi-effect-blur-nav-backdrop, 20px));box-shadow:var(--pcoi-effect-shadow-nav-scrolled)}.pcoi-nav__inner{max-width:var(--pcoi-semantic-sizing-container-max);margin:0 auto;padding:0 var(--pcoi-semantic-spacing-btn-x);height:100%;display:flex;align-items:center;justify-content:space-between}.pcoi-nav__links{display:flex;align-items:center;gap:var(--pcoi-semantic-spacing-stack-lg)}.pcoi-nav__links a{font-size:var(--pcoi-semantic-type-nav-size);font-weight:var(--pcoi-semantic-type-label-weight);color:var(--pcoi-semantic-text-secondary);text-decoration:none;transition:color var(--pcoi-effect-transition-fast, .2s ease)}.pcoi-nav__links a:hover{color:var(--pcoi-semantic-text-primary)}.pcoi-nav__links a:focus-visible{outline:none;box-shadow:var(--pcoi-effect-shadow-focus-ring);border-radius:var(--pcoi-semantic-radius-btn)}.pcoi-nav__links a:active{transform:var(--pcoi-effect-transform-press-scale)}.pcoi-nav__hamburger{display:none;flex-direction:column;justify-content:center;gap:var(--pcoi-semantic-spacing-hamburger-gap);width:var(--pcoi-semantic-sizing-hamburger-size);height:var(--pcoi-semantic-sizing-hamburger-size);background:none;border:none;cursor:pointer;padding:0}.pcoi-nav__hamburger:hover{color:var(--pcoi-semantic-text-primary)}.pcoi-nav__hamburger:focus-visible{outline:none;box-shadow:var(--pcoi-effect-shadow-focus-ring);border-radius:var(--pcoi-semantic-radius-btn)}.pcoi-nav__hamburger:active{transform:var(--pcoi-effect-transform-press-scale-icon)}.pcoi-nav__hamburger span{display:block;width:100%;height:2px;background:var(--pcoi-semantic-text-primary);border-radius:1px;transition:transform var(--pcoi-effect-transition-fast, .2s ease),opacity var(--pcoi-effect-transition-fast, .2s ease)}.pcoi-nav__hamburger--active span:nth-child(1){transform:translateY(var(--pcoi-semantic-spacing-hamburger-bar-offset)) rotate(45deg)}.pcoi-nav__hamburger--active span:nth-child(2){opacity:0}.pcoi-nav__hamburger--active span:nth-child(3){transform:translateY(calc(-1 * var(--pcoi-semantic-spacing-hamburger-bar-offset))) rotate(-45deg)}.pcoi-nav__mobile-menu{display:none;flex-direction:column;padding:var(--pcoi-semantic-spacing-btn-x) var(--pcoi-semantic-spacing-btn-x) var(--pcoi-semantic-spacing-stack-lg);background:var(--pcoi-semantic-bg-default);box-shadow:var(--pcoi-effect-shadow-mobile-menu)}.pcoi-nav__mobile-menu a{font-size:var(--pcoi-semantic-type-body-lg-size);font-weight:var(--pcoi-semantic-type-label-weight);color:var(--pcoi-semantic-text-secondary);text-decoration:none;padding:var(--pcoi-semantic-spacing-input-y) 0;transition:color var(--pcoi-effect-transition-fast, .2s ease)}.pcoi-nav__mobile-menu a:hover{color:var(--pcoi-semantic-text-primary)}.pcoi-nav__mobile-menu a:focus-visible{outline:none;box-shadow:var(--pcoi-effect-shadow-focus-ring);border-radius:var(--pcoi-semantic-radius-btn)}.pcoi-nav__mobile-menu a:active{transform:var(--pcoi-effect-transform-press-scale)}.pcoi-nav__mobile-menu .pcoi-btn{margin-top:var(--pcoi-semantic-spacing-stack-md);width:100%;justify-content:center}@media (max-width: 768px){.pcoi-nav__links{display:none}.pcoi-nav__hamburger,.pcoi-nav--menu-open .pcoi-nav__mobile-menu{display:flex}}.pcoi-section-header{text-align:center;max-width:var(--pcoi-semantic-sizing-container-narrow);margin:0 auto var(--pcoi-semantic-spacing-section-header-margin)}.pcoi-section-header__label{display:inline-block;font-family:var(--pcoi-semantic-type-mono-font);font-size:var(--pcoi-semantic-type-section-label-size);font-weight:var(--pcoi-semantic-type-label-weight);letter-spacing:var(--pcoi-semantic-type-section-label-letter-spacing);text-transform:uppercase;color:var(--pcoi-semantic-text-accent);margin-bottom:var(--pcoi-semantic-spacing-stack-md)}.pcoi-section-header__title{font-size:var(--pcoi-semantic-type-section-title-size);font-weight:var(--pcoi-semantic-type-heading-weight);line-height:var(--pcoi-semantic-type-heading-line-height);letter-spacing:var(--pcoi-semantic-type-heading-letter-spacing);color:var(--pcoi-semantic-text-primary);margin:0 0 var(--pcoi-semantic-spacing-stack-md) 0}.pcoi-section-header__title em{font-style:normal;color:var(--pcoi-semantic-text-accent)}.pcoi-section-header__desc{font-size:var(--pcoi-semantic-type-heading-sm-size);color:var(--pcoi-semantic-text-secondary);line-height:var(--pcoi-semantic-type-relaxed-line-height)}.pcoi-how-step{display:flex;align-items:flex-start;gap:var(--pcoi-semantic-spacing-stack-lg);padding:var(--pcoi-semantic-spacing-component-gap) 0;border-bottom:1px solid var(--pcoi-semantic-border-default)}.pcoi-how-step--last{border-bottom:none}.pcoi-how-step__number{flex-shrink:0;width:var(--pcoi-semantic-sizing-step-number);height:var(--pcoi-semantic-sizing-step-number);border-radius:var(--pcoi-semantic-radius-avatar);background:var(--pcoi-semantic-surface-accent-dim);border:1px solid var(--pcoi-semantic-border-accent-dim);display:flex;align-items:center;justify-content:center;font-family:var(--pcoi-semantic-type-mono-font);font-size:var(--pcoi-semantic-type-body-sm-size);font-weight:var(--pcoi-semantic-type-emphasis-weight);color:var(--pcoi-semantic-text-accent)}.pcoi-how-step__content{flex:1;min-width:0}.pcoi-how-step__title{font-size:var(--pcoi-semantic-type-step-title-size);font-weight:var(--pcoi-semantic-type-emphasis-weight);color:var(--pcoi-semantic-text-primary);margin:0 0 var(--pcoi-semantic-spacing-stack-sm) 0}.pcoi-how-step__desc{font-size:var(--pcoi-semantic-type-body-size);color:var(--pcoi-semantic-text-secondary);line-height:var(--pcoi-semantic-type-step-line-height);margin:0}.pcoi-comparison{max-width:var(--pcoi-semantic-sizing-comparison-width, 900px);border:1px solid var(--pcoi-semantic-border-card);border-radius:var(--pcoi-semantic-radius-card);overflow:hidden}.pcoi-comparison__table{width:100%;border-collapse:collapse}.pcoi-comparison__header .pcoi-comparison__col{font-family:var(--pcoi-semantic-type-mono-font);font-size:var(--pcoi-semantic-type-body-sm-size);font-weight:var(--pcoi-semantic-type-emphasis-weight);letter-spacing:var(--pcoi-semantic-type-label-letter-spacing);text-transform:uppercase;color:var(--pcoi-semantic-text-secondary);padding:var(--pcoi-semantic-spacing-stack-md) var(--pcoi-semantic-spacing-card-gap);background:var(--pcoi-semantic-bg-alt);text-align:left}.pcoi-comparison__row{border-top:1px solid var(--pcoi-semantic-border-card)}.pcoi-comparison__col{padding:var(--pcoi-semantic-spacing-stack-md) var(--pcoi-semantic-spacing-card-gap);font-size:var(--pcoi-semantic-type-body-compact-size);color:var(--pcoi-semantic-text-secondary);line-height:var(--pcoi-semantic-type-body-compact-line-height)}.pcoi-comparison__col--label{font-weight:var(--pcoi-semantic-type-label-weight);color:var(--pcoi-semantic-text-primary);text-align:left}.pcoi-comparison__col--highlight{background:var(--pcoi-semantic-surface-highlight);color:var(--pcoi-semantic-text-accent);font-weight:var(--pcoi-semantic-type-label-weight)}.pcoi-comparison__header .pcoi-comparison__col--highlight{color:var(--pcoi-semantic-text-accent);font-weight:var(--pcoi-semantic-type-emphasis-weight)}@media (max-width: 768px){.pcoi-comparison{overflow-x:auto;-webkit-overflow-scrolling:touch}.pcoi-comparison__table{min-width:var(--pcoi-semantic-sizing-comparison-scroll-width)}}.pcoi-form{background:var(--pcoi-semantic-bg-surface);border:1px solid var(--pcoi-semantic-border-default);border-radius:var(--pcoi-semantic-radius-panel);padding:var(--pcoi-semantic-spacing-form-padding);display:flex;flex-direction:column;gap:var(--pcoi-semantic-spacing-form-gap)}.pcoi-form__row{display:grid;grid-template-columns:1fr 1fr;gap:var(--pcoi-semantic-spacing-form-gap)}.pcoi-form__full{grid-column:1 / -1}.pcoi-form__note{font-size:var(--pcoi-semantic-type-label-size);color:var(--pcoi-semantic-text-muted);margin:0}@media (max-width: 768px){.pcoi-form{padding:var(--pcoi-semantic-spacing-panel-padding)}.pcoi-form__row{grid-template-columns:1fr}}.pcoi-callout{text-align:center;padding:var(--pcoi-semantic-spacing-component-gap) var(--pcoi-semantic-spacing-btn-x);display:flex;flex-direction:column;align-items:center}.pcoi-callout__line{width:var(--pcoi-semantic-sizing-accent-line-width);height:2px;background:var(--pcoi-semantic-text-accent);margin-bottom:var(--pcoi-semantic-spacing-stack-lg)}.pcoi-callout__quote{font-size:var(--pcoi-semantic-type-callout-size);font-weight:var(--pcoi-semantic-type-callout-weight);color:var(--pcoi-semantic-text-secondary);line-height:var(--pcoi-semantic-type-body-compact-line-height);max-width:var(--pcoi-semantic-sizing-callout-width, 640px);margin:0 0 var(--pcoi-semantic-spacing-panel-padding) 0;font-style:italic}.pcoi-callout__attribution{font-size:var(--pcoi-semantic-type-body-sm-size);color:var(--pcoi-semantic-text-muted);margin:0}.pcoi-callout__attribution a{color:var(--pcoi-semantic-text-accent);text-decoration:underline;text-underline-offset:2px;transition:color var(--pcoi-effect-transition-fast, .2s ease)}.pcoi-callout__attribution a:hover{color:var(--pcoi-semantic-text-accent-hover)}.pcoi-signals{background:var(--pcoi-semantic-bg-surface);border:1px solid var(--pcoi-semantic-border-default);border-radius:var(--pcoi-semantic-radius-card);padding:var(--pcoi-semantic-spacing-component-gap) var(--pcoi-semantic-spacing-inline-xl)}.pcoi-signals__title{font-size:var(--pcoi-semantic-type-heading-sm-size);font-weight:var(--pcoi-semantic-type-emphasis-weight);color:var(--pcoi-semantic-text-accent);margin:0 0 var(--pcoi-semantic-spacing-panel-padding) 0}.pcoi-signals__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--pcoi-semantic-spacing-stack-compact)}.pcoi-signals__item{position:relative;padding-left:var(--pcoi-semantic-spacing-panel-padding);font-size:var(--pcoi-semantic-type-body-compact-size);color:var(--pcoi-semantic-text-secondary);line-height:var(--pcoi-semantic-type-body-compact-line-height)}.pcoi-signals__item:before{content:"";position:absolute;left:0;top:8px;width:var(--pcoi-semantic-sizing-bullet-size);height:var(--pcoi-semantic-sizing-bullet-size);border-radius:var(--pcoi-semantic-radius-badge);background:var(--pcoi-semantic-text-accent);opacity:.5}@media (max-width: 768px){.pcoi-signals{padding:var(--pcoi-semantic-spacing-panel-padding) var(--pcoi-semantic-spacing-inline-lg)}}.pcoi-footer{border-top:1px solid var(--pcoi-semantic-border-default);padding:var(--pcoi-semantic-spacing-section-y-md) var(--pcoi-semantic-spacing-btn-x) var(--pcoi-semantic-spacing-component-gap)}.pcoi-footer__inner{max-width:var(--pcoi-semantic-sizing-container-max);margin:0 auto;display:flex;justify-content:space-between;align-items:flex-start}.pcoi-footer__logo{margin-bottom:var(--pcoi-semantic-spacing-stack-sm)}.pcoi-footer__tagline{font-size:var(--pcoi-semantic-type-body-sm-size);color:var(--pcoi-semantic-text-secondary);line-height:var(--pcoi-semantic-type-body-compact-line-height);margin:0;white-space:pre-line}.pcoi-footer__links{display:flex;flex-wrap:wrap;gap:var(--pcoi-semantic-spacing-inline-lg)}.pcoi-footer__links a{font-size:var(--pcoi-semantic-type-nav-size);color:var(--pcoi-semantic-text-secondary);text-decoration:none;transition:color var(--pcoi-effect-transition-fast, .2s ease)}.pcoi-footer__links a:hover{color:var(--pcoi-semantic-text-primary)}.pcoi-footer__bottom{max-width:var(--pcoi-semantic-sizing-container-max);margin:var(--pcoi-semantic-spacing-component-gap) auto 0;padding-top:var(--pcoi-semantic-spacing-panel-padding);border-top:1px solid var(--pcoi-semantic-border-default)}.pcoi-footer__bottom p{font-size:var(--pcoi-semantic-type-label-size);color:var(--pcoi-semantic-text-muted);margin:0}@media (max-width: 768px){.pcoi-footer__inner{flex-direction:column;gap:var(--pcoi-semantic-spacing-stack-lg)}.pcoi-footer__links{flex-direction:column;gap:var(--pcoi-semantic-spacing-stack-compact)}}.pcoi-select{display:flex;flex-direction:column;gap:var(--pcoi-semantic-spacing-form-gap-compact)}.pcoi-select__label{font-size:var(--pcoi-semantic-type-label-size);font-weight:var(--pcoi-semantic-type-label-weight);letter-spacing:var(--pcoi-semantic-type-label-letter-spacing);text-transform:uppercase;color:var(--pcoi-semantic-text-secondary)}.pcoi-select__required{color:var(--pcoi-semantic-text-error);margin-left:var(--pcoi-semantic-spacing-inline-2xs)}.pcoi-select__wrapper{position:relative}.pcoi-select__native{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;font-family:var(--pcoi-semantic-type-body-font);font-size:var(--pcoi-semantic-type-body-size);color:var(--pcoi-semantic-text-primary);background:var(--pcoi-semantic-bg-default);border:1px solid var(--pcoi-semantic-border-default);border-radius:var(--pcoi-semantic-radius-input);padding:var(--pcoi-semantic-spacing-input-y) var(--pcoi-semantic-spacing-btn-x-lg) var(--pcoi-semantic-spacing-input-y) var(--pcoi-semantic-spacing-input-x-compact);cursor:pointer;transition:border-color var(--pcoi-effect-transition-fast, .2s ease),box-shadow var(--pcoi-effect-transition-fast, .2s ease)}.pcoi-select__native:hover{border-color:var(--pcoi-semantic-border-input-hover)}.pcoi-select__native:active{transform:var(--pcoi-effect-transform-press-scale-input)}.pcoi-select__native:focus{outline:none;border-color:var(--pcoi-semantic-focus-border);box-shadow:var(--pcoi-effect-shadow-focus-ring)}.pcoi-select__native option{background:var(--pcoi-semantic-bg-default);color:var(--pcoi-semantic-text-primary)}.pcoi-select__chevron{position:absolute;right:var(--pcoi-semantic-spacing-input-x-compact);top:50%;transform:translateY(-50%);pointer-events:none;color:var(--pcoi-semantic-text-secondary);display:flex;align-items:center}.pcoi-select--error .pcoi-select__native{border-color:var(--pcoi-semantic-border-error)}.pcoi-select--error .pcoi-select__native:focus{box-shadow:var(--pcoi-effect-shadow-focus-ring-error)}.pcoi-select__error{font-size:var(--pcoi-semantic-type-label-size);color:var(--pcoi-semantic-text-error);margin:0}.pcoi-select--disabled{opacity:var(--pcoi-effect-opacity-disabled);pointer-events:none}.pcoi-checkbox{display:flex;flex-direction:column;gap:var(--pcoi-semantic-spacing-form-gap-compact)}.pcoi-checkbox__control{display:inline-flex;align-items:center;gap:var(--pcoi-semantic-spacing-inline-sm);cursor:pointer}.pcoi-checkbox__input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pcoi-checkbox__box{width:var(--pcoi-semantic-sizing-control-box-size);height:var(--pcoi-semantic-sizing-control-box-size);flex-shrink:0;border:1px solid var(--pcoi-semantic-border-default);border-radius:var(--pcoi-semantic-radius-input);background:var(--pcoi-semantic-bg-default);transition:background var(--pcoi-effect-transition-fast, .2s ease),border-color var(--pcoi-effect-transition-fast, .2s ease);position:relative}.pcoi-checkbox__box:after{content:"";position:absolute;top:2px;left:5px;width:5px;height:9px;border:solid var(--pcoi-semantic-action-primary-text);border-width:0 2px 2px 0;transform:rotate(45deg);opacity:0;transition:opacity var(--pcoi-effect-transition-fast, .2s ease)}.pcoi-checkbox__input:checked+.pcoi-checkbox__box{background:var(--pcoi-semantic-action-primary-bg);border-color:var(--pcoi-semantic-action-primary-bg)}.pcoi-checkbox__input:checked+.pcoi-checkbox__box:after{opacity:1}.pcoi-checkbox__control:hover .pcoi-checkbox__box{border-color:var(--pcoi-semantic-border-input-hover)}.pcoi-checkbox__control:active .pcoi-checkbox__box{transform:var(--pcoi-effect-transform-press-scale-control)}.pcoi-checkbox__input:focus-visible+.pcoi-checkbox__box{border-color:var(--pcoi-semantic-focus-border);box-shadow:var(--pcoi-effect-shadow-focus-ring)}.pcoi-checkbox__label{font-size:var(--pcoi-semantic-type-body-size);color:var(--pcoi-semantic-text-primary)}.pcoi-checkbox--error .pcoi-checkbox__box{border-color:var(--pcoi-semantic-border-error)}.pcoi-checkbox__error{font-size:var(--pcoi-semantic-type-label-size);color:var(--pcoi-semantic-text-error);margin:0;padding-left:calc(var(--pcoi-semantic-sizing-control-box-size) + var(--pcoi-semantic-spacing-inline-sm))}.pcoi-checkbox--disabled{opacity:var(--pcoi-effect-opacity-disabled);pointer-events:none}.pcoi-toggle{display:flex;flex-direction:column;gap:var(--pcoi-semantic-spacing-form-gap-compact)}.pcoi-toggle__control{display:inline-flex;align-items:center;gap:var(--pcoi-semantic-spacing-panel-gap);cursor:pointer}.pcoi-toggle__input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pcoi-toggle__track{width:var(--pcoi-semantic-sizing-toggle-track-width);height:var(--pcoi-semantic-sizing-toggle-track-height);flex-shrink:0;border-radius:var(--pcoi-semantic-radius-badge);background:var(--pcoi-semantic-action-toggle-bg);position:relative;transition:background var(--pcoi-effect-transition-fast, .2s ease)}.pcoi-toggle__thumb{position:absolute;top:var(--pcoi-semantic-spacing-toggle-thumb-inset);left:var(--pcoi-semantic-spacing-toggle-thumb-inset);width:var(--pcoi-semantic-sizing-toggle-thumb-size);height:var(--pcoi-semantic-sizing-toggle-thumb-size);border-radius:var(--pcoi-semantic-radius-badge);background:var(--pcoi-semantic-action-toggle-thumb);transition:transform var(--pcoi-effect-transition-fast, .2s ease),background var(--pcoi-effect-transition-fast, .2s ease)}.pcoi-toggle__thumb:after{content:"";position:absolute;top:50%;left:50%;width:var(--pcoi-semantic-sizing-toggle-check-width);height:var(--pcoi-semantic-sizing-toggle-check-height);border:solid var(--pcoi-semantic-action-success);border-width:0 var(--pcoi-semantic-sizing-toggle-check-stroke) var(--pcoi-semantic-sizing-toggle-check-stroke) 0;transform:translate(-50%,-60%) rotate(45deg);opacity:0;transition:opacity var(--pcoi-effect-transition-fast, .2s ease)}.pcoi-toggle__control:hover .pcoi-toggle__track{box-shadow:0 0 0 1px var(--pcoi-semantic-border-input-hover)}.pcoi-toggle__control:active .pcoi-toggle__track{transform:var(--pcoi-effect-transform-press-scale-track)}.pcoi-toggle__input:checked+.pcoi-toggle__track{background:var(--pcoi-semantic-action-toggle-bg-on)}.pcoi-toggle__input:checked+.pcoi-toggle__track .pcoi-toggle__thumb{transform:translate(var(--pcoi-semantic-spacing-toggle-thumb-travel)) var(--pcoi-effect-transform-toggle-thumb-on)}.pcoi-toggle__input:checked+.pcoi-toggle__track .pcoi-toggle__thumb:after{opacity:1}.pcoi-toggle__input:focus-visible+.pcoi-toggle__track{outline:none;box-shadow:var(--pcoi-effect-shadow-focus-ring)}.pcoi-toggle__label{font-size:var(--pcoi-semantic-type-body-size);color:var(--pcoi-semantic-text-primary)}.pcoi-toggle--error .pcoi-toggle__track{box-shadow:0 0 0 1px var(--pcoi-semantic-border-error)}.pcoi-toggle__error{font-size:var(--pcoi-semantic-type-label-size);color:var(--pcoi-semantic-text-error);margin:0;padding-left:calc(var(--pcoi-semantic-sizing-toggle-track-width) + var(--pcoi-semantic-spacing-panel-gap))}.pcoi-toggle--disabled{opacity:var(--pcoi-effect-opacity-disabled);pointer-events:none}.pcoi-radio-group{border:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--pcoi-semantic-spacing-text-gap-sm)}.pcoi-radio-group__legend{font-size:var(--pcoi-semantic-type-label-size);font-weight:var(--pcoi-semantic-type-label-weight);letter-spacing:var(--pcoi-semantic-type-label-letter-spacing);text-transform:uppercase;color:var(--pcoi-semantic-text-secondary);margin-bottom:var(--pcoi-semantic-spacing-inline-2xs)}.pcoi-radio-group__required{color:var(--pcoi-semantic-text-error);margin-left:var(--pcoi-semantic-spacing-inline-2xs)}.pcoi-radio-group__options{display:flex;flex-direction:column;gap:var(--pcoi-semantic-spacing-panel-gap)}.pcoi-radio-group__option{display:inline-flex;align-items:center;gap:var(--pcoi-semantic-spacing-inline-sm);cursor:pointer}.pcoi-radio-group__input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pcoi-radio-group__circle{width:var(--pcoi-semantic-sizing-control-box-size);height:var(--pcoi-semantic-sizing-control-box-size);flex-shrink:0;border:1px solid var(--pcoi-semantic-border-default);border-radius:var(--pcoi-semantic-radius-badge);background:var(--pcoi-semantic-bg-default);position:relative;transition:border-color var(--pcoi-effect-transition-fast, .2s ease)}.pcoi-radio-group__circle:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:var(--pcoi-semantic-sizing-radio-dot-size);height:var(--pcoi-semantic-sizing-radio-dot-size);border-radius:var(--pcoi-semantic-radius-badge);background:var(--pcoi-semantic-action-primary-bg);opacity:0;transition:opacity var(--pcoi-effect-transition-fast, .2s ease)}.pcoi-radio-group__input:checked+.pcoi-radio-group__circle{border-color:var(--pcoi-semantic-action-primary-bg)}.pcoi-radio-group__input:checked+.pcoi-radio-group__circle:after{opacity:1}.pcoi-radio-group__option:hover .pcoi-radio-group__circle{border-color:var(--pcoi-semantic-border-input-hover)}.pcoi-radio-group__option:active .pcoi-radio-group__circle{transform:var(--pcoi-effect-transform-press-scale-control)}.pcoi-radio-group__input:focus-visible+.pcoi-radio-group__circle{border-color:var(--pcoi-semantic-focus-border);box-shadow:var(--pcoi-effect-shadow-focus-ring)}.pcoi-radio-group__label{font-size:var(--pcoi-semantic-type-body-size);color:var(--pcoi-semantic-text-primary)}.pcoi-radio-group--error .pcoi-radio-group__circle{border-color:var(--pcoi-semantic-border-error)}.pcoi-radio-group__error{font-size:var(--pcoi-semantic-type-label-size);color:var(--pcoi-semantic-text-error);margin:0}.pcoi-radio-group--disabled{opacity:var(--pcoi-effect-opacity-disabled);pointer-events:none}.pcoi-panel{background:var(--pcoi-semantic-bg-card);border:1px solid var(--pcoi-semantic-border-default);border-radius:var(--pcoi-semantic-radius-card);overflow:hidden}.pcoi-panel__header{display:flex;align-items:center;justify-content:space-between;padding:var(--pcoi-semantic-spacing-panel-padding-sm) var(--pcoi-semantic-spacing-panel-padding);border-bottom:1px solid var(--pcoi-semantic-border-default)}.pcoi-panel__title{font-size:var(--pcoi-semantic-type-body-size);font-weight:var(--pcoi-semantic-type-emphasis-weight);color:var(--pcoi-semantic-text-primary);margin:0}.pcoi-panel__action{flex-shrink:0}.pcoi-panel__body{padding:var(--pcoi-semantic-spacing-panel-padding)}.pcoi-panel--flush .pcoi-panel__body{padding:0}.pcoi-data-table{width:100%;overflow:hidden;overflow-x:auto;border:1px solid var(--pcoi-semantic-border-card);border-radius:var(--pcoi-semantic-radius-card)}.pcoi-data-table__table{width:100%;border-collapse:collapse}.pcoi-data-table__th{font-family:var(--pcoi-semantic-type-mono-font);font-size:var(--pcoi-semantic-type-body-sm-size);font-weight:var(--pcoi-semantic-type-emphasis-weight);letter-spacing:var(--pcoi-semantic-type-label-letter-spacing);text-transform:uppercase;color:var(--pcoi-semantic-text-secondary);text-align:left;padding:var(--pcoi-semantic-spacing-stack-md) var(--pcoi-semantic-spacing-card-gap);background:var(--pcoi-semantic-bg-alt)}.pcoi-data-table__th--center{text-align:center}.pcoi-data-table__th--right{text-align:right}.pcoi-data-table__td{font-size:var(--pcoi-semantic-type-body-compact-size);color:var(--pcoi-semantic-text-secondary);line-height:var(--pcoi-semantic-type-body-compact-line-height);text-align:left;padding:var(--pcoi-semantic-spacing-stack-md) var(--pcoi-semantic-spacing-card-gap)}.pcoi-data-table__td--center{text-align:center}.pcoi-data-table__td--right{text-align:right}.pcoi-data-table__row{border-top:1px solid var(--pcoi-semantic-border-card);transition:background var(--pcoi-effect-transition-fast, .2s ease)}.pcoi-data-table__row:hover{background:var(--pcoi-semantic-bg-card-hover)}.pcoi-data-table__empty{font-size:var(--pcoi-semantic-type-body-size);color:var(--pcoi-semantic-text-muted);text-align:center;padding:var(--pcoi-semantic-spacing-component-gap) var(--pcoi-semantic-spacing-stack-md)}.pcoi-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--pcoi-semantic-layout-z-modal, 500);display:flex;align-items:center;justify-content:center;background:var(--pcoi-semantic-bg-overlay);padding:var(--pcoi-semantic-spacing-panel-padding);animation:pcoi-modal-fade-in .2s ease}.pcoi-modal__dialog{font-family:var(--pcoi-semantic-type-body-font);background:var(--pcoi-semantic-surface-elevated);border:1px solid var(--pcoi-semantic-border-default);border-radius:var(--pcoi-semantic-radius-panel);box-shadow:var(--pcoi-effect-shadow-elevated);width:100%;max-width:var(--pcoi-semantic-sizing-modal-width);max-height:85vh;display:flex;flex-direction:column;animation:pcoi-modal-slide-up .2s ease}.pcoi-modal__header{display:flex;align-items:center;justify-content:space-between;padding:var(--pcoi-semantic-spacing-card-gap) var(--pcoi-semantic-spacing-panel-padding);border-bottom:1px solid var(--pcoi-semantic-border-default)}.pcoi-modal__title{font-size:var(--pcoi-semantic-type-heading-sm-size);font-weight:var(--pcoi-semantic-type-emphasis-weight);color:var(--pcoi-semantic-text-primary);margin:0}.pcoi-modal__close{background:none;border:none;color:var(--pcoi-semantic-text-secondary);font-size:var(--pcoi-semantic-type-close-lg-size);line-height:var(--pcoi-semantic-type-none-line-height);cursor:pointer;padding:var(--pcoi-semantic-spacing-control-padding-2xs);border-radius:var(--pcoi-semantic-radius-btn);transition:color var(--pcoi-effect-transition-fast, .2s ease)}.pcoi-modal__close:hover{color:var(--pcoi-semantic-text-primary)}.pcoi-modal__close:active{transform:var(--pcoi-effect-transform-press-scale-icon)}.pcoi-modal__close:focus-visible{outline:none;box-shadow:var(--pcoi-effect-shadow-focus-ring)}.pcoi-modal__body{padding:var(--pcoi-semantic-spacing-panel-padding);overflow-y:auto;flex:1;font-size:var(--pcoi-semantic-type-body-size);color:var(--pcoi-semantic-text-secondary);line-height:var(--pcoi-semantic-type-body-line-height)}.pcoi-modal__footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--pcoi-semantic-spacing-panel-gap);padding:var(--pcoi-semantic-spacing-panel-padding-sm) var(--pcoi-semantic-spacing-panel-padding);border-top:1px solid var(--pcoi-semantic-border-default)}.pcoi-modal__dialog--wide{max-width:var(--pcoi-semantic-sizing-document-width, 900px)}@keyframes pcoi-modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes pcoi-modal-slide-up{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}.pcoi-toast{position:fixed;bottom:var(--pcoi-semantic-spacing-btn-x);right:var(--pcoi-semantic-spacing-btn-x);z-index:var(--pcoi-semantic-layout-z-toast, 600);animation:pcoi-toast-slide-in .3s ease}.pcoi-toast__content{display:flex;align-items:center;gap:var(--pcoi-semantic-spacing-panel-gap);font-family:var(--pcoi-semantic-type-body-font);background:var(--pcoi-semantic-surface-elevated);border:1px solid var(--pcoi-semantic-border-default);border-radius:var(--pcoi-semantic-radius-card);box-shadow:var(--pcoi-effect-shadow-elevated);padding:var(--pcoi-semantic-spacing-btn-y-comfortable) var(--pcoi-semantic-spacing-card-gap);min-width:var(--pcoi-semantic-sizing-toast-width-min);max-width:var(--pcoi-semantic-sizing-toast-width-max)}.pcoi-toast--success .pcoi-toast__content{border-left:var(--pcoi-semantic-sizing-accent-border-width) solid var(--pcoi-semantic-border-success)}.pcoi-toast--error .pcoi-toast__content{border-left:var(--pcoi-semantic-sizing-accent-border-width) solid var(--pcoi-semantic-border-error)}.pcoi-toast--warning .pcoi-toast__content{border-left:var(--pcoi-semantic-sizing-accent-border-width) solid var(--pcoi-semantic-border-warning)}.pcoi-toast--info .pcoi-toast__content{border-left:var(--pcoi-semantic-sizing-accent-border-width) solid var(--pcoi-semantic-border-info)}.pcoi-toast__message{flex:1;font-size:var(--pcoi-semantic-type-body-size);color:var(--pcoi-semantic-text-primary);line-height:var(--pcoi-semantic-type-body-compact-line-height)}.pcoi-toast__close{background:none;border:none;color:var(--pcoi-semantic-text-secondary);font-size:var(--pcoi-semantic-type-close-sm-size);line-height:var(--pcoi-semantic-type-none-line-height);cursor:pointer;padding:var(--pcoi-semantic-spacing-control-padding-2xs);border-radius:var(--pcoi-semantic-radius-btn);flex-shrink:0;transition:color var(--pcoi-effect-transition-fast, .2s ease)}.pcoi-toast__close:hover{color:var(--pcoi-semantic-text-primary)}.pcoi-toast__close:active{transform:var(--pcoi-effect-transform-press-scale-icon)}.pcoi-toast__close:focus-visible{outline:none;box-shadow:var(--pcoi-effect-shadow-focus-ring)}@keyframes pcoi-toast-slide-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.pcoi-suggestion-card{display:flex;align-items:center;gap:var(--pcoi-semantic-spacing-panel-gap);width:100%;padding:var(--pcoi-semantic-spacing-panel-padding-sm) var(--pcoi-semantic-spacing-card-gap);font-family:var(--pcoi-semantic-type-body-font);font-size:var(--pcoi-semantic-type-body-size);line-height:var(--pcoi-semantic-type-body-line-height);color:var(--pcoi-semantic-text-secondary);text-align:left;background:var(--pcoi-semantic-bg-card);border:1px solid var(--pcoi-semantic-border-card);border-radius:var(--pcoi-semantic-radius-card);cursor:pointer;transition:background var(--pcoi-effect-transition-medium),border-color var(--pcoi-effect-transition-medium),transform var(--pcoi-effect-transition-medium),box-shadow var(--pcoi-effect-transition-medium)}.pcoi-suggestion-card:hover{background:var(--pcoi-semantic-bg-card-hover);border-color:var(--pcoi-semantic-border-card-hover);transform:var(--pcoi-effect-transform-hover-lift-sm)}.pcoi-suggestion-card:active{transform:var(--pcoi-effect-transform-press-scale)}.pcoi-suggestion-card:focus-visible{outline:none;box-shadow:var(--pcoi-effect-shadow-focus-ring)}.pcoi-suggestion-card__icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--pcoi-semantic-text-accent)}.pcoi-suggestion-card__label{flex:1;min-width:0}.pcoi-suggestion-cards{display:flex;flex-direction:column;gap:var(--pcoi-semantic-spacing-stack-md)}@media (min-width: 768px){.pcoi-suggestion-cards{display:grid;grid-template-columns:repeat(3,1fr)}}.pcoi-cited-excerpt{display:flex;flex-direction:column;gap:var(--pcoi-semantic-spacing-form-gap-compact);padding:var(--pcoi-semantic-spacing-input-y);background:var(--pcoi-semantic-surface-accent-dim);border-left:var(--pcoi-semantic-sizing-accent-border-width) solid var(--pcoi-semantic-border-accent-dim);border-radius:var(--pcoi-semantic-radius-input)}.pcoi-cited-excerpt__source{display:inline-flex;align-items:center;align-self:flex-start;padding:0;font-family:var(--pcoi-semantic-type-body-font);font-size:var(--pcoi-semantic-type-body-sm-size);color:var(--pcoi-semantic-text-accent);background:none;border:none;cursor:pointer;transition:color var(--pcoi-effect-transition-fast)}.pcoi-cited-excerpt__source:hover{color:var(--pcoi-semantic-text-accent-hover);text-decoration:underline}.pcoi-cited-excerpt__source:focus-visible{outline:none;box-shadow:var(--pcoi-effect-shadow-focus-ring);border-radius:var(--pcoi-semantic-radius-btn)}.pcoi-cited-excerpt__body{display:flex;align-items:baseline;gap:var(--pcoi-semantic-spacing-form-gap-compact)}.pcoi-cited-excerpt__index{flex-shrink:0;padding:0;background:none;border:none;cursor:pointer;font-family:var(--pcoi-semantic-type-mono-font);font-size:var(--pcoi-semantic-type-body-compact-size);font-weight:var(--pcoi-semantic-type-label-weight);color:var(--pcoi-semantic-text-accent);transition:color var(--pcoi-effect-transition-fast)}.pcoi-cited-excerpt__index:hover{color:var(--pcoi-semantic-text-accent-hover)}.pcoi-cited-excerpt__index:focus-visible{outline:none;box-shadow:var(--pcoi-effect-shadow-focus-ring);border-radius:var(--pcoi-semantic-radius-btn)}.pcoi-cited-excerpt__text{margin:0;font-family:var(--pcoi-semantic-type-body-font);font-size:var(--pcoi-semantic-type-body-compact-size);color:var(--pcoi-semantic-text-secondary);line-height:var(--pcoi-semantic-type-body-line-height)}.pcoi-prompt-bar{display:flex;align-items:flex-end;gap:var(--pcoi-semantic-spacing-panel-gap);padding:var(--pcoi-semantic-spacing-input-y) var(--pcoi-semantic-spacing-input-x);background:var(--pcoi-semantic-bg-card);border:1px solid var(--pcoi-semantic-border-default);border-radius:var(--pcoi-semantic-radius-card);transition:border-color var(--pcoi-effect-transition-fast),box-shadow var(--pcoi-effect-transition-fast)}.pcoi-prompt-bar:not(:focus-within):hover{border-color:var(--pcoi-semantic-border-input-hover)}.pcoi-prompt-bar:focus-within{border-color:var(--pcoi-semantic-focus-border);box-shadow:var(--pcoi-effect-shadow-focus-ring)}.pcoi-prompt-bar__input{flex:1;min-height:24px;max-height:120px;padding:var(--pcoi-semantic-spacing-control-padding-2xs) 0;font-family:var(--pcoi-semantic-type-body-font);font-size:var(--pcoi-semantic-type-body-size);line-height:var(--pcoi-semantic-type-body-line-height);color:var(--pcoi-semantic-text-primary);background:transparent;border:none;outline:none;resize:none}.pcoi-prompt-bar__input::placeholder{color:var(--pcoi-semantic-text-muted)}.pcoi-prompt-bar__actions{flex-shrink:0;display:flex;align-items:center}.pcoi-prompt-bar__send.pcoi-btn{padding:var(--pcoi-semantic-spacing-control-padding-xs);min-width:0;min-height:0;width:var(--pcoi-semantic-sizing-btn-height-nav);height:var(--pcoi-semantic-sizing-btn-height-nav)}.pcoi-prompt-bar__send-icon{display:flex;transform:rotate(-90deg)}@media (max-width: 480px){.pcoi-prompt-bar{padding:var(--pcoi-semantic-spacing-control-padding-sm) var(--pcoi-semantic-spacing-input-y)}}.pcoi-chat-message{display:flex;flex-direction:column;gap:var(--pcoi-semantic-spacing-inline-sm);padding:var(--pcoi-semantic-spacing-stack-md);border-radius:var(--pcoi-semantic-radius-card);border:1px solid var(--pcoi-semantic-border-card)}.pcoi-chat-message--user{background:var(--pcoi-semantic-bg-surface)}.pcoi-chat-message--assistant{background:var(--pcoi-semantic-surface-accent-dim)}.pcoi-chat-message__header{display:flex;align-items:center}.pcoi-chat-message__body{font-family:var(--pcoi-semantic-type-body-font);font-size:var(--pcoi-semantic-type-body-size);line-height:var(--pcoi-semantic-type-body-line-height);color:var(--pcoi-semantic-text-primary)}.pcoi-chat-message__citations{display:flex;flex-direction:column;gap:var(--pcoi-semantic-spacing-inline-sm);margin-top:var(--pcoi-semantic-spacing-inline-2xs)}.pcoi-chat-message__timestamp{font-family:var(--pcoi-semantic-type-body-font);font-size:var(--pcoi-semantic-type-body-sm-size);color:var(--pcoi-semantic-text-muted)}@media (min-width: 1025px){.pcoi-chat-message--user{margin-left:var(--pcoi-semantic-spacing-inline-xl)}.pcoi-chat-message--assistant{margin-right:var(--pcoi-semantic-spacing-inline-xl)}}.pcoi-chat-message-list{flex:1;min-height:0;overflow:hidden}.pcoi-chat-message-list__inner{height:100%;overflow-y:auto;display:flex;flex-direction:column;gap:var(--pcoi-semantic-spacing-stack-md);padding:var(--pcoi-semantic-spacing-panel-padding-sm)}@media (min-width: 768px){.pcoi-chat-message-list__inner{gap:var(--pcoi-semantic-spacing-card-gap);padding:var(--pcoi-semantic-spacing-panel-padding)}}.pcoi-typing-indicator{display:flex;flex-direction:column;gap:var(--pcoi-semantic-spacing-stack-sm);padding:var(--pcoi-semantic-spacing-panel-padding-sm);background:var(--pcoi-semantic-surface-accent-dim);border:1px solid var(--pcoi-semantic-border-card);border-radius:var(--pcoi-semantic-radius-card);animation:pcoi-typing-fade-in .2s ease}.pcoi-typing-indicator__header{display:flex;align-items:center}.pcoi-typing-indicator__dots{display:flex;align-items:center;gap:6px;padding:var(--pcoi-semantic-spacing-inline-2xs) 0}.pcoi-typing-indicator__dot{width:8px;height:8px;border-radius:var(--pcoi-semantic-radius-avatar);background:var(--pcoi-semantic-text-accent);opacity:.4;animation:pcoi-typing-bounce 1.4s ease-in-out infinite}.pcoi-typing-indicator__dot:nth-child(2){animation-delay:.2s}.pcoi-typing-indicator__dot:nth-child(3){animation-delay:.4s}@keyframes pcoi-typing-bounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-6px);opacity:1}}@keyframes pcoi-typing-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (min-width: 1025px){.pcoi-typing-indicator{margin-right:var(--pcoi-semantic-spacing-inline-xl)}}.pcoi-doc-overlay .pcoi-modal__title{color:var(--pcoi-semantic-text-accent)}.pcoi-doc-overlay__content{font-family:var(--pcoi-semantic-type-body-font);font-size:var(--pcoi-semantic-type-body-size);line-height:var(--pcoi-semantic-type-body-line-height);color:var(--pcoi-semantic-text-primary)}.pcoi-doc-overlay__content p{margin:0 0 var(--pcoi-semantic-spacing-panel-gap)}.pcoi-doc-overlay__content p:last-child{margin-bottom:0}.pcoi-doc-overlay__highlight{display:flex;align-items:baseline;gap:var(--pcoi-semantic-spacing-form-gap-compact);background:var(--pcoi-semantic-surface-highlight);border-left:var(--pcoi-semantic-sizing-accent-border-width) solid var(--pcoi-semantic-border-accent-subtle);padding:var(--pcoi-semantic-spacing-inline-sm) var(--pcoi-semantic-spacing-input-y);border-radius:var(--pcoi-semantic-radius-input);animation:pcoi-doc-highlight-fade .4s ease}.pcoi-doc-overlay__highlight[data-highlight-index]:before{content:attr(data-highlight-index);flex-shrink:0;font-family:var(--pcoi-semantic-type-mono-font);font-size:var(--pcoi-semantic-type-body-compact-size);font-weight:var(--pcoi-semantic-type-label-weight);color:var(--pcoi-semantic-text-accent)}.pcoi-doc-overlay__source{display:flex;align-items:center}@keyframes pcoi-doc-highlight-fade{0%{background:var(--pcoi-semantic-surface-accent-dim)}to{background:var(--pcoi-semantic-surface-highlight)}}.pcoi-chat{display:flex;flex-direction:column;height:100%;max-width:var(--pcoi-semantic-sizing-container-narrow, 800px);margin:0 auto}.pcoi-chat--empty{justify-content:flex-end}.pcoi-chat__empty-state{flex:1;display:flex;flex-direction:column;justify-content:center;padding:var(--pcoi-semantic-spacing-panel-padding-sm)}.pcoi-chat__suggestions{max-width:100%}.pcoi-chat__messages{flex:1;min-height:0}.pcoi-chat__prompt{flex-shrink:0;padding:var(--pcoi-semantic-spacing-panel-padding-sm)}@media (min-width: 768px){.pcoi-chat__empty-state,.pcoi-chat__prompt{padding:var(--pcoi-semantic-spacing-panel-padding)}}
|
package/dist/index.d.ts
CHANGED
|
@@ -239,7 +239,7 @@ export declare interface ComparisonTableProps extends default_2.HTMLAttributes<H
|
|
|
239
239
|
*/
|
|
240
240
|
export declare const ContactForm: default_2.ForwardRefExoticComponent<ContactFormProps & default_2.RefAttributes<HTMLFormElement>>;
|
|
241
241
|
|
|
242
|
-
export declare interface ContactFormProps extends default_2.FormHTMLAttributes<HTMLFormElement> {
|
|
242
|
+
export declare interface ContactFormProps extends Omit<default_2.FormHTMLAttributes<HTMLFormElement>, "onSubmit"> {
|
|
243
243
|
onSubmit?: (data: Record<string, string>) => void;
|
|
244
244
|
}
|
|
245
245
|
|
|
@@ -376,8 +376,7 @@ export declare interface LinkItem {
|
|
|
376
376
|
*/
|
|
377
377
|
export declare const LogoMark: default_2.ForwardRefExoticComponent<LogoMarkProps & default_2.RefAttributes<HTMLAnchorElement>>;
|
|
378
378
|
|
|
379
|
-
export declare
|
|
380
|
-
}
|
|
379
|
+
export declare type LogoMarkProps = default_2.AnchorHTMLAttributes<HTMLAnchorElement>;
|
|
381
380
|
|
|
382
381
|
/**
|
|
383
382
|
* PCOI Modal — Dialog overlay with focus trap
|
|
@@ -398,7 +397,7 @@ export declare interface ModalProps extends Omit<default_2.HTMLAttributes<HTMLDi
|
|
|
398
397
|
/** Dialog width: "default" (520px) or "wide" (900px) */
|
|
399
398
|
size?: "default" | "wide";
|
|
400
399
|
/** Modal body content */
|
|
401
|
-
children
|
|
400
|
+
children?: default_2.ReactNode;
|
|
402
401
|
/** Footer content (e.g. action buttons) */
|
|
403
402
|
footer?: default_2.ReactNode;
|
|
404
403
|
}
|
|
@@ -454,7 +453,7 @@ export declare interface PanelProps extends default_2.HTMLAttributes<HTMLDivElem
|
|
|
454
453
|
*/
|
|
455
454
|
export declare const PromptBar: default_2.ForwardRefExoticComponent<PromptBarProps & default_2.RefAttributes<HTMLDivElement>>;
|
|
456
455
|
|
|
457
|
-
export declare interface PromptBarProps extends default_2.HTMLAttributes<HTMLDivElement> {
|
|
456
|
+
export declare interface PromptBarProps extends Omit<default_2.HTMLAttributes<HTMLDivElement>, "onChange" | "onSubmit"> {
|
|
458
457
|
/** Current textarea value */
|
|
459
458
|
value: string;
|
|
460
459
|
/** Called when the textarea value changes */
|
|
@@ -586,7 +585,7 @@ export declare interface SuggestionCardProps extends default_2.ButtonHTMLAttribu
|
|
|
586
585
|
*/
|
|
587
586
|
export declare const SuggestionCards: default_2.ForwardRefExoticComponent<SuggestionCardsProps & default_2.RefAttributes<HTMLDivElement>>;
|
|
588
587
|
|
|
589
|
-
export declare interface SuggestionCardsProps extends default_2.HTMLAttributes<HTMLDivElement> {
|
|
588
|
+
export declare interface SuggestionCardsProps extends Omit<default_2.HTMLAttributes<HTMLDivElement>, "onSelect"> {
|
|
590
589
|
/** Array of suggestion prompts */
|
|
591
590
|
suggestions: Suggestion[];
|
|
592
591
|
/** Called when a suggestion card is clicked */
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),d=require("react"),
|
|
2
|
-
Operational Intelligence`,copyright:i=`© ${new Date().getFullYear()} PCOI. Operational intelligence you own.`,className:o="",...c},r)=>e.jsxs("footer",{ref:r,className:`pcoi-footer ${o}`,...c,children:[e.jsxs("div",{className:"pcoi-footer__inner",children:[e.jsxs("div",{className:"pcoi-footer__brand",children:[e.jsx(y,{className:"pcoi-footer__logo"}),e.jsx("p",{className:"pcoi-footer__tagline",children:a})]}),e.jsx("div",{className:"pcoi-footer__links",children:s.map(l=>e.jsx("a",{href:l.href,"data-track-id":l.trackingId,children:l.label},l.href))})]}),e.jsx("div",{className:"pcoi-footer__bottom",children:e.jsx("p",{children:i})})]}));Y.displayName="Footer";const K=({size:s=24,title:a,...i})=>e.jsxs("svg",{width:s,height:s,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round",role:a?"img":"presentation","aria-hidden":!a,xmlns:"http://www.w3.org/2000/svg",...i,children:[a&&e.jsx("title",{children:a}),e.jsx("polyline",{points:"6 9 12 15 18 9"})]});K.displayName="ChevronDownIcon";const z=d.forwardRef(({label:s,name:a,options:i,placeholder:o,error:c,required:r=!1,disabled:l=!1,className:t="",...p},n)=>{const h=`pcoi-field-${a}`,m=c?`${h}-error`:void 0,f=["pcoi-select",c?"pcoi-select--error":"",l?"pcoi-select--disabled":"",t].filter(Boolean).join(" ");return e.jsxs("div",{className:f,children:[e.jsxs("label",{htmlFor:h,className:"pcoi-select__label",children:[s,r&&e.jsx("span",{className:"pcoi-select__required","aria-hidden":"true",children:"*"})]}),e.jsxs("div",{className:"pcoi-select__wrapper",children:[e.jsxs("select",{ref:n,id:h,name:a,required:r,disabled:l,"aria-invalid":!!c,"aria-describedby":m,className:"pcoi-select__native",defaultValue:o?"":void 0,...p,children:[o&&e.jsx("option",{value:"",disabled:!0,hidden:!0,children:o}),i.map(_=>e.jsx("option",{value:_.value,disabled:_.disabled,children:_.label},_.value))]}),e.jsx("span",{className:"pcoi-select__chevron","aria-hidden":"true",children:e.jsx(K,{size:16})})]}),c&&e.jsx("span",{id:m,className:"pcoi-select__error",role:"alert",children:c})]})});z.displayName="Select";const G=d.forwardRef(({label:s,name:a,error:i,disabled:o=!1,className:c="",...r},l)=>{const t=`pcoi-field-${a}`,p=i?`${t}-error`:void 0,n=["pcoi-checkbox",i?"pcoi-checkbox--error":"",o?"pcoi-checkbox--disabled":"",c].filter(Boolean).join(" ");return e.jsxs("div",{className:n,children:[e.jsxs("label",{htmlFor:t,className:"pcoi-checkbox__control",children:[e.jsx("input",{ref:l,type:"checkbox",id:t,name:a,disabled:o,"aria-invalid":!!i,"aria-describedby":p,className:"pcoi-checkbox__input",...r}),e.jsx("span",{className:"pcoi-checkbox__box","aria-hidden":"true"}),e.jsx("span",{className:"pcoi-checkbox__label",children:s})]}),i&&e.jsx("span",{id:p,className:"pcoi-checkbox__error",role:"alert",children:i})]})});G.displayName="Checkbox";const V=d.forwardRef(({label:s,name:a,error:i,disabled:o=!1,className:c="",...r},l)=>{const t=`pcoi-field-${a}`,p=i?`${t}-error`:void 0,n=["pcoi-toggle",i?"pcoi-toggle--error":"",o?"pcoi-toggle--disabled":"",c].filter(Boolean).join(" ");return e.jsxs("div",{className:n,children:[e.jsxs("label",{htmlFor:t,className:"pcoi-toggle__control",children:[e.jsx("input",{ref:l,type:"checkbox",id:t,name:a,disabled:o,"aria-invalid":!!i,"aria-describedby":p,className:"pcoi-toggle__input",role:"switch",...r}),e.jsx("span",{className:"pcoi-toggle__track","aria-hidden":"true",children:e.jsx("span",{className:"pcoi-toggle__thumb"})}),e.jsx("span",{className:"pcoi-toggle__label",children:s})]}),i&&e.jsx("span",{id:p,className:"pcoi-toggle__error",role:"alert",children:i})]})});V.displayName="Toggle";const J=d.forwardRef(({label:s,name:a,options:i,defaultValue:o,error:c,required:r=!1,disabled:l=!1,onChange:t,className:p="",...n},h)=>{const m=c?`pcoi-field-${a}-error`:void 0,f=["pcoi-radio-group",c?"pcoi-radio-group--error":"",l?"pcoi-radio-group--disabled":"",p].filter(Boolean).join(" "),_=u=>{t==null||t(u.target.value)};return e.jsxs("fieldset",{ref:h,className:f,"aria-invalid":!!c,"aria-describedby":m,...n,children:[e.jsxs("legend",{className:"pcoi-radio-group__legend",children:[s,r&&e.jsx("span",{className:"pcoi-radio-group__required","aria-hidden":"true",children:"*"})]}),e.jsx("div",{className:"pcoi-radio-group__options",children:i.map(u=>{const v=`pcoi-field-${a}-${u.value}`;return e.jsxs("label",{htmlFor:v,className:"pcoi-radio-group__option",children:[e.jsx("input",{type:"radio",id:v,name:a,value:u.value,defaultChecked:o===u.value,required:r,disabled:l||u.disabled,onChange:_,className:"pcoi-radio-group__input"}),e.jsx("span",{className:"pcoi-radio-group__circle","aria-hidden":"true"}),e.jsx("span",{className:"pcoi-radio-group__label",children:u.label})]},u.value)})}),c&&e.jsx("span",{id:m,className:"pcoi-radio-group__error",role:"alert",children:c})]})});J.displayName="RadioGroup";const Q=d.forwardRef(({title:s,headingLevel:a="h3",action:i,children:o,flush:c=!1,className:r="",...l},t)=>{const p=a,n=["pcoi-panel",c?"pcoi-panel--flush":"",r].filter(Boolean).join(" ");return e.jsxs("div",{ref:t,className:n,...l,children:[(s||i)&&e.jsxs("div",{className:"pcoi-panel__header",children:[s&&e.jsx(p,{className:"pcoi-panel__title",children:s}),i&&e.jsx("div",{className:"pcoi-panel__action",children:i})]}),e.jsx("div",{className:"pcoi-panel__body",children:o})]})});Q.displayName="Panel";const X=d.forwardRef(({columns:s,rows:a,rowKey:i,emptyText:o="No data available",ariaLabel:c,className:r="",...l},t)=>{const p=(n,h)=>i?typeof i=="function"?i(n,h):String(n[i]):String(h);return e.jsx("div",{ref:t,className:`pcoi-data-table ${r}`,...l,children:e.jsxs("table",{className:"pcoi-data-table__table","aria-label":c,children:[e.jsx("thead",{className:"pcoi-data-table__head",children:e.jsx("tr",{className:"pcoi-data-table__head-row",children:s.map(n=>e.jsx("th",{className:`pcoi-data-table__th${n.align?` pcoi-data-table__th--${n.align}`:""}`,children:n.header},n.key))})}),e.jsx("tbody",{className:"pcoi-data-table__body",children:a.length===0?e.jsx("tr",{children:e.jsx("td",{colSpan:s.length,className:"pcoi-data-table__empty",children:o})}):a.map((n,h)=>e.jsx("tr",{className:"pcoi-data-table__row",children:s.map(m=>{const f=n[m.key];return e.jsx("td",{className:`pcoi-data-table__td${m.align?` pcoi-data-table__td--${m.align}`:""}`,children:m.render?m.render(f,n):String(f??"")},m.key)})},p(n,h)))})]})})});X.displayName="DataTable";const g=d.forwardRef(({children:s,variant:a="default",className:i="",...o},c)=>{const r=["pcoi-badge",`pcoi-badge--${a}`,i].filter(Boolean).join(" ");return e.jsx("span",{ref:c,className:r,...o,children:s})});g.displayName="Badge";const w=({size:s=24,title:a,...i})=>e.jsxs("svg",{width:s,height:s,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round",role:a?"img":"presentation","aria-hidden":!a,xmlns:"http://www.w3.org/2000/svg",...i,children:[a&&e.jsx("title",{children:a}),e.jsx("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),e.jsx("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]});w.displayName="CloseIcon";const k=({open:s,onClose:a,title:i,headingLevel:o="h2",size:c="default",children:r,footer:l,className:t="",...p})=>{const n=d.useRef(null),h=d.useRef(null),m=o,f=i?"pcoi-modal-title":void 0,_=d.useCallback(x=>{if(x.key==="Escape"){a();return}if(x.key==="Tab"&&n.current){const j=n.current.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');if(j.length===0)return;const T=j[0],F=j[j.length-1];x.shiftKey&&document.activeElement===T?(x.preventDefault(),F.focus()):!x.shiftKey&&document.activeElement===F&&(x.preventDefault(),T.focus())}},[a]);d.useEffect(()=>(s&&(h.current=document.activeElement,document.addEventListener("keydown",_),document.body.style.overflow="hidden",requestAnimationFrame(()=>{var j;const x=(j=n.current)==null?void 0:j.querySelector('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');x==null||x.focus()})),()=>{var x;document.removeEventListener("keydown",_),document.body.style.overflow="",(x=h.current)==null||x.focus()}),[s,_]);const u=x=>{x.target===x.currentTarget&&a()};if(!s)return null;const v=["pcoi-modal",t].filter(Boolean).join(" ");return D.createPortal(e.jsx("div",{className:v,onClick:u,children:e.jsxs("div",{ref:n,className:`pcoi-modal__dialog${c==="wide"?" pcoi-modal__dialog--wide":""}`,role:"dialog","aria-modal":"true","aria-labelledby":f,...p,children:[e.jsxs("div",{className:"pcoi-modal__header",children:[i&&e.jsx(m,{id:f,className:"pcoi-modal__title",children:i}),e.jsx("button",{type:"button",className:"pcoi-modal__close",onClick:a,"aria-label":"Close modal",children:e.jsx(w,{size:20})})]}),e.jsx("div",{className:"pcoi-modal__body",children:r}),l&&e.jsx("div",{className:"pcoi-modal__footer",children:l})]})}),document.body)};k.displayName="Modal";const Z=({message:s,variant:a="info",open:i,onClose:o,duration:c=5e3,className:r="",...l})=>{const t=d.useCallback(()=>{o==null||o()},[o]);if(d.useEffect(()=>{if(!i||c===0)return;const n=setTimeout(t,c);return()=>clearTimeout(n)},[i,c,t]),!i)return null;const p=["pcoi-toast",`pcoi-toast--${a}`,r].filter(Boolean).join(" ");return D.createPortal(e.jsx("div",{className:p,role:"alert",...l,children:e.jsxs("div",{className:"pcoi-toast__content",children:[e.jsx("span",{className:"pcoi-toast__message",children:s}),o&&e.jsx("button",{type:"button",className:"pcoi-toast__close",onClick:t,"aria-label":"Dismiss notification",children:e.jsx(w,{size:16})})]})}),document.body)};Z.displayName="Toast";const C=d.forwardRef(({label:s,icon:a,className:i="",...o},c)=>{const r=["pcoi-suggestion-card",i].filter(Boolean).join(" ");return e.jsxs("button",{ref:c,type:"button",className:r,...o,children:[a&&e.jsx("span",{className:"pcoi-suggestion-card__icon",children:a}),e.jsx("span",{className:"pcoi-suggestion-card__label",children:s})]})});C.displayName="SuggestionCard";const R=d.forwardRef(({index:s,excerpt:a,sourceTitle:i,onSourceClick:o,className:c="",...r},l)=>{const t=["pcoi-cited-excerpt",c].filter(Boolean).join(" ");return e.jsxs("div",{ref:l,className:t,...r,children:[e.jsx("button",{type:"button",className:"pcoi-cited-excerpt__source",onClick:o,children:i}),e.jsxs("div",{className:"pcoi-cited-excerpt__body",children:[e.jsxs("button",{type:"button",className:"pcoi-cited-excerpt__index",onClick:o,children:["[",s,"]"]}),e.jsx("p",{className:"pcoi-cited-excerpt__text",children:a})]})]})});R.displayName="CitedExcerpt";const U=({size:s=24,title:a,...i})=>e.jsxs("svg",{width:s,height:s,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round",role:a?"img":"presentation","aria-hidden":!a,xmlns:"http://www.w3.org/2000/svg",...i,children:[a&&e.jsx("title",{children:a}),e.jsx("line",{x1:"5",y1:"12",x2:"19",y2:"12"}),e.jsx("polyline",{points:"12 5 19 12 12 19"})]});U.displayName="ArrowRightIcon";const $=d.forwardRef(({value:s,onChange:a,onSubmit:i,placeholder:o="Ask a question…",disabled:c=!1,loading:r=!1,className:l="",...t},p)=>{const n=d.useRef(null),h=d.useCallback(_=>{_.key==="Enter"&&!_.shiftKey&&(_.preventDefault(),s.trim()&&!c&&!r&&i(s.trim()))},[s,c,r,i]),m=d.useCallback(()=>{s.trim()&&!c&&!r&&i(s.trim())},[s,c,r,i]),f=["pcoi-prompt-bar",l].filter(Boolean).join(" ");return e.jsxs("div",{ref:p,className:f,...t,children:[e.jsx("textarea",{ref:n,className:"pcoi-prompt-bar__input",value:s,onChange:_=>a(_.target.value),onKeyDown:h,placeholder:o,disabled:c,rows:1,"aria-label":o}),e.jsx("div",{className:"pcoi-prompt-bar__actions",children:e.jsx(b,{variant:"primary",className:"pcoi-prompt-bar__send",onClick:m,disabled:c||r||!s.trim(),"aria-label":"Send message",children:e.jsx("span",{className:"pcoi-prompt-bar__send-icon",children:e.jsx(U,{size:16})})})})]})});$.displayName="PromptBar";const S=d.forwardRef(({role:s,children:a,citations:i,timestamp:o,onCitationClick:c,className:r="",...l},t)=>{const p=["pcoi-chat-message",`pcoi-chat-message--${s}`,r].filter(Boolean).join(" ");return e.jsxs("div",{ref:t,className:p,...l,children:[e.jsx("div",{className:"pcoi-chat-message__header",children:e.jsx(g,{variant:s==="assistant"?"default":"info",children:s==="assistant"?"PCOI":"You"})}),e.jsx("div",{className:"pcoi-chat-message__body",children:a}),i&&i.length>0&&e.jsx("div",{className:"pcoi-chat-message__citations",children:i.map(n=>e.jsx(R,{index:n.index,excerpt:n.excerpt,sourceTitle:n.sourceTitle,onSourceClick:()=>c==null?void 0:c(n)},n.index))}),o&&e.jsx("time",{className:"pcoi-chat-message__timestamp",children:o})]})});S.displayName="ChatMessage";const I=d.forwardRef(({suggestions:s,onSelect:a,className:i="",...o},c)=>{const r=["pcoi-suggestion-cards",i].filter(Boolean).join(" ");return e.jsx("div",{ref:c,className:r,...o,children:s.map(l=>e.jsx(C,{label:l.label,icon:l.icon,onClick:()=>a(l)},l.id))})});I.displayName="SuggestionCards";const B=d.forwardRef(({children:s,className:a="",...i},o)=>{const c=d.useRef(null);d.useEffect(()=>{const l=c.current;if(!l)return;const t=()=>{requestAnimationFrame(()=>{l.scrollTop=l.scrollHeight})},p=new MutationObserver(t);return p.observe(l,{childList:!0,subtree:!0}),t(),()=>p.disconnect()},[]);const r=["pcoi-chat-message-list",a].filter(Boolean).join(" ");return e.jsx("div",{ref:o,className:r,...i,children:e.jsx("div",{ref:c,className:"pcoi-chat-message-list__inner",children:s})})});B.displayName="ChatMessageList";const ee=d.forwardRef(({open:s,onClose:a,title:i,sourceLabel:o,children:c,highlightId:r,highlightIndex:l,className:t="",...p},n)=>{const h=d.useRef(null);d.useEffect(()=>{s&&r&&h.current&&requestAnimationFrame(()=>{var u;const _=(u=h.current)==null?void 0:u.querySelector(`#${CSS.escape(r)}`);_&&(_.scrollIntoView({behavior:"smooth",block:"center"}),_.classList.add("pcoi-doc-overlay__highlight"),l!==void 0&&_.setAttribute("data-highlight-index",`[${l}]`))})},[s,r,l]);const m=["pcoi-doc-overlay",t].filter(Boolean).join(" "),f=o?d.createElement("div",{className:"pcoi-doc-overlay__source"},d.createElement(g,null,o)):void 0;return d.createElement(k,{open:s,onClose:a,title:i,size:"wide",footer:f,className:m,...p},d.createElement("div",{ref:h,className:"pcoi-doc-overlay__content"},c))});ee.displayName="DocumentOverlay";const E=d.forwardRef(({label:s="PCOI",className:a="",...i},o)=>{const c=["pcoi-typing-indicator",a].filter(Boolean).join(" ");return e.jsxs("div",{ref:o,className:c,...i,children:[e.jsx("div",{className:"pcoi-typing-indicator__header",children:e.jsx(g,{children:s})}),e.jsxs("div",{className:"pcoi-typing-indicator__dots","aria-label":"Typing",children:[e.jsx("span",{className:"pcoi-typing-indicator__dot"}),e.jsx("span",{className:"pcoi-typing-indicator__dot"}),e.jsx("span",{className:"pcoi-typing-indicator__dot"})]})]})});E.displayName="TypingIndicator";const ae=d.forwardRef(({messages:s,suggestions:a,promptValue:i,onPromptChange:o,onPromptSubmit:c,onSuggestionSelect:r,onCitationClick:l,placeholder:t,loading:p=!1,className:n="",...h},m)=>{const f=s.length===0,_=["pcoi-chat",f?"pcoi-chat--empty":"",n].filter(Boolean).join(" ");return e.jsxs("div",{ref:m,className:_,...h,children:[f?e.jsx("div",{className:"pcoi-chat__empty-state",children:a&&a.length>0&&r&&e.jsx("div",{className:"pcoi-chat__suggestions",children:e.jsx(I,{suggestions:a,onSelect:r})})}):e.jsxs(B,{className:"pcoi-chat__messages",children:[s.map(u=>e.jsx(S,{role:u.role,citations:u.citations,timestamp:u.timestamp,onCitationClick:l,children:u.content},u.id)),p&&e.jsx(E,{})]}),e.jsx("div",{className:"pcoi-chat__prompt",children:e.jsx($,{value:i,onChange:o,onSubmit:c,placeholder:t,loading:p,disabled:p})})]})});ae.displayName="ChatInterface";exports.Badge=g;exports.Button=b;exports.Callout=A;exports.Card=P;exports.ChatInterface=ae;exports.ChatMessage=S;exports.ChatMessageList=B;exports.Checkbox=G;exports.CitedExcerpt=R;exports.ComparisonTable=H;exports.ContactForm=q;exports.DataTable=X;exports.DocumentOverlay=ee;exports.Footer=Y;exports.FormField=N;exports.HowStep=M;exports.LogoMark=y;exports.Modal=k;exports.Nav=O;exports.Panel=Q;exports.PromptBar=$;exports.RadioGroup=J;exports.SectionHeader=L;exports.Select=z;exports.SignalsPanel=W;exports.SuggestionCard=C;exports.SuggestionCards=I;exports.Toast=Z;exports.Toggle=V;exports.TypingIndicator=E;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),d=require("react"),y=require("@pcoi/icons"),P=require("react-dom"),w=d.forwardRef(({href:s="#",className:l="",...a},i)=>e.jsxs("a",{ref:i,href:s,className:`pcoi-logo ${l}`,...a,children:[e.jsx("span",{className:"pcoi-logo__mark",children:"P"}),"COI"]}));w.displayName="LogoMark";const b=d.forwardRef(({variant:s="primary",size:l="default",children:a,className:i="",...c},r)=>{const o=["pcoi-btn",`pcoi-btn--${s}`,l!=="default"?`pcoi-btn--${l}`:"",i].filter(Boolean).join(" ");return e.jsx("button",{ref:r,className:o,...c,children:a})});b.displayName="Button";const N=d.forwardRef(({label:s,name:l,multiline:a=!1,rows:i=3,error:c,required:r=!1,disabled:o=!1,className:t="",...p},n)=>{const h=`pcoi-field-${l}`,m=c?`${h}-error`:void 0,f=["pcoi-field",c?"pcoi-field--error":"",o?"pcoi-field--disabled":"",t].filter(Boolean).join(" ");return e.jsxs("div",{className:f,children:[e.jsxs("label",{htmlFor:h,className:"pcoi-field__label",children:[s,r&&e.jsx("span",{className:"pcoi-field__required","aria-hidden":"true",children:"*"})]}),a?e.jsx("textarea",{ref:n,id:h,name:l,rows:i,required:r,disabled:o,"aria-invalid":!!c,"aria-describedby":m,className:"pcoi-field__textarea",...p}):e.jsx("input",{ref:n,id:h,name:l,required:r,disabled:o,"aria-invalid":!!c,"aria-describedby":m,className:"pcoi-field__input",...p}),c&&e.jsx("span",{id:m,className:"pcoi-field__error",role:"alert",children:c})]})});N.displayName="FormField";const D=d.forwardRef(({variant:s="problem",title:l,description:a,icon:i,number:c,headingLevel:r="h3",className:o="",...t},p)=>{const n=r,h=["pcoi-card",`pcoi-card--${s}`,o].filter(Boolean).join(" ");return e.jsxs("div",{ref:p,className:h,...t,children:[s==="problem"&&i&&e.jsx("div",{className:"pcoi-card__icon",children:i}),s==="principle"&&c&&e.jsx("div",{className:"pcoi-card__number",children:c}),e.jsx(n,{className:"pcoi-card__title",children:l}),e.jsx("p",{className:"pcoi-card__description",children:a})]})});D.displayName="Card";const O=d.forwardRef(({links:s=[{label:"Problem",href:"#problem"},{label:"How It Works",href:"#how-it-works"},{label:"Difference",href:"#difference"},{label:"Who It's For",href:"#who"}],ctaLabel:l="Start a Conversation",ctaHref:a="#contact",onCtaClick:i,className:c="",...r},o)=>{const[t,p]=d.useState(!1),[n,h]=d.useState(!1);return d.useEffect(()=>{const m=()=>p(window.scrollY>40);return window.addEventListener("scroll",m,{passive:!0}),m(),()=>window.removeEventListener("scroll",m)},[]),d.useEffect(()=>{if(!n)return;const m=f=>{f.key==="Escape"&&h(!1)};return document.addEventListener("keydown",m),()=>document.removeEventListener("keydown",m)},[n]),e.jsxs("nav",{ref:o,className:`pcoi-nav ${t?"pcoi-nav--scrolled":""} ${n?"pcoi-nav--menu-open":""} ${c}`,"aria-label":"Main",...r,children:[e.jsxs("div",{className:"pcoi-nav__inner",children:[e.jsx(w,{}),e.jsxs("div",{className:"pcoi-nav__links",children:[s.map(m=>e.jsx("a",{href:m.href,"data-track-id":m.trackingId,children:m.label},m.href)),e.jsx("a",{href:a,children:e.jsx(b,{variant:"nav-cta",onClick:i,children:l})})]}),e.jsxs("button",{className:`pcoi-nav__hamburger ${n?"pcoi-nav__hamburger--active":""}`,onClick:()=>h(!n),"aria-label":"Toggle menu","aria-expanded":n,"aria-controls":"pcoi-mobile-menu",children:[e.jsx("span",{}),e.jsx("span",{}),e.jsx("span",{})]})]}),e.jsxs("div",{className:"pcoi-nav__mobile-menu",id:"pcoi-mobile-menu",children:[s.map(m=>e.jsx("a",{href:m.href,"data-track-id":m.trackingId,onClick:()=>h(!1),children:m.label},m.href)),e.jsx("a",{href:a,children:e.jsx(b,{variant:"nav-cta",onClick:()=>{i==null||i(),h(!1)},children:l})})]})]})});O.displayName="Nav";const M=d.forwardRef(({label:s,title:l,titleEmphasis:a,description:i,headingLevel:c="h2",className:r="",...o},t)=>{const p=c;return e.jsxs("div",{ref:t,className:`pcoi-section-header ${r}`,...o,children:[e.jsx("span",{className:"pcoi-section-header__label",children:s}),e.jsx(p,{className:"pcoi-section-header__title",children:a?e.jsxs(e.Fragment,{children:[l.replace(a,""),e.jsx("em",{children:a})]}):l}),i&&e.jsx("p",{className:"pcoi-section-header__desc",children:i})]})});M.displayName="SectionHeader";const q=d.forwardRef(({number:s,title:l,description:a,isLast:i=!1,headingLevel:c="h3",className:r="",...o},t)=>{const p=c;return e.jsxs("div",{ref:t,className:`pcoi-how-step ${i?"pcoi-how-step--last":""} ${r}`,...o,children:[e.jsx("div",{className:"pcoi-how-step__number",children:s}),e.jsxs("div",{className:"pcoi-how-step__content",children:[e.jsx(p,{className:"pcoi-how-step__title",children:l}),e.jsx("p",{className:"pcoi-how-step__desc",children:a})]})]})});q.displayName="HowStep";const H=d.forwardRef(({competitorName:s="Typical SaaS AI",pcoiName:l="PCOI",rows:a,className:i="",...c},r)=>e.jsx("div",{ref:r,className:`pcoi-comparison ${i}`,...c,children:e.jsxs("table",{className:"pcoi-comparison__table",children:[e.jsx("thead",{children:e.jsxs("tr",{className:"pcoi-comparison__header",children:[e.jsx("th",{className:"pcoi-comparison__col",scope:"col",children:e.jsx("span",{className:"pcoi-sr-only",children:"Feature"})}),e.jsx("th",{className:"pcoi-comparison__col",scope:"col",children:s}),e.jsx("th",{className:"pcoi-comparison__col pcoi-comparison__col--highlight",scope:"col",children:l})]})}),e.jsx("tbody",{children:a.map((o,t)=>e.jsxs("tr",{className:"pcoi-comparison__row",children:[e.jsx("th",{className:"pcoi-comparison__col pcoi-comparison__col--label",scope:"row",children:o.label}),e.jsx("td",{className:"pcoi-comparison__col",children:o.competitor}),e.jsx("td",{className:"pcoi-comparison__col pcoi-comparison__col--highlight",children:o.pcoi})]},t))})]})}));H.displayName="ComparisonTable";const L=d.forwardRef(({onSubmit:s,className:l="",...a},i)=>{const[c,r]=d.useState(!1),o=t=>{t.preventDefault();const p=t.currentTarget,n=new FormData(p),h=Object.fromEntries(n.entries());s==null||s(h),r(!0),p.reset(),setTimeout(()=>r(!1),3e3)};return e.jsxs("form",{ref:i,className:`pcoi-form ${l}`,onSubmit:o,"aria-label":"Contact form",...a,children:[e.jsxs("div",{className:"pcoi-form__row",children:[e.jsx(N,{label:"Name",name:"name",placeholder:"Your name",required:!0}),e.jsx(N,{label:"Company",name:"company",placeholder:"Company name",required:!0})]}),e.jsxs("div",{className:"pcoi-form__row",children:[e.jsx(N,{label:"Email",name:"email",type:"email",placeholder:"you@company.com",required:!0}),e.jsx(N,{label:"Your Role",name:"role",placeholder:"CEO, COO, VP Ops, etc."})]}),e.jsx(N,{label:"What problem are you trying to solve?",name:"context",multiline:!0,rows:3,placeholder:"Tell us about the knowledge challenges in your organization...",className:"pcoi-form__full"}),e.jsx(b,{type:"submit",variant:"primary",size:"large",disabled:c,children:c?"Message Received":"Start the Conversation"}),e.jsx("p",{className:"pcoi-form__note",children:"No sales automation. A real person reads this and responds personally."})]})});L.displayName="ContactForm";const A=d.forwardRef(({quote:s,attribution:l,attributionTitle:a,sourceUrl:i,sourceLabel:c,className:r="",...o},t)=>e.jsxs("div",{ref:t,className:`pcoi-callout ${r}`,...o,children:[e.jsx("div",{className:"pcoi-callout__line"}),e.jsx("p",{className:"pcoi-callout__quote",children:s}),(l||i)&&e.jsxs("p",{className:"pcoi-callout__attribution",children:[a&&e.jsxs("span",{children:[a," ~ "]}),l,i&&e.jsxs(e.Fragment,{children:[" | ",e.jsx("a",{href:i,target:"_blank",rel:"noopener noreferrer",children:c||"Source"})]})]})]}));A.displayName="Callout";const z=d.forwardRef(({title:s="You'll know this is for you if:",signals:l,headingLevel:a="h3",className:i="",...c},r)=>{const o=a;return e.jsxs("div",{ref:r,className:`pcoi-signals ${i}`,...c,children:[e.jsx(o,{className:"pcoi-signals__title",children:s}),e.jsx("ul",{className:"pcoi-signals__list",children:l.map((t,p)=>e.jsx("li",{className:"pcoi-signals__item",children:t},p))})]})});z.displayName="SignalsPanel";const Y=d.forwardRef(({links:s=[{label:"Problem",href:"#problem"},{label:"How It Works",href:"#how-it-works"},{label:"Difference",href:"#difference"},{label:"Principles",href:"#principles"},{label:"Who It's For",href:"#who"},{label:"Contact",href:"#contact"}],tagline:l=`Portable, Company-Owned
|
|
2
|
+
Operational Intelligence`,copyright:a=`© ${new Date().getFullYear()} PCOI. Operational intelligence you own.`,className:i="",...c},r)=>e.jsxs("footer",{ref:r,className:`pcoi-footer ${i}`,...c,children:[e.jsxs("div",{className:"pcoi-footer__inner",children:[e.jsxs("div",{className:"pcoi-footer__brand",children:[e.jsx(w,{className:"pcoi-footer__logo"}),e.jsx("p",{className:"pcoi-footer__tagline",children:l})]}),e.jsx("div",{className:"pcoi-footer__links",children:s.map(o=>e.jsx("a",{href:o.href,"data-track-id":o.trackingId,children:o.label},o.href))})]}),e.jsx("div",{className:"pcoi-footer__bottom",children:e.jsx("p",{children:a})})]}));Y.displayName="Footer";const W=d.forwardRef(({label:s,name:l,options:a,placeholder:i,error:c,required:r=!1,disabled:o=!1,className:t="",...p},n)=>{const h=`pcoi-field-${l}`,m=c?`${h}-error`:void 0,f=["pcoi-select",c?"pcoi-select--error":"",o?"pcoi-select--disabled":"",t].filter(Boolean).join(" ");return e.jsxs("div",{className:f,children:[e.jsxs("label",{htmlFor:h,className:"pcoi-select__label",children:[s,r&&e.jsx("span",{className:"pcoi-select__required","aria-hidden":"true",children:"*"})]}),e.jsxs("div",{className:"pcoi-select__wrapper",children:[e.jsxs("select",{ref:n,id:h,name:l,required:r,disabled:o,"aria-invalid":!!c,"aria-describedby":m,className:"pcoi-select__native",defaultValue:i?"":void 0,...p,children:[i&&e.jsx("option",{value:"",disabled:!0,hidden:!0,children:i}),a.map(_=>e.jsx("option",{value:_.value,disabled:_.disabled,children:_.label},_.value))]}),e.jsx("span",{className:"pcoi-select__chevron","aria-hidden":"true",children:e.jsx(y.ChevronDownIcon,{size:16})})]}),c&&e.jsx("span",{id:m,className:"pcoi-select__error",role:"alert",children:c})]})});W.displayName="Select";const K=d.forwardRef(({label:s,name:l,error:a,disabled:i=!1,className:c="",...r},o)=>{const t=`pcoi-field-${l}`,p=a?`${t}-error`:void 0,n=["pcoi-checkbox",a?"pcoi-checkbox--error":"",i?"pcoi-checkbox--disabled":"",c].filter(Boolean).join(" ");return e.jsxs("div",{className:n,children:[e.jsxs("label",{htmlFor:t,className:"pcoi-checkbox__control",children:[e.jsx("input",{ref:o,type:"checkbox",id:t,name:l,disabled:i,"aria-invalid":!!a,"aria-describedby":p,className:"pcoi-checkbox__input",...r}),e.jsx("span",{className:"pcoi-checkbox__box","aria-hidden":"true"}),e.jsx("span",{className:"pcoi-checkbox__label",children:s})]}),a&&e.jsx("span",{id:p,className:"pcoi-checkbox__error",role:"alert",children:a})]})});K.displayName="Checkbox";const G=d.forwardRef(({label:s,name:l,error:a,disabled:i=!1,className:c="",...r},o)=>{const t=`pcoi-field-${l}`,p=a?`${t}-error`:void 0,n=["pcoi-toggle",a?"pcoi-toggle--error":"",i?"pcoi-toggle--disabled":"",c].filter(Boolean).join(" ");return e.jsxs("div",{className:n,children:[e.jsxs("label",{htmlFor:t,className:"pcoi-toggle__control",children:[e.jsx("input",{ref:o,type:"checkbox",id:t,name:l,disabled:i,"aria-invalid":!!a,"aria-describedby":p,className:"pcoi-toggle__input",role:"switch",...r}),e.jsx("span",{className:"pcoi-toggle__track","aria-hidden":"true",children:e.jsx("span",{className:"pcoi-toggle__thumb"})}),e.jsx("span",{className:"pcoi-toggle__label",children:s})]}),a&&e.jsx("span",{id:p,className:"pcoi-toggle__error",role:"alert",children:a})]})});G.displayName="Toggle";const V=d.forwardRef(({label:s,name:l,options:a,defaultValue:i,error:c,required:r=!1,disabled:o=!1,onChange:t,className:p="",...n},h)=>{const m=c?`pcoi-field-${l}-error`:void 0,f=["pcoi-radio-group",c?"pcoi-radio-group--error":"",o?"pcoi-radio-group--disabled":"",p].filter(Boolean).join(" "),_=u=>{t==null||t(u.target.value)};return e.jsxs("fieldset",{ref:h,className:f,"aria-invalid":!!c,"aria-describedby":m,...n,children:[e.jsxs("legend",{className:"pcoi-radio-group__legend",children:[s,r&&e.jsx("span",{className:"pcoi-radio-group__required","aria-hidden":"true",children:"*"})]}),e.jsx("div",{className:"pcoi-radio-group__options",children:a.map(u=>{const v=`pcoi-field-${l}-${u.value}`;return e.jsxs("label",{htmlFor:v,className:"pcoi-radio-group__option",children:[e.jsx("input",{type:"radio",id:v,name:l,value:u.value,defaultChecked:i===u.value,required:r,disabled:o||u.disabled,onChange:_,className:"pcoi-radio-group__input"}),e.jsx("span",{className:"pcoi-radio-group__circle","aria-hidden":"true"}),e.jsx("span",{className:"pcoi-radio-group__label",children:u.label})]},u.value)})}),c&&e.jsx("span",{id:m,className:"pcoi-radio-group__error",role:"alert",children:c})]})});V.displayName="RadioGroup";const J=d.forwardRef(({title:s,headingLevel:l="h3",action:a,children:i,flush:c=!1,className:r="",...o},t)=>{const p=l,n=["pcoi-panel",c?"pcoi-panel--flush":"",r].filter(Boolean).join(" ");return e.jsxs("div",{ref:t,className:n,...o,children:[(s||a)&&e.jsxs("div",{className:"pcoi-panel__header",children:[s&&e.jsx(p,{className:"pcoi-panel__title",children:s}),a&&e.jsx("div",{className:"pcoi-panel__action",children:a})]}),e.jsx("div",{className:"pcoi-panel__body",children:i})]})});J.displayName="Panel";const Q=d.forwardRef(({columns:s,rows:l,rowKey:a,emptyText:i="No data available",ariaLabel:c,className:r="",...o},t)=>{const p=(n,h)=>a?typeof a=="function"?a(n,h):String(n[a]):String(h);return e.jsx("div",{ref:t,className:`pcoi-data-table ${r}`,...o,children:e.jsxs("table",{className:"pcoi-data-table__table","aria-label":c,children:[e.jsx("thead",{className:"pcoi-data-table__head",children:e.jsx("tr",{className:"pcoi-data-table__head-row",children:s.map(n=>e.jsx("th",{className:`pcoi-data-table__th${n.align?` pcoi-data-table__th--${n.align}`:""}`,children:n.header},n.key))})}),e.jsx("tbody",{className:"pcoi-data-table__body",children:l.length===0?e.jsx("tr",{children:e.jsx("td",{colSpan:s.length,className:"pcoi-data-table__empty",children:i})}):l.map((n,h)=>e.jsx("tr",{className:"pcoi-data-table__row",children:s.map(m=>{const f=n[m.key];return e.jsx("td",{className:`pcoi-data-table__td${m.align?` pcoi-data-table__td--${m.align}`:""}`,children:m.render?m.render(f,n):String(f??"")},m.key)})},p(n,h)))})]})})});Q.displayName="DataTable";const g=d.forwardRef(({children:s,variant:l="default",className:a="",...i},c)=>{const r=["pcoi-badge",`pcoi-badge--${l}`,a].filter(Boolean).join(" ");return e.jsx("span",{ref:c,className:r,...i,children:s})});g.displayName="Badge";const C=({open:s,onClose:l,title:a,headingLevel:i="h2",size:c="default",children:r,footer:o,className:t="",...p})=>{const n=d.useRef(null),h=d.useRef(null),m=i,f=a?"pcoi-modal-title":void 0,_=d.useCallback(x=>{if(x.key==="Escape"){l();return}if(x.key==="Tab"&&n.current){const j=n.current.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');if(j.length===0)return;const T=j[0],F=j[j.length-1];x.shiftKey&&document.activeElement===T?(x.preventDefault(),F.focus()):!x.shiftKey&&document.activeElement===F&&(x.preventDefault(),T.focus())}},[l]);d.useEffect(()=>(s&&(h.current=document.activeElement,document.addEventListener("keydown",_),document.body.style.overflow="hidden",requestAnimationFrame(()=>{var j;const x=(j=n.current)==null?void 0:j.querySelector('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');x==null||x.focus()})),()=>{var x;document.removeEventListener("keydown",_),document.body.style.overflow="",(x=h.current)==null||x.focus()}),[s,_]);const u=x=>{x.target===x.currentTarget&&l()};if(!s)return null;const v=["pcoi-modal",t].filter(Boolean).join(" ");return P.createPortal(e.jsx("div",{className:v,onClick:u,children:e.jsxs("div",{ref:n,className:`pcoi-modal__dialog${c==="wide"?" pcoi-modal__dialog--wide":""}`,role:"dialog","aria-modal":"true","aria-labelledby":f,...p,children:[e.jsxs("div",{className:"pcoi-modal__header",children:[a&&e.jsx(m,{id:f,className:"pcoi-modal__title",children:a}),e.jsx("button",{type:"button",className:"pcoi-modal__close",onClick:l,"aria-label":"Close modal",children:e.jsx(y.CloseIcon,{size:20})})]}),e.jsx("div",{className:"pcoi-modal__body",children:r}),o&&e.jsx("div",{className:"pcoi-modal__footer",children:o})]})}),document.body)};C.displayName="Modal";const X=({message:s,variant:l="info",open:a,onClose:i,duration:c=5e3,className:r="",...o})=>{const t=d.useCallback(()=>{i==null||i()},[i]);if(d.useEffect(()=>{if(!a||c===0)return;const n=setTimeout(t,c);return()=>clearTimeout(n)},[a,c,t]),!a)return null;const p=["pcoi-toast",`pcoi-toast--${l}`,r].filter(Boolean).join(" ");return P.createPortal(e.jsx("div",{className:p,role:"alert",...o,children:e.jsxs("div",{className:"pcoi-toast__content",children:[e.jsx("span",{className:"pcoi-toast__message",children:s}),i&&e.jsx("button",{type:"button",className:"pcoi-toast__close",onClick:t,"aria-label":"Dismiss notification",children:e.jsx(y.CloseIcon,{size:16})})]})}),document.body)};X.displayName="Toast";const R=d.forwardRef(({label:s,icon:l,className:a="",...i},c)=>{const r=["pcoi-suggestion-card",a].filter(Boolean).join(" ");return e.jsxs("button",{ref:c,type:"button",className:r,...i,children:[l&&e.jsx("span",{className:"pcoi-suggestion-card__icon",children:l}),e.jsx("span",{className:"pcoi-suggestion-card__label",children:s})]})});R.displayName="SuggestionCard";const k=d.forwardRef(({index:s,excerpt:l,sourceTitle:a,onSourceClick:i,className:c="",...r},o)=>{const t=["pcoi-cited-excerpt",c].filter(Boolean).join(" ");return e.jsxs("div",{ref:o,className:t,...r,children:[e.jsx("button",{type:"button",className:"pcoi-cited-excerpt__source",onClick:i,children:a}),e.jsxs("div",{className:"pcoi-cited-excerpt__body",children:[e.jsxs("button",{type:"button",className:"pcoi-cited-excerpt__index",onClick:i,children:["[",s,"]"]}),e.jsx("p",{className:"pcoi-cited-excerpt__text",children:l})]})]})});k.displayName="CitedExcerpt";const $=d.forwardRef(({value:s,onChange:l,onSubmit:a,placeholder:i="Ask a question…",disabled:c=!1,loading:r=!1,className:o="",...t},p)=>{const n=d.useRef(null),h=d.useCallback(_=>{_.key==="Enter"&&!_.shiftKey&&(_.preventDefault(),s.trim()&&!c&&!r&&a(s.trim()))},[s,c,r,a]),m=d.useCallback(()=>{s.trim()&&!c&&!r&&a(s.trim())},[s,c,r,a]),f=["pcoi-prompt-bar",o].filter(Boolean).join(" ");return e.jsxs("div",{ref:p,className:f,...t,children:[e.jsx("textarea",{ref:n,className:"pcoi-prompt-bar__input",value:s,onChange:_=>l(_.target.value),onKeyDown:h,placeholder:i,disabled:c,rows:1,"aria-label":i}),e.jsx("div",{className:"pcoi-prompt-bar__actions",children:e.jsx(b,{variant:"primary",className:"pcoi-prompt-bar__send",onClick:m,disabled:c||r||!s.trim(),"aria-label":"Send message",children:e.jsx("span",{className:"pcoi-prompt-bar__send-icon",children:e.jsx(y.ArrowRightIcon,{size:16})})})})]})});$.displayName="PromptBar";const S=d.forwardRef(({role:s,children:l,citations:a,timestamp:i,onCitationClick:c,className:r="",...o},t)=>{const p=["pcoi-chat-message",`pcoi-chat-message--${s}`,r].filter(Boolean).join(" ");return e.jsxs("div",{ref:t,className:p,...o,children:[e.jsx("div",{className:"pcoi-chat-message__header",children:e.jsx(g,{variant:s==="assistant"?"default":"info",children:s==="assistant"?"PCOI":"You"})}),e.jsx("div",{className:"pcoi-chat-message__body",children:l}),a&&a.length>0&&e.jsx("div",{className:"pcoi-chat-message__citations",children:a.map(n=>e.jsx(k,{index:n.index,excerpt:n.excerpt,sourceTitle:n.sourceTitle,onSourceClick:()=>c==null?void 0:c(n)},n.index))}),i&&e.jsx("time",{className:"pcoi-chat-message__timestamp",children:i})]})});S.displayName="ChatMessage";const I=d.forwardRef(({suggestions:s,onSelect:l,className:a="",...i},c)=>{const r=["pcoi-suggestion-cards",a].filter(Boolean).join(" ");return e.jsx("div",{ref:c,className:r,...i,children:s.map(o=>e.jsx(R,{label:o.label,icon:o.icon,onClick:()=>l(o)},o.id))})});I.displayName="SuggestionCards";const B=d.forwardRef(({children:s,className:l="",...a},i)=>{const c=d.useRef(null);d.useEffect(()=>{const o=c.current;if(!o)return;const t=()=>{requestAnimationFrame(()=>{o.scrollTop=o.scrollHeight})},p=new MutationObserver(t);return p.observe(o,{childList:!0,subtree:!0}),t(),()=>p.disconnect()},[]);const r=["pcoi-chat-message-list",l].filter(Boolean).join(" ");return e.jsx("div",{ref:i,className:r,...a,children:e.jsx("div",{ref:c,className:"pcoi-chat-message-list__inner",children:s})})});B.displayName="ChatMessageList";const Z=d.forwardRef(({open:s,onClose:l,title:a,sourceLabel:i,children:c,highlightId:r,highlightIndex:o,className:t="",...p},n)=>{const h=d.useRef(null);d.useEffect(()=>{s&&r&&h.current&&requestAnimationFrame(()=>{var u;const _=(u=h.current)==null?void 0:u.querySelector(`#${CSS.escape(r)}`);_&&(_.scrollIntoView({behavior:"smooth",block:"center"}),_.classList.add("pcoi-doc-overlay__highlight"),o!==void 0&&_.setAttribute("data-highlight-index",`[${o}]`))})},[s,r,o]);const m=["pcoi-doc-overlay",t].filter(Boolean).join(" "),f=i?d.createElement("div",{className:"pcoi-doc-overlay__source"},d.createElement(g,null,i)):void 0;return d.createElement(C,{open:s,onClose:l,title:a,size:"wide",footer:f,className:m,...p},d.createElement("div",{ref:h,className:"pcoi-doc-overlay__content"},c))});Z.displayName="DocumentOverlay";const E=d.forwardRef(({label:s="PCOI",className:l="",...a},i)=>{const c=["pcoi-typing-indicator",l].filter(Boolean).join(" ");return e.jsxs("div",{ref:i,className:c,...a,children:[e.jsx("div",{className:"pcoi-typing-indicator__header",children:e.jsx(g,{children:s})}),e.jsxs("div",{className:"pcoi-typing-indicator__dots","aria-label":"Typing",children:[e.jsx("span",{className:"pcoi-typing-indicator__dot"}),e.jsx("span",{className:"pcoi-typing-indicator__dot"}),e.jsx("span",{className:"pcoi-typing-indicator__dot"})]})]})});E.displayName="TypingIndicator";const U=d.forwardRef(({messages:s,suggestions:l,promptValue:a,onPromptChange:i,onPromptSubmit:c,onSuggestionSelect:r,onCitationClick:o,placeholder:t,loading:p=!1,className:n="",...h},m)=>{const f=s.length===0,_=["pcoi-chat",f?"pcoi-chat--empty":"",n].filter(Boolean).join(" ");return e.jsxs("div",{ref:m,className:_,...h,children:[f?e.jsx("div",{className:"pcoi-chat__empty-state",children:l&&l.length>0&&r&&e.jsx("div",{className:"pcoi-chat__suggestions",children:e.jsx(I,{suggestions:l,onSelect:r})})}):e.jsxs(B,{className:"pcoi-chat__messages",children:[s.map(u=>e.jsx(S,{role:u.role,citations:u.citations,timestamp:u.timestamp,onCitationClick:o,children:u.content},u.id)),p&&e.jsx(E,{})]}),e.jsx("div",{className:"pcoi-chat__prompt",children:e.jsx($,{value:a,onChange:i,onSubmit:c,placeholder:t,loading:p,disabled:p})})]})});U.displayName="ChatInterface";exports.Badge=g;exports.Button=b;exports.Callout=A;exports.Card=D;exports.ChatInterface=U;exports.ChatMessage=S;exports.ChatMessageList=B;exports.Checkbox=K;exports.CitedExcerpt=k;exports.ComparisonTable=H;exports.ContactForm=L;exports.DataTable=Q;exports.DocumentOverlay=Z;exports.Footer=Y;exports.FormField=N;exports.HowStep=q;exports.LogoMark=w;exports.Modal=C;exports.Nav=O;exports.Panel=J;exports.PromptBar=$;exports.RadioGroup=V;exports.SectionHeader=M;exports.Select=W;exports.SignalsPanel=z;exports.SuggestionCard=R;exports.SuggestionCards=I;exports.Toast=X;exports.Toggle=G;exports.TypingIndicator=E;
|