:root{--accent:#cceb79;--on-accent:#1d2219;--page:#fafbf8;--panel:#fff;--soft:#f4f6f1;--field:#f7f8f5;--line:#e4e8e1;--ink:#242923;--muted:#7a8278;--primary:#283026;--on-primary:#fff;--danger:#c2513b;--shadow:0 12px 36px #2532210f;--radius:14px;--accent-ink:color-mix(in oklab, var(--accent) 42%, var(--ink));--accent-soft:color-mix(in oklab, var(--accent) 26%, var(--panel));--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--page:#171a18;--panel:#202421;--soft:#282e29;--field:#252a26;--line:#383e39;--ink:#ecf0eb;--muted:#a6afa5;--primary:#e9f1e8;--on-primary:#0f1511;--danger:#ef8a73;--shadow:0 12px 36px #0004;--accent-ink:color-mix(in oklab, var(--accent) 70%, var(--ink));--accent-soft:color-mix(in oklab, var(--accent) 16%, var(--panel));--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--page);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font:14px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--accent-ink)}h1,h2,h3{letter-spacing:-.01em;margin:0;font-weight:650}::selection{background:var(--accent);color:var(--on-accent)}:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px}.btn{border:1px solid var(--line);background:var(--panel);cursor:pointer;white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:6px;height:36px;padding:0 14px;font-weight:550;transition:background .12s,border-color .12s,transform 50ms;display:inline-flex}.btn:hover{background:var(--soft)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--primary);color:var(--on-primary);border-color:#0000}.btn.primary:hover{opacity:.9}.btn.accent{background:var(--accent);color:var(--on-accent);border-color:#0000}.btn.accent:hover{filter:brightness(.96)}.btn.ghost{background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--soft)}.btn.danger{color:var(--danger)}.btn.sm{border-radius:8px;height:30px;padding:0 10px;font-size:13px}.btn.block{width:100%}.icon-btn{width:34px;height:34px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;flex:none;place-items:center;display:inline-grid}.icon-btn:hover{background:var(--soft);color:var(--ink)}.icon-btn.on{color:var(--accent-ink)}.icon-btn:disabled{opacity:.4;cursor:default}.input,.select,.textarea{border:1px solid var(--line);background:var(--field);border-radius:10px;outline:none;width:100%;height:38px;padding:0 12px}.textarea{resize:vertical;height:auto;min-height:80px;padding:10px 12px;line-height:1.55}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent-ink);background:var(--panel)}.field{gap:6px;display:grid}.field>span{color:var(--muted);font-size:12.5px;font-weight:550}.row{align-items:center;gap:10px;display:flex}.row>.grow,.grow{flex:1;min-width:0}.grid2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.muted{color:var(--muted)}.small{font-size:12.5px}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.switch{flex:none;width:40px;height:24px;position:relative}.switch input{opacity:0;cursor:pointer;z-index:1;margin:0;position:absolute;inset:0}.switch i{background:var(--line);border-radius:99px;transition:all .15s;position:absolute;inset:0}.switch i:after{content:"";background:var(--panel);border-radius:50%;width:18px;height:18px;transition:all .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0003}.switch input:checked+i{background:var(--accent)}.switch input:checked+i:after{background:var(--on-accent);transform:translate(16px)}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}.chip{background:var(--soft);height:24px;color:var(--muted);white-space:nowrap;border-radius:99px;align-items:center;gap:4px;padding:0 9px;font-size:12.5px;display:inline-flex}.chip.accent{background:var(--accent-soft);color:var(--accent-ink)}.chip.danger{background:color-mix(in oklab, var(--danger) 14%, var(--panel));color:var(--danger)}.dot{border-radius:50%;flex:none;width:8px;height:8px}.backdrop{z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1418124d;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.dialog{background:var(--panel);border:1px solid var(--line);width:min(520px,100%);max-height:calc(100dvh - 32px);box-shadow:var(--shadow);border-radius:18px;gap:16px;padding:22px;display:grid;overflow:auto}.dialog h2{font-size:18px}.dialog-foot{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.toasts{z-index:90;gap:8px;display:grid;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast{background:var(--primary);color:var(--on-primary);box-shadow:var(--shadow);border-radius:12px;align-items:center;gap:14px;max-width:min(92vw,480px);padding:10px 16px;display:flex}.toast.error{background:var(--danger);color:#fff}.toast button{color:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:650;text-decoration:underline}.empty{height:100%;color:var(--muted);text-align:center;align-content:center;place-items:center;gap:10px;padding:32px;display:grid}.empty svg{opacity:.45}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.app{grid-template-columns:64px 1fr;height:100dvh;display:grid}.rail{border-right:1px solid var(--line);background:var(--page);flex-direction:column;align-items:center;gap:6px;padding:14px 0;display:flex}.rail-logo{width:36px;height:36px;margin-bottom:12px}.rail-btn{width:42px;height:42px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:12px;place-items:center;text-decoration:none;display:grid;position:relative}.rail-btn:hover{background:var(--soft);color:var(--ink)}.rail-btn.active{background:var(--accent);color:var(--on-accent)}.rail-btn .badge{background:var(--primary);min-width:16px;height:16px;color:var(--on-primary);text-align:center;border-radius:99px;padding:0 4px;font-size:10px;font-weight:700;line-height:16px;position:absolute;top:4px;right:4px}.rail-spacer{flex:1}.main{min-width:0;min-height:0;overflow:hidden}.auth{place-items:center;min-height:100dvh;padding:24px;display:grid}.auth-card{width:min(380px,100%);box-shadow:var(--shadow);gap:16px;padding:32px;display:grid}.auth-brand{align-items:center;gap:12px;margin-bottom:4px;display:flex}.auth-brand img{width:44px;height:44px}.auth-brand b{font-size:20px;line-height:1.2;display:block}.mail{grid-template-columns:232px minmax(300px,380px) 1fr;height:100%;display:grid}.side{border-right:1px solid var(--line);flex-direction:column;gap:4px;padding:14px 10px;display:flex;overflow-y:auto}.side-title{color:var(--muted);align-items:center;gap:8px;padding:14px 10px 4px;font-size:12px;font-weight:650;display:flex}.side-item{cursor:pointer;text-align:left;width:100%;height:34px;color:var(--ink);background:0 0;border:0;border-radius:9px;align-items:center;gap:10px;padding:0 10px;display:flex}.side-item svg{color:var(--muted);flex:none}.side-item:hover{background:var(--soft)}.side-item.active{background:var(--accent-soft);font-weight:600}.side-item.active svg{color:var(--accent-ink)}.side-item .count{color:var(--muted);margin-left:auto;font-size:12px;font-weight:600}.side-error{color:var(--danger);margin:0 10px;font-size:12px}.list-pane{border-right:1px solid var(--line);background:var(--panel);flex-direction:column;min-width:0;display:flex}.list-head{align-items:center;gap:6px;padding:12px 12px 8px;display:flex}.list-title{align-items:baseline;gap:8px;padding:2px 16px 10px;display:flex}.list-title h2{font-size:17px}.search{flex:1;position:relative}.search svg{color:var(--muted);pointer-events:none;position:absolute;top:11px;left:11px}.search .input{padding-left:34px}.list-scroll{flex:1;overflow-y:auto}.bulk{border-bottom:1px solid var(--line);background:var(--accent-soft);align-items:center;gap:2px;padding:4px 10px;display:flex}.msg{border-bottom:1px solid var(--line);cursor:pointer;content-visibility:auto;contain-intrinsic-size:auto 78px;grid-template-columns:22px 1fr;gap:0 8px;padding:11px 14px 11px 12px;display:grid;position:relative}.msg:hover{background:var(--soft)}.msg.active{background:var(--accent-soft)}.msg-bar{opacity:.85;border-radius:0 3px 3px 0;width:3px;position:absolute;top:10px;bottom:10px;left:0}.msg-mark{place-items:center;height:21px;display:grid}.msg-mark .dot{background:var(--accent-ink)}.msg-mark input{accent-color:var(--primary);width:15px;height:15px;margin:0;display:none}.msg:hover .msg-mark input,.msg-mark input:checked,.selecting .msg-mark input{display:block}.msg:hover .msg-mark .dot,.msg-mark input:checked+.dot,.selecting .msg-mark .dot{display:none}.msg-top{align-items:baseline;gap:8px;display:flex}.msg-from{min-width:0;color:var(--muted);flex:1}.msg-date{color:var(--muted);flex:none;font-size:12px}.msg-subject{color:var(--muted);align-items:center;gap:6px;display:flex}.msg-subject svg{flex:none}.msg-snippet{color:var(--muted);opacity:.85;font-size:13px}.msg.unread .msg-from{color:var(--ink);font-weight:680}.msg.unread .msg-subject{color:var(--ink);font-weight:560}.msg:not(.unread) .msg-subject span{color:var(--ink);opacity:.82}.star{color:#e4ae2d;fill:#e4ae2d}.reader{background:var(--page);flex-direction:column;min-width:0;display:flex}.reader-bar{border-bottom:1px solid var(--line);align-items:center;gap:2px;padding:10px 14px;display:flex}.reader-scroll{flex:1;overflow-y:auto}.reader-inner{max-width:780px;margin:0 auto;padding:28px 28px 64px}.reader-subject{overflow-wrap:anywhere;margin-bottom:20px;font-size:23px;line-height:1.35}.reader-meta{align-items:flex-start;gap:12px;margin-bottom:22px;display:flex}.avatar{color:#fff;border-radius:50%;flex:none;place-items:center;width:40px;height:40px;font-size:16px;font-weight:700;display:grid}.reader-meta b{font-size:15px}.reader-body{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.reader-body iframe{border:0;width:100%;display:block}.reader-text{white-space:pre-wrap;overflow-wrap:anywhere;padding:22px 24px;font-size:15.5px;line-height:1.75}.banner{background:var(--soft);color:var(--muted);border-radius:10px;align-items:center;gap:10px;margin-bottom:12px;padding:9px 14px;font-size:13px;display:flex}.banner button{margin-left:auto}.atts{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.att{border:1px solid var(--line);background:var(--panel);max-width:260px;color:var(--ink);border-radius:10px;align-items:center;gap:10px;padding:8px 12px;text-decoration:none;display:flex}.att:hover{background:var(--soft)}.att svg{color:var(--muted);flex:none}.compose{z-index:40;background:var(--panel);border:1px solid var(--line);width:min(620px,100vw - 48px);height:min(680px,100dvh - 40px);box-shadow:var(--shadow);border-bottom:0;border-radius:16px 16px 0 0;flex-direction:column;display:flex;position:fixed;bottom:0;right:24px}.compose-head{border-bottom:1px solid var(--line);align-items:center;padding:10px 10px 10px 18px;font-weight:650;display:flex}.compose-row{border-bottom:1px solid var(--line);align-items:center;gap:10px;min-height:42px;padding:0 18px;display:flex}.compose-row label{color:var(--muted);flex:none;width:44px;font-size:13px}.compose-row input,.compose-row select{background:0 0;border:0;outline:0;flex:1;min-width:0;height:40px}.editor-bar{border-bottom:1px solid var(--line);gap:2px;padding:6px 12px;display:flex}.editor{overflow-wrap:anywhere;outline:none;flex:1;padding:16px 18px;font-size:15px;line-height:1.7;overflow-y:auto}.editor blockquote,.or-quote{border-left:3px solid var(--line);color:var(--muted);margin:8px 0;padding-left:12px}.compose-atts{flex-wrap:wrap;gap:6px;padding:8px 18px 0;display:flex}.compose-foot{align-items:center;gap:8px;padding:12px 18px;display:flex}.planner{grid-template-columns:1fr 320px;height:100%;display:grid}.planner-main{padding:28px 32px 64px;overflow-y:auto}.planner-inner{max-width:760px;margin:0 auto}.planner-head{align-items:center;gap:12px;margin-bottom:18px;display:flex}.planner-head h1{font-size:24px}.tabs{background:var(--soft);border-radius:11px;gap:2px;padding:3px;display:inline-flex}.tabs button{cursor:pointer;height:30px;color:var(--muted);background:0 0;border:0;border-radius:8px;padding:0 13px;font-weight:550}.tabs button.active{background:var(--panel);color:var(--ink);box-shadow:0 1px 3px #0000001a}.quick-add{align-items:center;gap:8px;margin-bottom:22px;padding:6px 6px 6px 16px;display:flex}.quick-add input{background:0 0;border:0;outline:0;flex:1;min-width:0;height:40px;font-size:15px}.task-group h3{color:var(--muted);align-items:center;gap:8px;margin:20px 4px 8px;font-size:13px;display:flex}.task-group h3.overdue{color:var(--danger)}.task-list{overflow:hidden}.task{border-bottom:1px solid var(--line);align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.task:last-child{border-bottom:0}.task:hover{background:var(--soft)}.task-body{cursor:pointer;flex:1;min-width:0}.task-title{overflow-wrap:anywhere;font-size:15px}.task.done .task-title{color:var(--muted);text-decoration:line-through}.task-meta{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.task-actions{opacity:0;display:flex}.task:hover .task-actions,.task:focus-within .task-actions{opacity:1}.check{border:2px solid var(--muted);cursor:pointer;color:#0000;background:0 0;border-radius:50%;flex:none;place-items:center;width:22px;height:22px;margin-top:1px;padding:0;transition:all .12s;display:grid}.check:hover{border-color:var(--accent-ink);background:var(--accent-soft);color:var(--accent-ink)}.check.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.check.p2{border-color:var(--danger)}.check.p1{border-color:#e4ae2d}.planner-aside{border-left:1px solid var(--line);align-content:start;gap:20px;padding:28px 20px;display:grid;overflow-y:auto}.cal-head{align-items:center;margin-bottom:10px;font-weight:650;display:flex}.cal-grid{text-align:center;grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.cal-grid span{color:var(--muted);padding:4px 0;font-size:11.5px}.cal-day{aspect-ratio:1;cursor:pointer;background:0 0;border:0;border-radius:9px;font-size:13px;position:relative}.cal-day:hover{background:var(--soft)}.cal-day.other{color:var(--muted);opacity:.45}.cal-day.today{box-shadow:inset 0 0 0 1.5px var(--line);font-weight:750}.cal-day.sel{background:var(--accent);color:var(--on-accent)}.cal-day.has:after{content:"";opacity:.7;background:currentColor;border-radius:50%;width:4px;height:4px;margin-left:-2px;position:absolute;bottom:4px;left:50%}.stat{grid-template-columns:1fr 1fr;gap:10px;display:grid}.stat div{padding:14px}.stat b{font-size:22px;line-height:1.2;display:block}.menu{position:relative}.menu-pop{z-index:20;min-width:140px;box-shadow:var(--shadow);padding:5px;display:grid;position:absolute;top:36px;right:0}.menu-pop button{text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:7px;height:32px;padding:0 10px}.menu-pop button:hover{background:var(--soft)}.weekdays{gap:4px;display:flex}.weekdays button{border:1px solid var(--line);background:var(--field);cursor:pointer;border-radius:50%;width:34px;height:34px}.weekdays button.on{background:var(--accent);color:var(--on-accent);border-color:#0000;font-weight:650}.settings{height:100%;padding:28px 32px 64px;overflow-y:auto}.settings-inner{gap:28px;max-width:720px;margin:0 auto;display:grid}.settings h1{font-size:24px}.section{gap:12px;display:grid}.section h2{font-size:15px}.section .card{padding:4px 18px}.setting{border-bottom:1px solid var(--line);align-items:center;gap:14px;padding:14px 0;display:flex}.setting:last-child{border-bottom:0}.setting>div:first-child{flex:1;min-width:0}.setting .input,.setting .select{width:auto}.swatches{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.swatch{border:2px solid var(--panel);width:28px;height:28px;box-shadow:0 0 0 1px var(--line);cursor:pointer;border-radius:50%;padding:0}.swatch.on{box-shadow:0 0 0 2px var(--ink)}.swatch-custom{cursor:pointer;background:0 0;border:0;width:30px;height:30px;padding:0}.only-mobile{display:none}@media (width<=900px){.only-mobile{display:inline-grid}.app{grid-template-rows:1fr auto;grid-template-columns:1fr}.rail{padding:6px 8px calc(6px + env(safe-area-inset-bottom));border-right:0;border-top:1px solid var(--line);flex-direction:row;order:2;justify-content:space-around}.rail-logo,.rail-spacer{display:none}.mail{grid-template-columns:1fr;position:relative}.mail .side{z-index:45;background:var(--page);width:280px;box-shadow:var(--shadow);transition:transform .18s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.mail.drawer .side{transform:none}.drawer-mask{z-index:44;background:#1418124d;position:fixed;inset:0}.mail .reader,.mail.reading .list-pane{display:none}.mail.reading .reader{display:flex}.list-pane{border-right:0;position:relative}.fab{background:var(--accent);width:52px;height:52px;color:var(--on-accent);box-shadow:var(--shadow);cursor:pointer;border:0;border-radius:16px;position:absolute;bottom:16px;right:16px}.reader-inner{padding:18px 14px 48px}.reader-subject{font-size:20px}.compose{border:0;border-radius:0;width:auto;height:auto;inset:0}.planner{grid-template-columns:1fr}.planner-aside{display:none}.planner-main,.settings{padding:18px 14px 48px}.task-actions{opacity:1}.grid2{grid-template-columns:1fr}.toasts{bottom:76px}}
