@charset "UTF-8";
:root{color-scheme:light;--ink:#213c37;--muted:#62736b;--green:#286b58;--mint:#dfefe4;--cream:#f6f8f1;--line:#dce4da;--peach:#ffeadf;--lavender:#ebe6f5;font-family:ui-rounded,"Apple SD Gothic Neo","Malgun Gothic",system-ui,sans-serif;color:var(--ink);background:#edf1e8;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;min-width:280px;-webkit-text-size-adjust:100%;overflow-wrap:anywhere}button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #925d39;outline-offset:4px}h1:focus{outline:none}button{color:inherit}a{color:var(--green)}h1,h2,p{margin:0}p{line-height:1.75;white-space:pre-line}h1,h2{word-break:keep-all;overflow-wrap:anywhere}h1{font-size:clamp(27px,7vw,34px);line-height:1.38;letter-spacing:-1.25px;font-weight:750;white-space:pre-line}h2{font-size:20px;line-height:1.55;letter-spacing:-.5px}small{font-size:12px;line-height:1.6}img{display:block;max-width:100%}hr{border:0;border-top:1px solid var(--line);width:100%;margin:0}
.ambient{position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at 15% 15%,#d5e6d4 0,transparent 45%),radial-gradient(ellipse at 90% 80%,#f2e6d7 0,transparent 38%);z-index:-1}
.app-shell{max-width:480px;min-height:100dvh;margin:0 auto;background:var(--cream);padding:0 24px;box-shadow:0 0 100px #2746310a}
.topbar{display:flex;align-items:center;justify-content:space-between;min-height:84px;padding-top:env(safe-area-inset-top,0px);gap:12px}
.brand{display:flex;align-items:center;gap:6px;text-decoration:none;font-size:17px;font-weight:750;letter-spacing:-.6px}.brand img{width:32px;height:32px}.topbar .text-button{padding:10px;min-width:48px}
.stack{display:flex;flex-direction:column;gap:18px;padding-bottom:8px}.page-heading{padding:10px 0 6px;display:flex;flex-direction:column;gap:10px}.subtitle{font-size:14px;color:var(--muted);line-height:1.7}.muted{color:var(--muted);font-size:14px}
.card,.promise-card,.hero,.timer-card{border-radius:26px;padding:24px;display:flex;flex-direction:column;gap:13px;background:white;min-width:0}
.hero{background:var(--mint);align-items:center;text-align:center;gap:8px;padding:25px 20px 29px;position:relative;overflow:hidden}.hero h2{font-size:25px}.hero p{font-size:14px;color:var(--muted)}.hero-sprout{width:196px;height:196px;margin:0 auto}.sprout{flex-shrink:0}.small{width:70px;height:70px}.tiny{width:46px;height:46px}.medium{width:145px;height:145px;align-self:center}
.tag{display:inline-block;align-self:flex-start;background:#ffffffad;border-radius:30px;padding:6px 12px;color:var(--green);font-size:11px;letter-spacing:.2px;font-weight:650;line-height:1.6}.hero>.tag{align-self:center}.card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.card-top .tag{align-self:center}
.promise-card{background:var(--mint);gap:10px}.promise-card h2{font-size:22px;line-height:1.5}.color-0{background:var(--mint)}.color-1{background:var(--peach)}.color-2{background:var(--lavender)}
.big-number{display:flex;align-items:baseline;gap:8px;padding:2px 0 8px;color:var(--green)}.big-number strong{font-size:54px;letter-spacing:-2px;font-weight:750;line-height:1.2}.big-number span{font-size:13px}.card-bottom{display:flex;gap:10px;border-top:1px solid #286b5822;padding-top:16px;font-size:13px}.card-bottom>span{font-size:20px;color:var(--green)}
.primary,.secondary,.text-button,.back-button,.danger{border:0;border-radius:17px;min-height:52px;padding:14px 18px;font-weight:650;text-align:center;line-height:1.5;font-size:15px}.primary{background:var(--green);color:white;box-shadow:0 3px 0 #1b4f400b}.primary:active{background:#1e5444}.secondary{background:transparent;border:1px solid #b6c7ba;color:var(--green)}.secondary:active{background:#e7eee4}.text-button,.back-button{background:transparent;color:var(--green);font-size:13px;min-height:44px;padding:10px 8px}.back-button{padding-left:0;text-align:left}.primary:disabled{background:#dde5da;color:#627566;box-shadow:none}.stats{display:grid;grid-template-columns:1fr 1fr;gap:12px}.stats .card{padding:18px;gap:9px;border-radius:22px}.eyebrow{font-size:12px;color:var(--muted)}.stat-number{font-size:27px;line-height:1.3}
.note{display:flex;align-items:center;gap:12px;background:#e6efe2;border-radius:22px;padding:16px}.note p{font-size:13px;line-height:1.75}.fine{font-size:12px;color:var(--muted);line-height:1.8}.quiet-info{display:flex;gap:12px;align-items:flex-start;margin:2px 8px}.quiet-info p{font-size:12px;color:var(--muted);line-height:1.8}.quiet-info>span{color:var(--green);font-size:25px;line-height:1.2}
.choice{display:flex;align-items:center;gap:14px;padding:17px 18px;background:white;border:1px solid var(--line);border-radius:20px;text-align:left;min-height:74px;width:100%;transition:border-color .12s,background-color .12s}.choice.selected{border:2px solid var(--green);padding:16px 17px;background:var(--mint)}.choice-icon{font-size:26px;min-width:29px;text-align:center}.choice-text{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.choice-text strong{font-size:15px;line-height:1.55;font-weight:650;word-break:keep-all;overflow-wrap:anywhere}.choice-text small{color:var(--muted)}.check{color:var(--green);width:15px;font-size:17px}
.field{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:600}.field input{width:100%;min-width:0;min-height:52px;padding:13px 14px;border:1px solid #b2c1b4;border-radius:13px;color:var(--ink);background:#ffffffc9;font-size:16px;font-weight:400}.field input:focus{border-color:var(--green)}.card .field+.field{margin-top:4px}.steps{display:flex;gap:7px;margin:0 0 3px}.steps span{height:4px;flex:1;background:#e0e7dc;border-radius:2px}.steps .active{background:var(--green)}
.colors{border:0;margin:0;padding:0;display:flex;gap:10px;flex-wrap:wrap}.colors legend{font-size:13px;font-weight:600;margin-bottom:12px}.color-chip{border:1px solid #adbbad;border-radius:14px;padding:11px 17px;font-size:13px;min-height:44px;font-weight:600}.summary{font-size:13px;line-height:1.8;color:var(--green)}.timer-card{background:var(--mint);text-align:center;align-items:center;gap:20px;padding:28px 24px}.timer-card p{font-size:13px}.timer-card .tag{align-self:center}.timer{font-size:46px;font-weight:750;letter-spacing:-1.6px;line-height:1.3;font-variant-numeric:tabular-nums}.timer:has(+progress){font-size:38px}progress{height:7px;border:0;border-radius:10px;background:#c9ddcc;width:100%;overflow:hidden;accent-color:var(--green)}progress::-webkit-progress-bar{background:#c9ddcc;border-radius:10px}progress::-webkit-progress-value{background:var(--green);border-radius:10px}progress::-moz-progress-bar{background:var(--green);border-radius:10px}.reflection{font-size:14px;color:var(--green)}.done{padding:30px 20px}
.toggle{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:48px}.toggle span{display:flex;flex-direction:column;gap:6px}.toggle small{color:var(--muted)}.toggle input{appearance:none;-webkit-appearance:none;flex-shrink:0;width:48px;height:28px;background:#b8c9b9;border-radius:20px;position:relative;cursor:pointer;margin:0}.toggle input::after{content:"";position:absolute;width:22px;height:22px;background:white;border-radius:50%;left:3px;top:3px;box-shadow:0 1px 4px #0002}.toggle input:checked{background:var(--green)}.toggle input:checked::after{left:23px}
details{background:white;padding:20px;border-radius:20px;font-size:13px;color:var(--muted)}summary{color:var(--ink);font-weight:650;cursor:pointer;min-height:28px;line-height:1.7}details p{padding-top:14px}.history-item+.history-item{border-top:1px solid var(--line);margin-top:14px}.error{background:#ffe8df;border:1px solid #e7bdb0;padding:16px;border-radius:18px;margin-bottom:18px;font-size:13px}.error[hidden]{display:none}.error p{line-height:1.7}.danger{background:#9a4838;color:white}.danger-text{color:#a34f3b}
dialog{border:1px solid var(--line);border-radius:24px;padding:26px;width:calc(100% - 40px);max-width:410px;color:var(--ink);background:var(--cream);box-shadow:0 20px 100px #19372f30}dialog::backdrop{background:#18372b77}dialog h2{font-size:20px;margin-bottom:14px}dialog p{font-size:14px;color:var(--muted)}.dialog-actions{display:flex;gap:12px;margin-top:24px}.dialog-actions button{flex:1}
footer{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:28px 0 calc(28px + env(safe-area-inset-bottom,0px));font-size:9px;letter-spacing:1.8px;color:#7c8c80}footer span{font-size:10px;letter-spacing:0}.loading{text-align:center;padding:80px 24px}.loading img{margin:0 auto 24px}.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip:focus{display:block;position:fixed;top:8px;left:8px;background:white;padding:12px;z-index:10}.calm .hero{padding:30px 20px;gap:20px}.calm .timer-card{padding:35px 24px}
@media(min-width:600px){body{padding:32px 0}.app-shell{border:1px solid #dce4d5;border-radius:32px;min-height:calc(100dvh - 64px);padding:0 28px;box-shadow:0 14px 70px #294a3610}.topbar{min-height:80px}}
@media(max-width:350px){.app-shell{padding:0 18px}.card,.promise-card{padding:20px}.stats .card{padding:15px}.hero-sprout{width:165px;height:165px}.choice{gap:10px}.card-top .small{width:55px;height:55px}.tag{font-size:10px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
