/* =========================================================
   PAGE 18 · MISSION 02 STAGE NETWORK
========================================================= */

#page18Mission02Network{
    position:absolute!important;
    top:0!important;
    left:0!important;
    width:100%!important;
    height:100%!important;
    min-width:100%!important;
    min-height:100%!important;


    --purple:#A56CFF;
    --purple-light:#CCADFF;
    --purple-deep:#6338CE;

    --cyan:#51E5F5;



    margin:0;
    padding:0;

    overflow:hidden;

    color:#F7F4FF;

    font-family:
        Inter,
        "SF Pro Display",
        "Segoe UI",
        Arial,
        sans-serif;

    background:

        linear-gradient(
            115deg,
            rgba(6,11,30,.94),
            rgba(25,20,67,.79) 48%,
            rgba(5,14,36,.90)
        ),

        url("../assets/images/cover-bg.jpg");

    background-size:cover;
    background-position:center;

}


/* vignette */

#page18Mission02Network::after{

    content:"";

    position:absolute;
    inset:0;

    z-index:0;

    pointer-events:none;

    background:

        radial-gradient(
            circle at 58% 46%,
            transparent 15%,
            rgba(14,7,42,.15) 58%,
            rgba(2,5,18,.42) 100%
        );

}


/* =========================================================
   MAIN STAGE
========================================================= */

#page18Mission02Network .p18-stage{

    position:absolute;

    inset:0;

    z-index:10;

    box-sizing:border-box;

    padding:
        22px
        46px
        24px;

    display:grid;

    grid-template-rows:
        92px
        minmax(0,1fr)
        112px;

    gap:12px;

}


/* =========================================================
   AMBIENT EFFECTS
========================================================= */

#page18Mission02Network .p18-glow{

    position:absolute;

    pointer-events:none;

    border-radius:50%;

    z-index:-1;

}


#page18Mission02Network .p18-glow-a{

    width:720px;
    height:720px;

    right:210px;
    top:30px;

    background:

        radial-gradient(
            circle,
            rgba(164,102,255,.18),
            rgba(94,50,204,.07) 42%,
            transparent 70%
        );

}


#page18Mission02Network .p18-glow-b{

    width:500px;
    height:500px;

    left:-170px;
    bottom:-180px;

    background:

        radial-gradient(
            circle,
            rgba(44,201,255,.11),
            transparent 70%
        );

}


/* particles */

#page18Mission02Network .p18-particles{

    position:absolute;

    inset:0;

    z-index:-1;

    pointer-events:none;

}


#page18Mission02Network .p18-particles i{

    position:absolute;

    width:5px;
    height:5px;

    border-radius:50%;

    background:#CAA7FF;

    box-shadow:

        0 0 8px
        rgba(190,145,255,.72),

        0 0 17px
        rgba(71,174,255,.35);

    opacity:.42;

    animation:
        p18ParticleFloat
        9s
        ease-in-out
        infinite;

}


#page18Mission02Network .p18-particles i:nth-child(1){
    left:8%;top:24%;
}

#page18Mission02Network .p18-particles i:nth-child(2){
    left:18%;top:66%;
    animation-delay:-4s;
}

#page18Mission02Network .p18-particles i:nth-child(3){
    left:30%;top:43%;
    animation-delay:-2s;
}

#page18Mission02Network .p18-particles i:nth-child(4){
    left:42%;top:77%;
    animation-delay:-6s;
}

#page18Mission02Network .p18-particles i:nth-child(5){
    left:53%;top:27%;
    animation-delay:-1s;
}

#page18Mission02Network .p18-particles i:nth-child(6){
    left:63%;top:63%;
    animation-delay:-5s;
}

#page18Mission02Network .p18-particles i:nth-child(7){
    left:72%;top:38%;
    animation-delay:-3s;
}

#page18Mission02Network .p18-particles i:nth-child(8){
    left:83%;top:74%;
    animation-delay:-7s;
}

