
/* ═══ WordPress Scoping ═══ */
.anyb-root {
    font-family: 'Lato', sans-serif;
    color: #e0ddd0;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
}
.anyb-root *, .anyb-root *::before, .anyb-root *::after {
    box-sizing: border-box;
}

/* ═══ NY Bar Study Guide — Extracted CSS ═══ */

/* ── Style Block 1 ── */

/* ── App chrome ── */
.anyb-root *,.anyb-root *::before,.anyb-root *::after{box-sizing:border-box;margin:0;padding:0}
.anyb-root{font-family:'Lato',sans-serif;background:#0c0e1a;color:#e0ddd0}
.anyb-root{margin:0;min-height:100vh}
.app-tabs{display:flex;background:#12152a;border-bottom:2px solid rgba(201,164,74,.25);padding:0 16px;position:sticky;top:0;z-index:999}
.app-tab{background:transparent;border:none;border-bottom:3px solid transparent;padding:14px 24px;font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:1px;text-transform:uppercase;color:rgba(255,255,255,.5);cursor:pointer;transition:all .2s;white-space:nowrap}
.app-tab:hover{color:rgba(255,255,255,.8)}
.app-tab.active{color:#c9a44a;border-bottom-color:#c9a44a}
.app-page{display:none}
.app-page.active{display:block}
.app-page-nybar{background:#f2f4f8;min-height:calc(100vh - 50px)}
.app-page-wigmorean{background:#0c0e1a;color:#e0ddd0;min-height:calc(100vh - 50px);padding:0}
/* Wigmorean content needs its own styles */

/* ══════════════════════════════════════════════════════════════
   Wigmorean Auth Bar — fixed position, works on all pages
══════════════════════════════════════════════════════════════ */

/* ── The bar itself ──────────────────────────────────────────── */
#wig-auth-bar {
    position: fixed !important;
    top: 14px !important;
    right: 20px !important;
    z-index: 999999 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 0 !important;
    background: rgba(20, 16, 10, .92) !important;
    border: 1px solid rgba(201, 164, 74, .3) !important;
    border-radius: 12px !important;
    padding: 0 !important;
    font-family: 'Source Serif 4', Georgia, serif !important;
    font-size: 13px !important;
    line-height: 1 !important;
    box-shadow:
        0 4px 24px rgba(0, 0, 0, .45),
        inset 0 1px 0 rgba(255, 255, 255, .04) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    transition: opacity .3s ease, transform .3s ease !important;
}

/* ── Separator dot ───────────────────────────────────────────── */
.wig-ab-sep {
    color: rgba(201, 164, 74, .3) !important;
    font-size: 14px !important;
    padding: 0 2px !important;
    user-select: none !important;
    line-height: 1 !important;
}

/* ── Username label ──────────────────────────────────────────── */
.wig-ab-user {
    color: rgba(237, 233, 222, .7) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    padding: 10px 12px 10px 16px !important;
    white-space: nowrap !important;
    max-width: 120px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

/* ── All links in the bar ────────────────────────────────────── */
.wig-ab-link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    padding: 10px 14px !important;
    color: rgba(237, 233, 222, .8) !important;
    text-decoration: none !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
    transition: color .15s ease, background .15s ease !important;
    border-radius: 11px !important;
}
.wig-ab-link:hover {
    color: #ede9de !important;
    background: rgba(201, 164, 74, .12) !important;
}

/* ── SVG icons ───────────────────────────────────────────────── */
.wig-ab-icon {
    width: 15px !important;
    height: 15px !important;
    flex-shrink: 0 !important;
    stroke: currentColor !important;
    opacity: .8 !important;
    transition: opacity .15s !important;
}
.wig-ab-link:hover .wig-ab-icon {
    opacity: 1 !important;
}

/* ── Portal link — subtle gold accent ────────────────────────── */
.wig-ab-portal {
    color: rgba(201, 164, 74, .85) !important;
}
.wig-ab-portal:hover {
    color: #c9a44a !important;
    background: rgba(201, 164, 74, .1) !important;
}

/* ── Login button (logged-out state) — gold pill ─────────────── */
.wig-ab-login-btn {
    padding: 10px 20px !important;
    background: linear-gradient(135deg, #c9a44a 0%, #e8c96a 100%) !important;
    color: #1a0e00 !important;
    font-weight: 700 !important;
    border-radius: 12px !important;
    border: 1px solid rgba(201, 164, 74, .6) !important;
    box-shadow: 0 2px 12px rgba(201, 164, 74, .3) !important;
    transition: transform .12s ease, box-shadow .15s ease, filter .15s ease !important;
}
.wig-ab-login-btn:hover {
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 18px rgba(201, 164, 74, .45) !important;
    filter: brightness(1.08) !important;
    background: linear-gradient(135deg, #c9a44a 0%, #e8c96a 100%) !important;
    color: #1a0e00 !important;
}
.wig-ab-login-btn .wig-ab-icon {
    stroke: #1a0e00 !important;
    opacity: .9 !important;
}

/* ── Logout link — subtle ────────────────────────────────────── */
.wig-ab-out {
    color: rgba(237, 233, 222, .5) !important;
    padding-right: 16px !important;
}
.wig-ab-out:hover {
    color: rgba(237, 233, 222, .85) !important;
}


/* ══ Menu-injected items (for pages that DO have nav menus) ═══ */
.wig-auth-item {
    list-style: none !important;
}
.wig-auth-link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
}


/* ══ RESPONSIVE ══════════════════════════════════════════════ */

/* Mobile: reposition to bottom-right floating button */
@media (max-width: 768px) {
    #wig-auth-bar {
        top: auto !important;
        bottom: 20px !important;
        right: 16px !important;
        left: auto !important;
        width: auto !important;
        max-width: min(260px, 75vw) !important;
        min-width: 0 !important;
        display: inline-flex !important;
        flex-wrap: nowrap !important;
        border-radius: 14px !important;
        box-shadow:
            0 6px 28px rgba(0, 0, 0, .55),
            inset 0 1px 0 rgba(255, 255, 255, .04) !important;
        -webkit-box-sizing: content-box !important;
        box-sizing: content-box !important;
    }
    /* Hide username on mobile to save space */
    .wig-ab-user,
    .wig-ab-sep {
        display: none !important;
    }
    /* Compact link padding on mobile */
    .wig-ab-in .wig-ab-portal {
        padding: 11px 14px !important;
        font-size: 12.5px !important;
        white-space: nowrap !important;
    }
    .wig-ab-in .wig-ab-out {
        padding: 11px 12px !important;
        white-space: nowrap !important;
    }
    /* Ensure icons don't stretch */
    .wig-ab-icon {
        width: 14px !important;
        height: 14px !important;
        flex-shrink: 0 !important;
    }
}

/* Very small screens */
@media (max-width: 400px) {
    #wig-auth-bar {
        right: 10px !important;
        bottom: 14px !important;
    }
}

/* ── Don't clash with WP admin bar ───────────────────────────── */
.admin-bar #wig-auth-bar {
    top: 46px !important;
}
@media (min-width: 783px) {
    .admin-bar #wig-auth-bar {
        top: 46px !important;
    }
}


.wdm-tabs{display:flex;gap:4px;border-bottom:2px solid rgba(201,164,74,.18);margin-bottom:0;flex-wrap:wrap}
.wdm-tab{background:transparent;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;padding:10px 18px 12px;font-family:'IBM Plex Mono',monospace!important;font-size:11px!important;letter-spacing:.8px!important;text-transform:uppercase!important;color:rgba(148,146,126,.7)!important;cursor:pointer;transition:color .15s,border-color .15s;-webkit-tap-highlight-color:transparent}
.wdm-tab:hover{color:rgba(201,164,74,.85)!important}
.wdm-tab.wdm-active{color:var(--gold,#c9a44a)!important;border-bottom-color:var(--gold,#c9a44a)!important}
.wdm-dag-wrap{background:rgba(14,11,7,.65);border:1px solid rgba(201,164,74,.14);border-radius:0 16px 0 0;padding:20px 12px 12px;overflow-x:auto;-webkit-overflow-scrolling:touch}
.wdm-dag-wrap svg{min-width:480px;width:100%;height:auto;display:block}
.wdm-legend{display:flex;flex-wrap:wrap;gap:12px;padding:10px 12px;background:rgba(14,11,7,.4);border:1px solid rgba(255,255,255,.06);border-top:none;font-size:11px!important}
.wdm-leg-item{display:flex;align-items:center;gap:7px;color:rgba(148,146,126,.75)!important;font-family:'IBM Plex Mono',monospace!important;font-size:10px!important;letter-spacing:.4px}
.wdm-leg-gold{display:inline-block;width:28px;height:1.5px;background:rgba(201,164,74,.75);position:relative}
.wdm-leg-gold::after{content:'';position:absolute;right:-1px;top:-3px;border:4px solid transparent;border-left-color:rgba(201,164,74,.75)}
.wdm-leg-red{display:inline-block;width:28px;height:1.5px;background:rgba(139,26,28,.7);background-image:repeating-linear-gradient(90deg,rgba(139,26,28,.7) 0,rgba(139,26,28,.7) 5px,transparent 5px,transparent 8px)}
.wdm-leg-teal{display:inline-block;width:14px;height:14px;border-radius:3px;background:rgba(18,80,78,.6);border:1.5px solid rgba(30,200,180,.55)}
.wdm-explain{font-family:'Source Serif 4',Georgia,serif!important;font-size:14px!important;color:rgba(148,146,126,.8)!important;line-height:1.65!important;padding:16px 16px 0!important;max-width:72ch}



/* ── Style Block 2 ── */

/* ── NY Bar Course Shell ── */
/* ── NY Bar Course Shell v2.3 ── */
.anyb-root *,.anyb-root *::before,.anyb-root *::after{box-sizing:border-box;margin:0;padding:0}
/* Defeat Astra Pro / Elementor global heading overrides inside our component */
#nybc1a2b h1,#nybc1a2b h2,#nybc1a2b h3,#nybc1a2b h4,#nybc1a2b p{all:revert;box-sizing:border-box}
#nybc1a2b h1,#nybc1a2b h2,#nybc1a2b h3,#nybc1a2b h4{line-height:1.2;margin:0}
#nybc1a2b p{margin:0}

.nyb-topbar{background:linear-gradient(135deg,#12152a 0%,#1e2560 100%);color:#fff;padding:18px 24px;border-radius:12px 12px 0 0;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}
.nyb-topbar h2{font-family:'Playfair Display',serif!important;font-size:clamp(14px,2vw,20px)!important;font-weight:900!important;color:#fff!important;margin:0!important;line-height:1.2!important}
.nyb-topbar-sub{font-size:10px!important;color:#fff!important;opacity:.65!important;margin:3px 0 0!important;font-family:'DM Mono',monospace!important;letter-spacing:1px;text-transform:uppercase}
.nyb-badge{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);border-radius:20px;padding:5px 14px;font-family:'DM Mono',monospace;font-size:10px;white-space:nowrap;flex-shrink:0}

.nyb-prog{background:#0e1020;padding:7px 20px;display:flex;align-items:center;gap:12px}
.nyb-pbar-wrap{flex:1;height:5px;background:rgba(255,255,255,.12);border-radius:3px;overflow:hidden}
.nyb-pbar{height:100%;background:linear-gradient(90deg,#4dd0e1,#a5d6a7);border-radius:3px;transition:width .4s;width:5.3%}
.nyb-ptext{font-size:10px;font-family:'DM Mono',monospace;color:rgba(255,255,255,.5);white-space:nowrap;min-width:44px;text-align:right}

/* ── Layout ── */
.nyb-layout{display:flex;border:1px solid #dde0ea;border-top:none;border-radius:0 0 12px 12px;overflow:visible;min-height:540px;position:relative}

/* ── Sidebar (slides horizontally) ── */
.nyb-nav{width:236px;flex-shrink:0;background:#181b2f;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#333 transparent;transition:width .28s cubic-bezier(.4,0,.2,1),min-width .28s cubic-bezier(.4,0,.2,1);min-width:236px}
.nyb-nav::-webkit-scrollbar{width:4px}
.nyb-nav::-webkit-scrollbar-thumb{background:#444;border-radius:2px}
/* Collapsed state */
.nyb-nav-collapsed .nyb-nav{width:0!important;min-width:0!important;overflow:hidden;border-right:none}
.nyb-nav-collapsed .nyb-nav *{opacity:0;transition:opacity .12s ease}

/* ── Sidebar toggle button ── */
.nyb-sidebar-toggle{
    display:flex;align-items:center;gap:5px;
    position:sticky;top:0;left:0;z-index:12;
    background:rgba(24,27,47,.88);border:1px solid rgba(255,255,255,.13);
    color:rgba(255,255,255,.72);border-radius:0 0 8px 0;padding:7px 14px;
    font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.6px;text-transform:uppercase;
    cursor:pointer;transition:background .15s,color .15s,border-color .15s;
    white-space:nowrap;-webkit-tap-highlight-color:transparent;
    backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
    margin:0 0 0 0
}
.nyb-sidebar-toggle:hover{background:rgba(30,37,96,.95);color:#fff;border-color:rgba(255,255,255,.3)}
.nyb-sidebar-toggle svg{flex-shrink:0;transition:transform .22s ease}
/* When collapsed, flip arrow to point right (= "open") */
.nyb-nav-collapsed .nyb-sidebar-toggle svg{transform:rotate(180deg)}

/* ── Subject buttons ── */
.nyb-btn{display:flex;align-items:flex-start;gap:9px;padding:11px 14px;cursor:pointer;border:none;width:100%;background:transparent;color:rgba(255,255,255,.62);font-family:'Lato',sans-serif;font-size:12.5px;font-weight:600;text-align:left;border-left:3px solid transparent;transition:background .15s,color .15s,border-color .15s;line-height:1.25;-webkit-tap-highlight-color:transparent}
.nyb-btn:hover,.nyb-btn:focus{background:rgba(255,255,255,.08);color:#fff;outline:none}
.nyb-btn.nyb-active{background:rgba(255,255,255,.12);color:#fff;border-left-color:var(--nc)}
.nyb-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:4px;background:var(--nc,#888)}
.nyb-lbl{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}
.nyb-tag{font-size:9px;font-family:'DM Mono',monospace;letter-spacing:.5px;opacity:.42;text-transform:uppercase}
.nyb-num{font-size:9px;font-family:'DM Mono',monospace;opacity:.22;flex-shrink:0;margin-top:3px}

/* ── Group accordion (sideways chevron) ── */
.nyb-group{border-bottom:1px solid rgba(255,255,255,.06)}
.nyb-group:last-child{border-bottom:none}
.nyb-grp-hdr{display:flex;align-items:center;gap:7px;width:100%;padding:9px 14px 9px 12px;background:rgba(0,0,0,.25);border:none;cursor:pointer;color:rgba(255,255,255,.55);font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.8px;text-transform:uppercase;border-left:3px solid transparent;transition:background .15s,color .15s;-webkit-tap-highlight-color:transparent}
.nyb-grp-hdr:hover{background:rgba(255,255,255,.06);color:rgba(255,255,255,.85)}
.nyb-grp-open>.nyb-grp-hdr{color:rgba(255,255,255,.9);border-left-color:var(--ga,#888);background:rgba(255,255,255,.05)}
.nyb-grp-icon{font-size:13px;flex-shrink:0;line-height:1}
.nyb-grp-lbl{flex:1;text-align:left}
.nyb-grp-cnt{font-size:9px;background:rgba(255,255,255,.1);border-radius:9px;padding:1px 6px;opacity:.7}
.nyb-grp-chev{flex-shrink:0;transition:transform .22s ease;opacity:.5;transform:rotate(-90deg)}
.nyb-grp-open>.nyb-grp-hdr .nyb-grp-chev{transform:rotate(0deg);opacity:.9}
.nyb-grp-body{overflow:hidden;max-height:0;transition:max-height .28s ease}
.nyb-grp-open>.nyb-grp-body{max-height:600px}

/* ── Content area ── */
.nyb-content{flex:1;min-width:0;overflow-y:auto;overflow-x:hidden;background:#f2f4f8;position:relative}
.nyb-panel{display:none}
.nyb-panel.nyb-active{display:block}

/* DAG internals */
.nyb-panel .dag-page{border-radius:0;background:transparent;padding:0}
.nyb-panel .dag-page header{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:6px;padding:14px 18px 10px;margin-bottom:10px;border-bottom:2px solid #dde0ea}
.nyb-panel .dag-page header h1{font-family:'Playfair Display',serif!important;font-size:clamp(14px,2vw,19px)!important;font-weight:900!important;color:#1a1d2e!important;line-height:1.2!important}
.nyb-panel .dag-page header h1 span{background:linear-gradient(130deg,#37474f 0%,#1b5e20 40%,#1a237e 100%)!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;background-clip:text!important;color:transparent!important}
.nyb-panel .dag-page header p{color:#888;font-size:9.5px;font-family:'DM Mono',monospace;letter-spacing:1px;text-transform:uppercase;line-height:1.4}

/* ── DAG scroll fix ── */
.dag-wrap{width:100%;overflow-x:auto!important;overflow-y:hidden;-webkit-overflow-scrolling:touch;cursor:grab;padding-bottom:6px}
.dag-wrap:active{cursor:grabbing}
.dag-wrap svg{display:block;min-width:920px!important;max-width:none!important;height:auto}
.node-group{cursor:pointer;-webkit-tap-highlight-color:transparent}
.node-group:hover rect:first-of-type{filter:brightness(.91) drop-shadow(0 3px 14px rgba(0,0,0,.2))}
.dag-hint{text-align:center;font-size:10px;color:#aaa;font-family:'DM Mono',monospace;letter-spacing:1px;padding:8px 0 14px}

/* Tooltip — max z-index, floats above all SureDash chrome */
[id^="tt-"]{position:fixed!important;background:#fff;border:1.5px solid #c5c9de;border-radius:12px;padding:13px 16px;max-width:min(380px,90vw);font-size:12.5px;line-height:1.75;color:#1a1d2e;pointer-events:none;opacity:0;transition:opacity .15s;z-index:2147483640!important;box-shadow:0 8px 32px rgba(0,0,0,.15)}
[id^="tt-"] strong{display:block;font-family:'Playfair Display',serif;font-size:15px;margin-bottom:3px;color:#111}
[id^="tt-"] .ttag{display:inline-block;background:#eef0f8;border-radius:4px;padding:2px 8px;font-family:'DM Mono',monospace;font-size:10px;margin-bottom:6px;color:#5560a0;font-weight:500}

.nyb-missing{padding:48px 24px;text-align:center;color:#999;font-family:'DM Mono',monospace;font-size:12px;line-height:2;background:#f8f8f8}
.nyb-missing code{background:#eee;padding:3px 8px;border-radius:4px;font-size:11px}

/* ── Responsive ── */
@media(max-width:700px){
    .nyb-layout{overflow:hidden}
    /* Sidebar: slide-over panel from left on mobile */
    .nyb-nav{position:absolute;top:0;left:0;bottom:0;width:260px;min-width:260px;z-index:20;box-shadow:4px 0 24px rgba(0,0,0,.35)}
    .nyb-nav-collapsed .nyb-nav{width:0!important;min-width:0!important;box-shadow:none}
    .nyb-content{width:100%}
    .nyb-sidebar-toggle{border-radius:0 0 8px 0;padding:6px 10px;font-size:9px}
    .nyb-topbar{border-radius:8px 8px 0 0;padding:14px 16px}
}

/* ── Mnemonics panel ── */
.nybm-page{padding:18px 22px 32px;max-height:80vh;overflow-y:auto}
.nybm-hdr{margin-bottom:18px;border-bottom:2px solid #dde0ea;padding-bottom:12px}
.nybm-hdr h2{font-family:'Playfair Display',serif!important;font-size:clamp(15px,2vw,20px)!important;font-weight:900!important;color:#1a1d2e!important;margin:0 0 4px}
.nybm-hdr p{color:#888;font-size:10px;font-family:'DM Mono',monospace;letter-spacing:.8px;text-transform:uppercase;margin:0}
.nybm-subject{margin-bottom:20px}
.nybm-subject h3{font-family:'DM Mono',monospace;font-size:10.5px;letter-spacing:1.5px;text-transform:uppercase;color:#6a6d8a;margin:0 0 8px;padding:6px 0;border-bottom:1px solid #eaedf5}
.nybm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}
.nybm-card{background:#f5f4f8;border:1px solid #dde0ea;border-radius:8px;padding:10px 12px;cursor:pointer;transition:all .18s ease;position:relative}
.nybm-card:hover{background:#eae7f3;border-color:#9a8ec0;box-shadow:0 2px 12px rgba(100,80,160,.12);transform:translateY(-1px)}
.nybm-hook{font-family:'DM Mono',monospace;font-size:10.5px;font-weight:700;color:#2d1b69;line-height:1.4;letter-spacing:.3px}
.nybm-label{font-family:'Lato',sans-serif;font-size:9.5px;color:#888;margin-top:4px;letter-spacing:.2px}

/* Tooltip overlay */
.nybm-tooltip{position:fixed;z-index:9999;background:#1a1530;color:#edebe0;border-radius:10px;padding:16px 18px;box-shadow:0 8px 40px rgba(0,0,0,.55);max-width:420px;min-width:260px;pointer-events:none;opacity:0;transition:opacity .18s ease;font-family:'Source Serif 4','Georgia',serif;line-height:1.5}
.nybm-tooltip.nybm-show{opacity:1;pointer-events:auto}
.nybm-tip-title{font-size:13px;font-weight:700;color:rgba(201,164,74,.95);margin-bottom:4px;font-family:'Playfair Display',serif}
.nybm-tip-cue{font-size:11px;color:rgba(237,233,222,.55);font-style:italic;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.08)}
.nybm-tip-items{display:flex;flex-direction:column;gap:4px}
.nybm-tip-row{display:flex;gap:8px;align-items:baseline;font-size:11.5px}
.nybm-ltr{flex-shrink:0;min-width:32px;font-family:'IBM Plex Mono',monospace;font-weight:700;font-size:11px;color:rgba(201,164,74,.85);letter-spacing:.5px;text-align:right}
.nybm-def{color:rgba(237,233,222,.72);font-size:11px;line-height:1.45}
.nybm-tip-def{color:rgba(237,233,222,.78);font-size:11.5px;line-height:1.6;margin-top:2px}
@media(max-width:700px){
    .nybm-grid{grid-template-columns:1fr}
    .nybm-tooltip{max-width:calc(100vw - 32px);left:16px!important;right:16px!important}
    .nybm-page{padding:12px 14px 24px}
}

/* ── Flashcards panel ── */
.nybfc-wrap{padding:18px 22px 32px;max-height:80vh;overflow-y:auto;font-family:'Lato',sans-serif}
.nybfc-sgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin-top:14px}
.nybfc-sbtn{display:flex;flex-direction:column;gap:4px;padding:14px 16px;background:#f5f4f8;border:1px solid #dde0ea;border-left:4px solid var(--sc,#888);border-radius:8px;cursor:pointer;text-align:left;transition:all .18s;font-family:'Lato',sans-serif}
.nybfc-sbtn:hover{background:#eae7f3;border-color:#aaa;box-shadow:0 2px 12px rgba(0,0,0,.08);transform:translateY(-2px)}
.nybfc-sname{font-size:13px;font-weight:700;color:#1a1d2e;line-height:1.3}
.nybfc-scnt{font-size:9.5px;font-family:'DM Mono',monospace;color:#888;letter-spacing:.5px}
.nybfc-sbar{display:block;height:3px;background:rgba(0,0,0,.08);border-radius:2px;margin-top:6px;overflow:hidden}
.nybfc-sbar-fill{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--sc,#888),#81c784);border-radius:2px;transition:width .4s}

.nybfc-study{padding:0}
.nybfc-toolbar{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid #dde0ea;flex-wrap:wrap;background:#f8f8fc}
.nybfc-back{background:none;border:1px solid #c5c9de;border-radius:6px;padding:5px 12px;cursor:pointer;font-family:'Lato',sans-serif;font-size:12px;color:#444;transition:background .15s}
.nybfc-back:hover{background:#e8e6f0}
.nybfc-subj-title{font-family:'Playfair Display',serif;font-size:16px;font-weight:700;color:#1a1d2e;flex:1;min-width:0;text-align:center}
.nybfc-mastery{font-family:'DM Mono',monospace;font-size:10px;color:#6a6;letter-spacing:.5px;white-space:nowrap}
.nybfc-tools{display:flex;gap:5px}
.nybfc-tool{background:rgba(0,0,0,.05);border:1px solid #c5c9de;border-radius:6px;padding:4px 10px;cursor:pointer;font-size:11px;font-family:'DM Mono',monospace;transition:background .15s}
.nybfc-tool:hover{background:rgba(0,0,0,.1)}

.nybfc-progress{height:3px;background:rgba(0,0,0,.06);overflow:hidden}
.nybfc-pbar{height:100%;width:0;background:linear-gradient(90deg,#4dd0e1,#a5d6a7);transition:width .35s}
.nybfc-counter{text-align:center;font-family:'DM Mono',monospace;font-size:10px;color:#999;padding:10px 0 4px;letter-spacing:.5px}

.nybfc-card-area{display:flex;justify-content:center;padding:8px 20px 16px}
.nybfc-card{width:100%;max-width:620px;min-height:260px;background:linear-gradient(145deg,#fafafa,#f0eef5);border:1.5px solid #dde0ea;border-radius:14px;padding:28px 24px;cursor:pointer;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;position:relative;transition:all .3s;box-shadow:0 2px 16px rgba(0,0,0,.06)}
.nybfc-card:hover{box-shadow:0 4px 24px rgba(0,0,0,.1)}
.nybfc-card.nybfc-flipped{background:linear-gradient(145deg,#eef6f0,#e8f0ea);border-color:#8bc48e}
.nybfc-side-label{position:absolute;top:12px;left:16px;font-family:'DM Mono',monospace;font-size:9px;letter-spacing:2.5px;text-transform:uppercase;color:#aaa}
.nybfc-flipped .nybfc-side-label{color:#5a8a5e}
.nybfc-known-badge{position:absolute;top:12px;right:16px;font-family:'DM Mono',monospace;font-size:9px;color:#4caf50;letter-spacing:.5px}
.nybfc-card-text{font-size:14px;line-height:1.75;color:#1a1d2e;max-width:560px;padding:16px 0}
.nybfc-flipped .nybfc-card-text{font-size:13px;color:#2a3e2e}
.nybfc-flip-hint{position:absolute;bottom:12px;font-family:'DM Mono',monospace;font-size:9px;color:#bbb;letter-spacing:.5px}

.nybfc-nav{display:flex;gap:8px;justify-content:center;padding:4px 16px 10px;flex-wrap:wrap}
.nybfc-navbtn{background:none;border:1px solid #dde0ea;border-radius:8px;padding:7px 16px;cursor:pointer;font-family:'Lato',sans-serif;font-size:12px;color:#555;transition:all .15s}
.nybfc-navbtn:hover:not(:disabled){background:#eee;color:#222}
.nybfc-navbtn:disabled{opacity:.35;cursor:default}
.nybfc-miss{border-color:#e9456066;color:#c0392b;background:rgba(233,69,96,.04)}
.nybfc-miss:hover:not(:disabled){background:rgba(233,69,96,.12)!important;color:#c0392b!important}
.nybfc-got{border-color:#4caf5066;color:#27ae60;background:rgba(76,175,80,.04)}
.nybfc-got:hover:not(:disabled){background:rgba(76,175,80,.12)!important;color:#27ae60!important}
.nybfc-keys{text-align:center;font-family:'DM Mono',monospace;font-size:9px;color:#ccc;padding:2px 0 14px;letter-spacing:.5px}

.nybfc-done{display:none;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:#666;font-family:'Lato',sans-serif}

@media(max-width:700px){
    .nybfc-sgrid{grid-template-columns:1fr 1fr}
    .nybfc-card{min-height:200px;padding:20px 16px}
    .nybfc-card-text{font-size:13px}
    .nybfc-wrap{padding:12px 14px 24px}
    .nybfc-toolbar{gap:6px}
    .nybfc-subj-title{font-size:13px}
}
@media(max-width:420px){
    .nybfc-sgrid{grid-template-columns:1fr}
}

/* ── MEE Sample Questions panel ─────────────────────────────────────────── */
.nybmee-wrap{padding:18px 22px 36px;font-family:'Lato',sans-serif}

/* Subject filter pill bar */
.nybmee-filters{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 20px;padding-bottom:14px;border-bottom:1px solid #dde0ea}
.nybmee-filter{background:#f0eef5;border:1px solid #c5c9de;border-radius:20px;padding:5px 13px;cursor:pointer;font-size:11px;font-family:'DM Mono',monospace;letter-spacing:.3px;color:#555;transition:all .18s;white-space:nowrap;line-height:1.4}
.nybmee-filter:hover{background:#e0daf0;border-color:#9c8ec0;color:#3d2b7a}
.nybmee-filter.nybmee-filter-active{background:#1e2560;border-color:#1e2560;color:#fff;box-shadow:0 2px 10px rgba(30,37,96,.22)}

/* Card grid */
.nybmee-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}

/* Question card */
.nybmee-card{display:flex;flex-direction:column;gap:10px;background:#fff;border:1.5px solid #dde0ea;border-left:4px solid var(--mc,#546e7a);border-radius:10px;padding:14px 16px;cursor:pointer;transition:all .2s;position:relative;overflow:hidden}
.nybmee-card::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,0) 70%,rgba(var(--mc-rgb,84,108,122),.05) 100%);pointer-events:none}
.nybmee-card:hover,.nybmee-card:focus{border-color:var(--mc,#546e7a);box-shadow:0 4px 20px rgba(0,0,0,.1);transform:translateY(-2px);outline:none}
.nybmee-card:focus-visible{box-shadow:0 0 0 3px rgba(30,37,96,.25),0 4px 20px rgba(0,0,0,.1)}

.nybmee-card-header{display:flex;align-items:center;gap:8px;justify-content:space-between}
.nybmee-subj-tag{color:#fff;font-size:9px;font-family:'DM Mono',monospace;letter-spacing:.6px;text-transform:uppercase;border-radius:4px;padding:3px 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}
.nybmee-qnum{font-family:'DM Mono',monospace;font-size:9.5px;color:#aaa;letter-spacing:.4px;white-space:nowrap;flex-shrink:0}

.nybmee-fact-preview{font-size:12.5px;line-height:1.65;color:#3a3d52;flex:1;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}

.nybmee-card-footer{display:flex;align-items:center;justify-content:flex-end;padding-top:6px;border-top:1px solid #f0eef5}
.nybmee-hint{font-size:9.5px;font-family:'DM Mono',monospace;color:#b0a8c8;letter-spacing:.3px}

/* Tooltip — rich scrollable panel */
.nybmee-tooltip{position:fixed;z-index:2147483640;background:#12152a;border:1.5px solid rgba(255,255,255,.15);border-radius:14px;padding:0;overflow:hidden;overflow-y:auto;pointer-events:none;opacity:0;transition:opacity .15s;box-shadow:0 12px 48px rgba(0,0,0,.5);scrollbar-width:thin;scrollbar-color:#4a5080 rgba(255,255,255,.06)}
.nybmee-tooltip.nybmee-show{opacity:1;pointer-events:auto}
.nybmee-tooltip::-webkit-scrollbar{width:6px}
.nybmee-tooltip::-webkit-scrollbar-track{background:rgba(255,255,255,.05);border-radius:3px}
.nybmee-tooltip::-webkit-scrollbar-thumb{background:#4a5080;border-radius:3px}
.nybmee-tooltip::-webkit-scrollbar-thumb:hover{background:#6a70b0}

.nybmee-tip-subj{background:linear-gradient(135deg,#1e2560 0%,#12152a 100%);color:rgba(255,255,255,.9);font-family:'DM Mono',monospace;font-size:10px;letter-spacing:1px;text-transform:uppercase;padding:12px 18px;border-radius:12px 12px 0 0;position:sticky;top:0;z-index:1}
.nybmee-tip-section{font-family:'DM Mono',monospace;font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.4);padding:12px 18px 4px;margin-top:4px}
.nybmee-tip-ans-hdr{color:#81c784;letter-spacing:1.2px}
.nybmee-tip-fact{font-size:12px;line-height:1.75;color:rgba(237,233,222,.85);padding:0 18px 10px;white-space:pre-wrap}
.nybmee-tip-issues{font-size:11.5px;line-height:1.65;color:rgba(237,233,222,.7);padding:0 18px 10px;white-space:pre-wrap;font-style:italic}
.nybmee-tip-answer{font-size:12px;line-height:1.8;color:rgba(200,240,200,.9);padding:0 18px 22px;white-space:pre-wrap;border-top:1px solid rgba(255,255,255,.07);margin-top:4px}

/* Scroll-more fade cue at bottom of tooltip */
.nybmee-tooltip.nybmee-show::after{content:'';position:sticky;bottom:0;display:block;height:28px;background:linear-gradient(to bottom,transparent,rgba(18,21,42,.92));pointer-events:none;margin-top:-28px}

@media(max-width:700px){
    .nybmee-grid{grid-template-columns:1fr}
    .nybmee-wrap{padding:12px 12px 28px}
    .nybmee-filters{gap:5px}
    .nybmee-filter{font-size:10px;padding:4px 10px}
}



/* ── Style Block 3 ── */

/* ── DAG tooltip CSS from individual DAG files ── */

.anyb-root *,.anyb-root *::before,.anyb-root *::after{box-sizing:border-box;margin:0;padding:0}
.dag-page{background:#f2f4f8;color:#1a1d2e;font-family:'Lato',sans-serif;padding:16px 16px 20px;border-radius:8px;max-width:100%}
.dag-page header{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:6px;padding-bottom:10px;margin-bottom:10px;border-bottom:2px solid #dde0ea}
.dag-page header h1{font-family:'Playfair Display',serif;font-size:clamp(15px,2.2vw,21px);font-weight:900;color:#1a1d2e;line-height:1.2}
.dag-page header h1 span{background:linear-gradient(130deg,#37474f 0%,#1b5e20 40%,#1a237e 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.dag-page header p{color:#888;font-size:10px;font-family:'DM Mono',monospace;letter-spacing:1px;text-transform:uppercase;line-height:1.4}
.dag-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;cursor:grab}
.dag-wrap:active{cursor:grabbing}
.dag-wrap svg{min-width:920px;display:block;height:auto;overflow:hidden}
.node-group{cursor:pointer;-webkit-tap-highlight-color:transparent}
.node-group:hover rect:first-of-type{filter:brightness(0.92) drop-shadow(0 3px 14px rgba(0,0,0,0.18))}
#tt-agency{position:fixed;background:#fff;border:1.5px solid #c5c9de;border-radius:12px;padding:13px 16px;max-width:min(380px,90vw);font-size:12.5px;line-height:1.7;color:#1a1d2e;pointer-events:none;opacity:0;transition:opacity 0.15s;z-index:99999;box-shadow:0 8px 32px rgba(0,0,0,0.15)}
#tt-agency strong{display:block;font-family:'Playfair Display',serif;font-size:15px;margin-bottom:3px;color:#111}
#tt-agency .ttag{display:inline-block;background:#eef0f8;border-radius:4px;padding:2px 8px;font-family:'DM Mono',monospace;font-size:10px;margin-bottom:6px;color:#5560a0;font-weight:500}
.dag-hint{text-align:center;font-size:10px;color:#aaa;font-family:'DM Mono',monospace;letter-spacing:1px;padding-top:8px}

.anyb-root *,.anyb-root *::before,.anyb-root *::after{box-sizing:border-box;margin:0;padding:0}
.dag-page{background:#f2f4f8;color:#1a1d2e;font-family:'Lato',sans-serif;padding:16px 16px 20px;border-radius:8px;max-width:100%}
.dag-page header{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:6px;padding-bottom:10px;margin-bottom:10px;border-bottom:2px solid #dde0ea}
.dag-page header h1{font-family:'Playfair Display',serif;font-size:clamp(15px,2.2vw,21px);font-weight:900;color:#1a1d2e;line-height:1.2}
.dag-page header h1 span{background:linear-gradient(130deg,#37474f 0%,#1b5e20 40%,#1a237e 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.dag-page header p{color:#888;font-size:10px;font-family:'DM Mono',monospace;letter-spacing:1px;text-transform:uppercase;line-height:1.4}
.dag-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;cursor:grab}
.dag-wrap:active{cursor:grabbing}
.dag-wrap svg{min-width:920px;display:block;height:auto;overflow:hidden}
.node-group{cursor:pointer;-webkit-tap-highlight-color:transparent}
.node-group:hover rect:first-of-type{filter:brightness(0.92) drop-shadow(0 3px 14px rgba(0,0,0,0.18))}
#tt-businessas{position:fixed;background:#fff;border:1.5px solid #c5c9de;border-radius:12px;padding:13px 16px;max-width:min(380px,90vw);font-size:12.5px;line-height:1.7;color:#1a1d2e;pointer-events:none;opacity:0;transition:opacity 0.15s;z-index:99999;box-shadow:0 8px 32px rgba(0,0,0,0.15)}
#tt-businessas strong{display:block;font-family:'Playfair Display',serif;font-size:15px;margin-bottom:3px;color:#111}
#tt-businessas .ttag{display:inline-block;background:#eef0f8;border-radius:4px;padding:2px 8px;font-family:'DM Mono',monospace;font-size:10px;margin-bottom:6px;color:#5560a0;font-weight:500}
.dag-hint{text-align:center;font-size:10px;color:#aaa;font-family:'DM Mono',monospace;letter-spacing:1px;padding-top:8px}

.anyb-root *,.anyb-root *::before,.anyb-root *::after{box-sizing:border-box;margin:0;padding:0}
.dag-page{background:#f2f4f8;color:#1a1d2e;font-family:'Lato',sans-serif;padding:16px 16px 20px;border-radius:8px;max-width:100%}
.dag-page header{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:6px;padding-bottom:10px;margin-bottom:10px;border-bottom:2px solid #dde0ea}
.dag-page header h1{font-family:'Playfair Display',serif;font-size:clamp(15px,2.2vw,21px);font-weight:900;color:#1a1d2e;line-height:1.2}
.dag-page header h1 span{background:linear-gradient(130deg,#37474f 0%,#1b5e20 40%,#1a237e 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.dag-page header p{color:#888;font-size:10px;font-family:'DM Mono',monospace;letter-spacing:1px;text-transform:uppercase;line-height:1.4}
.dag-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;cursor:grab}
.dag-wrap:active{cursor:grabbing}
.dag-wrap svg{min-width:920px;display:block;height:auto;overflow:hidden}
.node-group{cursor:pointer;-webkit-tap-highlight-color:transparent}
.node-group:hover rect:first-of-type{filter:brightness(0.92) drop-shadow(0 3px 14px rgba(0,0,0,0.18))}
#tt-civilproce{position:fixed;background:#fff;border:1.5px solid #c5c9de;border-radius:12px;padding:13px 16px;max-width:min(380px,90vw);font-size:12.5px;line-height:1.7;color:#1a1d2e;pointer-events:none;opacity:0;transition:opacity 0.15s;z-index:99999;box-shadow:0 8px 32px rgba(0,0,0,0.15)}
#tt-civilproce strong{display:block;font-family:'Playfair Display',serif;font-size:15px;margin-bottom:3px;color:#111}
#tt-civilproce .ttag{display:inline-block;background:#eef0f8;border-radius:4px;padding:2px 8px;font-family:'DM Mono',monospace;font-size:10px;margin-bottom:6px;color:#5560a0;font-weight:500}
.dag-hint{text-align:center;font-size:10px;color:#aaa;font-family:'DM Mono',monospace;letter-spacing:1px;padding-top:8px}

.anyb-root *,.anyb-root *::before,.anyb-root *::after{box-sizing:border-box;margin:0;padding:0}
.dag-page{background:#f2f4f8;color:#1a1d2e;font-family:'Lato',sans-serif;padding:16px 16px 20px;border-radius:8px;max-width:100%}
.dag-page header{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:6px;padding-bottom:10px;margin-bottom:10px;border-bottom:2px solid #dde0ea}
.dag-page header h1{font-family:'Playfair Display',serif;font-size:clamp(15px,2.2vw,21px);font-weight:900;color:#1a1d2e;line-height:1.2}
.dag-page header h1 span{background:linear-gradient(130deg,#37474f 0%,#1b5e20 40%,#1a237e 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.dag-page header p{color:#888;font-size:10px;font-family:'DM Mono',monospace;letter-spacing:1px;text-transform:uppercase;line-height:1.4}
.dag-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;cursor:grab}
.dag-wrap:active{cursor:grabbing}
.dag-wrap svg{min-width:920px;display:block;height:auto;overflow:hidden}
.node-group{cursor:pointer;-webkit-tap-highlight-color:transparent}
.node-group:hover rect:first-of-type{filter:brightness(0.92) drop-shadow(0 3px 14px rgba(0,0,0,0.18))}
#tt-conflictof{position:fixed;background:#fff;border:1.5px solid #c5c9de;border-radius:12px;padding:13px 16px;max-width:min(380px,90vw);font-size:12.5px;line-height:1.7;color:#1a1d2e;pointer-events:none;opacity:0;transition:opacity 0.15s;z-index:99999;box-shadow:0 8px 32px rgba(0,0,0,0.15)}
#tt-conflictof strong{display:block;font-family:'Playfair Display',serif;font-size:15px;margin-bottom:3px;color:#111}
#tt-conflictof .ttag{display:inline-block;background:#eef0f8;border-radius:4px;padding:2px 8px;font-family:'DM Mono',monospace;font-size:10px;margin-bottom:6px;color:#5560a0;font-weight:500}
.dag-hint{text-align:center;font-size:10px;color:#aaa;font-family:'DM Mono',monospace;letter-spacing:1px;padding-top:8px}

.anyb-root *,.anyb-root *::before,.anyb-root *::after{box-sizing:border-box;margin:0;padding:0}
.dag-page{background:#f2f4f8;color:#1a1d2e;font-family:'Lato',sans-serif;padding:16px 16px 20px;border-radius:8px;max-width:100%}
.dag-page header{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:6px;padding-bottom:10px;margin-bottom:10px;border-bottom:2px solid #dde0ea}
.dag-page header h1{font-family:'Playfair Display',serif;font-size:clamp(15px,2.2vw,21px);font-weight:900;color:#1a1d2e;line-height:1.2}
.dag-page header h1 span{background:linear-gradient(130deg,#37474f 0%,#1b5e20 40%,#1a237e 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.dag-page header p{color:#888;font-size:10px;font-family:'DM Mono',monospace;letter-spacing:1px;text-transform:uppercase;line-height:1.4}
.dag-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;cursor:grab}
.dag-wrap:active{cursor:grabbing}
.dag-wrap svg{min-width:920px;display:block;height:auto;overflow:hidden}
.node-group{cursor:pointer;-webkit-tap-highlight-color:transparent}
.node-group:hover rect:first-of-type{filter:brightness(0.92) drop-shadow(0 3px 14px rgba(0,0,0,0.18))}
#tt-constituti{position:fixed;background:#fff;border:1.5px solid #c5c9de;border-radius:12px;padding:13px 16px;max-width:min(380px,90vw);font-size:12.5px;line-height:1.7;color:#1a1d2e;pointer-events:none;opacity:0;transition:opacity 0.15s;z-index:99999;box-shadow:0 8px 32px rgba(0,0,0,0.15)}
#tt-constituti strong{display:block;font-family:'Playfair Display',serif;font-size:15px;margin-bottom:3px;color:#111}
#tt-constituti .ttag{display:inline-block;background:#eef0f8;border-radius:4px;padding:2px 8px;font-family:'DM Mono',monospace;font-size:10px;margin-bottom:6px;color:#5560a0;font-weight:500}
.dag-hint{text-align:center;font-size:10px;color:#aaa;font-family:'DM Mono',monospace;letter-spacing:1px;padding-top:8px}

.anyb-root *,.anyb-root *::before,.anyb-root *::after{box-sizing:border-box;margin:0;padding:0}
.dag-page{background:#f2f4f8;color:#1a1d2e;font-family:'Lato',sans-serif;padding:16px 16px 20px;border-radius:8px;max-width:100%}
.dag-page header{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:6px;padding-bottom:10px;margin-bottom:10px;border-bottom:2px solid #dde0ea}
.dag-page header h1{font-family:'Playfair Display',serif;font-size:clamp(15px,2.2vw,21px);font-weight:900;color:#1a1d2e;line-height:1.2}
.dag-page header h1 span{background:linear-gradient(130deg,#37474f 0%,#1b5e20 40%,#1a237e 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.dag-page header p{color:#888;font-size:10px;font-family:'DM Mono',monospace;letter-spacing:1px;text-transform:uppercase;line-height:1.4}
.dag-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;cursor:grab}
.dag-wrap:active{cursor:grabbing}
.dag-wrap svg{min-width:920px;display:block;height:auto;overflow:hidden}
.node-group{cursor:pointer;-webkit-tap-highlight-color:transparent}
.node-group:hover rect:first-of-type{filter:brightness(0.92) drop-shadow(0 3px 14px rgba(0,0,0,0.18))}
#tt-contract{position:fixed;background:#fff;border:1.5px solid #c5c9de;border-radius:12px;padding:13px 16px;max-width:min(380px,90vw);font-size:12.5px;line-height:1.7;color:#1a1d2e;pointer-events:none;opacity:0;transition:opacity 0.15s;z-index:99999;box-shadow:0 8px 32px rgba(0,0,0,0.15)}
#tt-contract strong{display:block;font-family:'Playfair Display',serif;font-size:15px;margin-bottom:3px;color:#111}
#tt-contract .ttag{display:inline-block;background:#eef0f8;border-radius:4px;padding:2px 8px;font-family:'DM Mono',monospace;font-size:10px;margin-bottom:6px;color:#5560a0;font-weight:500}
.dag-hint{text-align:center;font-size:10px;color:#aaa;font-family:'DM Mono',monospace;letter-spacing:1px;padding-top:8px}

.anyb-root *,.anyb-root *::before,.anyb-root *::after{box-sizing:border-box;margin:0;padding:0}
.dag-page{background:#f2f4f8;color:#1a1d2e;font-family:'Lato',sans-serif;padding:16px 16px 20px;border-radius:8px;max-width:100%}
.dag-page header{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:6px;padding-bottom:10px;margin-bottom:10px;border-bottom:2px solid #dde0ea}
.dag-page header h1{font-family:'Playfair Display',serif;font-size:clamp(15px,2.2vw,21px);font-weight:900;color:#1a1d2e;line-height:1.2}
.dag-page header h1 span{background:linear-gradient(130deg,#37474f 0%,#1b5e20 40%,#1a237e 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.dag-page header p{color:#888;font-size:10px;font-family:'DM Mono',monospace;letter-spacing:1px;text-transform:uppercase;line-height:1.4}
.dag-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;cursor:grab}
.dag-wrap:active{cursor:grabbing}
.dag-wrap svg{min-width:920px;display:block;height:auto;overflow:hidden}
.node-group{cursor:pointer;-webkit-tap-highlight-color:transparent}
.node-group:hover rect:first-of-type{filter:brightness(0.92) drop-shadow(0 3px 14px rgba(0,0,0,0.18))}
#tt-criminalla{position:fixed;background:#fff;border:1.5px solid #c5c9de;border-radius:12px;padding:13px 16px;max-width:min(380px,90vw);font-size:12.5px;line-height:1.7;color:#1a1d2e;pointer-events:none;opacity:0;transition:opacity 0.15s;z-index:99999;box-shadow:0 8px 32px rgba(0,0,0,0.15)}
#tt-criminalla strong{display:block;font-family:'Playfair Display',serif;font-size:15px;margin-bottom:3px;color:#111}
#tt-criminalla .ttag{display:inline-block;background:#eef0f8;border-radius:4px;padding:2px 8px;font-family:'DM Mono',monospace;font-size:10px;margin-bottom:6px;color:#5560a0;font-weight:500}
.dag-hint{text-align:center;font-size:10px;color:#aaa;font-family:'DM Mono',monospace;letter-spacing:1px;padding-top:8px}

.anyb-root *,.anyb-root *::before,.anyb-root *::after{box-sizing:border-box;margin:0;padding:0}
.dag-page{background:#f2f4f8;color:#1a1d2e;font-family:'Lato',sans-serif;padding:16px 16px 20px;border-radius:8px;max-width:100%}
.dag-page header{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:6px;padding-bottom:10px;margin-bottom:10px;border-bottom:2px solid #dde0ea}
.dag-page header h1{font-family:'Playfair Display',serif;font-size:clamp(15px,2.2vw,21px);font-weight:900;color:#1a1d2e;line-height:1.2}
.dag-page header h1 span{background:linear-gradient(130deg,#37474f 0%,#1b5e20 40%,#1a237e 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.dag-page header p{color:#888;font-size:10px;font-family:'DM Mono',monospace;letter-spacing:1px;text-transform:uppercase;line-height:1.4}
.dag-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;cursor:grab}
.dag-wrap:active{cursor:grabbing}
.dag-wrap svg{min-width:920px;display:block;height:auto;overflow:hidden}
.node-group{cursor:pointer;-webkit-tap-highlight-color:transparent}
.node-group:hover rect:first-of-type{filter:brightness(0.92) drop-shadow(0 3px 14px rgba(0,0,0,0.18))}
#tt-evidencela{position:fixed;background:#fff;border:1.5px solid #c5c9de;border-radius:12px;padding:13px 16px;max-width:min(380px,90vw);font-size:12.5px;line-height:1.7;color:#1a1d2e;pointer-events:none;opacity:0;transition:opacity 0.15s;z-index:99999;box-shadow:0 8px 32px rgba(0,0,0,0.15)}
#tt-evidencela strong{display:block;font-family:'Playfair Display',serif;font-size:15px;margin-bottom:3px;color:#111}
#tt-evidencela .ttag{display:inline-block;background:#eef0f8;border-radius:4px;padding:2px 8px;font-family:'DM Mono',monospace;font-size:10px;margin-bottom:6px;color:#5560a0;font-weight:500}
.dag-hint{text-align:center;font-size:10px;color:#aaa;font-family:'DM Mono',monospace;letter-spacing:1px;padding-top:8px}

.anyb-root *,.anyb-root *::before,.anyb-root *::after{box-sizing:border-box;margin:0;padding:0}
.dag-page{background:#f2f4f8;color:#1a1d2e;font-family:'Lato',sans-serif;padding:16px 16px 20px;border-radius:8px;max-width:100%}
.dag-page header{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:6px;padding-bottom:10px;margin-bottom:10px;border-bottom:2px solid #dde0ea}
.dag-page header h1{font-family:'Playfair Display',serif;font-size:clamp(15px,2.2vw,21px);font-weight:900;color:#1a1d2e;line-height:1.2}
.dag-page header h1 span{background:linear-gradient(130deg,#37474f 0%,#1b5e20 40%,#1a237e 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.dag-page header p{color:#888;font-size:10px;font-family:'DM Mono',monospace;letter-spacing:1px;text-transform:uppercase;line-height:1.4}
.dag-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;cursor:grab}
.dag-wrap:active{cursor:grabbing}
.dag-wrap svg{min-width:920px;display:block;height:auto;overflow:hidden}
.node-group{cursor:pointer;-webkit-tap-highlight-color:transparent}
.node-group:hover rect:first-of-type{filter:brightness(0.92) drop-shadow(0 3px 14px rgba(0,0,0,0.18))}
#tt-familylaw{position:fixed;background:#fff;border:1.5px solid #c5c9de;border-radius:12px;padding:13px 16px;max-width:min(380px,90vw);font-size:12.5px;line-height:1.7;color:#1a1d2e;pointer-events:none;opacity:0;transition:opacity 0.15s;z-index:99999;box-shadow:0 8px 32px rgba(0,0,0,0.15)}
#tt-familylaw strong{display:block;font-family:'Playfair Display',serif;font-size:15px;margin-bottom:3px;color:#111}
#tt-familylaw .ttag{display:inline-block;background:#eef0f8;border-radius:4px;padding:2px 8px;font-family:'DM Mono',monospace;font-size:10px;margin-bottom:6px;color:#5560a0;font-weight:500}
.dag-hint{text-align:center;font-size:10px;color:#aaa;font-family:'DM Mono',monospace;letter-spacing:1px;padding-top:8px}

.anyb-root *,.anyb-root *::before,.anyb-root *::after{box-sizing:border-box;margin:0;padding:0}
.dag-page{background:#f2f4f8;color:#1a1d2e;font-family:'Lato',sans-serif;padding:16px 16px 20px;border-radius:8px;max-width:100%}
.dag-page header{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:6px;padding-bottom:10px;margin-bottom:10px;border-bottom:2px solid #dde0ea}
.dag-page header h1{font-family:'Playfair Display',serif;font-size:clamp(15px,2.2vw,21px);font-weight:900;color:#1a1d2e;line-height:1.2}
.dag-page header h1 span{background:linear-gradient(130deg,#37474f 0%,#1b5e20 40%,#1a237e 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.dag-page header p{color:#888;font-size:10px;font-family:'DM Mono',monospace;letter-spacing:1px;text-transform:uppercase;line-height:1.4}
.dag-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;cursor:grab}
.dag-wrap:active{cursor:grabbing}
.dag-wrap svg{min-width:920px;display:block;height:auto;overflow:hidden}
.node-group{cursor:pointer;-webkit-tap-highlight-color:transparent}
.node-group:hover rect:first-of-type{filter:brightness(0.92) drop-shadow(0 3px 14px rgba(0,0,0,0.18))}
#tt-mpt{position:fixed;background:#fff;border:1.5px solid #c5c9de;border-radius:12px;padding:13px 16px;max-width:min(380px,90vw);font-size:12.5px;line-height:1.7;color:#1a1d2e;pointer-events:none;opacity:0;transition:opacity 0.15s;z-index:99999;box-shadow:0 8px 32px rgba(0,0,0,0.15)}
#tt-mpt strong{display:block;font-family:'Playfair Display',serif;font-size:15px;margin-bottom:3px;color:#111}
#tt-mpt .ttag{display:inline-block;background:#eef0f8;border-radius:4px;padding:2px 8px;font-family:'DM Mono',monospace;font-size:10px;margin-bottom:6px;color:#5560a0;font-weight:500}
.dag-hint{text-align:center;font-size:10px;color:#aaa;font-family:'DM Mono',monospace;letter-spacing:1px;padding-top:8px}

.anyb-root *,.anyb-root *::before,.anyb-root *::after{box-sizing:border-box;margin:0;padding:0}
.dag-page{background:#f2f4f8;color:#1a1d2e;font-family:'Lato',sans-serif;padding:16px 16px 20px;border-radius:8px;max-width:100%}
.dag-page header{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:6px;padding-bottom:10px;margin-bottom:10px;border-bottom:2px solid #dde0ea}
.dag-page header h1{font-family:'Playfair Display',serif;font-size:clamp(15px,2.2vw,21px);font-weight:900;color:#1a1d2e;line-height:1.2}
.dag-page header h1 span{background:linear-gradient(130deg,#37474f 0%,#b71c1c 40%,#004d40 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.dag-page header p{color:#888;font-size:10px;font-family:'DM Mono',monospace;letter-spacing:1px;text-transform:uppercase;line-height:1.4}
.dag-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;cursor:grab}
.dag-wrap:active{cursor:grabbing}
.dag-wrap svg{min-width:700px;display:block;height:auto}
.node-group{cursor:pointer;-webkit-tap-highlight-color:transparent;outline:none}
.node-group:hover .ncard{filter:brightness(.88) drop-shadow(0 6px 20px rgba(0,0,0,.32))}
.dag-hint{text-align:center;font-size:10px;color:#aaa;font-family:'DM Mono',monospace;letter-spacing:1px;padding-top:8px}

.anyb-root *,.anyb-root *::before,.anyb-root *::after{box-sizing:border-box;margin:0;padding:0}
.dag-page{background:#f2f4f8;color:#1a1d2e;font-family:'Lato',sans-serif;padding:16px 16px 20px;border-radius:8px;max-width:100%}
.dag-page header{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:6px;padding-bottom:10px;margin-bottom:10px;border-bottom:2px solid #dde0ea}
.dag-page header h1{font-family:'Playfair Display',serif;font-size:clamp(15px,2.2vw,21px);font-weight:900;color:#1a1d2e;line-height:1.2}
.dag-page header h1 span{background:linear-gradient(130deg,#37474f 0%,#1b5e20 40%,#1a237e 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.dag-page header p{color:#888;font-size:10px;font-family:'DM Mono',monospace;letter-spacing:1px;text-transform:uppercase;line-height:1.4}
.dag-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;cursor:grab}
.dag-wrap:active{cursor:grabbing}
.dag-wrap svg{min-width:920px;display:block;height:auto;overflow:hidden}
.node-group{cursor:pointer;-webkit-tap-highlight-color:transparent}
.node-group:hover rect:first-of-type{filter:brightness(0.92) drop-shadow(0 3px 14px rgba(0,0,0,0.18))}
#tt-nypractice{position:fixed;background:#fff;border:1.5px solid #c5c9de;border-radius:12px;padding:13px 16px;max-width:min(380px,90vw);font-size:12.5px;line-height:1.7;color:#1a1d2e;pointer-events:none;opacity:0;transition:opacity 0.15s;z-index:99999;box-shadow:0 8px 32px rgba(0,0,0,0.15)}
#tt-nypractice strong{display:block;font-family:'Playfair Display',serif;font-size:15px;margin-bottom:3px;color:#111}
#tt-nypractice .ttag{display:inline-block;background:#eef0f8;border-radius:4px;padding:2px 8px;font-family:'DM Mono',monospace;font-size:10px;margin-bottom:6px;color:#5560a0;font-weight:500}
.dag-hint{text-align:center;font-size:10px;color:#aaa;font-family:'DM Mono',monospace;letter-spacing:1px;padding-top:8px}

.anyb-root *,.anyb-root *::before,.anyb-root *::after{box-sizing:border-box;margin:0;padding:0}
.dag-page{background:#f2f4f8;color:#1a1d2e;font-family:'Lato',sans-serif;padding:16px 16px 20px;border-radius:8px;max-width:100%}
.dag-page header{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:6px;padding-bottom:10px;margin-bottom:10px;border-bottom:2px solid #dde0ea}
.dag-page header h1{font-family:'Playfair Display',serif;font-size:clamp(15px,2.2vw,21px);font-weight:900;color:#1a1d2e;line-height:1.2}
.dag-page header h1 span{background:linear-gradient(130deg,#37474f 0%,#1b5e20 40%,#1a237e 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.dag-page header p{color:#888;font-size:10px;font-family:'DM Mono',monospace;letter-spacing:1px;text-transform:uppercase;line-height:1.4}
.dag-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;cursor:grab}
.dag-wrap:active{cursor:grabbing}
.dag-wrap svg{min-width:920px;display:block;height:auto;overflow:hidden}
.node-group{cursor:pointer;-webkit-tap-highlight-color:transparent}
.node-group:hover rect:first-of-type{filter:brightness(0.92) drop-shadow(0 3px 14px rgba(0,0,0,0.18))}
#tt-profession{position:fixed;background:#fff;border:1.5px solid #c5c9de;border-radius:12px;padding:13px 16px;max-width:min(380px,90vw);font-size:12.5px;line-height:1.7;color:#1a1d2e;pointer-events:none;opacity:0;transition:opacity 0.15s;z-index:99999;box-shadow:0 8px 32px rgba(0,0,0,0.15)}
#tt-profession strong{display:block;font-family:'Playfair Display',serif;font-size:15px;margin-bottom:3px;color:#111}
#tt-profession .ttag{display:inline-block;background:#eef0f8;border-radius:4px;padding:2px 8px;font-family:'DM Mono',monospace;font-size:10px;margin-bottom:6px;color:#5560a0;font-weight:500}
.dag-hint{text-align:center;font-size:10px;color:#aaa;font-family:'DM Mono',monospace;letter-spacing:1px;padding-top:8px}

.anyb-root *,.anyb-root *::before,.anyb-root *::after{box-sizing:border-box;margin:0;padding:0}
.dag-page{background:#f2f4f8;color:#1a1d2e;font-family:'Lato',sans-serif;padding:16px 16px 20px;border-radius:8px;max-width:100%}
.dag-page header{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:6px;padding-bottom:10px;margin-bottom:10px;border-bottom:2px solid #dde0ea}
.dag-page header h1{font-family:'Playfair Display',serif;font-size:clamp(15px,2.2vw,21px);font-weight:900;color:#1a1d2e;line-height:1.2}
.dag-page header h1 span{background:linear-gradient(130deg,#37474f 0%,#1b5e20 40%,#1a237e 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.dag-page header p{color:#888;font-size:10px;font-family:'DM Mono',monospace;letter-spacing:1px;text-transform:uppercase;line-height:1.4}
.dag-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;cursor:grab}
.dag-wrap:active{cursor:grabbing}
.dag-wrap svg{min-width:920px;display:block;height:auto;overflow:hidden}
.node-group{cursor:pointer;-webkit-tap-highlight-color:transparent}
.node-group:hover rect:first-of-type{filter:brightness(0.92) drop-shadow(0 3px 14px rgba(0,0,0,0.18))}
#tt-realpropee{position:fixed;background:#fff;border:1.5px solid #c5c9de;border-radius:12px;padding:13px 16px;max-width:min(380px,90vw);font-size:12.5px;line-height:1.7;color:#1a1d2e;pointer-events:none;opacity:0;transition:opacity 0.15s;z-index:99999;box-shadow:0 8px 32px rgba(0,0,0,0.15)}
#tt-realpropee strong{display:block;font-family:'Playfair Display',serif;font-size:15px;margin-bottom:3px;color:#111}
#tt-realpropee .ttag{display:inline-block;background:#eef0f8;border-radius:4px;padding:2px 8px;font-family:'DM Mono',monospace;font-size:10px;margin-bottom:6px;color:#5560a0;font-weight:500}
.dag-hint{text-align:center;font-size:10px;color:#aaa;font-family:'DM Mono',monospace;letter-spacing:1px;padding-top:8px}

.anyb-root *,.anyb-root *::before,.anyb-root *::after{box-sizing:border-box;margin:0;padding:0}
.dag-page{background:#f2f4f8;color:#1a1d2e;font-family:'Lato',sans-serif;padding:16px 16px 20px;border-radius:8px;max-width:100%}
.dag-page header{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:6px;padding-bottom:10px;margin-bottom:10px;border-bottom:2px solid #dde0ea}
.dag-page header h1{font-family:'Playfair Display',serif;font-size:clamp(15px,2.2vw,21px);font-weight:900;color:#1a1d2e;line-height:1.2}
.dag-page header h1 span{background:linear-gradient(130deg,#004d40 0%,#1b5e20 35%,#1a237e 80%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.dag-page header p{color:#888;font-size:10px;font-family:'DM Mono',monospace;letter-spacing:1px;text-transform:uppercase;line-height:1.4}
.dag-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;cursor:grab}
.dag-wrap:active{cursor:grabbing}
.dag-wrap svg{min-width:920px;display:block;height:auto}
.node-group{cursor:pointer;-webkit-tap-highlight-color:transparent}
.node-group:hover rect:first-of-type{filter:brightness(0.92) drop-shadow(0 3px 14px rgba(0,0,0,0.18))}
#tt-grantorfut{position:fixed;background:#fff;border:1.5px solid #c5c9de;border-radius:12px;padding:13px 16px;max-width:min(380px,90vw);font-size:12.5px;line-height:1.7;color:#1a1d2e;pointer-events:none;opacity:0;transition:opacity 0.15s;z-index:99999;box-shadow:0 8px 32px rgba(0,0,0,0.15)}
#tt-grantorfut strong{display:block;font-family:'Playfair Display',serif;font-size:15px;margin-bottom:3px;color:#111}
#tt-grantorfut .ttag{display:inline-block;background:#eef0f8;border-radius:4px;padding:2px 8px;font-family:'DM Mono',monospace;font-size:10px;margin-bottom:6px;color:#5560a0;font-weight:500}
.dag-hint{text-align:center;font-size:10px;color:#aaa;font-family:'DM Mono',monospace;letter-spacing:1px;padding-top:8px}

.anyb-root *,.anyb-root *::before,.anyb-root *::after{box-sizing:border-box;margin:0;padding:0}
.dag-page{background:#1a1d2e;color:#e8eaf0;font-family:'Lato',sans-serif;padding:16px 16px 20px;border-radius:8px;max-width:100%}
.dag-page header{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:6px;padding-bottom:10px;margin-bottom:10px;border-bottom:2px solid #2e3260}
.dag-page header h1{font-family:'Playfair Display',serif;font-size:clamp(15px,2.2vw,21px);font-weight:900;color:#e8eaf0;line-height:1.2}
.dag-page header h1 span{background:linear-gradient(130deg,#ce93d8 0%,#80cbc4 50%,#ffcc80 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.dag-page header p{color:#666;font-size:10px;font-family:'DM Mono',monospace;letter-spacing:1px;text-transform:uppercase;line-height:1.4}
.dag-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;cursor:grab}
.dag-wrap:active{cursor:grabbing}
.dag-wrap svg{min-width:820px;display:block;height:auto}
.node-group{cursor:pointer;-webkit-tap-highlight-color:transparent}
.node-group:hover .tier-band{filter:brightness(1.15)}
.node-group:hover .sub-node{filter:brightness(1.12) drop-shadow(0 2px 8px rgba(0,0,0,0.4))}
#tt-hearsayexc{position:fixed;background:#1e2140;border:1.5px solid #4a4f8a;border-radius:12px;padding:13px 16px;max-width:min(380px,90vw);font-size:12.5px;line-height:1.7;color:#e8eaf0;pointer-events:none;opacity:0;transition:opacity 0.15s;z-index:99999;box-shadow:0 8px 32px rgba(0,0,0,0.5)}
#tt-hearsayexc strong{display:block;font-family:'Playfair Display',serif;font-size:15px;margin-bottom:3px;color:#fff}
#tt-hearsayexc .ttag{display:inline-block;background:#2a2f5a;border-radius:4px;padding:2px 8px;font-family:'DM Mono',monospace;font-size:10px;margin-bottom:6px;color:#9fa8da;font-weight:500}
.dag-hint{text-align:center;font-size:10px;color:#555;font-family:'DM Mono',monospace;letter-spacing:1px;padding-top:8px}

.anyb-root *,.anyb-root *::before,.anyb-root *::after{box-sizing:border-box;margin:0;padding:0}
.dag-page{background:#f2f4f8;color:#1a1d2e;font-family:'Lato',sans-serif;padding:16px 16px 20px;border-radius:8px;max-width:100%}
.dag-page header{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:6px;padding-bottom:10px;margin-bottom:10px;border-bottom:2px solid #dde0ea}
.dag-page header h1{font-family:'Playfair Display',serif;font-size:clamp(15px,2.2vw,21px);font-weight:900;color:#1a1d2e;line-height:1.2}
.dag-page header h1 span{background:linear-gradient(130deg,#37474f 0%,#1b5e20 40%,#1a237e 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.dag-page header p{color:#888;font-size:10px;font-family:'DM Mono',monospace;letter-spacing:1px;text-transform:uppercase;line-height:1.4}
.dag-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;cursor:grab}
.dag-wrap:active{cursor:grabbing}
.dag-wrap svg{min-width:920px;display:block;height:auto;overflow:hidden}
.node-group{cursor:pointer;-webkit-tap-highlight-color:transparent}
.node-group:hover rect:first-of-type{filter:brightness(0.92) drop-shadow(0 3px 14px rgba(0,0,0,0.18))}
#tt-remedies{position:fixed;background:#fff;border:1.5px solid #c5c9de;border-radius:12px;padding:13px 16px;max-width:min(380px,90vw);font-size:12.5px;line-height:1.7;color:#1a1d2e;pointer-events:none;opacity:0;transition:opacity 0.15s;z-index:99999;box-shadow:0 8px 32px rgba(0,0,0,0.15)}
#tt-remedies strong{display:block;font-family:'Playfair Display',serif;font-size:15px;margin-bottom:3px;color:#111}
#tt-remedies .ttag{display:inline-block;background:#eef0f8;border-radius:4px;padding:2px 8px;font-family:'DM Mono',monospace;font-size:10px;margin-bottom:6px;color:#5560a0;font-weight:500}
.dag-hint{text-align:center;font-size:10px;color:#aaa;font-family:'DM Mono',monospace;letter-spacing:1px;padding-top:8px}

.anyb-root *,.anyb-root *::before,.anyb-root *::after{box-sizing:border-box;margin:0;padding:0}
.dag-page{background:#f2f4f8;color:#1a1d2e;font-family:'Lato',sans-serif;padding:16px 16px 20px;border-radius:8px;max-width:100%}
.dag-page header{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:6px;padding-bottom:10px;margin-bottom:10px;border-bottom:2px solid #dde0ea}
.dag-page header h1{font-family:'Playfair Display',serif;font-size:clamp(15px,2.2vw,21px);font-weight:900;color:#1a1d2e;line-height:1.2}
.dag-page header h1 span{background:linear-gradient(130deg,#37474f 0%,#1b5e20 40%,#1a237e 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.dag-page header p{color:#888;font-size:10px;font-family:'DM Mono',monospace;letter-spacing:1px;text-transform:uppercase;line-height:1.4}
.dag-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;cursor:grab}
.dag-wrap:active{cursor:grabbing}
.dag-wrap svg{min-width:920px;display:block;height:auto;overflow:hidden}
.node-group{cursor:pointer;-webkit-tap-highlight-color:transparent}
.node-group:hover rect:first-of-type{filter:brightness(0.92) drop-shadow(0 3px 14px rgba(0,0,0,0.18))}
#tt-securedtra{position:fixed;background:#fff;border:1.5px solid #c5c9de;border-radius:12px;padding:13px 16px;max-width:min(380px,90vw);font-size:12.5px;line-height:1.7;color:#1a1d2e;pointer-events:none;opacity:0;transition:opacity 0.15s;z-index:99999;box-shadow:0 8px 32px rgba(0,0,0,0.15)}
#tt-securedtra strong{display:block;font-family:'Playfair Display',serif;font-size:15px;margin-bottom:3px;color:#111}
#tt-securedtra .ttag{display:inline-block;background:#eef0f8;border-radius:4px;padding:2px 8px;font-family:'DM Mono',monospace;font-size:10px;margin-bottom:6px;color:#5560a0;font-weight:500}
.dag-hint{text-align:center;font-size:10px;color:#aaa;font-family:'DM Mono',monospace;letter-spacing:1px;padding-top:8px}

.anyb-root *,.anyb-root *::before,.anyb-root *::after{box-sizing:border-box;margin:0;padding:0}
.dag-page{background:#f2f4f8;color:#1a1d2e;font-family:'Lato',sans-serif;padding:16px 16px 20px;border-radius:8px;max-width:100%}
.dag-page header{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:6px;padding-bottom:10px;margin-bottom:10px;border-bottom:2px solid #dde0ea}
.dag-page header h1{font-family:'Playfair Display',serif;font-size:clamp(15px,2.2vw,21px);font-weight:900;color:#1a1d2e;line-height:1.2}
.dag-page header h1 span{background:linear-gradient(130deg,#37474f 0%,#1b5e20 40%,#1a237e 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.dag-page header p{color:#888;font-size:10px;font-family:'DM Mono',monospace;letter-spacing:1px;text-transform:uppercase;line-height:1.4}
.dag-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;cursor:grab}
.dag-wrap:active{cursor:grabbing}
.dag-wrap svg{min-width:920px;display:block;height:auto;overflow:hidden}
.node-group{cursor:pointer;-webkit-tap-highlight-color:transparent}
.node-group:hover rect:first-of-type{filter:brightness(0.92) drop-shadow(0 3px 14px rgba(0,0,0,0.18))}
#tt-torts{position:fixed;background:#fff;border:1.5px solid #c5c9de;border-radius:12px;padding:13px 16px;max-width:min(380px,90vw);font-size:12.5px;line-height:1.7;color:#1a1d2e;pointer-events:none;opacity:0;transition:opacity 0.15s;z-index:99999;box-shadow:0 8px 32px rgba(0,0,0,0.15)}
#tt-torts strong{display:block;font-family:'Playfair Display',serif;font-size:15px;margin-bottom:3px;color:#111}
#tt-torts .ttag{display:inline-block;background:#eef0f8;border-radius:4px;padding:2px 8px;font-family:'DM Mono',monospace;font-size:10px;margin-bottom:6px;color:#5560a0;font-weight:500}
.dag-hint{text-align:center;font-size:10px;color:#aaa;font-family:'DM Mono',monospace;letter-spacing:1px;padding-top:8px}

.anyb-root *,.anyb-root *::before,.anyb-root *::after{box-sizing:border-box;margin:0;padding:0}
.dag-page{background:#f2f4f8;color:#1a1d2e;font-family:'Lato',sans-serif;padding:16px 16px 20px;border-radius:8px;max-width:100%}
.dag-page header{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:6px;padding-bottom:10px;margin-bottom:10px;border-bottom:2px solid #dde0ea}
.dag-page header h1{font-family:'Playfair Display',serif;font-size:clamp(15px,2.2vw,21px);font-weight:900;color:#1a1d2e;line-height:1.2}
.dag-page header h1 span{background:linear-gradient(130deg,#37474f 0%,#1b5e20 40%,#1a237e 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.dag-page header p{color:#888;font-size:10px;font-family:'DM Mono',monospace;letter-spacing:1px;text-transform:uppercase;line-height:1.4}
.dag-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;cursor:grab}
.dag-wrap:active{cursor:grabbing}
.dag-wrap svg{min-width:920px;display:block;height:auto;overflow:hidden}
.node-group{cursor:pointer;-webkit-tap-highlight-color:transparent}
.node-group:hover rect:first-of-type{filter:brightness(0.92) drop-shadow(0 3px 14px rgba(0,0,0,0.18))}
#tt-trustsandf{position:fixed;background:#fff;border:1.5px solid #c5c9de;border-radius:12px;padding:13px 16px;max-width:min(380px,90vw);font-size:12.5px;line-height:1.7;color:#1a1d2e;pointer-events:none;opacity:0;transition:opacity 0.15s;z-index:99999;box-shadow:0 8px 32px rgba(0,0,0,0.15)}
#tt-trustsandf strong{display:block;font-family:'Playfair Display',serif;font-size:15px;margin-bottom:3px;color:#111}
#tt-trustsandf .ttag{display:inline-block;background:#eef0f8;border-radius:4px;padding:2px 8px;font-family:'DM Mono',monospace;font-size:10px;margin-bottom:6px;color:#5560a0;font-weight:500}
.dag-hint{text-align:center;font-size:10px;color:#aaa;font-family:'DM Mono',monospace;letter-spacing:1px;padding-top:8px}

.anyb-root *,.anyb-root *::before,.anyb-root *::after{box-sizing:border-box;margin:0;padding:0}
.dag-page{background:#f2f4f8;color:#1a1d2e;font-family:'Lato',sans-serif;padding:16px 16px 20px;border-radius:8px;max-width:100%}
.dag-page header{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:6px;padding-bottom:10px;margin-bottom:10px;border-bottom:2px solid #dde0ea}
.dag-page header h1{font-family:'Playfair Display',serif;font-size:clamp(15px,2.2vw,21px);font-weight:900;color:#1a1d2e;line-height:1.2}
.dag-page header h1 span{background:linear-gradient(130deg,#37474f 0%,#1b5e20 40%,#1a237e 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.dag-page header p{color:#888;font-size:10px;font-family:'DM Mono',monospace;letter-spacing:1px;text-transform:uppercase;line-height:1.4}
.dag-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;cursor:grab}
.dag-wrap:active{cursor:grabbing}
.dag-wrap svg{min-width:920px;display:block;height:auto;overflow:hidden}
.node-group{cursor:pointer;-webkit-tap-highlight-color:transparent}
.node-group:hover rect:first-of-type{filter:brightness(0.92) drop-shadow(0 3px 14px rgba(0,0,0,0.18))}
#tt-uccarticle{position:fixed;background:#fff;border:1.5px solid #c5c9de;border-radius:12px;padding:13px 16px;max-width:min(380px,90vw);font-size:12.5px;line-height:1.7;color:#1a1d2e;pointer-events:none;opacity:0;transition:opacity 0.15s;z-index:99999;box-shadow:0 8px 32px rgba(0,0,0,0.15)}
#tt-uccarticle strong{display:block;font-family:'Playfair Display',serif;font-size:15px;margin-bottom:3px;color:#111}
#tt-uccarticle .ttag{display:inline-block;background:#eef0f8;border-radius:4px;padding:2px 8px;font-family:'DM Mono',monospace;font-size:10px;margin-bottom:6px;color:#5560a0;font-weight:500}
.dag-hint{text-align:center;font-size:10px;color:#aaa;font-family:'DM Mono',monospace;letter-spacing:1px;padding-top:8px}

.anyb-root *,.anyb-root *::before,.anyb-root *::after{box-sizing:border-box;margin:0;padding:0}
.dag-page{background:#f2f4f8;color:#1a1d2e;font-family:'Lato',sans-serif;padding:16px 16px 20px;border-radius:8px;max-width:100%}
.dag-page header{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:6px;padding-bottom:10px;margin-bottom:10px;border-bottom:2px solid #dde0ea}
.dag-page header h1{font-family:'Playfair Display',serif;font-size:clamp(15px,2.2vw,21px);font-weight:900;color:#1a1d2e;line-height:1.2}
.dag-page header h1 span{background:linear-gradient(130deg,#37474f 0%,#1b5e20 40%,#1a237e 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.dag-page header p{color:#888;font-size:10px;font-family:'DM Mono',monospace;letter-spacing:1px;text-transform:uppercase;line-height:1.4}
.dag-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;cursor:grab}
.dag-wrap:active{cursor:grabbing}
.dag-wrap svg{min-width:920px;display:block;height:auto;overflow:hidden}
.node-group{cursor:pointer;-webkit-tap-highlight-color:transparent}
.node-group:hover rect:first-of-type{filter:brightness(0.92) drop-shadow(0 3px 14px rgba(0,0,0,0.18))}
#tt-wills{position:fixed;background:#fff;border:1.5px solid #c5c9de;border-radius:12px;padding:13px 16px;max-width:min(380px,90vw);font-size:12.5px;line-height:1.7;color:#1a1d2e;pointer-events:none;opacity:0;transition:opacity 0.15s;z-index:99999;box-shadow:0 8px 32px rgba(0,0,0,0.15)}
#tt-wills strong{display:block;font-family:'Playfair Display',serif;font-size:15px;margin-bottom:3px;color:#111}
#tt-wills .ttag{display:inline-block;background:#eef0f8;border-radius:4px;padding:2px 8px;font-family:'DM Mono',monospace;font-size:10px;margin-bottom:6px;color:#5560a0;font-weight:500}
.dag-hint{text-align:center;font-size:10px;color:#aaa;font-family:'DM Mono',monospace;letter-spacing:1px;padding-top:8px}



/* ── Style Block 4 ── */

.wdm-tabs{display:flex;gap:4px;border-bottom:2px solid rgba(201,164,74,.18);margin-bottom:0;flex-wrap:wrap}
.wdm-tab{background:transparent;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;padding:10px 18px 12px;font-family:'IBM Plex Mono',monospace!important;font-size:11px!important;letter-spacing:.8px!important;text-transform:uppercase!important;color:rgba(148,146,126,.7)!important;cursor:pointer;transition:color .15s,border-color .15s;-webkit-tap-highlight-color:transparent}
.wdm-tab:hover{color:rgba(201,164,74,.85)!important}
.wdm-tab.wdm-active{color:var(--gold,#c9a44a)!important;border-bottom-color:var(--gold,#c9a44a)!important}
.wdm-dag-wrap{background:rgba(14,11,7,.65);border:1px solid rgba(201,164,74,.14);border-radius:0 16px 0 0;padding:20px 12px 12px;overflow-x:auto;-webkit-overflow-scrolling:touch}
.wdm-dag-wrap svg{min-width:480px;width:100%;height:auto;display:block}
.wdm-legend{display:flex;flex-wrap:wrap;gap:12px;padding:10px 12px;background:rgba(14,11,7,.4);border:1px solid rgba(255,255,255,.06);border-top:none;font-size:11px!important}
.wdm-leg-item{display:flex;align-items:center;gap:7px;color:rgba(148,146,126,.75)!important;font-family:'IBM Plex Mono',monospace!important;font-size:10px!important;letter-spacing:.4px}
.wdm-leg-gold{display:inline-block;width:28px;height:1.5px;background:rgba(201,164,74,.75);position:relative}
.wdm-leg-gold::after{content:'';position:absolute;right:-1px;top:-3px;border:4px solid transparent;border-left-color:rgba(201,164,74,.75)}
.wdm-leg-red{display:inline-block;width:28px;height:1.5px;background:rgba(139,26,28,.7);background-image:repeating-linear-gradient(90deg,rgba(139,26,28,.7) 0,rgba(139,26,28,.7) 5px,transparent 5px,transparent 8px)}
.wdm-leg-teal{display:inline-block;width:14px;height:14px;border-radius:3px;background:rgba(18,80,78,.6);border:1.5px solid rgba(30,200,180,.55)}
.wdm-explain{font-family:'Source Serif 4',Georgia,serif!important;font-size:14px!important;color:rgba(148,146,126,.8)!important;line-height:1.65!important;padding:16px 16px 0!important;max-width:72ch}

