*{
    box-sizing:border-box;
}

body{
    position:relative;
    min-height:100vh;
    margin:0;
    overflow-x:hidden;
    font-family:
        Inter,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Arial,
        sans-serif;
    background:
        radial-gradient(
            circle at 18% 8%,
            rgba(37,99,235,.10),
            transparent 28%
        ),
        radial-gradient(
            circle at 82% 16%,
            rgba(14,165,233,.055),
            transparent 24%
        ),
        linear-gradient(
            180deg,
            #081321 0%,
            #07111f 38%,
            #050d18 100%
        );
    color:#e5e7eb;
    font-size:14px;
    line-height:1.5;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
}

body::before{
    content:"";
    position:fixed;
    inset:0;
    z-index:-1;
    pointer-events:none;
    background:
        linear-gradient(
            90deg,
            rgba(255,255,255,.012) 1px,
            transparent 1px
        ),
        linear-gradient(
            rgba(255,255,255,.009) 1px,
            transparent 1px
        );
    background-size:64px 64px;
    mask-image:
        linear-gradient(
            to bottom,
            rgba(0,0,0,.8),
            transparent 75%
        );
}

::selection{
    background:rgba(59,130,246,.55);
    color:#ffffff;
}


/* ==========================================================
   SITE HEADER
   ========================================================== */

.publication-site-header{
    position:sticky;
    top:0;
    z-index:1000;
    width:100%;
    background:
        linear-gradient(
            180deg,
            rgba(10,20,36,.96) 0%,
            rgba(9,19,33,.96) 100%
        );
    border-bottom:1px solid #22324a;
    box-shadow:
        0 8px 24px rgba(0,0,0,.22),
        inset 0 -1px 0 rgba(96,165,250,.04);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
}

.publication-site-header-inner{
    width:calc(100% - 40px);
    max-width:1560px;
    min-height:58px;
    margin:0 auto;
    display:flex;
    align-items:center;
    gap:18px;
}

.publication-site-logo{
    flex:0 0 auto;
    color:#f8fafc;
    font-size:18px;
    font-weight:800;
    letter-spacing:-.02em;
    text-decoration:none;
}

.publication-site-logo:hover{
    color:#93c5fd;
}

.publication-site-nav{
    display:flex;
    align-items:center;
    gap:14px;
    flex:0 1 auto;
}

.publication-site-nav a{
    color:#c4d0df;
    font-size:13px;
    font-weight:600;
    text-decoration:none;
    white-space:nowrap;
    transition:
        color .14s ease,
        background .14s ease;
}

.publication-site-nav a:hover{
    color:#ffffff;
}

.publication-site-search{
    display:flex;
    align-items:center;
    gap:6px;
    margin-left:auto;
}

.publication-site-search input{
    width:210px;
    height:34px;
    padding:0 11px;
    border:1px solid #30445f;
    border-radius:8px;
    outline:none;
    background:#0c1829;
    color:#e5edf6;
    font-size:12.5px;
}

.publication-site-search input::placeholder{
    color:#74859b;
}

.publication-site-search input:focus{
    border-color:#4f83c2;
    box-shadow:0 0 0 3px rgba(59,130,246,.10);
}

.publication-site-search button{
    height:34px;
    padding:0 12px;
    border:1px solid #3567aa;
    border-radius:8px;
    background:
        linear-gradient(
            135deg,
            #2563eb 0%,
            #1d4ed8 100%
        );
    color:#ffffff;
    font-size:12px;
    font-weight:700;
    cursor:pointer;
}

.publication-site-search button:hover{
    background:
        linear-gradient(
            135deg,
            #3b82f6 0%,
            #2563eb 100%
        );
}

.publication-site-actions{
    display:flex;
    align-items:center;
    gap:6px;
}

.publication-site-actions a{
    height:34px;
    display:inline-flex;
    align-items:center;
    padding:0 10px;
    border:1px solid transparent;
    border-radius:8px;
    color:#c8d4e3;
    font-size:12px;
    font-weight:650;
    text-decoration:none;
    white-space:nowrap;
    transition:
        background .14s ease,
        border-color .14s ease,
        color .14s ease;
}

.publication-site-actions a:hover{
    background:#14233a;
    border-color:#2f4561;
    color:#ffffff;
}


/* ==========================================================
   GLOBAL INTERACTION POLISH
   ========================================================== */

button,
.publication-button,
.publication-section-button{
    -webkit-tap-highlight-color:transparent;
}

.publication-button:focus,
.publication-section-button:focus{
    outline:none;
}

.publication-button:focus-visible,
.publication-section-button:focus-visible{
    outline:2px solid #60a5fa;
    outline-offset:2px;
}

.publication-section-button:focus-visible{
    box-shadow:
        0 0 0 4px rgba(59,130,246,.14);
}

.publication-section-button.active:focus-visible{
    box-shadow:
        0 9px 24px rgba(37,99,235,.25),
        inset 3px 0 0 #7db3ff,
        0 0 0 3px rgba(96,165,250,.22);
}

.publication-button.active:focus-visible{
    box-shadow:
        0 7px 18px rgba(37,99,235,.28),
        inset 0 1px 0 rgba(255,255,255,.14),
        0 0 0 3px rgba(96,165,250,.20);
}


/* ==========================================================
   NODE INTERACTION
   ========================================================== */

.publication-node{
    will-change:transform;
}

.publication-node:hover{
    transform:translateY(-3px);
    border-color:#4b6f98;
    box-shadow:
        0 18px 38px rgba(0,0,0,.30),
        0 0 0 1px rgba(59,130,246,.08);
}

.publication-node:active{
    transform:translateY(0);
}

.publication-node:hover .publication-node-header{
    background:
        linear-gradient(
            180deg,
            #152640 0%,
            #112038 100%
        );
}

.publication-node:hover .publication-node-body{
    color:#bfd0e1;
}


/* ==========================================================
   IMAGE POLISH
   ========================================================== */

.publication-cover,
.publication-hero{
    isolation:isolate;
}

.publication-cover-image,
.publication-hero-image{
    user-select:none;
    -webkit-user-drag:none;
}

.publication-hero-image{
    transition:
        filter .3s ease,
        transform .4s ease;
}

.publication-hero:hover .publication-hero-image{
    filter:saturate(1.04) contrast(1.02);
}


/* ==========================================================
   PAGE SCROLLBARS
   ========================================================== */

html{
    scrollbar-color:#304761 #07111f;
    scrollbar-width:thin;
}

body::-webkit-scrollbar{
    width:10px;
}

body::-webkit-scrollbar-track{
    background:#07111f;
}

body::-webkit-scrollbar-thumb{
    background:#304761;
    border:2px solid #07111f;
    border-radius:12px;
}

body::-webkit-scrollbar-thumb:hover{
    background:#456383;
}

.publication-author-avatar{
    width:20px !important;
    height:20px !important;
    min-width:20px !important;
    min-height:20px !important;
    max-width:20px !important;
    max-height:20px !important;
    flex:0 0 20px;
    border-radius:50%;
    object-fit:cover;
    display:block;
}

/* ==========================================================
   ACCESSIBLE REDUCED MOTION
   ========================================================== */

@media(prefers-reduced-motion:reduce){

    *,
    *::before,
    *::after{
        scroll-behavior:auto !important;
        transition-duration:.01ms !important;
        animation-duration:.01ms !important;
        animation-iteration-count:1 !important;
    }

    .publication-node:hover{
        transform:none;
    }

    .publication-section-button:hover{
        transform:none;
    }

    .publication-cover:hover .publication-cover-image{
        transform:none;
    }
}

/* ==========================================================
   PUBLICATION HEADER
   ========================================================== */

.publication-header{
    position:relative;
    width:calc(100% - 52px);
    max-width:1560px;
    min-height:118px;
    margin:18px auto 0;
    padding:22px 24px;
    overflow:hidden;
    background:
        radial-gradient(
            circle at 72% 20%,
            rgba(37,99,235,.12),
            transparent 32%
        ),
        linear-gradient(
            115deg,
            #0a1424 0%,
            #0d1b31 55%,
            #091321 100%
        );
    border:1px solid #26364d;
    border-radius:16px;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:26px;
    box-shadow:
        0 16px 38px rgba(0,0,0,.20),
        inset 0 1px 0 rgba(255,255,255,.025);
}

.publication-header::after{
    content:"";
    position:absolute;
    top:0;
    left:0;
    right:0;
    height:1px;
    pointer-events:none;
    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(96,165,250,.22),
            transparent
        );
}

.publication-header:has(.publication-cover){
    grid-template-columns:126px minmax(0,1fr) auto;
}

.publication-header > div:not(.publication-cover):not(.publication-author){
    min-width:0;
}

.publication-kicker{
    display:flex;
    align-items:center;
    gap:8px;
    margin:0 0 7px;
    color:#7db3ff;
    font-size:10px;
    line-height:1;
    font-weight:800;
    letter-spacing:.15em;
    text-transform:uppercase;
}

.publication-kicker::before{
    content:"";
    width:18px;
    height:2px;
    border-radius:999px;
    background:#3b82f6;
    box-shadow:0 0 12px rgba(59,130,246,.42);
}

.publication-title{
    margin:0;
    max-width:900px;
    color:#f8fafc;
    font-size:32px;
    line-height:1.08;
    font-weight:760;
    letter-spacing:-.03em;
    text-shadow:0 2px 14px rgba(0,0,0,.18);
}

.publication-subtitle{
    max-width:780px;
    margin:6px 0 0;
    color:#d8e2ee;
    font-size:15px;
    line-height:1.42;
    font-weight:520;
}

.publication-description{
    max-width:780px;
    margin:7px 0 0;
    color:#96a7bc;
    font-size:13px;
    line-height:1.55;
}

.publication-author{
    align-self:start;
    justify-self:end;
    margin:2px 0 0;
    padding:8px 12px;
    display:flex;
    align-items:center;
    gap:7px;
    border:1px solid #30445f;
    border-radius:999px;
    background:rgba(15,29,49,.88);
    color:#dce5f1;
    font-size:12px;
    font-weight:650;
    line-height:1;
    white-space:nowrap;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.04),
        0 6px 16px rgba(0,0,0,.14);
}

