/* Desktop refinement pass: preserve the original visual language, tighten scale and information density. */
@media (min-width:1181px){
  body{background:linear-gradient(180deg,#f4f1ec 0,#f5f3f7 52%,#f7f5f1 100%)}
  .page-shell{position:relative;width:min(calc(100% - 40px),1420px);margin:0 auto;overflow:hidden;box-shadow:0 0 0 1px rgba(79,94,132,.06),0 24px 80px rgba(28,44,82,.06)}

  .site-header{top:0;width:min(calc(100% - 48px),1324px);height:76px;grid-template-columns:318px minmax(620px,1fr);gap:18px}
  .brand{gap:13px;font-size:13px;letter-spacing:.17em}
  .brand-mark{width:28px;height:28px}
  .brand-project{font-size:11px;letter-spacing:.14em}
  .brand-divider{height:20px}

  .main-nav{justify-self:end;width:min(100%,880px);display:grid;grid-template-columns:repeat(5,1fr);gap:7px;padding:6px;border:1px solid rgba(255,255,255,.36);border-radius:15px;background:linear-gradient(110deg,rgba(255,255,255,.38),rgba(218,216,248,.2));box-shadow:0 8px 28px rgba(32,48,91,.08),inset 0 1px 0 rgba(255,255,255,.55);backdrop-filter:blur(18px) saturate(130%);font-size:14px}
  .main-nav a{display:flex;align-items:center;justify-content:center;min-height:40px;padding:0 12px;border:1px solid rgba(255,255,255,.36);border-radius:10px;color:#31496f;background:linear-gradient(135deg,rgba(255,255,255,.66),rgba(231,228,255,.32));box-shadow:0 3px 12px rgba(45,61,101,.045);transition:transform .2s,background .2s,border-color .2s,color .2s}
  .main-nav a:nth-child(2){background:linear-gradient(135deg,rgba(238,241,255,.73),rgba(213,204,252,.38))}
  .main-nav a:nth-child(3){background:linear-gradient(135deg,rgba(255,248,241,.72),rgba(239,217,236,.32))}
  .main-nav a:nth-child(4){background:linear-gradient(135deg,rgba(255,242,237,.76),rgba(239,192,181,.27));color:#6f4851}
  .main-nav a:nth-child(5){background:linear-gradient(135deg,rgba(239,244,255,.7),rgba(201,219,255,.3))}
  .main-nav a:after{display:none}
  .main-nav a:hover{transform:translateY(-1px);border-color:rgba(113,126,186,.28);background:rgba(255,255,255,.82);color:#203c71}
  .header-cta{display:none!important}

  .hero{min-height:570px;grid-template-columns:56% 44%}
  .hero:after{left:44%;height:34%}
  .hero-copy{align-self:center;max-width:none;padding:86px 28px 44px 48px}
  .eyebrow{gap:9px;padding:8px 13px;margin-bottom:16px;font-size:11px}
  .eyebrow-dot{width:6px;height:6px;box-shadow:0 0 0 5px rgba(93,131,234,.1)}
  .hero-kicker{margin:0 0 8px;font-size:10px;letter-spacing:.17em}
  .hero h1{font-size:clamp(50px,4.15vw,70px);line-height:.95;letter-spacing:-.055em;white-space:nowrap}
  .hero h1 br{display:none}
  .hero-title-en{margin:11px 0 0;font-size:13px;letter-spacing:.18em}
  .hero-lead{margin:18px 0 0;font-size:clamp(20px,1.7vw,27px)}
  .hero-description{max-width:650px;margin:14px 0 0;font-size:15px;line-height:1.8}
  .hero-actions{gap:14px;margin-top:24px}
  .button{min-height:48px;padding:0 24px;border-radius:11px;font-size:14px;gap:14px}
  .scope-line{display:none}

  .atlas-map{width:min(88%,560px);top:50%;left:49%}
  .visual-caption{right:4%;bottom:46px;letter-spacing:.22em}
  .visual-caption span{font-size:15px}
  .visual-caption small{margin-top:8px;font-size:9px}
  .horizon{bottom:15%;height:68px}

  .capability-strip{margin:-18px 0 0 48px;width:min(calc(100% - 250px),1180px);border-radius:13px}
  .capability-card{min-height:112px;grid-template-columns:58px 1fr;gap:17px;padding:22px 26px}
  .capability-card:not(:last-child):after{top:24px;bottom:24px}
  .capability-icon{width:54px;height:54px;font-size:24px}
  .capability-card h2{margin-bottom:6px;font-size:20px}
  .capability-card h2 small{font-size:9px}
  .capability-card p{font-size:12px;line-height:1.55}

  .taxonomy,.directory,.plain-language,.submit-section,.site-footer{width:min(calc(100% - 96px),1260px)}
  .taxonomy{width:min(calc(100% - 250px),1180px);margin:16px 0 0 48px;grid-template-columns:170px 1fr;min-height:74px;padding:12px 18px;border-radius:12px}
  .section-label{gap:12px}
  .section-star{font-size:20px}
  .section-label small,.section-overline{font-size:9px}
  .section-label h2{font-size:13px}
  .taxonomy-label h2{font-size:13px}
  .tag-list{gap:8px;padding-left:20px}
  .tag{padding:9px 13px;font-size:11px}
  .tag span{font-size:11px}

  .directory{margin-top:46px}
  .section-heading{margin-bottom:18px}
  .section-heading .section-label h2{font-size:27px}
  .text-link{font-size:12px}
  .project-grid{gap:18px}
  .project-card{min-height:225px;padding:24px;border-radius:16px}
  .project-topline{margin-bottom:18px}
  .project-symbol{width:46px;height:46px;border-radius:12px;font-size:20px}
  .project-state{font-size:8px}
  .project-card h3{margin-bottom:8px;font-size:22px}
  .project-card h3 small{font-size:10px}
  .project-card p{font-size:13px;line-height:1.7}
  .project-tags{gap:7px;margin-top:18px}
  .project-tags span{padding:5px 9px;font-size:9px}

  .plain-language{margin-top:72px;gap:60px;padding:58px;border-radius:28px}
  .plain-copy h2,.submit-section h2,.about h2{font-size:clamp(30px,3vw,47px)}
  .plain-copy p:last-child,.submit-section p,.about p{font-size:14px;line-height:1.8}
  .wish-grid{gap:12px}
  .wish-grid a{min-height:62px;padding:0 19px;border-radius:12px;font-size:13px}
  .submit-section{margin-top:26px;gap:40px;padding:50px 58px;border-radius:26px}
  .submit-section h2{font-size:clamp(28px,2.6vw,42px)}
  .about{width:min(calc(100% - 64px),980px);margin:86px auto 90px;grid-template-columns:90px 1fr;gap:28px}
  .about-mark{width:72px;height:72px;font-size:24px}
  .site-footer{min-height:130px;font-size:11px}
}

/* Keep the original mobile composition and allow the Chinese title to wrap naturally. */
@media (max-width:1180px){.hero h1 br{display:block}.hero h1{white-space:normal}}

/* Data-generated catalog cards. */
.project-template{position:relative;display:flex;flex-direction:column;min-height:292px!important;border-color:rgba(91,109,178,.24)!important;background:radial-gradient(circle at 92% 5%,rgba(170,139,235,.14),transparent 32%),linear-gradient(150deg,rgba(255,255,255,.94),rgba(249,247,252,.88))!important}
.project-template-top{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:18px;margin-bottom:12px}
.project-title-zh{flex:1 1 150px;min-width:140px;margin:0!important;font-family:var(--serif)!important;font-size:30px!important;line-height:1.05!important;font-weight:500!important;letter-spacing:-.025em!important;color:#132347!important}
.project-title-zh small{display:inline-block;margin-left:10px!important;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",Arial,sans-serif!important;font-size:13px!important;font-weight:600!important;line-height:1.2!important;letter-spacing:.025em!important;color:#7281a0!important;vertical-align:middle;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.project-badges{display:flex;flex:0 1 auto;flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:65%}
.project-badge{display:inline-flex;align-items:center;min-height:26px;padding:0 10px;border-radius:999px;font-size:11px;font-weight:650;white-space:nowrap}
.badge-open{color:#286d63;background:rgba(77,171,151,.11);border:1px solid rgba(77,171,151,.18)}
.badge-pick{color:#5b54a8;background:rgba(135,116,219,.1);border:1px solid rgba(135,116,219,.16)}
.badge-original{color:#8a5e1d;background:rgba(218,164,73,.12);border:1px solid rgba(197,143,52,.2)}
.badge-limited{color:#9b5c3d;background:rgba(205,120,82,.1);border:1px solid rgba(185,105,70,.18)}
.badge-adult{color:#9f3f68;background:rgba(194,74,127,.1);border:1px solid rgba(177,66,116,.2)}
.badge-game{color:#376b93;background:rgba(74,132,187,.1);border:1px solid rgba(65,119,170,.2)}
.badge-memory{color:#6655a5;background:rgba(112,91,181,.1);border:1px solid rgba(101,82,165,.2)}
.badge-senses{color:#8a4e6d;background:rgba(173,83,126,.1);border:1px solid rgba(155,73,113,.2)}
.badge-mobile{color:#2d7480;background:rgba(55,151,164,.1);border:1px solid rgba(48,136,149,.2)}
.badge-desktop{color:#455f9d;background:rgba(76,105,171,.1);border:1px solid rgba(68,95,157,.2)}
.project-hook-row{display:flex;align-items:baseline;justify-content:space-between;gap:18px;margin-bottom:13px}
.project-problem{margin:0!important;color:#526b9f!important;font-size:15px!important;font-weight:750!important;letter-spacing:.01em}
.project-author{flex:none;margin:0!important;color:#7483a3!important;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",Arial,sans-serif!important;font-size:12px!important;font-weight:600!important;line-height:1.3!important;letter-spacing:.015em!important;white-space:nowrap;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.project-description{margin:0!important;color:#687795!important;font-size:14px!important;line-height:1.78!important}
.project-template .project-tags{margin-top:20px!important}
.project-template .project-tags span{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",Arial,sans-serif!important;font-size:10px!important;font-weight:500!important;letter-spacing:.01em!important;padding:6px 10px!important;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.project-card-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:auto;padding-top:18px;border-top:1px solid rgba(72,91,137,.12)}
.project-footer-meta{display:flex;align-items:center;flex-wrap:wrap;gap:9px;color:#6f7f9f;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",Arial,sans-serif;font-size:12px;font-weight:500;line-height:1.35;letter-spacing:.01em;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.project-footer-meta span:not(:last-child):after{content:'·';margin-left:9px;color:#aeb8c9}
.project-detail-button{display:inline-flex;align-items:center;justify-content:center;gap:11px;min-height:42px;padding:0 18px;border-radius:10px;color:white;background:linear-gradient(100deg,#567fe1,#7a72df 60%,#9c69da);box-shadow:0 8px 20px rgba(92,96,196,.18);font-size:13px;font-weight:700;transition:.2s;white-space:nowrap}
.project-detail-button:hover{transform:translateY(-1px);box-shadow:0 12px 26px rgba(92,96,196,.24)}
@media(max-width:820px){.project-template-top,.project-hook-row{align-items:flex-start;flex-direction:column}.project-badges{justify-content:flex-start;max-width:none}.project-title-zh{flex:none;min-width:0;font-size:27px!important}.project-title-zh small{font-size:13px!important}.project-author{font-size:12px!important}.project-card-footer{align-items:flex-start;flex-direction:column}.project-footer-meta{font-size:12px}.project-detail-button{width:100%}}

/* Catalog pagination. */
.directory .section-heading{scroll-margin-top:96px}
.catalog-pagination{display:flex;align-items:center;justify-content:center;gap:10px;margin:34px auto 4px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",Arial,sans-serif}
.catalog-page-numbers{display:flex;align-items:center;justify-content:center;gap:7px}
.catalog-page-button,.catalog-page-number{display:inline-flex;align-items:center;justify-content:center;min-height:40px;border:1px solid rgba(84,103,158,.17);background:rgba(255,255,255,.72);color:#53698f;box-shadow:0 5px 16px rgba(47,65,111,.045);font:inherit;font-size:12px;font-weight:650;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease}
.catalog-page-button{gap:8px;padding:0 15px;border-radius:10px}
.catalog-page-number{width:40px;padding:0;border-radius:10px;font-variant-numeric:tabular-nums}
.catalog-page-button:hover:not(:disabled),.catalog-page-number:hover{transform:translateY(-1px);border-color:rgba(103,111,195,.32);background:rgba(255,255,255,.94);color:#344f82;box-shadow:0 8px 20px rgba(69,77,151,.08)}
.catalog-page-number.is-active{border-color:transparent;color:#fff;background:linear-gradient(110deg,#567fe1,#7b73df 58%,#9768d9);box-shadow:0 8px 18px rgba(92,96,196,.18)}
.catalog-page-button:disabled{opacity:.38;cursor:default;box-shadow:none}
.catalog-page-ellipsis{display:inline-flex;align-items:center;justify-content:center;width:24px;color:#9aa6bc;font-size:13px;user-select:none}
.catalog-page-mobile-status{display:none;color:#657796;font-size:13px;font-weight:650;font-variant-numeric:tabular-nums}
@media(max-width:700px){
  .catalog-pagination{justify-content:space-between;gap:12px;margin-top:26px}
  .catalog-page-numbers{display:none}
  .catalog-page-mobile-status{display:inline-flex;align-items:center;justify-content:center;min-width:58px}
  .catalog-page-button{flex:1 1 0;max-width:132px;min-height:44px;font-size:13px}
}
