.ng-game{--ng-lilac:#c5b5e5;--ng-gold:#eed2a0}.ng-game .eyebrow{color:#b2a2c8}.ng-game h1>span{color:#d5bbde}.ng-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}.ng-play{border:1px solid #484158;border-radius:22px;background:#211f31;overflow:hidden}.ng-board-heading{padding:22px 25px;display:flex;align-items:center;justify-content:space-between;gap:15px;background:linear-gradient(115deg,#40364f,#29283d)}.ng-board-heading h2{font-family:'Space Grotesk',sans-serif;font-size:26px;font-weight:500;margin-top:8px}.ng-badge{border:1px solid #766684;border-radius:20px;padding:7px 10px;font-size:9px;letter-spacing:1px;color:#d9cbe4;white-space:nowrap}.ng-first{padding:17px 23px;background:#3a3348;border-bottom:1px solid #63536d}.ng-first>div{display:flex;align-items:center;gap:9px}.ng-first-icon{font-size:23px;color:#f2d4a5}.ng-first strong{font-size:13px;font-weight:500;color:#f0e2ce}.ng-first .quiet-button{margin-left:auto;font-size:10px;color:#c0adc9}.ng-first p{font-size:12px;line-height:1.8;color:#c9bed2;margin-top:7px;max-width:540px}.ng-table{background:radial-gradient(ellipse at 50% 44%,#49435e,#302c43 60%,#252338);padding:19px 25px 22px}.ng-tools{display:flex;align-items:center;gap:6px}.ng-tools>button{display:flex;align-items:center;gap:7px;padding:9px 13px;border:1px solid #635770;border-radius:9px;background:#272336;color:#bdafcf;font-size:12px}.ng-tools>button>span{font-size:17px;line-height:1}.ng-tools>button svg{width:15px;height:15px}.ng-tools>button[aria-pressed=true]{background:#d2c3e7;border-color:#e4d8f3;color:#342a44;box-shadow:0 3px 10px #16121f55}.ng-tools label{margin-left:auto;display:flex;align-items:center;gap:5px;color:#b4a7c3;font-size:11px}.ng-tools input{accent-color:#c9b7df}.ng-stage{position:relative;max-width:495px;margin:25px auto 21px;filter:drop-shadow(0 10px 13px #14102350)}.ng-grid{display:grid;grid-template-columns:var(--clue-w) repeat(var(--n),minmax(0,1fr));grid-template-rows:var(--clue-h) repeat(var(--n),auto);background:#2a2739;border:1px solid #73677e;border-radius:8px;overflow:hidden;user-select:none;touch-action:none}.ng-corner{display:grid;place-items:center;font-family:'Space Grotesk',sans-serif;font-size:12px;color:#a596b5;background:#393146}.ng-clue{display:flex;align-items:center;justify-content:flex-end;gap:7px;color:#e1d8ea;background:#393146;font-family:'Space Grotesk',sans-serif;font-size:15px;line-height:1;font-weight:500;transition:color .15s,background .15s}.ng-row{padding:0 9px 0 3px;border-bottom:1px solid #51455e}.ng-col{flex-direction:column;gap:4px;padding:6px 0 8px;border-right:1px solid #51455e}.ng-clue.complete{color:#9d92aa;background:#302d40}.ng-clue.complete>span{text-decoration:line-through;text-decoration-thickness:1px}.ng-clue.conflict{color:#ffd4d3;background:#703f53}.ng-clue.ng-hint-line{background:#74614e;color:#fff1d0}.ng-clue.ng-active-line:not(.conflict):not(.ng-hint-line){background:#53455f;color:#fff0ff}.ng-cell{aspect-ratio:1;min-width:0;padding:0;border:0;border-right:1px solid #b9b1c3;border-bottom:1px solid #b9b1c3;border-radius:0;background:#eee9ef;position:relative;color:#94849d;touch-action:none;cursor:crosshair;opacity:1!important;transition:background .15s,box-shadow .15s;box-shadow:inset 0 1px 0 #fff6}.ng-cell:active:not(:disabled){transform:none}.ng-cell>span{pointer-events:none;display:grid;place-items:center;width:100%;height:100%;font-family:system-ui,sans-serif;font-size:clamp(16px,2.3vw,27px);font-weight:300;line-height:1}.ng-cell.ng-active[data-mark="0"]{background:#e5ddeb}.ng-cell[data-mark="1"]{background:#ad94c9;box-shadow:inset 0 2px 1px #deceee88,inset 0 -3px 0 #75558e44}.ng-cell[data-mark="-1"]{background:#ddd5e3;color:#8b7899}.ng-cell.ng-divider-col{border-left:2px solid #7c6c91}.ng-cell.ng-divider-row{border-top:2px solid #7c6c91}.ng-cell.ng-hint-cell{outline:3px solid #ffdd8d;outline-offset:-3px;z-index:1;box-shadow:inset 0 0 0 5px #46374b55}.ng-cell:focus-visible{outline:3px solid #584073;outline-offset:-3px;z-index:2}.ng-cell:hover:not(:disabled){outline:2px solid #80618f;outline-offset:-2px;z-index:1}.ng-grid.is-revealed .ng-cell{border-color:transparent;box-shadow:none;background:#30283f;transition:background .55s var(--reveal-delay),border-color .4s}.ng-grid.is-revealed .ng-cell[data-mark="1"]{background:var(--art)}.ng-grid.is-revealed .ng-cell.ng-divider-col,.ng-grid.is-revealed .ng-cell.ng-divider-row{border-width:0}.ng-grid.is-revealed .ng-clue{color:#a99ab8;background:#30283f}.ng-grid.is-revealed .ng-cell:focus-visible{outline:none}.ng-grid.ng-still .ng-cell{transition:none}.ng-caption{font-size:9px;text-align:center;letter-spacing:1.4px;line-height:1.7;color:#b5a8c6}.ng-win{display:flex;align-items:center;gap:14px;padding:21px 24px;border-top:1px solid #967890;background:linear-gradient(120deg,#5a4358,#3c3b54)}.ng-win>span{font-size:31px;color:#f1d6a8}.ng-win strong{font-family:'Space Grotesk',sans-serif;font-weight:500;font-size:22px}.ng-win p{font-size:11px;color:#d0bbd2;margin-top:6px}.ng-primary.button{background:#ebcfa9;border-color:#ebcfa9;color:#392c3f}.ng-primary.button:hover:not(:disabled){background:#f8dfbd}.ng-win .button{margin-left:auto;white-space:nowrap;font-size:12px}.ng-instruction{padding:16px 24px 4px;font-size:12px;line-height:1.8;color:#c0aecf;min-height:48px}.ng-instruction.ng-warning{color:#f3b4be}.ng-toolbar{display:flex;align-items:center;gap:9px;padding:13px 24px 20px}.ng-toolbar .quiet-button{margin-left:auto;font-size:12px}.ng-hints{padding:21px 24px;border-top:1px solid #4d415d;background:#30283d}.ng-hints>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.ng-hints h2{font-size:14px;display:flex;align-items:center;gap:8px}.ng-hints .button{font-size:12px;white-space:nowrap}.ng-hints p{font-size:12px;line-height:1.8;color:#c1afcf;margin-top:11px}.ng-hints #ng-apply{margin-top:12px}.ng-side{display:grid;gap:18px}.ng-panel{padding:22px;border:1px solid #463a53;border-radius:18px;background:#211e30}.ng-intro{background:linear-gradient(150deg,#403248,#262335)}.ng-intro h2{font-family:'Space Grotesk',sans-serif;font-weight:400;font-size:27px;line-height:1.4;margin:15px 0}.ng-intro p{color:#c2b2cc;font-size:12px;line-height:1.8}.ng-intro p strong{color:#f0d7a9}.ng-example{display:flex;align-items:center;gap:4px;margin:19px 0}.ng-example b{font-family:'Space Grotesk',sans-serif;font-size:19px;white-space:nowrap;margin-right:8px;color:#eed6b3}.ng-example span{display:grid;place-items:center;width:28px;height:30px;border-radius:4px;background:#b9a1cf;color:#b9a1cf;border:1px solid #ddcbe8}.ng-example span:nth-child(5){background:#eee5ef;color:#937da0}.ng-intro .ng-key-help{font-size:10px;color:#aa93bb;line-height:1.9;margin-top:18px}.ng-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:15px}.ng-panel-heading h2{font-size:13px}.ng-panel-heading>span{font-size:11px;color:#ac94bb}.ng-levels{display:grid;gap:7px}.ng-levels>button{display:flex;align-items:center;gap:12px;border:1px solid transparent;border-radius:11px;padding:10px 8px;width:100%;background:transparent;text-align:left}.ng-levels>button:hover{background:#3a2e47}.ng-levels>button[aria-pressed=true]{background:#493954;border-color:#876e9b}.ng-thumb{width:39px;height:39px;display:grid;place-items:center;flex-shrink:0;border:1px solid #6a547d;border-radius:7px;background:#2c2539;padding:4px}.ng-mystery{font-family:'Space Grotesk',sans-serif;font-size:22px;color:#ac91c1}.ng-mini{width:100%;height:100%;display:grid;gap:0}.ng-mini i{aspect-ratio:1}.ng-levels strong{font-size:12px;font-weight:500;display:block;color:#e2d4e9}.ng-levels small{display:block;font-size:9px;color:#b59cc6;margin-top:5px;line-height:1.5}.ng-sparkles{position:absolute;inset:0;pointer-events:none;overflow:visible}.ng-sparkles>i{position:absolute;left:var(--left);top:45%;width:5px;height:8px;background:#f7d8aa;animation:ng-sparkle 1.5s var(--delay) both ease-out}.ng-card{background:radial-gradient(ellipse at top right,#85639155,transparent 65%),#211b2c}.ng-card .card-symbol{background:linear-gradient(130deg,#775982,#3a3048);color:#f1d7b1}@keyframes ng-sparkle{0%{transform:translate(0,0) rotate(0);opacity:0}15%{opacity:1}100%{transform:translate(var(--dx),-150px) rotate(180deg);opacity:0}}
@media(max-width:1150px){.ng-layout{grid-template-columns:minmax(0,1fr) 250px;gap:17px}.ng-panel{padding:17px}.ng-table{padding:17px 19px}.ng-win{flex-wrap:wrap}.ng-win .button{flex-basis:100%;margin:0}.ng-tools>button{padding:8px 10px}.ng-example span{width:25px}}
@media(max-width:820px){.ng-layout{grid-template-columns:1fr}.ng-intro{display:none}.ng-levels{grid-template-columns:1fr 1fr}.ng-stage{max-width:440px}.ng-win .button{flex-basis:auto;margin-left:auto}}
@media(max-width:480px){.ng-game .game-heading{flex-wrap:wrap;gap:13px}.ng-game h1{font-size:34px}.ng-game .game-stats{width:100%;gap:25px}.ng-game .game-stats>div:not(.stat-divider){display:flex;align-items:baseline;gap:8px}.ng-game .game-stats strong{font-size:21px}.ng-game .game-stats>div>span{font-size:10px}.ng-game .stat-divider{display:none}.ng-board-heading{padding:17px}.ng-board-heading h2{font-size:23px}.ng-board-heading .eyebrow{font-size:8px;letter-spacing:1px}.ng-badge{font-size:8px;padding:6px 8px}.ng-first{padding:12px 15px}.ng-first>div{gap:6px}.ng-first strong{font-size:11px}.ng-first .quiet-button{font-size:9px;padding:5px 0}.ng-first p{font-size:11px;line-height:1.7}.ng-table{padding:14px 12px 17px}.ng-tools{gap:5px;flex-wrap:wrap}.ng-tools>button{font-size:11px;padding:9px}.ng-tools label{font-size:10px;gap:3px}.ng-tools>button svg{width:14px}.ng-stage{margin:18px auto 15px}.ng-clue{font-size:12px;gap:4px}.ng-row{padding-right:6px}.ng-col{gap:3px;padding-bottom:6px}.ng-cell>span{font-size:19px}.ng-caption{font-size:7px;letter-spacing:.8px}.ng-instruction{padding:14px 16px 4px;font-size:11px;min-height:50px}.ng-toolbar{padding:12px 14px 17px;gap:7px}.ng-toolbar .button{padding:9px 11px;font-size:12px}.ng-toolbar .quiet-button{font-size:10px}.ng-hints{padding:17px}.ng-hints h2{font-size:12px;line-height:1.4}.ng-hints .button{font-size:11px;padding:9px 11px}.ng-win{padding:17px 15px;gap:10px}.ng-win strong{font-size:19px}.ng-win .button{flex-basis:100%;margin:0}.ng-win p{font-size:10px}.ng-levels{grid-template-columns:1fr}.ng-levels strong{font-size:13px}.ng-levels small{font-size:11px}.ng-thumb{width:44px;height:44px}}
.ng-help-button{border-color:#b49bce;background:#453554;color:#f5eafa}
.ng-help-bar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:18px 24px;background:#30273e;border-bottom:1px solid #645071}
.ng-help-bar>div{flex:1;min-width:170px}.ng-help-bar strong{display:block;font-size:14px;color:#f4dfba}.ng-help-bar span{display:block;margin-top:5px;font-size:12px;line-height:1.5;color:#c9b7d8}
.ng-help-bar .button,.ng-help-bar .quiet-button{font-size:12px;min-height:44px}.ng-help-bar .quiet-button{color:#e4d2f2;text-decoration:underline;text-underline-offset:4px}
.ng-help-dialog{max-width:580px;max-height:calc(100dvh - 32px);overflow-y:auto;background:linear-gradient(145deg,#332a43,#211d30);border-color:#9377a6;padding:30px}
.ng-help-dialog>.eyebrow{display:block;padding-right:28px;line-height:1.7;color:#e4c798}
.ng-lesson-progress{display:flex;gap:8px;margin:15px 0}.ng-lesson-progress span{display:grid;place-items:center;width:28px;height:28px;border:1px solid #80668e;border-radius:50%;font-size:12px;color:#c3acd3}.ng-lesson-progress .is-current{background:#e8cda5;color:#392c3f;border-color:#e8cda5}
.ng-help-dialog>h2{font-size:27px;line-height:1.2;margin:0 0 12px;letter-spacing:-.6px;padding-right:8px}.ng-lesson-copy{color:#d1c1dc;font-size:14px;line-height:1.65}
.ng-practice{background:#1d192a;border:1px solid #655172;border-radius:14px;padding:17px;margin-top:18px}.ng-lesson-task{color:#f1dfc4;font-size:14px;line-height:1.6}
.ng-practice-tools{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.ng-practice-tools button{border:1px solid #7f638f;border-radius:7px;color:#d5c1e1;background:#31263e;min-height:40px;padding:7px 12px;font-size:12px}.ng-practice-tools button[aria-pressed=true]{background:#d6bfe9;color:#342241;border-color:#d6bfe9}
.ng-practice-board{display:grid;grid-template-columns:42px repeat(5,minmax(0,1fr));gap:4px;max-width:360px;margin:20px auto 6px;align-items:center}.ng-practice-board button{aspect-ratio:1;min-width:0;padding:0;border:1px solid #c8b9d3;border-radius:5px;background:#eee7f3;color:#795b8c;font-size:25px}.ng-practice-board button[data-mark="1"]{background:#b99ad0;box-shadow:inset 0 -3px #755589}.ng-practice-board button[data-mark="-1"]{background:#e1d8e8}.ng-practice-board button:focus-visible{outline:3px solid #ffdd94;outline-offset:1px}.ng-practice-clue{font-size:16px;text-align:center;color:#d7c7e2;white-space:nowrap}.ng-practice-clue.is-highlighted{color:#ffdb95;font-weight:700}.ng-practice-board.has-columns{max-width:280px;grid-template-columns:30px repeat(5,minmax(0,1fr));gap:3px}
.ng-lesson-feedback{color:#c6b4d2;font-size:13px;line-height:1.6;margin:15px 0;min-height:42px}.ng-lesson-feedback.is-complete{color:#d9eac8}.ng-lesson-actions{display:flex;justify-content:space-between;align-items:center;gap:10px}.ng-lesson-actions button{font-size:13px;min-height:44px}.ng-lesson-skip{display:block;margin:13px auto 0;text-decoration:underline;text-underline-offset:4px;font-size:12px;color:#c8b1d9}.ng-lesson-rules{margin-top:18px;border-top:1px solid #65516f;padding-top:13px;font-size:12px;color:#c7b6d2;line-height:1.7}.ng-lesson-rules summary{cursor:pointer;color:#e5d5ed}.ng-lesson-rules p{margin-top:10px}
@media(max-width:480px){.ng-help-bar{padding:15px;gap:8px}.ng-help-bar>div{flex-basis:100%}.ng-help-bar .button{flex:1}.ng-help-dialog{padding:22px 18px;width:calc(100% - 22px);max-height:calc(100dvh - 22px)}.ng-help-dialog>h2{font-size:23px}.ng-help-dialog>.eyebrow{font-size:9px}.ng-lesson-copy,.ng-lesson-task{font-size:13px}.ng-practice{padding:12px;margin-top:13px}.ng-practice-board{grid-template-columns:35px repeat(5,minmax(0,1fr));margin-top:15px}.ng-lesson-actions .button{font-size:12px;padding:10px}.ng-lesson-feedback{font-size:12px}.ng-lesson-progress{margin:10px 0}}
@media(prefers-reduced-motion:reduce){.ng-game *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
