.pawe-game--numbertrails{max-width:1080px;margin:auto;background:linear-gradient(130deg,#fff9ed,#f6edf6)}
.nt-heading,.nt-toolbar,.nt-switches,.nt-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.nt-heading h2{font-size:25px;margin:5px 0;color:#614273}.nt-heading .eyebrow{font-size:10px}.nt-label{background:#e3edda;border-radius:20px;padding:8px 13px;color:#46603d;font-size:12px;font-weight:800}.nt-label.assisted{background:#f6e4be;color:#745022}.nt-toolbar{padding:8px 0}.nt-switches{justify-content:flex-start;gap:7px}.nt-actions{justify-content:center;gap:8px}.nt-stats{display:flex;gap:24px;margin:0}.nt-stats div{text-align:center}.nt-stats dt{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#786181}.nt-stats dd{margin:4px 0;font-size:23px;font-weight:900;color:#654276}
.pawe-game--numbertrails button:not(.nt-cell),.pawe-game--numbertrails select{font:800 13px Nunito,sans-serif;padding:9px 13px;min-height:38px;border:1px solid #cdb4d6;border-radius:11px;background:#fffaf2;color:#664577;cursor:pointer}.pawe-game--numbertrails button:disabled{opacity:.5;cursor:default}.pawe-game--numbertrails button[aria-pressed=true]{background:#7e548f;color:white}.nt-message{font-size:13px;text-align:center;line-height:1.5;color:#63496f;margin:3px 0;min-height:20px}.nt-wrap{position:relative;width:var(--nt-size,420px);max-width:100%;margin:3px auto;border-radius:23px;padding:9px;background:linear-gradient(135deg,#e5d4b0,#c5b18e);box-shadow:0 5px 0 #ae9980;flex:none}.nt-board{position:relative;display:grid;grid-template-columns:repeat(var(--nt-n,5),1fr);gap:5px;aspect-ratio:1;touch-action:none;user-select:none;-webkit-user-select:none}.nt-cell{position:relative;display:grid;place-items:center;min-width:0;min-height:0;padding:0;border:1px solid #d2c8ad;border-radius:13px;background:#fcf8e9;color:#684377;font:900 clamp(16px,3vw,27px) Nunito,sans-serif;cursor:pointer;touch-action:none;box-shadow:inset 0 -3px 0 #e4dcc2;transition:background .12s ease}
.nt-cell:nth-child(3n){background:#edf1df}.nt-cell.visited{background:#e4d3ed;box-shadow:inset 0 -3px 0 #cfb5db}.nt-cell.endpoint{outline:3px solid #a47ab4;outline-offset:-4px}.nt-cell.next{border:2px solid #95712c}.nt-cell span{position:relative;z-index:3;background:#fff9ed;display:grid;place-items:center;width:58%;aspect-ratio:1;border-radius:50%;box-shadow:0 2px 5px #4d345522}.nt-cell.visited span{background:#78518d;color:#fff}.nt-cell .nt-dot{width:9px;height:9px;aspect-ratio:1;border-radius:50%;box-shadow:none;background:#b0b995;opacity:.5}.nt-line{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;overflow:visible}.nt-line polyline{fill:none;stroke:#9e78b1;stroke-width:10;stroke-linecap:round;stroke-linejoin:round}.nt-footnote{text-align:center;font-size:12px;color:#6b5376;margin:9px 0 2px}.nt-curtain{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:24px;text-align:center;border-radius:23px;background:#f6edf7}.nt-curtain h3{font-size:25px}.nt-curtain p{font-size:14px}.nt-wrap.covered .nt-board{visibility:hidden}.nt-result{display:flex;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap;padding:12px;background:#e9efdc;border:1px solid #c7d4b0;border-radius:15px;color:#47603d;font-size:13px}.nt-result strong{font-size:18px}.nt-wrap.won{animation:nt-glow 1s ease}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes nt-glow{50%{box-shadow:0 0 25px #cba4d5}}
@media(max-width:650px){.nt-heading h2{font-size:20px}.nt-heading .eyebrow{display:none}.nt-heading{gap:5px}.nt-label{padding:6px 8px;font-size:11px}.nt-toolbar{justify-content:center;gap:8px;padding:3px 0}.nt-switches{justify-content:center;width:100%}.nt-stats{width:100%;justify-content:space-around;gap:8px}.nt-stats dd{font-size:20px;margin:0}.pawe-game--numbertrails button:not(.nt-cell),.pawe-game--numbertrails select{font-size:11px;padding:7px 9px;min-height:34px}.nt-actions{gap:5px}.nt-board{gap:4px}.nt-wrap{padding:7px;border-radius:18px}.nt-cell{border-radius:9px;font-size:21px}.nt-message,.nt-footnote{font-size:11px}.nt-result{padding:7px}.nt-result strong{font-size:15px}}
@media(prefers-reduced-motion:reduce){.nt-cell{transition:none}.nt-wrap.won{animation:none}}
.nt-cell:disabled{opacity:1;cursor:default}
.nt-cell{font-size:clamp(16px,calc(var(--nt-size,420px)/var(--nt-n,5)*.34),28px)}
.pawe-game--numbertrails .nt-cell:disabled{opacity:1;filter:none}.nt-finished .nt-actions{display:none}.game-page .pawe-game--numbertrails{gap:5px}.nt-result{padding:8px 10px}
.pawe-game--numbertrails .nt-cell.visited{background:#e4d3ed;color:#684377}

/* A warm, persistent target cue; the number stays readable throughout the pulse. */
.pawe-game--numbertrails .nt-cell.next{border:2px solid #92641d;background:#fff0bc;box-shadow:inset 0 0 0 2px #fff9e5,inset 0 -3px 0 #ddc17e}
.nt-cell.next span{background:#ffdc73;color:#553510;outline:2px solid #a97925;outline-offset:2px;box-shadow:0 0 0 6px #f6ce7166;animation:nt-beacon 2s ease-in-out infinite}
@keyframes nt-beacon{50%{box-shadow:0 0 0 9px #f6ce7122}}
.nt-celebration{position:absolute;inset:0;z-index:4;pointer-events:none;overflow:hidden;border-radius:inherit;display:grid;place-items:center}
.nt-cheer{position:relative;z-index:2;padding:12px 20px;border:2px solid #e4d29c;border-radius:30px;background:#fff9ed;color:#654276;font:900 clamp(17px,4vw,24px) Nunito,sans-serif;box-shadow:0 4px 20px #62447733;animation:nt-cheer 2.5s ease both;white-space:nowrap}
.nt-petal{position:absolute;left:50%;top:50%;width:10px;height:17px;border-radius:80% 10% 80% 10%;opacity:0;animation:nt-petals 1.8s ease-out var(--delay) both}
@keyframes nt-petals{0%{opacity:0;transform:translate(-50%,-50%) scale(.3)}15%{opacity:1}75%{opacity:1}100%{opacity:0;transform:translate(calc(-50% + var(--x)),calc(-50% + var(--y) + 45px)) rotate(var(--turn)) scale(.65)}}
@keyframes nt-cheer{0%{opacity:1;transform:translateY(8px) scale(.92)}15%,80%{opacity:1;transform:translateY(0) scale(1)}100%{opacity:0;transform:translateY(-6px)}}
@media(prefers-reduced-motion:reduce){.nt-cell.next span,.nt-cheer{animation:none}.nt-petal{display:none}}
