
/* =========================================================
   PAGE 29 · MISSION 03 NETWORK
   1600×900 / CONNECT · Reality → Story → Voice
========================================================= */
#page29Mission03Network{
  position:absolute!important; inset:0!important;
  width:100%!important; height:100%!important;
  margin:0!important; padding:0!important;
  overflow:hidden!important; box-sizing:border-box!important;
  color:#f7fffd!important;
  background:
    linear-gradient(180deg,rgba(2,13,34,.30),rgba(2,19,40,.30) 55%,rgba(1,10,26,.67)),
    url("../assets/mission-system/digital-network-bg.webp") center center/cover no-repeat!important;
  font-family:"Inter","Segoe UI","PingFang SC","Microsoft YaHei",sans-serif!important;
}
#page29Mission03Network::before{
  content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:
    radial-gradient(circle at 61% 42%,rgba(47,239,205,.12),transparent 31%),
    linear-gradient(90deg,rgba(1,12,31,.22),transparent 24%,transparent 76%,rgba(1,12,31,.22));
}
#page29Mission03Network .p29-stage{
  position:absolute; inset:0; z-index:3;
  padding:18px 42px 18px; box-sizing:border-box;
  display:grid; grid-template-rows:92px minmax(0,1fr) 112px; gap:10px;
}
#page29Mission03Network .p29-glow{
  position:absolute; width:360px; height:360px; border-radius:50%;
  filter:blur(65px); opacity:.16; pointer-events:none;
}
#page29Mission03Network .p29-glow-a{left:-110px;top:170px;background:#1decd1}
#page29Mission03Network .p29-glow-b{right:-100px;bottom:80px;background:#f1c66a}

#page29Mission03Network .p29-header{
  display:grid; grid-template-columns:1fr 1fr 260px; gap:20px; align-items:center;
  border-bottom:1px solid rgba(94,244,218,.35);
}
#page29Mission03Network .p29-header-left{display:flex;flex-direction:column;align-items:flex-start}
#page29Mission03Network .p29-header-left span{font-size:18px;font-weight:950;letter-spacing:1.7px;color:#76f4df}
#page29Mission03Network .p29-header-left strong{font-size:31px;line-height:1.02;font-weight:950}
#page29Mission03Network .p29-header-left small{font-size:15px;font-weight:800;color:#afe7df;margin-top:4px}
#page29Mission03Network .p29-brand{text-align:center;display:flex;flex-direction:column}
#page29Mission03Network .p29-brand strong{font-size:34px;line-height:1;font-weight:950;text-shadow:0 0 18px rgba(78,255,221,.36)}
#page29Mission03Network .p29-brand span{font-size:13px;font-weight:900;color:#73f1dd;letter-spacing:1.4px;margin-top:5px}
#page29Mission03Network .p29-score{
  justify-self:end; width:235px; height:72px; box-sizing:border-box;
  display:flex;flex-direction:column;justify-content:center;align-items:center;
  border:1px solid rgba(98,255,220,.44);border-radius:13px;
  background:rgba(4,28,42,.76);box-shadow:0 0 20px rgba(51,250,205,.10);
}
#page29Mission03Network .p29-score strong{font-size:24px;font-weight:950}
#page29Mission03Network .p29-score span{font-size:12px;font-weight:900;letter-spacing:1.2px;color:#8cf8e4;margin-top:2px}

#page29Mission03Network .p29-main{
  min-height:0;display:grid;grid-template-columns:295px minmax(0,1fr);gap:18px;
}
#page29Mission03Network .p29-nova-panel{
  min-height:0;padding:13px 17px 14px;box-sizing:border-box;
  display:grid;grid-template-rows:190px auto 94px;gap:7px;
  border:1px solid rgba(76,231,219,.28);border-radius:16px;
  background:linear-gradient(180deg,rgba(5,27,48,.82),rgba(5,28,45,.70));
}
#page29Mission03Network .p29-nova-visual{position:relative;display:flex;align-items:center;justify-content:center}
#page29Mission03Network .p29-nova-visual img{
  position:relative;z-index:2;width:178px;height:178px;object-fit:contain;
  filter:drop-shadow(0 0 13px rgba(62,228,255,.72)) drop-shadow(0 0 28px rgba(63,255,205,.22));
  animation:p29NovaFloat 4.6s ease-in-out infinite;
}
#page29Mission03Network .p29-nova-halo{
  position:absolute;width:190px;height:104px;border-radius:50%;
  border:1px solid rgba(90,255,220,.40);
  box-shadow:0 0 21px rgba(60,255,217,.22),inset 0 0 20px rgba(61,208,255,.08);
  animation:p29Halo 8s linear infinite;
}
@keyframes p29NovaFloat{50%{transform:translateY(-7px) scale(1.015)}}
@keyframes p29Halo{to{transform:rotate(360deg)}}
#page29Mission03Network .p29-nova-copy{text-align:left}
#page29Mission03Network .p29-nova-copy span{font-size:16px;font-weight:950;letter-spacing:1px;color:#78f5e0}
#page29Mission03Network .p29-nova-copy p{margin:10px 0 8px;font-size:17px;line-height:1.34;font-weight:760}
#page29Mission03Network .p29-nova-copy p strong{color:#f0ce79}
#page29Mission03Network .p29-nova-copy small{display:block;font-size:14px;line-height:1.42;font-weight:750;color:#c0ddd9}
#page29Mission03Network .p29-core-path{
  align-self:end;padding:10px 7px 8px;text-align:center;border-top:1px solid rgba(88,241,220,.24);
}
#page29Mission03Network .p29-core-path span{font-size:13px;font-weight:950}
#page29Mission03Network .p29-core-path i{margin:0 5px;font-style:normal;color:#f0c76e}
#page29Mission03Network .p29-core-path small{display:block;margin-top:7px;font-size:13px;font-weight:800;color:#b4e5da}

