:root{font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color-scheme:light;--ink:#152338;--muted:#536479;--bg:#f7f9fc;--surface:#fff;--border:#dce5ee;--site-accent:#3056D3}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-size:16px;line-height:1.55}.ns-page{max-width:1180px;margin:0 auto;padding:0 22px}.ns-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:21px 0;border-bottom:1px solid var(--border)}.ns-logo{display:flex;align-items:center}.ns-logo img{display:block;max-width:220px;width:100%;height:60px;object-fit:contain;object-position:left center}.ns-header nav,.ns-footer div{display:flex;flex-wrap:wrap;gap:18px}.ns-header a,.ns-footer a{text-decoration:none;color:inherit}.ns-header nav a:hover,.ns-footer a:hover{color:var(--site-accent)}.ns-hero{padding:52px 0 38px;max-width:850px}.ns-eyebrow{text-transform:uppercase;font-size:12px;letter-spacing:1.8px;color:var(--site-accent);font-weight:800}.ns-hero h1{font-size:clamp(2.1rem,5vw,3.7rem);line-height:1.12;letter-spacing:-.04em;margin:16px 0}.ns-hero p{color:var(--muted);font-size:1.13rem;max-width:760px}.ns-cta,.ns-form button,.ns-btn{display:inline-block;background:var(--site-accent);color:white;border:0;border-radius:10px;padding:10px 18px;font-weight:750;font-size:15px;text-decoration:none;cursor:pointer;box-shadow:0 10px 25px rgba(26,38,79,.12)}.ns-cta:hover,.ns-form button:hover,.ns-btn:hover{filter:brightness(1.08)}.ns-app-shell{border:1px solid var(--border);background:var(--surface);border-radius:18px;padding:28px;box-shadow:0 13px 42px rgba(35,50,85,.06)}.ns-app-head h2{font-size:1.5rem;margin:0}.ns-app-head p{color:var(--muted);margin-top:3px}#ns-app{margin-top:18px;min-height:180px}#ns-app button{cursor:pointer}#ns-app input,#ns-app select,#ns-app textarea{font:inherit;border:1px solid #b7c6d4;border-radius:8px;padding:10px;background:#fff;color:#17263D;min-width:0}#ns-app input[type=number]{width:145px}#ns-app .ns-grid-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;align-items:end}#ns-app .ns-grid-form label{display:grid;gap:6px;font-weight:650}#ns-app .ns-btn{padding:10px 14px}#ns-app .ns-result{padding:15px;border-radius:11px;background:#eff8f3;margin-top:16px;color:#166534;font-weight:700}#ns-app .ns-notice{color:#526478;font-size:13px;margin-top:14px}#ns-app .ns-control-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:12px 0}#ns-app .ns-board{display:grid;gap:5px;max-width:400px;margin:12px auto}#ns-app .ns-tile{min-height:52px;border:1px solid #b8c9d6;border-radius:7px;background:#eaf1f8;color:#152338;font-size:19px;font-weight:800}#ns-app .ns-tile:disabled{opacity:.65}#ns-app .ns-memory{display:grid;grid-template-columns:repeat(4,minmax(48px,1fr));gap:9px;max-width:450px}#ns-app .ns-memory button{font-size:24px;min-height:67px;border:1px solid #cdd9e3;border-radius:9px;background:#edf4ff;color:#17263d}#ns-app .ns-sudoku{display:grid;grid-template-columns:repeat(9,minmax(22px,1fr));max-width:486px;border:3px solid #1a2c43}#ns-app .ns-sudoku input{border-radius:0!important;padding:0!important;min-width:0;width:100%;text-align:center;font-size:clamp(12px,2vw,21px);aspect-ratio:1;border:1px solid #c4d2de;background:white}#ns-app .ns-sudoku input:nth-child(3n){border-right:2px solid #556879}#ns-app .ns-sudoku input:nth-child(n+19):nth-child(-n+27),#ns-app .ns-sudoku input:nth-child(n+46):nth-child(-n+54){border-bottom:2px solid #556879}#ns-app .ns-sudoku input[readonly]{background:#eaf1f8;font-weight:750}#ns-app .ns-gamecanvas{display:block;max-width:100%;height:auto;margin:0 auto;background:#f8fbff;border:2px solid #bdcddc;border-radius:12px}#ns-app .ns-knight{display:grid;grid-template-columns:repeat(8,1fr);max-width:440px;border:2px solid #3b5367;margin:auto}#ns-app .ns-knight button{aspect-ratio:1;border:none;border-radius:0;font-size:22px;background:#f5ecde;color:#133149}#ns-app .ns-knight button:nth-child(16n+1),#ns-app .ns-knight button:nth-child(16n+3),#ns-app .ns-knight button:nth-child(16n+5),#ns-app .ns-knight button:nth-child(16n+7),#ns-app .ns-knight button:nth-child(16n+10),#ns-app .ns-knight button:nth-child(16n+12),#ns-app .ns-knight button:nth-child(16n+14),#ns-app .ns-knight button:nth-child(16n+16){background:#a5bcaa}#ns-app .ns-knight button.ns-target{box-shadow:inset 0 0 0 3px #e6a13f}#ns-app .ns-knight button.ns-piece{color:#1b273c;font-weight:900}#ns-app .ns-opts{display:grid;gap:8px;max-width:620px}#ns-app .ns-opts button{padding:12px;border:1px solid var(--border);border-radius:9px;background:#eef4f9;text-align:left}#ns-app .ns-opts button:hover{background:#dceefa}#ns-app .ns-list{display:grid;gap:8px;max-height:360px;overflow-y:auto}#ns-app .ns-list article{padding:12px;border:1px solid var(--border);border-radius:8px;display:flex;gap:10px;justify-content:space-between;flex-wrap:wrap}.ns-reading{max-width:820px;margin:40px 0;padding:0 4px}.ns-reading h2{font-size:1.7rem;margin-bottom:12px}.ns-reading h3{font-size:1.1rem;margin-top:28px}.ns-reading p{color:#4c5a6e}.ns-form{display:grid;max-width:550px;gap:12px}.ns-form label{display:grid;gap:5px}.ns-form input,.ns-form textarea{font:inherit;padding:10px;border-radius:8px;border:1px solid var(--border)}.ns-form button{justify-self:start}.ns-hp{position:absolute;left:-99999px;opacity:0}.ns-good{color:#166534}.ns-footer{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;border-top:1px solid var(--border);padding:28px 0 50px;font-size:14px;color:var(--muted)}
html[data-theme=midnight-table]{color-scheme:dark;--ink:#e7ecf6;--muted:#aabbd0;--bg:#111a2b;--surface:#1b2a42;--border:#31425b}html[data-theme=midnight-table] #ns-app input,html[data-theme=midnight-table] #ns-app select{color:#17263d}html[data-theme=linen-cards]{--bg:#f7f1e9;--border:#e4d9ca;--surface:#fffcf6}html[data-theme=copper-lounge]{--bg:#fff7ee;--border:#ead9c8;--surface:#fffdfb}html[data-theme=cobalt-modern]{--bg:#f3f7ff;--border:#cbdafa;--surface:#fff}html[data-theme=minimal-light]{--bg:#fff;--border:#dce0e6;--surface:#fbfdff}
@media(max-width:720px){.ns-page{padding:0 15px}.ns-header{display:block;padding:16px 0}.ns-header nav{padding-top:10px;gap:11px;font-size:13px}.ns-hero{padding:32px 0 24px}.ns-app-shell{padding:15px}.ns-logo img{height:48px}#ns-app .ns-board{max-width:100%}#ns-app .ns-memory button{min-height:51px}#ns-app .ns-tile{min-height:48px}}