.publication-author-date{
    color:#8293a9;
    font-size:11px;
    font-weight:500;
}


/* ==========================================================
   COVER
   ========================================================== */

.publication-cover{
    position:relative;
    display:block;
    width:126px;
    height:86px;
    min-width:126px;
    overflow:hidden;
    border:1px solid #344b68;
    border-radius:12px;
    background:#020617;
    box-shadow:
        0 12px 28px rgba(0,0,0,.30),
        0 0 0 1px rgba(255,255,255,.025);
}

.publication-cover-image{
    position:relative;
    z-index:1;
    display:block;
    width:100%;
    height:86px;
    opacity:1;
    visibility:visible;
    object-fit:cover;
    object-position:center;
}

.publication-cover:hover .publication-cover-image{
    transform:none;
}


/* ==========================================================
   RESEARCH AT A GLANCE
   ========================================================== */

.publication-research-glance{
    width:calc(100% - 52px);
    max-width:1560px;
    margin:18px auto 0;
    padding:13px 18px;
    display:flex;
    align-items:center;
    gap:22px;
    border:1px solid rgba(148,163,184,.16);
    border-radius:13px;
    background:
        linear-gradient(
            180deg,
            rgba(15,29,49,.76),
            rgba(10,22,38,.72)
        );
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.035),
        0 10px 30px rgba(0,0,0,.12);
    backdrop-filter:blur(10px);
}

.publication-research-glance-label{
    flex:0 0 auto;
    padding-right:20px;
    border-right:1px solid rgba(148,163,184,.16);
    color:#94a3b8;
    font-size:10px;
    font-weight:800;
    letter-spacing:.13em;
    text-transform:uppercase;
    white-space:nowrap;
}

.publication-research-glance-stats{
    display:flex;
    align-items:center;
    gap:28px;
    min-width:0;
}

.publication-research-stat{
    display:flex;
    align-items:baseline;
    gap:6px;
    white-space:nowrap;
}

.publication-research-stat strong{
    color:#f8fafc;
    font-size:15px;
    font-weight:750;
    line-height:1;
}

.publication-research-stat span{
    color:#94a3b8;
    font-size:11px;
    font-weight:500;
}

.publication-research-stat:not(:last-child)::after{
    content:"";
    width:3px;
    height:3px;
    margin-left:20px;
    border-radius:50%;
    background:#475569;
}

/* ==========================================================
   HERO
   ========================================================== */

.publication-hero{
    position:relative;
    display:block;
    width:calc(100% - 52px);
    max-width:1560px;
    min-height:360px;
    margin:20px auto 18px;
    padding:0;
    overflow:hidden;
    border:1px solid #2b3e58;
    border-radius:16px;
    background:#0b1626;
    box-shadow:
        0 20px 54px rgba(0,0,0,.30),
        0 0 0 1px rgba(59,130,246,.035);
}

.publication-hero::before,
.publication-hero::after{
    display:none;
}

.publication-hero-image{
    position:relative;
    z-index:1;
    display:block;
    width:100%;
    height:360px;
    opacity:1;
    visibility:visible;
    object-fit:cover;
    object-position:center;
    border:0;
    border-radius:15px;
    box-shadow:none;
}


/* ==========================================================
   PUBLICATION WORKSPACE
   ========================================================== */

.publication-layout{
    display:grid;
    grid-template-columns:250px minmax(0,1fr);
    width:calc(100% - 52px);
    max-width:1560px;
    height:clamp(
        720px,
        72vh,
        980px
    );
    min-height:720px;
    margin:0 auto 32px;
    overflow:hidden;
    border:1px solid #26364d;
    border-radius:18px;
    background:#091422;
    box-shadow:
        0 24px 64px rgba(0,0,0,.32),
        0 0 0 1px rgba(255,255,255,.015),
        inset 0 1px 0 rgba(255,255,255,.025);
}

.publication-main{
    position:relative;
    min-width:0;
    min-height:0;
    height:100%;
    overflow:hidden;
    background:#07111f;
    border-left:1px solid rgba(71,85,105,.28);
}

.publication-sidebar{
    height:100%;
}

#publicationCanvasArea,
#publicationTimeline{
    bottom:0;
}


/* ==========================================================
   SIDEBAR
   ========================================================== */

.publication-sidebar{
    position:relative;
    z-index:5;
    padding:22px 14px 26px;
    overflow:auto;
    background:
        linear-gradient(
            180deg,
            #0d1829 0%,
            #091423 100%
        );
    border-right:1px solid #26364d;
}

.publication-sidebar > strong{
    display:block;
    margin:2px 10px 18px;
    color:#8292aa;
    font-size:11px;
    font-weight:800;
    letter-spacing:.11em;
    text-transform:uppercase;
}

.publication-sidebar > div{
    position:relative;
    padding-left:10px;
}

.publication-sidebar > div::before{
    content:"";
    position:absolute;
    top:18px;
    bottom:18px;
    left:17px;
    width:1px;
    background:
        linear-gradient(
            180deg,
            rgba(96,165,250,.55) 0%,
            rgba(71,85,105,.7) 18%,
            rgba(71,85,105,.55) 82%,
            rgba(71,85,105,0) 100%
        );
}

.publication-section-button{
    position:relative;
    z-index:1;
    width:100%;
    min-height:48px;
    margin:0 0 7px;
    padding:10px 12px 10px 34px;
    border:1px solid transparent;
    border-radius:10px;
    background:transparent;
    color:#c5d0df;
    text-align:left;
    font-size:13px;
    font-weight:500;
    line-height:1.35;
    cursor:pointer;
    transition:
        background .14s ease,
        border-color .14s ease,
        color .14s ease,
        box-shadow .14s ease,
        transform .14s ease;
}

.publication-section-button::before{
    content:"";
    position:absolute;
    top:50%;
    left:12px;
    width:9px;
    height:9px;
    border:2px solid #71839a;
    border-radius:50%;
    background:#0c1727;
    transform:translateY(-50%);
    transition:
        background .14s ease,
        border-color .14s ease,
        box-shadow .14s ease;
}

.publication-section-button:hover{
    background:#132239;
    border-color:rgba(71,85,105,.42);
    color:#ffffff;
    transform:translateX(2px);
}

.publication-section-button:hover::before{
    border-color:#60a5fa;
}

.publication-section-button.active{
    background:
        linear-gradient(
            135deg,
            rgba(37,99,235,.96) 0%,
            rgba(29,78,216,.96) 100%
        );
    border-color:#3b82f6;
    color:#ffffff;
    font-weight:650;
    box-shadow:
        0 9px 24px rgba(37,99,235,.25),
        inset 3px 0 0 #7db3ff;
}

.publication-section-button.active::before{
    border-color:#bfdbfe;
    background:#ffffff;
    box-shadow:
        0 0 0 4px rgba(96,165,250,.18),
        0 0 12px rgba(96,165,250,.55);
}

.publication-sidebar{
    scrollbar-width:thin;
    scrollbar-color:#30435c transparent;
}

.publication-sidebar::-webkit-scrollbar{
    width:7px;
}

.publication-sidebar::-webkit-scrollbar-track{
    background:transparent;
}

.publication-sidebar::-webkit-scrollbar-thumb{
    min-height:40px;
    background:#30435c;
    border:2px solid transparent;
    border-radius:10px;
    background-clip:padding-box;
}

.publication-sidebar::-webkit-scrollbar-thumb:hover{
    background:#4a6483;
    border:2px solid transparent;
    background-clip:padding-box;
}


/* ==========================================================
   TOOLBAR + SECTION NAVIGATION SCROLLING
   ========================================================== */

.publication-toolbar,
.publication-sidebar > div{
    scrollbar-width:thin;
    scrollbar-color:#30435c transparent;
}

.publication-toolbar::-webkit-scrollbar,
.publication-sidebar > div::-webkit-scrollbar{
    height:6px;
}

.publication-toolbar::-webkit-scrollbar-track,
.publication-sidebar > div::-webkit-scrollbar-track{
    background:transparent;
}

.publication-toolbar::-webkit-scrollbar-thumb,
.publication-sidebar > div::-webkit-scrollbar-thumb{
    background:#30435c;
    border-radius:10px;
}

.publication-toolbar::-webkit-scrollbar-thumb:hover,
.publication-sidebar > div::-webkit-scrollbar-thumb:hover{
    background:#4a6483;
}


/* ==========================================================
   SUBTLE SIDEBAR EDGE
   ========================================================== */

.publication-sidebar::after{
    content:"";
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    width:1px;
    pointer-events:none;
    background:
        linear-gradient(
            180deg,
            transparent 0%,
            rgba(96,165,250,.18) 20%,
            rgba(71,85,105,.24) 70%,
            transparent 100%
        );
}


/* ==========================================================
   TOOLBAR DEPTH
   ========================================================== */

.publication-toolbar::before{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:-1px;
    height:1px;
    pointer-events:none;
    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(96,165,250,.16) 25%,
            rgba(96,165,250,.08) 75%,
            transparent
        );
}


/* ==========================================================
   MAIN AREA
   ========================================================== */

.publication-main{
    position:relative;
    min-width:0;
    min-height:0;
    height:100%;
    overflow:hidden;
    background:
        linear-gradient(
            180deg,
            #07111f 0%,
            #081321 100%
        );
    border-left:1px solid rgba(71,85,105,.28);
}


/* ==========================================================
   TOOLBAR
   ========================================================== */

.publication-toolbar{
    position:relative;
    z-index:50;
    height:60px;
    display:flex;
    align-items:center;
    gap:8px;
    padding:10px 16px;
    overflow:visible;
    background:
        linear-gradient(
            180deg,
            rgba(16,29,48,.98) 0%,
            rgba(11,22,38,.98) 100%
        );
    border-bottom:1px solid #26364d;
    box-shadow:
        0 6px 20px rgba(0,0,0,.14),
        inset 0 1px 0 rgba(255,255,255,.018);
}

