:root{--bg: linear-gradient(160deg, #0b1e3a 0%, #0f2b4f 48%, #0d3b4a 100%);--card: rgba(255, 255, 255, .08);--card-solid: #122a4d;--border: rgba(255, 255, 255, .12);--text: #eaf2ff;--muted: #9fb3d6;--accent: #38bdf8;--accent2: #34d399;--accent-warm: #fbbf24;--danger: #f87171;--ring: rgba(56, 189, 248, .5);--ok: #34d399;--shadow: 0 12px 34px rgba(0, 0, 0, .35);--radius: 20px;--nav-h: calc(64px + env(safe-area-inset-bottom, 0px)) ;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}[data-theme=light]{--bg: linear-gradient(160deg, #eef4ff 0%, #e4f0ff 48%, #e0f6f2 100%);--card: rgba(255, 255, 255, .78);--card-solid: #ffffff;--border: rgba(18, 42, 77, .12);--text: #0f2442;--muted: #5a6f92;--accent: #0d8fdc;--accent2: #0ea376;--danger: #d64545;--ring: rgba(13, 143, 220, .4);--shadow: 0 12px 30px rgba(15, 36, 66, .16)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:#0b1e3a;color:var(--text);-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;overflow-x:hidden}.app{min-height:100%;background:var(--bg);display:flex;flex-direction:column}#root[data-bg]{background:var(--bg)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:#7f97c459;border-radius:6px}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input,select,textarea{font-family:inherit;color:var(--text)}.login{flex:1;display:flex;align-items:center;justify-content:center;padding:24px;padding-top:calc(env(safe-area-inset-top,0px) + 16px)}.login-card{width:100%;max-width:380px;text-align:center}.logo{width:84px;height:84px;border-radius:26px;margin:0 auto 18px;background:linear-gradient(135deg,var(--accent),var(--accent2));display:flex;align-items:center;justify-content:center;font-weight:900;font-size:44px;color:#fff;box-shadow:0 14px 30px #38bdf859}.login-card h1{font-size:26px;margin:0 0 4px;letter-spacing:-.5px}.login-card .sub{color:var(--muted);margin:0 0 26px;font-size:14.5px}.field{width:100%;padding:15px 16px;border-radius:14px;background:var(--card-solid);border:1px solid var(--border);font-size:17px;outline:none;margin-bottom:14px;transition:border-color .2s}.field:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--ring)}[data-theme=light] .field{border-color:#d3ddf0}.btn{width:100%;padding:15px;border-radius:14px;font-size:17px;font-weight:700;transition:transform .12s,filter .2s;color:#fff}.btn:active{transform:scale(.985)}.btn-primary{background:linear-gradient(135deg,var(--accent),var(--accent2));box-shadow:0 10px 24px #0d8fdc59}.btn-ghost{background:var(--card);border:1px solid var(--border);color:var(--text);margin-top:12px;font-weight:600}.err{color:var(--danger);font-size:14px;margin:8px 0;min-height:20px}.main{flex:1;padding:calc(env(safe-area-inset-top,0px) + 16px) 16px var(--nav-h);max-width:520px;width:100%;margin:0 auto}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.topbar h2{font-size:22px;margin:0;letter-spacing:-.4px}.topbar .chip{font-size:12px;color:var(--muted);background:var(--card);border:1px solid var(--border);padding:6px 12px;border-radius:999px;font-weight:600}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:18px;margin-bottom:14px}[data-theme=light] .card{box-shadow:0 6px 22px #141a2e0d}.card h3{margin:0 0 12px;font-size:16px}.row{display:flex;align-items:center;gap:10px;margin-bottom:12px}.daysgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin:10px 0}.row .grow{flex:1}.nav{position:fixed;left:0;right:0;bottom:0;z-index:20;background:var(--card-solid);border-top:1px solid var(--border);display:flex;justify-content:space-around;padding-bottom:env(safe-area-inset-bottom,0px);height:var(--nav-h)}.nav button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--muted);font-size:11px;font-weight:600;padding:6px 0}.nav button .ico{font-size:22px;line-height:1}.nav button.active{color:var(--accent)}.nav button .dot{width:4px;height:4px;border-radius:99px;background:transparent}.nav button.active .dot{background:var(--accent)}.item{display:flex;align-items:flex-start;gap:12px;padding:13px 0;border-bottom:1px solid var(--border)}.item:last-child{border-bottom:none}.item .ico{font-size:24px;line-height:1.2}.item .body{flex:1;min-width:0}.item .t{font-weight:700;font-size:15px}.item .d{color:var(--muted);font-size:13px;margin-top:2px}.switch{position:relative;width:48px;height:28px;flex:none}.switch input{opacity:0;width:0;height:0}.switch .track{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:99px;background:#7f97c459;transition:.2s}.switch .knob{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:99px;background:#fff;transition:.2s}.switch input:checked+.track{background:var(--accent)}.switch input:checked+.track+.knob{transform:translate(20px)}.bigtime{font-size:44px;font-weight:900;letter-spacing:-1px;line-height:1}.levels{display:grid;grid-template-columns:1fr 1fr;gap:8px}.level{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:12px;text-align:left}.level.selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--ring)}.level .ln{font-weight:700;font-size:14px}.level .ld{font-size:11.5px;color:var(--muted);margin-top:2px;line-height:1.35}.sel,.num{background:var(--card-solid);border:1px solid var(--border);border-radius:12px;padding:12px 14px;font-size:15px;outline:none;color:var(--text)}.sel option{color:#111}.challenge{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:var(--bg);display:flex;align-items:center;justify-content:center;padding:28px 24px calc(34px + env(safe-area-inset-bottom,0px));overflow:auto}.challenge-in{width:100%;max-width:380px;text-align:center}.challenge .prompt{font-size:46px;font-weight:900;letter-spacing:-1px;margin:16px 0;background:var(--card-solid);border:1px solid var(--border);border-radius:22px;padding:24px;box-shadow:var(--shadow)}.challenge .step{color:var(--muted);font-size:14px}.ansrow{display:flex;gap:10px;margin:20px 0;align-items:center}.ansrow input{flex:1;min-width:0;font-size:30px;text-align:center;padding:14px;border-radius:16px;border:1px solid var(--border);background:var(--card-solid);color:var(--text)}.ansrow .done,.ansrow .check{font-size:28px}.shake{animation:shake .35s}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-8px)}75%{transform:translate(8px)}}.congrats{text-align:center;padding:30px 0}.congrats .big{font-size:60px}.congrats p{font-size:18px;font-weight:700}.chatlog{display:flex;flex-direction:column;gap:10px;min-height:40vh}.bubble{max-width:82%;padding:12px 14px;border-radius:16px;font-size:15px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.bubble.me{align-self:flex-end;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;border-bottom-right-radius:4px}.bubble.got{align-self:flex-start;background:var(--card-solid);border:1px solid var(--border);border-bottom-left-radius:4px}.chatbar{display:flex;gap:10px;margin-top:14px;position:sticky;bottom:calc(var(--nav-h) + 4px)}.chatbar input{flex:1;padding:14px 16px;border-radius:14px;border:1px solid var(--border);background:var(--card-solid);font-size:15px;outline:none}.chatbar button{padding:0 18px;border-radius:14px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;font-weight:700;font-size:20px}.typing{color:var(--muted);font-size:13px;padding:4px 2px}.toggle-pair{display:flex;align-items:center;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--border)}.toggle-pair:last-child{border-bottom:none}.toggle-pair .lbl{font-size:15px;font-weight:600}.toggle-pair .sub{font-size:12.5px;color:var(--muted)}.empty{text-align:center;color:var(--muted);padding:44px 12px}.empty .emo{font-size:44px;margin-bottom:8px}
