:root{--paper:#fffaf1;--ink:#173e36;--green:#2f725f;--selected:#e4f2e9;--line:#cedfd6;--muted:#65766e;--bg:#f2f5ef;--warm:#f5eddb}*{box-sizing:border-box}body{margin:0;background:linear-gradient(150deg,#e8f2ea,#fbf7ee 60%);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;font-size:16px;line-height:1.6}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}a{color:var(--green)}[hidden]{display:none!important}.shell{width:min(720px,calc(100% - 28px));margin:22px auto 32px}.brand{display:flex;align-items:center;gap:10px;font-weight:750;font-size:14px;flex-wrap:wrap}.brand a{text-decoration:none}.brand small{margin-left:auto;font-size:12px;color:var(--muted);font-weight:400}.top-nav{display:flex;justify-content:space-between;margin:5px 0}.text-button{padding:8px 4px;min-width:44px;min-height:44px;border:0;background:transparent;color:var(--green);font-weight:650;text-decoration:underline;text-underline-offset:4px}.flow{border:1px solid var(--line);border-radius:24px;background:var(--paper);box-shadow:0 15px 40px #173e3609;overflow:hidden}.step-label{padding:18px 26px 12px;font-size:14px;color:var(--muted)}.active{padding:18px 26px 28px}h1,h2{font-size:clamp(26px,5.8vw,36px);line-height:1.35;letter-spacing:-.025em;margin:0 0 13px}h3{font-size:19px;margin:0 0 12px}.intro{color:var(--muted);margin:0 0 22px}.eyebrow{font-size:14px;color:var(--green);font-weight:750;margin:0 0 12px}.choices{display:grid;gap:10px;margin:20px 0}.choice{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:55px;width:100%;border:1.5px solid var(--line);border-radius:15px;padding:14px 16px;background:#fffefb;text-align:left;color:var(--ink);font-weight:650;overflow-wrap:anywhere}.choice::after{content:'';flex:0 0 20px;width:20px}.choice[aria-pressed=true]{background:var(--selected);border:2px solid var(--green);padding:13.5px 15.5px;box-shadow:0 0 0 2px #2f725f0d}.choice[aria-pressed=true]::after{content:'✓';font-weight:800;color:var(--green)}.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.primary,.secondary{display:flex;align-items:center;justify-content:center;min-height:50px;width:100%;padding:13px 18px;border-radius:14px;text-decoration:none;font-weight:750}.primary{background:var(--green);border:1px solid var(--green);color:white}.secondary{background:transparent;border:1px solid var(--line);color:var(--green)}.primary-row{margin-top:24px}.secondary-row{margin-top:12px}.action-row{display:flex;justify-content:space-between;gap:14px;margin-top:14px;flex-wrap:wrap}.action-row .text-button{font-size:14px}.field{display:block;margin:18px 0}.field span{display:block;font-weight:700;margin:0 0 7px}.field input,.field textarea{width:100%;min-height:50px;border:1.5px solid var(--line);border-radius:13px;padding:12px 14px;font-size:16px;color:var(--ink);background:white}.field textarea{min-height:88px;resize:vertical}.hint,.field small{display:block;color:var(--muted);font-size:14px;margin:7px 0}.error{color:#8a503a;font-size:14px;margin:10px 0}.error:empty{display:none}.summaries{padding:0 26px}.summary-line{display:flex;align-items:center;gap:9px;border-bottom:1px solid var(--line);padding:7px 0;font-size:14px}.summary-line .summary-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.summary-line button{flex:0 0 auto;font-size:14px}.summary-line .tick{color:var(--green)}.summaries details>summary{font-size:14px;color:var(--muted);cursor:pointer;min-height:44px;display:flex;align-items:center}.action-card{background:var(--selected);border:1px solid var(--line);border-radius:17px;padding:22px 20px;margin:22px 0;overflow-wrap:anywhere}.action-card p{margin:0 0 9px;font-size:14px;color:var(--muted)}.action-card strong{font-size:23px;line-height:1.5;display:block}.timer{text-align:center;font-size:clamp(54px,16vw,80px);font-variant-numeric:tabular-nums;line-height:1.2;font-weight:760;letter-spacing:-.04em;color:var(--green);margin:30px 0}.timer-caption{text-align:center;color:var(--muted);font-size:14px}.support-note{padding:15px 17px;background:var(--warm);border-radius:14px;font-size:15px}.plain-list{padding-left:23px}.plain-list li{margin:14px 0}.record{margin:20px 0}.record>div{padding:13px 0;border-bottom:1px solid var(--line)}.record dt{font-size:14px;color:var(--muted);margin-bottom:4px}.record dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-weight:650}.record-date{font-size:14px;color:var(--muted)}.record-entry{margin:12px 0;padding:15px;border:1px solid var(--line);border-radius:15px}.record-entry summary{min-height:44px;cursor:pointer;font-weight:700}.settings-section{border-top:1px solid var(--line);margin-top:20px;padding-top:14px}.footer{margin-top:17px;text-align:center;color:var(--muted);font-size:13px}.footer p{margin:6px auto;max-width:620px}.footer details summary{min-height:44px;cursor:pointer;display:flex;align-items:center;justify-content:center;text-decoration:underline}.footer details p{text-align:left;padding:8px 15px}.safety-link{font-size:13px;font-weight:500}.fine{font-size:12px}.storage-status{font-size:14px;color:#8a503a;text-align:center}.feedback{border-top:1px solid var(--line);margin-top:24px;padding-top:16px}.feedback summary{min-height:44px;cursor:pointer;font-size:15px;font-weight:650}.feedback .choices{margin-top:12px}.quiet{color:var(--muted);font-size:14px}.active.enter{animation:arrive .2s ease-out}.active.leaving{opacity:.35;transition:opacity .1s ease-out}@keyframes arrive{from{opacity:.45}to{opacity:1}}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #bc9e6b;outline-offset:3px}h1:focus,h2:focus{outline:0}
@media(max-width:520px){.shell{margin-top:12px;width:calc(100% - 24px)}.brand{font-size:13px}.step-label{padding:15px 19px 6px}.active{padding:16px 19px 23px}.summaries{padding:0 19px}.intro{margin-bottom:18px}.choice{padding:12px 14px;min-height:53px}.choice[aria-pressed=true]{padding:11.5px 13.5px}.choices{gap:9px}.action-card{padding:19px 16px}.action-card strong{font-size:21px}.flow{border-radius:21px}}
summary{min-height:44px;cursor:pointer;padding:8px 0}.brand a{min-height:44px;display:inline-flex;align-items:center}.settings-section summary{color:var(--green);font-size:14px}.emergency-actions{display:grid;gap:10px;margin:15px 0}.settings-section a{min-height:44px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

