:root{--bg:#f7f5ee;--ink:#293c31;--muted:#697366;--line:#dedfd4;--green:#384d40;--cream:#eeeede}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--bg);color:var(--ink);font-family:"Microsoft JhengHei","PingFang TC",sans-serif;line-height:1.7}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer;font:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,summary:focus-visible,textarea:focus-visible{outline:3px solid #ae7c3d;outline-offset:4px}header,main,footer{max-width:1200px;margin:auto}header{display:flex;justify-content:space-between;align-items:center;padding:28px 40px;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;font-size:30px}.brand span{font-size:20px;letter-spacing:3px}.brand small{display:block;font-size:8px;letter-spacing:2px}.quiet{border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:6px;padding:9px 16px}.quiet:hover{background:var(--cream)}main{padding:0 40px}.hero{display:grid;grid-template-columns:1.4fr 1fr;gap:50px;align-items:center;padding:65px 0 58px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;color:var(--muted)}h1{font-family:Georgia,"Noto Serif TC","PMingLiU",serif;font-size:clamp(34px,4.5vw,57px);font-weight:500;line-height:1.45;letter-spacing:3px;margin:19px 0}.intro{font-size:15px;color:var(--muted);line-height:2}.primary{display:inline-flex;align-items:center;gap:50px;background:var(--green);color:#fff;padding:13px 23px;border-radius:5px;margin-top:17px}.facts{display:flex;gap:30px;margin-top:33px;color:var(--muted);font-size:12px}.facts b{font-family:Georgia,serif;font-size:25px;font-weight:400;color:var(--ink);padding-right:5px}.art{position:relative;max-width:340px;width:100%;justify-self:center;padding-top:14px}.arch{height:360px;width:275px;background:#5b7059;border-radius:150px 150px 4px 4px;position:relative;overflow:hidden;box-shadow:18px 16px 0 #e8e9db}.arch span{position:absolute;left:36px;top:95px;font-family:Georgia,serif;font-size:34px;color:#f1eedb;line-height:1.2;letter-spacing:3px;z-index:1}.arch svg{height:300px;position:absolute;right:-55px;bottom:-20px;transform:rotate(12deg)}.sun{position:absolute;right:15px;top:0;width:100px;height:100px;background:#d3b579;border-radius:50%;z-index:1;opacity:.9}.art p{font-size:11px;letter-spacing:4px;margin:30px 0 0 23px;color:var(--muted)}.progressbox{padding:28px 32px;background:var(--cream);border:1px solid var(--line);border-radius:9px;display:flex;align-items:center;justify-content:space-between;gap:30px}.progressbox h2{font-size:21px;font-weight:500;margin:6px 0}.progressbox p{font-size:13px;color:var(--muted);margin:3px 0}.progressright{width:46%}.progresslabel{display:flex;justify-content:space-between;font-size:12px}.progressright small{display:block;font-size:11px;color:var(--muted);margin-top:10px}progress{appearance:none;width:100%;height:6px;display:block;border:0;border-radius:5px;margin:10px 0;background:#d5dacb}progress::-webkit-progress-bar{background:#d5dacb;border-radius:5px}progress::-webkit-progress-value{background:var(--green);border-radius:5px}progress::-moz-progress-bar{background:var(--green)}.journey{display:grid;grid-template-columns:235px 1fr;gap:48px;padding:57px 0}.journey aside h2{font-size:25px;font-weight:500;margin:8px 0 20px}nav{display:grid;gap:5px}nav button{border:0;text-align:left;background:transparent;padding:12px;border-radius:5px;color:var(--muted);display:flex;gap:12px;align-items:center;font-size:13px}nav button small{font-size:10px;opacity:.75}nav button.active{background:var(--green);color:white}nav button:hover:not(.active){background:var(--cream)}.instructions{font-size:12px;margin-top:24px;border-top:1px solid var(--line);padding-top:20px;color:var(--muted)}summary{cursor:pointer}#weekhead .eyebrow{margin:0}#weekhead h2{font-family:Georgia,"PMingLiU",serif;font-size:32px;font-weight:500;margin:4px 0}#weekhead .range{font-size:12px;color:var(--muted)}.core{border-left:2px solid #aaa977;padding:4px 0 4px 16px;margin:20px 0 25px;font-size:14px}.day{background:#fffefa;border:1px solid var(--line);border-radius:8px;margin:12px 0;padding:22px 24px}.day.done{background:#eff2e9}.daytop{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.daytop h3{font-size:17px;font-weight:500;margin:4px 0 16px}.daynum{font:11px Georgia,serif;color:var(--muted);letter-spacing:2px}.check{display:flex;align-items:center;gap:7px;font-size:11px;white-space:nowrap;padding-top:5px;cursor:pointer}.check input{accent-color:var(--green);width:19px;height:19px;cursor:pointer}.refs{display:grid;grid-template-columns:1fr 1fr;gap:15px;border-top:1px solid #eaece3;padding-top:12px}.refs span{display:block;font-size:10px;color:var(--muted);letter-spacing:2px}.refs p{margin:3px 0;font-size:14px}.day details{margin-top:12px;color:var(--muted);font-size:12px}.day textarea{width:100%;min-height:95px;background:var(--bg);border:1px solid var(--line);padding:12px;font:inherit;border-radius:5px;resize:vertical;margin-top:12px;color:var(--ink)}.weekpager{display:flex;justify-content:space-between;margin-top:25px}button:disabled{opacity:.4;cursor:default}footer{border-top:1px solid var(--line);padding:25px 40px;display:flex;justify-content:space-between;gap:15px;font-size:11px;color:var(--muted)}#status{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--green);color:white;border-radius:6px;font-size:13px;max-width:90%;padding:0;z-index:5}#status:not(:empty){padding:12px 20px}.skip{position:fixed;top:-80px;left:10px;background:white;padding:12px;z-index:8}.skip:focus{top:10px}@media(max-width:750px){header{padding:20px}.brand span{font-size:16px}header .quiet{font-size:12px}main{padding:0 20px}.hero{padding:35px 0;gap:18px;grid-template-columns:1fr}.hero h1{font-size:clamp(29px,8vw,39px)}.art{display:none}.facts{gap:25px}.progressbox{padding:23px;display:block}.progressright{width:100%;margin-top:20px}.journey{grid-template-columns:1fr;gap:25px;padding-top:30px}nav{display:flex;overflow-x:auto;padding-bottom:8px}nav button{flex-shrink:0;min-height:48px}nav button small{display:none}.journey aside h2{font-size:22px;margin-bottom:12px}.instructions{margin-top:10px;padding-top:12px}#weekhead h2{font-size:29px}.day{padding:18px 16px}.daytop h3{font-size:16px}.check{font-size:10px}.refs{gap:10px}footer{padding:20px;display:block}footer span{display:block}.progressbox h2{font-size:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.journey>*,.weekcontent,.daytop>div{min-width:0}.daytop h3{overflow-wrap:anywhere}

.brand span{letter-spacing:1px}.brand small{letter-spacing:1.6px}.completion{display:flex;flex-direction:column;align-items:flex-end;gap:5px;flex-shrink:0}.instructions strong{color:var(--ink)}@media(max-width:750px){.brand span{font-size:17px}.brand small{font-size:8px}.daytop{gap:10px}.completion{max-width:110px}}

.brand span,.hero h1,.progressbox h2,.journey aside h2,#weekhead h2,.daytop h3{font-weight:700}.brand small{font-weight:500}

.brand-icon{display:block;flex:0 0 30px;color:var(--green)}.button-icon{display:block;flex:0 0 20px}@media(max-width:750px){.brand-icon{width:26px;height:26px;flex-basis:26px}}