/* Home page styles — single owner.
 * Loaded after desktop-shell.css. Safe balanced extract.
 */


body.desktop-light #desktop-home, body.desktop-light #desktop-home .map-panel { background:radial-gradient(circle at 62% 36%,rgba(255,255,255,.96),rgba(239,246,250,.88) 56%,rgba(232,240,247,.92)) !important; }
body.desktop-light #desktop-home .china-shape { fill:rgba(255,255,255,.76); stroke:#a9b8c7; }
@media (min-width:1101px) {
  #desktop-home .china-map {
    top:42px;
    right:7%;
    width:min(82vw,1560px);
    opacity:1;
    filter:drop-shadow(0 0 22px rgba(53,214,197,.14)) drop-shadow(0 16px 42px rgba(0,0,0,.42));
  }
  #desktop-home .map-panel::before {
    content:"";
    position:absolute;
    inset:74px 0 0;
    pointer-events:none;
    background:radial-gradient(ellipse at 57% 45%, rgba(53,214,197,.07), transparent 47%);
  }
  #desktop-home .map-panel::after {
    top:0;
    right:3%;
    width:82vw;
    height:92vh;
    opacity:.9;
  }
  #desktop-home .china-shape { stroke-width:1.55; }
  #desktop-home .network-lines { stroke-width:1.45; opacity:.82; }
  #desktop-home .network-orbits { stroke-width:1.2; opacity:.52; }
  #desktop-home .school-node .node-halo { stroke-width:1.3; opacity:.34; }
  #desktop-home .map-legend { right:7%; }
}

