:root {
  --paper:#f6f5f0; --surface:#fffefa; --ink:#29372f; --muted:#798076;
  --line:#e5e7dc; --green:#405d49; --green-soft:#edf1e7; --sand:#f0ebe1;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif;
  color:var(--ink); background:var(--paper); font-size:14px; line-height:1.6;
  font-synthesis:none; -webkit-font-smoothing:antialiased;
}
*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit;color:inherit}
button{cursor:pointer;touch-action:manipulation;min-height:44px;border:1px solid var(--line);border-radius:11px;background:var(--surface);padding:10px 16px;transition:background .16s,border-color .16s,box-shadow .16s}
button:hover{background:#f0f3e9;border-color:#cbd5c3}button:active{background:#e7eddf}
button:disabled{opacity:.45;cursor:wait}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #648269;outline-offset:4px}
a,button,input,textarea{-webkit-tap-highlight-color:transparent}svg{width:20px;height:20px;flex-shrink:0;vertical-align:middle}
h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-weight:600}p{color:var(--muted);font-size:13px;line-height:1.85}small{font-size:11px;color:var(--muted)}
input,textarea,select{width:100%;min-width:0;border:1px solid #dde2d5;border-radius:11px;background:#fbfcf8;padding:12px 14px;font-size:16px;min-height:48px;outline:none;transition:border-color .16s,box-shadow .16s}
input:focus,textarea:focus,select:focus{border-color:#92a68a;box-shadow:0 0 0 3px #edf1e6;background:white}
label{display:grid;gap:8px;color:#5d6b59;font-size:12px}label small{font-weight:400;color:#8c9584}input::placeholder,textarea::placeholder{color:#a1a995}
textarea{resize:vertical;min-height:136px;line-height:1.9}form{display:grid;gap:20px}fieldset{border:0;margin:0;padding:0;min-width:0}
.primary{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--green);color:#fff;border-color:var(--green);font-weight:500;box-shadow:0 3px 7px #263d2110}
.primary:hover{background:#354f3c;border-color:#354f3c}.plain{border:0;background:transparent;color:var(--muted);box-shadow:none}.plain:hover{background:#eff2e8}
.icon-button{padding:0;display:grid;place-items:center;width:40px;min-height:40px;border:0;background:transparent;border-radius:10px;color:#7b8b72}
.text-button{border:0;background:transparent;padding:7px 0;color:var(--green);font-size:12px;min-height:40px}.text-button:hover{background:transparent;color:#283e2a}
.site-header{height:102px;max-width:1160px;padding:0 40px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid #e1e4d8}
.brand{display:flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none}.brand-word{font-family:Georgia,"Times New Roman",serif;font-size:33px;font-weight:600;letter-spacing:-1.4px;line-height:1}.brand-word>span{color:#93a080}
.brand-mark{display:flex;align-items:flex-end;gap:4px;width:23px;height:25px;transform:rotate(-15deg)}.brand-mark i{display:block;width:8px;height:24px;border-radius:6px;background:#47654c}.brand-mark i+ i{height:16px;background:#a7b391}
nav{display:flex;gap:6px;background:#eceee5;padding:5px;border:1px solid #e6e8dc;border-radius:15px}nav button{display:flex;align-items:center;justify-content:center;gap:8px;min-width:94px;min-height:40px;border:0;border-radius:10px;background:transparent;color:#848c7c;padding:8px 16px;font-size:12px}nav svg{width:17px;height:17px}nav button.selected{background:var(--surface);color:#385439;box-shadow:0 2px 5px #35422b09;font-weight:600}
.account{display:flex;align-items:center;gap:18px;min-width:118px;justify-content:flex-end}.account>span{font-size:10px;color:#929b89}.account>span::before{content:"";display:inline-block;width:5px;height:5px;background:#b1bd9f;border-radius:50%;margin-right:6px;vertical-align:middle}.profile-button{display:flex;align-items:center;justify-content:center;gap:7px;background:transparent;border:0;font-size:12px;color:#6f7b65;padding:8px}.profile-button svg{width:16px;height:16px}
main{max-width:1160px;margin:auto;padding:0 40px 72px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:43px 0 27px}.page-heading>p{font-size:12px;color:#8a947d;letter-spacing:.8px;margin-bottom:8px}.page-heading h1{font-family:"Noto Serif SC","Songti SC","STSong","SimSun",serif;font-size:36px;font-weight:600;line-height:1.35;letter-spacing:-.6px}.add-button{padding:12px 21px;min-height:48px;border-radius:13px;font-size:13px}.add-button svg{width:18px;height:18px}
.calendar-panel{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:13px 20px 17px;margin-bottom:28px;box-shadow:0 3px 16px #36412d03}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px;min-height:34px}.week-controls{display:flex;align-items:center;gap:10px}.week-controls .icon-button{min-height:32px;width:28px}.week-controls svg{width:14px;height:14px}#week-caption{font-size:11px;letter-spacing:.2px;color:#6f7d64;min-width:124px;text-align:center}.calendar-actions{display:flex;gap:9px;align-items:center}.today-button{border:0;background:transparent;min-height:32px;font-size:10px;padding:5px 8px;color:#758a64}.date-picker{position:relative;display:grid;place-items:center;width:33px;height:33px;border-radius:9px;background:#f3f5ec;cursor:pointer;overflow:hidden}.date-picker svg{width:15px;height:15px;color:#728465}.date-picker input{position:absolute;inset:0;width:100%;height:100%;opacity:0;min-height:0;padding:0;border:0;cursor:pointer}.date-picker input::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:auto;height:auto;margin:0;padding:0;cursor:pointer}.date-picker:focus-within{outline:2px solid #648269;outline-offset:2px}.week-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.week-day{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-height:86px;padding:7px 5px;border:0;border-radius:13px;background:transparent;color:#75866c}.week-day .weekday{font-size:10px;color:#929c86}.week-day strong{font-family:Georgia,"Times New Roman",serif;font-size:25px;font-weight:400;line-height:1.5;color:#4d6045}.day-marker{height:15px;line-height:15px;display:flex;align-items:center;justify-content:center;font-size:8px;color:#8ba275}.day-marker i{width:4px;height:4px;border-radius:50%;background:transparent}.day-marker.has-plans i{background:#b4c4a0}.week-day.is-selected{background:#486449;color:#fff;box-shadow:0 3px 7px #233f2912}.week-day.is-selected .weekday{color:#ccd8bf}.week-day.is-selected strong{color:#fff}.week-day.is-selected .day-marker{color:#d3dfc6}.week-day.is-selected .day-marker i{background:#cbd9bd}.week-day.is-selected:hover{background:#3e5b40}.week-day:not(.is-selected):hover{background:#f1f4e9}
.people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}.person{border:1px solid var(--line);background:var(--surface);border-radius:20px;min-width:0;overflow:visible;box-shadow:0 4px 15px #2c3b2403}.person-head{display:flex;align-items:center;gap:13px;padding:24px 25px 22px;border-bottom:1px solid #eceee4}.avatar{width:44px;height:44px;flex-shrink:0;display:grid;place-items:center;border-radius:14px;background:#e9efdf;color:#6f8457;font-family:"Songti SC","SimSun",serif;font-size:20px}.partner-plan .avatar{background:#f2e9de;color:#ac8e6d}.person-identity{min-width:0;flex:1}.person-identity h2{font-size:15px;font-weight:600;overflow-wrap:anywhere;display:flex;align-items:center;gap:9px}.person-identity h2>span{font-size:9px;font-weight:400;color:#83916e;background:#f0f3e8;padding:1px 6px;border-radius:4px;flex-shrink:0}.partner-plan .person-identity h2>span{background:#f5efe7;color:#ad9271}.person-identity p{font-size:10px;color:#919b85;margin-top:2px}.add-to-person{width:31px;min-height:31px;background:#f2f5eb;color:#8a9e74}.add-to-person svg{width:15px;height:15px}.person-body{padding:0 24px 10px}.plan-empty{min-height:252px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:25px 0}.empty-symbol{display:grid;place-items:center;width:55px;height:59px;margin-bottom:14px;background:#f4f5ed;border-radius:16px;color:#a4b393}.empty-symbol svg{width:28px;height:28px;stroke-width:1.15}.plan-empty h3{font-weight:400;font-size:13px;color:#87927c;margin-bottom:5px}.plan-empty p{font-size:10px;color:#a1a98f}.plan-empty .text-button{margin-top:10px;color:#78905e;font-size:11px}.plan-empty .text-button span{margin-left:5px}
.waiting{min-height:348px;padding:40px 30px 30px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#f0f1e9;border:1px solid #e0e5d4;box-shadow:none}.waiting-art{display:flex;margin:2px 0 24px;padding-left:8px}.waiting-art>span{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;border:3px solid #f0f1e9;margin-left:-8px;background:#e2e9d7;color:#93a07e;font-family:"Songti SC","SimSun",serif;font-size:16px}.waiting-art>span+span{background:#eee7dd;color:#b6a182}.waiting-art svg{width:21px;height:21px}.waiting h2{font-family:"Songti SC","SimSun",serif;font-size:21px;font-weight:500;color:#687d55;margin-bottom:9px}.waiting p{font-size:11px;color:#98a089;line-height:1.9}.invite-button{display:flex;align-items:center;gap:20px;margin-top:21px;background:#fffefa;color:#7c9067;border-color:#dfe6d5;font-size:11px;min-height:40px;padding:8px 17px;border-radius:10px}.invite-button span{font-size:16px;color:#94a580}.waiting>small{font-size:9px;color:#a9b19a;margin-top:14px}
.task{display:flex;align-items:flex-start;gap:5px;padding:19px 0 18px;border-bottom:1px solid #edeee6}.task:last-child{border:0}.task-leading{margin-left:-9px;flex-shrink:0}.task-check{display:grid;place-items:center;width:37px;min-height:40px;padding:0;border:0;background:transparent;border-radius:9px;color:#8b9e79}.task-check>span{display:block;width:18px;height:18px;border:1.3px solid #c8d2bb;border-radius:6px}.task-check:hover>span{border-color:#748c61;background:#edf3e5}.task-check.passive{cursor:default}.task-check.is-done svg{width:19px;height:19px;padding:2px;background:#e9efdf;border-radius:5px;color:#8ca66d}.task-content{min-width:0;flex:1;padding-top:5px}.task-top{display:flex;align-items:flex-start;gap:8px;min-height:25px}.task h4{font-size:14px;font-weight:400;line-height:1.7;overflow-wrap:anywhere;flex:1}.task.done h4{color:#9ca38f}.task-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;color:#9aa48c;font-size:10px;line-height:1.9;margin-top:6px}.task-meta>span{display:inline-flex;align-items:center;gap:3px}.task-meta svg{width:11px;height:11px}.amount{font-size:10px;color:#a0a98f;white-space:nowrap}.task-meta .amount{margin-left:auto}.tag{font-size:9px;color:#8da077;background:#f0f4e9;display:inline-flex;padding:1px 7px;border-radius:5px;margin-top:7px;white-space:nowrap}.tag.failed{color:#9a9989;background:#f0f0e9}.task-menu{position:relative;margin-top:-5px;flex-shrink:0}.task-menu summary{list-style:none;display:grid;place-items:center;width:27px;height:34px;cursor:pointer;color:#b2ba9f;border-radius:7px}.task-menu summary::-webkit-details-marker{display:none}.task-menu summary:hover{background:#f1f4e8;color:#728761}.task-menu summary svg{width:17px;height:17px}.task-menu-items{position:absolute;right:0;top:36px;z-index:2;background:white;border:1px solid var(--line);border-radius:11px;padding:5px;min-width:112px;box-shadow:0 9px 25px #25362212}.task-menu-items button{display:block;width:100%;border:0;text-align:left;font-size:11px;white-space:nowrap;background:transparent;min-height:38px;padding:8px 12px}.task-menu-items button:hover{background:#f0f4e9}
.ledger{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:8px 26px 13px}.ledger>p{padding:17px 0;font-size:11px}.ledger>h3{font-size:12px;font-weight:500;color:#8b997d;padding:15px 0 8px}.ledger-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:19px 0;border-bottom:1px solid #edeee5}.ledger-row:last-child{border:0}.ledger-row>div{min-width:0}.ledger-row strong{font-size:13px;font-weight:400;overflow-wrap:anywhere}.ledger-row small{display:block;margin-top:6px;font-size:10px;color:#97a085}.ledger-row .tag{margin:0}.ledger-row .amount{font-size:11px}.history-day{margin-bottom:20px}.empty{text-align:center;padding:65px 15px;color:#99a38b;font-size:12px}
.welcome{max-width:424px;margin:60px auto 0;padding:30px 10px}.welcome-heading{margin-bottom:30px}.welcome-symbol{display:grid;place-items:center;width:45px;height:48px;border-radius:13px;background:#e9eedf;color:#8b9e71;margin-bottom:20px}.welcome-heading h1{font-family:"Songti SC","SimSun",serif;font-size:29px;font-weight:500;margin-bottom:10px}.welcome-heading p{font-size:12px}.welcome form>small{line-height:1.8;font-size:10px}.restore-link{display:block;margin:17px auto 0;font-size:11px}.startup{padding:90px 0;display:grid;gap:20px;justify-items:center}.startup p{font-size:12px}
dialog{border:1px solid #e0e5d6;border-radius:23px;padding:29px;width:440px;max-width:calc(100vw - 36px);max-height:89dvh;overflow:auto;background:var(--surface);box-shadow:0 24px 90px #26332124;scrollbar-width:thin;scrollbar-color:#dce4d0 transparent}dialog::backdrop{background:#27372155;backdrop-filter:blur(4px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:16px}.dialog-head h2{font-family:"Songti SC","SimSun",serif;font-size:24px;font-weight:600}.dialog-head .plain{width:36px;min-height:36px;border-radius:50%;padding:0;background:#f0f3e9;color:#8c9b77;font-size:13px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.hint{font-size:11px;color:#9aa488}.device-access{display:grid;gap:14px;margin-top:26px;padding-top:24px;border-top:1px solid var(--line)}#accountdialog .dialog-head{margin-bottom:24px}#copy-access,#signout{font-size:12px}.planner-dialog{width:552px}.planner-dialog fieldset{display:grid;gap:21px}.planner-modes{display:flex;gap:6px;border-radius:12px;background:#edf0e5;padding:5px}.planner-modes button{flex:1;border:0;background:transparent;font-size:12px;color:#92a07e;min-height:38px;padding:8px 11px;border-radius:8px}.planner-modes button[aria-pressed="true"]{color:#506c40;background:#fffefa;box-shadow:0 2px 5px #2f431909}#bulk-entry,#template-entry,#preview-editor{display:grid;gap:16px}.planner-dialog details{font-size:11px;color:#8b9a77}.planner-dialog summary{padding:7px 0;cursor:pointer}#generate-rows{color:#6c8553;background:#f0f4e8;border-color:#dce7cd;font-size:12px}.draft-settings{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:10px;margin-top:10px}.draft-settings label{font-size:10px}.draft-settings input{font-size:15px;min-height:43px;padding:9px 8px}.draft-heading{display:flex;align-items:center;justify-content:space-between}.draft-heading h3{font-size:13px;font-weight:500}.draft-heading button{font-size:11px;min-height:36px}.draft-row{padding:16px 0;border-bottom:1px solid #e8eddf}.draft-row:first-child{padding-top:0}.draft-title{display:flex;align-items:center;gap:8px}.draft-title>span{width:15px;flex-shrink:0;color:#a3b191;font-family:Georgia,serif;font-size:15px}.draft-title>input{font-size:15px}.draft-title>button{font-size:20px;padding:4px 8px;flex-shrink:0;color:#a1b18c}.checkline{display:flex;align-items:center;gap:10px;font-size:12px}.checkline input{width:16px;height:16px;min-height:0;flex-shrink:0;accent-color:#627f4c}.template-controls{display:flex;gap:10px;justify-content:space-between}.template-controls button{font-size:11px}#batch-submit{width:100%;min-height:48px}#append-row{justify-self:start;font-size:11px}#save-template-only{font-size:12px}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:#3f5b3e;color:#fff;padding:12px 21px;border-radius:12px;font-size:12px;z-index:10;max-width:90vw;box-shadow:0 4px 20px #293a271f}[hidden]{display:none!important}
@media(min-width:1400px){.site-header,main{max-width:1240px;padding-left:60px;padding-right:60px}.person-head{padding:25px 30px}.person-body{padding:0 29px 10px}.plan-empty{min-height:270px}.waiting{min-height:368px}}
@media(max-width:900px){.site-header{height:88px;padding:0 28px}.account{min-width:64px}.account>span{display:none}main{padding:0 28px 60px}.toolbar{margin:32px 0 24px}.page-heading h1{font-size:32px}.people{gap:18px}.person-head{padding:20px}.person-body{padding:0 19px 8px}.waiting{padding:34px 20px;min-height:335px}.plan-empty{min-height:250px}.task-meta{gap:6px}.task-meta .amount{margin-left:0}}
@media(max-width:650px){
  .site-header{height:77px;padding:0 23px;border:0}.brand-word{font-size:30px}.brand-mark{width:21px;height:22px;gap:3px}.brand-mark i{width:7px;height:21px}.brand-mark i+i{height:14px}.brand{gap:9px}.profile-button{font-size:11px;padding:8px 0;gap:5px}.profile-button svg{width:15px;height:15px}
  nav{position:fixed;bottom:calc(12px + env(safe-area-inset-bottom));left:20px;right:20px;z-index:4;background:#fffefa;border:1px solid #e0e5d5;border-radius:19px;padding:6px;box-shadow:0 5px 24px #283c2910;gap:6px}nav button{flex:1;min-width:0;min-height:46px;font-size:11px;padding:8px 9px;border-radius:13px;gap:7px}nav svg{width:17px;height:17px}nav button.selected{background:#eaf0e1;box-shadow:none;color:#46643b}
  main{padding:0 20px 115px}.toolbar{margin:20px 0 23px;gap:14px}.page-heading>p{font-size:10px;letter-spacing:.1px;margin-bottom:6px}.page-heading h1{font-size:28px;line-height:1.3;letter-spacing:-.5px}.add-button{font-size:11px;min-height:43px;padding:9px 13px;gap:5px;border-radius:12px}.add-button svg{width:16px;height:16px}
  .calendar-panel{padding:10px 10px 12px;border-radius:17px;margin-bottom:20px}.calendar-toolbar{padding:0 2px;margin-bottom:8px;min-height:30px}.week-controls{gap:2px}#week-caption{font-size:9px;min-width:103px}.week-controls .icon-button{width:23px;min-height:30px}.week-controls svg{width:12px;height:12px}.calendar-actions{gap:2px}.today-button{font-size:9px;min-height:30px;padding:4px 6px}.date-picker{width:29px;height:29px}.date-picker svg{width:14px;height:14px}.week-days{gap:3px}.week-day{min-height:72px;border-radius:11px;padding:5px 0}.week-day .weekday{font-size:9px}.week-day strong{font-size:22px}.day-marker{font-size:7px;height:13px;line-height:13px}
  .people{grid-template-columns:1fr;gap:18px}.person{border-radius:18px}.person-head{padding:19px 20px;gap:12px}.avatar{width:40px;height:40px;border-radius:13px;font-size:18px}.person-identity h2{font-size:14px}.person-identity p{font-size:9px}.person-body{padding:0 21px 8px}.plan-empty{min-height:211px;padding:22px 0}.empty-symbol{width:47px;height:51px;margin-bottom:13px;border-radius:14px}.empty-symbol svg{width:24px;height:24px}.plan-empty h3{font-size:12px}.plan-empty p{font-size:10px}.plan-empty .text-button{font-size:10px;margin-top:9px}.waiting{min-height:260px;padding:29px 22px 27px}.waiting-art{margin:0 0 17px}.waiting-art>span{width:42px;height:42px;font-size:14px}.waiting-art svg{width:18px;height:18px}.waiting h2{font-size:21px}.waiting p{font-size:10px}.invite-button{font-size:11px;margin-top:17px}.waiting>small{font-size:8px;margin-top:11px}
  .task{padding:17px 0;gap:4px}.task-check{width:35px}.task h4{font-size:14px}.task-meta{font-size:9px;gap:7px;margin-top:7px}.task-meta .amount{font-size:9px;margin-left:auto}.task-menu summary{width:25px}.task-content{padding-top:5px}.tag{font-size:8px}.ledger{padding:8px 20px 12px;border-radius:17px}.ledger-row{gap:13px;padding:18px 0}.ledger-row strong{font-size:13px}.ledger-row small{font-size:9px}.ledger>p{font-size:10px}.history-day{margin-bottom:16px}.empty{padding:52px 12px;font-size:11px}
  .welcome{margin:32px auto 0;padding:16px 7px;max-width:400px}.welcome-heading h1{font-size:29px}.welcome-heading p{font-size:11px}.welcome-heading{margin-bottom:27px}.welcome form{gap:19px}.welcome form>small{font-size:10px}.welcome .restore-link{font-size:10px;margin-top:16px}
  dialog{width:100%;max-width:none;max-height:91dvh;margin:auto 0 0;position:fixed;top:auto;bottom:0;border-radius:25px 25px 0 0;border-bottom:0;padding:27px 24px calc(28px + env(safe-area-inset-bottom));box-shadow:0 -10px 70px #2b39221c}.dialog-head h2{font-size:25px}.dialog-head .plain{width:34px;min-height:34px}.planner-dialog{width:100%;max-height:91dvh}.planner-dialog fieldset{gap:19px}.planner-modes button{font-size:12px}.draft-settings{gap:9px}.draft-settings input{font-size:16px;padding:10px 7px}.draft-title>input{font-size:16px}.hint{font-size:10px}.planner-dialog #batch-submit{position:sticky;bottom:-28px;z-index:1;box-shadow:0 -8px 18px #fffefa}.template-controls{gap:8px}.form-row{gap:13px}#toast{bottom:calc(95px + env(safe-area-inset-bottom));font-size:11px}
}
@media(max-width:359px){main{padding-left:15px;padding-right:15px}.site-header{padding:0 18px}.add-button{padding:9px 10px}.page-heading h1{font-size:26px}.task-meta .amount{margin-left:0}.person-body{padding-left:18px;padding-right:18px}nav{left:15px;right:15px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
/* Final readability adjustments at real phone and tablet sizes. */
nav button{font-size:13px}.account>span{font-size:11px}.profile-button{font-size:13px}#week-caption{font-size:12px}.week-day .weekday{font-size:11px}.day-marker{font-size:9px}.person-identity h2{font-size:16px}.person-identity h2>span{font-size:10px}.person-identity p{font-size:12px;color:#859278}.task h4{font-size:15px}.task-meta{font-size:11px;color:#849276}.amount{font-size:11px;color:#8a977b}.tag{font-size:10px}.task-menu-items button{font-size:12px}.plan-empty h3{font-size:14px;color:#78896b}.plan-empty p{font-size:12px;color:#929d82}.plan-empty .text-button{font-size:12px}.waiting p{font-size:12px;color:#859377}.waiting>small{font-size:10px}.invite-button{font-size:12px}.ledger-row strong{font-size:15px}.ledger-row small{font-size:11px}.ledger>p{font-size:12px}.hint{font-size:12px}.draft-settings label{font-size:11px}.planner-dialog details{font-size:12px}
@media(max-width:650px){nav button{font-size:12px}.profile-button{font-size:12px}.page-heading>p{font-size:11px}.add-button{font-size:12px}#week-caption{font-size:10px}.week-day .weekday{font-size:10px}.day-marker{font-size:8px}.person-identity h2{font-size:15px}.person-identity p{font-size:11px}.task h4{font-size:14px}.task-meta{font-size:11px;gap:7px}.task-meta .amount{font-size:10px}.task-meta svg{width:12px;height:12px}.tag{font-size:10px}.plan-empty h3{font-size:13px}.plan-empty p{font-size:11px}.plan-empty .text-button{font-size:11px}.waiting p{font-size:11px}.waiting>small{font-size:10px}.invite-button{font-size:12px}.ledger-row strong{font-size:14px}.ledger-row small{font-size:11px}.ledger>p{font-size:11px}.hint{font-size:11px}.welcome-heading p{font-size:12px}.welcome form>small{font-size:11px}.welcome .restore-link{font-size:11px}}
.draft-settings{grid-template-columns:minmax(130px,200px);margin-left:23px}.avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.avatar{overflow:hidden}.profile-thumb{width:26px;height:26px;border-radius:9px;object-fit:cover}.profile-initial{width:25px;height:25px;display:grid;place-items:center;background:#e7eddf;border-radius:8px;color:#789063;font-size:12px}.avatar-editor{display:flex;gap:18px;align-items:center}.avatar-preview{width:76px;height:76px;border-radius:22px;flex-shrink:0;overflow:hidden;display:grid;place-items:center;background:#e9efdf;color:#758963;font-size:28px}.avatar-preview img{width:100%;height:100%;object-fit:cover}.avatar-editor button{font-size:12px}.avatar-editor .hint{margin-top:8px;font-size:11px}.general-settings{margin-top:26px;padding-top:24px;border-top:1px solid var(--line)}.general-settings h3{font-size:14px;margin-bottom:16px}.general-settings button{font-size:12px}.task-check.is-done{cursor:pointer}.task-check.is-done:hover{background:#edf2e6}.summary-person{display:flex;gap:14px;align-items:center;padding:20px 0;border-top:1px solid #e9edde}.summary-person h3{font-size:14px;font-weight:500}.summary-person p{font-size:11px;margin-top:3px}.summary-amount{display:block;margin-top:6px;font-size:11px;color:#8e987f}.summary-details{border-top:1px solid #e9edde}.summary-empty{padding:20px 0;font-size:12px}.history-heading{display:flex;align-items:center;justify-content:space-between;padding-top:12px}.history-heading h3{font-size:12px;color:#8a987c}.history-heading button{font-size:11px}#toast{display:flex;gap:15px;align-items:center}#toast-action{background:none;border:0;border-left:1px solid #93a889;color:#fff;padding:3px 0 3px 14px;min-height:28px;border-radius:0;font-size:12px;font-weight:600;white-space:nowrap}#toast-message{line-height:1.7}@media(max-width:650px){.draft-settings{grid-template-columns:minmax(130px,1fr);margin-left:23px}.avatar-preview{width:65px;height:65px;border-radius:18px}.avatar-editor{gap:13px}.avatar-editor button{font-size:11px;padding:8px 11px}.summary-person p{font-size:11px}#toast{max-width:calc(100vw - 34px);width:max-content;padding:10px 16px}.general-settings .hint{font-size:11px}}
/* Reading and touch refinements: keep the quiet palette without faint, tiny labels. */
:root{--muted:#63705f;--text-secondary:#63705f;--text-soft:#6b765f}
p,small,.hint,label small,.task-meta,.amount,.person-identity p,.plan-empty p,.waiting p,.waiting>small,.ledger-row small,.ledger>p,.summary-amount,.summary-person p,.empty,.account>span,.page-heading>p,.day-marker,.week-day .weekday,.profile-button,.plain{color:var(--text-secondary)}
label,.hint,.draft-settings label,.planner-dialog details,.welcome form>small{font-size:13px;line-height:1.7}
.task h4,.ledger-row strong{font-size:16px;line-height:1.75}.task.done h4{color:#69765f}.task-meta,.ledger-row small,.person-identity p,.plan-empty p,.waiting p,.summary-person p,.summary-amount,.amount,.history-heading h3{font-size:13px;line-height:1.7}.task-meta{margin-top:5px}.task-meta svg{width:14px;height:14px}
.tag,.tag.failed,.person-identity h2>span,.partner-plan .person-identity h2>span{font-size:12px;color:#56644f}.tag.failed{background:#eceee6;color:#646b5c}
nav button,.profile-button,.add-button,.invite-button,.planner-modes button,.template-controls button,#generate-rows,#save-template-only,#append-row,.history-heading button,.text-button{font-size:14px}
.plan-empty h3{font-size:15px;color:#4e6046}.plan-empty .text-button{font-size:13px}.waiting h2{color:#4f6444}.waiting>small{font-size:12px}.person-identity h2{font-size:16px}.page-heading>p{font-size:13px;letter-spacing:.2px}
input::placeholder,textarea::placeholder{color:#6d7866}.week-day .weekday{font-size:12px}.day-marker{font-size:11px}.week-day.is-selected .weekday,.week-day.is-selected .day-marker{color:#f2f5ed}#week-caption{font-size:12px;color:#56684b}.today-button{font-size:12px;color:#4d663f}
.task-check{width:44px;min-height:44px}.task-check>span{width:20px;height:20px;border-color:#87987b}.task-check.is-done svg{width:22px;height:22px;color:#567347}.task-menu summary{width:44px;height:44px;color:#66785b}.task-menu{margin-top:-8px}.task-menu-items{top:44px}.task-menu-items button{font-size:14px;min-height:44px}.add-to-person{width:44px;min-height:44px;color:#607650}.dialog-head .plain{width:44px;min-height:44px;color:#657755}.calendar-toolbar .icon-button{width:40px;min-height:44px}.date-picker{width:44px;height:44px}.date-picker input{min-height:0}.calendar-toolbar{flex-wrap:wrap;gap:4px}.calendar-actions{margin-left:auto}
.task-content{padding-top:5px}.task{gap:3px}.person-head{gap:12px}.plan-empty{min-height:220px}.waiting{min-height:320px}
.history-tools{max-width:640px;margin:0 0 20px}.history-tools label{gap:9px}.history-search-info{display:flex;align-items:center;justify-content:space-between;min-height:42px;margin-top:5px;font-size:13px;color:#64735b}.history-search-info button{font-size:13px}.history-tools input{background:var(--surface)}
button:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid #65815a;outline-offset:3px}::selection{background:#dbe5cf;color:#253321}
@media(max-width:650px){
  .task h4,.ledger-row strong{font-size:16px}.task-meta,.ledger-row small,.person-identity p,.summary-person p,.amount,.hint{font-size:12px}.tag,.tag.failed{font-size:11px}.person-identity h2{font-size:16px}.person-identity h2>span{font-size:11px}
  nav button,.profile-button,.add-button,.planner-modes button{font-size:13px}.page-heading>p{font-size:12px}.task-meta .amount{font-size:12px}.week-day .weekday{font-size:11px}.day-marker{font-size:10px}.week-controls{gap:0}#week-caption{font-size:11px;min-width:110px}.calendar-toolbar .icon-button{width:38px}.date-picker{width:40px;height:44px}.today-button{font-size:11px;padding:5px}
  .person-head{padding:18px}.person-body{padding:0 17px 8px}.task-leading{margin-left:-7px}.task-menu summary{width:40px}.task-content{min-width:0}.task-menu-items button{min-height:46px}.plan-empty{min-height:205px}.plan-empty p,.waiting p,.welcome-heading p{font-size:12px}.plan-empty .text-button,.invite-button,.welcome .restore-link{font-size:13px}.waiting>small{font-size:11px}.waiting{min-height:245px}.welcome form>small{font-size:12px}.summary-amount{font-size:12px}
  .dialog-head h2{font-family:inherit;font-size:22px;letter-spacing:0}.dialog-head .plain{flex-shrink:0}.draft-title>input,.draft-settings input,textarea,input,select{font-size:16px}.history-heading button{font-size:12px}.history-search-info{font-size:12px}
}
@media(max-width:359px){#week-caption{min-width:97px;font-size:10px}.calendar-toolbar .icon-button{width:32px}.task-menu summary{width:36px}.person-body{padding:0 14px 8px}}

.network-notice{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;margin-top:20px;border:1px solid #dbe2d2;border-radius:12px;background:#eef2e7;color:#53634a;font-size:13px}.network-notice button{flex-shrink:0;font-size:13px;color:#405d49}@media(max-width:650px){.network-notice{font-size:12px;align-items:flex-start;padding:10px 13px}.network-notice button{font-size:12px;padding:3px 8px;min-height:36px}}

nav button{color:#63705f}nav button.selected{color:#385439}
