/* Conference identity, calendar dial, and two editorial constellations. */
.home-page .home-hero { display: grid; grid-template-columns: minmax(0,1fr) 225px; gap: 32px; align-items: center; }
.conference-countdown { position: relative; align-self: center; min-height: 220px; padding: 44px 6px 30px; text-align: center; isolation: isolate; direction: ltr; }
.countdown-orbit { position: absolute; top: 50%; left: 50%; width: 210px; height: 210px; border: 1px solid #a7253020; border-radius: 50%; transform: translate(-50%,-50%); pointer-events: none; z-index: -1; }
.countdown-orbit::before { position: absolute; inset: 12px; border: 1px dashed #bc825030; border-radius: 50%; content: ""; }
.countdown-orbit span { position: absolute; top: 17%; left: 10%; width: 5px; height: 5px; border-radius: 50%; background: #bc8250; box-shadow: 0 0 12px #bc825040; }
.conference-countdown .countdown-label { margin: 0 0 6px; color: var(--fx-accent,var(--red-dark)); font-size: 12px; letter-spacing: .13em; }
.countdown-value { display: flex; align-items: baseline; justify-content: center; gap: 8px; min-height: 112px; color: var(--fx-accent,var(--red-dark)); }
.countdown-value strong { font: 400 104px/.98 Georgia,serif; letter-spacing: -.055em; font-variant-numeric: lining-nums tabular-nums; }
.countdown-value span { font-size: 13px; letter-spacing: .08em; }
.conference-countdown[data-phase="live"] .countdown-value,
.conference-countdown[data-phase="ended"] .countdown-value { min-height: 22px; }
.conference-countdown [hidden] { display: none; }
@media (max-width: 950px) {
  .home-page .home-hero { grid-template-columns: 1fr; gap: 26px; }
  .conference-countdown { display: grid; grid-template-columns: 1fr auto; gap: 6px 24px; min-height: 0; padding: 22px 0 0; border-top: 1px solid var(--line); text-align: start; }
  .countdown-orbit { display: none; }
  .conference-countdown .countdown-label { grid-column: 1; grid-row: 1; align-self: center; margin-bottom: 0; }
  .countdown-value { grid-column: 2; grid-row: 1; min-height: auto; align-self: center; }
  .countdown-value strong { font-size: 68px; }
}
.home-page { position: relative; overflow-x: clip; }
.home-page main { position: relative; z-index: 1; }
.atlas-ambient { position: fixed; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; background: linear-gradient(155deg,#310b19,#180811 70%,#10080d); opacity: var(--atlas-night,0); }
.atlas-ambient::before { content: ""; position: absolute; width: 90vw; height: 90vh; top: 15%; right: -25%; border-radius: 50%; background: radial-gradient(ellipse, #d1867950, #f0c4bb28 45%, transparent 70%); transform: translate3d(0,var(--ambient-drift,0px),0); }
.atlas-ambient::after { content: ""; position: absolute; inset: 40% 25% -50% -30%; background: radial-gradient(ellipse, #bc825038, transparent 65%); }
.atlas-cursor-light { position: fixed; top: -220px; left: -220px; width: 440px; height: 440px; z-index: 5; pointer-events: none; opacity: 0; border-radius: 50%; background: radial-gradient(circle, #fff9eebf 0, #ffddaf66 10%, #f3b0b233 34%, transparent 67%); transition: opacity .3s; mix-blend-mode: screen; }
.atlas-cursor-light.is-lit { opacity: 1; }
.atlas-scene { position: relative; margin-top: 76px; padding: 45px 0 20px; isolation: isolate; }
.atlas-scene::before { content: ""; position: absolute; z-index: -1; inset: 0 -5% 0; border-radius: 50%; background: radial-gradient(ellipse at 32% 50%, #e8bcb84d, transparent 67%); pointer-events: none; }
.world-scene::before { background: radial-gradient(ellipse at 73% 45%, #c9858359, #e9cbb32b 35%, transparent 70%); }
.atlas-scene[data-atlas-scene="world"]::before { background: radial-gradient(ellipse at 27% 46%,#e8bcb838,transparent 72%); }
.atlas-composition { position: relative; display: grid; grid-template-columns: 44% 56%; min-height: 600px; align-items: center; }
.atlas-art { position: relative; grid-column: 1; grid-row: 1; width: 100%; aspect-ratio: 1; pointer-events: none; transform: translate3d(var(--interaction-x,0px),calc(var(--scene-drift,0px) + var(--interaction-y,0px)),0); transition: transform .6s cubic-bezier(.16,1,.3,1); }
.art-halo { position: absolute; inset: -7%; border-radius: 50%; background: radial-gradient(circle, #fff9ee95, #d99a912c 43%, transparent 68%); opacity: calc(1 - var(--fx-night,0) * .78); }
.peace-orbit { position: absolute; inset: 3%; border: 1px solid #a7253026; border-radius: 50%; transform: rotate(-28deg) scaleY(.76); }
.peace-orbit::before, .peace-orbit::after { content: ""; position: absolute; inset: 10%; border: 1px dashed #a7253025; border-radius: 50%; }
.peace-orbit::after { inset: -9%; border-style: solid; border-color: #bc825024; }
.peace-emblem { position: absolute; inset: 14%; transform: rotate(var(--art-turn,-8deg)) scale(var(--art-scale,1)); transition: transform 1.1s cubic-bezier(.16,1,.3,1); }
.peace-emblem img { width: 100%; height: 100%; object-fit: contain; opacity: .95; filter: none; }
.knot-caption { position: absolute; top: 84%; left: 7%; right: 7%; display: block; text-align: center; color: #fff7f1; font: 400 9px/1.6 Georgia,"Microsoft YaHei",serif; letter-spacing: .05em; opacity: .75; direction: ltr; }
.atlas-filter-defs { position: absolute; overflow: hidden; }
.art-spark { position: absolute; width: 7px; height: 7px; border-radius: 50%; background: #ba745a; box-shadow: 0 0 0 6px #bd825015, 0 0 22px #ffd6a1; transition: transform .6s, background .6s; }
.spark-one { top: 13%; left: 44%; }.spark-two { top: 67%; left: 87%; }.spark-three { top: 82%; left: 17%; }
.atlas-scene[data-active] .art-spark { background: #9e2634; transform: scale(1.3); }
.atlas-threads { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; transform: translate3d(calc(var(--interaction-x,0px) * .35),calc(var(--interaction-y,0px) * .35),0); transition: transform .8s cubic-bezier(.16,1,.3,1); }
.atlas-threads path { fill: none; stroke: #a7253024; stroke-width: 1; vector-effect: non-scaling-stroke; transition: stroke .4s, stroke-width .4s; }
.atlas-scene[data-active="0"] [data-thread="0"], .atlas-scene[data-active="1"] [data-thread="1"], .atlas-scene[data-active="2"] [data-thread="2"] { stroke: #aa334b; stroke-width: 1.6; stroke-dasharray: 7 9; animation: atlas-signal 3s linear infinite; }
.home-page .atlas-entries { position: relative; grid-column: 2; grid-row: 1; display: flex; flex-direction: column; gap: 26px; perspective: none; padding: 0 0 0 40px; transform: translate3d(calc(var(--interaction-x,0px) * -.2),calc(var(--interaction-y,0px) * -.2),0); transition: transform .8s cubic-bezier(.16,1,.3,1); }
.home-page .atlas-entries .portal-card { min-height: 142px; width: 91%; padding: 18px 4px 18px 22px; border: 0; border-bottom: 1px solid #a7253029; border-radius: 0; box-shadow: none; background: transparent; transform-style: flat; overflow: visible; }
.home-page .atlas-entries .portal-card:nth-child(2) { margin-inline-start: -32px; }
.home-page .atlas-entries .portal-card:nth-child(3) { margin-inline-start: 16px; }
.home-page .atlas-entries .portal-card::before { top: 33px; left: -5px; right: auto; width: 7px; height: 7px; border-radius: 50%; background: #a7253060; transform: none; box-shadow: 0 0 0 5px #a7253008; }
.home-page .atlas-entries .portal-card::after { inset: -10px -18px; width: auto; height: auto; border: 0; border-radius: 50%; background: radial-gradient(ellipse at var(--pointer-x,30%) var(--pointer-y,50%), #fff8e67a, transparent 68%); opacity: 0; z-index: -1; transform: none; }
.home-page .atlas-entries .portal-card:hover, .home-page .atlas-entries .portal-card:focus-visible { background: transparent; box-shadow: none; transform: translateX(8px); border-color: #a7253080; }
.home-page .atlas-entries .portal-card:hover::after, .home-page .atlas-entries .portal-card:focus-visible::after { opacity: 1; transform: none; }
.home-page .atlas-entries .portal-card:hover::before, .home-page .atlas-entries .portal-card:focus-visible::before { background: #a72530; transform: scale(1.3); box-shadow: 0 0 0 7px #a7253012, 0 0 15px #bd825060; }
.atlas-entries .portal-number { display: none; }
.home-page .atlas-entries h3 { margin: 0 0 10px; font-size: clamp(23px,2.8vw,32px); line-height: 1.25; }
.home-page .atlas-entries p { max-width: 32em; margin-bottom: 12px; }
.atlas-entries .card-link { margin-top: 0; font-size: 12px; letter-spacing: .04em; }
.atlas-entries .card-link > span:last-child { display: inline-block; transition: transform .35s; }
.atlas-entries a:hover .card-link > span:last-child { transform: translate(3px,-3px); }
.world-art { grid-column: 2; width: 94%; justify-self: end; }
.world-scene .atlas-composition { grid-template-columns: 48% 52%; }
.home-page .world-scene .atlas-entries { grid-column: 1; padding: 0 28px 0 4px; }
.home-page .world-scene .portal-card:nth-child(2) { margin-inline-start: 32px; }
.home-page .world-scene .portal-card:nth-child(3) { margin-inline-start: 0; }
.globe-frame { position: absolute; inset: 3%; border: 1px solid #a7253045; border-radius: 50%; overflow: hidden; background: radial-gradient(circle at 29% 23%, #fff7df1f, transparent 65%); box-shadow: inset 0 0 50px #c79d7820, 0 0 0 14px #ae6e6e08; transform: rotate(-14deg) scale(var(--art-scale,1)); transition: transform 1.1s cubic-bezier(.16,1,.3,1),border-color .7s; }
.globe-frame canvas { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 1; }
.globe-glass { position: absolute; z-index: 2; inset: 0; pointer-events: none; border-radius: 50%; background: radial-gradient(circle at 28% 25%, #fff4dc13, transparent 55%); }
.globe-glass::after { content: ""; position: absolute; inset: -100%; pointer-events: none; background: linear-gradient(110deg,transparent 35%,#110a1614 62%,#110a161c); transform: translateX(calc(var(--fx-terminator,0%) * .4)); opacity: var(--fx-cycle,0); }
.globe-fallback { position: absolute; inset: 4%; border: 1px solid #f6d2b76b; border-radius: 50%; }
.globe-fallback::before, .globe-fallback::after { content: ""; position: absolute; inset: 0 23%; border: 1px solid #f6d2b76b; border-radius: 50%; }
.globe-fallback::after { inset: 26% 0; }
.globe-ready .globe-fallback { display: none; }
.atlas-scene h2, .atlas-scene h3, .atlas-scene p, .atlas-scene .card-link { transition: color .6s; }
.home-page .site-footer { position: relative; z-index: 1; }
.atlas-night .atlas-scene h2, .atlas-night .atlas-entries h3, .atlas-night .atlas-entries .card-link { color: #f6e2d8; }
.atlas-night .atlas-entries p, .atlas-night .site-footer { color: #cfb5b2; }
.atlas-night .atlas-entries .portal-card { border-color: #f4d0bc30; }
.atlas-night .atlas-threads path { stroke: #eac3ac35; }
.atlas-night .atlas-scene[data-active] .atlas-threads path { stroke: #eac3ac45; }
.atlas-night .atlas-scene[data-active="0"] [data-thread="0"], .atlas-night .atlas-scene[data-active="1"] [data-thread="1"], .atlas-night .atlas-scene[data-active="2"] [data-thread="2"] { stroke: #ffe0ae; }
.globe-frame { border-color: var(--line,#a7253045); }
.atlas-scene::before { opacity: calc(1 - var(--fx-night,0) * .8); }
.atlas-night .atlas-entries .portal-card:hover h3, .atlas-night .atlas-entries .portal-card:hover p, .atlas-night .atlas-entries .portal-card:hover .card-link { color: #fff1d5; }
.peace-orbit, .peace-orbit::before, .peace-orbit::after { border-color: var(--line,#ecc6ae35); }
.atlas-night .site-footer .footer-contacts a[href^="https://mp.weixin.qq.com/"] { color: #94caff; }
@keyframes atlas-signal { to { stroke-dashoffset: -48; } }
@media (max-width: 760px) {
  .atlas-scene { margin-top: 35px; padding-top: 25px; }
  .atlas-scene::before, .world-scene::before { inset: 0; }
  .atlas-composition, .world-scene .atlas-composition { display: flex; flex-direction: column; min-height: auto; }
  .atlas-art, .world-art { width: min(76%,320px); align-self: center; margin: 0 0 10px; }
  .atlas-threads { display: none; }
  .home-page .atlas-entries, .home-page .world-scene .atlas-entries { width: 100%; padding: 0 9px; gap: 3px; }
  .home-page .atlas-entries .portal-card { width: 100%; min-height: 135px; padding-inline: 22px 4px; }
  .home-page .atlas-entries .portal-card:nth-child(n) { margin-inline-start: 0; }
  .home-page .atlas-entries h3 { font-size: 25px; }
}
@media (prefers-reduced-motion: reduce) {
  .atlas-art, .atlas-ambient::before { transform: none; }
  .atlas-cursor-light { display: none; }
  .atlas-scene *, .atlas-scene *::before, .atlas-scene *::after { animation: none !important; transition: none !important; }
}
@media (hover: none) { .atlas-cursor-light { display: none; } }