.publication-toolbar::after{
    display:none;
}

.publication-research-search{
    position:relative;
    width:min(320px,34vw);
    margin-left:auto;
    flex:0 1 320px;
}

.publication-research-search input{
    width:100%;
    height:38px;
    padding:0 13px;
    border:1px solid #30445f;
    border-radius:9px;
    outline:none;
    background:#0c1829;
    color:#e5edf6;
    font:inherit;
    font-size:12px;
    transition:
        border-color .14s ease,
        box-shadow .14s ease,
        background .14s ease;
}

.publication-research-search input::placeholder{
    color:#74859b;
}

.publication-research-search input:focus{
    border-color:#4f83c2;
    background:#0e1c30;
    box-shadow:0 0 0 3px rgba(59,130,246,.10);
}

.publication-research-search-results{
    position:absolute;
    top:44px;
    right:0;
    z-index:40;
    width:min(430px,80vw);
    max-height:420px;
    overflow:auto;
    padding:6px;
    border:1px solid #30445f;
    border-radius:11px;
    background:
        linear-gradient(
            180deg,
            #101d30 0%,
            #0b1626 100%
        );
    box-shadow:
        0 20px 48px rgba(0,0,0,.38),
        inset 0 1px 0 rgba(255,255,255,.025);
}

.publication-research-search-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:7px 9px 9px;
    margin-bottom:4px;
    border-bottom:1px solid rgba(148,163,184,.10);
}

.publication-research-search-header span{
    color:#8ea3bb;
    font-size:9px;
    font-weight:800;
    line-height:1.2;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.publication-research-search-header small{
    color:#66798f;
    font-size:8.5px;
    line-height:1.2;
}

.publication-research-search-result{
    width:100%;
    display:block;
    padding:10px 11px;
    border:1px solid transparent;
    border-radius:8px;
    background:transparent;
    color:#dbe5ef;
    text-align:left;
    cursor:pointer;
    transition:
        background .14s ease,
        border-color .14s ease;
}

.publication-research-search-result span{
    display:block;
    margin-bottom:3px;
    color:#6f849c;
    font-size:8.5px;
    font-weight:800;
    line-height:1.2;
    letter-spacing:.10em;
    text-transform:uppercase;
}

.publication-research-search-result strong{
    display:block;
    color:#e6edf6;
    font-size:12px;
    font-weight:650;
    line-height:1.4;
}

.publication-research-search-date{
    display:block;
    margin-top:4px;
    color:#7eaef2;
    font-size:9.5px;
    font-weight:700;
    line-height:1.3;
    letter-spacing:.035em;
}

.publication-research-search-preview{
    margin-top:5px;
    color:#8396ac;
    font-size:10.5px;
    line-height:1.45;
}

.publication-research-search-result:hover{
    border-color:rgba(96,165,250,.24);
    background:rgba(37,99,235,.09);
}

.publication-research-search-empty{
    padding:16px 13px;
    color:#71849a;
    font-size:11.5px;
    line-height:1.5;
    text-align:center;
}

.publication-research-search-results::-webkit-scrollbar{
    width:7px;
}

.publication-research-search-results::-webkit-scrollbar-track{
    background:transparent;
}

.publication-research-search-results::-webkit-scrollbar-thumb{
    background:#304761;
    border-radius:8px;
}

.publication-button{
    position:relative;
    height:38px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    border:1px solid transparent;
    border-radius:9px;
    background:transparent;
    color:#c8d4e3;
    padding:0 15px;
    cursor:pointer;
    font-size:13px;
    font-weight:650;
    letter-spacing:.01em;
    white-space:nowrap;
    transition:
        background .14s ease,
        border-color .14s ease,
        color .14s ease,
        box-shadow .14s ease,
        transform .14s ease;
}

.publication-button:hover{
    background:#172740;
    border-color:#2f4561;
    color:#ffffff;
}

.publication-button:active{
    transform:translateY(1px);
}

.publication-button.active{
    background:
        linear-gradient(
            135deg,
            #2f74f5 0%,
            #1d5fe0 100%
        );
    border-color:#4b8bff;
    color:#ffffff;
    box-shadow:
        0 7px 18px rgba(37,99,235,.28),
        inset 0 1px 0 rgba(255,255,255,.14);
}

.publication-button.active::after{
    content:"";
    position:absolute;
    left:22%;
    right:22%;
    bottom:-10px;
    height:2px;
    border-radius:2px;
    background:#60a5fa;
    box-shadow:0 0 10px rgba(96,165,250,.65);
}

.publication-button.active:hover{
    background:
        linear-gradient(
            135deg,
            #3b82f6 0%,
            #2563eb 100%
        );
}


/* ==========================================================
   CANVAS
   ========================================================== */

#publicationCanvasArea{
    position:absolute;
    top:60px;
    left:0;
    right:0;
    bottom:0;
    overflow:hidden;
    background:
        radial-gradient(
            circle at 1px 1px,
            rgba(100,116,139,.16) 1px,
            transparent 1px
        ),
        radial-gradient(
            circle at 48% 18%,
            rgba(37,99,235,.06) 0%,
            transparent 34%
        ),
        linear-gradient(
            180deg,
            #07111f 0%,
            #081321 100%
        );
    background-size:
        22px 22px,
        auto,
        auto;
    box-shadow:
        inset 0 18px 32px rgba(0,0,0,.10);
}

#publicationCanvas{
    position:absolute;
    transform-origin:0 0;
}

#publicationConnections{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    overflow:visible;
    transform-origin:0 0;
    pointer-events:none;
    opacity:.82;
}


/* ==========================================================
   CANVAS NODES
   ========================================================== */

.publication-node{
    position:absolute;
    width:330px;
    min-height:148px;
    overflow:hidden;
    border:1px solid #324a68;
    border-radius:14px;
    background:
        radial-gradient(
            circle at 90% 0%,
            rgba(59,130,246,.07),
            transparent 34%
        ),
        linear-gradient(
            180deg,
            #101d30 0%,
            #0a1626 100%
        );
    color:#e7edf5;
    box-shadow:
        0 16px 34px rgba(0,0,0,.32),
        0 3px 8px rgba(0,0,0,.16),
        inset 0 1px 0 rgba(255,255,255,.03);
    cursor:grab;
    isolation:isolate;
    transition:
        border-color .16s ease,
        box-shadow .16s ease,
        transform .16s ease;
}

.publication-node::before{
    content:"";
    position:absolute;
    z-index:3;
    top:14px;
    bottom:14px;
    left:0;
    width:2px;
    border-radius:0 2px 2px 0;
    background:
        linear-gradient(
            180deg,
            transparent,
            rgba(96,165,250,.55),
            transparent
        );
    opacity:.45;
    pointer-events:none;
    transition:
        opacity .16s ease,
        box-shadow .16s ease;
}

.publication-node::after{
    content:"";
    position:absolute;
    z-index:3;
    top:0;
    left:18px;
    right:18px;
    height:1px;
    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(148,163,184,.20),
            transparent
        );
    pointer-events:none;
}

.publication-node:hover{
    border-color:#537aa7;
    box-shadow:
        0 20px 42px rgba(0,0,0,.40),
        0 0 0 1px rgba(59,130,246,.10),
        0 0 26px rgba(37,99,235,.07);
}

.publication-node:hover::before{
    opacity:1;
    box-shadow:0 0 12px rgba(96,165,250,.35);
}

.publication-node:active{
    cursor:grabbing;
}

.publication-node-header{
    position:relative;
    min-height:54px;
    padding:12px 14px;
    border-bottom:1px solid rgba(100,116,139,.19);
    background:
        linear-gradient(
            180deg,
            rgba(19,34,58,.96) 0%,
            rgba(15,29,49,.96) 100%
        );
    color:#f3f7fb;
    font-size:14px;
    font-weight:700;
    line-height:1.35;
    letter-spacing:-.005em;
}

.publication-node-header img{
    width:40px !important;
    height:40px !important;
    margin-right:11px !important;
    border:1px solid rgba(148,163,184,.30);
    border-radius:9px !important;
    object-fit:cover;
    background:#081321;
    box-shadow:
        0 4px 12px rgba(0,0,0,.24),
        0 0 0 1px rgba(255,255,255,.02);
}