#page18Mission02Network .p18-particles i:nth-child(9){
    left:91%;top:31%;
    animation-delay:-2.5s;
}

#page18Mission02Network .p18-particles i:nth-child(10){
    left:13%;top:86%;
    animation-delay:-5.5s;
}

#page18Mission02Network .p18-particles i:nth-child(11){
    left:58%;top:86%;
    animation-delay:-3.5s;
}

#page18Mission02Network .p18-particles i:nth-child(12){
    left:88%;top:54%;
    animation-delay:-6.5s;
}


/* =========================================================
   HEADER
========================================================= */

#page18Mission02Network .p18-header{

    display:grid;

    grid-template-columns:
        1fr
        1fr
        250px;

    align-items:center;

    border-bottom:
        1px solid
        rgba(180,123,255,.38);

}


#page18Mission02Network .p18-header-left{

    display:flex;

    flex-direction:column;

    align-items:flex-start;

}


#page18Mission02Network .p18-header-left span{

    color:#C494FF;

    font-size:18px;

    font-weight:900;

    letter-spacing:2px;

}


#page18Mission02Network .p18-header-left strong{

    margin-top:4px;

    color:#FFF;

    font-size:32px;

    line-height:1;

    font-weight:900;

}


#page18Mission02Network .p18-header-left small{

    margin-top:5px;

    color:#C5A3F3;

    font-size:17px;

    font-weight:750;

}


/* Brand */

#page18Mission02Network .p18-brand{

    display:flex;

    flex-direction:column;

    align-items:center;

    justify-content:center;

}


#page18Mission02Network .p18-brand strong{

    color:#FFF;

    font-size:38px;

    line-height:1;

    font-weight:900;

    text-shadow:

        0 0 16px
        rgba(84,213,255,.42);

}


#page18Mission02Network .p18-brand span{

    margin-top:5px;

    color:#5DE8FA;

    font-size:15px;

    font-weight:850;

    letter-spacing:1.5px;

}


/* score */

#page18Mission02Network .p18-score{

    justify-self:end;

    min-width:200px;

    box-sizing:border-box;

    padding:9px 14px;

    text-align:center;

    border:

        1px solid
        rgba(185,127,255,.58);

    border-radius:13px;

    background:

        rgba(18,15,51,.58);

    box-shadow:

        0 0 15px
        rgba(153,85,255,.12);

}


#page18Mission02Network .p18-score strong{

    display:block;

    color:#FFF;

    font-size:25px;

    font-weight:900;

}


#page18Mission02Network .p18-score span{

    display:block;

    margin-top:3px;

    color:#C499FF;

    font-size:12px;

    font-weight:900;

    letter-spacing:1.4px;

}


/* =========================================================
   MAIN
========================================================= */

#page18Mission02Network .p18-main{

    min-height:0;

    display:grid;

    grid-template-columns:
        315px
        minmax(0,1fr);

    gap:24px;

}


/* =========================================================
   NOVA PANEL
========================================================= */

#page18Mission02Network .p18-nova-panel{

    min-height:0;

    box-sizing:border-box;

    padding:
        22px
        20px;

    display:flex;

    flex-direction:column;

    align-items:center;

    border:

        1px solid
        rgba(174,119,255,.34);

    border-radius:18px;

    background:

        linear-gradient(
            160deg,
            rgba(17,17,53,.74),
            rgba(5,22,50,.68)
        );

    box-shadow:

        inset
        0 0 30px
        rgba(126,70,241,.045);

}


/* NOVA */

#page18Mission02Network .p18-nova-visual{

    position:relative;

    width:190px;
    height:190px;

    display:grid;

    place-items:center;

}


#page18Mission02Network .p18-nova-visual img{

    position:relative;

    z-index:2;

    width:175px;

    object-fit:contain;

    filter:

        drop-shadow(
            0 0 10px
            rgba(95,225,255,.65)
        )

        drop-shadow(
            0 0 26px
            rgba(75,125,255,.34)
        );

    animation:

        p18NovaFloat
        4.5s
        ease-in-out
        infinite;

}


