:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--jb-bg:#07070d;--jb-surface:#ffffff0f;--jb-surface-2:#ffffff1a;--jb-border:#ffffff1f;--jb-text:#fffffff0;--jb-muted:#ffffff9e;--jb-danger:#ff5c6c;--jb-ok:#3dd68c;--jb-font:"DM Sans", system-ui, sans-serif;--jb-radius:18px;--jb-safe-b:env(safe-area-inset-bottom,0px);--jb-safe-t:env(safe-area-inset-top,0px);--jb-pink:#ff3b8d;--jb-purple:#7b2ff7;--jb-gold:#ffd21a;--jb-teal:#2dd4bf;--jb-cyan:#38bdf8}*,:before,:after{box-sizing:border-box}html,body{min-height:100%;font-family:var(--jb-font);background:var(--jb-bg);color:var(--jb-text);-webkit-font-smoothing:antialiased;margin:0}#root{min-height:100dvh}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}:focus-visible{outline:2px solid var(--jb-cyan);outline-offset:2px}.page-root{min-height:100dvh;padding-top:calc(12px + var(--jb-safe-t));padding-bottom:calc(16px + var(--jb-safe-b));flex-direction:column;display:flex}.page-head{align-items:center;gap:12px;width:100%;max-width:720px;margin:0 auto;padding:8px 20px 16px;display:flex}.page-head h1{letter-spacing:-.02em;margin:0;font-size:1.35rem;font-weight:800}.page-back{background:var(--jb-surface);border:1px solid var(--jb-border);border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.2rem;display:inline-flex}.page-body{flex:1;width:100%;max-width:720px;margin:0 auto;padding:0 20px 24px}.hub-hero{text-align:center;padding:24px 16px 8px}.hub-hero h1{letter-spacing:-.03em;margin:0 0 8px;font-size:1.75rem;font-weight:800}.hub-hero p{color:var(--jb-muted);margin:0;font-size:1rem;line-height:1.5}.hub-grid{gap:14px;margin-top:28px;display:grid}@media (width>=560px){.hub-grid{grid-template-columns:repeat(3,1fr)}}.hub-card{border-radius:var(--jb-radius);border:1px solid var(--jb-border);background:linear-gradient(145deg,#ffffff12,#ffffff05);padding:20px;transition:transform .15s,border-color .15s;display:block}.hub-card:hover{border-color:#ffffff38;transform:translateY(-2px)}.hub-card .icon{margin-bottom:10px;font-size:1.75rem}.hub-card h2{margin:0 0 6px;font-size:1.15rem;font-weight:700}.hub-card p{color:var(--jb-muted);margin:0;font-size:.92rem;line-height:1.45}.hub-logout{color:var(--jb-muted);text-underline-offset:3px;padding:4px 8px;font-size:.92rem;text-decoration:underline}.hub-logout:hover{color:var(--jb-text)}.card-panel{background:var(--jb-surface);border:1px solid var(--jb-border);border-radius:var(--jb-radius);padding:16px}.btn{border:1px solid #0000;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:14px 18px;font-size:.98rem;font-weight:700;display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--jb-pink), var(--jb-purple));color:#fff;box-shadow:0 10px 28px #7b2ff759}.btn-ghost{background:var(--jb-surface);border-color:var(--jb-border)}.btn-danger{color:#ffb4bc;background:#ff5c6c26;border-color:#ff5c6c59}.field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.field label{color:var(--jb-muted);font-size:.85rem;font-weight:600}.field input,.field textarea,.field select{border:1px solid var(--jb-border);background:#00000059;border-radius:12px;padding:12px 14px}.field textarea{resize:vertical;min-height:88px}.error-pill{color:#ffb4bc;background:#ff5c6c1f;border:1px solid #ff5c6c59;border-radius:12px;margin-bottom:12px;padding:10px 14px;font-size:.9rem}.subnav{-webkit-overflow-scrolling:touch;gap:8px;margin-bottom:16px;padding-bottom:8px;display:flex;overflow-x:auto}.subnav a{white-space:nowrap;border:1px solid var(--jb-border);background:var(--jb-surface);color:var(--jb-muted);border-radius:999px;padding:8px 14px;font-size:.88rem;font-weight:600}.subnav a.active{color:var(--jb-text);background:#38bdf81f;border-color:#38bdf873}.muted{color:var(--jb-muted);font-size:.92rem}.loader{border:3px solid var(--jb-border);border-top-color:var(--jb-cyan);border-radius:50%;width:22px;height:22px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.celebrate-overlay{z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-align:center;background:#000000a6;flex-direction:column;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.celebrate-overlay h2{margin:0 0 8px;font-size:1.75rem}.sheet-overlay{z-index:40;background:#0000008c;justify-content:center;align-items:flex-end;padding:16px;display:flex;position:fixed;inset:0}.sheet{border:1px solid var(--jb-border);background:#111118;border-radius:22px 22px 16px 16px;width:100%;max-width:480px;max-height:90dvh;padding:20px;overflow:auto}.sheet h3{margin:0 0 16px}.row-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.fab{right:calc(20px + env(safe-area-inset-right,0));bottom:calc(20px + var(--jb-safe-b));background:linear-gradient(135deg, var(--jb-pink), var(--jb-purple));color:#fff;z-index:20;border-radius:18px;width:56px;height:56px;font-size:1.5rem;font-weight:800;position:fixed;box-shadow:0 12px 32px #7b2ff773}.star-hero{text-align:center;padding:8px 0 20px}.star-hero .big{letter-spacing:-.04em;text-shadow:0 12px 40px #ffd21a40;font-size:clamp(3rem,14vw,4.5rem);font-weight:900}.reward-card{border:1px solid var(--jb-border);background:#ffffff0f;border-radius:20px;margin-bottom:12px;padding:16px}.reward-card.done{background:linear-gradient(135deg,#ffd21a33,#ffb40014);border-color:#ffd21a59}.star-grid{flex-wrap:wrap;align-items:center;gap:6px;margin:10px 0;display:flex}.reward-star-char{-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:center;align-items:center;min-width:1.5rem;min-height:1.5rem;font-family:system-ui,Segoe UI Symbol,Apple Color Emoji,Noto Color Emoji,sans-serif;font-size:1.5rem;line-height:1;display:inline-flex}.reward-star-char--on{color:#ffd21a;text-shadow:0 0 6px #ffd21a8c,0 1px 2px #00000059}.reward-star-char--off{color:#ffffffa6;text-shadow:0 1px 1px #00000040}.dashboard-grid{gap:12px;display:grid}@media (width>=600px){.dashboard-grid{grid-template-columns:1fr 1fr}}.dash-card h3{color:var(--jb-muted);margin:0 0 10px;font-size:1rem;font-weight:700}.dash-card .big-num{font-size:2rem;font-weight:800}.list-line{border-bottom:1px solid var(--jb-border);justify-content:space-between;align-items:center;gap:10px;padding:12px 0;display:flex}.list-line:last-child{border-bottom:none}.checkbox{border:2px solid var(--jb-border);border-radius:8px;width:22px;height:22px}.checkbox.on{background:var(--jb-ok);border-color:#0000}
