:root{--vt-c-white:#fff;--vt-c-white-soft:#f8f8f8;--vt-c-white-mute:#f2f2f2;--vt-c-black:#181818;--vt-c-black-soft:#222;--vt-c-black-mute:#282828;--vt-c-indigo:#2c3e50;--vt-c-divider-light-1:#3c3c3c4a;--vt-c-divider-light-2:#3c3c3c1f;--vt-c-divider-dark-1:#545454a6;--vt-c-divider-dark-2:#5454547a;--vt-c-text-light-1:var(--vt-c-indigo);--vt-c-text-light-2:#3c3c3ca8;--vt-c-text-dark-1:var(--vt-c-white);--vt-c-text-dark-2:#ebebeba3;--color-background:var(--vt-c-white);--color-background-soft:var(--vt-c-white-soft);--color-background-mute:var(--vt-c-white-mute);--color-border:var(--vt-c-divider-light-2);--color-border-hover:var(--vt-c-divider-light-1);--color-heading:var(--vt-c-text-light-1);--color-text:var(--vt-c-text-light-1);--section-gap:160px}@media (prefers-color-scheme:dark){:root{--color-background:var(--vt-c-black);--color-background-soft:var(--vt-c-black-soft);--color-background-mute:var(--vt-c-black-mute);--color-border:var(--vt-c-divider-dark-2);--color-border-hover:var(--vt-c-divider-dark-1);--color-heading:var(--vt-c-text-dark-1);--color-text:var(--vt-c-text-dark-2)}}*,:before,:after{box-sizing:border-box;margin:0;font-weight:400}body{min-height:100vh;color:var(--color-text);background:var(--color-background);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;line-height:1.6;transition:color .5s,background-color .5s}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#07111f;--bg-soft:#09101dc7;--surface:#0f182bdb;--surface-border:#bdd9ff1f;--text:#eaf2ff;--text-soft:#9fb0c9;--accent:#7cc6fe;--accent-2:#8cffb0;--accent-3:#ffb86b;--danger:#ff7a8a;--shadow:0 24px 60px #00000059}html,body,#app{min-height:100%}body{color:var(--text);background:radial-gradient(circle at 0 0,#7cc6fe2e,#0000 30%),radial-gradient(circle at 100% 0,#8cffb024,#0000 26%),radial-gradient(circle at 0 100%,#ffb86b24,#0000 32%),linear-gradient(160deg,#05101d 0%,#08111c 55%,#050b13 100%);margin:0;font-family:Avenir Next,Segoe UI,Trebuchet MS,sans-serif}button,input{font:inherit}button{cursor:pointer;border:0}input{color:var(--text)}#app{min-height:100vh}.app-shell{min-height:100vh;padding:32px;position:relative;overflow:hidden}.ambient{filter:blur(22px);opacity:.7;pointer-events:none;border-radius:999px;position:absolute;inset:auto}.ambient-a{background:#7cc6fe38;width:260px;height:260px;top:-120px;left:-80px}.ambient-b{background:#8cffb029;width:320px;height:320px;top:260px;right:-100px}.topbar,.dashboard{z-index:1;position:relative}.topbar{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:28px;display:flex}.topbar h1,.hero-card h2,.panel h3,.modal-card h2,.panel h4{letter-spacing:-.03em;margin:0}.topbar h1{font-size:clamp(2rem,3vw,3.6rem)}.eyebrow{text-transform:uppercase;letter-spacing:.18em;color:var(--accent);margin:0 0 8px;font-size:.72rem;font-weight:700}.subtle{color:var(--text-soft);margin:8px 0 0}.topbar-actions{align-items:center;gap:12px;display:flex;position:relative}.week-pill,.task-tag,.counter-pill,.stat-chip{border:1px solid var(--surface-border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow);background:#ffffff0a}.week-pill{border-radius:999px;padding:10px 16px}.avatar-button{width:52px;height:52px;color:var(--text);background:linear-gradient(160deg,#7cc6fe66,#ffffff14);border:1px solid #ffffff1a;border-radius:18px;place-items:center;display:grid}.avatar-button span,.user-avatar,.profile-dot{border-radius:999px;place-items:center;font-weight:700;display:grid}.avatar-button span{border-radius:inherit;width:100%;height:100%}.profile-menu{border:1px solid var(--surface-border);min-width:240px;box-shadow:var(--shadow);background:#0a111df5;border-radius:24px;padding:12px;position:absolute;top:calc(100% + 12px);right:0}.profile-menu-item{width:100%;color:var(--text);text-align:left;background:0 0;border-radius:16px;align-items:center;gap:12px;padding:12px 14px;display:flex}.profile-menu-item:hover{background:#ffffff0f}.profile-menu-item.danger{color:var(--danger)}.profile-dot,.user-avatar{flex:none;width:34px;height:34px}.surface{background:var(--surface);border:1px solid var(--surface-border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow)}.dashboard{gap:20px;display:grid}.hero-card,.panel,.modal-card,.loading-card{border-radius:30px;padding:24px}.hero-card{justify-content:space-between;align-items:center;gap:24px;display:flex}.hero-stats{grid-template-columns:repeat(2,minmax(130px,1fr));gap:12px;display:grid}.stat-chip{border-radius:22px;gap:8px;min-width:140px;padding:14px 16px;display:grid}.stat-chip strong{font-size:1rem}.stat-chip.accent{background:linear-gradient(160deg,#7cc6fe38,#7cc6fe0d)}.content-grid{grid-template-columns:1.2fr .8fr;gap:20px;display:grid}.left-column,.right-column{gap:20px;display:grid}.panel{gap:18px;display:grid}.panel-head,.task-title-row,.repeatable-card,.other-item,.hero-card,.loading-card,.user-card,.password-panel,.bathroom-block{justify-content:space-between;align-items:center;gap:16px;display:flex}.panel-head{align-items:flex-start}.task-tag,.counter-pill{border-radius:999px;padding:8px 14px}.task-tag.done{color:var(--accent-2);background:#8cffb024}.task-focus{background:#ffffff08;border:1px solid #ffffff0d;border-radius:24px;padding:18px}.checklist{gap:10px;display:grid}.check-item{background:#ffffff08;border-radius:16px;align-items:center;gap:12px;padding:12px 14px;display:flex}.check-item input{width:18px;height:18px;accent-color:var(--accent)}.repeatable-list{gap:12px;display:grid}.repeatable-card,.other-item,.user-card,.detail-card{background:#ffffff08;border:1px solid #ffffff0f;border-radius:22px;padding:14px 16px}.repeatable-actions{justify-items:end;gap:8px;display:grid}.counter-pill{text-align:center;min-width:42px}.primary-button,.secondary-button{color:#08111c;border-radius:16px;padding:12px 16px;font-weight:700}.primary-button{background:linear-gradient(135deg, var(--accent), var(--accent-2))}.secondary-button{background:#ffffffe6}.reward-banner{color:var(--accent-2);background:#8cffb01f;border-radius:18px;gap:4px;padding:16px;display:grid}.chart-panel{align-items:center}.ring-wrap{place-items:center;display:grid;position:relative}.task-ring{width:min(100%,320px);height:auto}.ring-base,.ring-center{fill:none}.ring-base{stroke:#ffffff0f;stroke-width:22px}.ring-center{fill:#08111cf0}.slice-path{stroke:#08111cb3;stroke-width:1px;transform-origin:120px 120px;transition:opacity .25s,transform .25s}.slice-path:hover{transform:scale(1.03);opacity:1!important}.ring-center-copy{text-align:center;gap:8px;display:grid;position:absolute}.ring-center-copy strong{max-width:180px}.detail-card{gap:12px;display:grid}.detail-grid{flex-wrap:wrap;gap:8px;display:flex}.detail-grid span{background:#ffffff0d;border-radius:999px;padding:8px 10px}.other-list{gap:10px;display:grid}.other-item{padding:12px 14px}.error-text,.error-banner{color:var(--danger)}.error-banner{background:#ff7a8a1f;border:1px solid #ff7a8a29;border-radius:18px;padding:12px 16px}.modal-backdrop{z-index:20;background:#040911c2;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-card{gap:18px;width:min(820px,100%);display:grid}.user-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.user-card{text-align:left;color:var(--text);justify-content:flex-start;align-items:center}.user-avatar{margin-right:6px}.password-panel{flex-direction:column;align-items:stretch}.password-input{background:#ffffff0a;border:1px solid #ffffff1f;border-radius:16px;width:100%;padding:14px 16px}.loading-state{place-items:center;min-height:56vh;display:grid}.loading-card{text-align:center;flex-direction:column;justify-content:center;gap:12px}.spinner{border:4px solid #7cc6fe2e;border-top-color:var(--accent);border-radius:999px;width:42px;height:42px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1080px){.content-grid{grid-template-columns:1fr}.hero-card{flex-direction:column;align-items:flex-start}}@media (width<=720px){.app-shell{padding:18px}.topbar{flex-direction:column}.hero-stats{grid-template-columns:1fr;width:100%}.hero-card,.panel,.modal-card,.loading-card{border-radius:24px;padding:18px}.task-title-row,.repeatable-card,.other-item,.user-card,.bathroom-block,.panel-head{flex-direction:column;align-items:flex-start}}
