:root:has(.cs-page){scroll-behavior:smooth}.cs-page{position:relative;isolation:isolate;min-height:100svh;display:flex;flex-direction:column;overflow-x:clip}.cs-page main{flex:1}.cs-wrap{width:100%;max-width:1200px;margin:0 auto;padding-inline:clamp(16px,5vw,64px)}.cs-backdrop{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}.cs-blob{position:absolute;width:70vmax;aspect-ratio:1;border-radius:50%;animation:cs-drift 22s ease-in-out infinite alternate}.cs-blob--sage{top:-30vmax;left:-25vmax;background:radial-gradient(circle,#c9ddd1,#c9ddd100 65%)}.cs-blob--accent{bottom:-35vmax;right:-30vmax;background:radial-gradient(circle,#fbe1ac,#fbe1ac00 62%);animation-duration:27s;animation-direction:alternate-reverse}.cs-blob--mint{top:25%;left:35%;width:45vmax;background:radial-gradient(circle,#e6eee8,#e6eee800 60%);animation-duration:33s}.cs-particle{position:absolute;bottom:-24px;left:var(--x);width:var(--s);height:var(--s);border-radius:50%;background:var(--accent);opacity:0;animation:cs-rise var(--t) linear var(--delay) infinite}.cs-particle:nth-child(3n){background:var(--sage)}.cs-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-block:20px;animation:cs-fade-down .8s ease both}.cs-header .logo{font-size:1.75rem}.cs-status{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:6px 14px;border:1px solid var(--line);border-radius:var(--radius-pill);background:#ffffffb8;color:var(--sage);font-size:13px;font-weight:700;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.cs-status-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);animation:cs-ping 2s ease-out infinite}.cs-hero{display:grid;justify-items:center;gap:8px;padding-block:0 48px;text-align:center}.cs-copy{display:grid;justify-items:center;min-width:0}.cs-eyebrow{color:var(--sage);font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;animation:cs-fade-up .7s 1.1s ease both}.cs-title{display:flex;flex-wrap:wrap;justify-content:center;column-gap:.22em;margin-top:10px;font-size:clamp(60px,15vw,132px);line-height:.98;letter-spacing:-.05em}.cs-word{position:relative;isolation:isolate;display:inline-flex;white-space:nowrap}.cs-word--accent{color:var(--sage)}.cs-word--accent:after{content:"";position:absolute;z-index:-1;left:-.04em;right:.2em;bottom:.1em;height:.2em;border-radius:var(--radius-pill);background:var(--accent);transform-origin:left;animation:cs-underline .9s 2s cubic-bezier(.65,0,.35,1) both}.cs-char{display:inline-block;animation:cs-char-in .8s cubic-bezier(.2,.9,.25,1.25) both;animation-delay:calc(1.25s + var(--i) * 55ms)}.cs-rotator{margin-top:22px;color:var(--ink);font:600 clamp(18px,4.8vw,24px)/1.3 var(--font-display);letter-spacing:-.01em;animation:cs-fade-up .7s 2.1s ease both}.cs-rotator-window{display:inline-grid;height:1.3em;margin:0 .08em;padding:0 .35em;overflow:hidden;vertical-align:bottom;border-radius:10px;background:var(--sage);color:#fff}.cs-rotator-track{display:grid;animation:cs-rotate 10s cubic-bezier(.75,0,.25,1) 3s infinite}.cs-rotator-track>span{height:1.3em;line-height:1.3em}.cs-lead{max-width:540px;margin-top:18px;font-size:17px;line-height:1.7;animation:cs-fade-up .7s 2.25s ease both}.cs-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:28px;animation:cs-fade-up .7s 2.4s ease both}.cs-cta{position:relative;overflow:hidden;box-shadow:0 14px 30px -14px #f2b544f2}.cs-cta:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.65) 50%,transparent 70%);transform:translate(-120%);animation:cs-shine 4.5s 3.4s ease-in-out infinite}.cs-secondary{background:#ffffffb3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.cs-fields{display:grid;justify-items:center;gap:8px;margin-top:28px;animation:cs-fade-up .7s 2.55s ease both}.cs-fields-label{color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.cs-fields ul{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0;padding:0;list-style:none}.cs-field{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:6px 14px;border-radius:var(--radius-pill);background:var(--sage-soft);color:var(--sage);font-size:14px;font-weight:800}.cs-field--soon{border:1px dashed var(--line);background:transparent;color:var(--muted)}.cs-field small{font-size:12px;font-weight:600}.cs-closing{display:grid;justify-items:center;gap:14px;margin:24px 0 64px;padding:clamp(32px,6vw,56px) clamp(20px,5vw,56px);border-radius:var(--radius-card);background:var(--ink);color:#d7e2db;text-align:center;opacity:0;transform:translateY(28px) scale(.98);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.2,1)}.cs-closing.is-visible{opacity:1;transform:none}.cs-closing h2{color:#fff;font-size:clamp(30px,6vw,48px)}.cs-closing p{max-width:520px;font-size:16px}.cs-closing .cs-cta{margin-top:8px}.cs-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px;padding-block:20px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}@media(min-width:960px){.cs-hero{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;min-height:calc(100svh - 190px);padding-block:16px 64px;text-align:left}.cs-copy{justify-items:start}.cs-title,.cs-actions,.cs-fields ul{justify-content:flex-start}.cs-fields{justify-items:start}}@media(max-width:959px){.cs-hero .cocoon{order:-1}}@media(max-width:400px){.cs-actions{flex-direction:column;align-self:stretch}.cs-status{padding-inline:10px;font-size:12px}}@keyframes cs-drift{to{transform:translate3d(7vmax,5vmax,0) scale(1.15)}}@keyframes cs-rise{0%{opacity:0;transform:translateY(0)}15%{opacity:.5}85%{opacity:.3}to{opacity:0;transform:translate(24px,-110vh)}}@keyframes cs-ping{0%{box-shadow:0 0 #f2b544bf}80%,to{box-shadow:0 0 0 10px #f2b54400}}@keyframes cs-fade{0%{opacity:0}}@keyframes cs-fade-up{0%{opacity:0;transform:translateY(18px)}}@keyframes cs-fade-down{0%{opacity:0;transform:translateY(-14px)}}@keyframes cs-char-in{0%{opacity:0;transform:translateY(.5em) rotate(8deg) scale(.9);filter:blur(6px)}}@keyframes cs-underline{0%{transform:scaleX(0)}}@keyframes cs-rotate{0%,20%{transform:translateY(0)}25%,45%{transform:translateY(-1.3em)}50%,70%{transform:translateY(-2.6em)}75%,95%{transform:translateY(-3.9em)}to{transform:translateY(-5.2em)}}@keyframes cs-shine{0%,60%{transform:translate(-120%)}to{transform:translate(120%)}}@keyframes cs-spin{to{transform:rotate(360deg)}}@keyframes cs-stroke{0%{stroke-dashoffset:1}}@keyframes cs-pop{0%{opacity:0;transform:scale(.4)}}@media(prefers-reduced-motion:reduce){:root:has(.cs-page){scroll-behavior:auto}.cs-page *,.cs-page *:before,.cs-page *:after{animation-delay:0s!important}.cs-blob,.cs-particle,.cs-status-dot,.cs-rotator-track,.cs-cta:after,.cocoon-glow,.cocoon-ring,.cocoon-sway,.cocoon-orbit,.cocoon-chip-spin,.wing-set,.cs-marquee-row,.chat-typing i{animation:none!important}.cs-particle{display:none}.cs-closing,.cs-step,.cs-how-head{transition:none}}.cocoon{--size: min(300px, 80vw);position:relative;width:var(--size);aspect-ratio:1}.cocoon-glow{position:absolute;inset:14%;border-radius:50%;background:radial-gradient(circle,#f2b54480,#f2b54400 68%);animation:cs-fade 1.5s .8s both,cocoon-breathe 5s ease-in-out 2.3s infinite}.cocoon-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.cocoon-svg *{transform-box:view-box}.cocoon-ring{fill:none;stroke:var(--sage);stroke-opacity:.28;stroke-width:1.5;stroke-linecap:round;stroke-dasharray:2 10;transform-origin:160px 170px;animation:cs-fade 1.2s .2s both,cs-spin 70s linear infinite}.cocoon-ring--inner{stroke:var(--accent);stroke-opacity:.7;stroke-dasharray:1 14;animation-duration:1.2s,45s;animation-direction:normal,reverse}.cocoon-branch{fill:none;stroke:var(--ink);stroke-width:4;stroke-linecap:round;stroke-dasharray:1;animation:cs-stroke .9s .1s ease both}.cocoon-leaf{fill:var(--sage);transform-origin:115px 26px;animation:cs-pop .6s .8s cubic-bezier(.3,1.6,.5,1) both}.cocoon-leaf--2{fill:#2f7a69;transform-origin:240px 24px;animation-delay:.95s}.cocoon-sway{transform-origin:160px 24px;animation:cocoon-sway 6s ease-in-out 3.6s infinite}.cocoon-thread{fill:none;stroke:var(--ink);stroke-width:2;stroke-dasharray:1;animation:cs-stroke .5s .6s ease both}.cocoon-body{fill:var(--surface);stroke:var(--sage);stroke-width:7;stroke-linecap:round;stroke-dasharray:1;animation:cs-stroke 1.3s .9s cubic-bezier(.65,0,.35,1) both,cocoon-fill .8s 1.8s ease both}.cocoon-line{fill:none;stroke:var(--sage);stroke-width:5.5;stroke-linecap:round;stroke-dasharray:1;animation:cs-stroke .6s 1.9s ease both}.cocoon-line--2{animation-delay:2.1s}.wing{fill:var(--accent-soft);stroke:var(--accent);stroke-width:2.5;stroke-linejoin:round}.wing--low{fill:var(--sage-soft);stroke:var(--sage);stroke-opacity:.45}.wing-set{transform-origin:160px 170px;animation:cocoon-wing-open 1.1s 2.4s cubic-bezier(.3,1.35,.5,1) both,cocoon-wing-flap 2.6s 3.6s ease-in-out infinite alternate}.wing-set--right{animation-delay:2.5s,3.7s}.cocoon-orbit{position:absolute;inset:0;animation:cs-spin 40s linear infinite}.cocoon-chip{--r: calc(var(--size) * .47);position:absolute;top:53%;left:50%;display:flex;align-items:center;justify-content:center;width:0;height:0;transform:rotate(var(--a)) translateY(calc(var(--r) * -1)) rotate(calc(var(--a) * -1))}.cocoon-chip-spin{display:block;animation:cs-spin 40s linear infinite reverse}.cocoon-chip-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--line);border-radius:var(--radius-pill);background:#ffffffeb;box-shadow:0 10px 24px -14px #13201b73;color:var(--ink);font-size:13px;font-weight:700;white-space:nowrap;animation:cs-pop .6s cubic-bezier(.3,1.6,.5,1) both;animation-delay:calc(2.8s + var(--i) * .15s)}.cocoon-chip-pill i{width:8px;height:8px;border-radius:50%;background:var(--accent)}.cocoon-chip-pill--sage i{background:var(--sage)}.cocoon-chip-pill--ink i{background:var(--ink)}@media(min-width:960px){.cocoon{--size: min(460px, 40vw);justify-self:center}.cocoon-chip-pill{font-size:14px;padding:8px 14px}}@keyframes cocoon-breathe{50%{transform:scale(1.12);opacity:.75}}@keyframes cocoon-fill{0%{fill-opacity:0}}@keyframes cocoon-sway{0%,to{transform:rotate(0)}25%{transform:rotate(2.4deg)}75%{transform:rotate(-2.4deg)}}@keyframes cocoon-wing-open{0%{opacity:0;transform:scale(.2) rotate(-24deg)}}@keyframes cocoon-wing-flap{to{transform:scaleX(.8) rotate(-3deg)}}.cs-marquee{display:grid;gap:10px;padding-block:12px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.cs-marquee-row{display:flex;gap:10px;width:max-content;animation:cs-marquee 46s linear infinite}.cs-marquee-row--reverse{animation-duration:54s;animation-direction:reverse}.cs-marquee:hover .cs-marquee-row{animation-play-state:paused}.cs-marquee-list{display:flex;gap:10px;margin:0;padding:0;list-style:none}.cs-marquee-list li{padding:10px 18px;border:1px solid var(--line);border-radius:var(--radius-pill);background:#ffffffc7;color:var(--ink);font-size:14px;font-weight:600;white-space:nowrap}.cs-marquee-row--reverse li{background:transparent;color:var(--sage)}@keyframes cs-marquee{to{transform:translate(calc(-50% - 5px))}}.cs-how{padding-block:72px 32px;scroll-margin-top:16px}.cs-how-head{display:grid;justify-items:center;gap:10px;max-width:600px;margin:0 auto 36px;text-align:center;opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.cs-how-head.is-visible{opacity:1;transform:none}.cs-how-head .cs-eyebrow{animation:none}.cs-how-head h2{font-size:clamp(32px,7vw,52px)}.cs-steps{display:grid;gap:20px;margin:0;padding:0;list-style:none}.cs-step{padding:18px 18px 24px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-card);opacity:0;transform:translateY(36px);transition:opacity .7s ease,transform .8s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--d) * .12s)}.cs-step.is-visible{opacity:1;transform:none}.cs-step-no{display:inline-flex;margin-top:20px;padding:4px 12px;border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent-ink);font:700 13px/1.4 var(--font-display)}.cs-step h3{margin-top:12px;font-size:22px}.cs-step p{margin-top:8px;font-size:15px}.cs-scene{--base: calc(var(--d) * .12s + .3s);position:relative;height:200px;padding:16px;overflow:hidden;border-radius:16px;background:var(--sage-tint)}@media(min-width:720px)and (max-width:959px){.cs-steps{grid-template-columns:repeat(2,1fr)}.cs-step:last-child{grid-column:1 / -1}}@media(min-width:960px){.cs-steps{grid-template-columns:repeat(3,1fr)}}.net-chart{position:absolute;inset:40px 12px 8px;width:calc(100% - 24px);height:calc(100% - 48px);overflow:visible}.net-label{position:absolute;top:14px;left:16px;color:var(--muted);font-size:12px;font-weight:700}.net-badge{position:absolute;top:10px;right:12px;padding:4px 10px;border-radius:var(--radius-pill);background:var(--accent);color:var(--ink);font-size:12px;font-weight:800}.net-grid{stroke:var(--line);stroke-dasharray:3 6}.net-area{fill:url(#cs-net-fill)}.net-line{fill:none;stroke:var(--sage);stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1}.net-dot{fill:var(--surface);stroke:var(--sage);stroke-width:3;transform-box:fill-box;transform-origin:center}.net-dot--last{fill:var(--accent);stroke:var(--ink)}.is-visible .net-line{animation:cs-stroke 1.6s var(--base) cubic-bezier(.65,0,.35,1) both}.is-visible .net-area{animation:cs-fade 1s calc(var(--base) + 1.3s) both}.is-visible .net-dot{animation:cs-pop .5s cubic-bezier(.3,1.6,.5,1) both;animation-delay:calc(var(--base) + var(--i) * .26s)}.is-visible .net-dot--last{animation:cs-pop .5s cubic-bezier(.3,1.6,.5,1) calc(var(--base) + 1.3s) both,net-pulse 2s calc(var(--base) + 2s) ease-in-out infinite}.is-visible .net-badge{animation:cs-pop .6s cubic-bezier(.3,1.6,.5,1) calc(var(--base) + 1.8s) both}@keyframes net-pulse{50%{transform:scale(1.35)}}.week-scene{display:flex;flex-direction:column;gap:10px;height:100%}.week{flex:1;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:auto 1fr 1fr;gap:6px}.week-label{grid-column:var(--col);grid-row:1;color:var(--muted);font-size:11px;font-weight:700;text-align:center}.week-block{grid-column:var(--col);grid-row:var(--row) / span var(--span);display:grid;place-items:center;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--sage);font-size:11px;font-weight:800}.week-block--sage{border-color:transparent;background:var(--sage);color:#fff}.week-block--accent{border-color:transparent;background:var(--accent);color:var(--ink);writing-mode:vertical-rl;transform:rotate(180deg)}.week-block--moved{box-shadow:0 0 0 2px var(--accent)}.week-status{align-self:center;display:inline-flex;gap:6px;padding:4px 12px;border-radius:var(--radius-pill);background:var(--surface);color:var(--sage);font-size:12px;font-weight:800}.is-visible .week-block{animation:week-drop .55s cubic-bezier(.3,1.4,.5,1) both;animation-delay:calc(var(--base) + var(--i) * 90ms)}.is-visible .week-block--accent{animation-name:week-drop-flip}.is-visible .week-block--moved{animation:week-move 2.6s cubic-bezier(.65,0,.35,1) calc(var(--base) + .4s) both}.is-visible .week-status{animation:cs-pop .5s cubic-bezier(.3,1.6,.5,1) calc(var(--base) + 2.9s) both}@keyframes week-drop{0%{opacity:0;transform:translateY(-22px) scale(.8)}}@keyframes week-drop-flip{0%{opacity:0;transform:rotate(180deg) translateY(22px) scale(.8)}}@keyframes week-move{0%{opacity:0;transform:translate(calc(-100% - 6px),-22px)}15%,65%{opacity:1;transform:translate(calc(-100% - 6px))}to{opacity:1;transform:none}}.chat{display:flex;flex-direction:column;justify-content:center;gap:8px;height:100%}.chat-bubble{max-width:88%;padding:8px 12px;border-radius:16px;font-size:13px;line-height:1.4}.chat-bubble--me{align-self:flex-end;border-bottom-right-radius:4px;background:var(--sage);color:#fff}.chat-coach{position:relative;display:flex;align-items:flex-end;gap:8px}.chat-avatar{display:grid;place-items:center;flex-shrink:0;width:30px;height:30px;border-radius:50%;background:var(--accent);color:var(--ink);font:800 13px var(--font-display)}.chat-bubble--coach{border:1px solid var(--line);border-bottom-left-radius:4px;background:var(--surface);color:var(--ink)}.chat-typing{position:absolute;bottom:0;left:38px;display:flex;gap:4px;padding:12px 14px;border:1px solid var(--line);border-radius:16px;background:var(--surface);opacity:0}.chat-typing i{width:6px;height:6px;border-radius:50%;background:var(--muted);animation:chat-dot 1s ease-in-out infinite}.chat-typing i:nth-child(2){animation-delay:.15s}.chat-typing i:nth-child(3){animation-delay:.3s}.chat-meta{align-self:flex-end;color:var(--muted);font-size:11px;font-weight:700}.is-visible .chat-bubble--me{animation:chat-in .5s cubic-bezier(.3,1.4,.5,1) var(--base) both;transform-origin:bottom right}.is-visible .chat-avatar{animation:cs-pop .4s calc(var(--base) + .8s) both}.is-visible .chat-typing{animation:chat-typing 1.4s calc(var(--base) + .9s) both}.is-visible .chat-bubble--coach{animation:chat-in .5s cubic-bezier(.3,1.4,.5,1) calc(var(--base) + 2.3s) both;transform-origin:bottom left}.is-visible .chat-meta{animation:cs-fade .5s calc(var(--base) + 3s) both}@keyframes chat-in{0%{opacity:0;transform:translateY(10px) scale(.85)}}@keyframes chat-typing{0%{opacity:0}12%,88%{opacity:1}to{opacity:0}}@keyframes chat-dot{50%{transform:translateY(-4px);opacity:.5}}:root{--bg: #F4F6F2;--surface: #FFFFFF;--ink: #13201B;--ink-2: #1C2D26;--muted: #4A5852;--body: #3F4D47;--sage: #1F5C4F;--sage-soft: #E2EAE3;--sage-tint: #EEF2EF;--line: #DCE3DE;--accent: #F2B544;--accent-soft: #FBEFD9;--accent-ink: #7A4A06;--danger: #B4432F;--font-display: "Bricolage Grotesque", sans-serif;--font-body: "Figtree", sans-serif;--radius-card: 22px;--radius-row: 14px;--radius-pill: 999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 28px;--space-8: 32px;--space-9: 36px;--space-10: 40px;--space-11: 44px;--space-12: 48px;--shadow-card: 0 1px 0 #D5DDD7, 0 24px 60px -24px rgba(19,32,27,.28)}*,*:before,*:after{box-sizing:border-box}body,h1,h2,h3,p{margin:0}body{min-width:320px;background:var(--bg);color:var(--body);font-family:var(--font-body);line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3{color:var(--ink);font-family:var(--font-display);letter-spacing:-.03em;line-height:1.1}h1{font-size:clamp(2.5rem,6vw,4.5rem);font-weight:800}h2{font-size:1.5rem;font-weight:700}h3{font-size:1.125rem}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit}svg{flex-shrink:0}img{max-width:100%;display:block}:focus-visible{outline:3px solid var(--accent);outline-offset:4px}::selection{background:var(--accent-soft);color:var(--ink)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}a:not(.button){min-height:44px;display:inline-flex;align-items:center}button,input,select,textarea{min-height:44px}input[type=checkbox]{min-width:24px;min-height:24px}.check-row{min-height:44px}.badge--accent{color:var(--ink)}button[aria-label]:not([role=radio]):not(.week-day){min-width:44px;min-height:44px}.task-tools .button{min-width:44px;min-height:44px}.week-day{min-height:44px}.logo{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--sage);font:800 2rem/1 var(--font-display);letter-spacing:-.05em}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:1px solid transparent;border-radius:var(--radius-pill);font-weight:700;text-decoration:none;line-height:1.25;transition:background .15s,transform .15s}.button:not(:disabled):active{transform:translateY(1px)}.button--md{min-height:44px;padding:var(--space-3) var(--space-5)}.button--lg{min-height:52px;padding:var(--space-4) var(--space-6)}.button--primary{background:var(--accent);color:var(--ink)}.button--primary:not(:disabled):hover{background:var(--accent-soft)}.button--dark{background:var(--ink);color:var(--surface)}.button--dark:not(:disabled):hover{background:var(--sage)}.button--outline{background:transparent;border-color:var(--line);color:var(--ink)}.button--outline:not(:disabled):hover,.button--ghost:not(:disabled):hover{background:var(--sage-soft)}.button--ghost{background:transparent;color:var(--sage)}.button:disabled{opacity:.55}.card{background:var(--surface);border-radius:var(--radius-card);padding:var(--space-6);box-shadow:var(--shadow-card);min-width:0}.card__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-6)}.card__action{margin-left:auto;flex-shrink:0}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);font-size:.75rem;font-weight:700}.badge--accent{background:var(--accent-soft);color:var(--accent-ink)}.badge--sage{background:var(--sage-soft);color:var(--sage)}.badge--neutral{background:var(--sage-tint);color:var(--muted)}.field-label{display:block;font-weight:600;margin-bottom:var(--space-2)}.segmented{display:flex;flex-wrap:wrap;gap:var(--space-1);padding:var(--space-1);border:1px solid var(--line);border-radius:var(--radius-row);background:var(--sage-tint)}.segmented button{flex:1;min-width:60px;min-height:44px;padding:var(--space-2) var(--space-3);border:0;border-radius:10px;background:transparent;color:var(--muted);font-weight:600}.segmented button[aria-checked=true]{background:var(--surface);color:var(--sage);box-shadow:0 1px 4px #13201b14}.segmented button:disabled{opacity:.5;cursor:not-allowed}.progress__label{display:flex;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-2);font-size:.875rem;font-weight:600}.progress__track{overflow:hidden;height:8px;border-radius:var(--radius-pill);background:var(--sage-soft)}.progress__fill{height:100%;border-radius:inherit;background:var(--sage);transition:width .2s}.modal{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:var(--space-6);border:0;background:transparent;color:var(--body)}.modal[open]{display:grid;place-items:center}.modal::backdrop{background:#13201b99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal__panel{width:min(100%,480px);max-height:100%;overflow:auto;background:var(--surface);border-radius:var(--radius-card);padding:var(--space-6);box-shadow:var(--shadow-card)}.modal__panel p{margin-bottom:var(--space-6)}.toast-region{position:fixed;bottom:var(--space-6);left:50%;transform:translate(-50%);width:max-content;max-width:calc(100% - 32px);z-index:100;pointer-events:none}.toast{display:flex;align-items:center;gap:var(--space-3);background:var(--ink);color:var(--surface);padding:var(--space-4) var(--space-6);border-radius:var(--radius-row);box-shadow:var(--shadow-card)}.toast>span{color:var(--accent)}.spinner-wrap{display:inline-flex;align-items:center;vertical-align:middle}.spinner{width:18px;height:18px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .75s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-state{display:grid;justify-items:center;text-align:center;gap:var(--space-4);padding:var(--space-6) 0}.error-state__icon{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--danger);border-radius:50%;color:var(--danger);font-weight:700}