.publication-node-type{
    display:block;
    width:max-content;
    max-width:calc(100% - 54px);
    margin:0 0 4px;
    padding:2px 6px;
    overflow:hidden;
    border:1px solid rgba(96,165,250,.22);
    border-radius:5px;
    background:rgba(37,99,235,.09);
    color:#83b8ff;
    font-size:9.5px;
    font-weight:800;
    line-height:1.25;
    letter-spacing:.07em;
    text-transform:uppercase;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.publication-node:hover .publication-node-type{
    border-color:rgba(96,165,250,.36);
    background:rgba(37,99,235,.14);
    color:#a8ccff;
}

.publication-node-body{
    max-height:220px;
    padding:13px 15px 15px;
    overflow:auto;
    background:transparent;
    color:#111827 !important;
    font-size:12.5px;
    line-height:1.6;
}

.publication-node-body p{
    margin:0 0 10px;
}

.publication-node-body p:first-child{
    margin-top:0;
}

.publication-node-body p:last-child{
    margin-bottom:0;
}

.publication-node-body h1,
.publication-node-body h2,
.publication-node-body h3,
.publication-node-body h4{
    margin:14px 0 7px;
    color:#111827 !important;
    font-weight:700;
    line-height:1.35;
}

.publication-node-body h1{
    font-size:16px;
}

.publication-node-body h2{
    font-size:15px;
}

.publication-node-body h3,
.publication-node-body h4{
    font-size:13.5px;
}

.publication-node-body h1:first-child,
.publication-node-body h2:first-child,
.publication-node-body h3:first-child,
.publication-node-body h4:first-child{
    margin-top:0;
}

.publication-node-body strong{
    color:#111827 !important;
    font-weight:700;
}

.publication-node-body em{
    color:#374151 !important;
}

.publication-node-body a{
    color:#1d4ed8 !important;
    text-decoration:none;
    border-bottom:1px solid rgba(29,78,216,.28);
    transition:
        color .14s ease,
        border-color .14s ease;
}

.publication-node-body a:hover{
    color:#1e40af !important;
    border-color:#1d4ed8;
}

.publication-node-body ul,
.publication-node-body ol{
    margin:8px 0 11px;
    padding-left:20px;
}

.publication-node-body li{
    margin:4px 0;
    padding-left:2px;
}

.publication-node-body li::marker{
    color:#6fa9f7;
}

.publication-node-body blockquote{
    margin:12px 0;
    padding:9px 11px;
    border-left:3px solid #3b82f6;
    border-radius:0 7px 7px 0;
    background:rgba(37,99,235,.08);
    color:#1f2937 !important;
}

.publication-node-body code{
    padding:2px 5px;
    border:1px solid rgba(100,116,139,.28);
    border-radius:5px;
    background:#07111f;
    color:#c8ddf5;
    font-family:
        "SFMono-Regular",
        Consolas,
        "Liberation Mono",
        monospace;
    font-size:11.5px;
}

.publication-node-body hr{
    height:1px;
    margin:14px 0;
    border:0;
    background:#263a53;
}

.publication-node-body img{
    display:block;
    max-width:100%;
    height:auto;
    margin:10px 0;
    border-radius:8px;
}

.publication-node-body::-webkit-scrollbar{
    width:6px;
}

.publication-node-body::-webkit-scrollbar-track{
    background:transparent;
}

.publication-node-body::-webkit-scrollbar-thumb{
    background:#31455e;
    border-radius:8px;
}

.publication-node-body::-webkit-scrollbar-thumb:hover{
    background:#49627f;
}

.publication-empty{
    position:relative;
    max-width:560px;
    margin:90px auto;
    padding:70px 42px 38px;
    overflow:hidden;
    border:1px solid #2b415d;
    border-radius:16px;
    background:
        radial-gradient(
            circle at 50% 0%,
            rgba(59,130,246,.12),
            transparent 46%
        ),
        linear-gradient(
            180deg,
            rgba(16,29,48,.94) 0%,
            rgba(10,21,36,.94) 100%
        );
    color:#91a3ba;
    font-size:13px;
    line-height:1.65;
    text-align:center;
    box-shadow:
        0 18px 42px rgba(0,0,0,.24),
        inset 0 1px 0 rgba(255,255,255,.025);
}

.publication-empty::before{
    content:"";
    position:absolute;
    top:27px;
    left:50%;
    width:28px;
    height:28px;
    border:2px solid #4c6f99;
    border-radius:50%;
    background:
        radial-gradient(
            circle,
            #60a5fa 0 3px,
            transparent 4px
        );
    box-shadow:
        0 0 0 6px rgba(59,130,246,.08),
        0 0 24px rgba(59,130,246,.18);
    transform:translateX(-50%);
}

.publication-empty::after{
    content:"";
    position:absolute;
    top:41px;
    left:calc(50% - 42px);
    width:84px;
    height:1px;
    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(96,165,250,.32),
            transparent
        );
}

.publication-empty strong{
    display:block;
    margin-bottom:6px;
    color:#dce7f3;
    font-size:15px;
    font-weight:700;
}

.publication-empty a{
    color:#76adff;
    text-decoration:none;
}

.publication-empty a:hover{
    color:#a8ccff;
    text-decoration:underline;
}


/* ==========================================================
   TIMELINE
   ========================================================== */

#publicationTimeline{
    display:none;
    position:absolute;
    top:60px;
    left:0;
    right:0;
    bottom:0;
    overflow:auto;
    padding:48px 48px 90px;
    background:
        radial-gradient(
            circle at 1px 1px,
            rgba(100,116,139,.13) 1px,
            transparent 1px
        ),
        radial-gradient(
            circle at 50% 8%,
            rgba(37,99,235,.07),
            transparent 34%
        ),
        linear-gradient(
            180deg,
            #07111f 0%,
            #081321 100%
        );
    background-size:
        22px 22px,
        auto,
        auto;
}

#publicationTimeline::before{
    content:"";
    position:absolute;
    top:48px;
    bottom:48px;
    left:50%;
    width:2px;
    border-radius:2px;
    background:
        linear-gradient(
            180deg,
            transparent 0%,
            rgba(59,130,246,.55) 8%,
            rgba(71,85,105,.75) 25%,
            rgba(71,85,105,.65) 75%,
            rgba(59,130,246,.38) 92%,
            transparent 100%
        );
    transform:translateX(-50%);
    pointer-events:none;
}

.publication-timeline-item{
    position:relative;
    z-index:2;
    width:calc(50% - 48px);
    max-width:560px;
    min-height:120px;
    margin:0 calc(50% + 48px) 30px 0;
    padding:19px 21px;
    border:1px solid #314763;
    border-left:3px solid #3b82f6;
    border-radius:13px;
    background:
        radial-gradient(
            circle at 92% 8%,
            rgba(59,130,246,.06),
            transparent 34%
        ),
        linear-gradient(
            180deg,
            rgba(16,29,48,.98) 0%,
            rgba(11,22,38,.98) 100%
        );
    color:#dce5ef;
    box-shadow:
        0 14px 32px rgba(0,0,0,.28),
        inset 0 1px 0 rgba(255,255,255,.025);
    transition:
        transform .16s ease,
        border-color .16s ease,
        box-shadow .16s ease;
}

.publication-timeline-item:nth-child(even){
    margin-left:calc(50% + 48px);
    margin-right:0;
    border-left:1px solid #314763;
    border-right:3px solid #3b82f6;
}

.publication-timeline-item::before{
    content:"";
    position:absolute;
    top:25px;
    left:-59px;
    width:13px;
    height:13px;
    border:3px solid #07111f;
    border-radius:50%;
    background:#3b82f6;
    box-shadow:
        0 0 0 1px #5377a3,
        0 0 14px rgba(59,130,246,.34);
    transition:
        transform .18s ease,
        background .18s ease,
        box-shadow .18s ease;
}

.publication-timeline-item:nth-child(even)::before{
    left:auto;
    right:-60px;
}

.publication-timeline-item:hover::before{
    transform:scale(1.18);
    background:#60a5fa;
    box-shadow:
        0 0 0 1px #7fb3ed,
        0 0 0 5px rgba(59,130,246,.10),
        0 0 20px rgba(96,165,250,.48);
}

.publication-timeline-item::after{
    content:"";
    position:absolute;
    top:31px;
    left:-46px;
    width:43px;
    height:1px;
    background:
        linear-gradient(
            90deg,
            #496785,
            #314763
        );
    transition:
        height .18s ease,
        background .18s ease,
        box-shadow .18s ease;
}

.publication-timeline-item:nth-child(even)::after{
    left:auto;
    right:-47px;
    background:
        linear-gradient(
            90deg,
            #314763,
            #496785
        );
}

.publication-timeline-item:hover{
    transform:translateY(-3px);
    border-color:#4f739c;
    border-left-color:#60a5fa;
    box-shadow:
        0 20px 42px rgba(0,0,0,.34),
        0 0 0 1px rgba(59,130,246,.08),
        inset 0 1px 0 rgba(255,255,255,.025);
}

.publication-timeline-item:hover::after{
    height:2px;
    background:
        linear-gradient(
            90deg,
            #60a5fa,
            #3b82f6
        );
    box-shadow:0 0 10px rgba(59,130,246,.28);
}

.publication-timeline-item:nth-child(even):hover::after{
    background:
        linear-gradient(
            90deg,
            #3b82f6,
            #60a5fa
        );
}

.publication-timeline-item strong{
    display:block;
    margin-bottom:9px;
    color:#f4f8fc;
    font-size:17px;
    font-weight:740;
    line-height:1.32;
    letter-spacing:-.015em;
    transition:
        color .16s ease,
        transform .16s ease;
}

.publication-timeline-item:hover > strong{
    color:#ffffff;
    transform:translateX(2px);
}

.publication-timeline-type{
    display:inline-flex;
    align-items:center;
    width:max-content;
    margin:0 0 8px;
    padding:4px 7px;
    border:1px solid rgba(96,165,250,.20);
    border-radius:999px;
    background:rgba(37,99,235,.08);
    color:#82b5fb;
    font-size:8.5px;
    font-weight:800;
    line-height:1;
    letter-spacing:.10em;
    text-transform:uppercase;
}

.publication-timeline-summary{
    max-width:48em;
    padding-left:11px;
    border-left:1px solid rgba(96,165,250,.18);
    color:#adbed1;
    font-size:12.5px;
    line-height:1.68;
    transition:
        border-color .16s ease,
        color .16s ease;
}

.publication-timeline-item:hover
.publication-timeline-summary{
    border-left-color:rgba(96,165,250,.42);
    color:#bfd0e1;
}

.publication-timeline-read-more{
    display:inline-flex;
    align-items:center;
    width:max-content;
    margin:14px 0 0;
    padding:5px 0;
    border:0;
    background:transparent;
    color:#7db3ff;
    font:inherit;
    font-size:10.5px;
    font-weight:750;
    line-height:1.2;
    letter-spacing:.04em;
    cursor:pointer;
    transition:
        color .16s ease,
        transform .16s ease;
}

.publication-timeline-read-more::after{
    content:"→";
    display:inline-block;
    margin-left:6px;
    transition:transform .16s ease;
}

.publication-timeline-read-more:hover{
    color:#a8ccff;
    transform:translateX(2px);
}

.publication-timeline-read-more:hover::after{
    transform:translateX(3px);
}