#page29Mission03Network .p29-network{
  position:relative;min-width:0;min-height:0;overflow:hidden;
  border:1px solid rgba(83,237,218,.23);border-radius:16px;
  background:linear-gradient(140deg,rgba(4,22,48,.69),rgba(4,30,46,.59));
}
#page29Mission03Network .p29-zone-title{position:absolute;z-index:5;display:flex;flex-direction:column}
#page29Mission03Network .p29-zone-title span{font-size:11px;font-weight:950;letter-spacing:1.3px;color:#70ecd9}
#page29Mission03Network .p29-zone-title strong{font-size:16px;line-height:1.06;font-weight:950}
#page29Mission03Network .p29-zone-title small{font-size:12px;font-weight:800;color:#a6d8d0}
#page29Mission03Network .p29-zone-reality{left:4%;top:3%}
#page29Mission03Network .p29-zone-story{left:45%;top:3%}
#page29Mission03Network .p29-zone-voice{right:4%;top:3%;text-align:right;align-items:flex-end}

#page29Mission03Network .p29-route{position:absolute;left:1%;top:7%;width:98%;height:88%;z-index:1;overflow:visible}
#page29Mission03Network .p29-route path{fill:none}
#page29Mission03Network .p29-route-base{stroke:rgba(103,235,219,.20);stroke-width:4}
#page29Mission03Network .p29-route-energy{
  stroke:#5df3d9;stroke-width:3;stroke-linecap:round;
  stroke-dasharray:16 18;filter:drop-shadow(0 0 5px rgba(80,242,217,.72));
  animation:p29Route 8s linear infinite;
}
@keyframes p29Route{to{stroke-dashoffset:-136}}

#page29Mission03Network .p29-node{
  position:absolute;z-index:6;box-sizing:border-box;width:180px;min-height:86px;
  padding:10px 10px 9px 48px;text-align:left;color:#fff;font-family:inherit;
  border:1px solid rgba(96,212,199,.24);border-radius:11px;
  background:rgba(6,23,51,.84);box-shadow:0 7px 20px rgba(0,0,0,.12);
}
#page29Mission03Network .p29-node-number{
  position:absolute;left:10px;top:17px;width:30px;height:30px;border-radius:50%;
  display:grid;place-items:center;font-size:12px;font-weight:950;
  border:1px solid rgba(109,240,220,.34);background:rgba(22,75,75,.52);
}
#page29Mission03Network .p29-node div{display:flex;flex-direction:column}
#page29Mission03Network .p29-node strong{font-size:13px;line-height:1.05;font-weight:950;color:#eafffb}
#page29Mission03Network .p29-node small{font-size:11px;font-weight:800;color:#b2ded7;margin-top:3px}
#page29Mission03Network .p29-node em{font-size:10px;line-height:1.18;font-style:normal;font-weight:720;color:#b7bcc9;margin-top:3px}
#page29Mission03Network .p29-node b{display:block;margin-top:5px;font-size:9px;font-weight:950;color:#718091;letter-spacing:.5px}
#page29Mission03Network .p29-node.is-available{
  cursor:pointer;border-color:#6df4dc;background:linear-gradient(135deg,rgba(17,108,92,.88),rgba(47,53,114,.82));
  box-shadow:0 0 20px rgba(58,245,209,.18),inset 0 0 16px rgba(95,255,224,.06);
}
#page29Mission03Network .p29-node.is-available .p29-node-number{
  border-color:#9bffe9;background:#168c78;box-shadow:0 0 13px rgba(81,245,213,.28);
}
#page29Mission03Network .p29-node.is-available b{color:#82f5df}
#page29Mission03Network .p29-node.is-locked{opacity:.58;cursor:default}