#page18Mission02Network .p18-nova-aura{

    position:absolute;

    width:200px;
    height:200px;

    border-radius:50%;

    background:

        radial-gradient(
            circle,
            rgba(67,211,255,.15),
            rgba(101,82,255,.06) 44%,
            transparent 72%
        );

}


/* nova copy */

#page18Mission02Network .p18-nova-copy{

    width:100%;

    margin-top:4px;

}


#page18Mission02Network .p18-nova-copy > span{

    color:#BC89FF;

    font-size:14px;

    font-weight:950;

    letter-spacing:1.6px;

}


#page18Mission02Network .p18-nova-copy p{

    margin:
        7px
        0
        6px;

    color:#F2F7FF;

    font-size:17px;

    line-height:1.37;

    font-weight:680;

}


#page18Mission02Network .p18-nova-copy p strong{

    color:#CDAEFF;

    font-weight:900;

}


#page18Mission02Network .p18-nova-copy small{

    color:#BCD2E3;

    font-size:15px;

    line-height:1.4;

    font-weight:650;

}


/* core path */

#page18Mission02Network .p18-core-path{

    width:100%;

    margin-top:auto;

    padding-top:14px;

    display:flex;

    flex-wrap:wrap;

    justify-content:center;

    align-items:center;

    gap:7px;

    border-top:

        1px solid
        rgba(180,124,255,.22);

}


#page18Mission02Network .p18-core-path span{

    color:#FFF;

    font-size:13px;

    font-weight:900;

}


#page18Mission02Network .p18-core-path i{

    color:#B57AFF;

    font-size:16px;

    font-style:normal;

    text-shadow:

        0 0 7px
        rgba(177,108,255,.60);

}


#page18Mission02Network .p18-core-path small{

    flex-basis:100%;

    text-align:center;

    color:#B994EB;

    font-size:14px;

    font-weight:800;

}


/* =========================================================
   NETWORK PANEL
========================================================= */

#page18Mission02Network .p18-network{

    position:relative;

    min-height:0;

    border:

        1px solid
        rgba(179,124,255,.30);

    border-radius:18px;

    background:

        radial-gradient(
            circle at 50% 45%,
            rgba(91,55,183,.11),
            rgba(5,16,42,.70) 65%
        );

    overflow:hidden;

}


/* zones */

#page18Mission02Network .p18-zone-title{

    position:absolute;

    z-index:8;

    display:flex;

    flex-direction:column;

}


#page18Mission02Network .p18-zone-title span{

    color:#8D6CC3;

    font-size:10px;

    font-weight:950;

    letter-spacing:1.6px;

}


#page18Mission02Network .p18-zone-title strong{

    margin-top:2px;

    color:#B98BFF;

    font-size:15px;

    font-weight:950;

}


#page18Mission02Network .p18-zone-title small{

    color:#9276B7;

    font-size:12px;

    font-weight:700;

}


#page18Mission02Network .p18-zone-structure{

    left:48px;
    top:25px;

}


#page18Mission02Network .p18-zone-method{

    left:430px;
    top:25px;

}


#page18Mission02Network .p18-zone-judgment{

    right:45px;
    top:25px;

}


/* route */

#page18Mission02Network .p18-route{

    position:absolute;

    inset:
        50px
        25px
        25px;

    z-index:1;

    width:
        calc(100% - 50px);

    height:
        calc(100% - 75px);

    overflow:visible;

}


#page18Mission02Network .p18-route-base{

    fill:none;

    stroke:
        rgba(160,111,239,.19);

    stroke-width:4;

    stroke-linecap:round;

}


#page18Mission02Network .p18-route-energy{

    fill:none;

    stroke:
        url("#p18Gradient");

    stroke:#A86DFF;

    stroke-width:2;

    stroke-linecap:round;

    stroke-dasharray:
        12
        16;

    opacity:.64;

    filter:

        drop-shadow(
            0 0 6px
            rgba(172,107,255,.72)
        );

    animation:

        p18RouteFlow
        8s
        linear
        infinite;

}


