/* AI懂途首页：组件参考样式。先导入 tokens.css。路由、菜单与数据接现有项目。 */
.aidongtu-ui { color:var(--dt-text); background:var(--dt-white); font:var(--dt-body-size)/var(--dt-body-line) var(--dt-font-sans); padding-bottom:var(--dt-page-bottom); }
.aidongtu-ui *, .aidongtu-ui *::before, .aidongtu-ui *::after { box-sizing:border-box; }
.aidongtu-ui :where(h1,h2,h3,p,figure,fieldset) { margin:0; }
.aidongtu-ui :where(button,input,select) { font:inherit; }
.aidongtu-ui :where(a) { color:inherit; text-decoration:none; }
.aidongtu-ui :where(button) { cursor:pointer; }
.aidongtu-ui :where(a,button,input,select,[tabindex]):focus-visible { outline:3px solid var(--dt-primary); outline-offset:3px; box-shadow:0 0 0 3px #fff; }
.aidongtu-ui .dt-container { width:min(var(--dt-container), calc(100% - var(--dt-gutter) * 2)); margin-inline:auto; }
.aidongtu-ui .dt-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.aidongtu-ui .dt-icon { width:24px; height:24px; flex:none; display:block; }
.aidongtu-ui .dt-header { height:var(--dt-header-height); border-bottom:1px solid var(--dt-border); background:#fff; }
.aidongtu-ui .dt-header__inner { height:100%; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.aidongtu-ui .dt-logo { flex:none; display:inline-flex; align-items:center; font-size:26px; font-weight:700; white-space:nowrap; }
.aidongtu-ui .dt-logo img { display:block; max-width:156px; height:36px; object-fit:contain; }
.aidongtu-ui .dt-nav { display:flex; align-items:stretch; gap:32px; height:100%; }
.aidongtu-ui .dt-nav a { display:flex; align-items:center; position:relative; font-weight:600; white-space:nowrap; }
.aidongtu-ui .dt-nav a[aria-current="page"] { color:var(--dt-primary); }
.aidongtu-ui .dt-nav a[aria-current="page"]::after { content:""; position:absolute; bottom:12px; height:2px; background:currentColor; left:0; right:0; }
.aidongtu-ui .dt-header__actions { display:flex; align-items:center; gap:24px; flex:none; }
/* <1200 用项目的可访问菜单组件替代 dt-nav；触发器由项目行为驱动。 */
.aidongtu-ui .dt-menu-trigger { display:none; }
.aidongtu-ui .dt-button { display:inline-flex; justify-content:center; align-items:center; gap:12px; min-height:var(--dt-button-height); padding:10px 24px; border:1px solid var(--dt-border); border-radius:var(--dt-radius-control); background:#fff; color:var(--dt-text); font-weight:600; text-align:center; transition:background var(--dt-motion-fast) ease; }
.aidongtu-ui .dt-button--primary { color:#fff; background:var(--dt-primary); border-color:transparent; }
.aidongtu-ui .dt-button--primary:hover { background:var(--dt-primary-hover); }
.aidongtu-ui .dt-button--primary:active { background:var(--dt-primary-pressed); }
.aidongtu-ui .dt-button:disabled, .aidongtu-ui .dt-button[aria-disabled="true"] { background:var(--dt-disabled-bg); color:var(--dt-disabled-text); border-color:transparent; cursor:not-allowed; }
.aidongtu-ui .dt-link { color:var(--dt-primary); display:inline-flex; align-items:center; gap:12px; font-weight:600; }
.aidongtu-ui .dt-link:hover { color:var(--dt-primary-hover); text-decoration:underline; text-underline-offset:4px; }
.aidongtu-ui .dt-actions { display:flex; flex-wrap:wrap; align-items:center; gap:16px 24px; }
.aidongtu-ui .dt-hero { padding-top:var(--dt-hero-top); display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:var(--dt-hero-gap); align-items:center; }
.aidongtu-ui .dt-hero__eyebrow { font-weight:600; color:var(--dt-primary); }
.aidongtu-ui .dt-hero__title { margin-top:16px; font-size:var(--dt-h1-size); line-height:var(--dt-h1-line); font-weight:700; letter-spacing:-.02em; }
.aidongtu-ui .dt-hero__title > span { display:block; }
.aidongtu-ui .dt-hero__title > span:last-child { color:var(--dt-primary); }
.aidongtu-ui .dt-hero__description { margin-top:24px; max-width:32em; color:var(--dt-body); font-size:var(--dt-lead-size); line-height:var(--dt-lead-line); }
.aidongtu-ui .dt-hero__copy > .dt-segment { margin-top:24px; width:360px; max-width:100%; }
.aidongtu-ui .dt-hero__copy > .dt-actions { margin-top:16px; }
.aidongtu-ui .dt-hero__copy .dt-button--primary { min-width:208px; }
.aidongtu-ui .dt-hero__media { position:relative; min-width:0; }
.aidongtu-ui .dt-hero__image { width:100%; aspect-ratio:16/10; height:auto; object-fit:cover; object-position:50% 50%; border-radius:var(--dt-radius-hero); display:block; background:var(--dt-soft); }
.aidongtu-ui .dt-report-preview { position:absolute; bottom:24px; left:24px; max-width:calc(100% - 48px); width:360px; padding:20px; border-radius:12px; background:rgba(255,255,255,.98); box-shadow:var(--dt-shadow-soft); }
.aidongtu-ui .dt-report-preview__eyebrow { font-size:14px; line-height:22px; color:var(--dt-muted); }
.aidongtu-ui .dt-report-preview__title { margin-top:6px; font-size:22px; line-height:30px; font-weight:700; }
.aidongtu-ui .dt-tags { display:flex; flex-wrap:wrap; gap:8px; }
.aidongtu-ui .dt-report-preview .dt-tags { margin-top:12px; }
.aidongtu-ui .dt-tag { display:inline-flex; align-items:center; padding:3px 10px; border:1px solid var(--dt-border); border-radius:999px; font-size:14px; line-height:22px; color:var(--dt-body); }
.aidongtu-ui .dt-report-preview .dt-tag { background:var(--dt-soft); }
.aidongtu-ui .dt-segment { display:inline-flex; min-width:0; padding:0; border:1px solid var(--dt-border); border-radius:8px; background:#fff; }
.aidongtu-ui .dt-segment__option { position:relative; display:flex; flex:1; }
.aidongtu-ui .dt-segment__option input { position:absolute; opacity:0; width:1px; height:1px; }
.aidongtu-ui .dt-segment__option span { display:flex; align-items:center; justify-content:center; min-height:44px; min-width:80px; width:100%; padding:8px 20px; border-radius:7px; font-weight:600; cursor:pointer; }
.aidongtu-ui .dt-segment__option input:checked + span { color:#fff; background:var(--dt-primary); }
.aidongtu-ui .dt-segment__option input:focus-visible + span { outline:3px solid var(--dt-primary); outline-offset:3px; }
.aidongtu-ui .dt-segment__option input:disabled + span { color:var(--dt-disabled-text); background:var(--dt-disabled-bg); cursor:not-allowed; }
.aidongtu-ui .dt-assessments { margin-top:var(--dt-section-gap); scroll-margin-top:24px; }
.aidongtu-ui .dt-section-title { font-size:var(--dt-h2-size); line-height:var(--dt-h2-line); font-weight:700; }
.aidongtu-ui .dt-section-subtitle { margin-top:var(--dt-title-subtitle-gap); color:var(--dt-body); font-size:var(--dt-lead-size); line-height:var(--dt-lead-line); }
.aidongtu-ui .dt-toolbar { margin-top:var(--dt-heading-content-gap); display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:24px; }
.aidongtu-ui .dt-toolbar__filter { display:flex; align-items:center; flex-wrap:wrap; gap:16px; }
.aidongtu-ui .dt-toolbar__links { display:flex; flex-wrap:wrap; align-items:center; gap:24px; }
.aidongtu-ui .dt-toolbar__links a + a { border-left:1px solid var(--dt-border); padding-left:24px; }
.aidongtu-ui .dt-assessment-grid { margin-top:32px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--dt-grid-gap); }
.aidongtu-ui .dt-assessment-card { position:relative; isolation:isolate; display:flex; aspect-ratio:4/3; min-height:var(--dt-card-min-height); border-radius:var(--dt-radius-card); overflow:hidden; background:var(--dt-image-fallback); color:#fff; }
.aidongtu-ui .dt-assessment-card::before { content:""; position:absolute; inset:0; z-index:1; background:var(--dt-scrim); pointer-events:none; }
.aidongtu-ui .dt-assessment-card__image { position:absolute; inset:0; z-index:0; width:100%; height:100%; object-fit:cover; object-position:var(--dt-photo-position,50% 50%); transition:transform var(--dt-motion-image) ease-out; }
.aidongtu-ui .dt-assessment-card__body { position:relative; z-index:2; padding:var(--dt-card-pad); width:100%; display:flex; flex-direction:column; align-items:flex-start; }
.aidongtu-ui .dt-assessment-card__body > .dt-icon { width:32px; height:32px; }
.aidongtu-ui .dt-assessment-card h3 { max-width:84%; margin-top:16px; font-size:var(--dt-h3-size); line-height:var(--dt-h3-line); font-weight:600; text-shadow:0 1px 4px rgba(0,0,0,.3); }
.aidongtu-ui .dt-assessment-card p { max-width:84%; margin-top:8px; font-size:16px; line-height:26px; text-shadow:0 1px 4px rgba(0,0,0,.3); }
.aidongtu-ui .dt-assessment-card__cta { display:inline-flex; gap:12px; align-items:center; min-height:40px; margin-top:auto; padding:7px 20px; background:#fff; color:var(--dt-text); border-radius:999px; font-weight:600; position:relative; }
.aidongtu-ui .dt-assessment-card p::after { content:""; display:block; height:24px; }
@media (hover:hover) {
  .aidongtu-ui .dt-assessment-card:hover .dt-assessment-card__image { transform:scale(1.025); }
  .aidongtu-ui .dt-assessment-card:hover .dt-assessment-card__cta { background:var(--dt-soft); }
}
.aidongtu-ui .dt-steps { margin:40px 0 0; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; list-style:none; }
.aidongtu-ui .dt-step { display:flex; align-items:center; gap:16px; position:relative; padding-right:28px; }
.aidongtu-ui .dt-step:not(:last-child)::after { content:"→"; color:var(--dt-primary); position:absolute; right:0; font-size:24px; }
.aidongtu-ui .dt-step__number { width:56px; height:56px; flex:none; display:grid; place-items:center; color:var(--dt-primary); background:var(--dt-soft); border-radius:50%; font-size:24px; font-weight:700; }
.aidongtu-ui .dt-step h3 { font-size:18px; line-height:28px; font-weight:600; }
.aidongtu-ui .dt-step p { font-size:14px; line-height:22px; color:var(--dt-muted); }
.aidongtu-ui .dt-section-divider { position:relative; height:var(--dt-section-gap); }
.aidongtu-ui .dt-section-divider::after { content:""; position:absolute; top:50%; left:0; right:0; height:1px; background:var(--dt-border); }
.aidongtu-ui .dt-service-grid { margin-top:32px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; align-items:stretch; }
.aidongtu-ui .dt-service-card { display:flex; flex-direction:column; padding:28px; border:1px solid var(--dt-border); border-radius:12px; background:var(--dt-planning); }
.aidongtu-ui .dt-service-card[data-tone="courses"] { background:var(--dt-courses); }
.aidongtu-ui .dt-service-card[data-tone="service"] { background:var(--dt-service); }
.aidongtu-ui .dt-service-card__heading { display:flex; align-items:center; gap:16px; }
.aidongtu-ui .dt-service-card__heading .dt-icon { width:40px; height:40px; color:var(--dt-primary); }
.aidongtu-ui .dt-service-card[data-tone="courses"] .dt-service-card__heading .dt-icon { color:var(--dt-orange); }
.aidongtu-ui .dt-service-card h3 { font-size:24px; line-height:32px; font-weight:600; }
.aidongtu-ui .dt-service-card__description { margin-top:24px; color:var(--dt-body); }
.aidongtu-ui .dt-service-card .dt-tags { margin-top:20px; margin-bottom:24px; }
.aidongtu-ui .dt-service-card > .dt-link { margin-top:auto; }
.aidongtu-ui .dt-archive { margin-top:48px; padding:24px 32px; min-height:88px; border:1px solid var(--dt-border); border-radius:12px; display:flex; flex-wrap:wrap; align-items:center; gap:24px; }
.aidongtu-ui .dt-archive > .dt-icon { color:var(--dt-primary); width:32px; height:32px; }
.aidongtu-ui .dt-archive__text { display:flex; flex-wrap:wrap; align-items:center; gap:16px 24px; flex:1; }
.aidongtu-ui .dt-archive h2 { font-size:20px; line-height:28px; font-weight:600; }
.aidongtu-ui .dt-archive p { color:var(--dt-body); }
.aidongtu-ui .dt-status { padding:40px; margin-top:32px; border:1px solid var(--dt-border); border-radius:12px; text-align:center; color:var(--dt-body); }
.aidongtu-ui .dt-status--error { color:var(--dt-error); }
.aidongtu-ui .dt-skeleton { aspect-ratio:4/3; min-height:300px; background:var(--dt-soft); border-radius:12px; }
@media (max-width:1199px) {
 .aidongtu-ui .dt-nav { display:none; }
 .aidongtu-ui .dt-menu-trigger { display:inline-flex; }
 .aidongtu-ui .dt-assessment-grid, .aidongtu-ui .dt-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .aidongtu-ui .dt-report-preview { position:static; margin-top:16px; width:100%; max-width:none; border:1px solid var(--dt-border); box-shadow:none; }
}
@media (max-width:1023px) {
 .aidongtu-ui .dt-hero { grid-template-columns:minmax(0,1fr); }
}
@media (max-width:767px) {
 .aidongtu-ui .dt-header { height:auto; min-height:80px; }
 .aidongtu-ui .dt-header__inner { min-height:80px; flex-wrap:wrap; padding-block:16px; gap:16px; }
 .aidongtu-ui .dt-header__actions { gap:12px; flex-wrap:wrap; }
 .aidongtu-ui .dt-assessment-grid, .aidongtu-ui .dt-service-grid, .aidongtu-ui .dt-steps { grid-template-columns:minmax(0,1fr); }
 .aidongtu-ui .dt-step::after { display:none; }
 .aidongtu-ui .dt-step { padding-right:0; }
 .aidongtu-ui .dt-toolbar__links { gap:16px; }
 .aidongtu-ui .dt-toolbar__links a + a { padding-left:16px; }
 .aidongtu-ui .dt-archive { padding:24px; }
 .aidongtu-ui .dt-archive > .dt-link { flex-basis:100%; }
}
@media (prefers-reduced-motion:reduce) {
 .aidongtu-ui *, .aidongtu-ui *::before, .aidongtu-ui *::after { transition:none !important; animation:none !important; scroll-behavior:auto !important; }
}
