.nt-lab{font-size:12.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--u-soft);margin:0 0 8px}
.nt-pick{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.nt-wide{grid-column:1/-1}

.sg-btn{all:unset;cursor:pointer;padding:9px 16px;border-radius:999px;background:#fff;font-weight:700;font-size:14.5px;color:var(--u-navy);
  box-shadow:inset 0 0 0 1.5px var(--u-edge);transition:background .2s,transform .2s,color .2s}
.sg-btn:hover{transform:translateY(-2px)}
.sg-btn.on{background:var(--u-navy);color:#fff;box-shadow:none}
.sg-btn:focus-visible{outline:3px solid var(--sg-blue);outline-offset:2px}

.nt-hero{position:relative;height:262px;border-radius:18px;background:radial-gradient(120% 90% at 50% 30%,#FFFFFF 55%,#F1F5FB);box-shadow:var(--u-sh);overflow:hidden}
.nt-hero .nt-stage{position:absolute;inset:0 0 40px 0;height:auto;background:none;box-shadow:none}
.nt-hcap{position:absolute;left:0;right:0;bottom:14px;height:24px;text-align:center;font-weight:800;font-size:16px;color:var(--u-navy)}
.nt-hcap span{position:absolute;left:0;right:0;transition:opacity .5s ease,transform .5s ease}
.nt-hcap .b{opacity:0;transform:translateY(6px)}
.nt-hcap.on .a{opacity:0;transform:translateY(-6px)}.nt-hcap.on .b{opacity:1;transform:none}
.nt-hcap.mid .a{opacity:1}

.nt-stage{position:relative;height:300px;perspective:1000px;overflow:hidden;border-radius:14px;background:#fff;box-shadow:var(--u-sh)}
.nt-scene{position:absolute;left:50%;top:50%;width:0;height:0;transform-style:preserve-3d;transform-origin:0 0}
.nt-fr{position:absolute;left:0;top:0;width:0;height:0;transform-style:preserve-3d;transform-origin:0 0}
.nt-skin{position:absolute;overflow:visible;cursor:pointer;-webkit-tap-highlight-color:transparent}
.nt-skin polygon{fill:#E2E8F3;stroke:#1F2933;stroke-width:2;vector-effect:non-scaling-stroke;stroke-linejoin:round;transition:fill .35s ease,stroke .35s ease}
.nt-skin text{font:800 40px var(--u-font);text-anchor:middle;fill:#1F2933;pointer-events:none;transition:fill .35s}
.nt-hero .nt-skin{cursor:default}
.nt-hero .nt-skin polygon{fill:#E7EEF9}
.nt-skin:hover polygon{fill:#D5E2F6}
.nt-skin:focus{outline:none}.nt-skin:focus-visible polygon{stroke:var(--sg-blue);stroke-width:4}
.nt-skin.end polygon{fill:var(--sg-blue-lt)}
.nt-skin.nt-sel polygon{fill:var(--sg-blue)}.nt-skin.nt-sel text{fill:#fff}
.nt-skin.nt-opp polygon{fill:var(--sg-blue-lt);stroke:var(--sg-blue)}
.nt-skin.nt-clash polygon{fill:#F9D3D0;stroke:#C62828}.nt-skin.nt-clash text{fill:#B3261E}

.nt-fold{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:20px;align-items:start}
.nt-fside{padding-top:30px}
.nt-thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:16px}
.nt-th{all:unset;cursor:pointer;display:grid;justify-items:center;gap:4px;padding:8px 4px 6px;border-radius:12px;background:#fff;
  box-shadow:inset 0 0 0 1.5px var(--u-edge);transition:transform .2s,box-shadow .2s,background .2s}
.nt-th:hover{transform:translateY(-2px)}
.nt-th:focus-visible{outline:3px solid var(--sg-blue);outline-offset:2px}
.nt-th.on{box-shadow:inset 0 0 0 2.5px var(--sg-blue);background:var(--sg-blue-bg)}
.nt-th svg{width:100%;height:46px;display:block}
.nt-th polygon{fill:#E2E8F3;stroke:#1F2933;stroke-width:1.2;vector-effect:non-scaling-stroke;stroke-linejoin:round}
.nt-th polygon.end{fill:var(--sg-blue-lt)}
.nt-th span{font-size:12px;font-weight:700;color:var(--u-navy);text-align:center;line-height:1.2}
.nt-frow{display:flex;gap:12px;align-items:center}
.nt-frow input[type=range]{flex:1;min-width:0;accent-color:var(--sg-blue)}
.nt-frow .sg-btn{min-width:74px;text-align:center}
.nt-inv{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 16px}
.nt-inv .h{font-size:13px;color:var(--u-soft);margin-right:2px}
.nt-inv .c{display:inline-flex;gap:6px;align-items:center;padding:5px 10px;border-radius:999px;background:#fff;font-weight:700;font-size:14px;box-shadow:inset 0 0 0 1.5px var(--u-edge)}
.nt-inv .c i{width:14px;height:12px;background:#E2E8F3;border:1.5px solid #1F2933;border-radius:2px}
.nt-inv .c.tri i{border:0;background:none;width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:13px solid #1F2933;position:relative}
.nt-inv .c.end i{background:var(--sg-blue-lt)}
.nt-inv .c.tri.end i{background:none;border-bottom-color:var(--sg-blue)}
.nt-inv .c.sq i{width:12px}
.nt-pred .sg-btn[disabled]{opacity:.55;cursor:default}
.nt-pred .sg-btn.on[disabled]{opacity:1}
.nt-score4{display:flex;gap:8px;align-items:center}
.nt-score4::before{content:"Right predictions";font-size:13px;color:var(--u-soft);margin-right:2px}
.nt-score4 i{width:14px;height:14px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--u-edge);background:#fff;transition:background .3s,box-shadow .3s}
.nt-score4 i.y{background:var(--sg-green);box-shadow:none;animation:sg-yes .5s ease}
.sg-read b.y{color:var(--sg-green)}

.nt-sv{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 24px;align-items:start}
.nt-svl{position:relative}
.nt-svg{display:block;width:100%;max-width:360px;height:auto;margin:0 auto;border-radius:14px;background:#fff;box-shadow:var(--u-sh);
  touch-action:pan-y;cursor:grab;user-select:none;-webkit-user-select:none}
.nt-svg:active{cursor:grabbing}
.nt-svg:focus-visible{outline:3px solid var(--sg-blue);outline-offset:3px}
.nt-svname{text-align:center;font-weight:800;font-size:20px;color:var(--u-navy);margin-top:10px}
.nt-svr{padding-top:30px}
.nt-cbtn{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:12px;background:#fff;font-weight:800;font-size:15px;
  color:var(--u-navy);box-shadow:inset 0 0 0 1.5px var(--u-edge);transition:background .2s,color .2s,transform .2s}
.nt-cbtn:hover{transform:translateY(-2px)}
.nt-cbtn:focus-visible{outline:3px solid var(--sg-blue);outline-offset:2px}
.nt-cbtn.on{background:var(--sg-blue);color:#fff;box-shadow:none}
.nt-cbtn[hidden]{display:none}
.nt-cbtn .ic{width:16px;height:16px;flex:none;position:relative}
.nt-cbtn .ic.f{background:currentColor;opacity:.35;border-radius:3px;box-shadow:inset 0 0 0 2px currentColor}
.nt-cbtn .ic.e::before{content:"";position:absolute;left:1px;right:1px;top:7px;height:3px;border-radius:2px;background:currentColor;transform:rotate(-30deg)}
.nt-cbtn .ic.v::before{content:"";position:absolute;inset:3px;border-radius:50%;background:currentColor}
.nt-cbtn .ic.c{border-radius:50%/40%;background:currentColor;opacity:.35;box-shadow:inset 0 0 0 2px currentColor}
.nt-tally{display:flex;flex-wrap:wrap;gap:6px;min-height:34px}
.nt-tally span{padding:6px 10px;border-radius:10px;background:#fff;font-size:14px;box-shadow:inset 0 0 0 1.5px var(--u-hair);animation:nt-in .35s ease}
.nt-tally span b{color:var(--sg-blue)}
.nt-tally span.on{box-shadow:inset 0 0 0 2px var(--sg-blue)}
.nt-tally span.tot{background:var(--sg-blue);color:#fff;font-weight:800;box-shadow:none}
@keyframes nt-in{from{opacity:0;transform:translateY(4px)}}
.nt-bd circle{fill:var(--sg-blue-lt);stroke:#fff;stroke-width:2}
.nt-bd text{font:800 12px var(--u-font);text-anchor:middle;fill:#0E2A47}
.nt-bd.on circle{fill:var(--sg-blue)}.nt-bd.on text{fill:#fff}
.nt-bd.hid circle{fill:#fff;stroke:var(--sg-blue);stroke-width:1.6;stroke-dasharray:3 2.4}
.nt-bd.hid text{fill:var(--sg-blue)}

.nt-iso{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:8px 24px;align-items:start}
.nt-isvg{display:block;width:100%;max-width:330px;height:auto;margin:0 auto;border-radius:14px;background:#fff;box-shadow:var(--u-sh);cursor:pointer;
  -webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}
.nt-isvg .dots circle{fill:#67757F;fill-opacity:.55}
.nt-isvg line{stroke-linecap:round}
.nt-isvg line.ink,.nt-isvg line.six{stroke:#1F2933;stroke-width:2.6}
.nt-isvg line.nw{stroke:var(--sg-blue);stroke-width:3.6}
.nt-isvg line.six{stroke:var(--sg-blue)}
.nt-isvg line.hid{stroke:#67757F;stroke-width:2.2;stroke-dasharray:6 5}
.nt-isvg .fc polygon{stroke:none;fill-opacity:.7;animation:nt-fade .6s ease}
.nt-isvg .fc .t{fill:#F2F5FB}.nt-isvg .fc .r{fill:#E2E8F3}.nt-isvg .fc .l{fill:#CED9EA}
@keyframes nt-fade{from{fill-opacity:0}}
.nt-isvg .nt-o{fill:var(--sg-blue);stroke:#fff;stroke-width:2.5}
.nt-isvg .nt-hc{fill:none;stroke:var(--sg-blue);stroke-width:2.5;animation:sg-blink 1.6s ease-in-out infinite}
.nt-isvg .nt-stp{font:800 12px var(--u-font);fill:var(--sg-blue)}
.nt-isvg .nt-stp.old{fill:var(--u-soft);font-weight:700}
.nt-isor{padding-top:30px}
.nt-isoref{display:flex;gap:14px;align-items:center;padding:12px 14px;margin:0 0 14px;border-radius:12px;background:#fff;box-shadow:var(--u-sh)}
.nt-isofig{width:100px;height:auto;flex:none;max-height:120px}
.nt-isofig .nt-dl,.nt-exfig .nt-dl{font:800 12px var(--u-font);fill:var(--sg-blue);text-anchor:middle}
.nt-isodim{font-size:15px;line-height:1.45}.nt-isodim b{color:var(--sg-blue)}
.nt-moves{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-wrap:wrap;gap:6px;counter-reset:m}
.nt-moves li{counter-increment:m;font-size:12.5px;font-weight:700;padding:5px 9px 5px 6px;border-radius:999px;background:#fff;color:var(--u-soft);
  box-shadow:inset 0 0 0 1.5px var(--u-hair);display:inline-flex;gap:5px;align-items:center;transition:background .3s,color .3s}
.nt-moves li::before{content:counter(m);width:18px;height:18px;border-radius:50%;display:grid;place-items:center;font-size:11px;background:var(--u-ground)}
.nt-moves li.on{color:var(--u-navy);box-shadow:inset 0 0 0 2px var(--sg-blue)}
.nt-moves li.on::before{background:var(--sg-blue);color:#fff}
.nt-moves li.d{color:var(--sg-green)}
.nt-moves li.d::before{content:"\2713";background:var(--sg-green);color:#fff}
.nt-isoshow[disabled]{opacity:.5;cursor:default}

.nt-netfig{display:block;width:190px;height:auto;margin:0 0 14px}
.nt-netfig rect{fill:#E2E8F3;stroke:#1F2933;stroke-width:1.6}
.nt-netfig text{font:800 17px var(--u-font);text-anchor:middle;fill:#1F2933}
.nt-exfig{display:block;width:250px;max-width:100%;height:auto;margin:10px 0 2px}

.sg-card .mini .nt-mini{position:relative;width:96px;height:72px;perspective:300px}
.nt-mini i{position:absolute;width:24px;height:24px;background:#93B8F2;border:1.5px solid #1F2933;box-sizing:border-box;border-radius:3px}
.nt-mini i:nth-child(1){left:0;top:24px}.nt-mini i:nth-child(2){left:24px;top:24px}.nt-mini i:nth-child(3){left:48px;top:24px}.nt-mini i:nth-child(4){left:72px;top:24px}
.nt-mini i.f1{left:24px;top:0;transform-origin:50% 100%;animation:nt-flap1 3.2s ease-in-out infinite}
.nt-mini i.f2{left:24px;top:48px;transform-origin:50% 0;animation:nt-flap2 3.2s ease-in-out infinite;background:#2F6FEB}
@keyframes nt-flap1{0%,20%,100%{transform:none}50%,70%{transform:rotateX(-80deg)}}
@keyframes nt-flap2{0%,20%,100%{transform:none}50%,70%{transform:rotateX(80deg)}}

@media (max-width:900px){
  .nt-sv,.nt-iso,.nt-fold{grid-template-columns:1fr}
  .nt-svr,.nt-isor,.nt-fside{padding-top:0}
  .nt-stage{height:270px}
  .nt-hero{height:240px}
  .nt-svg{max-width:300px}
  .nt-isvg{max-width:300px}
  .sg-opts button{min-width:44px}
}
@media (prefers-reduced-motion:reduce){
  .nt-mini i.f1,.nt-mini i.f2,.nt-isvg .nt-hc{animation:none}
  .nt-tally span,.nt-isvg .fc polygon{animation:none}
  .nt-skin polygon,.nt-skin text{transition:none}
}

.nt-isvg{touch-action:manipulation;overflow:visible}
.nt-isvg .dots,.nt-isvg .fc,.nt-isvg .eg,.nt-isvg .mk,.nt-isvg .cur{pointer-events:none}
.nt-isvg .nt-hits circle{fill:transparent;stroke:none;pointer-events:all}
