/* DanielChe.xyz v1.0 component contracts: opt-in dc-* classes.
 * Applies on the personal domain only and never targets PW institutional classes.
 * The Professional adapter consumes the tokens; new pages can use these directly. */
.dc-surface{background:var(--dc-paper);color:var(--dc-ink);font:400 var(--dc-fs-body)/var(--dc-lh-body) var(--dc-font)}
.dc-surface--cream{background:var(--dc-cream)}
.dc-surface--dark{background:var(--dc-charcoal);color:var(--dc-dark-copy)}
.dc-surface--yellow{background:var(--dc-yellow);color:var(--dc-ink)}
.dc-container{width:min(var(--dc-content-max),calc(100% - 48px));margin-inline:auto}
.dc-container--wide{width:min(var(--dc-wide-max),calc(100% - 48px))}
.dc-eyebrow{font:800 var(--dc-fs-caption)/1.4 var(--dc-font);letter-spacing:var(--dc-tracking-label);text-transform:uppercase;color:var(--dc-gold-text)}
.dc-surface--dark .dc-eyebrow{color:#ffd37f}
.dc-display{font:850 var(--dc-fs-display)/.98 var(--dc-font);letter-spacing:-.066em;margin:0;max-width:920px;text-wrap:balance}
.dc-h2{font:790 var(--dc-fs-section)/1.08 var(--dc-font);letter-spacing:var(--dc-tracking-title);margin:0;text-wrap:balance;overflow-wrap:break-word;hyphens:auto}
.dc-h3{font:760 var(--dc-fs-card-title)/var(--dc-lh-title) var(--dc-font);letter-spacing:-.025em;margin:0 0 var(--dc-space-3)}
.dc-lead{font:500 var(--dc-fs-lead)/1.55 var(--dc-font);margin:0}
.dc-body{font:400 var(--dc-fs-body)/var(--dc-lh-body) var(--dc-font);color:var(--dc-copy);margin:0}
.dc-caption{font:400 var(--dc-fs-caption)/1.55 var(--dc-font);color:var(--dc-muted)}
.dc-surface--dark .dc-body,.dc-surface--dark .dc-caption{color:var(--dc-dark-muted)}
.dc-section{padding-block:var(--dc-space-20)}
.dc-section-heading{display:grid;grid-template-columns:130px minmax(0,1fr);gap:var(--dc-space-8);margin-bottom:var(--dc-space-8);align-items:start}
.dc-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--dc-space-4)}
.dc-card{
 display:flex;flex-direction:column;min-width:0;border:1px solid var(--dc-stroke);
 background:var(--dc-panel);border-radius:var(--dc-radius-card);
 padding:var(--dc-space-6);box-shadow:var(--dc-shadow-card);
 color:var(--dc-ink);
}
.dc-card--featured{background:var(--dc-yellow-pale);border-color:#dfb943}
.dc-card--outline-dark{background:var(--dc-charcoal-panel);border-color:var(--dc-dark-stroke);color:var(--dc-dark-copy)}
.dc-card .dc-body{flex:1}
.dc-card--outline-dark .dc-body,.dc-card--outline-dark .dc-caption{color:var(--dc-dark-muted)}
.dc-card-link{display:inline-flex;align-items:center;align-self:flex-start;min-height:40px;margin-top:var(--dc-space-4);border-bottom:1px solid currentColor;text-decoration:none;font-weight:740;font-size:var(--dc-fs-meta)}
.dc-evidence-meta{font:800 var(--dc-fs-caption)/1.4 var(--dc-font);letter-spacing:.07em;color:var(--dc-gold-text)}
.dc-surface--dark .dc-evidence-meta{color:#ffcf70}
.dc-button{
 display:inline-flex;align-items:center;justify-content:center;gap:8px;
 min-height:44px;padding:11px 19px;border-radius:var(--dc-radius-pill);
 border:1px solid var(--dc-ink);background:var(--dc-ink);color:#fff;
 text-align:center;text-decoration:none;cursor:pointer;white-space:normal;
 font:780 var(--dc-fs-meta)/1.4 var(--dc-font);
 transition:background var(--dc-transition-fast),border-color var(--dc-transition-fast),color var(--dc-transition-fast);
}
.dc-button:hover{background:#3a3935;border-color:#3a3935}
.dc-button--yellow{background:var(--dc-yellow);border-color:var(--dc-yellow);color:var(--dc-ink)}
.dc-button--yellow:hover{background:var(--dc-yellow-hover);border-color:var(--dc-yellow-hover);color:var(--dc-ink)}
.dc-button--outline{color:var(--dc-ink);background:transparent;border-color:#a08c62}
.dc-button--outline:hover{background:var(--dc-yellow-pale);border-color:#aa7b18;color:var(--dc-ink)}
.dc-button--dark-outline{color:var(--dc-dark-copy);background:transparent;border-color:#8d7e5e}
.dc-button--dark-outline:hover{background:#38332a;border-color:var(--dc-yellow);color:var(--dc-dark-copy)}
.dc-button:focus-visible,.dc-card-link:focus-visible,.dc-site-nav a:focus-visible,.dc-jump a:focus-visible{outline:var(--dc-focus);outline-offset:3px}
.dc-pill{display:inline-flex;align-items:center;padding:7px 13px;border:1px solid var(--dc-stroke-strong);border-radius:var(--dc-radius-pill);font-size:var(--dc-fs-caption);font-weight:740}
.dc-site-header{background:var(--dc-ink);color:var(--dc-dark-copy);border-bottom:1px solid #3c3730}
.dc-site-header__inner{width:min(var(--dc-wide-max),calc(100% - 48px));min-height:var(--dc-page-header-h);margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:var(--dc-space-8)}
.dc-site-brand{color:#fff;text-decoration:none;font:850 24px/1.2 var(--dc-font);letter-spacing:-.06em;white-space:nowrap}
.dc-site-brand strong{color:var(--dc-yellow)}
.dc-site-nav{display:flex;align-items:center;gap:var(--dc-space-5)}
.dc-site-nav a{display:inline-flex;align-items:center;min-height:44px;border-bottom:3px solid transparent;color:#e1dcd4;text-decoration:none;font:710 var(--dc-fs-meta)/1.4 var(--dc-font)}
.dc-site-nav a[aria-current=page]{color:var(--dc-yellow);border-color:var(--dc-yellow)}
.dc-jump{display:flex;align-items:center;gap:var(--dc-space-4);padding-inline:var(--dc-space-4);overflow-x:auto;scrollbar-width:thin}
.dc-jump a{white-space:nowrap;display:inline-flex;align-items:center;min-height:47px;padding:9px 11px;text-decoration:none;color:var(--dc-muted);font-size:var(--dc-fs-caption);font-weight:710;border-bottom:3px solid transparent}
.dc-jump a[aria-current=location]{color:var(--dc-ink);border-bottom-color:#d99900}
.dc-jump a:hover:not([aria-current=location]){color:var(--dc-gold-text);text-decoration:underline;text-underline-offset:5px}
.dc-timeline{border-top:1px solid var(--dc-stroke-strong)}
.dc-timeline-item{display:grid;grid-template-columns:125px minmax(0,1fr);gap:var(--dc-space-8);padding-block:var(--dc-space-8);border-bottom:1px solid var(--dc-stroke)}
.dc-timeline-item time{font-weight:800;color:var(--dc-gold-text)}
.dc-cta{background:var(--dc-yellow);padding:var(--dc-space-16);border-radius:var(--dc-radius-panel)}
.dc-cta--edge{border-radius:0}
.dc-cta__inner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--dc-space-8);min-width:0}
.dc-cta__inner>*{min-width:0}
.dc-cta__inner .dc-h2{overflow-wrap:break-word;hyphens:auto}
@media(max-width:900px){.dc-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dc-section-heading{grid-template-columns:1fr;gap:12px}}
@media(max-width:620px){
 .dc-container,.dc-container--wide{width:calc(100% - 30px)}
 .dc-section{padding-block:56px}
 .dc-card-grid{grid-template-columns:1fr}
 .dc-card{padding:20px}
 .dc-cta{padding:30px 20px}
 .dc-cta__inner{grid-template-columns:minmax(0,1fr)}
 .dc-site-header__inner{width:calc(100% - 30px);gap:12px}
 .dc-site-brand{font-size:21px}
 .dc-site-nav{gap:9px}
 .dc-site-nav a{font-size:12px}
 .dc-timeline-item{grid-template-columns:1fr;gap:9px}
}
@media(prefers-reduced-motion:reduce){.dc-button{transition:none}}
