@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/46a9e2f250689b4a-s.03ez25a9g3i0n.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/76b70a1dbe058eb5-s.3i9rha7jpxn0q.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2fb76073e23fd9e4-s.2o7ko1d-5m1xu.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6131cbbf5549afa2-s.1ee5w62fj497l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/45462fd7b7c12654-s.1way2z9fj6cig.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ba63f6a0e436df8e-s.0szrwpqb9mkwe.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/07c7676b89ed2778-s.p.45535valc9rzk.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}._0bjUvq_className{font-family:Inter,Inter Fallback;font-style:normal}._0bjUvq_variable{--font-inter:"Inter", "Inter Fallback"}
:root{--bg-primary:#080c14;--bg-secondary:#0d1220;--bg-tertiary:#111827;--bg-card:#0f1623;--bg-hover:#141d2e;--border:#1e2d45;--border-light:#243352;--text-primary:#f0f4ff;--text-secondary:#8b9cc8;--text-muted:#4a5880;--text-dim:#2d3a58;--accent:#3b82f6;--accent-dim:#1d3f77;--accent-glow:#3b82f626;--accent-bright:#60a5fa;--success:#10b981;--success-dim:#064e3b;--warning:#f59e0b;--danger:#ef4444;--danger-dim:#7f1d1d;--shadow-sm:0 1px 3px #0006;--shadow:0 4px 16px #00000080;--shadow-lg:0 8px 32px #0009;--radius-sm:6px;--radius:10px;--radius-lg:16px;--radius-xl:20px;--font:var(--font-inter), "Inter", -apple-system, sans-serif;--transition:.18s ease;--transition-slow:.35s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font);background-color:var(--bg-primary);color:var(--text-primary);min-height:100vh;font-size:15px;line-height:1.6}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.3}a{color:var(--accent-bright);text-decoration:none}a:hover{color:var(--text-primary)}.container{max-width:760px;margin:0 auto;padding:0 20px}.page-wrapper{min-height:100vh;padding-bottom:80px}.top-bar{z-index:100;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);background:#080c14eb;padding:12px 20px;position:sticky;top:0}.top-bar-inner{justify-content:space-between;align-items:center;max-width:760px;margin:0 auto;display:flex}.site-title{letter-spacing:.15em;color:var(--text-secondary);text-transform:uppercase;font-size:11px;font-weight:700}.top-bar-right{align-items:center;gap:12px;display:flex}.lock-btn{border:1px solid var(--border);color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;width:32px;height:32px;transition:all var(--transition);background:0 0;justify-content:center;align-items:center;font-size:14px;display:flex}.lock-btn:hover,.lock-btn.unlocked{border-color:var(--accent-dim);color:var(--accent-bright);background:var(--accent-glow)}.activity-pill{border:1px solid var(--border);color:var(--text-secondary);border-radius:20px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:500;display:flex}.activity-dot{background:var(--success);border-radius:50%;width:6px;height:6px;animation:2s infinite pulse-dot}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}.hero{text-align:center;padding:56px 0 40px}.hero-subtitle{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:24px;font-size:12px;font-weight:500}.hero-goal{letter-spacing:.18em;text-transform:uppercase;color:var(--accent-bright);border:1px solid var(--accent-dim);background:var(--accent-glow);border-radius:20px;margin-bottom:40px;padding:5px 14px;font-size:11px;font-weight:700;display:inline-block}.progress-center{text-align:center;padding:0 0 32px}.progress-ring-wrapper{width:160px;height:160px;margin:0 auto 28px;position:relative}.progress-ring{transform:rotate(-90deg)}.progress-ring-bg{fill:none;stroke:var(--border);stroke-width:8px}.progress-ring-fill{fill:none;stroke:var(--accent);stroke-width:8px;stroke-linecap:round;filter:drop-shadow(0 0 6px #3b82f680);transition:stroke-dashoffset .8s cubic-bezier(.4,0,.2,1)}.progress-ring-text{text-align:center;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.progress-pct{color:var(--text-primary);letter-spacing:-.02em;font-size:36px;font-weight:700;line-height:1}.progress-label{color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase;margin-top:2px;font-size:10px;font-weight:500}.progress-stats{justify-content:center;gap:32px;margin-bottom:16px;display:flex}.stat-item{text-align:center}.stat-value{color:var(--text-primary);letter-spacing:-.02em;font-size:22px;font-weight:700}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-top:2px;font-size:11px}.progress-message{color:var(--text-secondary);margin-top:8px;font-size:13px;font-style:italic}.section{margin-bottom:2px}.section-header{cursor:pointer;-webkit-user-select:none;user-select:none;border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 0 12px;display:flex}.section-header:hover .section-title{color:var(--text-primary)}.section-title{letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary);transition:color var(--transition);font-size:11px;font-weight:700}.section-toggle{color:var(--text-muted);transition:transform var(--transition);font-size:12px}.section-toggle.open{transform:rotate(180deg)}.section-content{transition:max-height var(--transition-slow);overflow:hidden}.subjects-grid{flex-direction:column;gap:2px;padding-bottom:16px;display:flex}.subject-row{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);transition:border-color var(--transition);overflow:hidden}.subject-row:hover{border-color:var(--border-light)}.subject-header{cursor:pointer;align-items:center;gap:12px;padding:14px 16px;display:flex}.subject-number{color:var(--text-muted);font-variant-numeric:tabular-nums;min-width:20px;font-size:11px;font-weight:700}.subject-info{flex:1;min-width:0}.subject-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:500;overflow:hidden}.subject-meta{color:var(--text-muted);margin-top:2px;font-size:11px}.subject-bar-wrapper{flex:0 0 80px}.subject-mini-bar{background:var(--border);border-radius:2px;height:3px;overflow:hidden}.subject-mini-fill{background:var(--accent);border-radius:2px;height:100%;transition:width .6s}.subject-pct{color:var(--text-secondary);text-align:right;font-variant-numeric:tabular-nums;margin-top:4px;font-size:11px;font-weight:600}.subject-chevron{color:var(--text-muted);transition:transform var(--transition);flex-shrink:0;font-size:12px}.subject-chevron.open{transform:rotate(180deg)}.task-list{border-top:1px solid var(--border);padding:8px 16px 12px}.task-item{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:8px 0;display:flex}.task-item:last-child{border-bottom:none}.task-checkbox{border:1.5px solid var(--border-light);cursor:pointer;appearance:none;width:16px;height:16px;transition:all var(--transition);background:0 0;border-radius:4px;flex-shrink:0;position:relative}.task-checkbox:checked{background:var(--accent);border-color:var(--accent)}.task-checkbox:checked:after{content:"✓";color:#fff;font-size:10px;font-weight:700;position:absolute;top:-1px;left:2px}.task-checkbox:disabled{cursor:default;opacity:.6}.task-label{color:var(--text-secondary);flex:1;font-size:13px}.task-label.completed{color:var(--text-muted);text-decoration:line-through}.task-number{color:var(--text-dim);font-variant-numeric:tabular-nums;min-width:18px;font-size:11px}.goals-section{padding-bottom:16px}.goals-header-row{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.goals-date{color:var(--text-muted);font-size:12px}.goals-completion{color:var(--accent-bright);font-size:12px;font-weight:600}.goal-item{border-radius:var(--radius-sm);background:var(--bg-card);border:1px solid var(--border);transition:all var(--transition);align-items:center;gap:10px;margin-bottom:4px;padding:10px 12px;display:flex}.goal-item:hover{border-color:var(--border-light)}.goal-content{color:var(--text-secondary);flex:1;font-size:13px}.goal-content.done{color:var(--text-muted);text-decoration:line-through}.goal-target{color:var(--text-muted);white-space:nowrap;font-size:11px}.goal-actions{opacity:0;transition:opacity var(--transition);gap:4px;display:flex}.goal-item:hover .goal-actions{opacity:1}.icon-btn{color:var(--text-muted);cursor:pointer;transition:all var(--transition);background:0 0;border:none;border-radius:3px;padding:2px 4px;font-size:13px;line-height:1}.icon-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.icon-btn.danger:hover{color:var(--danger)}.add-goal-form{gap:8px;margin-top:8px;display:flex}.input{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font);transition:border-color var(--transition);outline:none;width:100%;padding:8px 12px;font-size:13px}.input::placeholder{color:var(--text-muted)}.input:focus{border-color:var(--accent-dim);background:var(--bg-secondary)}.btn{border-radius:var(--radius-sm);font-family:var(--font);cursor:pointer;transition:all var(--transition);white-space:nowrap;border:1px solid #0000;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:500;display:inline-flex}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover{background:var(--accent-bright);border-color:var(--accent-bright)}.btn-secondary{background:var(--bg-card);color:var(--text-secondary);border-color:var(--border)}.btn-secondary:hover{background:var(--bg-hover);border-color:var(--border-light);color:var(--text-primary)}.btn-ghost{color:var(--text-secondary);border-color:var(--border);background:0 0}.btn-ghost:hover{background:var(--bg-card);color:var(--text-primary)}.btn-danger{background:var(--danger-dim);color:var(--danger);border-color:#0000}.btn-danger:hover{background:var(--danger);color:#fff}.btn:disabled{opacity:.5;cursor:not-allowed}.activity-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px;padding:14px 16px}.activity-display{align-items:center;gap:12px;display:flex}.activity-icon{background:var(--bg-secondary);border-radius:var(--radius-sm);justify-content:center;align-items:center;width:40px;height:40px;font-size:22px;display:flex}.activity-info{flex:1}.activity-name{color:var(--text-primary);text-transform:capitalize;font-size:14px;font-weight:500}.activity-since{color:var(--text-muted);margin-top:2px;font-size:11px}.activity-select-row{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.activity-chip{cursor:pointer;border:1px solid var(--border);color:var(--text-secondary);font-size:12px;font-weight:500;font-family:var(--font);transition:all var(--transition);background:0 0;border-radius:20px;padding:5px 12px}.activity-chip:hover,.activity-chip.active{border-color:var(--accent-dim);background:var(--accent-glow);color:var(--accent-bright)}.heatmap-wrapper{padding-bottom:12px;overflow-x:auto}.heatmap-grid{gap:3px;min-width:max-content;display:flex}.heatmap-col{flex-direction:column;gap:3px;display:flex}.heatmap-month-labels{gap:3px;min-width:max-content;margin-bottom:6px;display:flex}.heatmap-month-label{color:var(--text-muted);width:11px;font-size:10px}.heatmap-cell{background:var(--border);cursor:default;width:11px;height:11px;transition:transform var(--transition);border-radius:2px;position:relative}.heatmap-cell:hover{z-index:10;transform:scale(1.3)}.heatmap-cell[data-pct="0"]{background:var(--border)}.heatmap-cell[data-pct=low]{background:#3b82f640}.heatmap-cell[data-pct=mid]{background:#3b82f680}.heatmap-cell[data-pct=high]{background:#3b82f6bf}.heatmap-cell[data-pct=full]{background:var(--accent)}.heatmap-cell[data-pct=empty]{background:var(--bg-tertiary)}.heatmap-legend{color:var(--text-muted);align-items:center;gap:6px;margin-top:10px;font-size:11px;display:flex}.legend-cell{border-radius:2px;width:11px;height:11px}.wind-down-btn{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-card);color:var(--text-muted);font-family:var(--font);cursor:pointer;transition:all var(--transition);text-align:center;align-items:center;gap:8px;margin:24px auto 0;padding:10px 20px;font-size:13px;font-weight:500;display:block}.wind-down-btn:hover{border-color:var(--accent-dim);color:var(--accent-bright);background:var(--accent-glow)}.sleep-screen{z-index:1000;background:#03050a;flex-direction:column;justify-content:center;align-items:center;gap:24px;display:flex;position:fixed;inset:0}.sleep-screen-text{color:#2a3a5c;letter-spacing:.08em;font-size:28px;font-weight:300}.sleep-timer{color:#1a2640;letter-spacing:.04em;font-variant-numeric:tabular-nums;font-size:56px;font-weight:200}.wake-btn{color:#2a3a5c;font-family:var(--font);cursor:pointer;background:0 0;border:1px solid #1e2d45;border-radius:20px;margin-top:32px;padding:10px 24px;font-size:13px;transition:all .3s}.wake-btn:hover{border-color:var(--accent-dim);color:var(--accent-bright)}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;background:#000000b3;justify-content:center;align-items:center;padding:20px;animation:.15s fade-in;display:flex;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.modal{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-lg);width:100%;max-width:360px;box-shadow:var(--shadow-lg);padding:24px;animation:.2s slide-up}@keyframes slide-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.modal-title{color:var(--text-primary);margin-bottom:6px;font-size:15px;font-weight:600}.modal-subtitle{color:var(--text-muted);margin-bottom:20px;font-size:12px}.modal-error{color:var(--danger);margin-top:8px;font-size:12px}.modal-footer{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.problem-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:12px;padding:16px}.problem-title{color:var(--text-primary);margin-bottom:6px;font-size:14px;font-weight:600}.problem-desc{color:var(--text-secondary);margin-bottom:12px;font-size:13px;line-height:1.6}.problem-expires{color:var(--warning);margin-bottom:12px;font-size:11px}.comment-list{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.comment-item{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px}.comment-author{color:var(--text-muted);margin-bottom:4px;font-size:11px;font-weight:600}.comment-text{color:var(--text-secondary);font-size:13px;line-height:1.5}.pending-badge{background:var(--accent-dim);color:var(--accent-bright);border-radius:4px;margin-left:6px;padding:1px 6px;font-size:10px;font-weight:600}.comment-form{flex-direction:column;gap:8px;display:flex}.textarea{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font);resize:vertical;min-height:80px;transition:border-color var(--transition);outline:none;width:100%;padding:10px 12px;font-size:13px}.textarea:focus{border-color:var(--accent-dim)}.textarea::placeholder{color:var(--text-muted)}.plan-grid{grid-template-columns:1fr 1fr;gap:12px;padding-bottom:16px;display:grid}@media (max-width:520px){.plan-grid{grid-template-columns:1fr}}.plan-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:14px}.plan-card-title{letter-spacing:.1em;text-transform:uppercase;color:var(--accent-bright);margin-bottom:10px;font-size:11px;font-weight:700}.plan-item{align-items:flex-start;gap:8px;margin-bottom:6px;display:flex}.plan-bullet{color:var(--accent-dim);flex-shrink:0;margin-top:2px}.plan-text{color:var(--text-secondary);font-size:12px;line-height:1.5}.charts-grid{grid-template-columns:1fr 1fr;gap:12px;padding-bottom:16px;display:grid}@media (max-width:520px){.charts-grid{grid-template-columns:1fr}}.chart-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:14px}.chart-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px;font-size:11px;font-weight:600}.mini-chart{align-items:flex-end;gap:3px;height:48px;display:flex}.mini-bar{background:var(--accent-dim);border-radius:2px 2px 0 0;flex:1;min-height:2px;transition:height .4s}@keyframes task-complete{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.task-complete-flash{animation:.3s task-complete}.empty-state{text-align:center;color:var(--text-muted);padding:24px 0;font-size:13px}.toast{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius);color:var(--text-secondary);box-shadow:var(--shadow-lg);z-index:500;max-width:280px;padding:12px 16px;font-size:13px;animation:.2s slide-in-right;position:fixed;bottom:24px;right:24px}@keyframes slide-in-right{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.toast.success{border-color:var(--success);color:var(--success)}.toast.error{border-color:var(--danger);color:var(--danger)}.divider{border:none;border-top:1px solid var(--border);margin:0}.owner-panel{border-top:1px solid var(--accent-dim);margin-top:10px;padding-top:10px}.review-grid{grid-template-columns:1fr 1fr;gap:10px;padding-bottom:16px;display:grid}@media (max-width:520px){.review-grid{grid-template-columns:1fr}}.form-group{flex-direction:column;gap:4px;display:flex}.form-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:600}.number-input{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font);transition:border-color var(--transition);-moz-appearance:textfield;outline:none;width:100%;padding:8px 12px;font-size:14px}.number-input::-webkit-inner-spin-button{-webkit-appearance:none}.number-input::-webkit-outer-spin-button{-webkit-appearance:none}.number-input:focus{border-color:var(--accent-dim)}.happiness-row{gap:4px;display:flex}.happiness-btn{border:1px solid var(--border);color:var(--text-muted);font-family:var(--font);cursor:pointer;transition:all var(--transition);background:0 0;border-radius:4px;flex:1;padding:6px 0;font-size:12px;font-weight:600}.happiness-btn:hover,.happiness-btn.active{background:var(--accent-glow);border-color:var(--accent-dim);color:var(--accent-bright)}.loading{color:var(--text-muted);justify-content:center;align-items:center;gap:10px;padding:40px;font-size:13px;display:flex}.spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:640px){.hero{padding:36px 0 28px}.progress-ring-wrapper{width:130px;height:130px}.progress-pct{font-size:28px}.progress-stats{gap:20px}.stat-value{font-size:18px}.top-bar{padding:10px 16px}}
