/* NEON RIFT — all rules are scoped to body.nr or .nr-* so nothing leaks into other Freeplay pages. */
:root{
  --nr-ink:#05061a; --nr-ink2:#0b0d33; --nr-cyan:#27e8ff; --nr-blue:#3a7bff; --nr-violet:#8f5bff; --nr-magenta:#ff3df2;
  --nr-gold:#ffd23f; --nr-danger:#ff3b5c; --nr-mint:#5dffa8; --nr-white:#eafcff; --nr-dim:#9aa6d6;
  --nr-font:"Rajdhani","Fredoka",system-ui,-apple-system,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html,body.nr{margin:0;height:100%;overflow:hidden;background:var(--nr-ink);overscroll-behavior:none}
body.nr{font-family:var(--nr-font);color:var(--nr-white);-webkit-font-smoothing:antialiased;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}
body.nr a{color:inherit;text-decoration:none}
.nr-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
body.nr :focus-visible{outline:3px solid var(--nr-cyan);outline-offset:3px;border-radius:4px}

body.nr .back{position:fixed;left:12px;top:max(10px,env(safe-area-inset-top));z-index:30;font:700 15px var(--nr-font);letter-spacing:.04em;text-transform:uppercase;color:var(--nr-white);background:rgba(5,6,26,.7);border:1px solid rgba(39,232,255,.5);padding:7px 14px;clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%);backdrop-filter:blur(4px)}
body.nr .back:hover{background:rgba(39,232,255,.2)}
body.nr.nr-playing .back{display:none}
body.nr.nr-playing .fp-more,body.nr.nr-playing .fp-widget{display:none!important}
body.nr .fp-more{left:auto!important;right:104px;bottom:14px!important}
body.nr .fp-more-panel{left:auto!important;right:0}

