@pcoi/components 0.1.0
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 -0
- package/dist/index.d.ts +667 -0
- package/dist/index.js +2 -0
- package/dist/index.mjs +1048 -0
- package/package.json +36 -0
- package/src/Badge/Badge.css +40 -0
- package/src/Badge/Badge.tsx +36 -0
- package/src/Badge/index.ts +2 -0
- package/src/Button/Button.css +93 -0
- package/src/Button/Button.figma.tsx +29 -0
- package/src/Button/Button.tsx +47 -0
- package/src/Button/index.ts +1 -0
- package/src/Callout/Callout.css +43 -0
- package/src/Callout/Callout.tsx +39 -0
- package/src/Callout/index.ts +1 -0
- package/src/Card/Card.css +88 -0
- package/src/Card/Card.tsx +60 -0
- package/src/Card/index.ts +1 -0
- package/src/ChatInterface/ChatInterface.css +49 -0
- package/src/ChatInterface/ChatInterface.tsx +120 -0
- package/src/ChatInterface/index.ts +6 -0
- package/src/ChatMessage/ChatMessage.css +55 -0
- package/src/ChatMessage/ChatMessage.tsx +71 -0
- package/src/ChatMessage/index.ts +2 -0
- package/src/ChatMessageList/ChatMessageList.css +24 -0
- package/src/ChatMessageList/ChatMessageList.tsx +51 -0
- package/src/ChatMessageList/index.ts +2 -0
- package/src/Checkbox/Checkbox.css +97 -0
- package/src/Checkbox/Checkbox.tsx +70 -0
- package/src/Checkbox/index.ts +2 -0
- package/src/CitationMark/CitationMark.css +40 -0
- package/src/CitationMark/CitationMark.tsx +38 -0
- package/src/CitationMark/index.ts +2 -0
- package/src/CitedExcerpt/CitedExcerpt.css +75 -0
- package/src/CitedExcerpt/CitedExcerpt.tsx +51 -0
- package/src/CitedExcerpt/index.ts +2 -0
- package/src/ComparisonTable/ComparisonTable.css +66 -0
- package/src/ComparisonTable/ComparisonTable.tsx +48 -0
- package/src/ComparisonTable/index.ts +1 -0
- package/src/ContactForm/ContactForm.css +38 -0
- package/src/ContactForm/ContactForm.tsx +57 -0
- package/src/ContactForm/index.ts +1 -0
- package/src/DataTable/DataTable.css +56 -0
- package/src/DataTable/DataTable.tsx +104 -0
- package/src/DataTable/index.ts +2 -0
- package/src/DocumentOverlay/DocumentOverlay.css +57 -0
- package/src/DocumentOverlay/DocumentOverlay.tsx +86 -0
- package/src/DocumentOverlay/index.ts +2 -0
- package/src/Footer/Footer.css +72 -0
- package/src/Footer/Footer.tsx +56 -0
- package/src/Footer/index.ts +1 -0
- package/src/FormField/FormField.css +78 -0
- package/src/FormField/FormField.tsx +103 -0
- package/src/FormField/index.ts +2 -0
- package/src/HowStep/HowStep.css +48 -0
- package/src/HowStep/HowStep.tsx +38 -0
- package/src/HowStep/index.ts +1 -0
- package/src/LogoMark/LogoMark.css +16 -0
- package/src/LogoMark/LogoMark.tsx +25 -0
- package/src/LogoMark/index.ts +2 -0
- package/src/Modal/Modal.css +101 -0
- package/src/Modal/Modal.tsx +141 -0
- package/src/Modal/index.ts +2 -0
- package/src/Nav/Nav.css +161 -0
- package/src/Nav/Nav.tsx +101 -0
- package/src/Nav/index.ts +1 -0
- package/src/Panel/Panel.css +35 -0
- package/src/Panel/Panel.tsx +61 -0
- package/src/Panel/index.ts +2 -0
- package/src/PromptBar/PromptBar.css +68 -0
- package/src/PromptBar/PromptBar.tsx +93 -0
- package/src/PromptBar/index.ts +2 -0
- package/src/RadioGroup/RadioGroup.css +117 -0
- package/src/RadioGroup/RadioGroup.tsx +112 -0
- package/src/RadioGroup/index.ts +2 -0
- package/src/SectionHeader/SectionHeader.css +38 -0
- package/src/SectionHeader/SectionHeader.tsx +55 -0
- package/src/SectionHeader/index.ts +1 -0
- package/src/Select/Select.css +90 -0
- package/src/Select/Select.tsx +100 -0
- package/src/Select/index.ts +2 -0
- package/src/SignalsPanel/SignalsPanel.css +51 -0
- package/src/SignalsPanel/SignalsPanel.tsx +33 -0
- package/src/SignalsPanel/index.ts +1 -0
- package/src/SuggestionCard/SuggestionCard.css +51 -0
- package/src/SuggestionCard/SuggestionCard.tsx +34 -0
- package/src/SuggestionCard/index.ts +2 -0
- package/src/SuggestionCards/SuggestionCards.css +15 -0
- package/src/SuggestionCards/SuggestionCards.tsx +40 -0
- package/src/SuggestionCards/index.ts +2 -0
- package/src/Toast/Toast.css +85 -0
- package/src/Toast/Toast.tsx +77 -0
- package/src/Toast/index.ts +2 -0
- package/src/Toggle/Toggle.css +110 -0
- package/src/Toggle/Toggle.tsx +73 -0
- package/src/Toggle/index.ts +2 -0
- package/src/TypingIndicator/TypingIndicator.css +70 -0
- package/src/TypingIndicator/TypingIndicator.tsx +37 -0
- package/src/TypingIndicator/index.ts +2 -0
- package/src/index.ts +37 -0
- package/src/styles/utilities.css +14 -0
- package/src/styles.css +32 -0
- package/src/types.ts +65 -0
|
@@ -0,0 +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)}}
|