*{box-sizing:border-box} :root{--bg:#f5f5ee;--card:#fff;--ink:#1d302c;--muted:#6d7972;--green:#1b4d40;--lime:#d7f19a;--line:#e3e7dd;--orange:#b35720;--radius:22px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--bg);font-size:15px}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #4c8774;outline-offset:3px}input:focus,select:focus,textarea:focus{outline:2px solid #7d9e63;outline-offset:1px}button{border:0}a{color:var(--green)}.shell{max-width:740px;margin:auto;padding:24px 20px calc(110px + env(safe-area-inset-bottom))}.brand{display:flex;align-items:center;gap:11px;margin-bottom:24px}.brand img{width:39px;height:39px}.brand strong{font-size:18px;letter-spacing:1px}.brand small{display:block;color:var(--muted);font-size:11px;letter-spacing:1.5px;margin-top:3px}.connection{margin-left:auto;font-size:11px;color:var(--green);display:flex;gap:5px;align-items:center}.dot{width:6px;height:6px;background:#539474;border-radius:99px}.connection.off{color:var(--orange)}.connection.off .dot{background:var(--orange)}h1,h2,h3,p{margin-top:0}h1{font-size:29px;letter-spacing:-1px;margin-bottom:7px;line-height:1.3}h2{font-size:19px;margin-bottom:16px}h3{font-size:16px;margin-bottom:12px}p{line-height:1.7}.muted,.hint{color:var(--muted);font-size:12px;line-height:1.7}.hint{margin:10px 0 0}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;text-transform:uppercase;margin-bottom:10px;color:var(--muted)}.topline{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:22px}.pill{display:inline-flex;align-items:center;white-space:nowrap;font-size:11px;padding:6px 10px;border-radius:30px;background:#e8eee1;color:#405842}.pill.amber{background:#fff0dc;color:#965022}.calendar{display:flex;gap:8px;margin:18px 0}.calendar input{flex:1;min-width:0;text-align:center;border:1px solid var(--line);border-radius:12px;padding:10px;background:rgba(255,255,255,.55);color:var(--ink);height:44px}.iconbtn{width:44px;height:44px;flex-shrink:0;border-radius:12px;background:#e8ebe3;font-size:23px;color:var(--ink)}.textbtn{background:transparent;color:var(--green);font-size:12px;padding:8px 0;min-height:36px}.card{padding:23px;background:var(--card);border-radius:var(--radius);margin-bottom:16px;border:1px solid rgba(217,224,211,.7)}.hero{color:white;background:var(--green);border:0;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;pointer-events:none;width:175px;height:220px;right:-75px;top:25px;border:1px solid #8bab6840;border-radius:100px;box-shadow:0 0 0 20px #8bab680e,0 0 0 40px #8bab6809;transform:rotate(25deg)}.hero>*{position:relative;z-index:1}.hero .eyebrow,.hero .muted{color:#b5c9b7}.hero h2{font-size:24px;line-height:1.4;margin-bottom:12px}.hero .pill{background:#ffffff1b;color:#e3f3d1}.hero-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.hero-head .eyebrow{margin:0}.time{font-size:33px;font-weight:650;letter-spacing:-1px;font-variant-numeric:tabular-nums}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:15px;border-top:1px solid #ffffff20;margin-top:22px;padding-top:18px}.metrics strong{font-size:28px;font-weight:600;font-variant-numeric:tabular-nums}.metrics small{font-size:12px;margin-left:4px}.metrics label{display:block;font-size:11px;color:#bbcfbb;margin-top:5px}.metrics.light{border:0;margin:0;padding:0}.metrics.light label{color:var(--muted)}.countdown{font-size:70px;line-height:1.1;font-weight:600;letter-spacing:-3px}.countdown small{font-size:15px;font-weight:400;letter-spacing:0;margin-left:10px}.hero .primary{background:var(--lime);color:#284731;margin-top:18px}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:22px}.stat{background:#ecefe4;padding:19px 17px;border-radius:17px;min-width:0}.stat label{font-size:11px;color:var(--muted);display:block;margin-bottom:10px}.stat strong{font-size:27px;font-weight:600;letter-spacing:-.8px;font-variant-numeric:tabular-nums}.stat small{font-size:11px;color:var(--muted);margin-left:3px}.stat p{font-size:10px;color:var(--muted);margin:8px 0 0}.section-head{display:flex;align-items:center;justify-content:space-between;margin:27px 0 13px;gap:12px}.section-head h2{margin:0}.primary{width:100%;padding:14px 16px;min-height:49px;border-radius:13px;background:var(--green);color:#fff;font-weight:600;font-size:14px;display:block;text-align:center;text-decoration:none}.secondary{width:100%;padding:13px 16px;min-height:46px;border:1px solid var(--line);border-radius:12px;background:#f7f8f2;color:var(--green);font-size:13px;text-decoration:none;display:block;text-align:center}.buttonrow{display:flex;gap:10px;flex-wrap:wrap}.buttonrow>*{flex:1;min-width:110px}.steps{list-style:none;padding:0;margin:12px 0 0}.steps li{display:flex;gap:12px;align-items:flex-start;line-height:1.75;font-size:13px;padding:9px 0}.steps b{display:flex;align-items:center;justify-content:center;border-radius:50%;background:#eef2e6;color:#567046;width:25px;height:25px;font-size:11px;flex-shrink:0}.steps span{white-space:pre-line}.divider{border:0;border-top:1px solid var(--line);margin:20px 0}.field{display:block;margin:0 0 17px;font-size:13px;font-weight:500}.field>span{display:block;margin-bottom:9px}.input-unit{display:flex;align-items:center;background:#f5f6ef;border:1px solid var(--line);border-radius:12px;overflow:hidden}.input-unit input{border:0;background:transparent;width:100%;min-width:0;padding:13px 14px;font-size:20px;color:var(--ink);height:51px;font-variant-numeric:tabular-nums}.input-unit em{font-size:12px;font-style:normal;color:var(--muted);padding-right:13px;white-space:nowrap}select,textarea{width:100%;padding:13px;border:1px solid var(--line);border-radius:12px;background:#f5f6ef;color:var(--ink);font-size:16px}textarea{resize:vertical;min-height:80px;line-height:1.6}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:10px 0 18px}.choice{position:relative}.choice input{position:absolute;opacity:0;width:100%;height:100%;margin:0}.choice span{display:block;padding:12px 8px;text-align:center;border:1px solid var(--line);border-radius:11px;background:#f6f7f1;font-size:13px}.choice input:checked+span{border-color:#719862;color:#25452d;background:#e4f0cf;font-weight:600}.choice input:focus-visible+span{outline:3px solid #7d9e63}.choice input:disabled+span{opacity:.4}.form-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.form-title h2{margin-bottom:5px}.notice{border-radius:12px;padding:12px 14px;background:#fff3e4;color:#8a501d;font-size:12px;line-height:1.7;margin:12px 0}.notice.soft{background:#eff3e9;color:#526548}.error{color:#b1382d;font-size:13px;line-height:1.7;white-space:pre-wrap;margin:12px 0}.success{color:var(--green);font-size:12px}.danger{color:#a03c2f;background:transparent;font-size:12px;padding:12px;margin:10px auto 0;display:block}.disclosure{border-top:1px solid var(--line);padding:16px 0 0;margin-top:15px}.disclosure:first-child{border:0;padding:0;margin:0}summary{font-size:13px;font-weight:600;cursor:pointer;line-height:1.6;min-height:30px;list-style-position:inside}details[open]>summary{margin-bottom:12px}.copy{font-size:13px;line-height:1.9;white-space:pre-line}.list{padding-left:18px;font-size:12px;line-height:1.85;color:#5b6c63}.list li{margin-bottom:8px}.nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:740px;z-index:10;display:flex;justify-content:space-around;background:#fbfcf8ef;backdrop-filter:blur(14px);border-top:1px solid var(--line);padding:9px 16px calc(9px + env(safe-area-inset-bottom))}.nav button{display:flex;flex-direction:column;align-items:center;gap:5px;flex:1;background:transparent;color:#879088;font-size:10px;padding:8px;min-height:52px}.nav button.active{color:var(--green);font-weight:700}.nav svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.record{width:100%;display:flex;gap:14px;align-items:center;text-align:left;padding:17px 0;background:transparent;border-bottom:1px solid var(--line);color:var(--ink)}.record:last-child{border:0}.dateblock{width:39px;flex-shrink:0}.dateblock strong{font-size:22px;font-weight:600}.dateblock small{font-size:10px;color:var(--muted);display:block;margin-top:3px}.record .body{flex:1;min-width:0}.record .body strong{font-size:13px}.record .body p{font-size:11px;color:var(--muted);margin:5px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.record .weight{font-size:16px;font-weight:600}.empty{padding:22px 10px;text-align:center;color:var(--muted);font-size:12px;line-height:1.9}.chart{width:100%;height:auto;margin:12px 0;display:block}.chart text{font:10px -apple-system,"Microsoft YaHei",sans-serif;fill:#7d867b}.checklist label{display:flex;gap:13px;padding:13px 0;border-bottom:1px solid var(--line);cursor:pointer}.checklist label:last-child{border:0}.checklist input{width:20px;height:20px;accent-color:var(--green);margin:2px 0;flex-shrink:0}.checklist strong{font-size:13px}.checklist p{font-size:11px;color:var(--muted);margin:5px 0 0}.login{max-width:430px;margin:8vh auto;padding:25px}.login .icon{width:58px;margin-bottom:30px}.login h1{font-size:34px}.login input{font-size:16px}.login form{margin-top:25px}.login .card{margin-top:23px}.loading{padding:80px 20px;text-align:center;color:var(--muted)}#toast{position:fixed;z-index:30;left:50%;bottom:105px;transform:translateX(-50%);background:#173e36;color:white;border-radius:13px;max-width:90vw;padding:13px 20px;font-size:13px;box-shadow:0 6px 30px #172e3d22;display:none}.qr{display:block;width:220px;max-width:100%;height:auto;margin:15px auto;border-radius:12px;background:white}.accesscode{overflow-wrap:anywhere;font-family:monospace;background:#f3f5ed;border-radius:9px;padding:12px;font-size:12px;user-select:all}.footer{color:#90978d;font-size:10px;line-height:1.8;text-align:center;margin-top:23px}.tag{font-size:11px;color:var(--muted)}[hidden]{display:none!important}@media(min-width:600px){.shell{padding-top:34px}.stats-grid{gap:16px}.hero{padding:30px}.hero h2{font-size:28px}.choice-grid{grid-template-columns:repeat(4,1fr)}.time{font-size:40px}.card{padding:27px}.nav{border-radius:18px 18px 0 0}}@media(prefers-reduced-motion:no-preference){button{transition:background .15s,opacity .15s}.card{animation:appear .25s ease}@keyframes appear{from{opacity:.3;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}}
fieldset{border:0;margin:0;padding:0;min-width:0}
.textbtn{min-height:44px}summary{min-height:44px;display:flex;align-items:center;gap:8px}summary:before{content:"＋";font-size:17px;color:#7d8e78}details[open]>summary:before{content:"−"}

.proposal-banner{width:100%;border:1px solid #b5c4a5;background:#edf2de;color:#294630;padding:14px;border-radius:14px;text-align:left;margin-bottom:20px;line-height:1.5}.proposal{padding:16px 0;border-top:1px solid #e4e8dc}.compare{display:grid;gap:12px}.compare>div{border-radius:12px;background:#f5f5ee;padding:14px;min-width:0}.proposal h3{overflow-wrap:anywhere}.buttonrow{flex-wrap:wrap}.proposal .primary{width:auto;flex:1}@media(min-width:600px){.compare{grid-template-columns:1fr 1fr}}
