@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=Inter:wght@400;500;600;700&display=swap');
.quest-row .dashboard-task-check{align-items:center;aspect-ratio:1/1;background:#101518;border:2px solid #67737c;border-radius:50%;box-sizing:border-box;color:#fff;display:inline-flex;flex:0 0 21px;height:21px;justify-content:center;line-height:15px;max-width:21px;min-height:21px!important;min-width:21px;padding:0;width:21px}.quest-row .dashboard-task-check.priority-1{border-color:#f14f45}.quest-row .dashboard-task-check.priority-2{border-color:#e0b84f}.quest-row .dashboard-task-check.priority-3{border-color:#4d8fe8}.quest-row .dashboard-task-check.priority-4{border-color:#67737c}.quest-row .dashboard-task-check:focus-visible{box-shadow:0 0 0 2px rgba(77,143,232,.3);outline:2px solid #9bc5f2;outline-offset:2px}.quest-row .dashboard-task-check:disabled{cursor:wait;opacity:.55}
.quest-meta{align-items:center;color:var(--life-muted);display:flex!important;flex-wrap:nowrap;font-size:10px;margin-top:4px;white-space:nowrap}.quest-date-form{display:inline-flex;margin:0;position:relative}.quest-row .quest-date-trigger{align-items:center;background:transparent;border:0;border-radius:0;color:var(--life-muted);display:inline-flex;font:inherit;gap:4px;height:auto;justify-content:flex-start;min-height:0;padding:0 2px;width:auto}.quest-date-trigger:hover,.quest-date-trigger:focus-visible{color:var(--life-mint);text-decoration:underline}.quest-date-input{border:0!important;height:1px!important;inset:auto auto 0 0;min-height:0!important;opacity:0;padding:0!important;pointer-events:none;position:absolute;width:1px!important}.quest-date-form.overdue .quest-date-trigger{color:var(--life-red)}.quest-date-form.saving{opacity:.45}@media(max-width:580px){.quest-meta{flex-wrap:wrap;white-space:normal}}
:root{--life-bg:#080d10;--life-panel:#10181c;--life-line:#26363c;--life-text:#edf7f3;--life-muted:#7f9596;--life-mint:#63d6a5;--life-gold:#efbd55;--life-red:#ef5b50;--life-blue:#5b91ef}body:has(.life-shell),body:has(.life-setup),body:has(.home-shell){background:var(--life-bg);color:var(--life-text);font-family:Inter,sans-serif}body:has(.life-shell)>header,body:has(.life-setup)>header,body:has(.home-shell)>header{background:#090e11;border-color:var(--life-line)!important;margin-bottom:0!important}body:has(.life-shell) main>.p-4,body:has(.life-setup) main>.p-4,body:has(.home-shell) main>.p-4{padding:0!important}.life-shell{background:radial-gradient(circle at 85% 0,rgba(45,112,89,.18),transparent 28%),var(--life-bg);box-sizing:border-box;min-height:calc(100vh - 78px);padding:38px clamp(18px,5vw,80px) 70px}.life-panel{background:linear-gradient(145deg,#111b1f,#0d1417);border:1px solid var(--life-line);border-radius:4px}.life-kicker{color:var(--life-mint);font-size:10px;font-weight:800;letter-spacing:.18em}.life-hero{align-items:center;display:grid;gap:20px;grid-template-columns:auto 1fr auto;overflow:hidden;padding:28px 32px;position:relative}.life-avatar{align-items:center;background:linear-gradient(135deg,#23473d,#14251f);border:1px solid #457767;border-radius:50%;display:flex;font:800 42px 'Barlow Condensed';height:90px;justify-content:center;overflow:hidden;width:90px}.life-avatar img{height:100%;object-fit:cover;width:100%}.life-identity h1,.profile-shell>header h1{font:800 clamp(38px,5vw,62px)/.9 'Barlow Condensed';margin:7px 0 4px;text-transform:uppercase}.life-identity p,.profile-shell>header p{color:var(--life-muted);margin:0}.life-level{border-left:1px solid var(--life-line);padding:5px 35px;text-align:center}.life-level span{color:var(--life-muted);display:block;font-size:9px;letter-spacing:.15em}.life-level strong{color:var(--life-gold);font:800 54px 'Barlow Condensed'}.life-xp{align-self:end;grid-column:2/-1}.life-xp div{display:flex;font-size:10px;justify-content:space-between;letter-spacing:.08em}.life-xp b{color:var(--life-mint)}progress{appearance:none;background:#253035;border:0;border-radius:6px;height:7px;overflow:hidden;width:100%}progress::-webkit-progress-bar{background:#253035}progress::-webkit-progress-value{background:linear-gradient(90deg,#45ad84,var(--life-mint))}progress::-moz-progress-bar{background:var(--life-mint)}.life-profile-link{color:#93cdb7;font-size:11px;position:absolute;right:28px;text-decoration:none;top:18px}.life-pulse{display:grid;gap:1px;grid-template-columns:repeat(3,1fr);margin:18px 0;background:var(--life-line);border:1px solid var(--life-line)}.life-pulse article{background:#0e1619;padding:18px 22px}.life-pulse span,.life-pulse small{color:var(--life-muted);display:block;font-size:9px;letter-spacing:.12em}.life-pulse strong{display:block;font:700 27px 'Barlow Condensed';margin:4px 0}.life-grid{display:grid;gap:18px;grid-template-columns:minmax(0,1.65fr) minmax(300px,.75fr)}.life-main,.life-side{display:grid;gap:18px}.life-side{align-content:start}.life-quests,.life-feed,.life-attributes,.life-achievements{padding:24px}.life-panel h2{font:700 29px 'Barlow Condensed';margin:4px 0 18px;text-transform:uppercase}.life-quests>header{align-items:start;display:flex;justify-content:space-between}.life-quests>header a,.life-back{color:#8cbbaa;font-size:11px;text-decoration:none}.quest-list{display:grid}.quest-row{align-items:center;border-top:1px solid #223036;color:inherit;display:grid;gap:14px;grid-template-columns:auto 1fr auto;min-height:68px;padding:10px 4px;text-decoration:none}.quest-row form{margin:0}.quest-row button{align-items:center;background:#111c20;border:1px solid #53676d;border-radius:50%;color:var(--life-mint);display:flex;height:26px;justify-content:center;min-height:26px;padding:0;width:26px}.quest-row strong,.quest-row small{display:block}.quest-row small{color:var(--life-muted);font-size:10px;margin-top:4px}.quest-row>b{color:var(--life-gold);font-size:10px}.quest-row.is-done{opacity:.48}.quest-language{align-items:center;background:#17372c;color:var(--life-mint);display:flex;font-size:10px;font-weight:800;height:28px;justify-content:center;width:28px}.quest-complete{animation:quest-win .75s ease forwards}.life-feed>div,.history-row{align-items:center;border-top:1px solid #223036;display:flex;font-size:12px;justify-content:space-between;padding:12px 0}.life-feed span,.life-feed small,.history-row span,.history-row small{display:block}.life-feed small,.history-row small{color:var(--life-muted);font-size:9px;margin-top:3px}.life-feed strong,.history-row b{color:var(--life-mint)}.stat-row{margin:16px 0}.stat-row header{display:flex;font-size:11px;justify-content:space-between;margin-bottom:7px}.stat-row b{color:var(--life-gold)}.stat-row small{color:var(--life-muted);font-size:9px}.life-achievements article{align-items:center;border-top:1px solid #223036;display:flex;gap:12px;padding:13px 0}.life-achievements i,.achievement-grid i{align-items:center;background:#2a2517;border:1px solid #6e5b29;color:var(--life-gold);display:flex;font-style:normal;height:35px;justify-content:center;width:35px}.life-achievements strong,.life-achievements small{display:block}.life-achievements small{color:var(--life-muted);font-size:9px}.life-empty{color:var(--life-muted);font-size:12px}.life-xp-toast{background:var(--life-mint);bottom:24px;color:#07130e;font-weight:800;left:50%;padding:12px 20px;position:fixed;transform:translateX(-50%);z-index:100}.life-setup{display:grid;min-height:calc(100vh - 78px);padding:50px 18px;place-items:center}.life-setup>.life-panel{max-width:650px;padding:clamp(24px,5vw,55px);width:100%}.life-setup h1{font:800 clamp(42px,7vw,70px)/.9 'Barlow Condensed';text-transform:uppercase}.life-setup p{color:var(--life-muted)}.life-setup form p,.profile-form p{display:grid;gap:6px}.life-setup input,.profile-form input,.profile-form select{background:#091013;border:1px solid #32454c;color:#fff;padding:11px}.life-setup fieldset{border:1px solid var(--life-line);margin:25px 0;padding:18px}.setup-stats{display:flex;flex-wrap:wrap;gap:8px}.setup-stats span{background:#152228;color:#a8c5bc;font-size:10px;padding:7px 10px}.home-btn{border:0;display:inline-block;font-size:11px;font-weight:800;padding:14px 19px;text-decoration:none}.home-btn.primary{background:var(--life-mint);color:#07130e}.home-btn.ghost{border:1px solid #43545a;color:#d7e1dd}.profile-shell>header{margin:25px 0}.profile-grid{display:grid;gap:18px;grid-template-columns:1fr 1fr}.profile-grid>.life-panel{padding:25px}.profile-wide{grid-column:1/-1}.profile-avatar{border-radius:50%;height:100px;object-fit:cover;width:100px}.achievement-grid{display:grid;gap:12px;grid-template-columns:repeat(3,1fr)}.achievement-grid article{background:#0b1215;border:1px solid #233238;display:grid;gap:7px;padding:15px}.achievement-grid small{color:var(--life-muted)}.home-shell{min-height:calc(100vh - 78px);padding:0 6vw}.home-hero{align-items:center;display:grid;grid-template-columns:1fr auto;min-height:78vh}.home-hero h1{font:800 clamp(65px,10vw,140px)/.78 'Barlow Condensed';margin:18px 0;text-transform:uppercase}.home-hero p{color:var(--life-muted);font-size:16px;line-height:1.7;max-width:580px}.hero-actions{display:flex;gap:12px;margin-top:30px}.landing-rune{align-items:center;border:1px solid #35594c;border-radius:50%;color:var(--life-mint);display:flex;font:800 70px 'Barlow Condensed';height:280px;justify-content:center;width:280px}@keyframes quest-win{50%{background:rgba(99,214,165,.16);transform:translateX(4px)}100%{opacity:0;transform:translateX(18px)}}@media(max-width:850px){.life-hero{grid-template-columns:auto 1fr}.life-level{grid-column:1/-1;grid-row:2}.life-xp{grid-column:1/-1}.life-grid,.profile-grid{grid-template-columns:1fr}.profile-wide{grid-column:auto}.achievement-grid{grid-template-columns:1fr 1fr}.home-hero{grid-template-columns:1fr}.landing-rune{display:none}}@media(max-width:580px){.life-shell{padding:20px 12px 50px}.life-hero{padding:20px 15px}.life-avatar{height:64px;width:64px}.life-profile-link{position:static}.life-pulse{grid-template-columns:1fr}.life-quests,.life-feed,.life-attributes,.life-achievements{padding:17px}.quest-row{gap:9px}.achievement-grid{grid-template-columns:1fr}.hero-actions{flex-direction:column}.home-shell{padding:0 20px}.home-hero h1{font-size:64px}}@media(prefers-reduced-motion:reduce){.quest-complete{animation:none;opacity:.45}.life-xp-toast{transition:none}}

/* Achievement wall */
.achievement-grid article.unlocked{border-color:#2f5a47}
.achievement-grid article.locked{opacity:.5;filter:grayscale(.85)}
.achievement-state{color:var(--life-gold);font-size:9px;letter-spacing:.12em;text-transform:uppercase}
.achievement-reward{color:var(--life-mint)}

/* Level-up toast */
.life-xp-toast.level-up{background:var(--life-gold);color:#1a1206}

/* Overdue quests */
.quest-row.overdue{border-left:3px solid var(--life-red)}
.quest-content{min-width:0}.quest-content>strong{overflow-wrap:anywhere}.quest-edit-link{border:1px solid #3d555b;border-radius:4px;color:#9bc5b5;display:inline-block;font-size:9px;font-weight:700;margin-left:6px;padding:2px 6px;text-decoration:none;white-space:nowrap}.quest-edit-link:hover,.quest-edit-link:focus-visible{background:rgba(99,214,165,.12);border-color:var(--life-mint);color:#e7fff4;outline:2px solid rgba(99,214,165,.25);outline-offset:2px}.quest-meta{min-width:0;overflow-wrap:anywhere}
.quest-overdue{color:var(--life-red);font-size:9px;font-weight:800;letter-spacing:.12em}
.quest-meta .quest-date-form.overdue .quest-date-text{color:var(--life-red)}

/* Habit week strip */
.habit-week{display:flex;gap:3px;margin-top:6px}
.habit-week i{background:#253035;border-radius:50%;height:8px;width:8px}
.habit-week i.on{background:var(--life-mint)}

/* Stat source breakdown */
.stat-details summary{list-style:none}
.stat-details summary::-webkit-details-marker{display:none}
.stat-source-list{border-top:1px dashed #223036;margin:4px 0 0;padding-top:8px}

/* XP trend chart */
.xp-chart{align-items:flex-end;display:flex;gap:2px;height:96px}
.xp-chart-col{align-items:flex-end;display:flex;flex:1;height:100%}
.xp-chart-col i{background:linear-gradient(180deg,var(--life-mint),#2b6b52);border-radius:2px 2px 0 0;min-height:2px;width:100%}

/* Rewards shop */
.shop-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.shop-item{align-items:center;background:#0b1215;border:1px solid #233238;display:flex;gap:10px;padding:12px}
.shop-item i{align-items:center;background:#1a2730;border:1px solid #32454c;display:flex;font-size:20px;font-style:normal;height:38px;justify-content:center;width:38px}
.shop-item strong,.shop-item small{display:block}
.shop-item small{color:var(--life-muted);font-size:10px;margin-top:2px}
.shop-item form{margin-left:auto}
.shop-create{display:flex;gap:8px;margin-top:16px}
.shop-create input{background:#091013;border:1px solid #32454c;color:#fff;padding:10px}
.shop-create input[name=name]{flex:1}

/* Goal quests */
.goal-row{align-items:center;border-top:1px solid #223036;color:inherit;display:grid;gap:14px;grid-template-columns:1fr auto;padding:12px 4px;text-decoration:none}
.goal-row strong,.goal-row small{display:block}
.goal-row small{color:var(--life-muted);font-size:10px;margin-top:5px}
.goal-row>b{color:var(--life-mint);font-size:12px}
.goal-row progress{margin-top:6px}

/* Journal */
.journal-form{display:grid;gap:10px}
.journal-form textarea{background:#091013;border:1px solid #32454c;color:#fff;padding:12px;resize:vertical;width:100%}
.journal-form button{justify-self:start}

/* Reflection history */
.journal-history{display:grid;gap:14px}
.journal-history article{border-left:3px solid #2b6b52;padding:2px 0 2px 14px}
.journal-history article.today{border-left-color:var(--life-gold)}
.journal-history time{color:var(--life-muted);display:block;font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.journal-history p{margin:4px 0 0;white-space:pre-wrap}
