:root{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:#25362f;background:#f3f5f3;font-synthesis:none;--green:#245c4b;--muted:#748078;--line:#e7ece8}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button,a,label.upload{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;background:transparent;color:inherit}a{color:inherit;text-decoration:none}button:active,a:active{transform:translateY(1px)}:focus-visible{outline:3px solid #8eb8a1;outline-offset:3px}button:hover{background:#eaf0ec}button.primary:hover{background:#174735}.shell{max-width:1320px;padding:0 48px;margin:auto}header{height:100px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #dfe6e0}.brand{font-size:34px;letter-spacing:-2px;font-weight:750;color:var(--green);display:flex;align-items:center;gap:20px}.brand span{font-size:14px;letter-spacing:1px;color:#4f6157;font-weight:500;border-left:1px solid #cbd7cd;padding-left:20px}.header-right{display:flex;align-items:center;gap:16px;font-size:12px;color:#63746a}.quiet{padding:8px;border-radius:8px;cursor:pointer}.ph{font-size:20px;vertical-align:middle}#clock{font-variant-numeric:tabular-nums;margin-right:16px}.welcome{display:flex;align-items:center;justify-content:space-between;padding:51px 0 42px}.eyebrow{font-size:12px;letter-spacing:2px;color:#6e8175;margin:0 0 12px}h1{font-size:42px;letter-spacing:-1px;font-weight:600;margin:0 0 17px}.subtitle{font-size:14px;color:#738078;margin:0}.date-display{border-left:1px solid #d7e0d8;padding-left:35px;display:grid;grid-template-columns:auto auto;column-gap:15px;color:#6d7d71;align-items:center}.date-display span:first-child{grid-column:1/3;letter-spacing:2px;font-size:11px}.date-display b{font-size:65px;font-weight:300;line-height:1.25;color:#345943}.date-display span:last-child{font-size:12px;writing-mode:vertical-rl;letter-spacing:3px}.layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:26px;align-items:start}.planner{background:#fff;border:1px solid #e7ece7;border-radius:20px;padding:30px;box-shadow:0 8px 32px #324d3810}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:26px}h2{font-size:23px;font-weight:600;margin:0}.section-head .eyebrow{font-size:10px;margin-bottom:8px}.date-controls{display:flex;align-items:center;gap:3px}.date-controls button{padding:7px 5px;border-radius:6px;font-size:12px}.date-controls input{border:0;color:#69796e;font-size:12px;background:#f5f7f5;padding:8px;border-radius:6px;max-width:126px}.date-controls .ph{font-size:15px}#addForm{display:flex;gap:12px;align-items:center;border:1px solid #dbe5dd;border-radius:10px;padding:8px 8px 8px 15px;background:#fafcfb}#newTask{min-width:0;flex:1;border:0;outline:none;background:transparent;font-size:14px;padding:10px 0}::placeholder{color:#9aa69e}.primary{background:var(--green);color:white;padding:12px 16px;border-radius:8px;font-size:13px;white-space:nowrap}.primary span{margin-left:12px;color:#b0cfc0}.list-toolbar{display:flex;justify-content:space-between;align-items:center;margin:25px 0 8px;gap:10px}.tabs{display:flex;gap:12px}.tabs button{padding:9px 0;font-size:12px;color:#87928a;border-bottom:2px solid transparent}.tabs button.active{color:var(--green);border-color:var(--green);font-weight:600}.tabs span{font-size:10px;margin-left:3px}.list-toolbar>span{font-size:10px;color:#8c988f}#empty{padding:46px 0 42px;text-align:center;color:#718176}.empty-icon{width:64px;height:64px;border-radius:20px;background:#f1f6f2;display:grid;place-items:center;margin:0 auto 20px;color:#729b7e}.empty-icon .ph{font-size:33px}h3{font-size:16px;font-weight:500;margin:0 0 10px}#empty p{font-size:12px;margin:0;color:#8a988f}.task{display:flex;align-items:center;gap:12px;padding:17px 0;border-bottom:1px solid #eef1ee}.task input[type=checkbox]{width:20px;height:20px;accent-color:var(--green);cursor:pointer;flex-shrink:0}.task .text{flex:1;font-size:14px;line-height:1.7;overflow-wrap:anywhere}.task.done .text{text-decoration:line-through;color:#94a297}.task button{border-radius:5px;padding:5px;color:#839288}.task button .ph{font-size:16px}.progress-area{margin-top:23px;border-top:1px solid var(--line);padding-top:18px}.progress-area>div{display:flex;justify-content:space-between;font-size:11px;color:#85938a}.progress-area b{color:#517a60;font-weight:500}progress{width:100%;height:5px;border:0;border-radius:5px;margin-top:12px;appearance:none}progress::-webkit-progress-bar{background:#edf2ed;border-radius:5px}progress::-webkit-progress-value{background:#6d9b7c;border-radius:5px}progress::-moz-progress-bar{background:#6d9b7c}.note-section{margin-top:28px;background:#f8faf7;border:1px solid #eaf0e7;border-radius:10px;padding:16px}.note-section label{font-size:12px;color:#64806a}.note-section .ph{font-size:17px;margin-right:5px}textarea{display:block;resize:vertical;width:100%;height:76px;border:0;background:transparent;margin-top:12px;line-height:1.7;font-size:12px;color:#4d6254;outline:none}aside{display:grid;gap:20px}.weather-card{position:relative;overflow:hidden;padding:26px;background:#285d4c;color:white;border-radius:20px}.aside-top{display:flex;justify-content:space-between;font-size:12px;color:#c6dacd}.aside-top .ph{font-size:16px}.weather-art{display:block;font-size:76px;color:#c7dfce;margin:30px 0 20px}.weather-card h2{line-height:1.5;font-size:25px;font-weight:450}.weather-card p{font-size:11px;line-height:1.9;color:#bfd2c7;margin:15px 0 26px}.weather-link{display:flex;justify-content:space-between;background:#f0f6f1;color:#285d4c;padding:13px 16px;border-radius:8px;font-size:13px;font-weight:550}.source{display:block;font-size:10px;margin-top:11px;color:#b5d0be;text-align:center}.pollen-card{background:#e8eedf;border-radius:16px;padding:23px;display:grid;grid-template-columns:40px 1fr 20px;column-gap:13px;align-items:center;transition:background .2s}.pollen-card:hover{background:#dce6ce}.pollen-icon{width:40px;height:40px;border-radius:50%;background:#f7faef;display:grid;place-items:center;color:#74874e}.pollen-icon .ph{font-size:25px}.pollen-card .eyebrow{font-size:9px;display:block;margin-bottom:7px;color:#788566}.pollen-card h3{font-size:16px;margin-bottom:7px}.pollen-card p{font-size:11px;margin:0;color:#7d896e}.pollen-source{grid-column:1/4;font-size:10px;border-top:1px solid #d4deca;padding-top:14px;margin-top:20px;color:#7c896f}.small-note{display:flex;gap:14px;align-items:center;padding:3px 10px;color:#8c998b}.small-note .ph{font-size:27px}.small-note p{font-size:11px;line-height:1.9}footer{display:flex;justify-content:space-between;padding:30px 0;font-size:10px;color:#8c988f}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#253e30;color:#fff;padding:12px 22px;border-radius:10px;font-size:13px;box-shadow:0 4px 20px #0002;max-width:90vw}#toast button{color:white;text-decoration:underline;margin-left:15px}dialog{border:1px solid #dce5dc;border-radius:16px;padding:28px;width:min(460px,90vw)}dialog::backdrop{background:#142d2466}dialog input{width:100%;padding:12px;border:1px solid #cfdccf;border-radius:8px;margin:22px 0}dialog form>div{display:flex;justify-content:flex-end;gap:15px}@media(max-width:1050px){.shell{padding:0 28px}.layout{grid-template-columns:minmax(0,1fr) 280px}.planner{padding:22px}.section-head{align-items:flex-start;flex-direction:column}.header-right{gap:7px}}@media(max-width:760px){.shell{padding:0 18px}header{height:78px}.brand{font-size:30px;gap:12px}.brand span{font-size:11px;padding-left:12px}.header-right{font-size:10px}#clock{display:none}.quiet .ph{font-size:16px}.welcome{padding:34px 0 30px}h1{font-size:30px}.subtitle{font-size:11px}.date-display{padding-left:16px;column-gap:8px}.date-display b{font-size:48px}.date-display span:first-child{font-size:9px}.layout{grid-template-columns:1fr;gap:20px}.planner{padding:20px;border-radius:16px}.section-head{flex-direction:row;align-items:center}h2{font-size:19px}.date-controls input{max-width:115px;font-size:10px}.date-controls button{padding:5px 2px}.date-controls #today{display:none}.section-head .eyebrow{font-size:9px}#addForm{gap:8px;padding-left:10px}#newTask{font-size:12px}.primary{padding:12px}.primary span{display:none}.list-toolbar>span{max-width:74px;text-align:right;line-height:1.5}.tabs{gap:12px}.weather-card{padding:24px}.weather-art{position:absolute;right:26px;top:30px;font-size:88px}.weather-card h2{margin-top:24px;font-size:24px}.weather-card p{margin-bottom:20px}footer{gap:20px;line-height:1.7}footer span:last-child{text-align:right}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
