.dti-nav {
    --dti-gold: #e7bd58;
    --dti-ivory: #fff8e9;
    --dti-night: #061528;
    --dti-earth: #6d4824;
    box-sizing: border-box;
    position: relative;
    width: 100vw !important;
    max-width: none !important;
    margin: 1.5rem 0 3rem calc(50% - 50vw) !important;
    padding: 0 clamp(18px, 3vw, 56px);
    clear: both;
    font-family: inherit;
}

.dti-nav *, .dti-nav *::before, .dti-nav *::after { box-sizing: border-box; }

.dti-nav__layout {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: clamp(24px, 3vw, 52px);
    width: 100%;
    max-width: 1580px;
    margin: 0 auto;
}

.dti-nav__stage {
    position: relative;
    flex: 0 0 clamp(700px, calc(100vw - 510px), 1080px);
    width: clamp(700px, calc(100vw - 510px), 1080px) !important;
    height: clamp(700px, calc(100vw - 510px), 1080px) !important;
    max-width: none !important;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: 50%;
    isolation: isolate;
    background: #efe7d7;
    box-shadow: 0 22px 60px rgba(23,17,9,.22), 0 0 0 1px rgba(212,169,74,.22);
}

.dti-nav__background {
    position: absolute;
    inset: 0;
    z-index: 0;
    border-radius: inherit;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    transition: transform .9s cubic-bezier(.2,.8,.2,1), filter .5s ease;
    transform-origin: center;
}
.dti-nav--caelum .dti-nav__background { background-color: var(--dti-night); }
.dti-nav--orbis .dti-nav__background { background-color: #f4ecda; }
.dti-nav.is-moving .dti-nav__background { filter: saturate(1.06) brightness(.94); }

.dti-nav__nodes, .dti-nav__edges { position:absolute; inset:0; }
.dti-nav__edges { z-index:1; width:100%; height:100%; pointer-events:none; }
.dti-nav__edge { stroke:rgba(239,205,130,.62); stroke-width:1.15; stroke-dasharray:3 4; vector-effect:non-scaling-stroke; transition:opacity .5s ease; }
.dti-nav__edge.strength-4 { stroke-width:1.8; stroke-dasharray:2 2; }
.dti-nav__edge.strength-5 { stroke-width:2.4; stroke-dasharray:none; }
.dti-nav__nodes { z-index:2; pointer-events:none; }

.dti-nav__node {
    position:absolute;
    transform:translate(-50%,-50%);
    max-width:168px;
    border:1px solid rgba(229,193,112,.94);
    border-radius:999px;
    padding:.48rem .78rem;
    background:rgba(7,23,44,.9);
    color:var(--dti-ivory);
    font-family:Georgia,'Times New Roman',serif;
    font-size:clamp(.72rem,.82vw,.96rem);
    line-height:1.12;
    text-align:center;
    box-shadow:0 3px 12px rgba(0,0,0,.32);
    cursor:pointer;
    pointer-events:auto;
    transition:left .85s cubic-bezier(.2,.8,.2,1),top .85s cubic-bezier(.2,.8,.2,1),transform .25s ease,opacity .35s ease,background .25s ease;
}
.dti-nav--orbis .dti-nav__node { background:rgba(86,56,25,.91); }
.dti-nav__node[data-strength="1"] { opacity:.66; }
.dti-nav__node[data-strength="2"] { opacity:.78; }
.dti-nav__node[data-strength="3"] { opacity:.9; }
.dti-nav__node[data-strength="4"], .dti-nav__node[data-strength="5"] { opacity:1; }
.dti-nav__node:hover,.dti-nav__node:focus-visible { transform:translate(-50%,-50%) scale(1.07); background:rgba(117,76,27,.97); outline:2px solid #fff7df; outline-offset:2px; }
.dti-nav__node.is-current {
    max-width:210px;
    padding:.78rem 1.1rem;
    background:linear-gradient(145deg,#f1ce72,#b97b16);
    color:#171006;
    font-size:clamp(1rem,1.15vw,1.3rem);
    font-weight:700;
    box-shadow:0 0 0 5px rgba(255,244,210,.3),0 10px 28px rgba(0,0,0,.42);
}

.dti-nav__sidebar {
    flex: 0 0 390px;
    width:390px;
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:16px;
}
.dti-nav__intro {
    margin:0;
    padding:0 6px;
    text-align:left;
    font-style:italic;
    color:#4b4236;
    line-height:1.45;
}
.dti-nav__toolbar { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:0; }
.dti-nav__control {
    min-height:62px;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:11px;
    border:1px solid rgba(157,193,255,.26);
    border-radius:15px;
    padding:.72rem .88rem;
    background:linear-gradient(145deg,rgba(11,31,61,.98),rgba(15,44,81,.96));
    color:#f7fbff;
    font:inherit;
    font-weight:650;
    cursor:pointer;
    box-shadow:0 12px 28px rgba(6,20,43,.18),inset 0 1px 0 rgba(255,255,255,.07);
    transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,filter .2s ease;
}
.dti-nav--orbis .dti-nav__control { border-color:rgba(230,181,89,.3); background:linear-gradient(145deg,#6c431e,#3f2819); }
.dti-nav__fors { background:linear-gradient(145deg,#311c55,#161c4c); border-color:rgba(197,131,255,.35); }
.dti-nav--orbis .dti-nav__fors { background:linear-gradient(145deg,#784006,#4a2511); border-color:rgba(255,186,68,.36); }
.dti-nav__control:hover,.dti-nav__control:focus-visible { transform:translateY(-2px); filter:brightness(1.08); border-color:rgba(255,216,128,.7); box-shadow:0 16px 34px rgba(8,22,46,.25),inset 0 1px 0 rgba(255,255,255,.1); }
.dti-nav__control-icon { display:grid; place-items:center; flex:0 0 34px; width:34px; height:34px; border-radius:50%; background:rgba(255,255,255,.08); color:#f4cd6a; font-size:1.25rem; }
.dti-nav__control-icon--fors { color:#e6a7ff; }
.dti-nav--orbis .dti-nav__control-icon--fors { color:#ffd274; }
.dti-nav__control span:last-child { display:flex; flex-direction:column; align-items:flex-start; line-height:1.18; }
.dti-nav__control small { display:block; margin-top:3px; color:rgba(255,255,255,.68); font-size:.72rem; font-weight:400; }

.dti-nav__panel {
    position:relative;
    z-index:80;
    width:100%;
    min-width:0;
    padding:1.7rem 1.45rem 1.45rem;
    border:1px solid rgba(116,184,255,.34);
    border-radius:22px;
    color:#f8fbff;
    text-align:center;
    overflow:hidden;
    isolation:isolate;
    background:
      radial-gradient(circle at 14% 4%,rgba(0,198,255,.2),transparent 34%),
      radial-gradient(circle at 92% 10%,rgba(160,90,255,.25),transparent 38%),
      linear-gradient(145deg,rgba(5,23,48,.99),rgba(13,35,71,.98) 50%,rgba(43,21,76,.97));
    box-shadow:0 22px 48px rgba(7,15,35,.32),inset 0 1px 0 rgba(255,255,255,.08);
    backdrop-filter:blur(14px);
}
.dti-nav__panel::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(118deg,transparent 12%,rgba(255,255,255,.055) 48%,transparent 72%); transform:translateX(-46%); }
.dti-nav__panel::after { content:""; display:block; width:74px; height:2px; margin:.85rem auto 0; background:linear-gradient(90deg,transparent,#f4ce75,transparent); }
.dti-nav--orbis .dti-nav__panel {
    border-color:rgba(244,199,111,.4);
    background:
      radial-gradient(circle at 12% 4%,rgba(255,186,73,.21),transparent 35%),
      radial-gradient(circle at 92% 10%,rgba(210,111,48,.19),transparent 38%),
      linear-gradient(145deg,rgba(74,43,18,.99),rgba(103,59,23,.98) 52%,rgba(48,27,20,.99));
    box-shadow:0 22px 48px rgba(58,32,14,.28),inset 0 1px 0 rgba(255,255,255,.09);
}
.dti-nav__panel-title { margin:0 0 .5rem; color:#f2d78f; font-family:Georgia,'Times New Roman',serif; font-size:clamp(1.45rem,2vw,1.95rem); letter-spacing:.015em; text-shadow:0 1px 12px rgba(255,205,93,.18); }
.dti-nav__panel-description { margin:0 auto 1.05rem; max-width:42ch; color:rgba(247,250,255,.88); font-size:.94rem; line-height:1.5; }
.dti-nav__counts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; margin-top:.4rem; }
.dti-nav__count { display:flex; min-height:88px; flex-direction:column; align-items:center; justify-content:center; gap:.18rem; padding:.78rem .65rem; border:1px solid rgba(170,214,255,.21); border-radius:16px; background:linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.025)); color:rgba(247,250,255,.82); box-shadow:inset 0 1px 0 rgba(255,255,255,.06); font-size:.78rem; text-transform:uppercase; letter-spacing:.04em; }
.dti-nav__count strong { display:block; color:#f3ca67; font-family:Georgia,'Times New Roman',serif; font-size:1.75rem; line-height:1; }
.dti-nav--caelum .dti-nav__count:nth-child(2) strong { color:#9d8cff; }
.dti-nav--orbis .dti-nav__count:nth-child(2) strong { color:#ffd998; }
.dti-nav__actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; margin-top:.95rem; }
.dti-nav__action { display:inline-flex; align-items:center; justify-content:center; min-height:48px; border:1px solid rgba(255,214,119,.64); border-radius:12px; padding:.68rem .78rem; background:linear-gradient(135deg,#f3ca64,#c8861b); color:#211507; font-size:.84rem; font-weight:750; text-decoration:none; box-shadow:0 9px 20px rgba(170,105,20,.18); transition:transform .2s ease,filter .2s ease,box-shadow .2s ease; }
.dti-nav__action--secondary { border-color:rgba(164,123,255,.48); background:linear-gradient(135deg,#7f3bc6,#4e198b); color:#fff; box-shadow:0 9px 20px rgba(92,35,155,.2); }
.dti-nav--orbis .dti-nav__action--secondary { border-color:rgba(246,207,128,.44); background:linear-gradient(135deg,#8b5623,#563019); }
.dti-nav__action:hover,.dti-nav__action:focus-visible { transform:translateY(-2px); filter:brightness(1.08); box-shadow:0 13px 26px rgba(12,30,61,.24); text-decoration:none; }

.dti-nav__status { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }

@media (max-width: 1260px) {
    .dti-nav__stage { flex-basis:clamp(650px,calc(100vw - 445px),900px); width:clamp(650px,calc(100vw - 445px),900px)!important; height:clamp(650px,calc(100vw - 445px),900px)!important; }
    .dti-nav__sidebar { flex-basis:350px; width:350px; }
}
@media (max-width: 1050px) {
    .dti-nav { padding:0 18px; }
    .dti-nav__layout { flex-direction:column; }
    .dti-nav__stage { flex:0 0 auto; width:min(94vw,900px)!important; height:min(94vw,900px)!important; }
    .dti-nav__sidebar { width:min(94vw,760px); flex-basis:auto; }
    .dti-nav__intro { text-align:center; }
}
@media (max-width:700px) {
    .dti-nav { padding:0 10px; }
    .dti-nav__stage { width:min(96vw,700px)!important; height:min(96vw,700px)!important; }
    .dti-nav__node { max-width:105px; padding:.31rem .48rem; font-size:clamp(.53rem,2.25vw,.72rem); box-shadow:0 1px 5px rgba(0,0,0,.25); }
    .dti-nav__node.is-current { max-width:142px; padding:.52rem .72rem; font-size:clamp(.74rem,3vw,.98rem); }
    .dti-nav__toolbar { grid-template-columns:1fr; }
    .dti-nav__panel { padding:1.2rem .9rem 1.05rem; border-radius:18px; }
    .dti-nav__counts,.dti-nav__actions { grid-template-columns:1fr 1fr; }
}
@media (max-width:440px) { .dti-nav__counts,.dti-nav__actions { grid-template-columns:1fr; } }
@media (prefers-reduced-motion:reduce) { .dti-nav *,.dti-nav *::before,.dti-nav *::after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation-duration:.01ms!important; animation-iteration-count:1!important; } }