#page29Mission03Network .p29-node-01{left:3%;top:18%}
#page29Mission03Network .p29-node-02{left:24%;top:12%}
#page29Mission03Network .p29-node-03{left:43%;top:22%}
#page29Mission03Network .p29-node-04{right:16%;top:13%}
#page29Mission03Network .p29-node-05{right:4%;top:53%}
#page29Mission03Network .p29-node-06{left:51%;bottom:7%}
#page29Mission03Network .p29-node-07{left:27%;bottom:5%}
#page29Mission03Network .p29-node-08{left:4%;bottom:12%}

#page29Mission03Network .p29-footer{
  display:grid;grid-template-columns:minmax(0,1fr) 470px;gap:20px;align-items:center;
  padding:9px 14px;box-sizing:border-box;border:1px solid rgba(90,238,218,.26);border-radius:15px;
  background:rgba(4,22,42,.76);
}
#page29Mission03Network .p29-driving-question{display:flex;flex-direction:column;text-align:left}
#page29Mission03Network .p29-driving-question span{font-size:12px;font-weight:950;letter-spacing:1.2px;color:#71eddb}
#page29Mission03Network .p29-driving-question strong{font-size:20px;line-height:1.18;font-weight:920;margin:4px 0}
#page29Mission03Network .p29-driving-question strong b{color:#f1cd77}
#page29Mission03Network .p29-driving-question small{font-size:13px;font-weight:780;color:#bedbd7}
#page29Mission03Network .p29-footer-right{display:grid;grid-template-columns:185px 260px;gap:12px;align-items:center}
#page29Mission03Network .p29-progress{
  height:72px;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;
  border-right:1px solid rgba(97,233,215,.22);
}
#page29Mission03Network .p29-progress span{font-size:10px;font-weight:950;letter-spacing:1px;color:#74e9dc}
#page29Mission03Network .p29-progress strong{font-size:18px;font-weight:950;margin:2px 0}
#page29Mission03Network .p29-progress small{font-size:9px;font-weight:850;color:#aabac0}
#page29Mission03Network .p29-begin{
  height:60px;border:1px solid rgba(103,255,219,.65);border-radius:11px;color:#fff;
  background:linear-gradient(100deg,#147b72,#1aa67e);box-shadow:0 0 18px rgba(49,255,206,.14);
  font-family:inherit;font-size:14px;font-weight:950;cursor:pointer;
}
#page29Mission03Network .p29-begin i{margin-left:9px;font-style:normal;font-size:18px;color:#f0d27f}

.reveal:has(#page29Mission03Network.present) .m03-viewport-fx{opacity:1!important;visibility:visible!important}
.reveal-viewport:has(#page29Mission03Network.present){background:#021025!important}


/* =========================================================
   PAGE 29 · v07 · CORE PATH ALIGNMENT FIX
   REALITY → STORY → VOICE on one clean row
========================================================= */

#page29Mission03Network .p29-core-path{
    align-self:end !important;
    padding:10px 10px 8px !important;
    text-align:center !important;
    border-top:1px solid rgba(88,241,220,.24) !important;

    display:grid !important;
    grid-template-columns:
        auto 18px auto 18px auto !important;
    grid-template-rows:
        24px 22px !important;
    align-items:center !important;
    justify-content:center !important;
    column-gap:6px !important;
    row-gap:5px !important;

    overflow:hidden !important;
    box-sizing:border-box !important;
}

#page29Mission03Network .p29-core-path span{
    font-size:12px !important;
    line-height:1 !important;
    font-weight:950 !important;
    white-space:nowrap !important;
}

#page29Mission03Network .p29-core-path i{
    margin:0 !important;
    width:18px !important;
    text-align:center !important;
    font-style:normal !important;
    font-size:16px !important;
    line-height:1 !important;
    color:#f0c76e !important;
    transform:scaleX(.82) !important;
}

/* Chinese subtitle spans the full width beneath the English path */
#page29Mission03Network .p29-core-path small{
    grid-column:1 / -1 !important;
    grid-row:2 !important;

    display:block !important;
    margin:0 !important;
    font-size:13px !important;
    line-height:1.15 !important;
    font-weight:800 !important;
    color:#b4e5da !important;
    white-space:nowrap !important;
}