/* =========================================================
   STAGE NODES
========================================================= */

#page18Mission02Network .p18-node{

    position:absolute;

    z-index:10;

    width:205px;
    height:104px;

    box-sizing:border-box;

    padding:
        11px
        12px;

    display:grid;

    grid-template-columns:
        48px
        1fr;

    grid-template-rows:
        1fr
        22px;

    gap:
        3px
        9px;

    text-align:left;

    border-radius:14px;

    font-family:inherit;

    cursor:pointer;

}


/* number */

#page18Mission02Network .p18-node-number{

    grid-row:
        1 / 3;

    align-self:center;

    width:44px;
    height:44px;

    display:grid;

    place-items:center;

    border-radius:50%;

    font-size:20px;

    font-weight:950;

}


/* node text */

#page18Mission02Network .p18-node > div{

    display:flex;

    flex-direction:column;

}


#page18Mission02Network .p18-node div strong{

    color:#FFF;

    font-size:15px;

    line-height:1;

    font-weight:950;

}


#page18Mission02Network .p18-node div small{

    margin-top:3px;

    font-size:13px;

    font-weight:800;

}


#page18Mission02Network .p18-node div em{

    margin-top:4px;

    color:#8FA1B8;

    font-size:10px;

    line-height:1.05;

    font-style:normal;

    font-weight:650;

}


#page18Mission02Network .p18-node > b{

    align-self:end;

    font-size:10px;

    font-weight:950;

    letter-spacing:.9px;

}


/* active */

#page18Mission02Network .p18-node.is-available{

    border:
        1px solid
        rgba(190,137,255,.88);

    color:#D5B9FF;

    background:

        linear-gradient(
            145deg,
            rgba(92,50,180,.74),
            rgba(37,37,99,.86)
        );

    box-shadow:

        0 0 16px
        rgba(175,101,255,.31),

        inset
        0 0 22px
        rgba(193,146,255,.08);

}


#page18Mission02Network
.p18-node.is-available
.p18-node-number{

    color:#FFF;

    border:
        1px solid
        #C597FF;

    background:
        #7443D4;

    box-shadow:

        0 0 13px
        rgba(186,117,255,.56);

}


#page18Mission02Network
.p18-node.is-available
div small{

    color:#C9A7FF;

}


#page18Mission02Network
.p18-node.is-available
> b{

    color:#E3CFFF;

}


/* locked */

#page18Mission02Network .p18-node.is-locked{

    border:
        1px solid
        rgba(118,94,157,.25);

    color:#716988;

    background:

        rgba(7,16,39,.64);

    opacity:.56;

    cursor:default;

}


#page18Mission02Network
.p18-node.is-locked
.p18-node-number{

    color:#85799A;

    border:
        1px solid
        rgba(123,103,156,.32);

    background:
        rgba(31,26,56,.76);

}


#page18Mission02Network
.p18-node.is-locked
div small{

    color:#85749F;

}


#page18Mission02Network
.p18-node.is-locked
> b{

    color:#70687F;

}


/* node positions */

#page18Mission02Network .p18-node-01{
    left:38px;
    top:105px;
}

#page18Mission02Network .p18-node-02{
    left:270px;
    top:72px;
}

#page18Mission02Network .p18-node-03{
    left:492px;
    top:128px;
}

#page18Mission02Network .p18-node-04{
    right:50px;
    top:83px;
}

#page18Mission02Network .p18-node-05{
    right:48px;
    bottom:82px;
}

#page18Mission02Network .p18-node-06{
    left:514px;
    bottom:52px;
}

#page18Mission02Network .p18-node-07{
    left:275px;
    bottom:86px;
}

#page18Mission02Network .p18-node-08{
    left:42px;
    bottom:48px;
}


/* =========================================================
   FOOTER
========================================================= */

