*{box-sizing:border-box} :root{font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif;color:#24211d;background:#f4f1eb;font-synthesis:none;font-size:14px}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer;border:1px solid #e5e9e6;background:white;border-radius:3px;padding:10px 14px;color:inherit}button:hover{background:#eee9e1}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #b5a27d;outline-offset:3px}input,textarea,select{border:1px solid #dfe5e1;border-radius:3px;padding:11px;background:#fff;color:inherit;max-width:100%;min-width:0}input:focus,textarea:focus,select:focus{outline:2px solid #b5a27d;border-color:transparent}textarea{resize:vertical}a{color:inherit;text-decoration:none}.primary{background:#25221e;color:white;border:0;font-weight:600;padding:13px 19px}.primary:hover{background:#454039}.muted{color:#8c8275;font-size:13px;line-height:1.7}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600;color:#9a8d7b;margin:0 0 12px}h1{font-size:28px;letter-spacing:-1px;margin:0;font-weight:650}h2{font-size:17px;margin:0}.brand-icon{display:grid;place-items:center;width:40px;height:40px;background:#25221e;color:#fff;border-radius:3px;font-size:22px;font-family:serif}.sidebar{position:fixed;inset:0 auto 0 0;width:226px;background:#fff;border-right:1px solid #ded8cf;padding:38px 22px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;font-size:23px;font-weight:650}.brand small{display:block;font-size:8px;letter-spacing:1.5px;margin-top:5px;color:#9aa39d}.nav-label{font-size:11px;color:#a2aaa5;margin:50px 13px 16px}nav{display:grid;gap:8px}nav button,nav a{display:flex;align-items:center;gap:13px;border:0;text-align:left;padding:14px;border-radius:3px;background:transparent;font-size:19px;color:#8c8275}nav span{font-size:14px}nav small{margin-left:auto;font-size:12px}nav .active{color:#25221e;background:#e9e3d9;font-weight:600}.sidebar-note{margin-top:auto;background:#f5f2ed;border-radius:3px;padding:18px 14px;font-size:12px}.sidebar-note p{font-size:11px;color:#948a7d;line-height:1.9}.quiet{background:transparent;border:0;text-align:left;color:#929b95;font-size:12px;margin-top:14px}main{margin-left:226px;padding:44px 44px 20px;max-width:1700px}header{display:flex;align-items:center;justify-content:space-between;gap:16px}header .muted{margin:11px 0 0}.header-actions{display:flex;align-items:center;gap:22px}.sync{font-size:11px;color:#8b9a90}.sync:before{content:' ';display:inline-block;background:#a1824f;width:6px;height:6px;border-radius:50%;margin-right:7px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:30px 0}.stat{background:white;border:1px solid #e4ded5;border-radius:3px;padding:21px 23px;position:relative}.stat p{margin:0 0 12px;color:#8c8275;font-size:12px}.stat strong{font-size:29px;font-weight:600}.stat small{margin-left:8px;color:#a2aaa4;font-size:11px}.stat .symbol{position:absolute;right:23px;top:22px;color:#9eb7a6;font-size:20px}.planner{display:grid;grid-template-columns:310px minmax(0,1fr);gap:22px;align-items:start}.panel{background:white;border:1px solid #e4ded5;border-radius:3px}.calendar{padding:23px 20px}.month-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.month-head button{border:0;padding:5px 10px;font-size:22px}.weekdays,.days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.weekdays{color:#a4aaa6;text-align:center;font-size:11px;margin-bottom:13px}.days button{border:0;border-radius:3px;padding:10px 0;position:relative;min-height:38px;font-size:12px}.days .outside{color:#cbd0cc}.days .today{color:#25221e;font-weight:bold}.days .selected{background:#25221e;color:#fff}.days .has:after{content:'';position:absolute;bottom:3px;left:calc(50% - 2px);background:#a1824f;width:4px;height:4px;border-radius:50%}.days .selected:after{background:#fff}.calendar-foot{display:flex;align-items:center;justify-content:space-between;margin-top:18px;font-size:10px;color:#9ba59e}.calendar-foot i{display:inline-block;background:#a1824f;width:5px;height:5px;border-radius:50%;margin-right:6px}.text-button{padding:5px 0;border:0;color:#85704e;background:transparent;font-size:11px}.legend{display:grid;grid-template-columns:1fr 1fr;gap:16px;border-top:1px solid #eff1ef;margin-top:22px;padding-top:24px;font-size:11px;color:#929b95}.badge{border-radius:3px;display:inline-grid;place-items:center;font-size:10px;width:23px;height:23px;margin-right:5px}.S{background:#fce9e7;color:#c3635b}.A{background:#fbf0df;color:#bd914c}.B{background:#eee8df;color:#817056}.C{background:#edf0f6;color:#8a99b3}.calendar-tip{font-size:10px;color:#abb2ad;line-height:1.9;margin:25px 0 0}.agenda{padding:27px;min-height:460px}.agenda-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.agenda-head input{font-size:11px;width:140px}.agenda-head p{margin:8px 0 0;font-size:11px}.toolbar{display:flex;gap:9px;padding:20px 0;border-bottom:1px solid #eef0ed;flex-wrap:wrap}.segments{display:flex;background:#f1ede6;padding:3px;border-radius:3px;margin-right:auto}.segments button{font-size:11px;border:0;padding:7px 12px;background:transparent}.segments .active{background:#fff;box-shadow:0 1px 4px #203c3012;color:#25221e}.toolbar select{font-size:11px;padding:7px}.task{display:flex;align-items:flex-start;gap:12px;padding:20px 0;border-bottom:1px solid #eef1ee}.check{width:20px;height:20px;padding:0;border:1px solid #d7e1d9;border-radius:3px;flex-shrink:0;margin-top:2px;color:#578269}.task-content{min-width:0;flex:1}.task-title{border:0;padding:0;background:transparent;text-align:left;font-size:14px;line-height:1.7;word-break:break-word}.task-meta{display:flex;flex-wrap:wrap;gap:7px;align-items:center;color:#948a7d;font-size:10px;margin-top:8px}.tag{padding:3px 8px;border-radius:3px;background:#e9e3d9;color:#807362;font-size:10px}.done .task-title{text-decoration:line-through;color:#a6ada8}.done .check{background:#eee8df}.task .badge{margin:0;flex-shrink:0}.empty{text-align:center;color:#a0aaa3;padding:55px 16px;line-height:1.9}.empty .empty-icon{font-size:35px;color:#a9beb0;margin-bottom:10px}.empty strong{display:block;color:#796e5e;font-size:14px;font-weight:500}.empty p{font-size:12px}.empty button{margin-top:10px;font-size:12px}.date-divider{font-size:12px;color:#8a7655;background:#f5f2ed;padding:10px;border-radius:3px;margin-top:16px}footer{font-size:10px;color:#aab2ac;display:flex;justify-content:space-between;margin-top:32px;line-height:1.8}.collection-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;gap:16px}.collection-toolbar input{width:300px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.card{background:#fff;border:1px solid #e4ded5;padding:25px;border-radius:3px;min-width:0}.card h2{line-height:1.6;word-break:break-word}.card .notes{white-space:pre-wrap;word-break:break-word;color:#859188;line-height:1.9;font-size:12px;display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden;min-height:60px}.card-meta{display:flex;gap:6px;flex-wrap:wrap;margin:13px 0}.card-foot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #eff2ef;padding-top:15px;margin-top:20px;gap:8px}.card-foot button{font-size:11px;padding:7px 9px}.card-foot small{font-size:10px;color:#a5afa7}.progress{height:5px;background:#edf1ed;border-radius:3px;margin:14px 0;overflow:hidden}.progress i{display:block;background:#a1824f;height:100%}.gate{min-height:100dvh;display:grid;place-items:center;background:#f4f1eb;padding:24px}.login{max-width:420px;width:100%;padding:42px;background:#ffffffeb;border:1px solid #fff;border-radius:3px;box-shadow:0 20px 80px #4764500c}.login .brand-icon{margin-bottom:38px}.login h1{font-size:25px}.login label{margin-top:30px}.login .primary{width:100%;margin-top:18px;display:flex;justify-content:space-between}.login small{font-size:10px;color:#a3aea6;display:block;text-align:center;margin-top:26px}.login .eyebrow{font-size:8px}label{display:block;font-size:12px;color:#7d8d82;margin:17px 0 8px}label input,label textarea,label select{display:block;width:100%;margin-top:8px;color:#302b24}dialog{border:1px solid #e2dcd3;border-radius:3px;padding:28px;width:550px;max-width:calc(100% - 28px);max-height:90dvh;color:inherit;box-shadow:0 25px 100px #152f3026}dialog::backdrop{background:#1c302e66;backdrop-filter:blur(3px)}.dialog-head,.dialog-foot{display:flex;justify-content:space-between;align-items:center}.dialog-head button{border:0;font-size:25px;padding:0 5px}.field-row{display:flex;gap:12px}.field-row label{flex:1;min-width:0}.tag-options{display:flex;gap:8px;flex-wrap:wrap}.tag-options label{margin:0;background:#f1ede6;padding:7px 10px;border-radius:3px;display:flex;align-items:center;gap:6px}.tag-options input{width:auto;margin:0;accent-color:#25221e}.add-tag{display:flex;gap:8px;margin-top:12px}.add-tag input{flex:1;width:100px}.add-tag button{font-size:11px}.dialog-foot{border-top:1px solid #edf1ed;margin-top:22px;padding-top:20px}.danger{color:#bb7169;border:0}#form-error,#login-error{color:#b26259;font-size:12px;line-height:1.7}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:#25221e;color:white;padding:13px 22px;border-radius:3px;z-index:10;box-shadow:0 6px 20px #0002;max-width:90%;font-size:13px}[hidden]{display:none!important}
@media(min-width:1500px){main{padding:50px 65px}.planner{grid-template-columns:345px minmax(0,1fr)}}@media(max-width:1150px){.sidebar{width:190px;padding:30px 16px}main{margin-left:190px;padding:30px 25px}.planner{grid-template-columns:275px minmax(0,1fr);gap:16px}.agenda{padding:20px}.stats{gap:12px}.stat{padding:18px}.stat .symbol{display:none}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.header-actions{gap:12px}.sync{font-size:10px}}@media(max-width:850px){.sidebar{width:76px;padding:26px 14px}.brand>span:last-child,.nav-label,nav span,nav small,.sidebar-note,.quiet{display:none}nav{margin-top:35px}nav button,nav a{justify-content:center;padding:14px 0}main{margin-left:76px;padding:28px 22px}.planner{grid-template-columns:1fr}.calendar{display:none}.agenda{min-height:400px}.stats{margin:24px 0}.stat strong{font-size:25px}}@media(max-width:560px){.sidebar{inset:auto 0 0;width:100%;height:74px;padding:4px 12px calc(4px + env(safe-area-inset-bottom));border:0;border-top:1px solid #e6ece7;z-index:4}.sidebar .brand{display:none}nav{margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:4px}nav button,nav a{flex-direction:column;gap:4px;font-size:20px;padding:7px 3px;border-radius:3px}nav span{display:block;font-size:10px}main{margin:0;padding:27px 18px 98px}h1{font-size:25px}header{align-items:flex-start}header .muted{font-size:11px;max-width:190px}.header-actions{flex-direction:column-reverse;align-items:flex-end;gap:10px}.header-actions .primary{font-size:12px;padding:11px 13px}.eyebrow{font-size:8px;letter-spacing:1.5px}.stats{grid-template-columns:repeat(2,1fr);gap:10px;margin:23px 0}.stat{padding:17px}.stat p{font-size:11px;margin-bottom:8px}.stat strong{font-size:25px}.stat small{font-size:10px}.agenda{padding:19px 15px}.agenda-head h2{font-size:16px}.agenda-head input{width:128px;padding:8px;font-size:11px}.toolbar{gap:6px}.toolbar select{max-width:100px;font-size:10px;padding:7px 3px}.segments button{padding:7px 9px;font-size:10px}.task{gap:9px}.task-title{font-size:13px}.cards{grid-template-columns:1fr}.collection-toolbar input{width:210px}.collection-toolbar span{font-size:10px}footer{font-size:9px;gap:12px}footer span{text-align:right}.login{padding:32px 26px}dialog{padding:22px 18px}.field-row{flex-wrap:wrap}.field-row label{min-width:100px}input,textarea,select{font-size:16px}.tag-options label{font-size:12px}#toast{bottom:90px}}

/* Warm paper palette, aligned with the investment dashboard. */
header{padding-bottom:26px;border-bottom:2px solid #302b24}.sidebar{background:#f4f1eb;border-color:#ded8cf}.brand-icon{background:#25221e}.eyebrow{font-family:Consolas,monospace}.stat,.panel,.card{box-shadow:none}.stat .symbol,.empty .empty-icon{color:#ab9570}.sidebar-note{border-left:2px solid #ac8b4c;background:#eee8df}.days .selected{background:#eee8df;color:#25221e;outline:2px solid #302b24;outline-offset:-2px}.days .selected:after{background:#a1824f}.tag-options input{accent-color:#302b24}.task,.toolbar,.card-foot,.dialog-foot,.legend{border-color:#e9e3da}.sync,.task-meta,.card .notes,.muted,.calendar-tip,.calendar-foot,.legend{color:#8c8275}.text-button{color:#8a7048}.check{border-color:#cfc6b8;color:#5f513b}.done .check{background:#eee8df}.login{box-shadow:none;border-color:#e2dcd3}.login h1{letter-spacing:0}.sidebar nav .active{color:#25221e;background:#e9e3d9}.progress{background:#eee8df}footer{color:#998f82}
.image-section{margin-top:22px;border-top:1px solid #e4ded5;padding-top:8px}.image-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.image-heading button{font-size:12px;padding:8px 12px}.image-heading label{color:#796e5e}#image-count{font-size:11px;color:#a29480;margin-left:6px}#paste-zone{padding:18px 12px;border:1px dashed #c7bba7;background:#f7f4ef;line-height:1.8;font-size:12px;color:#847661;text-align:center;margin-top:8px;outline-color:#9e824c}#paste-zone small{font-size:10px;color:#a0927e}#paste-zone.dragging{background:#e8dfd0}#image-status{font-size:11px;color:#8b744e;line-height:1.6}.image-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.image-tile{position:relative;min-width:0}.image-tile>button:first-child{padding:0;display:block;width:100%;height:110px;overflow:hidden;border-color:#e3dace;background:#f4f1eb}.image-tile img,.card-images img{width:100%;height:100%;object-fit:cover}.remove-image{position:absolute;right:4px;top:4px;padding:0;width:26px;height:26px;background:#25221ed9;color:white;border:0;border-radius:50%;font-size:18px}.card-images{display:flex;gap:7px;overflow-x:auto;margin:15px 0}.card-images button{width:85px;height:75px;flex-shrink:0;padding:0;overflow:hidden;border-color:#e4ded5}#image-viewer{width:1000px;max-height:94dvh;padding:18px}#full-image{display:block;max-width:100%;max-height:72dvh;object-fit:contain;margin:18px auto;background:#f4f1eb}#download-image{font-size:12px;color:#8b704a;display:inline-block;padding:10px 0}@media(max-width:560px){.image-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#paste-zone{font-size:11px}.image-tile>button:first-child{height:120px}.sidebar{background:#f4f1eb}}
