.np-picker{grid-template-columns:repeat(5,1fr);gap:10px;display:grid}@media (max-width:860px){.np-picker{grid-template-columns:repeat(3,1fr)}}@media (max-width:620px){.np-picker{grid-template-columns:repeat(2,1fr)}}.np-picker .pick{text-align:left;border:2px solid var(--border);background:var(--card);min-width:0;color:var(--foreground);cursor:pointer;border-radius:14px;align-items:center;gap:10px;padding:10px 12px;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex}.np-picker .pick:hover{background:color-mix(in srgb, #10b981 8%, var(--card));border-color:#10b981;transform:translateY(-2px)}.np-picker .pick .ic{shrink:0;font-size:1.6rem;line-height:1}.np-picker .pick b{font-size:.95rem;font-weight:700;line-height:1.2;display:block}.np-picker .pick small{color:var(--muted-foreground);font-size:.75rem;font-weight:500;line-height:1.3;display:block}.np-picker .pick[aria-pressed=true]{background:color-mix(in srgb, #10b981 14%, var(--card));border-color:#10b981;box-shadow:0 0 0 2px #10b98159}.np-stagewrap{border:1px solid var(--border);background:#111827;border-radius:18px;position:relative;overflow:hidden;box-shadow:0 10px 25px -5px #0003}.np-stagewrap:fullscreen{background:#000;border:none;border-radius:0;place-items:center;display:grid}.np-stagewrap:fullscreen canvas{width:min(100vw,166.6vh)}canvas#game{aspect-ratio:5/3;touch-action:manipulation;cursor:pointer;width:100%;max-width:100%;display:block}.np-banner{pointer-events:none;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:30;background:#0006;place-items:center;display:grid;position:absolute;inset:0}.np-banner .box{color:#1e293b;text-align:center;background:#fffffffa;border:4px solid #f59e0b;border-radius:22px;max-width:88%;padding:16px 32px;animation:.5s cubic-bezier(.175,.885,.32,1.275) np-pop;position:relative;box-shadow:0 15px 35px #00000059}:is(.dark *) .np-banner .box{color:#f8fafc;background:#18181bfa;border-color:#fbbf24}.np-banner .lbl{color:#b45309;font-size:clamp(.75rem,2.4vw,1rem);font-weight:700}:is(.dark *) .np-banner .lbl{color:#fcd34d}.np-banner .nm{color:#dc2626;overflow-wrap:anywhere;font-size:clamp(2.2rem,8vw,4.4rem);font-weight:900;line-height:1.05}:is(.dark *) .np-banner .nm{color:#f87171}.np-banner .nm.wrong{color:#94a3b8;-webkit-text-decoration:line-through #dc2626;text-decoration:line-through #dc2626;text-decoration-thickness:6px}.np-banner .nm.rolling{color:#64748b}.np-banner .nm.pop{animation:.5s np-pop}.np-banner .stamp{color:#dc2626;white-space:nowrap;background:#fffffff5;border:5px solid #dc2626;border-radius:12px;padding:4px 20px;font-size:clamp(1.4rem,6vw,2.8rem);font-weight:900;animation:.35s np-stamp;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-14deg);box-shadow:0 4px 14px #dc26264d}:is(.dark *) .np-banner .stamp{background:#18181bf5}.np-banner .ch{color:#16a34a;margin-top:4px;font-size:clamp(.85rem,3vw,1.3rem);font-weight:700}.np-banner .tm{color:#16a34a;font-variant-numeric:tabular-nums;margin-top:6px;font-size:clamp(1.4rem,6vw,2.6rem);font-weight:800;line-height:1}.np-banner .tm.low{color:#dc2626;animation:.5s infinite alternate np-pulse}@keyframes np-pulse{to{transform:scale(1.15)}}@keyframes np-pop{0%{opacity:0;transform:scale(.5)}60%{opacity:1;transform:scale(1.08)}to{transform:scale(1)}}@keyframes np-stamp{0%{opacity:0;transform:translate(-50%,-50%)rotate(-14deg)scale(2.2)}to{opacity:1;transform:translate(-50%,-50%)rotate(-14deg)scale(1)}}ol#history{border:2px dashed var(--border);border-radius:14px;max-height:240px;margin:0;padding:10px 14px 10px 36px;overflow-y:auto}ol#history li{padding:3px 0;font-size:.95rem}ol#history li:first-child{color:#10b981;font-weight:700}ol#history .empty{color:var(--muted-foreground);margin-left:-22px;list-style:none}