#page18Mission02Network .p18-footer{

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:30px;

    border-top:

        1px solid
        rgba(182,124,255,.34);

}


/* driving question */

#page18Mission02Network .p18-driving-question{

    display:flex;

    flex-direction:column;

}


#page18Mission02Network .p18-driving-question span{

    color:#B47AFF;

    font-size:12px;

    font-weight:950;

    letter-spacing:1.5px;

}


#page18Mission02Network .p18-driving-question strong{

    margin-top:4px;

    color:#FFF;

    font-size:20px;

    line-height:1.12;

    font-weight:900;

}


#page18Mission02Network
.p18-driving-question
strong b{

    color:#C89FFF;

}


#page18Mission02Network .p18-driving-question small{

    margin-top:4px;

    color:#BFA0EB;

    font-size:15px;

    font-weight:750;

}


/* footer right */

#page18Mission02Network .p18-footer-right{

    display:flex;

    align-items:center;

    gap:18px;

}


#page18Mission02Network .p18-progress{

    display:flex;

    flex-direction:column;

    align-items:flex-end;

}


#page18Mission02Network .p18-progress span{

    color:#9C77CA;

    font-size:11px;

    font-weight:900;

    letter-spacing:1.2px;

}


#page18Mission02Network .p18-progress strong{

    margin-top:3px;

    color:#D7C4F3;

    font-size:15px;

    font-weight:900;

}


/* begin button */

#page18Mission02Network .p18-begin{

    appearance:none;

    border:

        1px solid
        #B67AFF;

    border-radius:12px;

    padding:
        13px
        19px;

    color:#FFF;

    background:

        linear-gradient(
            120deg,
            rgba(137,71,229,.96),
            rgba(74,81,214,.96)
        );

    box-shadow:

        0 0 17px
        rgba(176,101,255,.31);

    font-family:inherit;

    font-size:16px;

    font-weight:950;

    letter-spacing:.45px;

    cursor:pointer;

}


#page18Mission02Network .p18-begin i{

    margin-left:9px;

    color:#E4D0FF;

    font-size:20px;

    font-style:normal;

}


/* =========================================================
   ANIMATION
========================================================= */

@keyframes p18ParticleFloat{

    0%,100%{
        transform:
            translateY(0)
            scale(.85);

        opacity:.32;
    }

    50%{
        transform:
            translateY(-14px)
            scale(1.15);

        opacity:.75;
    }

}


@keyframes p18NovaFloat{

    0%,100%{
        transform:
            translateY(3px);
    }

    50%{
        transform:
            translateY(-5px);
    }

}


@keyframes p18RouteFlow{

    to{
        stroke-dashoffset:-120;
    }

}


@media (prefers-reduced-motion:reduce){

    #page18Mission02Network *{

        animation:none!important;

    }

}

/* =========================================================
   PAGE 18 · REVEAL CANVAS HEIGHT FIX
========================================================= */
.reveal .slides > section#page18Mission02Network{

    position:absolute !important;

    top:0 !important;
    left:0 !important;

    width:100% !important;
    height:100% !important;

    min-width:100% !important;
    min-height:100% !important;

    margin:0 !important;
    padding:0 !important;

    box-sizing:border-box !important;

    overflow:hidden !important;

}

#page18Mission02Network > .p18-stage{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    min-height:100%!important;
    box-sizing:border-box!important;
}

/* =========================================================
   PAGE 18 · FULL CANVAS BACKGROUND
   Preserve Reveal visibility / transition rules.
========================================================= */

#page18Mission02Network{
    background:
        linear-gradient(
            115deg,
            rgba(6,11,30,.94) 0%,
            rgba(25,20,67,.79) 48%,
            rgba(5,14,36,.90) 100%
        ),
        url("../assets/images/cover-bg.jpg")
        center center / cover no-repeat !important;

    background-size:cover !important;
    background-position:center center !important;
    background-repeat:no-repeat !important;
}

