:root{--ink: #1b1e3b;--muted: #5c6080;--line: #e8e9f3;--line2: #d5d7eA;--bg: #f5f5fa;--card: #ffffff;--accent: #5b45e0;--accent-dark: #3e2cb0;--accent-tint: #eeedfe;--accent-ink: #3c3489;--good: #085041;--good-bg: #e1f5ee;--bad: #a3361f;--bad-bg: #ffe8e3;--navy: #12163a;--navy2: #1d2250;--navy3: #232860;--navy4: #2a2f63;--soft: #b9bee6;--yellow: #ffc93c;--teal: #2ec4b6;--coral: #ff6b5b;--violet: #7b61ff;--radius: 14px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:Inter,system-ui,sans-serif;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--accent)}a:hover{color:var(--accent-dark)}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.p-shell{min-height:100vh;display:flex;flex-direction:column}.p-main{flex:1;width:100%;max-width:760px;margin:0 auto;padding:20px 16px 96px;display:flex;flex-direction:column;gap:14px}.p-title{font-family:Nunito,sans-serif;font-weight:900;font-size:26px;margin:0}.p-sub{color:var(--muted);font-size:14px;margin:0}.p-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:16px;display:flex;flex-direction:column;gap:12px}.p-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.p-wrap{display:flex;flex-wrap:wrap;gap:8px}.p-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.p-grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.p-label{font-size:12px;font-weight:800;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}.p-stat{background:var(--bg);border-radius:12px;padding:8px 4px;text-align:center;display:flex;flex-direction:column}.p-stat b{font-size:18px}.p-stat span{font-size:11px;font-weight:600;color:var(--muted)}.btn{border:none;border-radius:14px;min-height:46px;padding:0 16px;font-weight:800;font-size:15px;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-dark)}.btn-ghost{background:#fff;border:1px solid var(--line2);color:var(--ink)}.btn-danger{background:#fff;border:1px solid #f0c2b8;color:var(--bad)}.btn-yellow{background:var(--yellow);color:var(--ink)}.btn-small{min-height:36px;border-radius:999px;font-size:14px;padding:0 14px}.btn:disabled{opacity:.5;cursor:default}.chip{border-radius:999px;padding:7px 12px;font-size:14px;font-weight:700;border:1px solid var(--line2);background:#fff}.chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}.field{display:flex;flex-direction:column;gap:6px}.field>span{font-size:13px;font-weight:700;color:var(--muted)}.input{height:46px;border-radius:12px;border:1px solid var(--line2);padding:0 12px;background:#fff;font-size:16px;width:100%}textarea.input{height:auto;padding:10px 12px;resize:vertical}.err{color:var(--bad);font-size:13px;font-weight:600}.ok{color:var(--good);font-size:13px;font-weight:600}.pill{font-size:12px;font-weight:800;padding:5px 10px;border-radius:999px;display:inline-block}.pill-good{background:var(--good-bg);color:var(--good)}.pill-bad{background:var(--bad-bg);color:var(--bad)}.pill-acc{background:var(--accent-tint);color:var(--accent-ink)}.p-nav{position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:8px 4px calc(10px + env(safe-area-inset-bottom));z-index:10}.p-nav a{text-decoration:none;color:var(--muted);font-size:11px;font-weight:700;display:flex;flex-direction:column;align-items:center;gap:3px;padding:4px 0}.p-nav a.active{color:var(--accent)}.dark-card{background:var(--ink);color:#fff;border-radius:18px;padding:16px;display:flex;flex-direction:column;gap:12px}.avatar{width:44px;height:44px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-family:Nunito,sans-serif;font-weight:900;font-size:22px;flex-shrink:0}.stepper{display:flex;align-items:center;gap:8px}.stepper button{width:34px;height:34px;border-radius:10px;border:1px solid var(--line2);background:#fff;font-weight:800}.stepper b{min-width:64px;text-align:center}.set-row{display:flex;justify-content:space-between;align-items:center;min-height:52px;border-top:1px solid #f0f1f7;gap:10px}.set-row:first-of-type{border-top:none}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0c1e80;display:flex;align-items:flex-end;justify-content:center;z-index:50}.sheet{background:#fff;color:var(--ink);width:100%;max-width:560px;border-radius:24px 24px 0 0;padding:18px 18px calc(24px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:12px;max-height:92vh;overflow:auto}@media (min-width: 700px){.overlay{align-items:center}.sheet{border-radius:24px}}table.mini{width:100%;border-collapse:collapse;font-size:14px}table.mini td,table.mini th{padding:8px 6px;border-top:1px solid var(--line);text-align:left}.k-shell{min-height:100vh;background:var(--navy);color:#fff;font-family:Nunito,sans-serif;display:flex;flex-direction:column}.k-main{flex:1;width:100%;max-width:980px;margin:0 auto;padding:22px 18px 40px;display:flex;flex-direction:column;gap:18px}.k-title{font-size:30px;font-weight:900;margin:0;line-height:1.15}.k-soft{color:var(--soft);font-weight:700}.k-card{background:var(--navy2);border-radius:22px;padding:18px;display:flex;flex-direction:column;gap:12px}.k-btn{border:none;border-radius:20px;min-height:64px;padding:0 20px;font-family:Nunito,sans-serif;font-weight:900;font-size:20px;color:#fff;background:var(--navy3);display:flex;align-items:center;justify-content:center;gap:12px}.k-btn:hover{background:#2e3475}.k-btn.sel{background:var(--yellow);color:var(--navy)}.k-btn.right{background:var(--teal);color:#06332f}.k-btn.wrong{background:#5a2a3a;color:#ffb4a8}.k-btn.yellow{background:var(--yellow);color:var(--navy)}.k-btn.teal{background:var(--teal);color:#06332f}.k-btn.violet{background:var(--violet);color:#fff}.k-btn:disabled{opacity:.5}.k-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.k-tag{align-self:flex-start;font-size:15px;font-weight:800;color:#9ff0e7;background:#163f4a;padding:6px 14px;border-radius:999px}.k-bal{font-size:20px;font-weight:900;color:var(--navy);background:var(--yellow);padding:8px 16px;border-radius:999px;white-space:nowrap}.k-input{height:64px;border-radius:18px;border:3px solid var(--navy4);background:var(--navy3);color:#fff;font-size:28px;font-weight:900;text-align:center;width:100%}.k-input:focus{border-color:var(--yellow);outline:none}.k-avatar{border-radius:36px;display:flex;align-items:center;justify-content:center;font-weight:900}.k-progress{height:12px;background:var(--navy4);border-radius:999px;overflow:hidden}.k-progress>div{height:100%;background:var(--teal);border-radius:999px;transition:width .3s}.k-feedback{border-radius:18px;padding:14px 18px;font-size:20px;font-weight:800}.k-feedback.good{background:#163f4a;color:#9ff0e7}.k-feedback.bad{background:#3a2440;color:#ffb4a8}.k-icon-btn{width:52px;height:52px;border-radius:16px;border:none;background:var(--violet);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.k-link{background:transparent;border:2px solid #3a4080;color:var(--soft);border-radius:999px;padding:8px 16px;font-weight:800;font-family:Nunito,sans-serif}@media (max-width: 600px){.k-title{font-size:24px}.k-choice-grid{gap:10px}.k-btn{font-size:18px;min-height:58px}}@keyframes pop{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.08);opacity:1}to{transform:scale(1)}}@media (prefers-reduced-motion: no-preference){.pop{animation:pop .4s ease-out}}.tv :focus,.tv :focus-visible{outline:5px solid #ffc93c;outline-offset:5px}.tv button:focus{transform:scale(1.02);transition:transform .12s ease}.tv .k-main{padding-left:48px;padding-right:48px}.tv .k-input:focus{border-color:#ffc93c}.tv body{cursor:none}.k-banner{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;border-radius:18px;padding:14px 18px;font-weight:800}.k-banner.bad{background:#4a2235;color:#ffd2cc}.k-banner.info{background:#232860;color:#e7e9ff}.k-pad{display:grid;grid-template-columns:repeat(3,88px);gap:12px}.k-pad button{height:72px;font-size:30px}
