@font-face{font-family:Bowler;src:url('/assets/bowler.ttf') format('truetype');font-display:swap}
[hidden]{display:none!important}
:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#f6f8ff;background:#101a31;font-synthesis:none;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:300px;min-height:100vh;background:radial-gradient(circle at 3% 16%,#cbd5ffad 0 1px,transparent 2px),radial-gradient(circle at 82% 12%,#a1afff8a 0 1px,transparent 2px),radial-gradient(circle at 75% 38%,#cbd5ff74 0 1px,transparent 2px),radial-gradient(circle at 13% 53%,#cbd5ff9c 0 1px,transparent 2px),radial-gradient(circle at 64% 66%,#aab8ff9c 0 1px,transparent 2px),radial-gradient(circle at 23% 85%,#cbd5ff8c 0 1px,transparent 2px),#16223d;background-size:520px 670px,430px 580px,630px 510px,470px 740px,550px 750px,710px 560px,auto}
button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #9d98ff;outline-offset:3px}svg{display:block}.ambient{position:fixed;pointer-events:none;border-radius:50%;filter:blur(60px);z-index:0}.ambient-one{width:310px;height:310px;background:#4052b443;top:70px;right:-180px}.ambient-two{width:340px;height:340px;background:#232f7740;bottom:12%;left:-210px}
.app-shell{position:relative;z-index:1;max-width:470px;min-height:100vh;margin:auto;padding:0 17px 110px;background:linear-gradient(180deg,#16223d40,#16223d08)}.topbar{display:flex;align-items:center;justify-content:space-between;padding:20px 0 15px}.brand{display:flex;align-items:center;gap:10px}.brand img{width:67px;height:55px;object-fit:contain;object-position:left center}.brand-divider{height:25px;width:1px;background:#46547a}.brand-caption{font-family:Bowler,Inter,sans-serif;font-size:12px;letter-spacing:.08em;color:#b5b9f6}.icon-button{height:37px;width:37px;display:grid;place-items:center;color:#c7cff4;background:#202b4d;border:1px solid #3c4d79;border-radius:11px}.icon-button svg{height:19px;width:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.demo-banner{margin:1px 0 15px;padding:9px 12px;border-radius:10px;background:#2c3265;border:1px solid #625bc1;color:#dcdfff;font-size:11px;line-height:1.4;letter-spacing:.03em}.overview-section{padding-top:8px}.section-kicker{display:flex;align-items:center;gap:7px;font-family:Bowler,Inter,sans-serif;font-size:10px;letter-spacing:.035em;color:#9caaf4}.section-kicker.small{font-size:10px;color:#8e9dd2}.kicker-dot{width:6px;height:6px;border-radius:50%;background:#8584ff;box-shadow:0 0 12px #8584ff}.kicker-line{width:18px;height:1px;background:#7180b3;margin:0 3px}.overview-section>h1{font-family:Bowler,Inter,sans-serif;font-size:clamp(31px,10vw,44px);line-height:1.14;font-weight:400;letter-spacing:-.035em;margin:19px 0 9px}.overview-section>h1 span{color:#9193eb}.section-lead{margin:0 0 25px;color:#aab5d2;font-size:13px;line-height:1.55}
.hero-card{position:relative;overflow:hidden;padding:20px;border:1px solid #3b4b7a;border-radius:19px;background:radial-gradient(circle at 92% 0%,#625ad258,transparent 43%),linear-gradient(142deg,#202d55,#172345 66%,#1c2850);box-shadow:0 18px 45px #0712294d}.hero-glow{position:absolute;top:-80px;right:-88px;width:245px;height:245px;border-radius:50%;border:1px solid #8380ec44;box-shadow:0 0 0 29px #7778c90a,0 0 0 58px #7778c908;pointer-events:none}.hero-top,.hero-bottom{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px}.card-eyebrow{font-family:Bowler,Inter,sans-serif;color:#aab6e8;font-size:10px;letter-spacing:.03em}.status-pill{padding:7px 9px;background:#344176;border:1px solid #606c9c;border-radius:99px;color:#d9dcff;font-size:9px;font-weight:800;letter-spacing:.1em}.status-pill.done{background:#1e5a60;border-color:#3ba8a1;color:#a7f4df}.status-pill.expired{background:#684454;border-color:#a76d7b;color:#ffe2e7}.hero-card h2{position:relative;font-family:Bowler,Inter,sans-serif;font-size:19px;line-height:1.25;font-weight:400;margin:27px 0 14px}.hero-amount-row{position:relative;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.hero-amount-row strong{font-size:30px;line-height:1.1;font-weight:800;letter-spacing:-.06em}.hero-amount-row>span{font-size:13px;color:#a4afd0}.progress-track{position:relative;height:8px;border-radius:99px;background:#111b36;margin:19px 0 13px;overflow:hidden}.progress-track span{display:block;height:100%;width:0;background:linear-gradient(90deg,#6a81ef,#9f8aff);border-radius:99px;box-shadow:0 0 12px #8b80ff}.hero-bottom{font-size:12px;color:#aab4d9}.hero-bottom span:first-child{color:#d9deff;font-weight:700}
.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:12px}.stat-card{display:flex;flex-direction:column;min-height:129px;padding:15px;border-radius:16px;background:#17223f;border:1px solid #344368;box-shadow:0 10px 26px #09142b22}.stat-icon{display:grid;place-items:center;border-radius:8px;width:27px;height:27px;font-size:19px;font-weight:600;margin-bottom:11px}.stat-icon-blue{color:#a5c6ff;background:#354b7c}.stat-icon-purple{color:#cec3ff;background:#444074}.stat-label{font-family:Bowler,Inter,sans-serif;font-size:9px;color:#a1acd0}.stat-card strong{font-size:20px;letter-spacing:-.045em;margin:5px 0 2px}.stat-card small{font-size:10px;line-height:1.3;color:#8694b8}.insight-card{display:flex;align-items:flex-start;gap:10px;padding:14px;margin:15px 0 18px;border-radius:14px;border:1px solid #45477f;background:linear-gradient(106deg,#262f62aa,#31316b88)}.insight-star{color:#aaa9ff;font-size:18px;line-height:1}.insight-card p{margin:0;font-size:12px;color:#d6ddf9;line-height:1.55}.primary-button{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;min-height:48px;border:0;border-radius:12px;background:linear-gradient(89deg,#132553,#5b53d4);color:white;font-weight:750;font-size:14px;box-shadow:0 12px 25px #101b4699}.primary-button span{font-size:19px;font-weight:400}.primary-button:hover{filter:brightness(1.12)}
.goals-section,.activity-section{padding-top:35px}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:17px}.section-heading h2,.sheet h2{font-family:Bowler,Inter,sans-serif;font-size:24px;line-height:1.15;font-weight:400;margin:8px 0 0}.small-add{display:grid;place-items:center;height:36px;width:36px;background:linear-gradient(130deg,#29346d,#5b53d4);border:1px solid #817dde;color:white;border-radius:10px;font-size:23px;line-height:1}.segmented{display:flex;gap:5px;padding:4px;border-radius:12px;background:#101a32;border:1px solid #34416b}.segmented button{flex:1;min-height:37px;border:0;border-radius:9px;background:transparent;color:#95a3cb;font-size:12px;font-weight:700}.segmented button.selected{background:#303d72;color:#fff;box-shadow:0 4px 15px #050b2180}.segmented span{font-size:10px;margin-left:2px;padding:2px 5px;border-radius:6px;background:#6a71af66}.filters{display:flex;gap:7px;margin:16px 0}.filters button{padding:8px 12px;border-radius:99px;border:1px solid #3c4b73;background:#1a2544;color:#9eacd1;font-size:11px;font-weight:600}.filters button.active{background:#42468b;border-color:#807dea;color:#fff}
.goal-list{display:grid;gap:10px}.goal-card{padding:16px;border-radius:16px;background:linear-gradient(135deg,#1b2849,#1a2543);border:1px solid #34446b}.goal-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.goal-type{display:flex;align-items:center;gap:7px;color:#aeb9df;font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.goal-type-icon{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;color:#b2afff;background:#3b3f7b;font-size:14px}.goal-type-icon.action{color:#97daca;background:#27515d}.goal-badge{font-size:10px;color:#aebde5}.goal-badge.done{color:#87e7d0}.goal-badge.expired{color:#ffc3cf}.goal-card h3{font-size:15px;line-height:1.35;margin:13px 0 7px;font-weight:750}.goal-meta{font-size:11px;color:#9ba9ce;line-height:1.5}.mini-progress{height:5px;border-radius:99px;background:#101a33;margin:15px 0 8px;overflow:hidden}.mini-progress span{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#6a82f2,#a18eff)}.goal-figures{display:flex;align-items:center;justify-content:space-between;color:#a9b6dc;font-size:11px}.goal-figures b{color:white;font-size:12px}.card-action{width:100%;margin-top:13px;padding:9px;border:1px solid #6572b0;border-radius:9px;background:#2b3b6d;color:white;font-weight:700;font-size:12px}.empty-state{padding:38px 20px;text-align:center;border:1px dashed #475580;border-radius:17px;color:#a9b7d8;background:#17234188}.empty-state strong{display:block;color:#eff3ff;font-family:Bowler,Inter,sans-serif;font-weight:400;font-size:14px;margin-bottom:7px}.empty-state p{margin:0;font-size:12px;line-height:1.5}
.activity-summary{display:flex;align-items:center;justify-content:space-between;padding:15px 16px;margin-bottom:10px;border-radius:13px;background:#202d55;border:1px solid #3a4b77;color:#b4c0e4;font-size:12px}.activity-summary strong{color:white;font-size:15px}.activity-list{display:grid;gap:8px}.entry-row{display:flex;align-items:center;gap:12px;padding:13px;border-radius:12px;border:1px solid #344369;background:#172341}.entry-icon{display:grid;place-items:center;width:32px;height:32px;flex:none;border-radius:10px;color:#a6e6d9;background:#25525c;font-size:18px}.entry-icon.negative{color:#f4beca;background:#55344b}.entry-copy{min-width:0;flex:1}.entry-copy b{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.entry-copy small{display:block;margin-top:3px;font-size:10px;color:#8f9dc0}.entry-amount{white-space:nowrap;text-align:right;font-size:12px;font-weight:800;color:#adf0da}.entry-amount.negative{color:#ffb9c5}.outline-button{width:100%;min-height:45px;margin-top:13px;background:#1b284b;border:1px solid #6974bb;border-radius:11px;color:#d9ddff;font-size:12px;font-weight:750}
.bottom-nav{position:fixed;z-index:5;bottom:0;left:50%;transform:translateX(-50%);display:flex;justify-content:space-around;max-width:470px;width:100%;height:calc(68px + env(safe-area-inset-bottom));padding:6px 17px calc(6px + env(safe-area-inset-bottom));background:#101a31ed;border-top:1px solid #39476b;backdrop-filter:blur(18px)}.bottom-nav button{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;width:33%;border:0;background:none;color:#8997bf;font-size:10px;font-weight:700}.bottom-nav button.active{color:#afa9ff}.bottom-nav svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.confirm-dialog{width:min(340px,calc(100vw - 36px));padding:22px;border:1px solid #6772a9;border-radius:17px;background:#202b4d;color:#fff;box-shadow:0 25px 80px #020818;max-height:80vh}.confirm-dialog::backdrop{background:#050a1bc9;backdrop-filter:blur(4px)}.confirm-dialog h2{font-family:Bowler,Inter,sans-serif;font-size:16px;font-weight:400;margin:0 0 13px}.confirm-dialog p{font-size:13px;color:#c6d0ed;line-height:1.6;margin:0 0 20px}.confirm-actions{display:flex;gap:9px}.confirm-actions button{flex:1;padding:11px 7px;border-radius:10px;border:1px solid #6570a1;background:#26355d;color:#dfe5ff;font-size:12px;font-weight:750}.confirm-actions [data-confirm=yes]{border-color:#6e67d9;background:linear-gradient(89deg,#253a78,#5b53d4);color:white}
.card-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:13px}.card-actions .card-action{margin:0}.card-actions .card-action:first-child{grid-column:1/-1;background:#34447e;border-color:#7887ce}.card-action.secondary{background:#1b2b4e;border-color:#495a8d;color:#cbd4f0}#task-name{font-size:12px;color:#c4d0f2;margin:4px 0 17px;line-height:1.55}
.sheet{position:fixed;inset:auto 0 0;max-width:470px;width:100%;max-height:min(90vh,850px);margin:0 auto;padding:0;border:1px solid #4e5c8b;border-bottom:0;border-radius:24px 24px 0 0;background:#192542;color:#f6f8ff;box-shadow:0 -25px 90px #050a24;overflow-y:auto}.sheet::backdrop{background:#050a1bcc;backdrop-filter:blur(4px)}.sheet form{padding:0 21px calc(22px + env(safe-area-inset-bottom))}.sheet-handle{width:41px;height:4px;margin:10px auto 21px;border-radius:9px;background:#67749b}.sheet-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:21px}.sheet h2{font-size:21px}.close-button{width:30px;height:30px;border:0;background:#28365b;color:#bac6e7;border-radius:9px;font-size:23px;line-height:1}.type-switch{display:flex;gap:5px;padding:4px;border-radius:11px;background:#101b35;margin-bottom:19px}.type-switch button{flex:1;min-height:36px;border:0;border-radius:8px;background:transparent;color:#99a8cc;font-size:12px;font-weight:700}.type-switch button.selected{background:#3f478e;color:white}.sheet label{display:block;margin:13px 0;color:#c2cbe6;font-size:11px;font-weight:700}.sheet input,.sheet select{display:block;width:100%;height:43px;margin-top:7px;padding:0 12px;border:1px solid #3e4d77;border-radius:10px;background:#202b4d;color:white;font-size:14px;outline:none;color-scheme:dark}.sheet input::placeholder{color:#7786aa}.sheet input:focus,.sheet select:focus{border-color:#8e8bf0}.sheet .primary-button{margin-top:23px}.field-row{display:grid;grid-template-columns:1.35fr 1fr;gap:10px}.field-help{margin:1px 0 11px;font-size:10px;color:#8998bd;line-height:1.5}.optional{font-weight:400;color:#8594bb}.toast{position:fixed;z-index:20;left:50%;bottom:calc(85px + env(safe-area-inset-bottom));transform:translate(-50%,20px);width:max-content;max-width:calc(100vw - 32px);padding:11px 16px;border:1px solid #6d79bc;border-radius:11px;background:#313f79;color:white;box-shadow:0 10px 35px #050a2580;font-size:12px;line-height:1.4;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:700px){.app-shell{border-left:1px solid #34436b;border-right:1px solid #34436b;box-shadow:0 0 80px #0710276b}.overview-section>h1{font-size:43px}}
@media(max-width:350px){.hero-amount-row strong{font-size:25px}.overview-section>h1{font-size:30px}.section-heading h2{font-size:21px}.app-shell{padding-left:14px;padding-right:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Task briefs and individual scheduled actions. */
textarea{font:inherit}
textarea:focus-visible{outline:2px solid #9d98ff;outline-offset:3px}
.sheet textarea{display:block;width:100%;min-height:92px;margin-top:7px;padding:11px 12px;resize:vertical;border:1px solid #3e4d77;border-radius:10px;background:#202b4d;color:#fff;font-size:13px;line-height:1.5;outline:none}
.sheet textarea::placeholder{color:#7786aa}
.sheet textarea:focus{border-color:#8e8bf0}
.steps-heading,.task-plan-heading,.step-editor-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.steps-heading{margin:19px 0 9px;color:#e8edff;font-size:12px}
.steps-heading button,.task-plan-heading button{padding:7px 9px;border:1px solid #6572b0;border-radius:8px;background:#2b3b6d;color:#eef0ff;font-size:11px;font-weight:700}
.step-editor-list{display:grid;gap:10px}
.step-editor{padding:12px;border:1px solid #40517d;border-radius:12px;background:#162341}
.step-editor-head{color:#dce5ff;font-size:11px}
.step-editor-head button{width:25px;height:25px;border:0;border-radius:7px;background:#3d2b47;color:#ffdce2;font-size:19px;line-height:1}
.step-editor label{margin:10px 0}
.step-editor .field-row{grid-template-columns:1fr 1fr}
.step-editor .field-row label,.step-editor .field-row input{min-width:0}
.task-plan{margin-top:14px;padding:13px;border:1px solid #3c4e7c;border-radius:12px;background:#14203b}
.task-plan-heading strong{color:#b7c4ea;font-size:10px;letter-spacing:.08em}
.task-brief{margin:11px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;color:#e5eaff;font-size:12px;line-height:1.55}
.task-plan-empty,.task-step-summary{margin:10px 0 0;color:#97a7ce;font-size:11px;line-height:1.45}
.task-step-list{display:grid;gap:0;margin-top:8px}
.task-step{display:flex;align-items:flex-start;gap:9px;padding:10px 0;border-top:1px solid #344568}
.task-step:first-child{border-top:0}
.step-check{display:grid;place-items:center;width:23px;height:23px;flex:none;margin-top:1px;border:1px solid #7789bd;border-radius:7px;background:#1c2a4d;color:#fff;font-size:14px;font-weight:800}
.task-step.completed .step-check{border-color:#6cbaa5;background:#37695f}
.task-step>div{min-width:0}
.task-step b{display:block;overflow-wrap:anywhere;color:#f1f4ff;font-size:11px;line-height:1.45}
.task-step.completed b{text-decoration:line-through;color:#a9b7d8}
.task-step small{display:block;margin-top:3px;color:#9badd6;font-size:10px;line-height:1.45}