.publication-timeline-sequence{
    display:flex;
    align-items:center;
    gap:6px;
    margin:0 0 9px;
    color:#6f849c;
    font-size:9px;
    font-weight:800;
    line-height:1;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.publication-timeline-sequence::before{
    content:"";
    width:16px;
    height:1px;
    flex:0 0 16px;
    background:linear-gradient(
        90deg,
        #3b82f6,
        rgba(59,130,246,.12)
    );
}

.publication-timeline-sequence span{
    color:#415a76;
    font-weight:500;
}

.publication-timeline-image-wrap{
    position:relative;
    margin:-19px -21px 16px;
    overflow:hidden;
    border-radius:12px 12px 0 0;
    background:#081321;
}

.publication-timeline-image-wrap::after{
    content:"";
    position:absolute;
    inset:auto 0 0;
    height:42%;
    pointer-events:none;
    background:
        linear-gradient(
            180deg,
            transparent,
            rgba(11,22,38,.34)
        );
}

.publication-timeline-image{
    display:block;
    width:100%;
    height:180px;
    object-fit:cover;
    object-position:center;
    transition:
        transform .35s ease,
        filter .35s ease;
}

.publication-timeline-item:hover
.publication-timeline-image{
    transform:scale(1.025);
    filter:saturate(1.04) contrast(1.02);
}

.publication-timeline-image-meta{
    position:relative;
    z-index:2;
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    padding:8px 12px 9px;
    border-top:1px solid rgba(148,163,184,.12);
    background:rgba(8,19,33,.96);
}

.publication-timeline-image-caption{
    color:#aebed1;
    font-size:10.5px;
    line-height:1.4;
}

.publication-timeline-image-credit{
    flex:0 0 auto;
    color:#687b92;
    font-size:9.5px;
    line-height:1.4;
    text-align:right;
}

.publication-timeline-date{
    display:inline-flex;
    align-items:center;
    gap:6px;
    margin-bottom:10px;
    padding:4px 8px;
    border:1px solid rgba(59,130,246,.30);
    border-radius:6px;
    background:rgba(37,99,235,.10);
    color:#82b7ff;
    font-size:10.5px;
    font-weight:800;
    line-height:1.2;
    letter-spacing:.06em;
    text-transform:uppercase;
}

.publication-timeline-date::before{
    content:"";
    width:5px;
    height:5px;
    flex:0 0 5px;
    border-radius:50%;
    background:#60a5fa;
    box-shadow:0 0 8px rgba(96,165,250,.45);
}

.publication-timeline-date::before{
    content:"";
    width:5px;
    height:5px;
    flex:0 0 5px;
    border-radius:50%;
    background:#60a5fa;
    box-shadow:0 0 9px rgba(96,165,250,.45);
}

.publication-timeline-type{
    margin:0 0 5px;
    color:#73869d;
    font-size:9.5px;
    font-weight:750;
    line-height:1.2;
    letter-spacing:.11em;
    text-transform:uppercase;
}

#publicationTimeline::-webkit-scrollbar{
    width:8px;
}

#publicationTimeline::-webkit-scrollbar-track{
    background:#081321;
}

#publicationTimeline::-webkit-scrollbar-thumb{
    background:#304761;
    border:2px solid #081321;
    border-radius:10px;
}

#publicationTimeline::-webkit-scrollbar-thumb:hover{
    background:#466487;
}


/* ==========================================================
   EXPANDED RESEARCH STORY
   ========================================================== */

.publication-story-modal{
    position:fixed;
    inset:0;
    z-index:9999;
    display:none;
    align-items:center;
    justify-content:center;
    padding:24px;
}

.publication-story-modal.active{
    display:flex;
}

.publication-story-backdrop{
    position:absolute;
    inset:0;
    background:rgba(2,8,18,.76);
    backdrop-filter:blur(8px);
}

.publication-story-dialog{
    position:relative;
    z-index:2;
    width:min(760px,100%);
    max-height:min(82vh,900px);
    overflow:visible;
    border:1px solid #30445f;
    border-radius:16px;
    background:
        linear-gradient(
            180deg,
            #101d30 0%,
            #0b1626 100%
        );
    box-shadow:
        0 28px 80px rgba(0,0,0,.48),
        inset 0 1px 0 rgba(255,255,255,.035);
}

.publication-story-nav{
    position:absolute;
    top:50%;
    z-index:4;
    width:44px;
    height:56px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0;
    border:1px solid rgba(148,163,184,.22);
    border-radius:12px;
    background:rgba(11,22,38,.94);
    color:#9fc5ff;
    font-size:34px;
    line-height:1;
    cursor:pointer;
    transform:translateY(-50%);
    box-shadow:0 10px 28px rgba(0,0,0,.30);
    transition:
        color .16s ease,
        border-color .16s ease,
        background .16s ease,
        transform .16s ease;
}

.publication-story-nav:hover{
    border-color:#5b83b3;
    background:#162943;
    color:#ffffff;
}

.publication-story-nav:disabled{
    opacity:.28;
    cursor:default;
    pointer-events:none;
    border-color:rgba(148,163,184,.12);
    color:#64748b;
    box-shadow:none;
}

.publication-story-nav-previous{
    left:-62px;
}

.publication-story-nav-next{
    right:-62px;
}

.publication-story-close{
    position:absolute;
    top:14px;
    right:14px;
    z-index:3;
    width:34px;
    height:34px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0;
    border:1px solid rgba(148,163,184,.20);
    border-radius:50%;
    background:rgba(15,29,49,.88);
    color:#9fb0c4;
    font-size:20px;
    line-height:1;
    cursor:pointer;
    transition:
        color .16s ease,
        border-color .16s ease,
        background .16s ease;
}

.publication-story-close:hover{
    border-color:#4f739c;
    background:#162943;
    color:#ffffff;
}

.publication-story-content{
    max-height:min(82vh,900px);
    overflow-y:auto;
    padding:34px 38px 38px;
}

.publication-story-image-wrap{
    margin:-34px -38px 28px;
    overflow:hidden;
    border-bottom:1px solid rgba(148,163,184,.14);
    background:#081321;
}

.publication-story-image{
    display:block;
    width:100%;
    max-height:380px;
    object-fit:cover;
    object-position:center;
}

.publication-story-image-meta{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
    padding:9px 14px 10px;
    background:rgba(8,19,33,.98);
}

.publication-story-image-caption{
    color:#aebed1;
    font-size:10.5px;
    line-height:1.45;
}

.publication-story-image-credit{
    flex:0 0 auto;
    color:#687b92;
    font-size:9.5px;
    line-height:1.45;
    text-align:right;
}

.publication-story-type{
    margin:0 44px 8px 0;
    color:#7db3ff;
    font-size:10px;
    font-weight:800;
    line-height:1.2;
    letter-spacing:.13em;
    text-transform:uppercase;
}

.publication-story-title{
    max-width:640px;
    margin:0;
    color:#f8fafc;
    font-size:28px;
    font-weight:760;
    line-height:1.16;
    letter-spacing:-.025em;
}

.publication-story-date{
    margin:12px 0 0;
    color:#8293a9;
    font-size:11px;
    font-weight:650;
    line-height:1.4;
    letter-spacing:.03em;
}

.publication-story-body{
    margin-top:24px;
    color:#b8c7d8;
    font-size:14px;
    line-height:1.75;
}

.publication-story-body p{
    margin:0 0 18px;
}

.publication-story-body p:last-child{
    margin-bottom:0;
}

.publication-story-body h2,
.publication-story-body h3,
.publication-story-body h4{
    margin:28px 0 10px;
    color:#f1f5f9;
    line-height:1.3;
    letter-spacing:-.015em;
}

.publication-story-body h2{
    font-size:20px;
}

.publication-story-body h3{
    font-size:17px;
}

.publication-story-body h4{
    font-size:15px;
}

.publication-story-body strong{
    color:#e6edf6;
    font-weight:750;
}

.publication-story-body em{
    color:#c9d5e3;
}

.publication-story-body blockquote{
    margin:22px 0;
    padding:4px 0 4px 16px;
    border-left:2px solid #3b82f6;
    color:#9eb4cc;
    font-size:13.5px;
    line-height:1.7;
}

.publication-story-related{
    margin-top:28px;
    padding-top:18px;
    border-top:1px solid rgba(148,163,184,.14);
}

.publication-story-related-label{
    margin-bottom:10px;
    color:#71849a;
    font-size:9.5px;
    font-weight:800;
    line-height:1.2;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.publication-story-related-items{
    display:grid;
    gap:7px;
}

.publication-story-related-item{
    width:100%;
    padding:10px 12px;
    border:1px solid rgba(71,85,105,.42);
    border-radius:9px;
    background:rgba(8,19,33,.42);
    color:#dbe5ef;
    text-align:left;
    cursor:pointer;
    transition:
        background .16s ease,
        border-color .16s ease,
        transform .16s ease;
}

.publication-story-related-item span{
    display:block;
    margin-bottom:3px;
    color:#6f849c;
    font-size:8.5px;
    font-weight:800;
    letter-spacing:.10em;
    text-transform:uppercase;
}

.publication-story-related-item strong{
    display:block;
    color:#dce7f3;
    font-size:12px;
    font-weight:650;
    line-height:1.4;
}

.publication-story-related-item:hover{
    transform:translateX(2px);
    border-color:#4f739c;
    background:rgba(37,99,235,.08);
}

.publication-story-actions{
    display:flex;
    justify-content:flex-end;
    margin-top:30px;
    padding-top:18px;
    border-top:1px solid rgba(148,163,184,.14);
}

.publication-story-canvas-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:36px;
    padding:0 14px;
    border:1px solid rgba(96,165,250,.38);
    border-radius:8px;
    background:rgba(37,99,235,.12);
    color:#8fbdff;
    font:inherit;
    font-size:11px;
    font-weight:750;
    letter-spacing:.035em;
    cursor:pointer;
    transition:
        background .16s ease,
        border-color .16s ease,
        color .16s ease,
        transform .16s ease;
}

.publication-story-canvas-button::after{
    content:"→";
    margin-left:7px;
}

.publication-story-canvas-button:hover{
    transform:translateY(-1px);
    border-color:#60a5fa;
    background:rgba(37,99,235,.20);
    color:#ffffff;
}

.publication-story-content::-webkit-scrollbar{
    width:8px;
}

.publication-story-content::-webkit-scrollbar-track{
    background:#0b1626;
}

.publication-story-content::-webkit-scrollbar-thumb{
    background:#304761;
    border:2px solid #0b1626;
    border-radius:10px;
}


