:root{--ink:#203629;--muted:#6f7c72;--paper:#fffefa;--canvas:#f3f5ed;--green:#2f6549;--green-dark:#214d37;--soft-green:#e2ebe2;--line:#dfe4dc;--gold:#d8a84f;color:var(--ink);background:var(--canvas);font-synthesis:none;font-family:Arial,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;min-height:100%}body{background:radial-gradient(circle at 50% 0%, #fffdf4 0, transparent 38%), var(--canvas);min-height:100vh;margin:0;overflow-x:hidden}button,a{touch-action:manipulation;-webkit-tap-highlight-color:#2f654924}button{font:inherit}button:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #c58c24}.skip-link{z-index:20;background:var(--ink);color:#fff;border-radius:10px;padding:10px 16px;position:fixed;top:8px;left:12px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.site-header{justify-content:space-between;align-items:center;width:min(100% - 32px,760px);height:74px;margin:0 auto;display:flex}.brand{color:var(--ink);letter-spacing:.04em;align-items:center;gap:9px;font-family:Georgia,Songti SC,serif;font-size:20px;font-weight:700;text-decoration:none;display:flex}.brand span{background:var(--green);color:#fff;border-radius:50% 50% 46% 54%;place-items:center;width:31px;height:31px;font-family:Arial,sans-serif;font-size:21px;display:grid;transform:rotate(-8deg)}.session-state{color:var(--muted);align-items:center;gap:7px;font-size:13px;display:flex}.session-state i{background:#9cb4a3;border-radius:50%;width:7px;height:7px}main{width:min(100% - 28px,580px);margin:18px auto 0;padding-bottom:30px}.guide{color:var(--muted);background:#ffffffa3;border:1px solid #d7dfd3;border-radius:16px;grid-template-columns:34px 1fr;gap:11px;margin:0 0 14px;padding:14px 42px 14px 14px;display:grid;position:relative}.guide-icon{background:var(--soft-green);width:34px;height:34px;color:var(--green);border-radius:10px;place-items:center;font-size:19px;display:grid}.guide strong{color:var(--ink);margin-bottom:3px;font-size:14px;display:block}.guide p{text-wrap:pretty;margin:0;font-size:12px;line-height:1.55}.guide>button{width:44px;height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;font-size:22px;position:absolute;top:9px;right:9px}.guide>button:hover{color:var(--ink);background:#e6ebe3}.app-card{background:#fffefaf0;border:1px solid #214d371f;border-radius:28px;min-height:605px;padding:42px 54px 38px;box-shadow:0 22px 65px #273d2d17,0 2px 7px #273d2d0a}.setup,.result,.timer{text-align:center}.eyebrow{color:var(--green);letter-spacing:.18em;margin:0 0 11px;font-size:12px;font-weight:700}h2{letter-spacing:-.02em;text-wrap:balance;margin:0;font-family:Georgia,Songti SC,serif;font-size:clamp(25px,7vw,32px);font-weight:600;line-height:1.25}.setup h2{margin-bottom:36px}.duration-grid{grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:32px;display:grid}.duration{border:1px solid var(--line);min-height:99px;color:var(--ink);cursor:pointer;background:#fbfcf8;border-radius:17px;padding:16px 8px 12px;transition:border-color .18s,background-color .18s,transform .18s,box-shadow .18s;position:relative}.duration:hover{background:#f5f9f3;border-color:#91a995;transform:translateY(-1px)}.duration.active{border:2px solid var(--green);background:#edf4ec;padding:15px 7px 11px;box-shadow:0 0 0 3px #2f654914}.duration strong{font-variant-numeric:tabular-nums;font-family:Georgia,serif;font-size:29px;font-weight:500;line-height:1;display:block}.duration span{color:var(--muted);margin-top:7px;font-size:12px;display:block}.duration em{color:var(--green);background:#dce9db;border-radius:8px;padding:3px 6px;font-size:9px;font-style:normal;font-weight:700;position:absolute;top:7px;right:8px}.primary{background:var(--green);color:#fff;cursor:pointer;border:0;border-radius:16px;width:100%;min-height:54px;padding:0 22px;font-weight:700;transition:background-color .18s,transform .18s,box-shadow .18s;box-shadow:0 7px 18px #2f654933}.primary:hover{background:var(--green-dark);transform:translateY(-1px);box-shadow:0 9px 22px #2f654940}.primary:active{transform:translateY(1px)}.primary span{margin-right:7px;font-size:11px}.setup-note{color:#879188;margin:14px 0 0;font-size:12px}.quiet-note{text-align:center;color:#8b958c;letter-spacing:.08em;margin:19px 0 0;font-family:Georgia,Songti SC,serif;font-size:13px}.timer-heading{justify-content:center;align-items:center;gap:8px;display:flex}.timer-heading p{color:var(--green);letter-spacing:.12em;margin:0;font-size:13px;font-weight:700}.status-dot{background:#b88939;border-radius:50%;width:8px;height:8px}.status-dot.pulse{background:#4f8b65;animation:2s ease-in-out infinite pulse}.forest{width:min(100%,370px);margin:1px auto -8px}.forest svg{width:100%;height:auto;display:block;overflow:visible}.forest figcaption{color:var(--muted);justify-content:center;align-items:center;gap:7px;font-size:12px;display:flex}.growth-dot{background:#73a27d;border-radius:50%;width:6px;height:6px}.far-hill{fill:#cdddc9;opacity:.72}.near-hill{fill:#a9c6a7}.tree-back path{fill:none;stroke:#76997b;stroke-width:4px;stroke-linecap:round}.tree-back circle{fill:#7ca884;opacity:.76}.shadow{fill:#66866c;opacity:.18}.stem,.branches path{fill:none;stroke:#5f744c;stroke-linecap:round;stroke-linejoin:round}.stem{stroke-width:9px}.branches path{stroke-width:5px}.leaf ellipse{fill:#487c55}.leaf path{fill:none;stroke:#91b080;stroke-width:1px}.crown{fill:#3d744d;opacity:0}.flowers{fill:#f3d288;opacity:0}.ground-detail{fill:none;stroke:#5e8966;stroke-width:3px;stroke-linecap:round}.plant{transform-origin:50% 86%;transform-box:fill-box}.plant .branches,.plant .leaves-1,.plant .leaves-2,.plant .leaves-3,.plant .crown,.plant .flowers{opacity:0}.stage-0 .stem{stroke-dasharray:14 220}.stage-0 .plant:after{content:""}.stage-1 .stem{stroke-dasharray:95 220}.stage-1 .leaves-1{opacity:1}.stage-2 .stem{stroke-dasharray:165 220}.stage-2 .branches,.stage-2 .leaves-1,.stage-2 .leaves-2{opacity:1}.stage-3 .stem,.stage-4 .stem{stroke-dasharray:230 0}.stage-3 .branches,.stage-3 .leaves-1,.stage-3 .leaves-2,.stage-3 .leaves-3,.stage-4 .branches,.stage-4 .leaves-1,.stage-4 .leaves-2,.stage-4 .leaves-3{opacity:1}.stage-4 .crown{opacity:.18}.stage-4 .flowers{opacity:1}.leaf{transform-box:fill-box;transform:scale(1)}.is-growing .leaf{animation:3.8s ease-in-out infinite breathe;animation-delay:var(--delay)}.clock{letter-spacing:-.035em;font-variant-numeric:tabular-nums;margin-top:14px;font-family:Georgia,Times New Roman,serif;font-size:clamp(58px,17vw,78px);line-height:1}.progress-copy{color:var(--muted);margin:11px 0 9px;font-size:12px}.progress-track{background:#e5e9e2;border-radius:99px;width:100%;height:5px;overflow:hidden}.progress-track span{border-radius:inherit;transform-origin:0;background:linear-gradient(90deg,#74a277,#3f7d57);width:100%;height:100%;transition:transform .35s linear;display:block}.timer-actions{grid-template-columns:1.25fr .75fr;gap:10px;margin-top:27px;display:grid}.primary.compact{min-height:50px}.secondary,.danger{border:1px solid var(--line);min-height:50px;color:var(--ink);cursor:pointer;background:#fff;border-radius:15px;padding:0 18px;font-weight:700;transition:border-color .18s,background-color .18s}.secondary:hover{background:#f2f6f0;border-color:#8ba08e}.danger{color:#853f34;background:#fff8f5;border-color:#e4c3bd}.danger:hover{background:#fcece7;border-color:#bd7669}.confirm{background:#fffaf5;border:1px solid #eadbd2;border-radius:16px;margin-top:22px;padding:13px}.confirm p{color:#6f6259;margin:0 0 10px;font-size:12px}.confirm div{grid-template-columns:1fr 1fr;gap:8px;display:grid}.result-mark{background:var(--soft-green);width:42px;height:42px;color:var(--green);border-radius:50%;place-items:center;margin:0 auto 14px;font-size:20px;font-weight:700;display:grid}.result h2{font-size:28px}.result .forest{max-width:320px;margin-top:-10px;margin-bottom:-14px}.stats{border:1px solid var(--line);background:#fafbf7;border-radius:16px;grid-template-columns:1fr 1fr;margin:4px 0 22px;display:grid}.stats div{padding:14px 8px}.stats div+div{border-left:1px solid var(--line)}.stats strong{font-variant-numeric:tabular-nums;font-family:Georgia,serif;font-size:24px;font-weight:500;display:block}.stats span{color:var(--muted);margin-top:3px;font-size:11px;display:block}.text-button{color:var(--green);cursor:pointer;background:0 0;border:0;margin-top:12px;padding:8px 12px;font-weight:700}.text-button:hover{text-underline-offset:3px;text-decoration:underline}footer{padding:8px 16px calc(24px + env(safe-area-inset-bottom));text-align:center;color:#929b92;font-size:11px}footer span{color:#7da184;margin-right:5px}@keyframes breathe{0%,to{transform:rotate(-1deg)scale(1)}50%{transform:rotate(1.5deg)scale(1.025)}}@keyframes pulse{0%,to{opacity:.55;transform:scale(.85)}50%{opacity:1;transform:scale(1.2)}}@media (max-width:520px){.site-header{width:calc(100% - 28px);height:64px}main{width:calc(100% - 20px);margin-top:9px}.app-card{border-radius:23px;min-height:570px;padding:34px 22px 30px}.setup h2{margin-bottom:29px}.duration-grid{gap:9px;margin-bottom:26px}.duration{min-height:91px}.forest{margin-top:-4px;margin-bottom:-14px}.clock{margin-top:12px}}@media (max-width:355px){.app-card{padding-inline:16px}.session-state{font-size:11px}.timer-actions{grid-template-columns:1fr}.guide{grid-template-columns:29px 1fr;padding-left:10px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (pointer:fine){html{overscroll-behavior:none}}
