@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Baskerville:wght@400;700&display=swap');
:root{--sage:#6d7d63;--sage-dark:#42533d;--sage-soft:#dce4d7;--pink:#c58b91;--pink-light:#f7e7e6;--pink-deep:#a36470;--ink:#2e342b;--muted:#6e7167;--cream:#f8f6f1;--white:#fffcf9;--line:#e9e5df;--shadow:0 4px 18px #514a3e12;--radius:18px;--font:'DM Sans',system-ui,sans-serif;--serif:'Libre Baskerville',Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);font:14px/1.55 var(--font);color:var(--ink)}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}input,textarea,select{width:100%;border:1px solid #deded4;border-radius:11px;background:#fffefb;color:var(--ink);padding:11px 12px;outline:none}input:focus,textarea:focus,select:focus{border-color:var(--sage);box-shadow:0 0 0 3px #6d7d6320}textarea{min-height:100px;resize:vertical}a{color:var(--sage-dark)}h1,h2,h3,h4,p{margin:0}h1,h2,h3{font-family:var(--serif)}h1{font-size:clamp(23px,2.7vw,37px);font-weight:400}h2{font-size:23px;font-weight:400}h3{font-size:17px;font-weight:400}h4{font-size:14px}small,.muted{color:var(--muted)}.boot-screen{height:100vh;display:grid;place-items:center;color:var(--sage-dark)}.shell{display:grid;grid-template-columns:215px minmax(0,1fr);min-height:100vh}.sidebar{background:linear-gradient(160deg,#77896e,#53684f);color:#fffef6;padding:29px 14px 24px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.brand{padding:8px 13px 31px;text-align:center;font-family:var(--serif);font-size:18px;letter-spacing:.3px}.brand .mark{font-size:36px;display:block;line-height:1.3}.nav{display:grid;gap:4px}.nav button{display:flex;align-items:center;gap:13px;width:100%;border:0;border-radius:11px;background:transparent;text-align:left;color:#fffef8;padding:11px 13px;font-size:14px}.nav button:hover{background:#ffffff1e}.nav button.active{background:#fffbf2;color:var(--sage-dark);font-weight:700}.nav .ico{width:22px;text-align:center;font-size:19px}.sidebar-foot{margin-top:auto;font-size:12px;color:#e7eee0c4;text-align:center;padding:18px 12px 8px}.leaf-decoration{opacity:.4;letter-spacing:10px;font-size:24px;padding-bottom:10px}.main{padding:27px clamp(18px,3.2vw,52px) 80px;min-width:0;max-width:1800px;width:100%;margin:auto}.topbar{display:flex;justify-content:space-between;gap:15px;align-items:start;margin-bottom:20px}.eyebrow{font-size:11px;letter-spacing:1.4px;text-transform:uppercase;font-weight:700;color:var(--sage)}.top-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.top-actions .account{max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:12px}.icon-btn,.btn,.chip{border:1px solid var(--line);background:#fffcf9;color:var(--ink);border-radius:12px;padding:9px 13px;display:inline-flex;align-items:center;justify-content:center;gap:6px}.icon-btn{width:37px;height:37px;padding:0}.btn:hover,.chip:hover,.icon-btn:hover{border-color:#aebca6}.btn.primary,.chip.active{background:var(--sage);color:white;border-color:var(--sage)}.btn.pink{background:var(--pink-light);border-color:#efd0d2;color:#864b57}.btn.small,.chip{font-size:12px;padding:6px 11px}.btn.ghost{background:transparent}.btn.full{width:100%}.btn:focus-visible,.nav button:focus-visible{outline:3px solid #cbadb1;outline-offset:2px}.banner{background:linear-gradient(105deg,#fffefa 0%,#fff7f3 64%,#eee3dc 100%);border:1px solid #f0e8e0;box-shadow:var(--shadow);border-radius:20px;min-height:160px;display:grid;grid-template-columns:1fr auto;align-items:center;padding:24px clamp(18px,3vw,38px);gap:18px;position:relative;overflow:hidden;margin-bottom:19px}.banner:after{content:'✿  ❁  🌿';position:absolute;right:-4px;top:-25px;font-size:58px;opacity:.13;transform:rotate(14deg);pointer-events:none}.hello{font-family:var(--serif);font-style:italic;color:var(--pink-deep);font-size:clamp(19px,2.2vw,29px);margin:3px 0 8px}.banner .sub{font-size:13px;color:var(--muted)}.mode-control{position:relative;z-index:1;min-width:315px}.modes{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.mode{border:1px solid #d4cfc5;background:#fffcf8;border-radius:50px;padding:9px 17px;font-family:var(--serif);font-size:13px;color:var(--ink)}.mode.selected{background:var(--sage);color:white;border-color:var(--sage);box-shadow:0 3px 9px #40573d33}.mode-desc{color:var(--sage-dark);margin-top:9px;font-size:12px}.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:15px}.span-3{grid-column:span 3}.span-4{grid-column:span 4}.span-5{grid-column:span 5}.span-6{grid-column:span 6}.span-7{grid-column:span 7}.span-8{grid-column:span 8}.span-12{grid-column:span 12}.card{background:var(--white);border:1px solid #ebe7e0;border-radius:var(--radius);box-shadow:var(--shadow);padding:19px 20px;min-width:0}.card.pinkwash{background:linear-gradient(120deg,#f9e5e7,#fff5f3)}.card.softgreen{background:linear-gradient(130deg,#eff3e9,#fffdfa)}.card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:15px}.card-title{display:flex;gap:9px;align-items:center;font-family:var(--serif);font-size:16px}.card-icon{font-size:21px;color:var(--sage-dark)}.card-subtitle{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--sage);font-weight:700;margin-bottom:8px}.main-feature{display:flex;gap:17px;min-height:188px;align-items:center}.feature-art{width:115px;min-width:115px;height:174px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(160deg,#d9e5d6,#a3b29b 50%,#527260);font-size:64px}.feature-text{flex:1;min-width:0}.feature-text h2{font-size:21px;margin:7px 0 10px;line-height:1.34}.feature-text .reason{color:#675e58;font-style:italic;max-width:430px}.action-row{display:flex;gap:9px;flex-wrap:wrap;margin-top:24px}.micro{font-size:11px}.progress{height:7px;border-radius:30px;overflow:hidden;background:#e9e5de;margin-top:7px}.progress>span{display:block;background:#9aac87;height:100%;border-radius:20px}.book-line,.watch-line{display:flex;gap:13px;align-items:start}.cover{width:87px;min-width:87px;height:119px;border-radius:7px;background:linear-gradient(155deg,#492b3b,#934d64);color:#fff0e6;display:grid;place-items:center;text-align:center;font:12px/1.65 var(--serif);padding:8px;box-shadow:0 2px 8px #24212023}.cover.watch-cover{background:linear-gradient(150deg,#8daba0,#3c5964);font-size:40px}.card-note{margin-top:12px;background:#f8f3ec;border-radius:10px;padding:9px 11px;font-size:12px;color:#585a4f}.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.tile{padding:0;border:1px solid #e9e2d9;border-radius:10px;background:#fffefb;overflow:hidden;text-align:center}.tile:hover{border-color:var(--sage)}.tile-img{height:83px;display:grid;place-items:center;background:#f1ece2;font-size:38px}.tile:nth-child(2) .tile-img{background:#eee9da}.tile:nth-child(3) .tile-img{background:#e5e9dc}.tile-label{font-size:12px;padding:7px 2px;display:block}.task-list{display:grid;gap:9px}.task-row{display:flex;gap:9px;align-items:flex-start;font-size:12.5px}.task-row button.tick{width:18px;height:18px;min-width:18px;border:1px solid #899681;border-radius:5px;background:transparent;color:transparent;font-size:12px;padding:0;margin-top:2px}.task-row button.tick.done{background:var(--sage);color:#fff}.task-row .task-body{flex:1;min-width:0}.task-row .strike{text-decoration:line-through;color:#99998e}.mini-tag{font-size:10px;background:#eee9e0;border-radius:50px;padding:3px 8px;color:#666858;white-space:nowrap}.mini-tag.critical{background:#f5d9da;color:#92515b}.mini-tag.essential{background:#e3e9d7;color:#586e4b}.quick-list{display:grid;gap:9px;margin-top:10px}.quick-item{display:flex;gap:9px;align-items:center;font-size:12px}.quick-item button{border:0;background:none;text-align:left;color:inherit}.pill{display:inline-flex;border-radius:99px;background:#e4e9dc;color:#596d53;font-size:11px;padding:4px 10px}.pill.pink{background:#f3dfe1;color:#935d64}.row-between{display:flex;align-items:center;justify-content:space-between;gap:10px}.between{display:flex;justify-content:space-between;gap:12px;align-items:center}.btnlink{border:0;background:none;text-decoration:underline;text-decoration-color:#c7cec1;color:var(--sage-dark);padding:3px;cursor:pointer;font-size:12px}.empty{border:1px dashed #d8d5c9;border-radius:13px;padding:24px;text-align:center;color:var(--muted)}.page-head{display:flex;align-items:start;justify-content:space-between;gap:16px;margin:6px 0 24px}.page-head p{color:var(--muted);margin-top:6px;max-width:700px}.section-title{margin:22px 0 12px}.list-card{display:flex;align-items:start;gap:13px;justify-content:space-between;padding:13px 0;border-bottom:1px solid #eee9e2}.list-card:last-child{border:0}.list-card-main{flex:1}.list-card h4{font-size:14px}.list-card p{font-size:12px;color:var(--muted);margin-top:4px}.item-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:end}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:grid;gap:6px;margin:0 0 14px}.field>label{font-size:12px;font-weight:700;color:#5e6858}.field .help{font-size:11px;color:var(--muted)}dialog{border:0;border-radius:20px;max-width:min(630px,calc(100vw - 24px));width:100%;padding:0;box-shadow:0 22px 85px #2c302652;background:var(--white);color:var(--ink)}dialog::backdrop{background:#2b332bb3;backdrop-filter:blur(2px)}.dialog-inner{padding:22px 24px;max-height:88vh;overflow:auto}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:21px}.dialog-head h2{font-size:22px}.dialog-actions{display:flex;gap:10px;justify-content:flex-end;padding-top:6px}.form-message{font-size:12px;color:var(--muted)}.notice{border-radius:13px;padding:11px 14px;border:1px solid #ece1d8;background:#fff4ee;color:#795d58;font-size:12px;margin-bottom:15px}.notice.green{background:#edf3e8;border-color:#dce6d7;color:#4b6644}.notice.pink{background:#f8e8ea;border-color:#f2d2d5;color:#8e5960}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:15px}.filters button{border:1px solid #e3ded6;background:#fffdfa;border-radius:30px;padding:6px 11px;font-size:12px}.filters button.active{background:var(--sage);color:white}.kv{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.stat{padding:14px;border:1px solid var(--line);background:#f9f7f1;border-radius:13px;text-align:center}.stat strong{display:block;font:23px var(--serif)}.stat span{display:block;font-size:11px;color:var(--muted)}.auth-wrap{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 80% 10%,#f5e2e2,transparent 33%),radial-gradient(circle at 10% 100%,#e0e9da,transparent 35%),var(--cream);padding:20px}.auth-card{width:min(450px,100%);padding:35px;background:var(--white);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow)}.auth-card .logo{font-size:48px}.auth-card h1{font-size:25px;margin:8px 0 17px}.auth-card p{color:var(--muted);margin-bottom:21px}.auth-card input{margin-bottom:12px}.toast{position:fixed;bottom:18px;left:50%;transform:translate(-50%,120px);border-radius:12px;background:#40543b;color:white;box-shadow:0 10px 35px #24331e33;padding:12px 18px;z-index:1001;transition:transform .2s;pointer-events:none;max-width:90vw}.toast.show{transform:translate(-50%,0)}.sync-status{font-size:11px;color:var(--muted)}.stat-list{display:flex;gap:6px;flex-wrap:wrap}.notes-area{white-space:pre-wrap;overflow-wrap:anywhere}.preline{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px}.compact-add{margin-top:15px}.view-toolbar{display:flex;gap:8px;flex-wrap:wrap;justify-content:space-between;align-items:center}.subtle-separator{border:0;border-top:1px solid var(--line);margin:16px 0}.mobile-menu{display:none}.badge-dot{width:7px;height:7px;background:#b77b85;border-radius:50%;display:inline-block;margin-right:7px}.day-choose{margin-top:11px}.day-context{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:11px}.day-context select{width:auto;max-width:220px;padding:7px 11px;font-size:12px}.time-options{display:flex;gap:5px;flex-wrap:wrap}.time-options button{background:#fff9f4;border:1px solid #e6e1d9;border-radius:20px;padding:5px 9px;font-size:11px}.time-options button.on{background:#e0e9d6;border-color:#9eaf93;color:#3d5837}.footer{font-size:11px;color:#8d9085;margin-top:28px;text-align:center}.route-back{margin-bottom:11px}.special{background:linear-gradient(100deg,#e5eddf,#f8f0ea)}.install-hint{display:flex;gap:10px;align-items:center}.overview{display:grid;gap:10px}.note-entry{border-left:3px solid #d8b6b7;background:#faf4ef;padding:10px 12px;border-radius:0 9px 9px 0;margin-bottom:10px;font-size:12px}.note-entry time{display:block;font-size:10px;color:var(--muted);margin-bottom:3px}
@media(max-width:1240px){.span-3{grid-column:span 6}.span-4{grid-column:span 6}.span-5,.span-7{grid-column:span 6}.grid{gap:13px}.card{padding:16px}.banner{grid-template-columns:1fr}.mode-control{min-width:0}.span-8{grid-column:span 12}}
@media(max-width:790px){.shell{display:block}.sidebar{height:auto;position:static;padding:12px 14px;display:flex;flex-direction:row;align-items:center;gap:10px}.brand{padding:0 12px 0 3px;font-size:14px;white-space:nowrap}.brand .mark{display:inline;font-size:20px;margin-right:8px}.nav{display:flex;overflow:auto;gap:4px;scrollbar-width:none;flex:1}.nav button{width:auto;white-space:nowrap;padding:7px 11px;font-size:12px}.nav .ico{font-size:15px;width:auto}.sidebar-foot{display:none}.main{padding:19px 16px 75px}.topbar{align-items:center}.top-actions .account{display:none}.banner{padding:22px}.feature-art{width:88px;min-width:88px;height:140px;font-size:42px}.feature-text h2{font-size:17px}.main-feature{min-height:auto}.action-row{margin-top:14px}.span-3,.span-4,.span-5,.span-6,.span-7{grid-column:span 6}}
@media(max-width:560px){.grid{gap:12px}.span-3,.span-4,.span-5,.span-6,.span-7,.span-8{grid-column:span 12}.card{padding:16px}.banner{min-height:0;padding:20px 17px}.mode{font-size:12px;padding:8px 14px}.modes{gap:6px}.banner:after{display:none}.main-feature{gap:13px}.feature-art{height:127px;width:74px;min-width:74px;font-size:35px}.feature-text h2{font-size:16px}.feature-text .reason{font-size:12px}.card-title{font-size:16px}.tiles{grid-template-columns:repeat(3,1fr)}.top-actions{gap:5px}.top-actions .btn{font-size:11px;padding:8px}.page-head{display:block}.page-head .btn{margin-top:15px}.form-row{grid-template-columns:1fr}.kv{grid-template-columns:repeat(2,1fr)}.dialog-inner{padding:20px}.auth-card{padding:25px}}
