.ns-shell{position:relative;width:100%;height:100%;min-height:0;background:#030108;overflow:hidden}
.ns-stage{position:absolute;top:0;left:50%;width:1278px;height:720px;transform-origin:top center;background:#030108;overflow:hidden;box-shadow:0 0 0 1px #45145f,0 0 42px #000}
.ns-stage canvas{display:block;width:1278px;height:720px;image-rendering:pixelated;touch-action:none;cursor:crosshair;outline:none}
.ns-scan{position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(0,0,0,.14) 0 1px,transparent 1px 3px);mix-blend-mode:multiply;z-index:2}
.ns-overlay{position:absolute;inset:0;z-index:5;display:grid;place-items:center;background:radial-gradient(circle at 50% 40%,rgba(40,6,50,.45),rgba(3,1,8,.84));text-align:center}
.ns-overlay[hidden]{display:none}
.ns-menu{width:min(980px,90%);padding:26px 34px;border:2px solid #5b86ff;background:rgba(10,4,22,.93);box-shadow:10px 10px 0 #5ee7ff}
.ns-menu small{color:#ffd93a;font:900 14px "Courier New",monospace;letter-spacing:.1em}
.ns-menu h1{margin:10px 0 6px;color:#5ee7ff;font:900 92px/1 "Courier New",monospace;letter-spacing:.02em;text-shadow:5px 5px 0 #14227a}
.ns-menu h1 span{color:#5b86ff;text-shadow:5px 5px 0 #7c0f52}
.ns-menu p{color:#d6cbe8;font:17px/1.5 "Courier New",monospace;margin:8px auto;max-width:820px}
.ns-menu .ns-note{color:#9488ad;font-size:14px}
.ns-menu .ns-best{color:#ffd93a;font-weight:900;letter-spacing:.12em}
.ns-menu ul{list-style:none;margin:14px auto;padding:0;text-align:left;width:fit-content;max-width:880px;color:#d6cbe8;font:15px/1.75 "Courier New",monospace}
.ns-menu li b{display:inline-block;min-width:116px;color:#ffd93a}
.ns-row{display:flex;gap:12px;justify-content:center;margin-top:14px}
.ns-overlay button,.ns-controls button{cursor:pointer;padding:12px 20px;border:2px solid #5ee7ff;background:#0b2a33;color:#5ee7ff;font:900 16px "Courier New",monospace;letter-spacing:.06em}
.ns-overlay button:hover:not(:disabled),.ns-overlay button:focus-visible,.ns-controls button:hover{background:#5ee7ff;color:#05040a}
.ns-overlay button:hover:not(:disabled) span{color:#05040a}
.ns-overlay button:disabled{opacity:.3;cursor:not-allowed}
.ns-controls{position:absolute;z-index:6;right:12px;bottom:8px;display:flex;gap:8px}
.ns-controls button{padding:8px 12px;font-size:14px;background:rgba(5,4,18,.85)}
.ns-controls button.active{border-color:#5b86ff;color:#ff6fb5}
.ns-banner{position:absolute;z-index:4;left:50%;top:190px;transform:translateX(-50%);text-align:center;pointer-events:none;white-space:nowrap}
.ns-banner[hidden]{display:none}
.ns-banner b{display:block;color:#ffd93a;font:900 46px "Courier New",monospace;letter-spacing:.06em;text-shadow:4px 4px #7c0f52}
.ns-banner span{display:block;margin-top:6px;color:#5ee7ff;font:900 18px "Courier New",monospace;letter-spacing:.12em;text-shadow:2px 2px #05040a}
.ns-banner.on{animation:ns-pop 2.2s both}
@keyframes ns-pop{0%{opacity:0;transform:translate(-50%,18px) scale(.8)}12%,78%{opacity:1;transform:translate(-50%,0) scale(1)}100%{opacity:0;transform:translate(-50%,-16px)}}
body.ns-playing .workspace{padding:0;overflow:hidden}
@media(prefers-reduced-motion:reduce){.ns-banner.on{animation:none}}
.ns-menu .ns-sub{color:#ff5468;font:900 22px "Courier New",monospace;letter-spacing:.3em;margin-top:0}
.ns-menu h1 span{color:#ff5468;text-shadow:5px 5px 0 #7d0c1f}
.ns-setup{padding:18px 26px}
.ns-pick{display:grid;grid-template-columns:150px repeat(7,auto);gap:8px;align-items:center;justify-content:start;margin:8px 0;text-align:left}
.ns-pick b{color:#ffd93a;font:900 14px "Courier New",monospace;letter-spacing:.08em}
.ns-overlay .ns-pick button{padding:8px 12px;font-size:13px}
.ns-overlay .ns-pick button.on{background:#5ee7ff;color:#05040a}
.ns-stage canvas{cursor:none}
.ns-menu h1{font-size:74px}
.ns-menu h1 span{color:#5fd456;text-shadow:5px 5px 0 #145a24}
.ns-stage{height:720px;width:1280px}
.ns-stage canvas{width:1280px;height:640px;cursor:pointer}
.ns-menu{border-color:#ff3fb4;box-shadow:10px 10px 0 #5ee7ff}
.ns-menu h1{color:#ff3fb4;text-shadow:5px 5px 0 #3a0626;font-size:84px}
.ns-menu h1 span{color:#5ee7ff;text-shadow:5px 5px 0 #062a33}
.ns-panel{position:absolute;left:0;top:640px;width:1280px;height:80px;display:grid;grid-template-columns:1fr 520px;gap:10px;padding:6px 64px 6px 64px;box-sizing:border-box;background:#07040f;border-top:2px solid #45145f}
.ns-log{overflow:hidden;font:13px/17px "Courier New",monospace;display:flex;flex-direction:column;justify-content:flex-end}
.ns-log p{margin:0;flex-shrink:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ns-right{display:flex;flex-direction:column;gap:4px;min-width:0}
.ns-cmd{display:flex;align-items:center;gap:6px;border:2px solid #5ee7ff;background:#030208;padding:2px 6px}
.ns-cmd span{color:#5ee7ff;font:900 16px "Courier New",monospace}
.ns-cmd input{flex:1;min-width:0;background:transparent;border:0;outline:0;color:#ffffff;font:900 16px "Courier New",monospace;text-transform:uppercase;caret-color:#ff3fb4}
.ns-cmd input::placeholder{color:#4a3e66;text-transform:none}
.ns-cmd button,.ns-verbs button,.ns-chips button{cursor:pointer;border:1px solid #5ee7ff;background:#0b2a33;color:#5ee7ff;font:900 12px "Courier New",monospace;padding:3px 8px}
.ns-verbs,.ns-chips{display:flex;gap:4px;flex-wrap:wrap;align-items:center}
.ns-chips b{color:#ffd93a;font:900 12px "Courier New",monospace}.ns-chips i{color:#7a6e96;font:12px "Courier New",monospace}
.ns-chips button{border-color:#ff3fb4;color:#ff6fb5;background:#2a0820}.ns-chips button:disabled{opacity:.35}
.ns-verbs button:hover,.ns-chips button:hover:not(:disabled),.ns-cmd button:hover{background:#5ee7ff;color:#05040a}
.ns-controls{bottom:auto;top:6px;right:8px}.ns-controls button{padding:4px 8px;font-size:12px}
.ns-pad{position:absolute;left:8px;bottom:92px;display:none;grid-template-columns:repeat(3,64px);grid-template-rows:repeat(2,64px);gap:4px;z-index:4;opacity:.75}
.ns-pad button{font-size:26px;background:rgba(10,4,22,.8);border:2px solid #5ee7ff;color:#5ee7ff;touch-action:none}
.ns-pad [data-d=up]{grid-column:2}.ns-pad [data-d=left]{grid-column:1;grid-row:2}.ns-pad [data-d=down]{grid-column:2;grid-row:2}.ns-pad [data-d=right]{grid-column:3;grid-row:2}
@media (pointer:coarse){.ns-pad{display:grid}}