/* background layer only — no display / opacity / visibility rules here */
#page18Mission02Network::before{
    content:"";

    position:absolute;

    inset:0;

    z-index:-2;

    pointer-events:none;

    background:
        linear-gradient(
            115deg,
            rgba(6,11,30,.94) 0%,
            rgba(25,20,67,.79) 48%,
            rgba(5,14,36,.90) 100%
        ),
        url("../assets/images/cover-bg.jpg");

    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
}

/* =========================================================
   PAGE 18 · MISSION 02 VISUAL / LAYOUT REFINEMENT
   Full-bleed city background, NOVA lift, taller stage nodes.
   Reveal visibility remains untouched.
========================================================= */
#page18Mission02Network::before{
    content:""!important;
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    width:100vw!important;
    height:100vh!important;
    min-width:100%!important;
    min-height:100%!important;
    transform:translate(-50%,-50%)!important;
    z-index:0!important;
    pointer-events:none!important;
    background:
        linear-gradient(115deg,rgba(4,15,32,.90) 0%,rgba(25,18,70,.74) 48%,rgba(4,15,32,.72) 100%),
        url("../assets/images/cover-bg.jpg") center center / cover no-repeat!important;
    filter:saturate(.98) brightness(.91);
}
#page18Mission02Network::after{z-index:1!important;}
#page18Mission02Network .p18-stage{z-index:10!important;}

/* Lift NOVA so the hologram no longer crowds/overlaps the guide copy. */
#page18Mission02Network .p18-nova-visual{
    transform:translateY(-24px)!important;
    margin-bottom:-22px!important;
}

/* Give all eight stage cards enough vertical room for EN + CN + task text + state. */
#page18Mission02Network .p18-node{
    height:122px!important;
    padding:12px 13px!important;
    grid-template-rows:minmax(0,1fr) 22px!important;
}
#page18Mission02Network .p18-node div strong{
    line-height:1.08!important;
}
#page18Mission02Network .p18-node div small{
    line-height:1.15!important;
}
#page18Mission02Network .p18-node div em{
    font-size:11px!important;
    line-height:1.18!important;
}

/* Small position compensation after increasing node height. */
#page18Mission02Network .p18-node-01{top:98px!important;}
#page18Mission02Network .p18-node-02{top:66px!important;}
#page18Mission02Network .p18-node-03{top:119px!important;}
#page18Mission02Network .p18-node-04{top:76px!important;}
#page18Mission02Network .p18-node-05{bottom:72px!important;}
#page18Mission02Network .p18-node-06{bottom:43px!important;}
#page18Mission02Network .p18-node-07{bottom:76px!important;}
#page18Mission02Network .p18-node-08{bottom:39px!important;}

/* =========================================================
   PAGE 18 · USE VIEWPORT-WIDE M02 BACKGROUND
   Keep Reveal visibility under Reveal's control.
========================================================= */
#page18Mission02Network{
    background:transparent!important;
}
#page18Mission02Network::before{
    display:none!important;
}
#page18Mission02Network::after{
    background:linear-gradient(115deg,rgba(8,8,32,.15),rgba(72,37,145,.08),rgba(4,15,32,.12))!important;
    z-index:1!important;
}
#page18Mission02Network .p18-stage{
    z-index:10!important;
}


/* =========================================================
   PAGE 18 · MISSION 02 LIVE NETWORK SYNC
   Mirrors the Mission 01 network behavior:
   completed stages glow, next stage unlocks, score/progress sync.
========================================================= */

#page18Mission02Network .p18-node.is-complete{
    border:1px solid rgba(103,235,229,.86) !important;
    color:#D9FFFC !important;
    background:
        linear-gradient(
            145deg,
            rgba(25,122,142,.76),
            rgba(39,54,112,.88)
        ) !important;
    opacity:1 !important;
    cursor:pointer !important;
    box-shadow:
        0 0 17px rgba(75,231,228,.28),
        inset 0 0 22px rgba(99,244,235,.07) !important;
}

