/* AIGC.ONLINE — restrained, high-contrast academic product layer. */
:root {
  --aigc-ink: #122437;
  --aigc-muted: #607184;
  --aigc-line: #dce6eb;
  --aigc-teal: #087f75;
  --aigc-teal-dark: #07645f;
  --aigc-mint: #bff5dc;
  --aigc-surface: #ffffff;
  --aigc-page: #f3f7f8;
}

html { scroll-behavior: smooth; }
body, body .grid-bg { background: var(--aigc-page) !important; background-image: none !important; color: var(--aigc-ink); }
body { font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif; -webkit-font-smoothing: antialiased; }
::selection { color: #102e35; background: #bdf2da; }

/* Navigation is quiet, precise and stable while browsing a long directory. */
.big-header-banner .page-header, .big-header-banner .navbar, #sidebar { background: rgba(255,255,255,.97) !important; }
.big-header-banner .page-header { border-bottom: 1px solid #e4ecef; box-shadow: 0 6px 24px rgba(21,49,64,.035); }
.big-header-banner .site-menu > li > a, .big-header-banner .navbar-menu a { color: #30485b !important; font-weight: 690; }
.big-header-banner .site-menu > li > a:hover, .big-header-banner .navbar-menu a:hover { color: var(--aigc-teal) !important; }
.aigc-wordmark { color: #102b3b; font-weight: 850; letter-spacing: -.045em; }
.aigc-wordmark i { background: linear-gradient(145deg,#102e44,#087e77); color: #d2ffe8; border-radius: 10px; box-shadow: 0 5px 11px rgba(6,89,89,.18); }
.aigc-wordmark small { color: #198877; }
.sidebar-logo { border-bottom: 1px solid #ebf0f2 !important; }
.sidebar-menu .sidebar-item > a { min-height: 37px; border-radius: 9px; color: #516578; font-weight: 550; transition: color .2s, background-color .2s; }
.sidebar-menu .sidebar-item > a::before { background: #9cbdb6; width: 5px; height: 5px; margin-right: 11px; }
.sidebar-menu .sidebar-item > a:hover { background: #eef8f4; color: #0b6c66; }
.sidebar-menu .sidebar-item > a:hover::before { background: #0b8979; }

/* A credible hero: strong typography, subtle technical grid, no decorative noise. */
.aigc-hero, .aigc-task-section { margin-left: 30px; margin-right: 30px; }
.aigc-hero {
  position: relative; isolation: isolate; overflow: hidden;
  grid-template-columns: minmax(0,1.5fr) minmax(250px,.74fr);
  gap: 48px; min-height: 420px; padding: 56px 54px;
  border: 1px solid rgba(148,226,211,.19); border-radius: 26px;
  background: radial-gradient(circle at 95% 6%,rgba(72,210,179,.26),transparent 28%),
              radial-gradient(circle at 8% 110%,rgba(35,105,151,.26),transparent 38%),
              linear-gradient(118deg,#0b1c2d 0%,#112e40 57%,#16464a 100%);
  box-shadow: 0 24px 54px rgba(14,47,61,.16), 0 3px 9px rgba(11,40,53,.06);
}
.aigc-hero::before { content:""; position:absolute; inset:0; z-index:-1; opacity:.48; pointer-events:none; background-image:linear-gradient(rgba(191,245,220,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(191,245,220,.09) 1px,transparent 1px); background-size:42px 42px; mask-image:linear-gradient(90deg,transparent 25%,#000 100%); }
.aigc-hero::after { content:""; position:absolute; right:-96px; top:-158px; width:450px; height:450px; z-index:-1; border:1px solid rgba(173,255,219,.19); border-radius:50%; box-shadow:0 0 0 70px rgba(166,246,216,.035),0 0 0 142px rgba(166,246,216,.025); pointer-events:none; }
.aigc-hero .aigc-eyebrow { font-size:11px; letter-spacing:.17em; color:#a4ead8; }
.aigc-eyebrow-dot { background:#b9f9da; box-shadow:0 0 0 5px rgba(153,243,201,.12),0 0 18px rgba(153,243,201,.5); }
.aigc-hero h1 { margin:22px 0 18px; max-width:730px; font-size:clamp(38px,3.65vw,58px); line-height:1.16; letter-spacing:-.058em; font-weight:840; text-wrap:balance; }
.aigc-hero h1 em { color:#bdf3dc; }
.aigc-hero p { max-width:650px; color:#c8dce0; font-size:15px; line-height:1.95; }
.aigc-hero-actions { margin-top:31px; gap:11px; }
.aigc-hero-actions a { min-height:45px; padding:12px 20px; border-radius:11px; font-size:13px; font-weight:760; transition:transform .2s,background .2s,border-color .2s,box-shadow .2s; }
.aigc-hero-actions a:hover { transform:translateY(-2px); text-decoration:none; }
.aigc-primary { background:#c7f6dd; color:#103e41 !important; box-shadow:0 10px 28px rgba(10,24,37,.2); }
.aigc-primary:hover { background:#e0ffe9; color:#0d3439 !important; box-shadow:0 13px 32px rgba(10,24,37,.27); }
.aigc-secondary { background:rgba(255,255,255,.07); border:1px solid rgba(208,246,234,.3); color:#f1fff8 !important; }
.aigc-secondary:hover { background:rgba(255,255,255,.15); border-color:rgba(227,255,245,.6); }
.aigc-hero-proof { display:flex; flex-wrap:wrap; gap:8px 20px; align-items:center; margin-top:32px; padding-top:20px; border-top:1px solid rgba(213,245,234,.17); color:#c2d8d9; font-size:11px; letter-spacing:.02em; }
.aigc-hero-proof span { display:inline-flex; align-items:center; gap:7px; }
.aigc-hero-proof span:not(:first-child)::before { content:""; width:5px; height:5px; border-radius:50%; background:#8fdec2; }
.aigc-hero-proof strong { color:#d2ffe7; font-size:14px; font-weight:800; }
.aigc-hero-panel { align-self:center; padding:26px 28px; border:1px solid rgba(220,255,241,.72); border-radius:18px; background:linear-gradient(155deg,rgba(255,255,255,.98),rgba(239,249,246,.94)); box-shadow:0 18px 42px rgba(4,23,34,.18); }
.aigc-panel-kicker { color:#1b5659; font-size:12px; letter-spacing:.09em; }
.aigc-hero-panel li { gap:15px; padding:16px 0; border-color:#deebe8; }
.aigc-hero-panel li b { display:grid; place-items:center; flex:none; width:30px; height:30px; border-radius:9px; background:#e7f5ef; color:#167b6d; line-height:1; }
.aigc-hero-panel li strong { color:#1a3544; font-size:14px; }
.aigc-hero-panel li small { color:#6a7b82; font-size:11px; line-height:1.5; }

/* Task cards and search are the practical control center. */
.aigc-task-section { padding:34px 34px 27px; border:1px solid #e3eaec; border-radius:23px; background:#fff; box-shadow:0 14px 38px rgba(28,62,74,.055); }
.aigc-eyebrow { color:#167c70; letter-spacing:.16em; }
.aigc-section-heading { margin-bottom:23px; }
.aigc-section-heading h2 { color:#142f40; font-size:29px; letter-spacing:-.045em; }
.aigc-section-heading p { color:#6d7d87; font-size:12px; }
.aigc-task-grid { gap:11px; }
.aigc-task-grid a { min-height:121px; padding:19px 20px; border:1px solid #dfe8e9; border-radius:14px; background:linear-gradient(160deg,#ffffff,#f9fcfb); box-shadow:0 2px 7px rgba(27,65,68,.025); transition:transform .2s,border-color .2s,background .2s,box-shadow .2s; }
.aigc-task-grid a:hover,.aigc-task-grid a:focus-visible { transform:translateY(-3px); border-color:#6fc4a7; background:linear-gradient(160deg,#fafffb,#eff9f4); box-shadow:0 13px 28px rgba(22,103,84,.11); outline:none; }
.aigc-task-icon { display:inline-flex; align-items:center; justify-content:center; width:28px; height:23px; border-radius:6px; background:#e7f5ef; color:#157b69; font-size:10px; letter-spacing:.04em; }
.aigc-task-grid strong { margin-top:12px; color:#173445; font-size:16px; font-weight:780; letter-spacing:-.025em; }
.aigc-task-grid small { color:#687e88; font-size:12px; }
.aigc-arrow { right:18px; top:17px; color:#4c9687; transition:transform .2s; }
.aigc-task-grid a:hover .aigc-arrow { transform:translate(2px,-2px); }
.aigc-findbar { margin-top:22px; padding:15px 17px; border:1px solid #e1ece7; border-radius:13px; background:#f2f8f5; }
.aigc-findbar label { color:#294b55; font-weight:750; }
.aigc-findbar input { min-height:41px; border-color:#d4e3df; border-radius:8px; padding:10px 14px; box-shadow:0 1px 2px rgba(25,55,62,.03); }
.aigc-findbar input:focus { border-color:#0c9680; box-shadow:0 0 0 4px rgba(24,169,139,.12); }
#aigc-filter-count { color:#386b69; font-weight:700; }
.aigc-disclosure { margin-top:17px; color:#65777f; font-size:11px; }

/* Directory hierarchy stays legible even with hundreds of entries. */
#content { padding-top:20px; }
.aigc-directory-heading { margin-bottom:32px; }
.aigc-directory-heading h2 { color:#142f40; font-size:32px; font-weight:820; }
.aigc-directory-heading p { color:#637987; }
.aigc-advanced-heading { margin-top:68px; padding-top:30px; border-top:1px solid #dce7e6; }
.aigc-advanced-heading[hidden] { display:none !important; }
.aigc-taxonomy-heading { margin:47px 0 21px; padding:24px 28px; border:1px solid #dcebe5; border-left:4px solid #238e7b; border-radius:0 15px 15px 0; background:linear-gradient(105deg,#e9f6f0 0%,#f4faf7 75%,#f8fbf9 100%); box-shadow:0 6px 16px rgba(31,94,76,.035); }
.aigc-taxonomy-heading > span { color:#21816f; font-size:10px; letter-spacing:.15em; }
.aigc-taxonomy-heading h2 { margin:7px 0 5px; color:#163849; font-size:24px; letter-spacing:-.04em; }
.aigc-taxonomy-heading p { color:#5b737e; font-size:12px; }
#content .aigc-term-section > .d-flex { align-items:center; }
#content h4 { margin:28px 0 17px !important; color:#173547 !important; font-size:17px !important; letter-spacing:-.02em; }
#content h4 .site-tag { color:#258c7d; }
.aigc-term-count { margin-bottom:15px; color:#78909a; font-size:11px; font-weight:650; white-space:nowrap; }
#content .url-card { flex:0 0 33.333%; max-width:33.333%; }
#content .url-body .card { min-height:168px; height:calc(100% - 18px); margin-bottom:18px !important; border:1px solid #dfe8e9; border-radius:15px; background:#fff; box-shadow:0 4px 15px rgba(26,59,70,.038); transition:transform .2s,border-color .2s,box-shadow .2s; }
#content .url-body .card:focus-visible { outline:3px solid rgba(15,143,118,.3); outline-offset:2px; }
#content .url-body .card:hover { transform:translateY(-4px); border-color:#7ec3af; box-shadow:0 15px 29px rgba(22,82,78,.105); }
#content .url-body .card-body { padding:19px 19px 17px; }
#content .url-img { width:40px; height:40px; border:1px solid #e2ece9; border-radius:11px; background:#f6faf8; }
#content .aigc-card-title { color:#1a3849; font-size:15px; font-weight:760; }
#content .aigc-desc { color:#5d7280 !important; font-size:12px !important; line-height:1.7; }
#content .aigc-card-action { border-color:#edf1f0; color:#157a6d; font-size:11px; letter-spacing:.01em; }
#content .site-tag[id] { scroll-margin-top:110px; }

@media (max-width:1199px) {
  .aigc-hero { gap:26px; padding:44px 38px; grid-template-columns:minmax(0,1.4fr) minmax(230px,.7fr); }
  .aigc-hero h1 { font-size:clamp(35px,3.6vw,48px); }
  #content .url-card { flex:0 0 50%; max-width:50%; }
}
@media (max-width:767px) {
  .aigc-hero,.aigc-task-section { margin:0 14px 17px; }
  .aigc-hero { display:block; min-height:0; padding:35px 25px 31px; border-radius:20px; }
  .aigc-hero::after { right:-270px; top:-160px; }
  .aigc-hero h1 { font-size:clamp(31px,7.7vw,39px); }
  .aigc-hero p { font-size:13px; line-height:1.85; }
  .aigc-hero-actions { margin-top:25px; }
  .aigc-hero-actions a { min-height:42px; padding:11px 15px; }
  .aigc-hero-proof { margin-top:25px; padding-top:16px; gap:7px 12px; font-size:10px; }
  .aigc-hero-panel { display:none; }
  .aigc-task-section { padding:25px 19px 22px; border-radius:19px; }
  .aigc-section-heading h2 { font-size:25px; }
  .aigc-task-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
  .aigc-task-grid a { min-height:112px; padding:14px; }
  .aigc-task-grid strong { font-size:14px; }
  .aigc-task-grid small { font-size:11px; line-height:1.4; }
  .aigc-findbar { padding:13px; }
  .aigc-taxonomy-heading { padding:19px; margin-top:33px; }
  .aigc-taxonomy-heading h2 { font-size:21px; }
  .aigc-directory-heading h2 { font-size:27px; }
  #content .url-card { flex:0 0 100%; max-width:100%; }
  #content .url-body .card { min-height:150px; }
  .aigc-advanced-heading { margin-top:47px; }
}
@media (max-width:390px) {
  .aigc-hero-actions a { width:100%; justify-content:center; }
  .aigc-task-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .aigc-task-grid a { min-height:124px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .aigc-hero-actions a,.aigc-task-grid a,#content .url-body .card,.aigc-arrow { transition:none !important; }
}
