:root{color-scheme:light;--page:#faf9fc;--ink:#352c49;--muted:#91899f;--purple:#8065b1;--deep:#6d509d;--lavender:#f0eaf8;--line:#ece8f1;--white:#fff;--cream:#fff7e9;--shadow:0 7px 30px #51406a06;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--page);color:var(--ink);font-size:14px}button,input,select,textarea{font:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer;color:inherit}button{transition:background .18s,transform .18s,border-color .18s}button:disabled{cursor:wait;opacity:.6}button:active:not(:disabled){transform:translateY(1px)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #bda6df;outline-offset:3px}button{border:0}button:hover{filter:brightness(.98)}a{text-decoration:none;color:inherit}.app-shell{max-width:1680px;margin:auto;display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100vh}.sidebar{padding:38px 24px 26px;border-right:1px solid var(--line);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;background:#f8f6fb}.brand{display:flex;align-items:center;gap:12px;font-size:24px;font-weight:750;letter-spacing:1px}.brand-icon{width:43px;height:43px;border-radius:14px;background:#e4d9f3;color:#74529f;text-align:center;font-weight:900;font-size:36px;line-height:40px;transform:rotate(-5deg)}.brand small{display:block;font-weight:400;font-size:10px;letter-spacing:1px;color:var(--muted);margin-top:5px}.space-label{margin:57px 12px 16px;font-size:11px;color:#82778e}.space-label span{display:block;font-size:8px;letter-spacing:1.3px;margin-top:6px;color:#b2aabd}nav{display:flex;flex-direction:column;gap:9px}.nav-item{text-align:left;display:flex;align-items:center;gap:12px;background:none;color:#80758d;min-height:46px;border-radius:11px;padding:12px 14px;font-size:13px}.nav-item.active{background:#eae2f4;color:#73559e;font-weight:650}.nav-symbol{width:20px;font-size:21px;line-height:20px}.nav-count{margin-left:auto;font-size:11px;padding:2px 6px;border-radius:6px;background:#dfd3ee}.sidebar-note{margin:43px 8px 0;position:relative;color:#a99ab9;font-size:13px;line-height:1.9}.sidebar-note .little-star{display:block;color:#c0afd2;font-size:20px}.sidebar-note img{width:158px;display:block;margin:9px -3px;opacity:.88}.local-status{display:flex;align-items:center;gap:9px;font-size:11px;color:#83768e;margin-top:auto;padding-top:15px}.local-status small{display:block;margin-top:5px;font-size:9px;color:#a399b0}.status-dot{width:6px;height:6px;border-radius:50%;background:#9cab8c;box-shadow:0 0 0 4px #9cab8c14;flex:none}main{padding:34px 48px 20px;max-width:1256px;width:100%;margin:0 auto}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px}.eyebrow{font-size:9px;letter-spacing:2px;color:#a69bb6;font-weight:600}.topbar p{margin:7px 0 0;color:#7f758d;font-size:12px}.quiet-button{background:var(--white);border:1px solid var(--line);border-radius:10px;padding:11px 14px;color:#82738f;font-size:12px;min-height:40px}.welcome{display:flex;justify-content:space-between;align-items:center;min-height:220px;padding-top:16px}.hello-label{font-size:12px;color:#a092ae;letter-spacing:2px;margin-bottom:13px}.hello-label span{color:#b4a4c7;margin-left:8px}.welcome h1{font-size:36px;font-weight:650;line-height:1.4;letter-spacing:1px;margin:0 0 13px}.welcome h1>span{color:var(--purple)}.welcome p{font-size:12px;color:var(--muted);line-height:1.8;margin:0}.mobile-break{display:none}.welcome-cat{position:relative;width:200px;height:190px;margin-right:20px;align-self:flex-end}.welcome-cat img{width:186px;position:absolute;bottom:0;right:0;transform:rotate(5deg)}.bubble{position:absolute;left:-17px;top:10px;padding:9px 12px;border-radius:14px 14px 0 14px;background:#f0eaf8;color:#9a83b7;font-size:11px;transform:rotate(-5deg)}.composer{border:1px solid #e6deef;border-radius:17px;background:var(--white);box-shadow:var(--shadow);padding:21px 23px 15px}.composer-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:15px}.composer-top label{font-size:13px;font-weight:600}.composer-top>span{font-size:10px;color:#ada3b9}.composer form{display:flex;align-items:center;gap:8px;background:#f9f7fc;border:1px solid #e9e3f0;border-radius:11px;padding:6px 6px 6px 14px}.input-spark{font-size:24px;color:#b3a1cc;line-height:1}.composer input{min-width:0;flex:1;border:0;background:none;font-size:13px;padding:12px 3px;color:var(--ink)}input::placeholder,textarea::placeholder{color:#b0a8ba}.primary-button{background:var(--purple);color:var(--white);border-radius:9px;padding:12px 18px;font-size:12px;line-height:20px;flex-shrink:0}.primary-button>span{margin-left:12px}.composer-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:12px;gap:8px}.suggestions{display:flex;gap:7px;flex-wrap:wrap}.suggestions button{background:#faf8fd;color:#9b8cae;border:1px solid #f0ebf5;border-radius:6px;padding:6px 8px;font-size:10px;min-height:30px}.text-button{font-size:10px;color:#9e8cb4;background:none;padding:8px 0;white-space:nowrap}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:27px;margin-top:37px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.section-heading h2{font-size:19px;font-weight:600;letter-spacing:.5px;margin:7px 0 0}.section-heading h2>span{display:inline-flex;align-items:center;justify-content:center;margin-left:7px;background:#eae3f3;color:#9378b6;font-size:11px;min-width:23px;height:22px;border-radius:7px;vertical-align:middle}.round-button{border:1px solid var(--line);border-radius:50%;height:33px;width:33px;background:white;color:#9c8aad;font-size:22px;flex-shrink:0}.filter-tabs{display:flex;gap:22px;border-bottom:1px solid var(--line);margin-bottom:17px}.filter-tabs button{padding:11px 1px;color:#aa9fb8;background:none;font-size:11px;border-bottom:2px solid transparent}.filter-tabs button.selected{color:#8463ad;border-bottom-color:#9477b7;font-weight:600}.reminder-card{display:flex;align-items:flex-start;gap:13px;padding:19px 17px;background:var(--white);border:1px solid var(--line);border-radius:13px;margin-bottom:11px;box-shadow:var(--shadow)}.reminder-card.is-due{border-color:#e9c7b0;background:#fffaf6}.check-button{width:23px;height:23px;min-width:23px;border:1.5px solid #d9cfe5;border-radius:50%;background:#fff;color:#9a82b8;font-size:13px;line-height:19px;margin-top:1px}.is-done .check-button{background:#eae4f3;border-color:#eae4f3}.reminder-content{min-width:0;flex:1}.reminder-content h3{font-size:14px;font-weight:550;line-height:1.7;margin:0;overflow-wrap:anywhere}.is-done h3{color:#aaa1b6;text-decoration:line-through}.reminder-meta{font-size:10px;color:#9e91ad;margin-top:6px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.reminder-meta .due-label{color:#c28d69}.reminder-note{font-size:11px;color:#a299ae;margin:8px 0 0;line-height:1.7;white-space:pre-line;overflow-wrap:anywhere}.repeat-tag{font-size:9px;border-radius:4px;background:#f1edf7;padding:3px 5px}.card-actions{display:flex;gap:5px;flex-shrink:0}.icon-button{background:none;color:#b1a3bf;font-size:15px;min-width:29px;min-height:29px;border-radius:6px;padding:3px}.icon-button:hover{background:#f3eef8;color:#8062a4}.empty-state{text-align:center;border:1px dashed #e7e0ef;background:#fdfcfe;border-radius:14px;padding:23px 12px 29px;min-height:268px}.empty-art{display:flex;align-items:center;justify-content:center;gap:12px;color:#d5c5e6;font-size:20px;height:74px}.empty-art span{color:#d5cbe3;font-size:65px;line-height:1;transform:rotate(-8deg)}.empty-state h3{font-size:15px;font-weight:500;margin:8px 0 10px}.empty-state p{font-size:11px;color:#a599b2;line-height:1.9;margin:0 0 16px}.secondary-button{color:#9879b8;background:#f0eaf7;border:1px solid #e5dced;border-radius:8px;padding:10px 13px;font-size:11px}.list-footnote{color:#b2a7bd;font-size:10px;text-align:center;padding:18px 0}.day-aside{padding-top:2px}.focus-card{background:#f0ebf7;border:1px solid #e8e0f2;border-radius:16px;padding:21px 19px 14px}.card-heading{display:flex;align-items:center;justify-content:space-between;gap:5px;font-size:12px;font-weight:600;color:#82659f}.tiny-tag{font-size:8px;background:#e8def3;padding:4px 7px;border-radius:5px;color:#ad94c7;font-weight:400}.focus-description{font-size:10px;color:#a08db4;margin:11px 0 2px}.timer-wrap{width:155px;height:155px;margin:5px auto 6px;position:relative}.timer-wrap svg{width:100%;height:100%;transform:rotate(-90deg)}.timer-wrap circle{fill:none;stroke-width:4}.timer-track{stroke:#e2d8ee}.timer-progress{stroke:#ad92cb;stroke-linecap:round;stroke-dasharray:439.823;stroke-dashoffset:0;transition:stroke-dashoffset 1s linear}.timer-wrap>div{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.timer-wrap #timer-display{font-size:34px;font-weight:400;font-variant-numeric:tabular-nums;letter-spacing:1px;color:#82639f}.timer-wrap small{font-size:9px;color:#ad98c1;margin-top:9px}.focus-card select{width:100%;border:1px solid #e0d5ec;border-radius:7px;background:#f7f3fb;color:#967bab;padding:8px;font-size:10px}.focus-button{margin-top:10px;width:100%;border-radius:8px;background:#d9c9e9;color:#7c5b9a;font-size:12px;padding:12px}.focus-total{text-align:center;font-size:9px;color:#b09ac3;margin:12px 0 0}.focus-total strong{font-weight:500;color:#9876b5}.little-note{background:#fff7e9;border:1px solid #f5ead3;border-radius:13px;padding:19px 20px;margin-top:18px;transform:rotate(1deg)}.little-note>span{font-size:10px;color:#b99f77;display:flex;justify-content:space-between}.little-note i{font-size:15px;font-style:normal}.little-note p{font-size:17px;color:#a38965;line-height:1.9;margin:11px 0 16px;letter-spacing:1px}.little-note>div{font-size:9px;color:#c0ab89;display:flex;align-items:center;gap:4px}.little-note strong{font-size:17px;font-weight:500;margin:0 4px;color:#ab9066}.little-note>div>span{margin-left:auto;font-size:24px;color:#d8c39c}footer{display:flex;justify-content:space-between;gap:10px;color:#bcb2c6;font-size:9px;margin-top:39px;padding-top:18px;border-top:1px solid var(--line);line-height:1.8}.connection{padding:12px;background:#fff2df;border:1px solid #f0d2a4;border-radius:9px;margin-top:18px;font-size:12px;color:#957041}.notifications{margin-top:16px}.notifications:empty{display:none}.notification{background:#fff7e9;border:1px solid #eddfbd;border-radius:12px;padding:15px;display:flex;align-items:center;gap:12px;margin-bottom:8px}.notification>span{font-size:22px;color:#b4955e}.notification-content{flex:1;min-width:0}.notification strong{font-size:13px;font-weight:600;overflow-wrap:anywhere}.notification small{display:block;font-size:10px;color:#ac9873;margin-top:4px}.notification button{background:#efe0c3;border-radius:7px;color:#92764b;padding:8px 10px;font-size:10px}dialog{width:min(540px,calc(100vw - 32px));border:1px solid var(--line);border-radius:20px;padding:30px;color:var(--ink);box-shadow:0 20px 80px #30224025;background:#fdfcfe}dialog::backdrop{background:#33254755;backdrop-filter:blur(4px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center}.dialog-heading h2{font-size:23px;margin:8px 0 0;font-weight:600}.dialog-description{font-size:12px;color:#a293af;line-height:1.8;margin-bottom:22px}dialog label{display:block;font-size:12px;color:#7c6c8e;margin:16px 0 8px}dialog label span{font-size:10px;color:#b2a6bf;margin-left:5px}dialog input,dialog select,dialog textarea{width:100%;border:1px solid #e5deec;background:#fff;border-radius:9px;padding:11px 12px;color:var(--ink);font-size:13px;min-width:0}dialog textarea{resize:vertical}.field-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:15px}.confirm-summary{margin:19px 0 0;padding:12px;background:#f0eaf7;border-radius:9px;font-size:11px;color:#8c70aa;line-height:1.8;min-height:43px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.inline-error{font-size:12px;color:#ae6458;line-height:1.7;padding-top:6px}.toast{position:fixed;left:50%;bottom:30px;transform:translateX(-50%);background:#514060;color:#fff;border:1px solid #77638b;border-radius:10px;padding:13px 20px;font-size:12px;box-shadow:0 8px 25px #33234920;max-width:90vw;z-index:20}.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}.skip{position:fixed;top:-80px;left:20px;z-index:100;background:#fff;padding:12px}.skip:focus{top:10px}[hidden]{display:none!important}.focus-view .reminder-board{display:none}.focus-view .content-grid{display:block;max-width:560px;margin-left:auto;margin-right:auto}.focus-view .day-aside{display:grid;grid-template-columns:1fr 1fr;gap:22px}.focus-view .little-note{align-self:start;margin-top:0}.focus-view .welcome{min-height:190px}.focus-view .composer{display:none}
@media(min-width:1450px){main{padding-left:65px;padding-right:65px}.content-grid{grid-template-columns:minmax(0,1fr) 280px;gap:32px}.welcome{min-height:235px}.welcome h1{font-size:40px}}
@media(max-width:1120px){.app-shell{grid-template-columns:195px minmax(0,1fr)}.sidebar{padding:32px 17px 23px}main{padding:29px 30px 20px}.content-grid{grid-template-columns:minmax(0,1fr) 220px;gap:20px}.welcome h1{font-size:30px}.welcome-cat{width:170px;margin-right:0}.welcome-cat img{width:160px}.composer{padding:18px}.composer-bottom{align-items:flex-start}.suggestions{gap:4px}.suggestions button{font-size:9px}.sidebar-note img{width:140px}}
@media(max-width:900px){.app-shell{grid-template-columns:166px minmax(0,1fr)}.sidebar{padding:28px 12px 20px}.brand{font-size:21px;gap:8px}.brand-icon{width:35px;height:37px;font-size:32px;line-height:35px}.brand small{font-size:8px;letter-spacing:0}.nav-item{padding:11px 10px;gap:8px;font-size:12px}.space-label{margin:43px 9px 15px}.sidebar-note{margin-top:32px;font-size:12px}.sidebar-note img{width:125px}.local-status{font-size:9px;gap:7px}.local-status small{font-size:8px}.content-grid{grid-template-columns:minmax(0,1fr)}.day-aside{display:grid;grid-template-columns:1fr 1fr;gap:18px}.little-note{margin-top:0;align-self:start}.welcome-cat{width:140px}.welcome-cat img{width:140px}.bubble{left:-8px;font-size:9px;top:34px}.welcome h1{font-size:28px}.welcome p{max-width:280px;font-size:11px}.composer-bottom{flex-wrap:wrap}.primary-button{padding:10px 12px}.composer form{gap:5px}.composer input{font-size:12px}.topbar .eyebrow{font-size:8px;letter-spacing:1px}.topbar .quiet-button{font-size:10px;padding:9px}.reminder-card{padding:16px}.welcome{min-height:205px}footer{flex-direction:column}}
@media(max-width:600px){.app-shell{display:block}.sidebar{height:auto;position:relative;padding:20px 20px 0;border-right:0;background:var(--page)}.brand{font-size:23px}.brand small{font-size:9px;letter-spacing:1px}.brand-icon{height:37px;width:37px}.space-label,.sidebar-note,.local-status{display:none}nav{flex-direction:row;justify-content:space-between;gap:4px;margin-top:23px;border-bottom:1px solid var(--line);padding-bottom:12px}.nav-item{flex:1;justify-content:center;padding:9px 4px;gap:5px;font-size:11px;min-height:40px;white-space:nowrap}.nav-symbol{font-size:17px;width:auto}.nav-count{display:none}.nav-item.active{border-radius:8px}main{padding:21px 20px}.topbar .eyebrow{display:none}.topbar p{font-size:10px;margin:0}.topbar .quiet-button{font-size:9px;padding:8px;min-height:34px}.welcome{min-height:207px;position:relative;padding-top:12px}.hello-label{font-size:10px;margin-bottom:9px}.welcome h1{font-size:29px;line-height:1.4;margin-bottom:12px}.mobile-break{display:block}.welcome p{font-size:10px;max-width:235px;line-height:1.8;position:relative;z-index:1}.welcome-cat{width:120px;height:155px;position:absolute;right:-8px;top:34px}.welcome-cat img{width:125px}.bubble{font-size:8px;left:0;top:-2px;padding:7px}.composer{padding:16px 13px;border-radius:13px}.composer-top label{font-size:12px}.composer-top>span{font-size:8px}.composer form{flex-wrap:wrap;padding:8px}.composer input{width:calc(100% - 35px);flex:1;font-size:12px;padding:10px 2px}.composer .primary-button{width:100%;margin-top:4px;padding:8px;font-size:11px}.suggestions button{font-size:8px;padding:5px;min-height:30px}.composer-bottom{margin-top:9px;gap:4px}.text-button{font-size:9px;padding:7px 2px}.content-grid{margin-top:28px;gap:20px}.section-heading h2{font-size:18px}.day-aside{gap:12px;grid-template-columns:1.1fr 1fr}.focus-card{padding:16px 12px 12px;border-radius:12px}.card-heading{font-size:11px}.tiny-tag{display:none}.focus-description{font-size:9px}.timer-wrap{width:130px;height:130px;max-width:100%}.timer-wrap #timer-display{font-size:28px}.timer-wrap small{font-size:8px}.focus-card select{font-size:9px;padding:7px 4px}.focus-button{font-size:11px;padding:10px}.little-note{padding:15px 12px}.little-note p{font-size:15px;letter-spacing:0}.little-note>div{font-size:8px;flex-wrap:wrap}.reminder-card{padding:15px 12px;gap:10px}.reminder-content h3{font-size:13px}.card-actions{gap:0}.icon-button{min-width:26px;min-height:29px;font-size:14px}.reminder-meta{font-size:9px;gap:7px}.empty-state{min-height:245px;padding:20px 10px}.empty-state h3{font-size:14px}footer{margin-top:25px;font-size:8px}.field-grid{grid-template-columns:1fr;gap:0}dialog{padding:23px}.dialog-heading h2{font-size:21px}.focus-view .day-aside{display:block}.focus-view .little-note{margin-top:18px}.focus-view .timer-wrap{width:160px;height:160px}.focus-view .welcome{min-height:195px}.notification{padding:12px;gap:8px}.notification strong{font-size:12px}.notification small{font-size:9px}.notification button{font-size:9px;padding:8px}.toast{font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}
@media(prefers-color-scheme:dark){:root{color-scheme:dark;--page:#211d29;--ink:#e8dfef;--muted:#a99cb8;--purple:#9678bd;--deep:#b194d4;--lavender:#3c314b;--line:#3c3349;--white:#292332;--cream:#3a3228}.sidebar{background:#251f2e}.nav-item.active{background:#3d304e;color:#d1b9eb}.nav-count{background:#4c3c60}.brand-icon{background:#49375d;color:#d9c2ef}.composer,.reminder-card,.empty-state{background:#292332;border-color:#44384f}.composer form,.suggestions button{background:#302838;border-color:#44384f}.composer input,dialog input,dialog select,dialog textarea{color:#eee5f6}.bubble,.repeat-tag,.section-heading h2>span,.secondary-button{background:#3c304c;color:#bea4d7}.round-button,.check-button{background:#30283a;border-color:#51425e}.is-done .check-button{background:#4c3c60;border-color:#4c3c60}.filter-tabs button.selected{color:#c3a2e4}.focus-card{background:#342a42;border-color:#473957}.card-heading,.timer-wrap #timer-display{color:#ccb3e5}.timer-track{stroke:#50405e}.focus-card select{background:#302638;border-color:#544166;color:#c8addf}.focus-button{background:#5e4777;color:#e6d2f9}.little-note{background:#3b3128;border-color:#4f4131}.little-note p{color:#d7bd92}.little-note>span,.little-note>div{color:#bca27d}.is-due,.notification{background:#3a2f28;border-color:#6a503b}.notification button{background:#68523a;color:#f0d1a0}.connection{background:#493b25;border-color:#6e5735;color:#dfc697}dialog{background:#292332;border-color:#4a3c57}dialog input,dialog select,dialog textarea{background:#322a3a;border-color:#51415e}.confirm-summary{background:#3f314f;color:#ceb2e8}.quiet-button{color:#bdabc9}.primary-button{color:#fff}.icon-button:hover{background:#44334f}.skip{background:#302737}.inline-error{color:#efaca2}}
/* Small utility labels keep sufficient contrast on the quiet light surfaces. */
@media(prefers-color-scheme:light){:root{--muted:#786a86}.eyebrow,.space-label,.topbar p,.hello-label,.composer-top>span,.suggestions button,.text-button,.reminder-meta,.reminder-note,.list-footnote,.empty-state p,.focus-description,.focus-total,.timer-wrap small,.focus-card select,.tiny-tag,.local-status,.local-status small,.brand small,.sidebar-note,.dialog-description,dialog label,.confirm-summary,footer{color:#786687}.suggestions button,.text-button,.filter-tabs button,.quiet-button{color:#79618f}.focus-total strong,.card-heading,.focus-button,.bubble,.secondary-button{color:#76558f}.little-note>span,.little-note>div,.little-note p,.little-note strong{color:#886d46}.is-done h3{color:#8b7a98}.nav-item{color:#7a698a}.icon-button{color:#887298}.notification small{color:#8c7146}input::placeholder,textarea::placeholder{color:#85758f}}
/* Native button painting must not substitute a light face in dark appearance. */
button{-webkit-appearance:none;appearance:none;background-image:none}
@media(prefers-color-scheme:dark){
  .nav-item{background-color:transparent;color:#c4b4d5}
  .nav-item.active{background:#49375d;color:#eee3fb}
  .nav-count{background:#624b7a;color:#f4eafa}
  .quiet-button,.suggestions button,.round-button,.check-button{background:#352a43;border-color:#6b547f;color:#e1cdec}
  .secondary-button,.focus-button{background:#59416f;border-color:#85649f;color:#f4eafa}
  .primary-button{background:#78539d;color:#ffffff}
  .tiny-tag,.repeat-tag{background:#4a365d;color:#e8d6f7}
  .text-button,.filter-tabs button,.icon-button{color:#cdb8df}
  .filter-tabs button.selected{color:#ead4ff}
  .icon-button:hover{background:#49375d;color:#f4eafa}
  .focus-card select{background:#352a43;border-color:#6b547f;color:#e1cdec}
  .focus-description,.focus-total,.focus-total strong,.timer-wrap small{color:#c4b4d5}
  .notification button{background:#71583b;color:#fff0cf}
}