#page18Mission02Network .p18-node.is-complete .p18-node-number{
    color:#FFF !important;
    border:1px solid #66EEE7 !important;
    background:#247F9A !important;
    box-shadow:0 0 13px rgba(74,231,226,.50) !important;
}

#page18Mission02Network .p18-node.is-complete div small{
    color:#9EF4EE !important;
}

#page18Mission02Network .p18-node.is-complete > b{
    color:#BFFFF9 !important;
}

#page18Mission02Network .p18-node.is-current{
    border-color:#D1A2FF !important;
    box-shadow:
        0 0 19px rgba(184,112,255,.40),
        inset 0 0 24px rgba(201,155,255,.10) !important;
}

#page18Mission02Network .p18-score.is-live{
    border-color:rgba(195,140,255,.72) !important;
    box-shadow:0 0 18px rgba(170,96,255,.18) !important;
}

#page18Mission02Network .p18-progress strong{
    transition:color .25s ease,text-shadow .25s ease;
}

#page18Mission02Network .p18-progress.is-live strong{
    color:#D9C0FF !important;
    text-shadow:0 0 10px rgba(171,102,255,.28);
}

#page18Mission02Network .p18-begin.is-resume{
    min-width:190px;
}

#page18Mission02Network .p18-begin.is-complete{
    border-color:rgba(107,235,226,.66) !important;
    background:linear-gradient(90deg,#257B94,#6146C1) !important;
    box-shadow:0 0 18px rgba(75,225,221,.20) !important;
}

#page18Mission02Network .p18-network[data-completed="8"] .p18-route-energy{
    stroke:#75F4EB !important;
    opacity:.95 !important;
    filter:drop-shadow(0 0 9px rgba(100,244,235,.78)) !important;
}

#page18Mission02Network .p18-network[data-completed="8"]{
    box-shadow:
        inset 0 0 55px rgba(101,78,209,.06),
        0 0 26px rgba(117,75,208,.08);
}

/* PAGE 18 · final readability and learning-path refinement. */
#page18Mission02Network .p18-node{width:212px!important;height:128px!important;padding:13px 14px!important;grid-template-rows:minmax(0,1fr) 22px!important}
#page18Mission02Network .p18-node div strong{font-size:16px!important;line-height:1.12!important}
#page18Mission02Network .p18-node div small{font-size:14.5px!important;line-height:1.2!important}
#page18Mission02Network .p18-node div em{font-size:12.5px!important;line-height:1.22!important}
#page18Mission02Network .p18-zone-title{pointer-events:none!important}
#page18Mission02Network .p18-zone-title strong{font-size:17px!important;letter-spacing:.3px!important}
#page18Mission02Network .p18-zone-title::after{width:72px;height:1px;margin-top:6px;background:linear-gradient(90deg,rgba(185,139,255,.55),transparent);content:"";opacity:.55}
#page18Mission02Network .p18-route-directions{pointer-events:none}
#page18Mission02Network .p18-route-directions text{fill:rgba(143,232,244,.72);font-size:30px;font-weight:900;text-shadow:0 0 8px rgba(174,108,255,.5)}
#page18Mission02Network .p18-nova-panel{padding:18px 20px!important}
#page18Mission02Network .p18-nova-visual{transform:translateY(-10px)!important;margin-bottom:-8px!important}
#page18Mission02Network .p18-core-path{margin-top:18px!important;padding-top:12px!important;gap:6px!important}
#page18Mission02Network .p18-core-path-label{flex-basis:100%;margin-bottom:3px;color:#78e8fa;font-size:10px;font-weight:950;letter-spacing:1.45px;text-align:center}
#page18Mission02Network .p18-core-path span{font-size:12.5px!important}
#page18Mission02Network .p18-core-path small{margin-top:2px;font-size:14px!important;line-height:1.35!important}
#page18Mission02Network .p18-score{min-width:180px!important;padding:8px 12px!important;box-shadow:0 0 11px rgba(153,85,255,.09)!important}
#page18Mission02Network .p18-score strong{font-size:23px!important}
#page18Mission02Network .p18-driving-question{transform:translateY(-6px)}
#page18Mission02Network .p18-driving-question strong{font-size:23px!important;line-height:1.16!important}
#page18Mission02Network .p18-driving-question small{font-size:16.5px!important;line-height:1.35!important}
#page18Mission02Network .p18-network.is-network-complete .p18-route-energy{stroke:#75F4EB!important;opacity:.95!important;filter:drop-shadow(0 0 9px rgba(100,244,235,.70))!important}
#page18Mission02Network .p18-progress.is-network-complete span{opacity:.62}
#page18Mission02Network .p18-progress.is-network-complete strong{color:#e4d6ff!important}
#page18Mission02Network .p18-node.is-completion-pulse{animation:p18CompletionNode .42s ease both!important}
@keyframes p18CompletionNode{0%{transform:scale(1);filter:brightness(1)}48%{transform:scale(1.045);filter:brightness(1.3);box-shadow:0 0 27px rgba(121,245,239,.72),inset 0 0 26px rgba(185,141,255,.20)}100%{transform:scale(1);filter:brightness(1)}}