/* ==========================================================
   EXPANDED RESEARCH STORY — MOBILE
   ========================================================== */

@media(max-width:800px){

    .publication-story-modal{
        align-items:flex-end;
        padding:10px;
    }

    .publication-story-dialog{
        width:100%;
        max-height:92vh;
        border-radius:15px;
    }

    .publication-story-content{
        max-height:92vh;
        padding:26px 20px 24px;
    }

    .publication-story-image-wrap{
        margin:-26px -20px 22px;
    }

    .publication-story-image{
        max-height:260px;
    }

    .publication-story-image-meta{
        gap:10px;
        padding:8px 11px 9px;
    }

    .publication-story-title{
        padding-right:34px;
        font-size:22px;
        line-height:1.2;
    }

    .publication-story-date{
        margin-top:9px;
    }

    .publication-story-body{
        margin-top:20px;
        font-size:13.5px;
        line-height:1.7;
    }

    .publication-story-actions{
        margin-top:24px;
        padding-top:16px;
    }

    .publication-story-canvas-button{
        width:100%;
        min-height:40px;
    }
}


/* ==========================================================
   PUBLICATION THEMES
   ========================================================== */


/* ==========================================================
   DOCUMENTARY
   ========================================================== */

body.publication-theme-documentary{
    background:
        linear-gradient(
            180deg,
            #07111f 0%,
            #081423 100%
        );
    color:#e5e7eb;
}

body.publication-theme-documentary .publication-header{
    background:
        radial-gradient(
            circle at 72% 20%,
            rgba(37,99,235,.10),
            transparent 32%
        ),
        linear-gradient(
            115deg,
            #0a1424 0%,
            #0d1b31 55%,
            #091321 100%
        );
    border-color:#26364d;
}

body.publication-theme-documentary .publication-layout{
    background:#091422;
    border-color:#26364d;
    box-shadow:
        0 22px 60px rgba(0,0,0,.30),
        inset 0 1px 0 rgba(255,255,255,.02);
}

body.publication-theme-documentary .publication-sidebar{
    background:
        linear-gradient(
            180deg,
            #0d1829 0%,
            #091423 100%
        );
    border-color:#26364d;
}

body.publication-theme-documentary .publication-toolbar{
    background:
        linear-gradient(
            180deg,
            rgba(16,29,48,.98) 0%,
            rgba(11,22,38,.98) 100%
        );
    border-color:#26364d;
}

body.publication-theme-documentary .publication-main{
    background:#07111f;
}

body.publication-theme-documentary #publicationCanvasArea{
    background:
        radial-gradient(
            circle at 1px 1px,
            rgba(100,116,139,.16) 1px,
            transparent 1px
        ),
        radial-gradient(
            circle at 48% 18%,
            rgba(37,99,235,.06) 0%,
            transparent 34%
        ),
        linear-gradient(
            180deg,
            #07111f 0%,
            #081321 100%
        );
    background-size:
        22px 22px,
        auto,
        auto;
}

body.publication-theme-documentary .publication-section-button:hover,
body.publication-theme-documentary .publication-button:hover{
    background:#172740;
    color:#ffffff;
}

body.publication-theme-documentary .publication-section-button.active,
body.publication-theme-documentary .publication-button.active{
    background:
        linear-gradient(
            135deg,
            #2f74f5 0%,
            #1d5fe0 100%
        );
    border-color:#4b8bff;
    color:#ffffff;
}

body.publication-theme-documentary .publication-node{
    background:
        linear-gradient(
            180deg,
            #101d30 0%,
            #0b1626 100%
        );
    border-color:#314763;
}

body.publication-theme-documentary .publication-node-header{
    background:
        linear-gradient(
            180deg,
            #13223a 0%,
            #101d31 100%
        );
    border-color:rgba(100,116,139,.20);
}

body.publication-theme-documentary .publication-node-body{
    color:#aebed1;
}

body.publication-theme-documentary .publication-timeline-item{
    background:
        linear-gradient(
            180deg,
            #101d30 0%,
            #0b1626 100%
        );
    border-color:#314763;
    border-left-color:#3b82f6;
}

body.publication-theme-documentary .publication-timeline-item strong{
    color:#f8fafc;
}

body.publication-theme-documentary .publication-timeline-summary{
    color:#aebed1;
}


/* ==========================================================
   HISTORICAL
   ========================================================== */

body.publication-theme-historical{
    background:#17130f;
    color:#f4e8d7;
}

body.publication-theme-historical .publication-header{
    background:
        linear-gradient(
            115deg,
            #241d17 0%,
            #30251b 55%,
            #211a14 100%
        );
    border-color:#51402f;
}

body.publication-theme-historical .publication-title{
    color:#fff7eb;
}

body.publication-theme-historical .publication-subtitle{
    color:#dfc9ab;
}

body.publication-theme-historical .publication-description,
body.publication-theme-historical .publication-author{
    color:#bda98e;
}

body.publication-theme-historical .publication-layout{
    border-color:#51402f;
    background:#1d1813;
}

body.publication-theme-historical .publication-sidebar{
    background:
        linear-gradient(
            180deg,
            #2b221a 0%,
            #201a15 100%
        );
    border-color:#51402f;
}

body.publication-theme-historical .publication-toolbar{
    background:
        linear-gradient(
            180deg,
            #2b221a 0%,
            #211a14 100%
        );
    border-color:#51402f;
}

body.publication-theme-historical .publication-main{
    background:#17130f;
}

body.publication-theme-historical .publication-sidebar > strong{
    color:#a99376;
}

body.publication-theme-historical .publication-section-button,
body.publication-theme-historical .publication-button{
    color:#e5d3bb;
}

body.publication-theme-historical .publication-section-button::before{
    border-color:#92785b;
    background:#211a14;
}

body.publication-theme-historical .publication-section-button:hover,
body.publication-theme-historical .publication-button:hover{
    background:#3a2e22;
    border-color:#5f4b36;
    color:#fff7eb;
}

body.publication-theme-historical .publication-section-button.active,
body.publication-theme-historical .publication-button.active{
    background:
        linear-gradient(
            135deg,
            #9a6839 0%,
            #784b29 100%
        );
    border-color:#bd8550;
    color:#ffffff;
}

body.publication-theme-historical .publication-node{
    background:
        linear-gradient(
            180deg,
            #30251b 0%,
            #241c16 100%
        );
    border-color:#604a35;
    color:#f4e8d7;
}

body.publication-theme-historical .publication-node-header{
    background:
        linear-gradient(
            180deg,
            #382a1f 0%,
            #2c2119 100%
        );
    border-color:#51402f;
    color:#fff7eb;
}

body.publication-theme-historical .publication-node-body{
    color:#d5c0a4;
}

body.publication-theme-historical #publicationCanvasArea,
body.publication-theme-historical #publicationTimeline{
    background-color:#17130f;
}

body.publication-theme-historical .publication-timeline-item{
    background:
        linear-gradient(
            180deg,
            #30251b 0%,
            #241c16 100%
        );
    border-color:#604a35;
    border-left-color:#c48a51;
    color:#f4e8d7;
}

body.publication-theme-historical .publication-timeline-item strong{
    color:#fff7eb;
}

body.publication-theme-historical .publication-timeline-summary{
    color:#d5c0a4;
}

body.publication-theme-historical .publication-timeline-date{
    background:rgba(154,104,57,.15);
    border-color:rgba(196,138,81,.38);
    color:#e0ac73;
}


/* ==========================================================
   ACADEMIC
   ========================================================== */

body.publication-theme-academic{
    background:#e8edf3;
    color:#1e293b;
}

body.publication-theme-academic .publication-header{
    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #f8fafc 100%
        );
    border-color:#cbd5e1;
}

body.publication-theme-academic .publication-title{
    color:#0f172a;
}

body.publication-theme-academic .publication-subtitle{
    color:#475569;
}

body.publication-theme-academic .publication-description,
body.publication-theme-academic .publication-author{
    color:#64748b;
}

body.publication-theme-academic .publication-layout{
    background:#ffffff;
    border-color:#cbd5e1;
    box-shadow:
        0 18px 50px rgba(15,23,42,.12),
        inset 0 1px 0 rgba(255,255,255,.8);
}

body.publication-theme-academic .publication-sidebar{
    background:
        linear-gradient(
            180deg,
            #f8fafc 0%,
            #f1f5f9 100%
        );
    border-color:#cbd5e1;
}

body.publication-theme-academic .publication-toolbar{
    background:#ffffff;
    border-color:#cbd5e1;
}

body.publication-theme-academic .publication-main{
    background:#e8edf3;
}

body.publication-theme-academic .publication-sidebar > strong{
    color:#64748b;
}

body.publication-theme-academic .publication-sidebar > div::before{
    background:
        linear-gradient(
            180deg,
            rgba(37,99,235,.55) 0%,
            rgba(148,163,184,.65) 18%,
            rgba(148,163,184,.45) 82%,
            rgba(148,163,184,0) 100%
        );
}

body.publication-theme-academic .publication-section-button,
body.publication-theme-academic .publication-button{
    color:#334155;
}

body.publication-theme-academic .publication-section-button::before{
    border-color:#94a3b8;
    background:#f8fafc;
}

body.publication-theme-academic .publication-section-button:hover,
body.publication-theme-academic .publication-button:hover{
    background:#e2e8f0;
    border-color:#cbd5e1;
    color:#0f172a;
}

body.publication-theme-academic .publication-section-button.active,
body.publication-theme-academic .publication-button.active{
    background:
        linear-gradient(
            135deg,
            #2563eb 0%,
            #1d4ed8 100%
        );
    border-color:#2563eb;
    color:#ffffff;
}

body.publication-theme-academic .publication-node{
    background:#ffffff;
    border-color:#cbd5e1;
    color:#1e293b;
    box-shadow:
        0 14px 30px rgba(15,23,42,.12),
        0 2px 6px rgba(15,23,42,.06);
}

body.publication-theme-academic .publication-node-header{
    background:#f8fafc;
    border-color:#e2e8f0;
    color:#0f172a;
}