.nr-root{position:fixed;inset:0;background:radial-gradient(ellipse at 50% 30%,#14104a 0%,#05061a 70%)}
.nr-stage{position:absolute;left:50%;top:50%;width:min(100vw,177.7778vh);height:min(56.25vw,100vh);transform:translate(-50%,-50%);background:#000;box-shadow:0 0 0 1px rgba(39,232,255,.18),0 0 60px rgba(143,91,255,.25)}
#nr-canvas{display:block;width:100%;height:100%;cursor:crosshair;touch-action:none}
body.nr:not(.nr-playing) #nr-canvas{cursor:default}

/* ------------------------------------------------------------------ screens */
.nr-ui{position:fixed;inset:0;pointer-events:none;z-index:20}
.nr-screen{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:auto;overflow-y:auto;padding:max(54px,env(safe-area-inset-top)) 16px 72px;
  background:radial-gradient(ellipse at 28% 18%,rgba(143,91,255,.28),transparent 60%),radial-gradient(ellipse at 80% 90%,rgba(255,61,242,.16),transparent 55%),linear-gradient(180deg,rgba(5,6,26,.5),rgba(5,6,26,.88));
  opacity:0;transition:opacity .35s ease;touch-action:pan-y}
.nr-screen.nr-in{opacity:1}
.nr-screen-inner{margin:auto;width:100%;display:flex;flex-direction:column;align-items:center;gap:14px;transform:translateY(14px);transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.nr-in .nr-screen-inner{transform:none}

.nr-panel{position:relative;width:min(640px,100%);padding:22px 26px 20px;background:linear-gradient(160deg,rgba(14,12,58,.92),rgba(8,6,36,.92));border:1px solid rgba(39,232,255,.5);
  clip-path:polygon(18px 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%,0 18px);box-shadow:0 0 0 1px rgba(255,61,242,.18) inset;backdrop-filter:blur(6px)}
.nr-panel::before{content:"";position:absolute;left:0;top:0;width:100%;height:3px;background:linear-gradient(90deg,var(--nr-cyan),var(--nr-violet),var(--nr-magenta))}
.nr-panel--wide{width:min(920px,100%)}
.nr-panel--narrow{width:min(440px,100%)}
.nr-panel--complete{width:min(560px,100%);text-align:center}
.nr-panel--danger{border-color:rgba(255,59,92,.7)}
.nr-panel--danger::before{background:linear-gradient(90deg,var(--nr-danger),var(--nr-magenta))}
.nr-panel--victory{border-color:rgba(255,210,63,.7)}
.nr-h2{margin:0 0 12px;font-size:30px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;text-align:center;color:#fff;text-shadow:0 0 14px rgba(39,232,255,.7)}
.nr-h2--big{font-size:clamp(30px,6vw,46px);margin-bottom:6px}
.nr-h3{margin:14px 0 8px;font-size:17px;letter-spacing:.14em;text-transform:uppercase;color:var(--nr-cyan);text-align:center}
.nr-kicker{margin:0;text-align:center;font-size:14px;letter-spacing:.3em;text-transform:uppercase;color:var(--nr-magenta);font-weight:700}
.nr-note{margin:6px 0;text-align:center;color:#cfd8ff;font-size:16px;line-height:1.35;font-weight:600}
.nr-dim{color:var(--nr-dim)}
.nr-ico{display:inline-block;vertical-align:-3px}

/* logo */
.nr-logo{position:relative;text-align:center;line-height:.82;font-weight:700;text-transform:uppercase;user-select:none}
.nr-logo-top{font-size:clamp(54px,13vw,132px);letter-spacing:.22em;margin-right:-.22em;background:linear-gradient(180deg,#fff 10%,var(--nr-cyan) 55%,var(--nr-blue));-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 18px rgba(39,232,255,.7));animation:nr-flick 5s infinite}
.nr-logo-bot{position:relative;font-size:clamp(70px,17.5vw,178px);letter-spacing:.12em;margin-right:-.12em;background:linear-gradient(180deg,#fff 6%,var(--nr-magenta) 50%,var(--nr-violet));-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 22px rgba(255,61,242,.75))}
.nr-logo-bot::before,.nr-logo-bot::after{content:attr(data-text);position:absolute;inset:0;background:none;-webkit-background-clip:initial;background-clip:initial;mix-blend-mode:screen;opacity:.65;pointer-events:none}
.nr-logo-bot::before{color:var(--nr-cyan);animation:nr-glitch1 4.2s infinite steps(1)}
.nr-logo-bot::after{color:var(--nr-magenta);animation:nr-glitch2 4.2s infinite steps(1)}
.nr-logo--small .nr-logo-top{font-size:44px}
.nr-logo--small .nr-logo-bot{font-size:58px}
@keyframes nr-flick{0%,92%,100%{opacity:1}93%{opacity:.55}94%{opacity:1}96%{opacity:.7}}
@keyframes nr-glitch1{0%,88%,100%{transform:translate(0)}89%{transform:translate(-4px,1px);clip-path:inset(10% 0 55% 0)}91%{transform:translate(3px,-2px);clip-path:inset(60% 0 8% 0)}93%{transform:translate(0)}}
@keyframes nr-glitch2{0%,86%,100%{transform:translate(0)}87%{transform:translate(4px,-1px);clip-path:inset(40% 0 30% 0)}90%{transform:translate(-3px,2px);clip-path:inset(5% 0 70% 0)}92%{transform:translate(0)}}
.nr-tag{margin:2px 0 8px;font-size:clamp(16px,2.6vw,22px);letter-spacing:.42em;text-transform:uppercase;color:var(--nr-cyan);text-align:center;text-shadow:0 0 12px rgba(39,232,255,.8);font-weight:600}
.nr-main{gap:6px}

/* buttons */
.nr-menu{display:flex;flex-direction:column;gap:9px;width:min(340px,100%)}
.nr-menu-row{display:flex;gap:9px}
.nr-menu-row .nr-btn{flex:1;padding-left:6px;padding-right:6px}
.nr-btn{--c:var(--nr-cyan);position:relative;display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:9px 22px;border:0;cursor:pointer;
  font:700 19px var(--nr-font);letter-spacing:.14em;text-transform:uppercase;color:#fff;text-align:center;background:linear-gradient(90deg,rgba(14,16,70,.92),rgba(24,18,84,.92));
  clip-path:polygon(12px 0,100% 0,calc(100% - 12px) 100%,0 100%);box-shadow:0 0 0 1.5px var(--c) inset;transition:transform .12s,background .15s,filter .15s}
.nr-btn:hover:not([disabled]){transform:translateX(5px);filter:brightness(1.25);background:linear-gradient(90deg,rgba(39,232,255,.3),rgba(143,91,255,.35))}
.nr-btn:active:not([disabled]){transform:translateX(5px) scale(.98)}
.nr-btn:focus-visible{outline:none;box-shadow:0 0 0 2.5px #fff inset;background:linear-gradient(90deg,rgba(39,232,255,.45),rgba(255,61,242,.4))}
.nr-btn[disabled]{opacity:.42;cursor:not-allowed}
.nr-btn--primary{--c:var(--nr-magenta);background:linear-gradient(90deg,#2b8bff,#8f5bff 55%,#ff3df2);color:#05061a;box-shadow:0 0 0 1.5px #fff inset;text-shadow:none}
.nr-btn--primary:hover:not([disabled]){background:linear-gradient(90deg,#5aa8ff,#a07aff 55%,#ff6af5)}
.nr-btn--ghost{--c:rgba(255,255,255,.35);background:rgba(8,8,40,.7)}
.nr-btn--danger{--c:var(--nr-danger);background:linear-gradient(90deg,rgba(80,10,30,.92),rgba(120,16,50,.92))}
.nr-btn--small{min-height:38px;font-size:15px;letter-spacing:.1em;padding:6px 14px}
.nr-btn span{pointer-events:none}
.nr-back{margin-top:4px}
.nr-actions{display:flex;flex-direction:column;align-items:center;gap:9px;margin-top:14px}
.nr-actions .nr-btn{min-width:min(280px,100%)}
.nr-actions--row{flex-direction:row;flex-wrap:wrap;justify-content:center}
.nr-actions--row .nr-btn{min-width:0;flex:1 1 140px}
.nr-meta{display:flex;flex-wrap:wrap;gap:6px 18px;justify-content:center;margin-top:10px;font-size:16px;font-weight:600;color:#cfd8ff}
.nr-meta svg{color:var(--nr-gold)}

/* level select */
.nr-lvl-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:4px}
.nr-lvl{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-height:128px;padding:10px 10px 8px;text-align:left;color:#fff;font:600 14px var(--nr-font);cursor:pointer;
  background:linear-gradient(160deg,rgba(20,18,84,.92),rgba(10,8,44,.92));border:0;box-shadow:0 0 0 1px rgba(39,232,255,.45) inset;clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);transition:transform .12s,filter .12s}
.nr-lvl:hover:not([disabled]){transform:translateY(-3px);filter:brightness(1.3)}
.nr-lvl:focus-visible{outline:none;box-shadow:0 0 0 2.5px #fff inset}
.nr-lvl--boss{box-shadow:0 0 0 1px rgba(255,59,92,.7) inset}
.nr-lvl--locked{opacity:.5;cursor:not-allowed;filter:grayscale(.6)}
.nr-lvl-n{font-size:30px;font-weight:700;line-height:1;color:var(--nr-cyan);text-shadow:0 0 12px rgba(39,232,255,.6)}
.nr-lvl-name{font-size:15px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;line-height:1.1}
.nr-lvl-boss{font-size:12px;letter-spacing:.08em;color:var(--nr-danger);text-transform:uppercase;font-weight:700}
.nr-lvl-boss.nr-dim{color:var(--nr-dim)}
.nr-lvl-stars{display:flex;gap:2px;margin-top:auto}
.nr-star{color:rgba(255,255,255,.18)}
.nr-star.on{color:var(--nr-gold);filter:drop-shadow(0 0 5px rgba(255,210,63,.8))}
.nr-lvl-rec{font-size:12px;color:#cfd8ff}
.nr-lock{position:absolute;right:8px;top:8px;color:var(--nr-dim)}

/* upgrades */
.nr-shards{text-align:center;margin:0 0 8px;font-weight:700;font-size:20px;color:var(--nr-gold)}
.nr-ups{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.nr-up{display:flex;align-items:center;gap:12px;padding:10px 12px;background:rgba(18,16,74,.7);box-shadow:0 0 0 1px rgba(143,91,255,.5) inset}
.nr-up-ico{display:grid;place-items:center;width:44px;height:44px;color:var(--nr-cyan);background:rgba(39,232,255,.1);flex:none}
.nr-up-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.nr-up-body strong{font-size:18px;letter-spacing:.06em;text-transform:uppercase}
.nr-up-body small{font-size:14px;color:#cfd8ff;font-weight:600;line-height:1.2}
.nr-pips{display:flex;gap:4px;margin-top:3px}
.nr-pips i{width:18px;height:6px;background:rgba(255,255,255,.15);clip-path:polygon(3px 0,100% 0,calc(100% - 3px) 100%,0 100%)}
.nr-pips i.on{background:var(--nr-cyan);box-shadow:0 0 6px var(--nr-cyan)}
.nr-buy{min-width:62px!important;flex:none}
.nr-skins{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.nr-skin{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:130px;padding:10px;background:rgba(18,16,74,.7);border:0;color:#fff;font:700 15px var(--nr-font);cursor:pointer;box-shadow:0 0 0 1px rgba(255,255,255,.25) inset;letter-spacing:.06em;text-transform:uppercase}
.nr-skin small{font:600 12px var(--nr-font);color:var(--nr-dim);text-transform:none;letter-spacing:0;max-width:130px;text-align:center}
.nr-skin.on{box-shadow:0 0 0 2px var(--nr-cyan) inset}
.nr-skin.locked{opacity:.5;cursor:not-allowed}
.nr-skin-sw{width:46px;height:46px;clip-path:polygon(50% 0,100% 30%,100% 80%,50% 100%,0 80%,0 30%)}

/* achievements */
.nr-achs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px;max-height:52vh;overflow-y:auto;padding-right:4px}
.nr-ach{display:flex;gap:10px;align-items:center;padding:8px 10px;background:rgba(18,16,74,.55);box-shadow:0 0 0 1px rgba(255,255,255,.15) inset;color:var(--nr-dim)}
.nr-ach.on{color:#fff;box-shadow:0 0 0 1px rgba(93,255,168,.7) inset}
.nr-ach-ico{display:grid;place-items:center;width:30px;height:30px;flex:none;background:rgba(255,255,255,.08)}
.nr-ach.on .nr-ach-ico{background:rgba(93,255,168,.2);color:var(--nr-mint)}
.nr-ach strong{display:block;font-size:16px;letter-spacing:.05em;text-transform:uppercase}
.nr-ach small{font-size:13px;font-weight:600;color:inherit;opacity:.85}

/* settings */
.nr-sets{display:flex;flex-direction:column;gap:6px}
.nr-set{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:8px 10px;background:rgba(18,16,74,.55);font-size:18px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.nr-set small{display:block;font:600 13px var(--nr-font);color:var(--nr-dim);text-transform:none;letter-spacing:0}
.nr-set input[type=range]{flex:1;max-width:240px;accent-color:var(--nr-cyan);height:28px;cursor:pointer}
.nr-set output{min-width:46px;text-align:right;color:var(--nr-cyan)}
.nr-switch{position:relative;width:58px;height:30px;border:0;cursor:pointer;background:rgba(255,255,255,.14);clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%);flex:none}
.nr-switch i{position:absolute;left:4px;top:4px;width:22px;height:22px;background:#fff;transition:left .15s,background .15s}
.nr-switch[aria-checked="true"]{background:linear-gradient(90deg,var(--nr-blue),var(--nr-magenta))}
.nr-switch[aria-checked="true"] i{left:32px}

/* controls table */
.nr-keys{width:100%;border-collapse:collapse;font-size:17px}
.nr-keys th{text-align:left;font-weight:600;padding:6px 10px;color:#dfe6ff}
.nr-keys td{padding:6px 10px;text-align:right}
.nr-keys tr{border-bottom:1px solid rgba(255,255,255,.1)}
kbd{display:inline-block;margin:0 2px;padding:2px 9px;font:700 15px var(--nr-font);background:rgba(39,232,255,.14);border:1px solid rgba(39,232,255,.65);color:#fff;border-radius:3px}
.nr-credits p{margin:8px 0;text-align:center;font-size:18px;font-weight:600;color:#dfe6ff}

/* stats + stars */
.nr-stats{margin:12px 0 0;display:flex;flex-direction:column;gap:2px}
.nr-stats div{display:flex;justify-content:space-between;gap:12px;padding:5px 10px;background:rgba(255,255,255,.05);font-size:17px}
.nr-stats dt{color:var(--nr-dim);font-weight:600;text-transform:uppercase;letter-spacing:.08em}
.nr-stats dd{margin:0;font-weight:700;text-align:right}
.nr-bigstars{display:flex;justify-content:center;gap:10px;margin:8px 0 4px}
.nr-bigstar{color:rgba(255,255,255,.14);transform:scale(.4);opacity:.2}
.nr-bigstar.on{color:var(--nr-gold);filter:drop-shadow(0 0 12px rgba(255,210,63,.9));animation:nr-pop .55s cubic-bezier(.2,1.6,.4,1) forwards;opacity:0}
.nr-bigstar:not(.on){transform:scale(1);opacity:1}
@keyframes nr-pop{from{transform:scale(2.4) rotate(-30deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}

/* confirm */
.nr-confirm{position:fixed;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;background:rgba(2,3,16,.78);pointer-events:auto;padding:16px}
.nr-confirm-card{width:min(440px,100%);padding:20px;background:#0b0d33;border:1px solid var(--nr-danger);clip-path:polygon(14px 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%,0 14px)}

/* toasts */
.nr-toasts{position:fixed;right:14px;top:max(14px,env(safe-area-inset-top));z-index:50;display:flex;flex-direction:column;gap:8px;pointer-events:none}
.nr-toast{display:flex;flex-direction:column;gap:0;padding:9px 16px;min-width:220px;background:rgba(8,6,36,.94);border-left:4px solid var(--nr-gold);box-shadow:0 0 18px rgba(255,210,63,.35);animation:nr-toast-in .35s ease-out;transition:opacity .5s,transform .5s}
.nr-toast.out{opacity:0;transform:translateX(30px)}
.nr-toast strong{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--nr-gold)}
.nr-toast span{font-size:20px;font-weight:700;letter-spacing:.05em}
.nr-toast small{font-size:14px;color:#cfd8ff;font-weight:600}
@keyframes nr-toast-in{from{transform:translateX(40px);opacity:0}to{transform:none;opacity:1}}

/* loading */
.nr-loading{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 35%,#1b1260,#05061a 70%);transition:opacity .5s}
.nr-loading.nr-done{opacity:0;pointer-events:none}
.nr-loading-inner{display:flex;flex-direction:column;align-items:center;gap:18px;width:min(420px,86vw)}
.nr-loadtrack{width:100%;height:8px;background:rgba(255,255,255,.1);clip-path:polygon(6px 0,100% 0,calc(100% - 6px) 100%,0 100%)}
.nr-loadtrack i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--nr-cyan),var(--nr-magenta));box-shadow:0 0 14px var(--nr-magenta);transition:width .2s}
.nr-loadmsg{margin:0;font-size:18px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--nr-dim)}
.nr-load-error .nr-loadmsg{color:var(--nr-danger)}
.nr-noscript{position:fixed;inset:0;z-index:70;margin:0;display:grid;place-items:center;background:var(--nr-ink);font-size:22px;padding:20px;text-align:center}

/* intro skip */
.nr-skip{position:fixed;right:16px;bottom:max(16px,env(safe-area-inset-bottom));z-index:25;pointer-events:auto;cursor:pointer;border:0;min-height:42px;padding:8px 22px;font:700 17px var(--nr-font);letter-spacing:.14em;text-transform:uppercase;color:#fff;background:rgba(8,6,36,.8);box-shadow:0 0 0 1.5px rgba(255,255,255,.5) inset;clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%)}
.nr-skip:hover{background:rgba(39,232,255,.3)}

/* ------------------------------------------------------------ touch controls */
.nr-touch{position:fixed;inset:0;z-index:15;pointer-events:none;touch-action:none}
.nr-touch[hidden]{display:none}
.nr-dpad{position:absolute;left:max(14px,env(safe-area-inset-left));bottom:max(16px,env(safe-area-inset-bottom));width:clamp(190px,40vmin,300px);height:clamp(84px,19vmin,130px);pointer-events:auto;display:flex;align-items:center;justify-content:space-between;padding:0 10%;
  background:rgba(8,8,44,.45);border:2px solid rgba(39,232,255,.55);border-radius:999px;touch-action:none;font-size:clamp(26px,6vmin,40px);color:rgba(255,255,255,.85);backdrop-filter:blur(3px)}
.nr-dpad.l .nr-dpad-l,.nr-dpad.r .nr-dpad-r{color:var(--nr-cyan);text-shadow:0 0 14px var(--nr-cyan)}
.nr-dpad.l{background:linear-gradient(90deg,rgba(39,232,255,.3),rgba(8,8,44,.45) 50%)}
.nr-dpad.r{background:linear-gradient(270deg,rgba(39,232,255,.3),rgba(8,8,44,.45) 50%)}
.nr-tright{position:absolute;right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));width:clamp(210px,46vmin,330px);height:clamp(150px,34vmin,240px)}
.nr-tbtn{position:absolute;pointer-events:auto;border:2px solid rgba(255,255,255,.6);border-radius:50%;background:rgba(8,8,44,.55);color:#fff;font:700 clamp(12px,2.8vmin,17px) var(--nr-font);letter-spacing:.08em;display:grid;place-items:center;touch-action:none;backdrop-filter:blur(3px);padding:0}
.nr-tbtn.on{background:rgba(39,232,255,.55);transform:scale(.94)}
.nr-tbtn--jump{right:0;bottom:0;width:clamp(76px,18vmin,118px);height:clamp(76px,18vmin,118px);border-color:var(--nr-cyan);font-size:clamp(14px,3.4vmin,20px)}
.nr-tbtn--melee{right:clamp(84px,20vmin,128px);bottom:clamp(4px,1vmin,10px);width:clamp(60px,14vmin,92px);height:clamp(60px,14vmin,92px);border-color:var(--nr-magenta)}
.nr-tbtn--shoot{right:clamp(14px,3vmin,24px);bottom:clamp(84px,20vmin,128px);width:clamp(58px,13vmin,86px);height:clamp(58px,13vmin,86px);border-color:var(--nr-gold)}
.nr-tbtn--dash{right:clamp(88px,21vmin,136px);bottom:clamp(76px,18vmin,116px);width:clamp(54px,12vmin,80px);height:clamp(54px,12vmin,80px);border-color:var(--nr-blue)}
.nr-tbtn--special{right:clamp(160px,36vmin,240px);bottom:clamp(6px,1.4vmin,14px);width:clamp(52px,11vmin,74px);height:clamp(52px,11vmin,74px);border-color:var(--nr-violet)}
.nr-tbtn--swap{right:clamp(166px,37vmin,246px);bottom:clamp(66px,14vmin,92px);width:clamp(36px,7vmin,46px);height:clamp(36px,7vmin,46px);border-color:var(--nr-violet);font-size:16px}
.nr-tbtn[hidden]{display:none}
.nr-pausebtn{position:fixed;right:max(12px,env(safe-area-inset-right));top:max(10px,env(safe-area-inset-top));z-index:16;width:46px;height:46px;border:2px solid rgba(255,255,255,.55);border-radius:12px;background:rgba(8,8,44,.6);color:#fff;font:700 16px var(--nr-font);cursor:pointer;display:grid;place-items:center;touch-action:manipulation;padding:0;opacity:.85}
.nr-pausebtn[hidden]{display:none}
.nr-pausebtn:hover{background:rgba(39,232,255,.35)}
.nr-portrait{display:none}

@media (max-width:760px){
  .nr-lvl-grid{grid-template-columns:repeat(2,1fr)}
  .nr-ups,.nr-achs{grid-template-columns:1fr}
  .nr-panel{padding:18px 14px 16px}
  .nr-h2{font-size:24px}
  .nr-keys{font-size:15px}
  .nr-set{font-size:16px}
}
@media (max-height:520px){
  .nr-screen{align-items:flex-start}
  .nr-logo-top{font-size:clamp(34px,9vh,64px)}
  .nr-logo-bot{font-size:clamp(44px,12vh,84px)}
  .nr-main{gap:2px}
  .nr-menu{gap:5px}
  .nr-btn{min-height:34px;font-size:16px;padding:5px 16px}
  .nr-tag{margin:0 0 4px;font-size:14px}
  .nr-lvl{min-height:100px}
  .nr-lvl-grid{grid-template-columns:repeat(5,1fr)}
  .nr-meta{display:none}
}
@media (orientation:portrait) and (pointer:coarse){
  body.nr.nr-playing .nr-portrait{display:grid;position:fixed;left:0;right:0;top:0;z-index:12;place-items:center;pointer-events:none;padding:8px;background:rgba(5,6,26,.85);font:700 15px var(--nr-font);letter-spacing:.1em;text-transform:uppercase;color:var(--nr-cyan)}
  body.nr.nr-playing .nr-stage{top:38%}
}
@media (prefers-reduced-motion:reduce){
  .nr-logo-top,.nr-logo-bot::before,.nr-logo-bot::after{animation:none}
  .nr-screen,.nr-screen-inner,.nr-btn,.nr-lvl{transition:none}
  .nr-bigstar.on{animation:none;opacity:1;transform:none}
}