/* Keep upper stage cards clear of the Zone 02 / Zone 03 labels. */
#page18Mission02Network .p18-zone-method{left:50%!important;transform:translateX(-50%)}
#page18Mission02Network .p18-node-02{top:132px!important}
#page18Mission02Network .p18-node-03{top:180px!important}
#page18Mission02Network .p18-node-04{top:142px!important}

/* Lift NOVA clear of its guide label without changing the panel structure. */
#page18Mission02Network .p18-nova-visual{transform:translateY(-42px)!important;margin-bottom:8px!important}

/* The final route terminal completes the existing Stage 08 path without adding a ninth card. */
#page18Mission02Network .p18-route-extension{fill:none;stroke:#A86DFF;stroke-width:2;stroke-linecap:round;stroke-dasharray:12 16;opacity:.22;filter:drop-shadow(0 0 5px rgba(172,107,255,.42));transition:opacity .25s ease,filter .25s ease}
#page18Mission02Network .p18-route-endpoint{position:absolute;z-index:11;left:26px;top:50%;bottom:auto;display:flex;align-items:center;gap:10px;box-sizing:border-box;min-width:244px;padding:9px 16px;border:1px solid rgba(116,225,238,.34);border-radius:999px;background:rgba(5,22,50,.72);color:rgba(196,239,246,.58);opacity:0;pointer-events:none;transform:translateY(-50%);transition:opacity .28s ease,box-shadow .28s ease,border-color .28s ease,color .28s ease}
#page18Mission02Network .p18-route-endpoint span{display:grid;place-items:center;width:23px;height:23px;border:1px solid currentColor;border-radius:50%;font-size:14px;line-height:1}
#page18Mission02Network .p18-route-endpoint div{display:flex;flex-direction:column;align-items:flex-start}
#page18Mission02Network .p18-route-endpoint strong{font-size:16px;font-weight:950;letter-spacing:.8px;line-height:1.1}
#page18Mission02Network .p18-route-endpoint small{margin-top:2px;font-size:12px;font-weight:800;line-height:1;color:#a8e8e7}
#page18Mission02Network .p18-network[data-completed="8"] .p18-route-extension{opacity:.92;filter:drop-shadow(0 0 8px rgba(100,244,235,.70))}
#page18Mission02Network .p18-network[data-completed="8"] .p18-route-endpoint{border-color:rgba(113,242,233,.82);color:#d9fffb;box-shadow:0 0 19px rgba(92,237,224,.30),inset 0 0 15px rgba(104,145,255,.10);opacity:1;text-shadow:0 0 8px rgba(149,255,246,.88),0 0 17px rgba(83,210,255,.42)}
#page18Mission02Network .p18-network.is-completion-sequence .p18-route-extension,#page18Mission02Network .p18-network.is-completion-sequence .p18-route-endpoint{opacity:0;filter:none}