body.publication-theme-academic .publication-node-body{
    color:#475569;
}

body.publication-theme-academic #publicationCanvasArea,
body.publication-theme-academic #publicationTimeline{
    background-color:#e8edf3;
}

body.publication-theme-academic .publication-timeline-item{
    background:#ffffff;
    border-color:#cbd5e1;
    border-left-color:#2563eb;
    color:#1e293b;
    box-shadow:0 10px 26px rgba(15,23,42,.10);
}

body.publication-theme-academic .publication-timeline-item strong{
    color:#0f172a;
}

body.publication-theme-academic .publication-timeline-summary{
    color:#475569;
}

body.publication-theme-academic .publication-timeline-date{
    background:rgba(37,99,235,.08);
    border-color:rgba(37,99,235,.24);
    color:#2563eb;
}


/* ==========================================================
   MINIMAL
   ========================================================== */

body.publication-theme-minimal{
    background:#09090b;
    color:#f4f4f5;
}

body.publication-theme-minimal .publication-header{
    background:#111113;
    border-color:#2f2f35;
}

body.publication-theme-minimal .publication-layout{
    background:#111113;
    border-color:#2f2f35;
}

body.publication-theme-minimal .publication-sidebar,
body.publication-theme-minimal .publication-toolbar{
    background:#151518;
    border-color:#2f2f35;
}

body.publication-theme-minimal .publication-main{
    background:#09090b;
}

body.publication-theme-minimal .publication-sidebar > strong{
    color:#8f8f99;
}

body.publication-theme-minimal .publication-sidebar > div::before{
    background:
        linear-gradient(
            180deg,
            rgba(161,161,170,.60) 0%,
            rgba(82,82,91,.65) 20%,
            rgba(82,82,91,.40) 82%,
            rgba(82,82,91,0) 100%
        );
}

body.publication-theme-minimal .publication-section-button,
body.publication-theme-minimal .publication-button{
    color:#d4d4d8;
}

body.publication-theme-minimal .publication-section-button::before{
    border-color:#71717a;
    background:#18181b;
}

body.publication-theme-minimal .publication-section-button:hover,
body.publication-theme-minimal .publication-button:hover{
    background:#27272a;
    border-color:#3f3f46;
    color:#ffffff;
}

body.publication-theme-minimal .publication-section-button.active,
body.publication-theme-minimal .publication-button.active{
    background:#3f3f46;
    border-color:#71717a;
    color:#ffffff;
}

body.publication-theme-minimal .publication-node{
    background:
        linear-gradient(
            180deg,
            #1c1c20 0%,
            #151518 100%
        );
    border-color:#3f3f46;
}

body.publication-theme-minimal .publication-node-header{
    background:#202024;
    border-color:#34343a;
    color:#fafafa;
}

body.publication-theme-minimal .publication-node-body{
    color:#c4c4cc;
}

body.publication-theme-minimal #publicationCanvasArea,
body.publication-theme-minimal #publicationTimeline{
    background-color:#09090b;
}

body.publication-theme-minimal .publication-timeline-item{
    background:#18181b;
    border-color:#3f3f46;
    border-left-color:#a1a1aa;
}

body.publication-theme-minimal .publication-timeline-item strong{
    color:#fafafa;
}

body.publication-theme-minimal .publication-timeline-summary{
    color:#d4d4d8;
}

body.publication-theme-minimal .publication-timeline-date{
    background:rgba(161,161,170,.08);
    border-color:#3f3f46;
    color:#d4d4d8;
}


/* ==========================================================
   THEME NODE TYPE BADGES
   ========================================================== */

body.publication-theme-documentary .publication-node-type{
    border-color:rgba(96,165,250,.22);
    background:rgba(37,99,235,.09);
    color:#83b8ff;
}

body.publication-theme-documentary .publication-node:hover .publication-node-type{
    border-color:rgba(96,165,250,.36);
    background:rgba(37,99,235,.14);
    color:#a8ccff;
}


body.publication-theme-historical .publication-node-type{
    border-color:rgba(196,138,81,.32);
    background:rgba(154,104,57,.14);
    color:#dfad76;
}

body.publication-theme-historical .publication-node:hover .publication-node-type{
    border-color:rgba(224,172,115,.48);
    background:rgba(154,104,57,.20);
    color:#f0c99d;
}


body.publication-theme-academic .publication-node-type{
    border-color:rgba(37,99,235,.22);
    background:rgba(37,99,235,.07);
    color:#2563eb;
}

body.publication-theme-academic .publication-node:hover .publication-node-type{
    border-color:rgba(37,99,235,.38);
    background:rgba(37,99,235,.11);
    color:#1d4ed8;
}


body.publication-theme-minimal .publication-node-type{
    border-color:#3f3f46;
    background:rgba(161,161,170,.08);
    color:#d4d4d8;
}

body.publication-theme-minimal .publication-node:hover .publication-node-type{
    border-color:#71717a;
    background:rgba(161,161,170,.13);
    color:#fafafa;
}


/* ==========================================================
   COMPACT DESKTOP / TABLET
   ========================================================== */

@media(max-width:1100px) and (min-width:801px){

    /* ======================================================
       SITE HEADER
       ====================================================== */

    .publication-site-header-inner{
        width:calc(100% - 28px);
        min-height:0;
        padding:9px 0;
        display:grid;
        grid-template-columns:auto minmax(0,1fr) auto;
        gap:8px 14px;
    }

    .publication-site-logo{
        font-size:17px;
    }

    .publication-site-nav{
        min-width:0;
        gap:10px;
        overflow-x:auto;
        scrollbar-width:none;
    }

    .publication-site-nav::-webkit-scrollbar{
        display:none;
    }

    .publication-site-nav a{
        flex:0 0 auto;
        font-size:12px;
    }

    .publication-site-search{
        margin-left:0;
    }

    .publication-site-search input{
        width:150px;
    }

    .publication-site-actions{
        grid-column:1 / -1;
        justify-self:end;
        gap:5px;
    }

    .publication-site-actions a{
        height:30px;
        padding:0 8px;
        font-size:11px;
    }


    /* ======================================================
       PUBLICATION HEADER
       ====================================================== */

    .publication-header{
        width:calc(100% - 36px);
        max-width:none;
        margin:16px auto 0;
        padding:20px 22px;
        grid-template-columns:minmax(0,1fr) auto;
        gap:20px;
    }

    .publication-header:has(.publication-cover){
        grid-template-columns:108px minmax(0,1fr) auto;
    }

    .publication-cover{
        width:108px;
        min-width:108px;
        height:78px;
    }

    .publication-title{
        font-size:28px;
    }

    .publication-subtitle{
        font-size:14px;
    }

    .publication-description{
        max-width:620px;
        font-size:12.5px;
    }

    .publication-author{
        padding:7px 10px;
        font-size:11.5px;
    }

    .publication-author-avatar{
        width:20px;
        height:20px;
        flex:0 0 20px;
        border-radius:50%;
        object-fit:cover;
        display:block;
    }

    /* ======================================================
       HERO
       ====================================================== */

    .publication-hero{
        width:calc(100% - 36px);
        max-width:none;
        margin:16px auto;
        padding:0;
    }

    .publication-hero::before{
        inset:0;
        border-radius:14px;
    }

    .publication-hero::after{
        left:0;
        right:0;
        border-radius:0 0 14px 14px;
    }

    .publication-hero-image{
        width:100%;
        height:280px;
        border-radius:14px;
    }

    /* ======================================================
       WORKSPACE
       ====================================================== */

    .publication-layout{
        grid-template-columns:215px minmax(0,1fr);
        width:calc(100% - 36px);
        max-width:none;
        height:clamp(
            650px,
            70vh,
            820px
        );
        min-height:650px;
        margin:0 18px 26px;
        border-radius:16px;
    }

    .publication-main{
        min-height:0;
        height:100%;
    }


    /* ======================================================
       SIDEBAR
       ====================================================== */

    .publication-sidebar{
        height:100%;
        padding:18px 11px 22px;
    }

    .publication-sidebar > strong{
        margin:2px 8px 15px;
        font-size:10.5px;
    }

    .publication-sidebar > div{
        padding-left:7px;
    }

    .publication-sidebar > div::before{
        left:14px;
    }

    .publication-section-button{
        min-height:44px;
        padding:
            9px
            9px
            9px
            29px;
        font-size:12px;
    }

    .publication-section-button::before{
        left:9px;
        width:8px;
        height:8px;
    }


    /* ======================================================
       TOOLBAR
       ====================================================== */

    .publication-toolbar{
        height:56px;
        padding:9px 12px;
        gap:5px;
    }

    .publication-button{
        height:36px;
        padding:0 11px;
        font-size:12px;
    }


    /* ======================================================
       CANVAS
       ====================================================== */

    #publicationCanvasArea{
        top:56px;
    }

    .publication-node{
        width:305px;
        min-height:140px;
    }

    .publication-node-header{
        min-height:49px;
        padding:11px 12px;
        font-size:13px;
    }

    .publication-node-header img{
        width:34px !important;
        height:34px !important;
        margin-right:8px !important;
    }

    .publication-node-body{
        max-height:200px;
        padding:11px 12px 13px;
        font-size:12px;
    }


    /* ======================================================
       TIMELINE
       ====================================================== */

    #publicationTimeline{
        top:56px;
        padding:38px 30px 70px;
    }

    #publicationTimeline::before{
        top:38px;
        bottom:38px;
    }

    .publication-timeline-item{
        width:calc(50% - 38px);
        margin-left:0;
        margin-right:calc(50% + 38px);
        padding:17px 18px;
    }

    .publication-timeline-item:nth-child(even){
        margin-left:calc(50% + 38px);
        margin-right:0;
    }

    .publication-timeline-item::before{
        left:auto;
        right:-49px;
    }

    .publication-timeline-item:nth-child(even)::before{
        left:-50px;
        right:auto;
    }

    .publication-timeline-item::after{
        left:auto;
        right:-36px;
        width:33px;
    }

    .publication-timeline-item:nth-child(even)::after{
        left:-37px;
        right:auto;
        width:34px;
    }
}


