/* ==========================================================================
   upclients · Nova
   Hero mit Nova-Kugel und Gespräch · Chat-Vorführung · Bestätigung (Vorführung) ·
   Zusammenfluss. Klassen tragen das Präfix nx-.
   ========================================================================== */

@keyframes nxPop{0%{opacity:0;transform:translateY(-10px) scale(.94)}60%{opacity:1;transform:translateY(2px) scale(1.02)}100%{opacity:1;transform:none}}
@keyframes nxStep{0%,34%,100%{background:#fff;color:var(--i800);box-shadow:inset 0 0 0 1px rgba(20,30,48,.14);transform:none}8%,24%{background:var(--p800);color:#fff;box-shadow:0 12px 20px -10px rgba(49,83,146,.9);transform:translateY(-2px)}}
@keyframes nxShow{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes nxPulse{0%{box-shadow:0 0 0 0 rgba(131,211,158,.55)}100%{box-shadow:0 0 0 9px rgba(131,211,158,0)}}

/* =====================================================================
   1 · HERO
   ===================================================================== */
.nx-hero{position:relative;color:#fff;overflow:clip;isolation:isolate;padding:calc(var(--hdr) + clamp(20px,4vh,50px)) 0 clamp(50px,8vh,90px)}
.nx-hero::before{content:"";position:absolute;left:50%;bottom:-6%;width:150vw;height:70vh;transform:translateX(-50%);background:radial-gradient(48% 40% at 50% 70%,rgba(121,164,242,.4),rgba(92,136,215,.14) 48%,rgba(92,136,215,0) 74%);pointer-events:none;z-index:-1;animation:dawn 9s ease-in-out infinite alternate}
.nx-hero__grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(24px,4vw,64px);align-items:center;min-height:min(82vh,800px)}
.nx-hero__text{max-width:620px}
.nx-eb{color:var(--p200);letter-spacing:.2em}
.nx-title{font-size:clamp(30px,3.4vw,50px);line-height:1.03;letter-spacing:-.043em;font-weight:800;margin-top:24px;text-wrap:balance;opacity:0;animation:fadeUp 1.1s var(--ease) .1s forwards}
.nx-title .glow,.nx-tl{display:block}
.nx-sub{font-size:clamp(17px,1.4vw,20px);line-height:1.6;color:var(--p200);margin-top:24px;max-width:46ch;opacity:0;animation:fadeUp 1s var(--ease) .4s forwards}
.nx-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px;opacity:0;animation:fadeUp 1s var(--ease) .55s forwards}
.nx-fine{font-size:13px;color:rgba(197,218,255,.72);margin-top:16px;opacity:0;animation:fadeUp 1s var(--ease) .7s forwards}
.rm .nx-title,.rm .nx-sub,.rm .nx-cta,.rm .nx-fine{opacity:1}

.nx-stage{position:relative;width:100%;max-width:560px;margin-left:auto;opacity:0;animation:fadeUp 1.2s var(--ease) .3s forwards}
.rm .nx-stage{opacity:1}
.nx-demo{text-align:center;font-size:12px;color:rgba(197,218,255,.55);margin-top:12px}

.nx-feats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:clamp(36px,6vh,64px)}
.nx-feat{display:flex;gap:16px;align-items:flex-start;padding:22px 24px;border-radius:24px}
.nx-feat .gi{--s:54px}
.nx-feat h3{font-size:18px;font-weight:800;letter-spacing:-.02em}
.nx-feat p{font-size:14.5px;line-height:1.55;color:var(--p200);margin-top:5px}
.nx-tag{display:inline-flex;align-items:center;margin-left:6px;vertical-align:middle;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:3px 9px;border-radius:999px;background:rgba(154,190,255,.18);color:var(--p200);box-shadow:inset 0 0 0 1px rgba(154,190,255,.32);white-space:nowrap}
.nx-tag--dark{background:var(--i100);color:var(--i800);box-shadow:none}

/* =====================================================================
   Abschnitte allgemein
   ===================================================================== */
.nx-sec{position:relative;padding:clamp(90px,12vh,140px) 0}
.nx-split{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,5vw,80px);align-items:center}
.nx-split--rev{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
.nx-split--top{align-items:start;margin-top:clamp(40px,6vh,64px)}
.nx-split--gap{margin-top:clamp(70px,11vh,120px)}
.nx-split--wide{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
.nx-split--rev.nx-split--top{align-items:center}
.nx-sec .sec-head{max-width:1000px}
.nx-sec .sec-head .h2{font-size:clamp(32px,4.1vw,60px)}
.nx-split__text .h2{margin-top:18px;font-size:clamp(30px,3.5vw,50px)}
.nx-h3{font-size:clamp(24px,2.5vw,36px);line-height:1.1;letter-spacing:-.035em;font-weight:800;text-wrap:balance}
.nx-p{font-size:clamp(15.5px,1.15vw,17px);line-height:1.7;color:var(--i800);margin-top:16px;max-width:56ch;text-wrap:pretty}
.nx-h3+.nx-p{margin-top:16px}
.nx-hint{margin-top:20px;font-size:14px;color:var(--i700)}
.nx-cap{margin-top:14px;font-size:11.5px;color:var(--i700);text-align:center}
.nx-link{color:var(--p800);font-weight:700;text-decoration:underline;text-decoration-color:rgba(68,107,180,.4);text-underline-offset:3px;transition:text-decoration-color .3s}
.nx-link:hover{text-decoration-color:var(--p800)}
.nx-note{display:flex;gap:14px;align-items:flex-start;margin-top:24px;max-width:56ch;padding:14px 16px;border-radius:20px;background:#fff;font-size:14.5px;line-height:1.55;color:var(--i800);box-shadow:0 12px 22px -18px rgba(20,30,48,.45),inset 0 0 0 1px rgba(20,30,48,.08)}
.nx-note svg{flex:none;width:36px;height:36px;padding:9px;border-radius:50%;background:var(--p100);fill:none;stroke:var(--p800);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.nx-note b{color:var(--i950)}

/* Karten */
.nx-card{width:100%;max-width:560px;padding:22px 24px 18px;border-radius:30px;background:linear-gradient(180deg,#fff,#F7F9FD);box-shadow:0 50px 90px -50px rgba(20,40,90,.6),inset 0 0 0 1px rgba(20,30,48,.07)}
.nx-split>:last-child.nx-card{margin-left:auto}
.nx-card__hd{display:flex;align-items:center;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--i100)}
.nx-card__hd .gi{--s:40px}
.nx-card__hd b{display:block;font-size:17px;letter-spacing:-.02em}
.nx-card__hd small{display:block;margin-top:1px;font-size:12.5px;line-height:1.4;color:var(--i700)}

/* =====================================================================
   Zusammenfluss
   ===================================================================== */
.nx-conv{position:relative;color:#fff;padding:clamp(100px,14vh,160px) 0 clamp(60px,9vh,100px)}
.nx-flow{position:relative;display:grid;grid-template-columns:minmax(0,230px) minmax(50px,150px) minmax(0,230px) minmax(50px,150px) minmax(0,230px);justify-content:center;align-items:center;margin-top:clamp(28px,4vh,44px)}
.nx-flow__sp{display:block}
.nx-flow__src,.nx-flow__dst{display:grid;gap:18px}
.nx-flow li{display:flex;align-items:center;gap:14px;padding:6px 16px 6px 6px;border-radius:20px;font-size:15px;font-weight:700;background:linear-gradient(160deg,rgba(255,255,255,.12),rgba(255,255,255,.04)),rgba(14,26,58,.4);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);opacity:0;transform:translateX(-16px);transition:opacity .6s var(--ease),transform .7s var(--ease);transition-delay:calc(var(--i) * .1s + .05s)}
.nx-flow__dst li{transform:translateX(16px);transition-delay:calc(var(--i) * .1s + .3s)}
.nx-flow.is-in li{opacity:1;transform:none}
.nx-flow li .gi{--s:44px}
.nx-flow__hub{display:grid;justify-items:center;gap:2px;padding:24px 14px 22px;border-radius:28px;text-align:center}
.nx-flow__hub .gi{--s:64px;margin-bottom:8px}
.nx-flow__hub b{font-size:20px;letter-spacing:-.02em}
.nx-flow__hub small{font-size:12px;font-weight:700;color:var(--p300)}
.nx-flow__p{max-width:64ch;margin:clamp(30px,4vh,44px) auto 0;text-align:center;font-size:clamp(16px,1.3vw,19px);line-height:1.6;color:var(--p200)}



/* Titel, Kennzeichen, Links */
.nx-title{font-size:clamp(32px,3.9vw,56px)}
.nx-inc{display:inline-flex;align-items:center;gap:8px;margin-top:20px;padding:7px 14px 7px 10px;border-radius:999px;background:rgba(131,211,158,.16);box-shadow:inset 0 0 0 1px rgba(131,211,158,.38);font-size:13px;font-weight:800;color:#B5EBC8;opacity:0;animation:fadeUp 1s var(--ease) .8s forwards}
.nx-inc svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.rm .nx-inc{opacity:1}
.nx-link{color:var(--p800);font-weight:700;text-decoration:underline;text-decoration-color:rgba(68,107,180,.4);text-underline-offset:3px}
.nx-link--l{color:#fff;text-decoration-color:rgba(255,255,255,.5)}
.nx-tag{display:inline-flex;align-items:center;margin-left:6px;vertical-align:middle;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:3px 9px;border-radius:999px;background:rgba(154,190,255,.18);color:var(--p200);box-shadow:inset 0 0 0 1px rgba(154,190,255,.32);white-space:nowrap}
.nx-tag--dark{background:var(--i100);color:var(--i800);box-shadow:none}
.nx-split--top{align-items:start;margin-top:clamp(40px,6vh,64px)}
.nx-av{width:48px;height:48px;font-size:14px}
.nx-av--s{width:40px;height:40px;font-size:12.5px}
.av--n{background:var(--i300)}



.nx-title{font-size:clamp(30px,3.6vw,54px)}


.nx-title{font-size:clamp(30px,3.5vw,52px)}
.nx-conv2{position:relative;color:#fff;padding:clamp(100px,14vh,160px) 0 clamp(60px,9vh,100px)}

/* =====================================================================
   Hero: Kugel + Gespräch (reine Vorführung)
   ===================================================================== */
.nx-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px;opacity:0;animation:fadeUp 1s var(--ease) .7s forwards}
.nx-pills li{padding:6px 14px;border-radius:999px;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(154,190,255,.32);font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--p200)}
.rm .nx-pills{opacity:1}
.nx-stage{display:flex;flex-direction:column;align-items:center;max-width:520px;min-height:640px;pointer-events:none;-webkit-user-select:none;user-select:none}
.nx-mode{display:inline-flex;align-items:center;gap:10px;padding:8px 16px;border-radius:999px;background:rgba(255,255,255,.1);box-shadow:inset 0 0 0 1px rgba(255,255,255,.2);font-size:12.5px;font-weight:600;color:var(--p100);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.nx-mode b{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--p300)}
.nx-orb{margin-top:26px;flex:none}
.nx-talk{position:relative;width:min(100%,470px);display:flex;flex-direction:column;gap:10px;margin-top:34px;min-height:250px}
.nx-msg{position:relative;max-width:92%;padding:12px 16px;border-radius:18px;font-size:15px;line-height:1.5;opacity:0;transform:translateY(12px) scale(.98);transition:opacity .5s var(--ease),transform .6s var(--ease)}
.nx-msg.is-in{opacity:1;transform:none}
.nx-msg p{min-height:1.5em}
.nx-msg--du{align-self:flex-end;background:var(--p800);color:#fff;border-bottom-right-radius:6px;box-shadow:0 14px 30px -18px rgba(49,83,146,.9)}
.nx-msg--nova{align-self:flex-start;background:#fff;color:var(--i950);border-bottom-left-radius:6px;box-shadow:0 12px 30px -20px rgba(3,10,30,.6)}
.nx-wave{float:right;display:flex;align-items:center;gap:2px;height:14px;margin:2px 0 0 12px}
.nx-wave i{width:2.5px;height:100%;border-radius:2px;background:rgba(255,255,255,.8);transform:scaleY(.3)}
.nx-msg--du.is-talking .nx-wave i{animation:nxWv .9s ease-in-out infinite}
.nx-wave i:nth-child(2){animation-delay:-.2s}.nx-wave i:nth-child(3){animation-delay:-.45s}.nx-wave i:nth-child(4){animation-delay:-.1s}.nx-wave i:nth-child(5){animation-delay:-.6s}.nx-wave i:nth-child(6){animation-delay:-.3s}
@keyframes nxWv{0%,100%{transform:scaleY(.3)}50%{transform:scaleY(1)}}
.nx-tool{display:flex;align-items:center;gap:8px;align-self:flex-start;padding:5px 12px 5px 10px;border-radius:999px;background:rgba(154,190,255,.16);box-shadow:inset 0 0 0 1px rgba(154,190,255,.32);font:600 12px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--p200);opacity:0;transform:translateY(6px);transition:opacity .4s,transform .5s var(--ease)}
.nx-tool.is-in{opacity:1;transform:none}
.nx-tool i{width:8px;height:8px;border-radius:50%;background:var(--p300);animation:nxBlink 1s ease-in-out infinite}
@keyframes nxBlink{0%,100%{opacity:.35}50%{opacity:1}}
.nx-tool.is-done i{animation:none;background:var(--ok-mid)}
.nx-of{align-self:flex-start;display:flex;align-items:center;gap:12px;width:min(100%,420px);padding:12px 14px;border-radius:16px;background:linear-gradient(135deg,#fff,#F5F8FE);color:var(--i950);box-shadow:0 18px 36px -22px rgba(3,10,30,.7);opacity:0;transform:translateY(10px);transition:opacity .5s var(--ease),transform .6s var(--ease)}
.nx-of.is-in{opacity:1;transform:none}
.nx-of__ic{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--p100)}
.nx-of__ic svg{width:20px;height:20px;fill:none;stroke:var(--p800);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.nx-of div{flex:1;min-width:0}
.nx-of b{display:block;font-size:13.5px}
.nx-of small{display:block;margin-top:2px;font-size:11.5px;color:var(--i700)}
.nx-of em{font-style:normal;font-size:15px;font-weight:800;white-space:nowrap}
.nx-modes{display:flex;gap:6px;margin-top:22px;padding:4px;border-radius:999px;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)}
.nx-modes span{padding:7px 18px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--p200)}
.nx-modes .is-on{background:#fff;color:var(--i950)}
.rm .nx-msg,.rm .nx-tool,.rm .nx-of{opacity:1;transform:none;transition:none}

/* =====================================================================
   Kapitel 01: Was Nova kann
   ===================================================================== */
.nx-can{display:grid;gap:18px}
.nx-can li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:start}
.nx-can .gi{--s:46px}
.nx-can b{display:block;font-size:17px;letter-spacing:-.02em}
.nx-can p{margin-top:4px;font-size:15px;line-height:1.6;color:var(--i800);max-width:44ch}
.nx-card2{width:100%;max-width:560px;padding:22px 24px 18px;border-radius:30px;background:linear-gradient(180deg,#fff,#F7F9FD);box-shadow:0 50px 90px -50px rgba(20,40,90,.6),inset 0 0 0 1px rgba(20,30,48,.07);pointer-events:none;-webkit-user-select:none;user-select:none}
.nx-chat{margin-left:auto}
.nx-chat__hd,.nx-card2__hd{display:flex;align-items:center;gap:10px;padding-bottom:12px;border-bottom:1px solid var(--i100)}
.nx-chat__hd b{font-size:16px;letter-spacing:-.02em}
.nx-chat__hd small{font-size:12.5px;color:var(--i700)}
.nx-dot{width:9px;height:9px;border-radius:50%;background:var(--ok-mid);box-shadow:0 0 0 4px rgba(131,211,158,.3)}
.nx-chat__tabs{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.nx-chat__tabs span{padding:6px 12px;border-radius:999px;background:var(--i50);box-shadow:inset 0 0 0 1px rgba(20,30,48,.1);font-size:12px;font-weight:800;color:var(--i700);transition:background .35s,color .35s,box-shadow .35s}
.nx-chat__tabs .is-on{background:var(--p800);color:#fff;box-shadow:none}
.nx-chat__box{display:flex;flex-direction:column;gap:10px;min-height:212px;margin-top:14px}
.nx-chat .nx-msg{font-size:14.5px}
.nx-chat .nx-msg--nova{box-shadow:0 10px 24px -18px rgba(20,30,48,.5),inset 0 0 0 1px var(--i100)}
.nx-chat .nx-tool{background:var(--p100);box-shadow:none;color:var(--p800)}
.nx-chat .nx-tool i{background:var(--p700)}
.nx-vn{display:grid;grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr);gap:8px;align-items:center;margin-top:8px;padding:12px 14px;border-radius:16px;background:var(--i50);box-shadow:inset 0 0 0 1px rgba(20,30,48,.06)}
.nx-vn small{display:block;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--i700)}
.nx-vn b{display:block;margin-top:2px;font-size:13px;line-height:1.35;color:var(--i800)}
.nx-vn__n b{color:var(--ok)}
.nx-vn i{position:relative;height:2px;background:var(--p400)}
.nx-vn i::after{content:"";position:absolute;right:-1px;top:-3px;width:7px;height:7px;border-top:2px solid var(--p400);border-right:2px solid var(--p400);transform:rotate(45deg)}
.nx-chat.is-out .nx-chat__box,.nx-chat.is-out .nx-vn{opacity:0;transition:opacity .4s}
.nx-more{margin-top:clamp(36px,5vh,56px);max-width:70ch;font-size:15.5px;line-height:1.65;color:var(--i800)}
.nx-link{color:var(--p800);font-weight:700;text-decoration:underline;text-decoration-color:rgba(68,107,180,.4);text-underline-offset:3px;white-space:nowrap}

/* =====================================================================
   Kapitel 02: Vertrauen und Grenzen
   ===================================================================== */
.nx-ok{position:relative;margin-left:0}
.nx-card2__hd b{display:block;font-size:16px;letter-spacing:-.02em}
.nx-card2__hd small{display:block;font-size:12.5px;color:var(--i700)}
.nx-card2__hd .s-chip{margin-left:auto;flex:none}
.nx-card2__hd .gi{--s:40px}
.nx-ok__body{display:grid;gap:14px;justify-items:start;margin-top:18px}
.nx-ok__st{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:14px;background:var(--warn-soft);font-size:13.5px;font-weight:800;color:#5A4A00;width:100%;transition:background .5s,color .5s}
.nx-ok__st svg{flex:none;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.nx-ok__btn{display:inline-flex;align-items:center;gap:9px;padding:12px 20px 12px 16px;border-radius:12px;background:var(--p800);font-size:14px;font-weight:800;color:#fff;box-shadow:0 16px 26px -14px rgba(49,83,146,.9);transition:transform .2s,opacity .5s}
.nx-ok__btn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.nx-ok__btn.is-press{transform:scale(.94)}
.nx-ok.is-sent .nx-ok__st{background:var(--ok-soft);color:var(--ok)}
.nx-ok.is-sent .nx-ok__btn{opacity:.35}
.nx-cursor{position:absolute;left:0;top:0;z-index:40;width:26px;height:26px;pointer-events:none;opacity:0;transform-origin:5px 3.5px;filter:drop-shadow(0 3px 5px rgba(20,30,48,.5));transition:opacity .35s,scale .14s var(--ease);will-change:translate}
.nx-cursor.is-on{opacity:1}
.nx-cursor.is-press{scale:.82}
.nx-cursor svg{width:100%;height:100%;fill:#fff;stroke:#141E30;stroke-width:1.4;stroke-linejoin:round}
.nx-rules{display:grid;gap:16px}
.nx-rules li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start;font-size:15px;line-height:1.55;color:var(--i800)}
.nx-rules b{color:var(--i950)}
.nx-rules svg{width:22px;height:22px;padding:4px;border-radius:50%;background:var(--ok-soft);fill:none;stroke:var(--ok);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.nx-rules i{position:relative;width:22px;height:22px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--i300)}
.nx-rules i::before{content:"";position:absolute;left:6px;right:6px;top:50%;height:2px;margin-top:-1px;background:var(--i400);border-radius:2px}
.nx-rules__n:first-of-type{margin-top:6px;padding-top:16px;border-top:1px solid var(--i200)}

/* =====================================================================
   Responsiv
   ===================================================================== */
@media (max-width:1100px){
  .nx-flow{grid-template-columns:minmax(0,200px) minmax(30px,90px) minmax(0,200px) minmax(30px,90px) minmax(0,200px)}
}
@media (max-width:900px){
  .nx-hero__grid{grid-template-columns:minmax(0,1fr);min-height:0;gap:36px}
  .nx-hero__text{max-width:none}
  .nx-stage{margin:0 auto;min-height:0}
  .nx-split,.nx-split--rev,.nx-split--wide{grid-template-columns:minmax(0,1fr)}
  .nx-split--rev .nx-split__text{order:-1}
  .nx-card2{margin:0 auto !important;max-width:640px}
}
@media (max-width:760px){
  .nx-flow{grid-template-columns:minmax(0,1fr);gap:0;justify-items:center}
  .nx-flow__src,.nx-flow__dst{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;max-width:420px}
  .nx-flow li{padding:4px 14px 4px 4px;gap:10px;font-size:14px;border-radius:16px;transform:translateY(10px)}
  .nx-flow__dst li{transform:translateY(10px)}
  .nx-flow li .gi{--s:34px}
  .nx-flow__sp{width:100%;display:grid;justify-items:center}
  .nx-flow__hub{grid-template-columns:auto auto;justify-items:start;text-align:left;column-gap:14px;padding:14px 22px 14px 14px}
  .nx-flow__hub .gi{grid-row:1/3;margin:0;--s:52px}
}
@media (max-width:560px){
  .nx-sec .eyebrow{flex-wrap:wrap;white-space:normal;row-gap:8px}
  .nx-sec .eyebrow::after{display:none}
  .nx-chat__box{min-height:250px}
  .nx-vn{grid-template-columns:minmax(0,1fr)}
  .nx-vn i{display:none}
  .nx-talk{min-height:270px}
}
@media (max-width:460px){
  .nx-card2{padding-left:16px;padding-right:16px}
}

/* =====================================================================
   Ergebnis öffnen (Kapitel 02) und Link-Chips
   ===================================================================== */
.nx-of__r{display:grid;justify-items:end;gap:2px;text-align:right}
.nx-of__open{font-size:11.5px;font-weight:800;color:var(--p700);white-space:nowrap}
.nx-lnk{display:inline-flex;align-items:center;gap:7px;align-self:flex-start;padding:6px 12px 6px 9px;border-radius:999px;background:var(--p100);box-shadow:inset 0 0 0 1px rgba(68,107,180,.3);font-size:12.5px;font-weight:800;color:var(--p800);opacity:0;transform:translateY(6px);transition:opacity .4s,transform .5s var(--ease)}
.nx-lnk.is-in{opacity:1;transform:none}
.nx-lnk svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.nx-lnk span::after{content:" →"}
.nx-ok__stage{display:grid;margin-top:16px}
.nx-ok__a,.nx-ok__b{grid-area:1/1;display:flex;flex-direction:column;gap:10px;transition:opacity .55s var(--ease),transform .6s var(--ease)}
.nx-ok__b{opacity:0;transform:translateY(10px)}
.nx-ok[data-s="1"] .nx-ok__a{opacity:0;transform:translateY(-8px)}
.nx-ok[data-s="1"] .nx-ok__b{opacity:1;transform:none}
.nx-ok__a .nx-msg{max-width:100%}
.nx-ok .nx-of{width:100%;box-shadow:inset 0 0 0 1.5px var(--p300),0 12px 24px -16px rgba(20,30,48,.4);transition:box-shadow .3s,transform .2s}
.nx-ok .nx-of.is-press{transform:scale(.98);box-shadow:inset 0 0 0 2px var(--p700)}
.nx-doc{padding:14px 16px 12px;border-radius:18px;background:var(--i50);box-shadow:inset 0 0 0 1px rgba(20,30,48,.07)}
.nx-doc ul{display:grid;gap:9px}
.nx-doc li{display:flex;justify-content:space-between;gap:12px;font-size:13.5px;color:var(--i800)}
.nx-doc em{font-style:normal;font-weight:700;color:var(--i950);white-space:nowrap;font-variant-numeric:tabular-nums}
.nx-doc__peek{color:var(--i400);-webkit-mask-image:linear-gradient(180deg,#000,transparent);mask-image:linear-gradient(180deg,#000,transparent)}
.nx-doc__tot{display:flex;justify-content:space-between;align-items:baseline;margin-top:10px;padding-top:10px;border-top:1px solid var(--i200);font-size:13px;font-weight:700;color:var(--i800)}
.nx-doc__tot b{font-size:20px;letter-spacing:-.03em;color:var(--i950)}
.nx-ok__st{display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:14px;background:var(--warn-soft);font-size:13px;font-weight:800;color:#5A4A00}
.nx-ok__st svg{flex:none;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* =====================================================================
   Sternbild: Nova und alle Bereiche (sauberer Kreis)
   ===================================================================== */
@keyframes nxBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes nxMarch{to{stroke-dashoffset:-20}}
.nx-const{position:relative;width:100%;max-width:640px;margin:clamp(24px,4vh,44px) auto 0;aspect-ratio:1/.92}
.nx-links{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.nx-base{fill:none;stroke:rgba(154,190,255,.18);stroke-width:1.4}
.nx-spoke{fill:none;stroke:rgba(154,190,255,.24);stroke-width:1;stroke-dasharray:1 7;stroke-linecap:round;transition:stroke .4s,stroke-width .4s}
.nx-spoke.is-on{stroke:#DDEBFF;stroke-width:2;stroke-dasharray:2 8;animation:nxMarch .8s linear infinite;filter:drop-shadow(0 0 6px rgba(154,190,255,.9))}
.nx-run{fill:#fff;opacity:0;filter:drop-shadow(0 0 7px #9ABEFF) drop-shadow(0 0 16px #79A4F2)}
.nx-core{position:absolute;left:50%;top:50%;z-index:1;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center}
.nx-core .orb{width:clamp(88px,11vw,124px);margin:0}
.nx-core__lbl{margin-top:14px;font-size:11px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--p200)}
.nx-node{position:absolute;left:0;top:0;z-index:2;--t:clamp(54px,6.4vw,74px);display:flex;flex-direction:column;align-items:center;gap:8px;width:calc(var(--t) * 2.1);margin:calc(var(--t) * -.5) 0 0 calc(var(--t) * -1.05);text-align:center;outline:none;transition:opacity .3s}
.nx-node__tile{--s:var(--t);animation:nxBob 7s ease-in-out infinite;animation-delay:var(--bd,0s)}
.nx-node__lbl{font-size:12.5px;font-weight:700;line-height:1.25;color:var(--p200);text-wrap:balance;text-shadow:0 0 5px rgba(20,40,84,.95),0 0 10px rgba(20,40,84,.9),0 0 16px rgba(20,40,84,.8);transition:color .3s}
.nx-node.is-on .nx-node__lbl{color:#fff}
.nx-const.has-on .nx-node:not(.is-on){opacity:.78}
.js .nx-const:not(.is-ready) .nx-node{opacity:0}
.nx-const__now{display:none;margin-top:14px;text-align:center}
.nx-const__now b{display:inline-block;padding:7px 16px;border-radius:999px;background:rgba(255,255,255,.1);box-shadow:inset 0 0 0 1px rgba(255,255,255,.22);font-size:13px;font-weight:800;color:#fff}
.nx-link--l{color:#fff;text-decoration-color:rgba(255,255,255,.5)}
.rm .nx-node__tile,.rm .nx-spoke.is-on{animation:none}
@media (max-width:700px){
  .nx-const{aspect-ratio:1/1.02}
  .nx-node{--t:clamp(44px,12.5vw,54px)}
  .nx-node__lbl{display:none}
  .nx-core .orb{width:clamp(76px,22vw,96px)}
  .nx-const__now{display:block}
}
