@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap');
:root{--forest:#0a2926;--forest2:#153d37;--mint:#d8e8d8;--cream:#f7f5ed;--paper:#fffef9;--gold:#d7b977;--ink:#17342f;--muted:#71817c;--line:#e2e7df;--shadow:0 24px 70px rgba(10,41,38,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}.hidden{display:none!important}.page-shell{min-height:100vh}.site-header{height:92px;max-width:1240px;margin:auto;padding:0 42px;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:2}.brand{display:inline-flex;align-items:center;gap:9px;color:var(--forest);text-decoration:none;font-size:29px;font-weight:700;letter-spacing:-1.7px}.brand-symbol{font-size:30px;line-height:1;color:#b9995a}.brand-dot{color:#bf9956}.header-right{font-size:12px;color:#71817c;letter-spacing:.11em;text-transform:uppercase;font-weight:700}.view{max-width:1240px;margin:auto}.eyebrow{font-size:11px;letter-spacing:.21em;font-weight:700;color:#8b9b87;line-height:1.5}.eyebrow-line{width:26px;height:1px;background:#d0b371;display:inline-block;vertical-align:middle;margin-right:8px}.home{min-height:calc(100vh - 92px);display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:20px 42px 80px;position:relative;overflow:hidden}.home-glow{position:absolute;width:540px;height:540px;border-radius:50%;background:radial-gradient(circle,#e8e9d8 0,transparent 70%);right:-130px;top:0;pointer-events:none}.hero-copy{position:relative;z-index:1;padding-bottom:34px}.hero-copy h1{font-family:'Playfair Display',Georgia,serif;font-weight:500;letter-spacing:-.065em;font-size:clamp(64px,6.3vw,94px);line-height:1.05;margin:27px 0}.hero-copy h1 em{color:#8eaa90;font-weight:500}.hero-copy>p{max-width:430px;color:#6a7b73;font-size:17px;line-height:1.85;margin:0 0 35px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.button{border:0;min-height:52px;border-radius:11px;padding:0 22px;font-size:13px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:23px;transition:transform .2s,box-shadow .2s,background .2s}.button:hover,.invite-button:hover{transform:translateY(-2px)}.button-primary{background:var(--forest);color:#fff;box-shadow:0 8px 18px rgba(10,41,38,.13)}.button-primary:hover{background:#16423a;box-shadow:0 12px 25px rgba(10,41,38,.2)}.button-secondary,.button-outline{background:transparent;color:var(--forest);border:1px solid #c6d3c6}.button-secondary:hover,.button-outline:hover{background:#eef3e9}.button-plain{background:#eaf1e8;color:var(--forest)}.wide{width:100%;justify-content:space-between}.hero-footnote{margin-top:35px;color:#87948b;font-size:12px}.footnote-stars{color:#bd9d5e;letter-spacing:6px;margin-right:7px}.hero-visual{height:590px;display:flex;align-items:center;justify-content:center;position:relative}.orbit{position:absolute;border:1px solid rgba(141,164,144,.21);border-radius:50%;width:510px;height:510px}.orbit-two{width:395px;height:395px}.hero-card{width:330px;height:430px;background:linear-gradient(150deg,#153c35,#082722 76%);border-radius:22px;box-shadow:0 40px 80px rgba(10,41,38,.29);color:#fff;padding:31px;transform:rotate(-7deg);position:relative;z-index:1;overflow:hidden}.hero-card:before{content:'✺';position:absolute;top:18px;right:-30px;font-size:250px;line-height:1;color:#f1e3b4;opacity:.035}.hero-card-top,.hero-card-bottom{display:flex;align-items:center;justify-content:space-between;font-size:10px;font-weight:700;letter-spacing:.2em;color:#b5c7b7}.tiny-sun{color:var(--gold);font-size:23px}.hero-card-title{font:500 35px/1.2 'Playfair Display',Georgia,serif;letter-spacing:-.04em;margin:54px 0 29px}.mock-goal{height:54px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.08);border-radius:10px;display:flex;align-items:center;gap:12px;padding:0 14px;margin-bottom:9px;font-size:12px}.mock-check{width:26px;height:26px;display:grid;place-items:center;border-radius:7px;background:#c7dfc4;color:#14352f;font-size:17px}.hero-card-bottom{position:absolute;left:31px;right:31px;bottom:27px}.hero-card-bottom span:last-child{font-size:20px;color:var(--gold)}.float-badge{position:absolute;z-index:2;background:#fffef9;border:1px solid #edf0e9;box-shadow:0 16px 40px rgba(19,50,43,.12);border-radius:13px;padding:15px 18px}.badge-left{left:15px;bottom:75px;transform:rotate(5deg);color:#bd9d5e;font-size:20px}.badge-left span{color:#526b5c;font-size:11px;font-weight:700;margin-left:8px}.badge-right{right:7px;top:80px;display:grid;gap:2px;transform:rotate(8deg)}.badge-right b{font:500 27px 'Playfair Display',Georgia,serif;color:var(--forest)}.badge-right span{font-size:10px;color:#8b9b87}
.setup{padding:45px 24px 100px}.text-back,.quiet-button{border:0;background:none;color:#71867b;font-size:13px;font-weight:700;padding:9px 0}.text-back:hover,.quiet-button:hover{color:var(--forest)}.setup-card{width:min(100%,500px);margin:38px auto;background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:22px;padding:43px}.setup-card h2,.modal-card h2{font:500 39px/1.2 'Playfair Display',Georgia,serif;letter-spacing:-.04em;margin:15px 0 10px}.setup-card p,.modal-card p{color:var(--muted);line-height:1.7;margin:0 0 30px}.stack-form{display:grid;gap:12px}.stack-form label{font-size:12px;font-weight:700;margin-top:6px}.stack-form input,.stack-form select,.add-goal input{height:53px;width:100%;border:1px solid #d9e1d9;border-radius:10px;background:#fff;color:var(--ink);outline:none;padding:0 16px}.stack-form input:focus,.stack-form select:focus,.add-goal input:focus{border-color:#83a48e;box-shadow:0 0 0 3px #e5f0e6}.stack-form .button{margin-top:12px}.select-wrap{position:relative;width:100%}.select-wrap:after{content:'⌄';position:absolute;right:17px;top:11px;font-size:22px;color:#688173;pointer-events:none}.select-wrap select{appearance:none;padding-right:42px}.code-input{text-transform:uppercase;letter-spacing:.16em;font-weight:700}
.app{padding:42px 42px 100px}.app-topline,.app-heading,.welcome-line,.section-heading{display:flex;align-items:center;justify-content:space-between;gap:24px}.app-heading{margin:18px 0 34px}.app-heading h1{font:500 clamp(40px,5vw,65px)/1.12 'Playfair Display',Georgia,serif;letter-spacing:-.05em;margin:0}.app-heading p{color:#849288;font-size:14px;margin:8px 0 0}.invite-button{height:45px;border:1px solid #cdd9ce;border-radius:9px;background:var(--paper);color:var(--forest);display:flex;align-items:center;gap:9px;padding:0 16px;font-size:12px;font-weight:700;transition:transform .2s}.invite-button span{font-size:17px}.tabs{display:flex;gap:31px;border-bottom:1px solid #d9e2da;margin-bottom:39px}.tab{border:0;background:none;padding:0 2px 15px;font-weight:700;color:#89998e;font-size:13px;position:relative}.tab.active{color:var(--forest)}.tab.active:after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:3px;border-radius:3px;background:var(--forest)}.tab-panel{animation:enter .35s ease both}@keyframes enter{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}.identity-box{text-align:center;max-width:600px;margin:55px auto;background:var(--paper);padding:45px;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}.identity-mark{font-size:38px;color:#c5a768}.identity-box h2,.welcome-line h2,.section-heading h2{font:500 38px/1.2 'Playfair Display',Georgia,serif;letter-spacing:-.045em;margin:10px 0}.identity-box p,.section-heading p{color:var(--muted);line-height:1.7;font-size:14px}.identity-controls{display:flex;align-items:center;gap:13px;margin-top:28px}.identity-controls .select-wrap{flex:1}.identity-controls select{height:52px;border:1px solid var(--line);border-radius:9px;background:#fff;padding:0 15px;color:var(--ink);width:100%}.identity-controls>span{color:#a1aca4;font-size:12px}.welcome-line{margin-bottom:27px}.welcome-line h2{font-size:36px}.goals-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.goal-card{background:var(--paper);min-height:213px;border:1px solid var(--line);border-radius:17px;padding:25px 27px;display:flex;flex-direction:column;justify-content:space-between;transition:border .25s,transform .25s,box-shadow .25s;position:relative;overflow:hidden}.goal-card:hover{transform:translateY(-3px);box-shadow:0 16px 33px rgba(16,54,44,.08)}.goal-card.done{background:linear-gradient(145deg,#f5faf0,#fffef9);border-color:#a9c9ad}.goal-card.done:after{content:'✳';position:absolute;right:-20px;top:-58px;font-size:175px;color:#6eaa78;opacity:.055}.goal-card-top{display:flex;align-items:center;justify-content:space-between}.goal-number{font-size:11px;letter-spacing:.2em;font-weight:700;color:#a2b3a2}.goal-state{font-size:11px;font-weight:700;color:#a5afa5}.goal-card.done .goal-state{color:#6b9f74}.goal-card h3{font:500 27px/1.2 'Playfair Display',Georgia,serif;letter-spacing:-.03em;margin:14px 0}.goal-action{align-self:flex-start;border:1px solid #d8e2d7;background:#fff;border-radius:9px;padding:10px 14px;color:#3d6453;font-size:12px;font-weight:700;display:flex;gap:11px;align-items:center;position:relative;z-index:1}.goal-action:hover{background:#eef5e9}.goal-card.done .goal-action{background:#dcecdf;border-color:#dcecdf;color:#315e3c}.goal-action .check-icon{border:1px solid currentColor;border-radius:4px;width:17px;height:17px;display:grid;place-items:center;font-size:12px}.goal-card.just-done{animation:pop .5s ease}@keyframes pop{50%{transform:scale(1.025)}}.day-note{margin-top:25px;color:#87958a;font-size:12px}.day-note span{color:#bda469;font-size:17px;margin-right:8px}
.section-heading{margin-bottom:26px}.section-heading h2{font-size:39px}.section-heading p{margin:0}.stats-grid,.group-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.stats-card,.chart-card,.group-card,.admin-card{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:27px}.stats-card-label{font-size:11px;letter-spacing:.16em;font-weight:700;color:#819388;display:flex;align-items:center;gap:9px;margin-bottom:26px}.round-icon{height:27px;width:27px;background:#edf4e8;border-radius:50%;display:grid;place-items:center;color:#5f926d;font-size:15px}.stat-row{margin-bottom:23px}.stat-row:last-child{margin-bottom:0}.stat-row-top{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:9px}.stat-row-name{font-weight:700;font-size:13px}.stat-row-detail{color:#92a096;font-size:11px;margin-top:4px}.stat-row-value{font:500 30px/1 'Playfair Display',Georgia,serif;color:var(--forest)}.progress-track{height:8px;background:#edf0e9;border-radius:8px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#8eb49b,#397c66);border-radius:8px;transition:width .5s}.chart-card{margin-top:18px}.chart-head{display:flex;align-items:flex-end;justify-content:space-between}.chart-head h3,.admin-card h3{font:500 27px 'Playfair Display',Georgia,serif;letter-spacing:-.04em;margin:5px 0 0}.chart-head>span{font-size:12px;color:#91a096}.week-chart{height:200px;display:flex;align-items:flex-end;justify-content:space-around;gap:12px;padding-top:32px}.chart-day{flex:1;display:flex;align-items:center;flex-direction:column;gap:9px;height:100%;justify-content:flex-end}.chart-bar-space{height:135px;width:min(58%,55px);display:flex;align-items:flex-end;background:#f0f3ec;border-radius:7px 7px 0 0;overflow:hidden}.chart-bar{background:linear-gradient(180deg,#91baa0,#3d7d66);width:100%;border-radius:7px 7px 0 0;min-height:0;transition:height .5s}.chart-percent{font-size:11px;font-weight:700;color:#577564}.chart-day-label{font-size:12px;color:#95a398}.chart-card>p{border-top:1px solid #eef0ea;padding-top:17px;margin:17px 0 0;color:#9aa69d;font-size:11px}.group-code{font:500 46px 'Playfair Display',Georgia,serif;letter-spacing:.11em;margin:13px 0 22px}.group-card p,.admin-card p{color:#93a197;font-size:12px;line-height:1.6;margin:16px 0 0}.member-list{margin-top:15px;display:flex;flex-wrap:wrap;gap:8px}.member-pill{background:#f0f5ed;border:1px solid #e1ebe0;border-radius:30px;padding:9px 14px;font-size:12px;color:#496b54;font-weight:700}.empty-note{color:#9aa79c;font-size:13px}.admin-card{margin-top:18px}.admin-goal-row{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e8ece6;padding:15px 0;font-size:13px;font-weight:600;gap:15px}.admin-goal-row button{background:none;border:0;color:#6b8b76;font-size:12px;font-weight:700}.add-goal{display:flex;gap:10px;margin-top:20px}.add-goal input{flex:1}
.modal-backdrop{position:fixed;inset:0;background:rgba(5,28,25,.55);z-index:10;display:grid;place-items:center;padding:20px}.modal-card{width:min(100%,480px);background:var(--paper);border-radius:20px;padding:40px;position:relative;box-shadow:0 30px 90px rgba(0,0,0,.2);animation:enter .25s ease}.modal-close{position:absolute;right:24px;top:18px;background:none;border:0;font-size:26px;color:#83958b}.export-options{display:grid;gap:22px;margin-bottom:27px}.option-label{font-size:10px;letter-spacing:.16em;font-weight:700;color:#91a096;display:block;margin-bottom:8px}.segmented{display:flex;gap:6px;background:#eef2eb;border-radius:10px;padding:5px}.segmented button{flex:1;border:0;background:none;border-radius:7px;padding:10px 8px;color:#7d8d81;font-size:12px;font-weight:700}.segmented button.selected{background:#fff;box-shadow:0 2px 8px rgba(24,55,40,.08);color:var(--forest)}.toast{position:fixed;z-index:20;bottom:24px;left:50%;transform:translate(-50%,20px);background:var(--forest);color:#fff;padding:12px 18px;border-radius:9px;box-shadow:var(--shadow);font-size:13px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;max-width:min(90vw,450px);text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:850px){.home{grid-template-columns:1fr;padding:34px 30px 65px}.hero-copy{padding-bottom:0}.hero-visual{height:485px}.orbit{width:420px;height:420px}.orbit-two{width:320px;height:320px}.badge-left{left:13%}.badge-right{right:12%}.goals-list{grid-template-columns:1fr 1fr}.app{padding:35px 30px 80px}.site-header{padding:0 30px}}
@media(max-width:600px){.site-header{height:72px;padding:0 22px}.brand{font-size:25px}.header-right{font-size:9px}.home{min-height:calc(100vh - 72px);padding:34px 23px 50px}.hero-copy h1{font-size:clamp(58px,14vw,76px);margin:23px 0}.hero-copy>p{font-size:15px;line-height:1.7}.hero-actions{display:grid}.hero-actions .button{width:100%;justify-content:space-between}.hero-footnote{margin-top:25px}.hero-visual{height:460px;margin-top:5px}.hero-card{width:275px;height:365px;padding:25px}.hero-card-title{font-size:30px;margin:37px 0 23px}.mock-goal{height:48px}.hero-card-bottom{left:25px;right:25px;bottom:22px}.orbit{width:370px;height:370px}.orbit-two{width:290px;height:290px}.float-badge{padding:10px}.badge-left{left:0;bottom:40px}.badge-right{right:0;top:35px}.setup{padding:20px 20px 70px}.setup-card{padding:30px 23px;margin-top:24px}.setup-card h2{font-size:34px}.app{padding:23px 20px 70px}.app-heading{margin:12px 0 27px;align-items:flex-start}.app-heading h1{font-size:43px}.app-heading p{font-size:12px}.invite-button{font-size:0;width:43px;justify-content:center;padding:0;flex:none}.invite-button span{font-size:20px}.tabs{gap:24px;margin-bottom:29px}.identity-box{margin:25px 0;padding:33px 24px}.identity-controls{flex-wrap:wrap}.identity-controls .select-wrap{flex-basis:100%}.identity-controls .button{flex:1}.welcome-line{align-items:flex-start}.welcome-line h2{font-size:31px}.welcome-line .quiet-button{font-size:11px}.goals-list,.stats-grid,.group-grid{grid-template-columns:1fr}.goal-card{min-height:185px}.section-heading{align-items:flex-start;flex-direction:column}.section-heading h2{font-size:34px}.section-heading .button{width:100%;justify-content:space-between}.stats-card,.chart-card,.group-card,.admin-card{padding:22px}.chart-card{overflow:hidden}.week-chart{gap:3px}.chart-bar-space{width:65%}.chart-day-label{font-size:10px}.add-goal{flex-direction:column}.modal-card{padding:32px 23px}.modal-card h2{font-size:34px}}
.admin-divider{border-top:1px solid var(--line);margin:30px 0 24px}
.goal-actions{display:flex;gap:8px;flex-wrap:wrap;position:relative;z-index:1}.goal-actions .goal-action{align-self:auto}.goal-action.negative,.goal-card.done .goal-action.negative{background:transparent;border-color:#e3e7e0;color:#8d9b90}.goal-action.negative.selected{background:#eeeae2;border-color:#eeeae2;color:#7a776d}.goal-action.selected:not(.negative){background:#dcecdf;border-color:#dcecdf;color:#315e3c}
