.ng-main{max-width:920px;margin:0 auto;padding:0 16px}.ng-intro{max-width:720px;margin:12px auto 22px}.ng-intro h1{font-size:clamp(29px,6vw,44px);line-height:1.1;margin:12px 0}.ng-intro p{line-height:1.6}.ng-kicker{font-size:12px;letter-spacing:.13em;font-weight:800;text-transform:uppercase;color:#5141b2}.ng-shell{max-width:620px;margin:auto;border-radius:24px;background:#fff;box-shadow:0 10px 40px #29377a12;overflow:hidden;border:1px solid #ccd4ea}.ng-stats{display:flex;flex-wrap:wrap;justify-content:space-around;gap:12px;padding:18px;border-bottom:1px solid #e0e5f5}.ng-stats span{display:block;text-align:center;font-size:12px;color:#515974}.ng-stats strong{display:block;font-size:23px;color:#1b1f3b;line-height:1.3}.ng-stage{background:#111a36;padding:12px;position:relative}.ng-stage canvas{display:block;width:100%;max-width:430px;height:auto;aspect-ratio:4/5;margin:auto;border-radius:14px;background:#111a36;touch-action:none;outline-offset:3px}.ng-stage canvas:focus-visible{outline:3px solid #ffd166}.ng-controls{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;padding:14px 16px}.ng-controls button,.ng-action{font:700 15px system-ui;min-height:46px;padding:10px 18px;background:#4732a5;border:2px solid transparent;color:white;border-radius:12px;cursor:pointer}.ng-controls button.secondary{background:#edf0fa;color:#1b1f3b;border-color:#c1cae3}.ng-controls button:disabled{opacity:.5;cursor:default}.ng-controls button:focus-visible,.ng-tube:focus-visible{outline:3px solid #b14e00;outline-offset:3px}.ng-status{padding:0 20px 16px;margin:0;text-align:center;line-height:1.55;min-height:3.1em;font-size:15px}.ng-help{padding:0 20px 16px;margin:0;font-size:13px;color:#515974;text-align:center;line-height:1.6}.ng-sliders{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:16px 20px 0}.ng-sliders label{font-weight:700;font-size:14px}.ng-sliders input{display:block;width:100%;min-height:40px;accent-color:#4732a5}.ng-sort-board{display:flex;flex-wrap:wrap;justify-content:center;gap:16px 10px;padding:28px 12px;background:#f1f2ff;min-height:220px}.ng-tube{display:flex;flex-direction:column;align-items:center;gap:8px;width:65px;padding:0 4px 8px;border:0;background:transparent;color:#1b1f3b;font:700 13px system-ui;cursor:pointer}.ng-tube.selected .ng-vessel{outline:4px solid #4732a5;outline-offset:4px;transform:translateY(-5px)}.ng-vessel{box-sizing:border-box;display:flex;flex-direction:column-reverse;justify-content:flex-start;align-items:center;gap:4px;width:57px;height:170px;padding:7px 5px;border:3px solid #7484b2;border-top:0;border-radius:0 0 22px 22px;background:#fff;transition:transform .15s}.ng-counter{display:grid;place-items:center;width:40px;height:33px;border-radius:9px;font-size:17px;font-weight:900;border:1px solid #0002;box-shadow:inset 0 -3px #0002}.ng-empty{color:#7883a2;font-size:24px}.ng-rules{max-width:820px;margin:28px auto;padding:20px;line-height:1.75;background:#fff;border-radius:18px}.ng-rules h2{line-height:1.3}.ng-rules li+li{margin-top:8px}.ng-touch{touch-action:none;user-select:none;min-width:65px}.ng-best-note{max-width:700px;margin:18px auto;text-align:center;color:#515974;font-size:13px;line-height:1.6}@media(max-width:420px){.ng-main{padding:0 10px}.ng-stage{padding:6px}.ng-sort-board{gap:18px 6px;padding:24px 6px}.ng-tube{width:61px}.ng-controls{gap:8px;padding:12px 10px}.ng-controls button{padding:10px 13px}.ng-stats{padding:12px 8px;gap:8px}.ng-sliders{gap:12px}.ng-rules{padding:18px}}@media(prefers-reduced-motion:reduce){.ng-vessel{transition:none}}