/* PAGE 29 · final network hierarchy and shared route-endpoint grammar. */
#page29Mission03Network .p29-node{width:188px!important;min-height:94px!important;padding:11px 11px 10px 49px!important}
#page29Mission03Network .p29-node small{font-size:12px!important;line-height:1.2!important}
#page29Mission03Network .p29-node em{font-size:11.5px!important;line-height:1.22!important}
#page29Mission03Network .p29-zone-title{pointer-events:none!important}
#page29Mission03Network .p29-zone-title strong{font-size:18px!important;letter-spacing:.3px!important}
#page29Mission03Network .p29-zone-title::after{width:68px;height:1px;margin-top:5px;background:linear-gradient(90deg,rgba(95,244,218,.55),transparent);content:"";opacity:.5}
#page29Mission03Network .p29-core-path{align-self:start!important;margin-top:14px!important;padding:8px 8px!important;grid-template-rows:18px 22px 22px!important;row-gap:4px!important}
#page29Mission03Network .p29-core-path-label{grid-column:1 / -1!important;grid-row:1!important;color:#78f5e0;font-size:10px;font-weight:950;letter-spacing:1.4px;line-height:1;text-align:center}
#page29Mission03Network .p29-core-path span,#page29Mission03Network .p29-core-path i{grid-row:2!important}
#page29Mission03Network .p29-core-path small{grid-row:3!important}
#page29Mission03Network .p29-route-directions{pointer-events:none}
#page29Mission03Network .p29-route-directions text{fill:rgba(106,241,220,.68);font-size:29px;font-weight:900}
#page29Mission03Network .p29-driving-question{transform:translateY(-5px)}
#page29Mission03Network .p29-driving-question strong{font-size:22px!important;line-height:1.18!important}
#page29Mission03Network .p29-driving-question small{font-size:14.5px!important;line-height:1.35!important}
#page29Mission03Network .p29-progress span{opacity:.68}
#page29Mission03Network .p29-progress strong{font-size:19px!important}
#page29Mission03Network .p29-progress small{font-size:8px!important;opacity:.52}
#page29Mission03Network .p29-begin{font-size:15px!important;box-shadow:0 0 15px rgba(49,255,206,.11)!important}
#page29Mission03Network .p29-route-extension{fill:none;stroke:#5df3d9;stroke-width:3;stroke-linecap:round;stroke-dasharray:16 18;opacity:.18;filter:drop-shadow(0 0 5px rgba(80,242,217,.38));transition:opacity .3s ease,filter .3s ease}
#page29Mission03Network .p29-route-endpoint{position:absolute;z-index:8;left:3%;top:50%;display:flex;align-items:center;gap:9px;box-sizing:border-box;min-width:222px;padding:8px 13px;border:1px solid rgba(101,239,218,.44);border-radius:999px;background:rgba(4,27,48,.76);color:#d9fffb;opacity:0;pointer-events:none;transform:translateY(-50%);transition:opacity .35s ease,box-shadow .35s ease,border-color .35s ease}
#page29Mission03Network .p29-route-endpoint span{display:grid;place-items:center;width:21px;height:21px;border:1px solid currentColor;border-radius:50%;font-size:13px;line-height:1}
#page29Mission03Network .p29-route-endpoint div{display:flex;flex-direction:column;align-items:flex-start}
#page29Mission03Network .p29-route-endpoint strong{font-size:14px;font-weight:950;letter-spacing:.65px;line-height:1.1}
#page29Mission03Network .p29-route-endpoint small{margin-top:2px;color:#a6e8dc;font-size:11px;font-weight:800;line-height:1}
#page29Mission03Network.m03-network-complete .p29-route-extension{opacity:.92;filter:drop-shadow(0 0 8px rgba(89,246,219,.68))}
#page29Mission03Network.m03-network-complete .p29-route-endpoint{border-color:rgba(111,246,224,.86);box-shadow:0 0 16px rgba(89,246,219,.24),inset 0 0 13px rgba(76,155,191,.08);opacity:1;text-shadow:0 0 8px rgba(134,255,239,.78)}
#page29Mission03Network.m03-completion-sequence .p29-route-extension,#page29Mission03Network.m03-completion-sequence .p29-route-endpoint{opacity:0;filter:none}
#page29Mission03Network .p29-node.m03-completion-pulse{animation:p29CompletionNode .42s ease both!important}
@keyframes p29CompletionNode{0%{transform:scale(1);filter:brightness(1)}48%{transform:scale(1.045);filter:brightness(1.28);box-shadow:0 0 26px rgba(104,245,220,.70),inset 0 0 24px rgba(92,204,216,.16)}100%{transform:scale(1);filter:brightness(1)}}
