/* Biologické dvojča */
.tw{position:relative;padding:118px 0 70px;overflow:hidden;background:var(--bg)}
.tw-bg{position:absolute;inset:0;pointer-events:none;background:radial-gradient(40% 50% at 28% 42%,rgba(234,223,63,.09),transparent 70%),radial-gradient(30% 40% at 80% 10%,rgba(61,220,151,.05),transparent 70%)}
.tw-bg::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:radial-gradient(60% 60% at 30% 45%,#000,transparent);mask-image:radial-gradient(60% 60% at 30% 45%,#000,transparent)}
.tw-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:40px;align-items:start}
.tw-stage{position:sticky;top:84px;height:min(78vh,760px);min-height:520px;touch-action:pan-y;cursor:grab;user-select:none;-webkit-user-select:none}
.tw-stage.drag{cursor:grabbing}
.tw-stage::before{content:"";position:absolute;left:50%;bottom:1%;width:56%;height:9%;transform:translateX(-50%);background:radial-gradient(closest-side,rgba(234,223,63,.18),transparent);border-radius:50%}
.tw-stage::after{content:"";position:absolute;left:50%;bottom:3.2%;width:min(46%,260px);height:min(6%,40px);transform:translateX(-50%);border:1px solid rgba(234,223,63,.3);border-radius:50%;box-shadow:0 0 0 14px rgba(234,223,63,.035),0 0 0 32px rgba(234,223,63,.018),inset 0 0 30px rgba(234,223,63,.12)}
.tw-cv{position:absolute;inset:0;display:block}
.tw-pins{position:absolute;inset:0;pointer-events:none}
.tw-pin{position:absolute;left:0;top:0;pointer-events:auto;display:flex;align-items:center;gap:8px;background:none;border:0;padding:0;color:var(--tx);font:600 .78rem/1 Sora,sans-serif;cursor:pointer;will-change:transform;transition:opacity .3s}
.tw-pin i{position:relative;flex:none;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:var(--c,#777);box-shadow:0 0 0 4px color-mix(in srgb,var(--c) 22%,transparent),0 0 18px var(--c)}
.tw-pin i::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:1px solid var(--c);opacity:.6;animation:twP 2.4s ease-out infinite}
.tw-pin span{position:absolute;left:14px;top:-12px;white-space:nowrap;padding:6px 10px 6px 18px;border-radius:99px;background:rgba(11,12,15,.72);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:border-color .2s,background .2s}
.tw-pin span::before{content:"";position:absolute;left:-8px;top:50%;width:16px;height:1px;background:var(--c)}
.tw-pin.l span{left:auto;right:14px;padding:6px 18px 6px 10px}.tw-pin.l span::before{left:auto;right:-8px}
.tw-pin:hover span,.tw-pin.sel span,.tw-pin:focus-visible span{border-color:var(--c);background:rgba(11,12,15,.92)}
.tw-pin.back{opacity:.28}.tw-pin.back span{opacity:0}
.tw-pin.sel{opacity:1}.tw-pin.sel span{opacity:1}
@keyframes twP{from{transform:scale(.6);opacity:.8}to{transform:scale(1.8);opacity:0}}
.st-opt{--c:var(--ok)}.st-norm{--c:var(--y)}.st-out{--c:var(--err)}.st-info{--c:#8cbfff}.st-none{--c:#6f737c}
.tw-hint{position:absolute;left:0;right:0;bottom:-26px;text-align:center;font-size:.78rem;color:var(--tx3,#8b8f98);display:flex;gap:6px;justify-content:center;align-items:center}
.tw-hint svg{width:14px;height:14px;color:var(--y)}
.tw-nogl .tw-cv{display:none}
.tw-side{padding-top:10px}
.tw-side h1 em{display:block}
.tw-demo{margin-top:22px;padding:16px 18px;border-radius:16px;border:1px dashed rgba(234,223,63,.45);background:rgba(234,223,63,.05);display:grid;grid-template-columns:1fr auto;gap:6px 16px;align-items:center}
.tw-demo .chip{justify-self:start}.tw-demo p{grid-column:1;margin:0;font-size:.88rem;color:var(--tx2)}.tw-demo .btn{grid-column:2;grid-row:1/3}
.tw-sum{margin-top:26px;display:grid;grid-template-columns:120px 1fr;gap:22px;align-items:center}
.tw-ring{position:relative;width:120px;height:120px}
.tw-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.tw-ring circle{fill:none;stroke:rgba(255,255,255,.08);stroke-width:8}
.tw-ring .tw-ring-v{stroke:var(--y);stroke-linecap:round;stroke-dasharray:var(--p) 100;filter:drop-shadow(0 0 6px rgba(234,223,63,.5))}
.tw-ring b{position:absolute;inset:0;display:grid;place-items:center;font:700 1.9rem/1 Sora,sans-serif;letter-spacing:-.04em}.tw-ring b small{font-size:.9rem;margin-left:1px;color:var(--tx2)}
.tw-ring b{grid-auto-flow:column;align-content:center;justify-content:center;align-items:baseline}
.tw-cnt{list-style:none;display:flex;flex-wrap:wrap;gap:8px 16px;margin:10px 0 0;padding:0;font-size:.85rem;color:var(--tx2)}
.tw-cnt li{display:flex;align-items:center;gap:6px}.tw-cnt i{width:8px;height:8px;border-radius:50%;background:var(--c);box-shadow:0 0 8px var(--c)}.tw-cnt b{color:var(--tx)}
.tw-h3{font:600 .72rem Sora,sans-serif;letter-spacing:.22em;text-transform:uppercase;color:var(--tx3,#8b8f98);margin:0 0 10px}
.tw-src{margin-top:26px}
.tw-src ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0}
.tw-src li>*{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:99px;font-size:.82rem;border:1px solid rgba(255,255,255,.1);color:var(--tx2);text-decoration:none}
.tw-src li svg{width:14px;height:14px}
.tw-src li.on>*{border-color:rgba(61,220,151,.35);color:var(--tx);background:rgba(61,220,151,.06)}.tw-src li.on svg{color:var(--ok)}
.tw-src li a{border-style:dashed}.tw-src li a:hover{border-color:var(--y);color:var(--y)}
.tw-det{margin-top:24px}
.tw-pick{display:flex;gap:10px;align-items:center;padding:14px 18px;border-radius:18px;border:1px solid rgba(255,255,255,.08);color:var(--tx2);font-size:.92rem;margin:0}
.tw-pick svg{width:18px;height:18px;color:var(--y);flex:none}
.tw-card{position:relative;padding:20px 22px;border-radius:20px;background:linear-gradient(160deg,color-mix(in srgb,var(--c) 10%,var(--bg3)),var(--bg2) 70%);border:1px solid color-mix(in srgb,var(--c) 40%,transparent);box-shadow:0 30px 60px -40px var(--c);animation:twIn .35s ease both}
@keyframes twIn{from{opacity:0}}
.tw-card header{display:flex;align-items:center;gap:10px}
.tw-card h3{font:600 1.15rem Sora,sans-serif;margin:0}
.tw-card header em{font-style:normal;font-size:.78rem;padding:3px 9px;border-radius:99px;background:color-mix(in srgb,var(--c) 18%,transparent);color:var(--c)}
.tw-dot{width:10px;height:10px;border-radius:50%;background:var(--c);box-shadow:0 0 12px var(--c)}
.tw-x{margin-left:auto;background:none;border:0;color:var(--tx3,#8b8f98);font-size:1.4rem;line-height:1;cursor:pointer;padding:2px 6px}
.tw-rows{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:2px}
.tw-rows li{display:grid;grid-template-columns:10px 1fr auto;gap:12px;align-items:center;padding:9px 0;border-top:1px solid rgba(255,255,255,.06)}
.tw-rows i{width:8px;height:8px;border-radius:50%;background:var(--c)}
.tw-rows span{font-size:.92rem}.tw-rows small{display:block;font-size:.72rem;color:var(--tx3,#8b8f98);margin-top:2px}
.tw-rows b{font:600 .95rem Sora,sans-serif;white-space:nowrap}
.tw-acts{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:14px;font-size:.88rem}.tw-acts a{color:var(--y);text-decoration:none}.tw-acts a:hover{text-decoration:underline}
.tw-list{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin-top:46px}
.tw-li{display:flex;gap:10px;align-items:flex-start;text-align:start;padding:14px;border-radius:16px;background:var(--bg2);border:1px solid rgba(255,255,255,.07);color:var(--tx);font:600 .86rem/1.25 Sora,sans-serif;cursor:pointer;transition:border-color .2s,background .2s}
.tw-li i{flex:none;width:9px;height:9px;margin-top:4px;border-radius:50%;background:var(--c);box-shadow:0 0 10px var(--c)}
.tw-li small{display:block;font:400 .74rem Inter,sans-serif;color:var(--tx3,#8b8f98);margin-top:4px}
.tw-li:hover,.tw-li.sel{border-color:var(--c);background:color-mix(in srgb,var(--c) 7%,var(--bg2))}
.tw-fx{margin-top:22px;display:flex;justify-content:space-between;align-items:center;gap:20px;border-color:var(--y-a3)}
.tw-fx p{margin:4px 0 0}
.tw-note{margin-top:14px;text-align:center}
@media (max-width:1100px){.tw-list{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:900px){
  .tw{padding-top:96px}
  .tw-grid{grid-template-columns:1fr;gap:10px}
  .tw-side{display:contents}
  .tw-side>*{order:0}.tw-stage{order:1}.tw-det{order:2}.tw-sum{order:3}.tw-src{order:4}
  .tw-stage{position:relative;top:0;height:min(118vw,600px);min-height:460px;margin:6px -16px 0}
  .tw-pin span{font-size:.7rem;padding:5px 8px 5px 14px}.tw-pin.l span{padding:5px 14px 5px 8px}
  .tw-sum{grid-template-columns:96px 1fr;gap:16px;margin-top:18px}.tw-ring{width:96px;height:96px}
  .tw-list{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:20px}
  .tw-det{min-height:0;margin-top:6px}.tw-pick{display:none}
  .tw-side>.eyebrow{margin-top:0}
  .tw-fx{flex-direction:column;align-items:flex-start}
}
@media (prefers-reduced-motion:reduce){.tw-pin i::after{animation:none}.tw-card{animation:none}}
/* vždy tmavá scéna aj v svetlom režime */
.tw{color-scheme:dark;--bg:#060708;--bg2:#0B0C0F;--bg3:#111318;--bg4:#171A20;--line:rgba(255,255,255,.08);--line2:rgba(255,255,255,.14);--tx:#ECEAE4;--tx2:#B9BBC2;--mute:#80858F;--dim:#5C616B;--ok:#3DDC97;--err:#FF6B6B;--y-a1:rgba(234,223,63,.08);--y-a2:rgba(234,223,63,.16);--y-a3:rgba(234,223,63,.35);color:var(--tx)}
html.light .tw h1,html.light .tw h2,html.light .tw h3{color:var(--tx)}html.light .tw h1 em{color:var(--y)}html.light .tw .lead{color:var(--tx2)}html.light .tw .small-muted{color:var(--mute)}html.light .tw .panel{background:var(--bg2);border-color:var(--line)}html.light .tw .eyebrow{color:var(--y)}html.light .tw .chip{color:var(--tx);border-color:var(--line2);background:rgba(255,255,255,.04)}
