:root{--paper:#f6f4ed;--ink:#273e35;--muted:#6e766c;--accent:#ae5138;--line:#d8dacf;--mint:#dce5d8;--serif:"Songti SC","Noto Serif CJK SC","STSong",Georgia,serif;--sans:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.6}button,input{font:inherit}button{cursor:pointer}button,a,input{ -webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:5px}button{color:inherit}a{color:inherit;text-decoration:none}.shell{max-width:1200px;padding:0 48px;margin:auto}header{display:flex;align-items:center;justify-content:space-between;height:104px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:11px;font-weight:650;font-size:19px;letter-spacing:1px}.brand svg{width:31px;height:31px}.brand span{font-size:9px;font-weight:450;letter-spacing:2px;margin-left:12px;color:var(--muted)}.header-right{display:flex;gap:30px;align-items:center;font-size:12px}time{color:var(--muted)}button.text-button{border:0;background:none;padding:10px 0;font-size:12px}.text-button span{margin-left:9px;color:var(--accent)}.hero{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;padding:64px 0 52px;gap:32px}.intro h1{font-family:var(--serif);font-size:62px;line-height:1.35;font-weight:450;letter-spacing:3px;margin:0 0 22px}.intro h1 span{color:var(--accent)}.intro>p{font-size:14px;color:var(--muted);line-height:1.95;margin:0 0 28px}.deadline{display:flex;align-items:center;gap:10px;font-size:12px}.small-dot{width:6px;height:6px;background:var(--accent);border-radius:50%}.countdown{position:relative;text-align:center;padding:8px 0 0}.switch{display:inline-flex;border:1px solid var(--line);padding:3px;border-radius:30px;gap:2px}.switch button{background:none;border:0;padding:7px 19px;border-radius:30px;font-size:12px;color:var(--muted)}.switch button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.count-line{display:flex;justify-content:center;align-items:baseline;gap:15px;line-height:1;margin-top:15px}.count-line strong{font-family:Georgia,"Times New Roman",serif;font-size:178px;font-weight:400;letter-spacing:-10px;font-variant-numeric:tabular-nums}.count-line>span{font-family:var(--serif);font-size:25px}.count-caption{font-size:13px;margin-top:14px}.quiet{font-size:12px;color:var(--muted);margin:14px 0 0}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:15px}h2{font-size:16px;font-weight:550;letter-spacing:.7px;margin:0}.section-heading>span{font-size:11px;color:var(--muted)}.journey{padding:26px 0 32px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.week-grid{display:grid;grid-template-columns:repeat(22,minmax(0,1fr));gap:8px;margin:22px 0 13px}.week{height:30px;border:1px solid #d5d8ca;background:#e9eadf;border-radius:3px;position:relative}.week.done{background:var(--ink);border-color:var(--ink)}.week.current{border-color:var(--accent);background:#eee0d3}.week.current:after{content:"";height:5px;width:5px;background:var(--accent);border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.journey-axis{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;gap:8px}.journey-axis span:nth-child(2){display:flex;align-items:center;gap:6px}.journey-axis i{width:7px;height:7px;display:inline-block;border-radius:1px}.legend-done{background:var(--ink)}.legend-now{background:var(--accent);margin-left:9px}.lower-grid{display:grid;grid-template-columns:1fr 1.16fr;gap:48px;margin:36px 0 42px}.today-panel{background:var(--ink);color:var(--paper);padding:27px 30px;border-radius:5px}.panel-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.panel-top h2{font-family:var(--serif);font-size:23px;font-weight:400}.panel-top>span{font-size:11px;opacity:.6}.panel-subtitle{font-size:12px;color:#bec8ba;margin:8px 0 26px}.money>span{font-size:11px;color:#bec8ba}.money strong{font-family:Georgia,serif;display:block;font-size:38px;font-weight:400;line-height:1.4;margin-top:2px;overflow-wrap:anywhere}.money p{font-size:11px;color:#bec8ba;margin:5px 0 24px}.checkin{width:100%;display:flex;justify-content:space-between;align-items:center;border:0;border-radius:3px;background:#e2e8d9;color:var(--ink);padding:14px 17px;font-size:13px;transition:background .2s,transform .2s}.checkin:hover{background:#f1f2e8}.checkin:active{transform:translateY(1px)}.checkin:disabled{cursor:default;background:#4c6152;color:#dce5d8}.checkin-bottom{display:flex;justify-content:space-between;font-size:10px;color:#bec8ba;margin-top:12px;min-height:17px}.checkin-bottom button{border:0;background:none;font-size:10px;color:#dce5d8;padding:0}.expectations{padding:6px 0}.muted{font-size:12px;color:var(--muted);margin:9px 0 20px}.add-form{display:flex;gap:8px;align-items:center;border-bottom:1px solid var(--line);margin-bottom:12px}.add-form input{width:100%;min-width:0;border:0;background:none;padding:12px 0;outline-offset:0;font-size:12px;color:var(--ink)}input::placeholder{color:#858a7e}.add-form button{font-size:22px;background:none;border:0;padding:5px 6px;line-height:1;color:var(--accent)}ul{padding:0;list-style:none;margin:0}.task-list li{display:flex;align-items:flex-start;gap:11px;padding:10px 0}.task-list label,.prep-list label{display:flex;gap:11px;align-items:flex-start;flex:1;min-width:0;cursor:pointer;font-size:13px}.task-list label span,.prep-list label span{overflow-wrap:anywhere}.task-list input,.prep-list input{accent-color:var(--ink);width:16px;height:16px;margin:3px 0 0;flex-shrink:0}.task-list input:checked+span,.prep-list input:checked+span{text-decoration:line-through;color:var(--muted)}.delete{font-size:17px;background:none;border:0;color:var(--muted);line-height:1.3;padding:0 5px;opacity:.5}.delete:hover{opacity:1;color:var(--accent)}.empty{color:var(--muted);font-size:12px;padding:18px 0 20px}.friday{font-size:11px;color:var(--accent);border-top:1px dashed var(--line);padding-top:15px;margin-top:18px}.preparations{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:30px 0 26px;display:grid;grid-template-columns:1fr 1.16fr;gap:0 48px}.prep-list{display:flex;flex-direction:column;gap:14px}.prep-list li{display:flex;gap:6px}.preparations .add-form{grid-column:2;margin:12px 0 0}.closing{display:flex;justify-content:center;align-items:center;gap:18px;padding:34px 0;color:var(--muted)}.closing>span:first-child{font-family:Georgia,serif;font-size:52px;line-height:1;transform:translateY(10px);color:#c6c8b9}.closing p{font-family:var(--serif);font-size:16px;letter-spacing:1px}.closing-line{height:1px;width:44px;background:var(--line)}.mobile-break{display:none}footer{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:19px 0 25px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}footer p{margin:0}footer p span{margin:0 5px}footer div{display:flex;gap:18px;flex-shrink:0}footer button{border:0;background:none;font-size:10px;color:var(--muted);padding:5px 0}dialog{border:1px solid var(--line);border-radius:8px;padding:30px;max-width:440px;width:calc(100% - 36px);background:var(--paper);color:var(--ink);box-shadow:0 16px 80px #192b3026}dialog::backdrop{background:#15241b66;backdrop-filter:blur(4px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center}.dialog-heading h2{font-family:var(--serif);font-size:25px}.close{font-size:26px;background:none;border:0;padding:0 6px;color:var(--muted)}dialog label{display:block;font-size:12px;margin:19px 0 7px}dialog input{border:1px solid var(--line);padding:11px 12px;background:#fffdf8;color:var(--ink);border-radius:3px;width:100%;min-width:0;font-size:14px}.field-note{font-size:11px;color:var(--muted);margin:10px 0 20px}.primary{width:100%;background:var(--ink);color:var(--paper);border:0;padding:13px;border-radius:3px;font-size:13px}#settings-error{color:var(--accent);font-size:12px}.toast{position:fixed;bottom:26px;left:50%;transform:translate(-50%,15px);background:var(--ink);color:var(--paper);padding:12px 22px;border-radius:5px;font-size:13px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;max-width:calc(100% - 32px);width:max-content;text-align:center;z-index:10}.toast.visible{opacity:1;transform:translate(-50%,0)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}@media(min-width:1400px){.shell{max-width:1260px}.hero{padding-top:74px;padding-bottom:62px}}@media(max-width:760px){.shell{padding:0 24px}header{height:80px}.brand{font-size:17px;gap:9px}.brand span{display:none}.header-right{gap:15px}.header-right time{display:none}.hero{gap:18px;padding:38px 0 30px}.intro h1{font-size:43px;letter-spacing:1px}.intro>p{font-size:12px;margin-bottom:20px}.deadline{font-size:10px;gap:6px}.count-line strong{font-size:116px;letter-spacing:-7px}.count-line{gap:10px}.count-line>span{font-size:19px}.switch button{padding:5px 12px;font-size:11px}.count-caption{font-size:11px}.quiet{font-size:10px}.week-grid{gap:5px;grid-template-columns:repeat(11,minmax(0,1fr))!important}.week{height:25px}.journey{padding:22px 0 25px}.section-heading h2{font-size:14px}.section-heading>span{font-size:10px}.lower-grid{grid-template-columns:1fr;gap:30px;margin:27px 0 30px}.today-panel{padding:24px}.preparations{grid-template-columns:1fr;gap:0;padding:25px 0}.preparations .add-form{grid-column:1;margin-top:17px}.preparations>div .muted{margin-bottom:23px}.closing{padding:24px 0;gap:14px}.closing p{font-size:14px}.closing-line{width:22px}footer{flex-direction:column;align-items:flex-start;gap:9px;font-size:10px}footer div{gap:25px}}@media(max-width:440px){.hero{grid-template-columns:1fr;padding-top:32px}.intro h1{font-size:44px}.intro>p{font-size:12px}.intro h1 br{display:none}.intro h1{font-size:clamp(28px,8vw,35px);letter-spacing:.5px;white-space:nowrap;margin-bottom:15px}.intro>p br{display:none}.deadline{font-size:11px}.countdown{padding:8px 0 14px}.count-line strong{font-size:148px;letter-spacing:-9px}.count-line>span{font-size:23px}.count-caption{font-size:12px}.quiet{font-size:11px;margin-top:10px}.count-line{margin-top:8px}.switch button{padding:6px 18px}.journey-axis{font-size:9px}.mobile-break{display:block}.closing{justify-content:flex-start}.closing p{margin:0}.closing-line{margin-left:auto}footer p{max-width:290px}h2{font-size:15px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