@media (min-width:761px) and (max-width:1100px) {
  #desktop-home .china-map {
    top:78px;
    right:3%;
    width:min(84vw,1320px);
    opacity:1;
    filter:drop-shadow(0 0 18px rgba(53,214,197,.12));
  }
  #desktop-home .network-lines { stroke-width:1.3; opacity:.78; }
  #desktop-home .map-legend { right:4%; }
}
@media (min-width:981px) {
  body.route-has-context #app {
    width:calc(100vw - var(--desktop-right-width)) !important;
    max-width:calc(100vw - var(--desktop-right-width)) !important;
    padding-right:24px !important;
    transition:width .28s ease,max-width .28s ease;
  }
  body.route-has-context.context-collapsed #app {
    width:100vw !important;
    max-width:100vw !important;
  }
  body.route-has-context:not(.context-collapsed) > main[id^="desktop-"]:not(#desktop-home) {
    right:var(--desktop-right-width) !important;
    transition:right .28s ease;
  }
  body.route-has-context.context-collapsed > main[id^="desktop-"]:not(#desktop-home) { right:0 !important; }
  body.route-yibentong-anki #app,
  body.route-learning-card-detail #app {
    padding-left:calc(var(--desktop-left-width) + 24px) !important;
    padding-right:24px !important;
  }
  body.desktop-nav-collapsed:is(.route-yibentong-anki,.route-learning-card-detail) #app { padding-left:24px !important; }
}
@media (min-width:981px) {
  body.desktop-light #desktop-home {
    background:#eef5f7 !important;
    color:#1f2c35 !important;
  }

  body.desktop-light #desktop-home .map-panel {
    background:
      radial-gradient(circle at 69% 26%,rgba(46,160,147,.14),transparent 22%),
      radial-gradient(circle at 56% 54%,rgba(22,143,132,.10),transparent 36%),
      linear-gradient(115deg,#edf7f9 0%,#f8fbfc 48%,#eaf3f6 100%) !important;
  }

  body.desktop-light #desktop-home .map-panel::before {
    opacity:.38 !important;
    background:linear-gradient(90deg,rgba(255,255,255,.18),rgba(255,255,255,.54),rgba(255,255,255,.18)) !important;
  }

  body.desktop-light #desktop-home .map-panel::after {
    opacity:.52 !important;
  }

  body.desktop-light #desktop-home .home-topbar {
    border-bottom:1px solid rgba(196,209,219,.86) !important;
    background:rgba(255,255,255,.72) !important;
    backdrop-filter:blur(18px) saturate(140%) !important;
    -webkit-backdrop-filter:blur(18px) saturate(140%) !important;
  }

  body.desktop-light #desktop-home .home-brand {
    color:#17232b !important;
  }

  body.desktop-light #desktop-home .home-brand span {
    border-color:rgba(22,143,132,.42) !important;
    background:#e9f7f5 !important;
    color:#08786f !important;
  }

  body.desktop-light #desktop-home .home-topbar button,
  body.desktop-light #desktop-home .home-topbar a {
    color:#4e5d68 !important;
  }

  body.desktop-light #desktop-home .home-topbar button:hover,
  body.desktop-light #desktop-home .home-topbar a:hover {
    color:#0f766c !important;
  }

  body.desktop-light #desktop-home .home-topbar .home-language {
    border-color:#d8e2e9 !important;
    background:#fff !important;
    color:#35444f !important;
  }

  body.desktop-light #desktop-home .home-copy {
    text-shadow:none !important;
  }

  body.desktop-light #desktop-home .home-kicker {
    color:#7a9399 !important;
    text-shadow:none !important;
  }

  body.desktop-light #desktop-home .home-kicker-gbc {
    color:#12a394 !important;
    text-shadow:none !important;
  }

  body.desktop-light #desktop-home .home-kicker-linka {
    color:#5f767d !important;
    text-shadow:none !important;
  }

  body.desktop-light #desktop-home h1 {
    color:#1f3d44 !important;
    font-weight:720 !important;
    text-shadow:none !important;
  }

  body.desktop-light #desktop-home .home-sub {
    color:#6e838a !important;
  }

  body.desktop-light #desktop-home .china-shape {
    fill:rgba(255,255,255,.62) !important;
    stroke:rgba(150,184,188,.42) !important;
    filter:drop-shadow(0 10px 28px rgba(70,110,118,.10)) !important;
  }

  body.desktop-light #desktop-home .network-lines {
    stroke:#22a99c !important;
    opacity:.48 !important;
    filter:none !important;
  }

  body.desktop-light #desktop-home .network-orbits,
  body.desktop-light #desktop-home .school-node .node-halo,
  body.desktop-light #desktop-home .school-node .node-pulse {
    stroke:#2ed8c5 !important;
  }

  body.desktop-light #desktop-home .school-node .node {
    fill:#1bb4a7 !important;
    stroke:#fff !important;
    filter:drop-shadow(0 4px 10px rgba(22,143,132,.24)) !important;
  }

  body.desktop-light #desktop-home .school-node.has-students .node {
    fill:#e6fffb !important;
    stroke:#34cabb !important;
  }

  body.desktop-light #desktop-home .school-label {
    opacity:.72 !important;
  }

  body.desktop-light #desktop-home .school-label rect {
    fill:rgba(255,255,255,.88) !important;
    stroke:rgba(15,154,140,.28) !important;
  }

  body.desktop-light #desktop-home .school-node.active .school-label,
  body.desktop-light #desktop-home .school-node:hover .school-label,
  body.desktop-light #desktop-home .school-node:focus .school-label {
    opacity:1 !important;
  }

  body.desktop-light #desktop-home .school-node.active .school-label rect {
    fill:rgba(232,247,245,.96) !important;
    stroke:rgba(15,154,140,.55) !important;
  }

  body.desktop-light #desktop-home .school-node text {
    fill:#1f5f58 !important;
    color:#1f5f58 !important;
    font-weight:700 !important;
  }

  body.desktop-light #desktop-home .school-node.active text {
    fill:#0d6d63 !important;
  }

  body.desktop-light #desktop-home .map-legend {
    color:#5e6e79 !important;
  }

  body.desktop-light #desktop-home .home-actions button {
    border-color: transparent !important;
    background: linear-gradient(135deg, #1bb5a5, #0e9588) !important;
    color: #fff !important;
    box-shadow: 0 12px 30px rgba(14, 149, 136, 0.22) !important;
  }

  body.desktop-light #desktop-home .home-actions .home-guide-link {
    border: 1px solid rgba(120, 168, 166, 0.48) !important;
    background: rgba(255, 255, 255, 0.7) !important;
    color: #1f5f58 !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
  }

  body.desktop-light #desktop-home .home-actions .home-guide-link:hover {
    border-color: rgba(15, 154, 140, 0.45) !important;
    color: #0d6d63 !important;
    background: rgba(236, 247, 246, 0.92) !important;
  }

  body.desktop-light #desktop-home .home-actions span {
    border-color: rgba(168, 196, 198, 0.42) !important;
    background: rgba(255, 255, 255, 0.72) !important;
    color: #6a7f86 !important;
  }

  body.desktop-light #desktop-home .home-auth-login,
  body.desktop-light #desktop-home .home-auth-logout {
    border: 1px solid rgba(120, 168, 166, 0.48) !important;
    background: rgba(255, 255, 255, 0.74) !important;
    color: #24383e !important;
  }

  body.desktop-light #desktop-home .home-auth-register,
  body.desktop-light #desktop-home .home-auth-console {
    border: 1px solid rgba(15, 154, 140, 0.34) !important;
    background: linear-gradient(135deg, #19b3a3, #0f9a8c) !important;
    color: #fff !important;
  }

  body.desktop-light #desktop-home .home-stats {
    border-color: rgba(168, 196, 198, 0.34) !important;
    background: rgba(255, 255, 255, 0.52) !important;
    color: #24383e !important;
    box-shadow: 0 12px 40px rgba(48, 84, 90, 0.06) !important;
    backdrop-filter: blur(22px) saturate(150%) !important;
    -webkit-backdrop-filter: blur(22px) saturate(150%) !important;
  }

  body.desktop-light #desktop-home .home-stat {
    border-color:rgba(168,196,198,.28) !important;
    background:transparent !important;
  }

  body.desktop-light #desktop-home .home-stat strong,
  body.desktop-light #desktop-home .school-inspector strong {
    color:#1f3d44 !important;
    font-weight:700 !important;
    text-shadow:none !important;
  }

  body.desktop-light #desktop-home .home-stat span,
  body.desktop-light #desktop-home .school-inspector span,
  body.desktop-light #desktop-home .school-inspector-list {
    color:#71868d !important;
  }

  body.desktop-light #desktop-home .school-exam-link {
    border-color:#8dcac3 !important;
    background:#e8f7f5 !important;
    color:#0f766c !important;
  }

  body.desktop-light #desktop-home .home-gbc-mark::before {
    color:rgba(22,143,132,.18) !important;
  }

  body.desktop-light #desktop-home .home-gbc-mark::after {
    color:rgba(22,143,132,.32) !important;
  }
}
#desktop-home .home-actions .home-guide-link { display:inline-flex; align-items:center; gap:8px; padding:10px 13px; border:1px solid #3b5454; border-radius:999px; background:rgba(9,11,13,.62); color:#b9d6d2; font-size:11px; font-weight:700; }
#desktop-home .home-actions .home-guide-link:hover { border-color:#54d8ca; color:#ecfffc; }
#desktop-home .home-auth-login,
#desktop-home .home-auth-logout {
  border:1px solid #303038;
  background:rgba(14,16,20,.72);
  color:#e8e6ed;
}
#desktop-home .home-auth-register,
#desktop-home .home-auth-console {
  border:1px solid rgba(53,214,197,.48);
  background:#178f83;
  color:#fff;
}
#desktop-home { min-height:100dvh; }
#desktop-home .home-inner { min-height:100dvh; height:100dvh; }
#desktop-home .china-map { top:78px !important; right:6% !important; width:auto !important; height:min(70dvh,calc(100dvh - 190px)) !important; max-height:calc(100dvh - 190px) !important; }
#desktop-home .home-stats { right:6%; bottom:16px; left:6%; }
#desktop-home .home-copy { top:48%; transform:translateY(-50%); }
#desktop-home .home-copy h1 { font-size:clamp(38px,3.35vw,54px) !important; line-height:1.07 !important; letter-spacing:-.018em; }
#desktop-home .home-kicker { max-width:390px; line-height:1.45; }
#desktop-home .home-sub { max-width:420px; }
#desktop-home .home-brand span { max-width:210px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
@media (max-width:1100px) { #desktop-home .china-map { top:108px !important; right:2% !important; height:min(61dvh,calc(100dvh - 210px)) !important; max-height:calc(100dvh - 210px) !important; } #desktop-home .home-copy { top:47%; } #desktop-home .home-stats { right:3%; left:3%; } }
@media (max-width:760px) { #desktop-home { overflow-y:auto; } #desktop-home .home-inner { min-height:720px; height:auto; } #desktop-home .china-map { top:112px !important; right:-20%; height:370px !important; max-height:none !important; } #desktop-home .home-copy { top:390px; transform:none; } #desktop-home .home-stats { bottom:18px; } }

/* Desktop landing: own the viewport so global page gutters cannot push the
   metrics rail below the first screen. */
@media (min-width:761px) {
  #desktop-home { height:100dvh !important; min-height:0 !important; padding:0 !important; box-sizing:border-box !important; }
  #desktop-home .home-inner { height:100% !important; min-height:100% !important; }
  #desktop-home .home-stats { bottom:22px !important; }
}

/* Continuous wordmark replaces the two outlined chips in the previous header. */
#desktop-home .home-brand { display:inline-flex !important; align-items:center !important; gap:12px !important; min-width:0; text-align:left; }
#desktop-home .home-brand .home-brand-name,
#desktop-home .home-brand .home-brand-tagline,
#desktop-home .home-brand .home-brand-divider { display:inline-flex !important; align-items:center !important; max-width:none !important; margin:0 !important; padding:0 !important; overflow:visible !important; border:0 !important; border-radius:0 !important; background:transparent !important; text-overflow:clip !important; white-space:nowrap !important; vertical-align:initial !important; }
#desktop-home .home-brand-name { color:#f4f3f6 !important; font-size:21px !important; font-weight:820 !important; letter-spacing:.06em !important; }
#desktop-home .home-brand-name i { color:#58dfd2; font-style:normal; }
#desktop-home .home-brand-name b { margin:0 5px; color:#5fdacd; font-weight:500; }
#desktop-home .home-brand-name em { color:#f4f3f6; font-style:normal; }
#desktop-home .home-brand .home-brand-divider { width:1px !important; height:20px !important; background:rgba(98,221,211,.42) !important; }
#desktop-home .home-brand .home-brand-tagline { color:#83dcd3 !important; font-size:10px !important; font-weight:750 !important; letter-spacing:.1em !important; }

/* The left-side English line is content, not micro-decoration. */
#desktop-home .home-kicker { display:flex; align-items:center; gap:22px; max-width:760px; min-height:60px; color:#77dfd5; font-family:"IBM Plex Sans","Avenir Next",sans-serif; font-size:42px !important; font-weight:850; letter-spacing:.18em; line-height:1; }
#desktop-home .home-kicker-gbc,
#desktop-home .home-kicker-linka { display:inline-flex; align-items:center; }
#desktop-home .home-kicker-gbc { padding:4px 0 5px; color:#62e5d8; text-shadow:0 0 22px rgba(70,225,210,.28); }
#desktop-home .home-kicker-linka { color:#effffd; text-shadow:0 8px 26px rgba(0,0,0,.25); }
#desktop-home .home-kicker-linka::before { display:none; content:none; }
#desktop-home .home-public-beta { position:relative; display:inline-flex; align-items:center; gap:11px; margin:17px 0 0; padding:8px 11px 8px 12px; border:1px solid rgba(85,225,211,.52); border-radius:7px; background:linear-gradient(105deg,rgba(22,170,157,.20),rgba(94,84,218,.16)); color:#7ef5e6; font:850 15px/1 var(--admin-mono,ui-monospace,monospace); letter-spacing:.14em; box-shadow:0 0 0 1px rgba(70,231,214,.10) inset,0 0 24px rgba(48,217,196,.18); overflow:hidden; }
#desktop-home .home-public-beta::before { content:''; width:26px; height:2px; background:linear-gradient(90deg,#4ee2d3,rgba(78,226,211,.18)); box-shadow:0 0 10px rgba(78,226,211,.82); }
#desktop-home .home-public-beta::after { content:''; position:absolute; inset:0 auto 0 -36%; width:28%; background:linear-gradient(90deg,transparent,rgba(220,255,251,.34),transparent); transform:skewX(-20deg); animation:home-beta-scan 3.2s ease-in-out infinite; pointer-events:none; }
#desktop-home .home-public-beta b { position:relative; z-index:1; padding:6px 9px; border:1px solid rgba(176,255,246,.52); border-radius:4px; background:rgba(7,38,40,.72); color:#ecfffc; font:800 12px/1 inherit; letter-spacing:.05em; box-shadow:0 0 14px rgba(75,232,214,.16) inset; }
@keyframes home-beta-scan { 0%,35% { left:-36%; } 62%,100% { left:112%; } }
#desktop-home .home-personal-activity span b { color:inherit; font:700 10px/1 inherit; }

/* Home command center: the map stays present, but the first decision now lives
   in a compact, action-first panel rather than in a marketing-style hero. */
#desktop-home .home-command-center { position:absolute; z-index:4; top:50%; left:7.2%; width:min(920px,74vw); display:grid; grid-template-columns:minmax(330px,1fr) minmax(320px,.92fr); gap:30px; align-items:end; transform:translateY(-46%); }
#desktop-home .home-copy { position:static !important; top:auto !important; left:auto !important; transform:none !important; max-width:none !important; }
#desktop-home .home-eyebrow { display:flex; align-items:center; gap:8px; margin:18px 0 13px; color:#98b9b7; font:700 10px/1 var(--admin-mono,ui-monospace,monospace); letter-spacing:.12em; }
#desktop-home .home-eyebrow i,#desktop-home .home-live-status i,#desktop-home .home-quick-panel footer i { display:inline-block; width:6px; height:6px; border-radius:50%; background:#59dfd1; box-shadow:0 0 0 4px rgba(89,223,209,.12); }
#desktop-home .home-copy h1 { margin:0; color:#f2f6f5; font-size:clamp(36px,3.25vw,55px) !important; font-weight:760; line-height:1.12 !important; letter-spacing:0 !important; }
#desktop-home .home-copy h1 span { display:block; }
#desktop-home .home-sub { margin-top:17px; max-width:450px !important; color:#aebdbb; font-size:14px; line-height:1.75; }
#desktop-home .home-actions { margin-top:24px; }
#desktop-home .home-actions button { display:inline-flex; align-items:center; gap:13px; min-height:44px; padding:0 18px; border:1px solid #54dacb; border-radius:6px; background:#2dc2b1; color:#07201e; font-size:13px; font-weight:780; box-shadow:0 12px 28px rgba(45,194,177,.18); }
#desktop-home .home-actions button b { font-size:17px; line-height:1; }
#desktop-home .home-actions .home-guide-link { border-radius:6px; padding:12px 14px; background:rgba(11,18,20,.7); color:#c4d2d0; }
#desktop-home .home-actions .home-yu-entry{width:28px;min-height:28px;padding:0;display:inline-grid;place-items:center;border:1px solid rgba(181,164,255,.32);border-radius:8px 8px 3px 8px;background:rgba(91,70,184,.24);color:#dfd8ff;box-shadow:none}#desktop-home .home-yu-entry i{font:700 13px/1 serif}#desktop-home .home-yu-entry span,#desktop-home .home-yu-entry b{display:none}
#desktop-home .home-live-status { display:flex; align-items:center; gap:9px; margin-top:24px; color:#8ea5a1; font-size:11px; }
#desktop-home .home-live-status b { margin-left:2px; color:#d4e4e1; font-weight:650; }
#desktop-home .home-quick-panel { overflow:hidden; border:1px solid rgba(132,183,178,.25); border-radius:8px; background:linear-gradient(135deg,rgba(20,33,35,.92),rgba(9,15,18,.86)); box-shadow:0 24px 55px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.05); backdrop-filter:blur(18px); }
#desktop-home .home-quick-panel header { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:17px 18px 15px; border-bottom:1px solid rgba(132,183,178,.17); }
#desktop-home .home-quick-panel header span { display:block; color:#62dfd2; font:700 9px/1 var(--admin-mono,ui-monospace,monospace); letter-spacing:.12em; }
#desktop-home .home-quick-panel header strong { display:block; margin-top:7px; color:#eef5f3; font-size:15px; font-weight:700; }
#desktop-home .home-quick-panel header small { padding:4px 7px; border:1px solid rgba(121,199,191,.24); border-radius:4px; color:#93aaa7; font-size:10px; }
#desktop-home .home-quick-panel-actions { display:flex; align-items:center; gap:7px; }
#desktop-home .home-quick-panel [data-dismiss-quick-panel] { width:23px; height:23px; display:grid; place-items:center; padding:0; border:0; border-radius:4px; background:transparent; color:#728b87; font-size:19px; line-height:1; cursor:pointer; }
#desktop-home .home-quick-panel [data-dismiss-quick-panel]:hover { background:rgba(91,223,209,.1); color:#a7eee5; }
#desktop-home .home-quick-grid { padding:7px; }
#desktop-home .home-quick-card { display:grid; grid-template-columns:26px 1fr 16px; gap:10px; align-items:center; min-height:56px; padding:9px 10px; border:1px solid transparent; border-radius:5px; color:inherit; text-decoration:none; transition:background .18s ease,border-color .18s ease,transform .18s ease; }
#desktop-home .home-quick-card:hover { transform:translateX(3px); border-color:rgba(97,221,207,.32); background:rgba(57,113,108,.16); }
#desktop-home .home-quick-card.is-primary { background:linear-gradient(90deg,rgba(41,143,132,.29),rgba(33,88,86,.11)); }
#desktop-home .home-quick-card i { display:grid; place-items:center; width:24px; height:24px; border:1px solid rgba(104,215,203,.32); border-radius:4px; color:#67dacc; font:700 9px/1 var(--admin-mono,ui-monospace,monospace); font-style:normal; }
#desktop-home .home-quick-card strong { display:block; color:#e7f0ee; font-size:12px; font-weight:700; }
#desktop-home .home-quick-card span { display:block; margin-top:4px; color:#849a97; font-size:10px; }
#desktop-home .home-quick-card b { color:#63dacc; font-size:16px; font-weight:500; }
#desktop-home .home-quick-panel footer { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 18px; border-top:1px solid rgba(132,183,178,.17); color:#86a09b; font-size:10px; }
#desktop-home .home-quick-panel footer span { display:flex; align-items:center; gap:8px; }
#desktop-home .home-quick-panel footer i { width:5px; height:5px; }
#desktop-home .home-quick-panel footer a { color:#8ce8dc; font-weight:650; text-decoration:none; }
@media (max-width:1100px) { #desktop-home .home-command-center { left:5%; width:min(840px,88vw); gap:20px; } }
@media (max-width:820px) { #desktop-home .home-command-center { top:120px; left:28px; right:28px; width:auto; grid-template-columns:1fr; transform:none; } #desktop-home .home-quick-panel { max-width:500px; } #desktop-home .home-copy h1 { font-size:38px !important; } }
@media (max-width:760px) { #desktop-home .home-command-center { top:104px; left:20px; right:20px; } #desktop-home .home-kicker { font-size:22px !important; } #desktop-home .home-copy h1 { font-size:32px !important; } #desktop-home .home-sub { max-width:360px !important; } #desktop-home .home-actions { display:flex; flex-wrap:wrap; gap:8px; } #desktop-home .home-actions .home-guide-link { margin:0; } #desktop-home .home-stats { position:relative !important; right:auto !important; bottom:auto !important; left:auto !important; margin:720px 20px 20px; } }
@media (max-width:760px) {
  #desktop-home .home-brand { gap:8px !important; }
  #desktop-home .home-brand-name { font-size:16px !important; }
  #desktop-home .home-brand .home-brand-divider { height:14px !important; }
  #desktop-home .home-brand .home-brand-tagline { font-size:9px !important; letter-spacing:.06em !important; }
  #desktop-home .home-kicker { gap:8px; min-height:28px; font-size:17px !important; }
}
#desktop-home .school-inspector-actions { display:flex; flex-direction:column; align-items:flex-end; gap:6px; flex:0 0 auto; }
#desktop-home .school-table-link { color:#8de9df; font-size:10px; text-decoration:underline; opacity:.82; }
