: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(--selection,var(--accent));color:var(--on-selection,var(--on-accent))}:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px}*{scrollbar-width:thin;scrollbar-color:color-mix(in oklab, var(--ink) 18%, transparent) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background-clip:content-box;background-color:color-mix(in oklab, var(--ink) 14%, transparent);border:3px solid #0000;border-radius:99px}:hover::-webkit-scrollbar-thumb{background-color:color-mix(in oklab, var(--ink) 26%, transparent)}::-webkit-scrollbar-thumb:hover{background-color:color-mix(in oklab, var(--ink) 42%, transparent)}::-webkit-scrollbar-corner{background:0 0}.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.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-rows:minmax(0,1fr);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-rows:minmax(0,1fr);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>*{flex:none}.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;min-height: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{overscroll-behavior:contain;flex:1;min-height:0;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;min-height: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;min-height:0;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;min-height:0;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-rows:minmax(0,1fr);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)}.menu-pop.up{min-width:220px;inset:auto auto 38px 0}.menu-custom{border-top:1px solid var(--line);gap:6px;margin-top:4px;padding:6px 4px 2px;display:flex}.menu-custom .btn,.menu-custom .btn:hover{background:var(--primary);height:38px}.code-chip{vertical-align:1px;background:var(--accent);height:20px;color:var(--on-accent);cursor:pointer;letter-spacing:.04em;border:0;border-radius:99px;align-items:center;gap:4px;margin-right:6px;padding:0 8px;font:650 12px/1 ui-monospace,SF Mono,Menlo,monospace;display:inline-flex}.code-chip:hover{filter:brightness(.95)}.code-banner{cursor:pointer;border:1px solid color-mix(in oklab, var(--accent) 60%, var(--line));border-radius:var(--radius);background:var(--accent-soft);width:100%;color:var(--ink);align-items:center;gap:10px;margin-bottom:12px;padding:12px 16px;display:flex}.code-banner b{letter-spacing:.12em;font:700 22px/1 ui-monospace,SF Mono,Menlo,monospace}.code-banner:hover{background:color-mix(in oklab, var(--accent) 34%, var(--panel))}.quote-toggle{border:1px solid var(--line);background:var(--soft);color:var(--muted);cursor:pointer;border-radius:99px;margin:0 24px 18px;padding:3px 12px;font-size:12.5px;display:block}.quote-toggle:hover{color:var(--ink)}.thread-count{background:var(--soft);min-width:18px;height:18px;color:var(--muted);text-align:center;border-radius:99px;flex:none;padding:0 5px;font-size:11px;font-weight:700;line-height:18px}.banner.warn{background:color-mix(in oklab, var(--danger) 12%, var(--panel));color:var(--danger)}.conversation{gap:6px;margin:-8px 0 18px;display:grid}.conversation.after{margin:18px 0 0}.conv-item{border:1px solid var(--line);background:var(--panel);border-radius:12px;overflow:hidden}.conv-head{cursor:pointer;text-align:left;width:100%;color:var(--ink);background:0 0;border:0;align-items:center;gap:10px;padding:10px 12px;display:flex}.conv-head:hover{background:var(--soft)}.conv-item.open .reader-body{border:0}.links-panel{gap:8px;margin-bottom:12px;display:grid}.link-chip{border:1px solid color-mix(in oklab, var(--accent) 55%, var(--line));background:var(--accent-soft);max-width:100%;height:32px;color:var(--ink);border-radius:9px;align-items:center;gap:6px;padding:0 12px;font-size:13px;text-decoration:none;display:inline-flex}.link-chip:hover{filter:brightness(.97)}.link-chip .truncate{max-width:200px}.link-chip.bad{border-color:var(--danger);background:color-mix(in oklab, var(--danger) 10%, var(--panel))}.links-list{border:1px solid var(--line);background:var(--panel);border-radius:12px;max-height:320px;display:grid;overflow-y:auto}.links-list a{border-bottom:1px solid var(--line);color:var(--ink);align-items:center;gap:8px;min-width:0;padding:8px 12px;font-size:13px;text-decoration:none;display:flex}.links-list a:last-child{border-bottom:0}.links-list a:hover{background:var(--soft)}.links-list a.bad{color:var(--danger)}.ai-bar{gap:8px;margin-bottom:12px;display:grid}.ai-panel{background:color-mix(in oklab, var(--accent) 10%, var(--panel));border:1px solid color-mix(in oklab, var(--accent) 40%, var(--line));border-radius:12px;gap:10px;padding:14px 40px 14px 16px;display:grid;position:relative}.ai-close{width:28px;height:28px;position:absolute;top:6px;right:6px}.ai-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14.5px;line-height:1.7}.ai-loading{color:var(--muted);align-items:center;gap:8px;display:flex}.ai-error{color:var(--danger)}.ai-todo{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:8px 0;display:flex}.ai-todo:last-child{border-bottom:0}.tag{cursor:pointer}.auth{flex-direction:column;gap:12px}.auth-footer{text-align:center}.settings-layout{grid-template-rows:minmax(0,1fr);grid-template-columns:220px 1fr;height:100%;display:grid}.settings-nav{border-right:1px solid var(--line);flex-direction:column;gap:2px;padding:24px 12px;display:flex;overflow-y:auto}.settings-nav h1{padding:0 10px 14px;font-size:20px}.settings-nav .side-item{text-decoration:none}.settings-nav .admin-link{color:var(--muted);margin-top:auto}.settings-nav .admin-link svg{color:var(--muted)}.channel{border-bottom:1px solid var(--line);gap:4px;padding:14px 0;display:grid}.channel:last-child{border-bottom:0}.event-chips{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.event-chips .chip{cursor:pointer;border:0}.task-route{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:12px 0;display:flex}.task-route:last-child{border-bottom:0}.switch.off{opacity:.45;pointer-events:none}.steps{gap:6px;margin:0;padding-left:20px;line-height:1.6;display:grid}.steps code,.setting code{background:var(--soft);border-radius:5px;padding:1px 6px;font:12.5px ui-monospace,Menlo,monospace}.qr-box{background:var(--soft);border-radius:12px;align-items:center;gap:14px;padding:12px;display:flex}.qr-box img{background:#fff;border-radius:8px;flex:none;width:160px;height:160px}.stat4{grid-template-columns:repeat(4,1fr)}.ctx-menu{z-index:80;min-width:200px;max-width:280px;box-shadow:var(--shadow);-webkit-user-select:none;user-select:none;padding:5px;position:fixed}.ctx-row{position:relative}.ctx-item{width:100%;height:32px;color:var(--ink);text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:7px;align-items:center;gap:8px;padding:0 10px 0 6px;font-size:13.5px;display:flex}.ctx-item:hover:not(:disabled),.ctx-row:hover>.ctx-item:not(:disabled){background:var(--soft)}.ctx-item:disabled{opacity:.4;cursor:default}.ctx-item.danger{color:var(--danger)}.ctx-icon{width:20px;color:var(--muted);place-items:center;display:grid}.ctx-item.danger .ctx-icon{color:var(--danger)}.ctx-hint{color:var(--muted);font-size:12px}.ctx-sep{background:var(--line);height:1px;margin:4px 6px}.ctx-heading{color:var(--muted);padding:6px 10px 4px;font-size:12px}.ctx-sub{position:absolute;top:-5px}.ctx-sub.right{left:100%}.ctx-sub.left{right:100%}.selecting-drag,.selecting-drag *{-webkit-user-select:none;user-select:none;cursor:default}.msg.selected,.task.selected{background:color-mix(in oklab, var(--accent) 22%, var(--panel))}.msg.selected:hover,.task.selected:hover{background:color-mix(in oklab, var(--accent) 28%, var(--panel))}.select-all{place-items:center;width:22px;display:grid}.select-all input{width:15px;height:15px;accent-color:var(--primary);cursor:pointer;margin:0}.bind-code{background:var(--accent-soft);border-radius:12px;align-items:center;gap:12px;padding:14px 16px;display:flex}.bind-code b{letter-spacing:.18em;flex:1;font:700 26px/1 ui-monospace,Menlo,monospace}.code-block{background:var(--soft);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:10px;max-height:260px;margin:0;padding:12px 14px;font:12.5px/1.55 ui-monospace,Menlo,monospace;overflow-y:auto}.rule{gap:8px;padding:14px;display:grid}.assistant{z-index:42;background:var(--panel);border-left:1px solid var(--line);width:min(420px,100vw);box-shadow:var(--shadow);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0}.assistant-head{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:12px 10px 12px 16px;display:flex}.assistant-head svg{color:var(--accent-ink)}.assistant-body{flex-direction:column;flex:1;gap:12px;min-height:0;padding:16px;display:flex;overflow-y:auto}.assistant-empty{justify-items:start;gap:8px;display:grid}.bubble{overflow-wrap:anywhere;border-radius:14px;max-width:92%;padding:10px 14px;line-height:1.65}.bubble.from-user{background:var(--accent);color:var(--on-accent);border-bottom-right-radius:4px;align-self:flex-end}.bubble.from-ai{background:var(--soft);border-bottom-left-radius:4px;align-self:flex-start}.bubble-text{white-space:pre-wrap}.bubble code{background:var(--panel);border-radius:5px;padding:1px 5px;font:13px ui-monospace,Menlo,monospace}.pending-mail{background:var(--panel);border:1px solid var(--line);border-radius:10px;gap:8px;margin-top:10px;padding:10px 12px;display:grid}.pending-mail pre{white-space:pre-wrap;max-height:220px;margin:0;font-family:inherit;font-size:13px;line-height:1.6;overflow-y:auto}.assistant-input{border-top:1px solid var(--line);align-items:flex-end;gap:8px;padding:12px;display:flex}.assistant-input .textarea{resize:none;min-height:44px;max-height:160px}@media (width<=900px){.assistant{bottom:64px}}.tag.on{background:var(--accent);color:var(--on-accent)}.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:minmax(0,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}.settings-layout{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr}.settings-nav{border-right:0;border-bottom:1px solid var(--line);flex-direction:row;padding:10px;overflow-x:auto}.settings-nav h1{display:none}.settings-nav .side-item{flex:none;width:auto}.settings-nav .admin-link{margin-top:0}.task-route{flex-wrap:wrap}.stat4{grid-template-columns:1fr 1fr}.task-actions{opacity:1}.grid2{grid-template-columns:1fr}.toasts{bottom:76px}}:root[data-surface=clear] body{background:radial-gradient(1200px 600px at 0% 0%, color-mix(in oklab, var(--accent) 16%, transparent), transparent 60%), radial-gradient(900px 500px at 100% 100%, color-mix(in oklab, var(--accent) 10%, transparent), transparent 60%), var(--page);background-attachment:fixed}:root[data-surface=clear] :is(.dialog,.ctx-menu,.menu-pop,.card,.rail){background:color-mix(in oklab, var(--panel) 72%, transparent);-webkit-backdrop-filter:blur(18px)saturate(1.4)}:root[data-motion=off] :not(.spin),:root[data-motion=off] :before,:root[data-motion=off] :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}@media (prefers-reduced-motion:reduce){:not(.spin){transition:none!important;animation:none!important}}.dialog.look{gap:0;padding:0}.dialog.look>header{padding:20px 22px 6px}.dialog.look fieldset{border:0;border-bottom:1px solid var(--line);min-width:0;margin:0;padding:14px 22px 16px}.dialog.look legend{float:left;align-items:baseline;gap:8px;width:100%;margin-bottom:10px;padding:0;font-size:13px;font-weight:600;display:flex}.dialog.look legend+*{clear:both}.look-grid{gap:10px;display:grid}.look-grid.three{grid-template-columns:repeat(3,1fr)}.look-grid.two{grid-template-columns:repeat(2,1fr)}.look-choice{cursor:pointer;justify-items:center;gap:6px;font-size:12.5px;display:grid}.look-choice input,.look-swatch input[type=radio]{opacity:0;pointer-events:none;position:absolute}.look-preview{border:1px solid var(--line);outline-offset:2px;border-radius:8px;outline:2px solid #0000;width:100%;height:50px;transition:outline-color .12s;position:relative;overflow:hidden}.look-choice.on .look-preview,.look-choice:focus-within .look-preview{outline-color:var(--accent-ink)}.look-preview.mode-light{background:#f7f8f5}.look-preview.mode-dark{background:#23282a}.look-preview.mode-system{background:linear-gradient(90deg,#f7f8f5 50%,#23282a 50%)}.look-preview[class*=mode-] i{background:#e9ece6;width:26%;position:absolute;inset:0 auto 0 0}.look-preview.mode-dark i{background:#2f3532}.look-preview[class*=mode-] i:before{content:"";background:#9aa197;border-radius:2px;width:10px;height:3px;position:absolute;top:9px;left:8px}.look-preview[class*=mode-] b{background:var(--accent);filter:saturate(.8)brightness(.7);border-radius:2px;width:46%;height:4px;position:absolute;top:11px;left:36%}.look-preview[class*=mode-] em,.look-preview[class*=mode-] em:after{content:"";background:#b9beb6;border-radius:2px;width:36%;height:3px;position:absolute;top:22px;left:36%}.look-preview[class*=mode-] em:after{width:80%;top:7px;left:0}.look-preview.mode-dark em,.look-preview.mode-dark em:after{background:#59605b}.look-preview.mode-system em,.look-preview.mode-system em:after{background:linear-gradient(90deg,#b9beb6 50%,#59605b 50%)}.look-preview[class*=surface-]{background:var(--soft)}.look-preview[class*=surface-] i{background:color-mix(in oklab, var(--accent) 55%, #3c5a2c);border-radius:5px;width:34px;height:30px;position:absolute;top:8px;left:14%;transform:rotate(-8deg)}.look-preview[class*=surface-] b{background:var(--panel);border-radius:6px;position:absolute;inset:10px 14% 10px 28%;box-shadow:0 2px 8px #0001}.look-preview.surface-clear b{background:color-mix(in oklab, var(--panel) 55%, transparent);-webkit-backdrop-filter:blur(4px)}.look-preview[class*=surface-] em{background:#b9beb6;border-radius:2px;width:28%;height:3px;position:absolute;top:22px;left:45%}.look-swatches{flex-wrap:wrap;gap:14px;padding:2px 0;display:flex}.look-swatch{cursor:pointer;width:22px;height:22px;position:relative}.look-swatch span{background:var(--swatch);border-radius:50%;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #0000001a}.look-swatch.on span{box-shadow:0 0 0 2px var(--panel), 0 0 0 4px var(--swatch)}.look-swatch:focus-within span{box-shadow:0 0 0 2px var(--panel), 0 0 0 4px var(--accent-ink)}.look-swatch.custom span{background:conic-gradient(#e55c60,#e9bf36,#66ac73,#3985ee,#a16ad3,#e55c60)}.look-swatch.custom.on span{background:var(--swatch)}.look-swatch.custom input{opacity:0;cursor:pointer;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.look-rows{padding:8px 22px;display:grid}.look-row{justify-content:space-between;align-items:center;gap:12px;min-height:42px;display:flex}.look-row select{width:auto;min-width:140px;height:34px}.dialog.look>footer{border-top:1px solid var(--line);padding:12px 22px 18px}@media (width<=480px){.look-grid.three{gap:6px}.look-swatches{gap:12px}}.log-view{max-height:calc(100dvh - 260px);padding:6px 0;font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow:auto}.log-line{white-space:pre-wrap;word-break:break-all;grid-template-columns:150px 1fr;gap:12px;padding:2px 14px;display:grid}.log-line time{color:var(--muted);white-space:nowrap}.log-line.warn{background:oklab(81.9411% -.00204846 .152116/.12)}.log-line.error{background:color-mix(in oklab, var(--danger) 12%, transparent);color:var(--danger)}.btn.danger{color:var(--danger)}@media (width<=640px){.log-line{grid-template-columns:1fr;gap:0}}.notes{gap:12px;display:grid}.notes .quick-add{margin-bottom:0}.trip-banner{background:var(--accent-soft);border-color:#0000;align-items:center;gap:12px;padding:12px 16px;display:flex}.notes-bar{flex-wrap:wrap;gap:8px}.notes-summary{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;display:grid}.notes-summary>.card{gap:10px;padding:14px 16px;display:grid}.big{letter-spacing:-.02em;font-size:24px;font-weight:700}.accent-ink{color:var(--accent-ink)}.cat-bars{gap:5px;display:grid}.cat-bar{grid-template-columns:44px 1fr auto;align-items:center;gap:8px;font-size:12.5px;display:grid}.cat-bar i{background:var(--accent);border-radius:99px;min-width:4px;height:6px}.note-row{cursor:pointer;align-items:center}.note-cat{background:var(--accent-soft);width:30px;height:30px;color:var(--accent-ink);border-radius:9px;flex:none;place-items:center;font-size:11.5px;font-weight:650;display:grid}.note-cat.cat-memo{background:var(--soft);color:var(--muted)}.note-amount{white-space:nowrap;font-variant-numeric:tabular-nums}.empty-hint{color:var(--muted);cursor:pointer;padding:14px 16px;font-size:13px}.empty-hint:hover{background:var(--soft)}.task-group h3.row{align-items:center;gap:6px;display:flex}.setup-card{width:min(560px,100%)}.setup-steps{gap:6px;margin:0;padding:0;list-style:none;display:flex}.setup-steps li{background:var(--soft);color:var(--muted);white-space:nowrap;border-radius:10px;flex:1;align-items:center;gap:6px;padding:7px 10px;font-size:12.5px;display:flex}.setup-steps li i{background:var(--panel);border-radius:50%;flex:none;place-items:center;width:20px;height:20px;display:grid}.setup-steps li.on{background:var(--accent-soft);color:var(--accent-ink);font-weight:600}.setup-steps li.done{color:var(--ink)}.setup-steps li.done i{background:var(--accent);color:var(--on-accent)}.setup-form{gap:14px;display:grid}.setup-form p{margin:0}.setup-grid{grid-template-columns:1fr 1fr;align-items:start;gap:12px;display:grid}.setup-hint{color:var(--muted);font-size:12px;font-weight:400}.setup-cmd{background:var(--soft);-webkit-user-select:all;user-select:all;border-radius:10px;margin:0;padding:10px 12px;font:12.5px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow-x:auto}.setup-code{letter-spacing:.12em;text-align:center;height:46px;font:600 18px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.setup-note{border-radius:10px;align-items:flex-start;gap:8px;padding:10px 12px;font-size:12.5px;display:flex}.setup-note.ok{background:var(--accent-soft);color:var(--accent-ink);align-items:center}.setup-note.warn{background:color-mix(in oklab, #e9bf36 16%, var(--panel))}.setup-note input{flex:none;margin-top:2px}@media (width<=520px){.setup-grid{grid-template-columns:1fr}.setup-steps li{justify-content:center;padding:7px 6px}.setup-steps li:not(.on){gap:0;font-size:0}}
