/* TypeAtlas Cognitive Functions — Phase 3 theory-first collection */
.cf-hero{background:radial-gradient(circle at 82% 18%,rgba(94,196,201,.17),transparent 35%),radial-gradient(circle at 17% 82%,rgba(224,104,104,.14),transparent 36%)}
.cf-hero h1{max-width:21ch}.cf-hero h1 em{color:var(--ta-gold)}
.cf-intro{font-size:19px;line-height:1.8}
.cf-hub-grid{display:grid;gap:18px;margin-top:26px}
.cf-hub-card{position:relative;display:block;min-height:220px;padding:24px;border:1px solid var(--ta-border);border-radius:18px;background:linear-gradient(150deg,rgba(94,196,201,.08),rgba(23,28,38,.98));color:inherit;text-decoration:none;overflow:hidden;transition:transform .2s ease,border-color .2s ease}
.cf-hub-card::after{content:attr(data-code);position:absolute;right:12px;bottom:-26px;color:rgba(244,242,237,.045);font:800 94px/1 var(--ta-display)}
.cf-hub-card:hover{border-color:var(--ta-gold);transform:translateY(-2px)}
.cf-hub-card h3{position:relative;z-index:1;margin:8px 0;font-size:30px}.cf-hub-card p{position:relative;z-index:1;margin-bottom:0}
.cf-boundary-grid{display:grid;gap:18px;margin:26px 0}
.cf-boundary-card{padding:22px;border:1px solid var(--ta-border);border-radius:14px;background:var(--ta-raised)}
.cf-boundary-card h3{margin-top:0}.cf-boundary-card li{margin:10px 0}
.cf-warning{margin:24px 0;padding:18px;border:1px solid rgba(228,162,75,.48);border-radius:12px;background:rgba(228,162,75,.08);color:var(--ta-soft)}
.cf-warning strong{color:var(--ta-text)}
.cf-falsification{margin-top:18px;padding:20px;border-left:4px solid var(--ta-teal);border-radius:0 12px 12px 0;background:rgba(94,196,201,.07)}
.cf-falsification h3{margin-top:0}.cf-falsification p{margin-bottom:0}
.cf-definition-grid{display:grid;gap:14px;margin-top:24px}
.cf-definition-card{padding:20px;border:1px solid var(--ta-border);border-radius:14px;background:var(--ta-card)}
.cf-definition-card h3{margin:10px 0 8px;font-size:22px}.cf-definition-card p{margin:0}
.cf-function-code{display:inline-grid;place-items:center;min-width:42px;height:34px;padding:0 8px;border:1px solid rgba(94,196,201,.42);border-radius:9px;background:rgba(94,196,201,.1);color:var(--ta-teal);font:800 13px/1 var(--ta-mono);text-transform:none}
.cf-directory{display:grid;gap:12px;margin-top:22px}
.cf-directory-link{display:flex;gap:12px;align-items:center;min-height:56px;padding:12px 14px;border:1px solid var(--ta-border);border-radius:12px;background:var(--ta-card);color:var(--ta-text);font-weight:700;text-decoration:none}
.cf-directory-link:hover{border-color:var(--ta-teal)}
.cf-code{display:grid;place-items:center;flex:0 0 auto;min-width:52px;height:32px;padding:0 7px;border-radius:8px;background:rgba(94,196,201,.1);color:var(--ta-teal);font:750 12px/1 var(--ta-mono)}
.cf-directory-heading{margin-top:48px!important}
.cf-table-region{scrollbar-color:var(--ta-teal) var(--ta-raised)}
.cf-stack-table{min-width:940px}.cf-scenario-table{min-width:880px}
.cf-stack-table th:first-child{min-width:190px}.cf-stack-table td:nth-child(2){text-transform:capitalize}
.cf-role-grid{display:grid;gap:16px;margin-top:24px}
.cf-role-card{padding:20px;border:1px solid var(--ta-border);border-radius:14px;background:var(--ta-card)}
.cf-role-card h3{margin:8px 0 10px;font-size:22px}.cf-role-card p{margin:0}
.cf-script-grid,.cf-mistype-grid{display:grid;gap:16px;margin-top:24px}
.cf-script-card,.cf-mistype-card{padding:20px;border:1px solid var(--ta-border);border-radius:14px;background:var(--ta-card)}
.cf-script-card p{margin:10px 0 0}.cf-mistype-card h3{margin-top:0}.cf-mistype-card p{margin-bottom:0}
.cf-question-list{display:grid;gap:14px;margin:22px 0;padding:0;list-style:none;counter-reset:question}
.cf-question-list li{position:relative;padding:18px 18px 18px 58px;border:1px solid var(--ta-border);border-radius:13px;background:var(--ta-card)}
.cf-question-list li::before{counter-increment:question;content:"Q" counter(question);position:absolute;left:16px;top:19px;color:var(--ta-teal);font:800 13px/1 var(--ta-mono)}
.cf-growth-list{display:grid;gap:14px;margin:22px 0;padding:0;list-style:none;counter-reset:growth}
.cf-growth-list li{position:relative;padding:18px 18px 18px 56px;border:1px solid var(--ta-border);border-radius:13px;background:var(--ta-card)}
.cf-growth-list li::before{counter-increment:growth;content:counter(growth);position:absolute;left:18px;top:18px;color:var(--ta-gold);font:800 18px/1 var(--ta-mono)}
.cf-source-list a{overflow-wrap:anywhere}
@media(min-width:680px){.cf-boundary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cf-definition-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cf-directory{grid-template-columns:repeat(2,minmax(0,1fr))}.cf-role-grid,.cf-script-grid,.cf-mistype-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:860px){.cf-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cf-definition-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.cf-directory{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:520px){.cf-hub-card{min-height:200px}.cf-directory-link{align-items:flex-start}}
@media(prefers-reduced-motion:reduce){.cf-hub-card{transition:none}}
@media print{.cf-hub-card,.cf-script-card,.cf-mistype-card{break-inside:avoid}}
