html,body{margin:0;padding:0;}
#np-root{font-family:'Atkinson Hyperlegible',sans-serif;min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding:24px;box-sizing:border-box;transition:background .3s;}
.np-fredoka{font-family:'Fredoka',sans-serif;}
.np-digit{width:64px;height:64px;border-radius:9999px;font-size:24px;font-weight:700;background:#3C5C4C;color:#fff;border:none;cursor:pointer;transition:transform .15s,filter .15s;}
.np-digit:hover{filter:brightness(1.25);}
.np-digit:active{transform:scale(.9);}
.np-tile{border:none;cursor:pointer;color:#fff;transform:rotate(var(--r,0deg));transition:transform .15s;}
.np-tile:hover{transform:scale(1.05) rotate(var(--r,0deg));}
.np-tile:active{transform:scale(.95) rotate(var(--r,0deg));}
.np-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
@media(min-width:640px){.np-grid{grid-template-columns:repeat(3,1fr);}}
@media(min-width:1024px){.np-grid{grid-template-columns:repeat(5,1fr);}}
.np-card{border:none;cursor:pointer;transition:transform .15s;}
.np-card:hover{transform:scale(1.02);}
.np-card:active{transform:scale(.97);}
.np-cta{border:none;cursor:pointer;transition:filter .15s,transform .15s;}
.np-cta:hover{filter:brightness(1.1);}
.np-cta:active{transform:scale(.97);}
.np-outline{cursor:pointer;transition:filter .15s,transform .15s;}
.np-outline:hover{filter:brightness(.95);}
.np-outline:active{transform:scale(.97);}
.np-iconbtn{background:none;border:none;transition:transform .15s;}
.np-iconbtn:hover{transform:scale(1.15);}
.np-iconbtn:active{transform:scale(.9);}
.np-help-btn{position:fixed;right:16px;bottom:16px;width:48px;height:48px;border-radius:9999px;background:#2F4A3D;color:#fff;border:2px solid rgba(255,255,255,.25);font-size:22px;font-weight:700;cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,.28);z-index:40;transition:transform .15s,filter .15s;}
.np-help-btn:hover{filter:brightness(1.25);}
.np-help-btn:active{transform:scale(.9);}
.np-help-overlay{z-index:50;}
.np-quiz-opt{transition:transform .1s,filter .1s;}
.np-quiz-opt:not([disabled]):hover{filter:brightness(.97);transform:translateY(-1px);}
.np-quiz-opt:not([disabled]):active{transform:scale(.99);}
.np-week-select:focus{outline:none;border-color:#2F4A3D;}
.np-nw-front:focus,.np-nw-back:focus{outline:none;border-color:#2F4A3D;}
.np-speak{flex:none;border:none;background:#F0F3EE;border-radius:9999px;width:36px;height:36px;font-size:16px;cursor:pointer;transition:transform .1s,filter .1s;}
.np-speak:hover{filter:brightness(.94);}
.np-speak:active{transform:scale(.9);}
.np-extlink{transition:transform .1s,filter .1s;}
.np-extlink:hover{filter:brightness(.97);}
.np-extlink:active{transform:scale(.99);}
@keyframes np-shake{10%,90%{transform:translateX(-2px)}20%,80%{transform:translateX(4px)}30%,50%,70%{transform:translateX(-8px)}40%,60%{transform:translateX(8px)}}
.np-shake{animation:np-shake .4s;}
@media(prefers-reduced-motion:reduce){#np-root *{transition:none!important;animation:none!important;}}
