.ctg-root {
        --void:#000000; --panel:#0A0A0A; --panel2:#0F0F0F; --border:#2B2B2B;
        --text:#E0E0E0; --heading:#FFFFFF; --muted:#7A7A7A;
        --green:#00FF41; --red:#FF2A2A; --grey:#8A8A8A; --pending:#4A4A4A;
        background:var(--void); color:var(--text);
        font-family:var(--mono),'Courier New',monospace;
        padding:18px; box-sizing:border-box; min-height:auto;
        background-image: repeating-linear-gradient(0deg, rgba(255,255,255,0.015) 0px, rgba(255,255,255,0.015) 1px, transparent 1px, transparent 3px);
      }
      .ctg-root * { box-sizing:border-box; }
      .ctg-header { display:flex; justify-content:space-between; align-items:flex-end; flex-wrap:wrap; gap:10px;
        border-bottom:1px solid var(--border); padding-bottom:12px; margin-bottom:14px; }
      .ctg-eyebrow { color:var(--red); font-size:12px; letter-spacing:2px; margin-bottom:4px; }
      .ctg-title { color:var(--heading); font-size:17px; font-weight:700; letter-spacing:1px; text-transform:uppercase; }
      .ctg-header-right { display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
      .ctg-stat { display:flex; flex-direction:column; align-items:flex-end; font-size:12px; color:var(--muted); letter-spacing:1px; }
      .ctg-stat strong { color:var(--heading); font-size:15px; letter-spacing:0.5px; }
      .ctg-btn { background:var(--panel); border:1px solid var(--border); color:var(--text);
        font-family:inherit; font-size:12px; letter-spacing:1px; padding:8px 12px; cursor:pointer; text-transform:uppercase; }
      .ctg-btn:hover:not(:disabled) { border-color:var(--red); color:var(--heading); }
      .ctg-btn:disabled { opacity:0.35; cursor:not-allowed; }
      .ctg-btn-green { border-color:var(--green); color:var(--green); }
      .ctg-btn-green:hover:not(:disabled) { background:var(--green); color:var(--void); border-color:var(--green); }
      .ctg-btn-accuse { width:100%; background:var(--panel2); border:1px solid var(--red); color:var(--red); font-weight:700; padding:12px; }
      .ctg-btn-accuse:hover:not(:disabled) { background:var(--red); color:var(--void); }
      .ctg-btn-analyze { width:100%; margin-top:8px; border-color:var(--green); color:var(--green); }
      .ctg-btn-analyze:hover:not(:disabled) { background:var(--green); color:var(--void); }

      .ctg-main { display:flex; gap:16px; flex-wrap:wrap; align-items:flex-start; }
      .ctg-graph-panel { flex:1 1 620px; min-width:320px; background:var(--panel); border:1px solid var(--border); padding:6px; }
      .ctg-svg { width:100%; height:auto; display:block; }
      .ctg-sidebar { flex:0 0 350px; min-width:300px; display:flex; flex-direction:column; gap:12px; }
      .ctg-section { background:var(--panel); border:1px solid var(--border); padding:12px 14px; }
      .ctg-section-title { color:var(--red); font-size:12px; letter-spacing:2px; margin-bottom:8px; border-bottom:1px solid var(--border); padding-bottom:6px; }
      .ctg-brief p { font-size:12px; line-height:1.6; color:var(--text); margin:0 0 8px 0; }
      .ctg-objective { font-size:12px; color:var(--grey); border-left:2px solid var(--red); padding-left:8px; line-height:1.5; }
      .ctg-muted { color:var(--muted); font-size:12px; }

      .ctg-detail-label { color:var(--heading); font-size:13px; font-weight:700; letter-spacing:0.5px; text-transform:uppercase; }
      .ctg-detail-addr { color:var(--grey); font-size:12px; margin:4px 0 8px 0; }
      .ctg-detail-row { font-size:12px; color:var(--text); margin-bottom:4px; }
      .ctg-detail-row span { color:var(--muted); }
      .ctg-tag { font-size:12px; line-height:1.6; margin-top:8px; padding-top:8px; border-top:1px dashed var(--border); color:var(--text); }
      .ctg-badge { display:inline-block; font-size:12px; letter-spacing:1px; padding:3px 7px; margin-top:6px; font-weight:700; }
      .ctg-badge.good { color:var(--green); border:1px solid var(--green); }
      .ctg-badge.bad { color:var(--red); border:1px solid var(--red); }
      .ctg-badge.neu { color:var(--grey); border:1px solid var(--grey); }

      .ctg-log-list { display:flex; flex-direction:column; gap:6px; max-height:180px; overflow-y:auto; }
      .ctg-log-entry { font-size:10.5px; line-height:1.5; color:var(--text); }
      .ctg-log-time { color:var(--green); margin-right:4px; }

      .ctg-lesson { border-color:var(--green); }
      .ctg-lesson .ctg-section-title { color:var(--green); }
      .ctg-lesson p { font-size:12px; line-height:1.65; margin:0 0 10px 0; }
      .ctg-lesson-term { color:var(--heading); font-weight:700; font-size:13px; text-transform:uppercase; letter-spacing:0.5px; margin-bottom:6px; }

      .ctg-wrong { border-color:var(--red); }
      .ctg-wrong .ctg-section-title { color:var(--red); }
      .ctg-wrong p { font-size:12px; line-height:1.6; margin:0 0 10px 0; }

      .ctg-footer { margin-top:14px; font-size:12px; color:var(--muted); border-top:1px solid var(--border); padding-top:10px; line-height:1.5; }

      .ctg-nodebox { width:100%; height:100%; border:1px solid var(--pending); background:var(--panel2);
        padding:6px 8px; cursor:pointer; overflow:hidden; transition:border-color 0.15s; }
      .ctg-nodebox:hover { border-color:var(--grey); }
      .ctg-nodebox.is-selected { border-color:var(--heading); }
      .ctg-nodebox.is-unanalyzed { animation: ctg-pulse 2.2s ease-in-out infinite; }
      .ctg-nodebox.verdict-suspicious, .ctg-nodebox.verdict-unconfirmed { border-color:var(--red); }
      .ctg-nodebox.verdict-confirmed { border-color:var(--green); box-shadow:0 0 8px rgba(0,255,65,0.35); }
      .ctg-nodebox.verdict-neutral, .ctg-nodebox.verdict-deadend { border-color:var(--grey); }
      .ctg-nodebox.verdict-victim { border-color:var(--heading); }
      .ctg-nb-type { font-size:8.5px; letter-spacing:1px; color:var(--muted); }
      .ctg-nb-label { font-size:10.5px; color:var(--heading); font-weight:700; line-height:1.25; margin:2px 0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
      .ctg-nb-addr { font-size:12px; color:var(--grey); white-space:nowrap; }
      .ctg-nb-badge { font-size:8px; letter-spacing:0.5px; margin-top:3px; font-weight:700; }
      .ctg-nb-badge.good { color:var(--green); }
      .ctg-nb-badge.bad { color:var(--red); }
      .ctg-nb-badge.neu { color:var(--grey); }

      @keyframes ctg-pulse { 0%,100% { border-color: var(--pending); } 50% { border-color: var(--grey); } }
      @keyframes ctg-dash { to { stroke-dashoffset: -20; } }
      @keyframes ctg-bracket { 0%,100% { opacity:0.35; } 50% { opacity:1; } }

      .ctg-edge { fill:none; }
      .ctg-edge.pending { stroke:var(--pending); stroke-width:1.5; stroke-dasharray:5 4; animation: ctg-dash 1.4s linear infinite; }
      .ctg-edge.suspicious { stroke:var(--red); stroke-width:1.5; stroke-dasharray:5 4; animation: ctg-dash 1.4s linear infinite; opacity:0.85; }
      .ctg-edge.neutral { stroke:var(--grey); stroke-width:1.5; }
      .ctg-edge.confirmed { stroke:var(--green); stroke-width:2; filter:drop-shadow(0 0 3px rgba(0,255,65,0.6)); }
      .ctg-edge.solved { stroke:var(--green) !important; stroke-width:2.5 !important; filter:drop-shadow(0 0 4px rgba(0,255,65,0.7)); animation:none !important; }
      .ctg-edge-label { font-size:9.5px; fill:var(--text); paint-order:stroke; stroke:var(--void); stroke-width:4px; font-family:var(--mono),'Courier New',monospace; }
      .ctg-bracket { stroke:var(--heading); stroke-width:2; fill:none; animation: ctg-bracket 1.6s ease-in-out infinite; }

      /* MENÜ */
      .ctg-menu-intro { max-width:760px; font-size:13px; line-height:1.7; margin-bottom:18px; }
      .ctg-case-grid { display:flex; flex-direction:column; gap:12px; max-width:760px; }
      .ctg-case-card { background:var(--panel); border:1px solid var(--border); padding:14px 16px; display:flex;
        justify-content:space-between; align-items:center; gap:14px; cursor:pointer; transition:border-color 0.15s; flex-wrap:wrap; }
      .ctg-case-card:hover:not(.locked) { border-color:var(--red); }
      .ctg-case-card.locked { opacity:0.4; cursor:not-allowed; }
      .ctg-case-card.done { border-color:var(--green); }
      .ctg-case-num { color:var(--green); font-size:22px; font-weight:700; min-width:44px; }
      .ctg-case-body { flex:1; min-width:200px; }
      .ctg-case-name { color:var(--heading); font-weight:700; letter-spacing:1px; font-size:13px; }
      .ctg-case-meta { color:var(--muted); font-size:10.5px; letter-spacing:1px; margin-top:3px; }
      .ctg-case-status { font-size:12px; letter-spacing:1px; text-align:right; }
      .ctg-case-status .grade { color:var(--green); font-size:18px; font-weight:700; display:block; }
      .ctg-case-status.locked-txt { color:var(--muted); }
      .ctg-case-status.open-txt { color:var(--red); }

      /* DEBRIEF */
      .ctg-debrief { max-width:760px; }
      .ctg-debrief-grade { font-size:52px; color:var(--green); font-weight:700; line-height:1; }
      .ctg-debrief p { font-size:12.5px; line-height:1.7; }
      .ctg-redflag { font-size:12px; line-height:1.6; margin-bottom:6px; }
      .ctg-redflag::before { content:"> "; color:var(--red); font-weight:700; }
      .ctg-debrief-actions { display:flex; gap:10px; margin-top:14px; flex-wrap:wrap; }

      /* GLOSSAR-OVERLAY */
      .ctg-overlay { position:fixed; inset:0; background:rgba(0,0,0,0.85); display:flex; align-items:center; justify-content:center; z-index:50; padding:20px; }
      .ctg-modal { background:var(--panel); border:1px solid var(--green); max-width:640px; width:100%; max-height:80vh; overflow-y:auto; padding:18px 20px; }
      .ctg-gloss-entry { border-bottom:1px dashed var(--border); padding:10px 0; }
      .ctg-gloss-entry:last-child { border-bottom:none; }
      .ctg-gloss-term { color:var(--green); font-weight:700; font-size:12.5px; letter-spacing:1px; text-transform:uppercase; }
      .ctg-gloss-text { font-size:11.5px; line-height:1.65; margin-top:4px; color:var(--text); }
      .ctg-gloss-locked { color:var(--muted); font-size:11.5px; font-style:italic; }

      @media (max-width: 900px) { .ctg-sidebar { flex:1 1 100%; } }
    

.nl-inline{margin:3.5rem 0 0;padding:1.75rem;background:var(--grey-dark,var(--grey,#333));border:1px solid var(--red-border);border-left:3px solid var(--red);display:flex;align-items:center;gap:2rem;flex-wrap:wrap;}
.nl-inline-text{flex:1;min-width:230px;}
.nl-inline-label{font-family:var(--mono);font-size:12px;color:var(--red);letter-spacing:0.18em;text-transform:uppercase;margin-bottom:0.5rem;}
.nl-inline-title{font-family:var(--display);font-size:1.15rem;font-weight:800;color:var(--white);line-height:1.3;letter-spacing:-0.01em;margin-bottom:0.4rem;}
.nl-inline-desc{font-size:0.85rem;color:var(--text-muted);line-height:1.7;}
.nl-inline-btn{display:inline-flex;align-items:center;justify-content:center;background:var(--red);color:var(--white);text-decoration:none;font-family:var(--mono);font-size:12px;letter-spacing:0.09em;text-transform:uppercase;padding:0.8rem 1.5rem;transition:opacity 0.2s;flex-shrink:0;}
.nl-inline-btn:hover{opacity:0.86;}
@media(max-width:640px){.nl-inline{gap:1.25rem;padding:1.4rem;}.nl-inline-btn{width:100%;}}
@media print{.nl-inline{display:none !important;}}
.nl-inline-wrap{max-width:800px;margin:0 auto;padding:0 2rem 1rem;}
@media(max-width:768px){.nl-inline-wrap{padding:0 1.25rem 1rem;}}