/* ==========================================================
   RESEARCH AT A GLANCE — MOBILE
   ========================================================== */

@media(max-width:800px){

    .publication-research-glance{
        width:calc(100% - 20px);
        margin:12px auto 0;
        padding:12px 14px;
        display:block;
        overflow:hidden;
    }

    .publication-research-glance-label{
        padding:0 0 9px;
        border-right:0;
        border-bottom:1px solid rgba(148,163,184,.14);
    }

    .publication-research-glance-stats{
        margin-top:10px;
        gap:0;
        overflow-x:auto;
        scrollbar-width:none;
    }

    .publication-research-glance-stats::-webkit-scrollbar{
        display:none;
    }

    .publication-research-stat{
        flex:0 0 auto;
        padding-right:18px;
        margin-right:18px;
    }

    .publication-research-stat:not(:last-child){
        border-right:1px solid rgba(148,163,184,.14);
    }

    .publication-research-stat:not(:last-child)::after{
        display:none;
    }

    .publication-research-stat strong{
        font-size:14px;
    }

    .publication-research-stat span{
        font-size:10px;
    }
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media(max-width:800px){

    body{
        min-width:0;
        overflow-x:hidden;
    }


    /* ======================================================
       MOBILE SITE HEADER
       ====================================================== */

    .publication-site-header-inner{
        width:100%;
        min-height:0;
        padding:10px;
        display:grid;
        grid-template-columns:minmax(0,1fr) auto;
        gap:9px 12px;
    }

    .publication-site-logo{
        align-self:center;
        font-size:17px;
    }

    .publication-site-nav{
        grid-column:1 / -1;
        order:3;
        width:100%;
        gap:6px;
        padding-bottom:3px;
        overflow-x:auto;
        scrollbar-width:none;
    }

    .publication-site-nav::-webkit-scrollbar{
        display:none;
    }

    .publication-site-nav a{
        flex:0 0 auto;
        padding:6px 9px;
        border:1px solid #263a53;
        border-radius:7px;
        background:#0d1a2c;
        font-size:11.5px;
    }

    .publication-site-search{
        grid-column:1 / -1;
        order:4;
        width:100%;
        margin-left:0;
    }

    .publication-site-search input{
        width:auto;
        min-width:0;
        flex:1;
        height:36px;
    }

    .publication-site-search button{
        height:36px;
        flex:0 0 auto;
    }

    .publication-site-actions{
        justify-self:end;
        gap:4px;
    }

    .publication-site-actions a{
        height:32px;
        padding:0 8px;
        font-size:11px;
    }

    .publication-site-actions a[href="/user.php"],
    .publication-site-actions a[href="/shared_boards.php"]{
        display:none;
    }


    /* ======================================================
       MOBILE HEADER
       ====================================================== */

    .publication-header{
        width:calc(100% - 20px);
        max-width:none;
        min-height:0;
        margin:10px auto 0;
        padding:14px;
        display:grid;
        grid-template-columns:minmax(0,1fr);
        align-items:start;
        gap:12px;
        border-radius:14px;
    }

    .publication-header:has(.publication-cover){
        grid-template-columns:82px minmax(0,1fr);
    }

    .publication-header > div:not(.publication-cover):not(.publication-author){
        min-width:0;
    }

    .publication-cover{
        width:82px;
        min-width:82px;
        height:68px;
        border-radius:10px;
    }

    .publication-cover-image{
        width:100%;
        height:100%;
        max-height:none;
        object-fit:cover;
    }

    .publication-title{
        font-size:22px;
        line-height:1.12;
        letter-spacing:-.02em;
    }

    .publication-subtitle{
        margin-top:4px;
        font-size:13px;
        line-height:1.4;
    }

    .publication-description{
        max-width:none;
        margin-top:5px;
        font-size:12px;
        line-height:1.5;
    }

    .publication-author{
        grid-column:1 / -1;
        justify-self:start;
        margin:2px 0 0;
        padding:7px 10px;
        border-radius:999px;
        white-space:normal;
        font-size:11px;
    }


    /* ======================================================
       MOBILE HERO
       ====================================================== */

    .publication-hero{
        width:calc(100% - 20px);
        max-width:none;
        margin:12px auto 14px;
        padding:0;
    }

    .publication-hero::before{
        inset:0;
        border-radius:12px;
    }

    .publication-hero::after{
        left:0;
        right:0;
        height:42%;
        border-radius:0 0 12px 12px;
    }

    .publication-hero-image{
        display:block;
        width:100%;
        height:200px;
        max-height:none;
        border-radius:12px;
        object-fit:cover;
        object-position:center;
    }


    /* ======================================================
       MOBILE WORKSPACE
       ====================================================== */

    .publication-layout{
        display:block;
        width:calc(100% - 20px);
        max-width:none;
        min-height:0;
        height:auto;
        margin:0 10px 18px;
        border-radius:14px;
        box-shadow:
            0 18px 40px rgba(0,0,0,.28),
            inset 0 1px 0 rgba(255,255,255,.02);
    }


    /* ======================================================
       MOBILE SECTION NAVIGATION
       ====================================================== */

    .publication-sidebar{
        padding:12px;
        overflow:hidden;
        border-right:0;
        border-bottom:1px solid #26364d;
    }

    .publication-sidebar > strong{
        margin:0 2px 10px;
    }

    .publication-sidebar > div{
        display:flex;
        position:relative;
        gap:7px;
        padding:0 0 5px;
        overflow-x:auto;
        scrollbar-width:thin;
    }

    .publication-sidebar > div::before{
        display:none;
    }

    .publication-section-button{
        width:auto;
        min-width:max-content;
        min-height:38px;
        margin:0;
        padding:8px 12px;
        border-radius:8px;
        font-size:12px;
    }

    .publication-section-button::before{
        display:none;
    }

    .publication-section-button:hover{
        transform:none;
    }


    /* ======================================================
       MOBILE MAIN AREA
       ====================================================== */

    .publication-main{
        height:68vh;
        min-height:500px;
        border-left:0;
    }


    /* ======================================================
       MOBILE TOOLBAR
       ====================================================== */

    .publication-toolbar{
        height:52px;
        min-height:52px;
        gap:5px;
        padding:7px 9px;
        overflow-x:auto;
    }

    .publication-toolbar::after{
        display:none;
    }

    .publication-button{
        height:34px;
        flex:0 0 auto;
        padding:0 11px;
        border-radius:8px;
        font-size:11.5px;
    }


    /* ======================================================
       MOBILE CANVAS
       ====================================================== */

    #publicationCanvasArea{
        top:52px;
    }

    .publication-node{
        width:280px;
        min-height:132px;
        border-radius:11px;
    }

    .publication-node-header{
        min-height:46px;
        padding:10px 11px;
        font-size:12.5px;
    }

    .publication-node-header img{
        width:32px !important;
        height:32px !important;
        margin-right:8px !important;
    }

    .publication-node-body{
        max-height:180px;
        padding:10px 11px 12px;
        font-size:11.5px;
        line-height:1.5;
    }


    /* ======================================================
       MOBILE TIMELINE
       ====================================================== */

    #publicationTimeline{
        top:52px;
        padding:26px 12px 48px 46px;
    }

    #publicationTimeline::before{
        top:28px;
        bottom:30px;
        left:25px;
        width:2px;
        background:
            linear-gradient(
                180deg,
                rgba(96,165,250,.65) 0%,
                rgba(71,85,105,.65) 16%,
                rgba(71,85,105,.55) 84%,
                rgba(96,165,250,.18) 100%
            );
    }

    .publication-timeline-item,
    .publication-timeline-item:nth-child(even){
        width:100%;
        max-width:none;
        min-height:0;
        margin:0 0 18px;
        padding:16px 17px;
        border:1px solid #314763;
        border-left:3px solid #3b82f6;
        border-right:1px solid #314763;
        border-radius:12px;
        background:
            radial-gradient(
                circle at 92% 0%,
                rgba(59,130,246,.07),
                transparent 36%
            ),
            linear-gradient(
                180deg,
                #101d30 0%,
                #0b1626 100%
            );
        box-shadow:
            0 12px 28px rgba(0,0,0,.28),
            inset 0 1px 0 rgba(255,255,255,.025);
    }

    .publication-timeline-item::before,
    .publication-timeline-item:nth-child(even)::before{
        top:23px;
        left:-31px;
        right:auto;
        width:12px;
        height:12px;
        border:3px solid #07111f;
        background:#3b82f6;
        box-shadow:
            0 0 0 1px #5377a3,
            0 0 12px rgba(59,130,246,.38);
    }

    .publication-timeline-item::after,
    .publication-timeline-item:nth-child(even)::after{
        top:29px;
        left:-18px;
        right:auto;
        width:16px;
        height:1px;
        background:
            linear-gradient(
                90deg,
                #496785,
                #314763
            );
    }

    .publication-timeline-item:hover{
        transform:translateY(-2px);
    }

    .publication-timeline-item strong{
        font-size:14px;
        line-height:1.4;
    }

    .publication-timeline-summary{
        font-size:12px;
        line-height:1.55;
    }

    .publication-timeline-sequence{
        margin-bottom:7px;
        font-size:8.5px;
    }

    .publication-timeline-image-wrap{
        margin:-15px -15px 13px;
        border-radius:10px 10px 0 0;
    }

    .publication-timeline-image{
        height:155px;
    }

    .publication-timeline-image-meta{
        gap:8px;
        padding:7px 10px 8px;
    }

    .publication-timeline-image-caption{
        font-size:9.5px;
    }

    .publication-timeline-image-credit{
        font-size:8.5px;
    }

    .publication-timeline-type{
        margin-bottom:4px;
        font-size:9px;
    }

    .publication-timeline-date{
        margin-bottom:7px;
        padding:3px 7px;
        font-size:10px;
    }


    /* ======================================================
       MOBILE EMPTY STATE
       ====================================================== */

    .publication-empty{
        margin:40px 12px;
        padding:24px 18px;
        border-radius:12px;
        font-size:12px;
    }
}