.landing main :focus-visible{outline:2px solid var(--ember-halo);outline-offset:3px}.landing main section[id]{scroll-margin-top:96px}.landing .wrap{max-width:1240px;margin:0 auto;padding-inline:20px}.landing .mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.landing .k{font:500 11px/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted-foreground)}.landing .btn{display:inline-flex;align-items:center;gap:10px;text-decoration:none;border-radius:999px;padding:15px 22px;font:500 16px/1.2 var(--sans);border:1px solid var(--border-strong);background:transparent;color:var(--foreground);cursor:pointer}.landing .btn.primary{background:var(--ember-core);border-color:var(--ember-core);color:#fff}.landing .btn.primary:hover{filter:brightness(.9)}.landing .btn.ghost:hover{border-color:var(--foreground)}.landing .actions{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center}.landing .text-link{font:500 15px/1.2 var(--sans);color:var(--foreground);text-decoration:underline;text-decoration-color:var(--border-strong);text-underline-offset:4px}.landing .text-link:hover{text-decoration-color:var(--foreground)}.landing .micro{font:12px/1.5 var(--mono);color:var(--muted-foreground);margin-top:16px}.landing .offer{font-size:15px;color:var(--muted-foreground);margin:22px 0 0}.landing .offer b{color:var(--foreground);font-weight:500}.landing .hero{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:40px 72px;align-items:center;padding-block:56px 112px}.landing .hero h1{font-size:clamp(52px,7.4vw,104px);line-height:.92;letter-spacing:-.06em;font-weight:500;margin:0 0 28px;text-wrap:balance}.landing .hero .sub{font-size:19px;line-height:1.5;color:var(--muted-foreground);margin:0 0 32px;max-width:24em}.landing .answer{margin:0;min-width:0}.landing .answer .lead{font-size:17px;color:var(--muted-foreground)}.landing .answer .range{display:flex;align-items:baseline;gap:.22em;font:500 clamp(72px,10vw,140px) / .9 var(--mono);letter-spacing:-.065em;margin:10px 0 0}.landing .answer .range b{font-weight:500;display:flex;align-items:center;gap:.14em}.landing .answer .range i{display:block;flex:none;width:.62em;height:.085em;background:var(--ember-halo);border-radius:.04em}.landing .answer .range small{font:500 .26em/1 var(--sans);letter-spacing:-.02em;color:var(--muted-foreground)}.landing .answer .when{font-size:19px;margin:14px 0 26px}.landing .answer svg{display:block;width:100%;height:auto}.landing .basis{font:12px/1.5 var(--mono);color:var(--muted-foreground);margin-top:18px;padding-top:14px;border-top:1px solid var(--border)}.landing .cell{fill:var(--border-strong);stroke:var(--border-strong);stroke-width:1}.landing .cell.lived{fill:var(--muted-foreground);stroke:var(--muted-foreground)}.landing .cell.free{fill:var(--ember-halo);stroke:var(--ember-halo)}.landing .grid-label{font:12px var(--mono);fill:var(--muted-foreground)}.landing .grid-label .now{fill:var(--foreground)}.landing .grid-label .free{fill:var(--ember-ink)}.landing .grid-year{font:12px var(--mono);fill:var(--muted-foreground)}@media (max-width: 640px){.landing .grid-label,.landing .grid-year{font-size:21px}}.landing .section{padding-block:112px}.landing .head{display:flex;justify-content:space-between;gap:24px 48px;align-items:end;margin-bottom:48px;flex-wrap:wrap}.landing .head h2{font-size:clamp(40px,5.4vw,72px);line-height:.96;letter-spacing:-.052em;font-weight:500;margin:0;max-width:12ch;text-wrap:balance}.landing .head p{margin:0;max-width:26em;font-size:17px;line-height:1.55;color:var(--muted-foreground)}.landing .change{padding-top:0}.landing .scene{position:relative;padding:64px 88px 84px;background:var(--muted);border:1px solid var(--border);border-radius:28px}.landing .app{position:relative;z-index:2;max-width:960px;margin:0 auto;background:var(--raised);border:1px solid var(--border-strong);border-radius:16px;overflow:hidden;box-shadow:0 38px 90px var(--shadow)}.landing .app-bar{display:flex;align-items:center;gap:24px;padding:0 24px;height:56px;border-bottom:1px solid var(--border);font-size:14px;color:var(--muted-foreground);white-space:nowrap;overflow:hidden}.landing .app-bar .logo{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--foreground);margin-right:6px}.landing .app-bar .on{color:var(--foreground);font-weight:500;box-shadow:inset 0 -2px 0 var(--ember-halo);padding-block:18px}.landing .app-bar .count{font:500 11px/1 var(--mono);background:var(--ember-wash);color:var(--ember-ink);border-radius:999px;padding:3px 7px;margin-left:6px}.landing .app-bar .right{margin-left:auto;display:flex;gap:14px;align-items:center;font:12px/1 var(--mono)}.landing .app-bar .sync i{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--positive);margin-right:6px}.landing .app-bar .av{width:28px;height:28px;border-radius:50%;background:var(--muted);display:grid;place-items:center;font:600 10px/1 var(--mono);color:var(--foreground)}.landing .fr{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}.landing .fr-answer{padding:34px 36px 28px;border-right:1px solid var(--border);min-width:0}.landing .fr-date{font:500 clamp(48px,6vw,76px) / .95 var(--mono);letter-spacing:-.06em;margin:14px 0 12px}.landing .fr-sent{font-size:17px;line-height:1.45}.landing .fr-move{display:inline-flex;align-items:center;gap:8px;margin-top:12px;font:500 14px/1 var(--mono);color:var(--ember-ink);background:var(--ember-wash);border-radius:999px;padding:8px 12px}.landing .fr-answer svg{display:block;width:100%;height:auto;margin-top:22px}.landing .fr-why{padding:30px 28px;min-width:0;display:grid;align-content:start}.landing .fr-why .k{margin-bottom:14px}.landing .chg{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 14px;padding:16px 0;border-top:1px solid var(--border)}.landing .chg .t{font:500 10.5px/1.2 var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--muted-foreground);grid-column:1 / -1}.landing .chg .d{font-size:15px;line-height:1.4}.landing .chg .v{font:500 15px/1.4 var(--mono);text-align:right;white-space:nowrap}.landing .chg.same .d,.landing .chg.same .v{color:var(--muted-foreground)}.landing .fr-foot{font:12px/1.5 var(--mono);color:var(--muted-foreground);border-top:1px solid var(--border);padding-top:14px;margin-top:4px}.landing .orbit{position:absolute;z-index:3;background:var(--raised);border:1px solid var(--border-strong);border-radius:14px;padding:14px 16px;box-shadow:0 18px 42px var(--shadow);width:210px}.landing .orbit .ov{font:500 24px/1 var(--mono);letter-spacing:-.045em;margin:9px 0 6px}.landing .orbit .os{font-size:12.5px;line-height:1.35;color:var(--muted-foreground)}.landing .o1{left:-28px;top:372px}.landing .o2{left:-8px;bottom:-26px}.landing .o3{right:-28px;bottom:-26px}.landing .ch-t{font:11px var(--mono);fill:var(--muted-foreground)}.landing .ch-t.ink{fill:var(--foreground)}.landing .ch-grid{stroke:var(--border)}.landing .ch-line{fill:none;stroke:var(--foreground);stroke-width:2.5;stroke-linejoin:round}.landing .ch-after{fill:none;stroke:var(--border-strong);stroke-width:2;stroke-dasharray:3 5}.landing .ch-fi{stroke:var(--foreground);stroke-width:1;stroke-dasharray:4 4}.landing .ch-dot{fill:var(--raised);stroke:var(--foreground);stroke-width:2.5}.landing .money{background:var(--raised);border-block:1px solid var(--border)}.landing .cost{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:20px;align-items:stretch}.landing .ledger{border:1px solid var(--border);border-radius:20px;background:var(--background);padding:20px 16px;min-width:0}.landing .lhead,.landing .crow{display:grid;grid-template-columns:minmax(0,1fr) 88px 104px;gap:14px;align-items:center}.landing .lhead{padding:4px 12px 12px;border-bottom:1px solid var(--border)}.landing .lhead .k:not(:first-child){text-align:right}.landing .crow{width:100%;padding:14px 12px;border:0;border-bottom:1px solid var(--border);background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:10px;transition:background .2s ease}.landing .crow:hover{background:var(--muted)}.landing .crow[aria-pressed=true]{background:var(--raised);box-shadow:inset 0 0 0 1.5px var(--foreground)}.landing .crow .n{font-weight:500;font-size:16px;min-width:0}.landing .crow .s{display:block;font-size:12.5px;color:var(--muted-foreground);margin-top:3px;font-weight:400}.landing .crow .m,.landing .crow .p{font:500 15px/1.2 var(--mono);text-align:right;white-space:nowrap}.landing .crow .p{font-weight:600}.landing .crow.finite .n,.landing .crow.finite .m{color:var(--muted-foreground)}.landing .crow.finite .p{font:500 12px/1.3 var(--mono);color:var(--muted-foreground);white-space:normal}.landing .ltot{display:grid;grid-template-columns:minmax(0,1fr) 88px 104px;gap:14px;padding:16px 12px 4px;font:500 15px/1.2 var(--mono)}.landing .ltot span:not(:first-child){text-align:right}.landing .ltot span:first-child{font:500 11px/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted-foreground);align-self:center}.landing .outcome{border:1px solid var(--border);border-radius:20px;background:var(--background);padding:32px;display:grid;align-content:center;min-width:0}.landing .outcome .big{white-space:nowrap;font:500 clamp(44px,7vw,84px) / .9 var(--mono);letter-spacing:-.065em;margin:16px 0 14px}.landing .outcome .sub{font-size:19px;line-height:1.4}.landing .outcome .math{font:500 13px/1.5 var(--mono);color:var(--muted-foreground);margin-top:8px}.landing .outcome .delta{font-size:16px;line-height:1.5;margin-top:22px;padding-top:18px;border-top:1px solid var(--border)}.landing .outcome .delta b{font:500 16px/1.4 var(--mono)}.landing .close{background:var(--muted);border-bottom:1px solid var(--border);padding-block:96px}.landing .up{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:40px 64px;align-items:center}.landing .up-left{min-width:0}.landing .close h2{font-size:clamp(40px,5.4vw,72px);line-height:.96;letter-spacing:-.052em;font-weight:500;margin:14px 0 0;max-width:11ch;text-wrap:balance}.landing .close .lede{font-size:17px;line-height:1.55;color:var(--muted-foreground);max-width:26em;margin:18px 0 0}.landing .stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;margin-top:32px}.landing .stat{padding:16px 0;border-top:1px solid var(--border-strong);min-width:0}.landing .stat .v{font:500 40px/1 var(--mono);letter-spacing:-.055em}.landing .stat .l{font-size:14px;line-height:1.35;color:var(--muted-foreground);margin-top:6px}.landing .stat.need .v{color:var(--ember-ink)}.landing .stat.need .l{color:var(--foreground)}.landing .qs{display:grid;gap:14px;min-width:0}.landing .q{background:var(--raised);border:1px solid var(--border-strong);border-radius:16px;padding:20px 22px;display:grid;gap:10px;align-content:start;min-width:0;box-shadow:0 14px 34px var(--shadow)}.landing .q .k{justify-self:start;color:var(--ember-ink);background:var(--ember-wash);border-radius:999px;padding:5px 9px}.landing .q h3{margin:0;font-size:18px;line-height:1.3;font-weight:500;letter-spacing:-.02em}.landing .q .why{margin:0;font-size:14.5px;line-height:1.5;color:var(--muted-foreground)}.landing .q .why b{font:500 14.5px/1.4 var(--mono);color:var(--foreground)}.landing .q .why b.warn{color:var(--ember-ink)}.landing .q .row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:2px}.landing .q .opts{display:flex;flex-wrap:wrap;gap:8px}.landing .q .opts button{font:500 14px/1 var(--sans);border:1px solid var(--border-strong);background:transparent;color:var(--foreground);padding:10px 16px;border-radius:999px;cursor:pointer}.landing .q .opts button:hover{border-color:var(--foreground)}.landing .q .opts button[aria-pressed=true]{background:var(--foreground);border-color:var(--foreground);color:var(--raised)}.landing .q .done{font:12px/1.4 var(--mono);color:var(--muted-foreground);margin:0;flex:1 1 12em}.landing .q .done:empty{display:none}.landing .qs-foot{font:12px/1.5 var(--mono);color:var(--muted-foreground);margin:2px 4px 0}.landing .tools h2{font-size:clamp(36px,4.6vw,60px);line-height:.98;letter-spacing:-.05em;font-weight:500;margin:14px 0 0;max-width:14ch;text-wrap:balance}.landing .tools .lede{font-size:17px;line-height:1.55;color:var(--muted-foreground);max-width:34em;margin:18px 0 0}.landing .tool-grid{list-style:none;padding:0;margin:44px 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.landing .tool-card{display:flex;flex-direction:column;height:100%;padding:22px;border:1px solid var(--border);border-radius:16px;background:var(--raised);text-decoration:none;color:inherit}.landing .tool-card:hover{border-color:var(--foreground)}.landing .tool-card h3{margin:0;font-size:17px;line-height:1.3;font-weight:600;letter-spacing:-.02em}.landing .tool-card p{margin:10px 0 0;flex:1;font-size:14px;line-height:1.5;color:var(--muted-foreground)}.landing .tool-card .go{margin-top:16px;font:500 13px/1 var(--mono);color:var(--foreground)}.landing .guides{margin-top:56px}.landing .post-list{list-style:none;padding:0;margin:14px 0 0;border-top:1px solid var(--border)}.landing .post-list li{border-bottom:1px solid var(--border)}.landing .post-row{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:6px 40px;padding:20px 4px;text-decoration:none;color:inherit}.landing .post-row:hover .post-title{text-decoration:underline;text-underline-offset:4px}.landing .post-title{font-size:18px;line-height:1.3;font-weight:500;letter-spacing:-.02em}.landing .post-desc{font-size:14.5px;line-height:1.5;color:var(--muted-foreground)}.landing .tools-foot{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:24px}.landing .trust{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;padding-block:104px 0}.landing .trust svg{width:28px;height:28px;stroke:var(--foreground);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.landing .trust svg .ember-dot{fill:var(--ember-halo);stroke:none}.landing .trust h3{font-size:18px;font-weight:600;letter-spacing:-.02em;margin:16px 0 6px}.landing .trust p{margin:0;font-size:15px;line-height:1.5;color:var(--muted-foreground)}.landing .final{padding-block:128px 0;text-align:center}.landing .final h2{font-size:clamp(44px,6.4vw,88px);line-height:.95;max-width:12ch;margin:0 auto 40px;font-weight:500;letter-spacing:-.055em;text-wrap:balance}.landing .final .actions{justify-content:center}.landing .note{font:12px/1.5 var(--mono);color:var(--muted-foreground);text-align:center;padding:72px 20px 40px;margin:0}@keyframes landing-cell{0%{fill:var(--border-strong);stroke:var(--border-strong);stroke-width:1}}@keyframes landing-orbit{0%{opacity:.35;transform:translateY(14px) scale(.97)}}@keyframes landing-stat{0%{opacity:.45}}@keyframes landing-dim{to{opacity:.6}}.landing [data-reveal=play] .cell.lived,.landing [data-reveal=play] .cell.free{animation:landing-cell .35s ease var(--d, 0s) backwards}.landing [data-reveal=play] .orbit{animation:landing-orbit .8s cubic-bezier(.2,.8,.2,1) var(--d, 0s) backwards}.landing [data-reveal=play] .stat{animation:landing-stat .6s ease var(--d, 0s) backwards}.landing [data-reveal=play] .stat:not(.need) .v{animation:landing-dim .6s ease 2.14s forwards}@media (max-width: 1180px){.landing .orbit{display:none}.landing .scene{padding:40px 32px}.landing .tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 860px){.landing .hero{grid-template-columns:minmax(0,1fr);padding-block:32px 80px}.landing .head{display:block}.landing .head p{margin-top:18px}.landing .scene{padding:16px;border-radius:20px}.landing .fr{grid-template-columns:minmax(0,1fr)}.landing .fr-answer{border-right:0;border-bottom:1px solid var(--border);padding:24px 20px}.landing .fr-why{padding:22px 20px}.landing .app-bar .hide-sm{display:none}.landing .cost,.landing .up{grid-template-columns:minmax(0,1fr)}.landing .close{padding-block:72px}.landing .trust{grid-template-columns:repeat(2,minmax(0,1fr))}.landing .section{padding-block:88px}.landing .post-row{grid-template-columns:minmax(0,1fr)}}@media (max-width: 520px){.landing .ledger{padding:12px 6px}.landing .lhead,.landing .crow,.landing .ltot{grid-template-columns:minmax(0,1fr) 64px 80px;gap:10px;padding-inline:8px}.landing .crow .n{font-size:15px}.landing .crow .m,.landing .crow .p{font-size:13.5px}.landing .outcome{padding:22px}.landing .q{padding:20px}.landing .stat .v{font-size:32px}.landing .trust,.landing .tool-grid{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion: reduce){.landing .crow{transition:none}.landing [data-reveal] *{animation:none!important}}.landing .cost-method{margin-top:22px;font-size:14px;line-height:1.5;color:var(--muted-foreground)}.landing .cost-method summary{cursor:pointer;text-decoration:underline;text-underline-offset:4px}.landing .head h2,.landing .close h2{max-width:18ch}.landing .final .lede{max-width:40em;margin:20px auto;color:var(--muted-foreground);font-size:17px;line-height:1.55}.landing .fr-move{line-height:1.4}
