html:before{content:"";pointer-events:none;z-index:9999;opacity:.032;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.72' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}:root{--bg:#e0e0dd;--surf-0:#ededea;--surf-1:#fafaf8;--surf-2:#e8e8e5;--on:#0d0d0d;--on-2:#484848;--on-3:#989894;--div:#e0e0dc;--div-v:#c8c8c4;--mob-glass:#141416d1;--mob-glass-border:#ffffff12;--user-bg:#0d0d0d;--user-fg:#f5f5f3;--ai-bg:#fcfcfa;--ai-fg:#0d0d0d;--ai-border:#e8e8e4;--think-bg:#f6f6f4;--think-fg:#aaa;--accent:#6fa86a;--accent-dim:#6fa86a1f;--green:#6fa86a;--danger:#c62828;--send-btn:#8b75c4;--e1:0 1px 3px #0000000f, 0 1px 2px #0000000a;--e2:0 3px 10px #0000001a, 0 1px 4px #0000000f;--e3:0 6px 20px #0000001a, 0 2px 6px #0000000f;--r:10px}html.dark{--bg:#161823;--surf-0:#1b1e2c;--surf-1:#21243a;--surf-2:#272b40;--on:#f0e6d8;--on-2:#a8a5a0;--on-3:#5d606c;--div:#2a2d3e;--div-v:#353848;--user-bg:#f0e6d8;--user-fg:#161823;--ai-bg:#1b1e2c;--ai-fg:#f0e6d8;--ai-border:#2a2d3e;--think-bg:#191c2a;--think-fg:#4a4d58;--e1:0 1px 3px #0006, 0 1px 2px #00000047;--e2:0 3px 10px #00000080, 0 1px 4px #00000052;--e3:0 6px 24px #0009, 0 2px 8px #0000005c;--mob-glass:#121420e0;--mob-glass-border:#f0e6d812;--accent:#70b0cc;--accent-dim:#70b0cc26;--green:#70b0cc;--send-btn:#c4956a}[data-theme=letterpress]{--bg:#c9b8a7;--surf-0:#ddd0c2;--surf-1:#f0e8df;--surf-2:#e2d3c8;--on:#2e2e2e;--on-2:#5a4e44;--on-3:#9a8c82;--div:#d4c4b4;--div-v:#beb0a2;--user-bg:#2e2e2e;--user-fg:#f5f0eb;--ai-bg:#f0e8df;--ai-fg:#2e2e2e;--ai-border:#d4c4b4;--think-bg:#ddd0c2;--think-fg:#9a8c82;--accent:#567c8d;--accent-dim:#567c8d24;--green:#567c8d;--danger:#eb5a4f;--send-btn:#eb5a4f;--mob-glass:#2e241cd6;--mob-glass-border:#fff0dc1a}[data-theme=celadon]{--bg:#eae6dc;--surf-0:#f4f0e4;--surf-1:#fdfaf4;--surf-2:#ede8de;--on:#22302c;--on-2:#4a5e58;--on-3:#8a9e98;--div:#d8d2c6;--div-v:#c4beae;--user-bg:#22302c;--user-fg:#f4f0e4;--ai-bg:#fdfaf4;--ai-fg:#22302c;--ai-border:#d8d2c6;--think-bg:#ede8de;--think-fg:#8a9e98;--accent:#44a194;--accent-dim:#44a19421;--green:#44a194;--danger:#d95858;--send-btn:#ec8f8d;--mob-glass:#22302cd6;--mob-glass-border:#f4f0e41a;--e1:0 1px 3px #0000000f, 0 1px 2px #0000000a;--e2:0 3px 8px #00000014, 0 1px 3px #0000000d;--e3:0 6px 20px #0000001a, 0 2px 6px #0000000f}[data-theme=mohai]{--bg:#1c2830;--surf-0:#212f38;--surf-1:#25343f;--surf-2:#2c3e4a;--on:#eaefef;--on-2:#bfc9d1;--on-3:#6a7e8a;--div:#2e3f4c;--div-v:#3a5060;--user-bg:#eaefef;--user-fg:#1c2830;--ai-bg:#212f38;--ai-fg:#eaefef;--ai-border:#2e3f4c;--think-bg:#1a272f;--think-fg:#4a6070;--accent:#ff9b51;--accent-dim:#ff9b5126;--green:#ff9b51;--danger:#ff6b6b;--send-btn:#ff9b51;--mob-glass:#10161ce0;--mob-glass-border:#eaefef12;--e1:0 1px 3px #0006, 0 1px 2px #00000047;--e2:0 3px 10px #00000080, 0 1px 4px #00000052;--e3:0 6px 24px #0009, 0 2px 8px #0000005c}.sidebar{--surf-1:#2e2e2c;--surf-2:#383836;--on:#f0f0ee;--on-2:#b8b8b4;--on-3:#828280;--div:#3e3e3c;--div-v:#4e4e4c;--div-h:#282826;background:var(--surf-1);border-right-color:var(--div)!important}html.dark .sidebar{--surf-1:#1b1e2c;--surf-2:#21243a;--on:#f0e6d8;--on-2:#a8a5a0;--on-3:#5d606c;--div:#2a2d3e;--div-v:#353848}[data-theme=mohai] .sidebar{--surf-1:#212f38;--surf-2:#25343f;--on:#eaefef;--on-2:#bfc9d1;--on-3:#6a7e8a;--div:#2e3f4c;--div-v:#3a5060}*,:before,:after{box-sizing:border-box;margin:0;padding:0;font-family:inherit}:focus{outline:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}button:focus-visible,[role=button]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}*{-webkit-tap-highlight-color:transparent}body{background:var(--bg);color:var(--on);height:100dvh;font-family:Nowar Rounded TW Wc,Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif;overflow:hidden}@media (width>=768px){body:after{content:"";pointer-events:none;z-index:0;background:radial-gradient(ellipse 80% 60% at 20% 50%, color-mix(in srgb, var(--accent) 4%, transparent), transparent), radial-gradient(ellipse 60% 80% at 80% 40%, color-mix(in srgb, var(--accent) 3%, transparent), transparent);position:fixed;inset:0}}.app{box-sizing:border-box;gap:10px;width:100%;height:100dvh;padding:10px;display:flex}.sidebar{background:var(--surf-1);border-radius:16px;flex-direction:column;flex-shrink:0;width:236px;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 28px #00000038,0 1px 4px #00000024}.sid-head{border-bottom:1px solid var(--div);padding:20px 16px 16px}.identity{align-items:center;gap:12px;margin-bottom:14px;display:flex}.av-sq{background:var(--accent-dim);border:1.5px solid #6fa86a40;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;font-size:22px;display:flex}.app-name{letter-spacing:4px;color:var(--on);font-family:Nowar Rounded TW Wc,Noto Sans SC,serif;font-size:20px;font-weight:400;line-height:1.2}.app-sub{color:var(--on-3);letter-spacing:.5px;margin-top:3px;font-size:10px;font-weight:300}.status-row{background:var(--surf-2);border:1px solid var(--div);border-radius:var(--r);align-items:center;gap:6px;padding:4px 8px;display:inline-flex}.dot{border-radius:50%;flex-shrink:0;width:5px;height:5px}.dot-green{background:var(--accent)}.status-text{color:var(--on-3);white-space:nowrap;font-size:10.5px;font-weight:300}.sid-body{flex:1;padding:12px 0 8px;overflow:hidden auto}.sid-body::-webkit-scrollbar{width:3px;transition:width .2s}.sid-body::-webkit-scrollbar-thumb{background:var(--div-v);border-radius:1px}.sid-body::-webkit-scrollbar-thumb:hover{background:var(--on-3)}.sid-foot{border-top:1px solid var(--div);flex-shrink:0;padding:14px 16px}.sid-foot-quote{color:var(--on-3);letter-spacing:.5px;font-size:11px;font-weight:300;line-height:1.7;transition:opacity .4s}.sid-sec{margin-bottom:18px;padding:0 14px}.sec-lbl{color:var(--on-3);text-transform:uppercase;letter-spacing:2px;margin-bottom:8px;padding:0 8px;font-size:9px;font-weight:500}.model-row{background:var(--surf-2);border:1px solid var(--div);border-radius:var(--r);justify-content:space-between;align-items:center;padding:7px 10px;display:flex}#modelBadge{color:var(--on-2);font-size:11.5px;font-weight:400}.mdot{background:var(--on-3);border-radius:50%;width:5px;height:5px}.mdot.live{background:var(--accent)}.api-line{color:var(--on-3);margin-top:6px;padding:0 1px;font-size:11px;font-weight:300;line-height:1.5}.api-line.ok{color:var(--accent)}.api-line.err{color:var(--danger)}.settings-row-btn{border:none;border-bottom:1px solid var(--div);width:100%;color:var(--on-2);cursor:pointer;text-align:left;background:0 0;justify-content:space-between;align-items:center;margin-top:8px;padding:9px 2px;font-family:inherit;font-size:12px;transition:color .12s,transform .15s;display:flex}.settings-row-btn:hover{color:var(--on-1);transform:translate(1px)}.settings-row-btn:active{transform:scale(.98)}.settings-row-arrow{color:var(--on-3);font-size:16px}.sub-modal-overlay{z-index:600;background:#0000004d;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.sub-modal{background:var(--surf-1);border:1px solid var(--div);border-radius:14px;flex-direction:column;width:320px;max-width:calc(100vw - 40px);max-height:calc(100vh - 80px);display:flex;box-shadow:0 8px 32px #0000001f}.sub-modal-head{border-bottom:1px solid var(--div);justify-content:space-between;align-items:center;padding:16px 20px 12px;display:flex}.sub-modal-title{color:var(--on-1);font-size:14px;font-weight:600}.sub-modal-close{background:var(--surf-2);width:26px;height:26px;color:var(--on-2);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:16px;display:flex}.sub-modal-close:hover{background:var(--div)}.sub-modal-body{padding:16px 20px;overflow-y:auto}.sub-modal-foot{border-top:1px solid var(--div);flex-direction:column;align-items:stretch;gap:6px;padding:12px 20px 16px;display:flex}.sub-modal-foot .api-line{text-align:center;min-height:14px;margin-top:0}.form{flex-direction:column;gap:9px;display:flex}.f-row{flex-direction:column;gap:3px;display:flex}.f-lbl{color:var(--on-3);letter-spacing:.3px;font-size:10px;font-weight:400}.f-inp,.f-sel{background:var(--surf-2);border:1px solid var(--div-v);border-radius:var(--r);width:100%;color:var(--on);outline:none;padding:7px 10px;font-family:inherit;font-size:12px;font-weight:300;transition:border-color .12s}.f-inp:focus,.f-sel:focus{border-color:var(--on-2)}.f-inp::placeholder{color:var(--on-3)}.f-textarea{background:var(--surf-2);border:1px solid var(--div-v);border-radius:var(--r);width:100%;color:var(--on);resize:vertical;box-sizing:border-box;outline:none;padding:7px 10px;font-family:inherit;font-size:12px;font-weight:300;transition:border-color .12s}.f-textarea:focus{border-color:var(--on-2)}.f-textarea::placeholder{color:var(--on-3)}.f-sub{color:var(--on-3);font-size:10px;line-height:1.4}.f-sel{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%239A9A9A' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;padding-right:26px}.key-hdr{align-items:center;gap:6px;margin-bottom:6px;display:flex}.key-hdr .f-lbl{flex:1}.key-val{color:var(--on-3);font-size:11px;font-weight:300}.key-val.set{color:var(--accent)}.key-fields{flex-direction:column;gap:5px;display:flex}.key-fields.hidden{display:none}.btn{border:1px solid var(--div-v);border-radius:var(--r);color:var(--on-2);cursor:pointer;-webkit-tap-highlight-color:transparent;white-space:nowrap;background:0 0;padding:7px 12px;font-family:inherit;font-size:11.5px;font-weight:400;transition:background .12s,color .12s,border-color .12s}.btn:hover{background:var(--surf-2);border-color:var(--on-3)}.btn-xs{padding:3px 8px;font-size:10.5px}.btn-fill{background:var(--on);color:var(--surf-1);text-align:center;border-color:#0000;flex:1;font-weight:500}.btn-fill:hover{opacity:.8;background:var(--on);border-color:#0000}.btn-danger{color:var(--danger,#e05c5c);border-color:var(--danger,#e05c5c)}.btn-danger:hover{background:var(--danger,#e05c5c);color:#fff}.sheet-btn{border:1px solid var(--div-v);background:var(--surf-1);height:30px;color:var(--on-2);cursor:pointer;border-radius:8px;flex-shrink:0;padding:0 12px;font-family:inherit;font-size:12px;font-weight:400}.sheet-btn:hover{background:var(--surf-2);border-color:var(--on-3)}.sheet-btn-accent{background:var(--send-btn,var(--accent));color:#fff;border-color:var(--send-btn,var(--accent))}.sheet-btn-accent:hover{opacity:.88;background:var(--send-btn,var(--accent));border-color:var(--send-btn,var(--accent))}#memClearAllBtn.confirming{color:var(--danger);border-color:var(--danger)}.btn-ghost{border-radius:var(--r);color:var(--on-3);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;padding:5px 10px;font-family:inherit;font-size:11.5px;transition:background .12s,color .12s}.btn-ghost:hover{background:var(--surf-2);color:var(--on-2)}.btn-ghost.d:hover{color:var(--danger);background:#c6282814}.btn-ghost.d.confirming{color:var(--danger);background:#c628281a}.icon-btn{border-radius:var(--r);width:32px;height:32px;color:var(--on-3);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;transition:background .12s,color .12s,border-color .12s;display:flex}.icon-btn:hover{background:var(--surf-2);border-color:var(--div);color:var(--on-2)}.icon-btn.d:hover{color:var(--danger);background:#c6282814;border-color:#c628284d}.icon-btn.d.confirming{color:var(--danger);background:#c628281a;border-color:#c6282859}.icon-btn svg{width:14px;height:14px}.hr{background:var(--div);height:1px;margin:0 0 16px}.sid-nav{flex-direction:column;gap:2px;padding:4px 10px;display:flex}.nav-item{color:var(--on-3);cursor:pointer;-webkit-tap-highlight-color:transparent;text-align:left;z-index:1;background:0 0;border:none;border-radius:10px;align-items:center;gap:10px;width:100%;padding:9px 12px;font-family:inherit;font-size:13px;font-weight:400;transition:color .15s,transform .18s cubic-bezier(.34,1.56,.64,1);display:flex;position:relative}.nav-item:hover{color:var(--on-2);transform:translate(2px)}.nav-item.active{color:var(--accent);background:0 0;font-weight:500;transform:none}.nav-item.active svg{stroke:var(--accent)}.nav-pill{background:var(--accent-dim);pointer-events:none;z-index:0;border-radius:10px;height:36px;transition:top .32s cubic-bezier(.34,1.4,.64,1),height .32s cubic-bezier(.34,1.4,.64,1),opacity .18s;position:absolute;left:0;right:0}.nav-item.disabled{opacity:.32;cursor:default}.nav-item.disabled:hover{color:var(--on-3);background:0 0}.nav-item svg{flex-shrink:0;width:16px;height:16px}.cat-mgr-details{border-radius:8px;overflow:hidden}.cat-mgr-summary{cursor:pointer;-webkit-tap-highlight-color:transparent;background:var(--surf-2);color:var(--on);border-radius:8px;justify-content:space-between;align-items:center;padding:8px 10px;font-size:12px;font-weight:500;list-style:none;transition:background .12s;display:flex}.cat-mgr-summary::-webkit-details-marker{display:none}.cat-mgr-summary:after{content:"›";color:var(--on-3);font-size:14px;transition:transform .2s}.cat-mgr-details[open] .cat-mgr-summary:after{transform:rotate(90deg)}.cat-mgr-summary:hover{background:var(--div)}.cat-mgr-row{align-items:center;gap:8px;display:flex}.cat-color-dot{cursor:pointer;border:2px solid #0000;border-radius:50%;flex-shrink:0;width:14px;height:14px;transition:transform .12s}.cat-color-dot:hover{transform:scale(1.2)}.cat-mgr-name{color:var(--on);flex:1;font-size:13px}.cat-mgr-del{color:var(--on-3);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 4px;font-size:11px}.cat-mgr-del:hover{color:var(--danger)}.cat-add-row{align-items:center;gap:6px;margin-top:4px;display:flex}.cat-add-row input{flex:1;min-width:0}.cat-palette{background:var(--surf-0);border-radius:8px;flex-wrap:wrap;gap:4px;margin-top:6px;padding:6px;display:flex}.cat-pal-dot{cursor:pointer;border:2px solid #0000;border-radius:50%;width:18px;height:18px;transition:transform .12s,border-color .12s}.cat-pal-dot:hover{transform:scale(1.15)}.cat-pal-dot.selected{border-color:var(--on)}.theme-swatches{align-items:center;gap:5px;display:flex}.swatch{cursor:pointer;border-radius:50%;flex-shrink:0;width:18px;height:18px;padding:0;transition:transform .15s,box-shadow .15s}.swatch:hover{transform:scale(1.2)}.swatch.active{box-shadow:0 0 0 2px var(--accent);transform:scale(1.25)}.sid-settings{background:var(--surf-1);border:1px solid var(--div);opacity:0;pointer-events:none;z-index:600;border-radius:12px;width:236px;max-height:0;transition:max-height .28s cubic-bezier(.4,0,.2,1),opacity .2s;position:fixed;bottom:66px;left:10px;overflow:hidden;box-shadow:0 -4px 24px #00000038,0 2px 8px #0000001f}.sid-settings.open{opacity:1;pointer-events:auto;max-height:520px}.sid-settings-inner{padding:14px 16px 16px}.settings-panel-title{color:var(--on-1);letter-spacing:0;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:13px;font-weight:600;display:flex}.sg{border-radius:8px;margin-bottom:4px;overflow:hidden}.sg-head{background:var(--surf-2);cursor:pointer;-webkit-tap-highlight-color:transparent;width:100%;color:var(--on-1);border:none;border-radius:8px;justify-content:space-between;align-items:center;padding:9px 10px;font-size:12px;font-weight:500;transition:background .12s;display:flex}.sg-head:hover{background:var(--div)}.sg-chevron{width:14px;height:14px;color:var(--on-3);flex-shrink:0;transition:transform .22s}.sg.open .sg-chevron{transform:rotate(90deg)}.sg-body{max-height:0;transition:max-height .24s cubic-bezier(.4,0,.2,1);overflow:hidden}.sg.open .sg-body{max-height:400px}.sg-body-inner{flex-direction:column;gap:0;padding:8px 4px 4px;display:flex}.sg-body-inner .settings-row-btn{margin-top:0}.sg-body-inner .form{gap:8px}.settings-group-label{color:var(--on-3);text-transform:uppercase;letter-spacing:1.5px;margin:12px 0 4px;font-size:9px;font-weight:500}.main{background:var(--surf-1);min-width:0;box-shadow:var(--e2);border-radius:16px;flex-direction:column;flex:1;display:flex;overflow:hidden}.chat-messages{background:var(--bg);flex-direction:column;flex:1;gap:3px;padding:28px 36px;display:flex;overflow-y:auto}.chat-messages::-webkit-scrollbar{width:4px;transition:width .2s}.chat-messages::-webkit-scrollbar-track{background:0 0}.chat-messages::-webkit-scrollbar-thumb{background:var(--div-v);border-radius:2px}.chat-messages::-webkit-scrollbar-thumb:hover{background:var(--on-3)}.message{gap:10px;max-width:800px;margin-bottom:-32px;padding-bottom:32px;animation:.2s both msgIn;display:flex;position:relative}.message:hover{z-index:2}@keyframes msgIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.message.user{flex-direction:row-reverse;align-self:flex-end;max-width:72%}.avatar{background:var(--surf-2);border:1px solid var(--div);border-radius:50%;flex-shrink:0;justify-content:center;align-self:flex-end;align-items:center;width:30px;height:30px;font-size:14px;display:flex}.message-body{flex-direction:column;gap:3px;max-width:82%;display:flex;position:relative}.message.user .message-body{flex:1;align-items:flex-end;max-width:100%}.message-content{word-wrap:break-word;box-shadow:var(--e1);border-radius:16px;padding:10px 15px;font-size:13.5px;font-weight:300;line-height:1.74;position:relative}.message.user .message-content{background:var(--user-bg);color:var(--user-fg);white-space:pre-wrap}.message.ai .message-content{background:var(--ai-bg);color:var(--ai-fg);border:1px solid var(--ai-border);white-space:pre-wrap}.chart-bubble{background:var(--ai-bg);border:1px solid var(--ai-border);border-radius:var(--r);max-width:100%;padding:14px 16px 10px}.chart-title{color:var(--on-2);letter-spacing:.3px;margin-bottom:10px;font-size:12px;font-weight:600}.chart-svg{width:100%;display:block;overflow:visible}.table-scroll-wrap{margin:4px 0;position:relative}.table-scroll-wrap .table-inner{-webkit-overflow-scrolling:touch;overflow-x:auto}.table-scroll-wrap.collapsed .table-inner{max-height:260px;transition:max-height .3s;overflow-y:hidden}.table-scroll-wrap.collapsed.expanded .table-inner{max-height:9999px;overflow-y:visible}.table-scroll-wrap .table-toggle{border:none;border-top:1px solid var(--ai-border);width:100%;color:var(--accent);cursor:pointer;text-align:center;background:0 0;margin-top:4px;padding:4px 0;font-size:11px;display:none}.table-scroll-wrap.overflow .table-toggle{display:block}.chart-table{border-collapse:collapse;width:100%;color:var(--on);box-shadow:inset 2px 0 0 color-mix(in srgb, var(--accent) 50%, transparent);font-size:12px}.chart-table th,.chart-table td{text-align:left;border-bottom:1px solid var(--ai-border);vertical-align:top;padding:7px 10px;line-height:1.5;transition:background .12s}.chart-table thead th{color:var(--on-2);letter-spacing:.2px;background:var(--surf-1);border-bottom-width:1.5px;font-size:11.5px;font-weight:600}.chart-table tbody tr:last-child td{border-bottom:none}.chart-table tbody tr:nth-child(2n) td{background:color-mix(in srgb, var(--surf-1) 45%, transparent)}.chart-table tbody tr:hover td{background:var(--accent-dim)!important}.chart-fallback{border:1px dashed var(--ai-border);background:color-mix(in srgb, var(--surf-1) 50%, transparent);border-radius:8px;padding:10px 12px}.chart-fallback-title{color:var(--on-3);letter-spacing:.3px;margin-bottom:6px;font-size:11.5px}.chart-fallback-code{color:var(--on-2);white-space:pre-wrap;word-break:break-all;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;line-height:1.45}.chart-legend{flex-wrap:wrap;gap:6px 12px;margin-top:10px;display:flex}.chart-legend-item{color:var(--on-2);align-items:center;gap:5px;font-size:11px;display:flex}.chart-legend-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.message.ai:not(.grouped-bottom) .message-content:after{content:"";background:var(--ai-bg);border:1px solid var(--ai-border);border-radius:50%;width:7px;height:7px;position:absolute;bottom:-9px;left:4px}.message.user:not(.grouped-bottom) .message-content:after{content:"";background:var(--user-bg);border-radius:50%;width:7px;height:7px;position:absolute;bottom:-9px;right:4px}.message.grouped-top{margin-top:2px}.message.grouped-bottom .avatar{visibility:hidden}.message.grouped-bottom .msg-time{display:none}.message:not(.grouped-bottom):hover .msg-foot{opacity:1}.message.group-start{margin-top:12px}.msg-foot{opacity:0;white-space:nowrap;z-index:2;align-items:center;gap:3px;padding:0 2px;transition:opacity .15s .22s;display:flex;position:absolute;bottom:-22px;left:0}.message.user .msg-foot{left:auto;right:14px}.message:not(.grouped-bottom):hover .msg-foot,.message:not(.grouped-bottom) .msg-foot:hover{opacity:1;transition:opacity .12s}.msg-time{color:var(--on-3);font-size:10px;font-weight:300}.msg-edit-btn{width:18px;height:18px;color:var(--on-3);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .12s,color .12s;display:flex}.msg-edit-btn:hover{background:var(--surf-2);color:var(--on-2)}.msg-edit-btn svg{width:11px;height:11px}.thinking-block{border:1px solid var(--div);border-radius:var(--r);background:var(--think-bg);margin-bottom:4px;overflow:hidden}.thinking-toggle{text-align:left;cursor:pointer;width:100%;color:var(--think-fg);letter-spacing:.4px;background:0 0;border:none;align-items:center;gap:5px;padding:6px 12px;font-family:inherit;font-size:10.5px;font-weight:400;transition:color .15s;display:flex}.thinking-toggle:hover{color:var(--on-2)}.t-arrow{font-size:7px;transition:transform .18s;display:inline-block}.thinking-toggle.collapsed .t-arrow{transform:rotate(-90deg)}.thinking-content{color:var(--think-fg);white-space:pre-wrap;max-height:150px;padding:0 12px 10px;font-size:11.5px;font-style:italic;font-weight:300;line-height:1.8;overflow-y:auto}.thinking-content::-webkit-scrollbar{width:3px;transition:width .2s}.thinking-content::-webkit-scrollbar-thumb{background:var(--div-v);border-radius:1px}.chat-input-area{background:var(--surf-1);border-top:1px solid var(--div);flex-shrink:0;padding:14px 40px 18px;position:relative}.suzhi-status-bar{letter-spacing:.02em;color:var(--on-3);opacity:.55;-webkit-user-select:none;user-select:none;pointer-events:none;align-items:center;gap:5px;padding:0 2px 6px;font-size:11px;transition:color .4s,opacity .4s;display:flex}.suzhi-dot{background:currentColor;border-radius:50%;flex-shrink:0;width:5px;height:5px;transition:background .4s}.suzhi-status-bar[data-state=idle]{color:var(--on-3);opacity:.45}.suzhi-status-bar[data-state=searching]{color:#5dada8;opacity:.85}.suzhi-status-bar[data-state=thinking]{color:#6b9fdb;opacity:.9}.suzhi-status-bar[data-state=bored]{color:#b05a5a;opacity:.8}.suzhi-status-bar[data-state=offline]{color:var(--on-3);opacity:.3}.suzhi-status-bar[data-state=thinking] .suzhi-dot,.suzhi-status-bar[data-state=searching] .suzhi-dot{animation:1.2s ease-in-out infinite suzhi-pulse}@keyframes suzhi-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.7)}}.input-wrap{align-items:center;gap:8px;width:100%;display:flex}#messageInput{border:1px solid var(--div-v);border-radius:var(--r);background:var(--surf-2);color:var(--on);cursor:text;resize:none;flex:1;min-height:42px;max-height:160px;padding:10px 14px;font-family:inherit;font-size:12.5px;line-height:1.5;transition:border-color .12s,background .12s;overflow-y:auto}#messageInput:focus{outline:none}#messageInput.focus-glow{border-color:color-mix(in srgb, var(--accent) 70%, transparent);background:var(--surf-1);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 14%, transparent), 0 0 18px color-mix(in srgb, var(--accent) 12%, transparent);animation:.38s cubic-bezier(.16,1,.3,1) both inputFocusIn}@keyframes inputFocusIn{0%{box-shadow:0 0 0 0px color-mix(in srgb, var(--accent) 28%, transparent), 0 0 0px color-mix(in srgb, var(--accent) 0%, transparent)}to{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 14%, transparent), 0 0 18px color-mix(in srgb, var(--accent) 12%, transparent)}}#sendButton{border-radius:var(--r);background:var(--send-btn,var(--accent));color:#fff;cursor:pointer;width:38px;height:38px;box-shadow:var(--e1);border:none;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .12s,transform .1s;display:flex}#sendButton:hover{opacity:.78}#sendButton:active{transform:scale(.94)}#sendButton:disabled{opacity:.28;cursor:not-allowed;transform:none}#sendButton.stopping{background:var(--on-3)}#sendButton,.btn{position:relative;overflow:hidden}#sendButton:before,.btn:before{content:"";border-radius:inherit;opacity:0;pointer-events:none;background:linear-gradient(115deg,#0000 0%,#ffffff8c 48%,#0000 100%);position:absolute;inset:0;transform:translate(-130%)}#sendButton.glass-sweep:before,.btn.glass-sweep:before{opacity:1;animation:.52s cubic-bezier(.22,1,.36,1) both glassSweep}@keyframes glassSweep{0%{transform:translate(-130%)}to{transform:translate(130%)}}.send-icon{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px;transform:translate(-1px)}#attachMenuBtn,#attachMenu{display:none}#imgBtn{border:1px solid var(--div-v);border-radius:var(--r);background:var(--surf-2);width:38px;height:38px;color:var(--on-2);cursor:pointer;-webkit-tap-highlight-color:transparent;flex-shrink:0;justify-content:center;align-items:center;transition:background .12s,color .12s,border-color .12s;display:flex}#imgBtn:hover,#imgBtn.has-image{background:var(--accent-dim);color:var(--accent);border-color:var(--accent)}#fileBtn{border:1px solid var(--div-v);border-radius:var(--r);background:var(--surf-2);width:38px;height:38px;color:var(--on-2);cursor:pointer;-webkit-tap-highlight-color:transparent;flex-shrink:0;justify-content:center;align-items:center;transition:background .12s,color .12s,border-color .12s;display:flex}#fileBtn:hover,#fileBtn.has-file{background:var(--accent-dim);color:var(--accent);border-color:var(--accent)}#clipBtn{display:none}.file-preview-bar{align-items:center;padding-bottom:10px;display:none}.file-preview-bar.visible{display:flex}.file-chip{background:var(--surf-2);border:1px solid var(--div-v);border-radius:8px;align-items:center;gap:8px;max-width:240px;padding:6px 10px;display:flex}.file-chip-icon{flex-shrink:0;font-size:18px}.file-chip-info{flex-direction:column;display:flex;overflow:hidden}.file-chip-name{color:var(--on-1);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:500;overflow:hidden}.file-chip-size{color:var(--on-3);font-size:10px}.file-chip-remove{background:var(--on-3);width:18px;height:18px;color:var(--surf-1);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;font-size:11px;font-weight:600;display:flex}.file-chip-remove:hover{background:#e04444}.img-preview-bar{align-items:center;padding-bottom:10px;display:none}.img-preview-bar.visible{display:flex}.img-thumb-wrap{display:inline-flex;position:relative}.img-thumb{object-fit:cover;border:1px solid var(--div-v);border-radius:8px;width:64px;height:64px}.img-thumb-remove{background:var(--on-3);width:18px;height:18px;color:var(--surf-1);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:11px;font-weight:600;line-height:1;display:flex;position:absolute;top:-6px;right:-6px}.img-thumb-remove:hover{background:#e04444}.bubble-img{object-fit:contain;cursor:zoom-in;border-radius:10px;max-width:220px;max-height:220px;display:block}.bubble-img+span{margin-top:6px;display:block}.lb-overlay{z-index:9999;background:#000000e0;justify-content:center;align-items:center;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.lb-img{object-fit:contain;border-radius:8px;max-width:92vw;max-height:88vh;box-shadow:0 8px 40px #00000080}.lb-close{color:#fff;cursor:pointer;background:#ffffff1f;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:24px;transition:background .15s;display:flex;position:absolute;top:16px;right:20px}.lb-close:hover{background:#ffffff40}.code-block-wrap{border:1px solid var(--ai-border);background:var(--surf-1);border-radius:8px;margin:8px 0;overflow:hidden}.code-block-bar{background:color-mix(in srgb, var(--surf-1) 60%, var(--bg));border-bottom:1px solid var(--ai-border);align-items:center;gap:6px;padding:6px 10px;display:flex}.code-lang{font-family:var(--mono,monospace);letter-spacing:.1em;color:var(--on-2);text-transform:uppercase;flex:1;font-size:10px}.code-copy-btn,.code-preview-btn,.code-open-btn{border:1px solid var(--ai-border);cursor:pointer;color:var(--on-2);background:0 0;border-radius:4px;padding:2px 8px;font-size:11px;transition:background .12s,color .12s}.code-copy-btn:hover,.code-preview-btn:hover,.code-open-btn:hover{background:var(--accent-dim);color:var(--accent)}.code-block-wrap pre{font-size:12.5px;line-height:1.6;font-family:var(--mono,monospace);color:var(--on);margin:0;padding:12px 14px;overflow-x:auto}.code-block-wrap code{font-family:inherit}.code-iframe-wrap{border-top:1px solid var(--ai-border)}.code-iframe{background:#fff;border:none;width:100%;min-height:240px;max-height:60vh;display:block}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.history-divider{pointer-events:none;flex-shrink:0;align-items:center;gap:0;padding:16px 0 8px;display:flex}.history-divider .div-line-s{background:var(--div);flex:1;height:1px}.history-divider .div-line-l{background:var(--div);flex:4;height:1px}.history-divider .div-moon{color:var(--on-3);opacity:.55;flex-shrink:0;padding:0 8px;font-size:11px}.history-divider .div-label{color:var(--on-3);letter-spacing:.5px;flex-shrink:0;padding:0 8px;font-size:10px}.typing-dots{align-items:center;gap:4px;padding:2px 0;display:inline-flex}.typing-dots span{background:var(--on-3);border-radius:50%;width:5px;height:5px;animation:1.2s cubic-bezier(.34,1.56,.64,1) infinite tdot}.typing-dots span:nth-child(2){animation-delay:.16s}.typing-dots span:nth-child(3){animation-delay:.32s}@keyframes tdot{0%,55%,to{opacity:.38;transform:translateY(0)scale(1)}28%{opacity:1;transform:translateY(-6px)scale(1.18)}}.cursor{background:var(--accent);vertical-align:text-bottom;border-radius:1px;width:1.5px;height:.88em;margin-left:2px;animation:.8s infinite blink;display:inline-block}@keyframes blink{0%,44%{opacity:1}56%,to{opacity:0}}.task-panel{background:var(--bg);flex-direction:column;flex:1;display:none;overflow:hidden}.task-panel.active{display:flex}.task-panel-head{border-bottom:1px solid var(--div);background:var(--surf-1);flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 16px 10px;display:flex}.task-panel-title{color:var(--on);font-size:15px;font-weight:500}.task-list{flex-direction:column;flex:1;gap:7px;padding:20px 40px;display:flex;overflow-y:auto}.task-list::-webkit-scrollbar{width:4px;transition:width .2s}.task-list::-webkit-scrollbar-thumb{background:var(--div-v);border-radius:2px}.task-empty{text-align:center;color:var(--on-3);padding:56px 0;font-size:13px;font-weight:300}.task-item{background:var(--surf-1);border:1px solid var(--div);border-radius:var(--r);box-shadow:var(--e2);align-items:flex-start;gap:11px;padding:12px 14px;transition:border-color .15s,box-shadow .15s;display:flex}.task-item.stagger-in,.dispatch-card.stagger-in,.suzhi-says-card.stagger-in{opacity:0;animation:.34s cubic-bezier(.16,1,.3,1) both staggerIn;animation-delay:var(--stagger-delay,0s);transform:translateY(10px)scale(.992)}@keyframes staggerIn{to{opacity:1;transform:translateY(0)scale(1)}}.task-item:hover{border-color:var(--div-v);box-shadow:var(--e3)}.task-item.today{border-left:3px solid #c48a00}.task-item.overdue{border-left:3px solid var(--danger)}.task-item.done{opacity:.45}.task-cb{flex-shrink:0;margin-top:2px}.task-cb input[type=checkbox]{appearance:none;border:1.5px solid var(--div-v);cursor:pointer;border-radius:3px;width:15px;height:15px;transition:background .12s,border-color .12s;display:block;position:relative}.task-cb input:checked{background:var(--on);border-color:var(--on)}.task-cb input:checked:after{content:"";border:1.5px solid var(--surf-1);border-top:none;border-left:none;width:5px;height:8px;position:absolute;top:0;left:3px;transform:rotate(45deg)}.task-body{cursor:pointer;flex:1;min-width:0}.task-title{color:var(--on);word-wrap:break-word;font-size:13.5px;font-weight:400;line-height:1.5;transition:color .15s}.task-body:hover .task-title{color:var(--accent)}.task-item.done .task-title{color:var(--on-3);text-decoration:line-through}.task-due{color:var(--on-3);margin-top:3px;font-size:11px;font-weight:300}.task-time{color:var(--accent);margin-left:5px;font-size:11px;font-weight:400}.task-item.done .task-time{color:var(--on-3)}.task-item.today .task-due{color:#c48a00}.task-item.overdue .task-due{color:var(--danger)}.task-note-md{color:var(--on-2);margin-top:6px;font-size:12px;font-weight:300;line-height:1.65}.task-note-md p{margin:0 0 4px}.task-note-md p:last-child{margin-bottom:0}.task-note-md strong{font-weight:500}.task-note-md em{font-style:italic}.task-note-md code{background:var(--surf-2);border-radius:3px;padding:1px 4px;font-family:monospace;font-size:11px}.task-acts{opacity:0;flex-shrink:0;gap:4px;transition:opacity .15s;display:flex}.task-item:hover .task-acts{opacity:1}.task-act-btn{border:1px solid var(--div);border-radius:var(--r);color:var(--on-3);cursor:pointer;-webkit-tap-highlight-color:transparent;cursor:pointer;background:0 0;padding:3px 8px;font-family:inherit;font-size:10.5px;transition:background .12s,color .12s,border-color .12s}.task-act-btn:hover{background:var(--surf-2);color:var(--on-2)}.task-act-btn.del:hover{color:var(--danger);background:#c628280d;border-color:#c628284d}.nav-badge{background:var(--send-btn,var(--accent));color:#fff;text-align:center;border-radius:99px;min-width:16px;margin-left:auto;padding:1px 5px;font-size:9px;font-weight:600;line-height:14px}.mem-panel-overlay{z-index:1100;background:0 0;align-items:stretch;transition:background .26s;display:flex;position:fixed;inset:0}.mem-panel-overlay.open{background:#00000070}.mem-panel{background:var(--surf-1);border-right:1px solid var(--div);flex-direction:column;width:360px;max-width:92vw;transition:transform .28s cubic-bezier(.05,.7,.1,1);display:flex;transform:translate(-100%);box-shadow:4px 0 24px #0000001f}.mem-panel-overlay.open .mem-panel{transform:translate(0)}.mem-panel-head{border-bottom:1px solid var(--div);flex-shrink:0;justify-content:space-between;align-items:flex-start;padding:20px 18px 14px;display:flex}.mem-panel-title{color:var(--on);font-size:15px;font-weight:500}.mem-panel-sub{color:var(--on-3);margin-top:3px;font-size:11px}.mem-panel-close{cursor:pointer;color:var(--on-3);background:0 0;border:none;padding:0 2px;font-size:20px;line-height:1}.mem-panel-close:hover{color:var(--on)}.mem-panel-list{flex-direction:column;flex:1;gap:8px;padding:12px 20px 40px;display:flex;overflow-y:auto}.mem-panel-list:empty:after{content:"还没有任何记忆";color:var(--on-3);text-align:center;margin-top:40px;font-size:13px;display:block}.mem-item{background:var(--surf-2);border:1px solid var(--div);border-radius:10px;align-items:flex-start;gap:10px;padding:10px 12px;animation:.18s both memItemIn;display:flex}@keyframes memItemIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.mem-item-body{flex:1;min-width:0}.mem-item-text{color:var(--on-2);word-break:break-all;font-size:12.5px;line-height:1.6}.mem-item-time{color:var(--on-3);margin-top:4px;font-size:10.5px}.mem-item-del{cursor:pointer;color:var(--on-3);background:0 0;border:none;flex-shrink:0;margin-top:1px;padding:0;font-size:15px;line-height:1;transition:color .15s}.mem-item-del:hover{color:var(--danger)}.mem-item.deleting{opacity:.4;pointer-events:none;transition:opacity .2s}.mem-panel-foot{border-top:1px solid var(--div);flex-shrink:0;padding:12px 14px}@media (width<=640px){.mem-panel-overlay{justify-content:center;align-items:center}.mem-panel{border-right:none;border-radius:14px;width:calc(100vw - 32px);max-width:400px;max-height:80vh;transform:translateY(20px)scale(.96);box-shadow:0 8px 32px #0000002e}.mem-panel-overlay.open .mem-panel{transform:translateY(0)scale(1)}}.modal-overlay{z-index:1000;box-sizing:border-box;background:0 0;justify-content:center;align-items:center;padding:16px;transition:background .22s;display:flex;position:fixed;inset:0}.modal-overlay.open{background:#0000007a}.modal{background:var(--surf-1);border:1px solid var(--div);opacity:0;border-radius:10px;flex-direction:column;gap:14px;width:100%;max-width:460px;padding:22px 22px 18px;transition:transform .24s cubic-bezier(.16,1,.3,1),opacity .2s;display:flex;position:relative;transform:translateY(14px)scale(.97);box-shadow:0 8px 32px #00000024}.modal-overlay.open .modal{opacity:1;transform:translateY(0)scale(1)}.modal-overlay.closing .modal{opacity:0;transition:transform .18s,opacity .16s;transform:translateY(8px)scale(.97)}.modal-head{color:var(--on);font-size:14px;font-weight:500}.modal-field{flex-direction:column;gap:4px;display:flex}.modal-lbl{color:var(--on-3);font-size:10.5px}.modal-inp{border:1px solid var(--div-v);border-radius:var(--r);background:var(--surf-2);color:var(--on);outline:none;width:100%;padding:8px 10px;font-family:inherit;font-size:13px;font-weight:300;transition:border-color .12s}.modal-inp:focus{border-color:var(--on-2)}.modal-inp::placeholder{color:var(--on-3)}.md-wrap{border:1px solid var(--div-v);border-radius:var(--r);flex-direction:column;display:flex;overflow:hidden}.md-tabs{border-bottom:1px solid var(--div);background:var(--surf-2);display:flex}.md-tab{color:var(--on-3);cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;border-right:1px solid var(--div);background:0 0;padding:5px 13px;font-family:inherit;font-size:10.5px;transition:color .12s,background .12s}.md-tab.active{color:var(--on);background:var(--surf-1)}.md-textarea{background:var(--surf-2);color:var(--on);resize:vertical;border:none;outline:none;width:100%;min-height:88px;padding:9px 10px;font-family:inherit;font-size:12.5px;font-weight:300;line-height:1.7}.md-preview-pane{background:var(--surf-1);border-top:1px dashed var(--div-v);color:var(--on-2);padding:9px 10px;font-size:12.5px;font-weight:300;line-height:1.7;display:none}.md-preview-pane.active{display:block}.md-preview-pane p{margin:0 0 3px}.md-preview-pane p:last-child{margin-bottom:0}.md-preview-pane strong{font-weight:600}.md-preview-pane em{font-style:italic}.md-preview-pane code{background:var(--surf-1);border-radius:3px;padding:1px 4px;font-family:monospace;font-size:11.5px}.md-preview-pane .md-item{align-items:baseline;gap:5px;display:flex}.md-preview-pane .md-done{opacity:.5;text-decoration:line-through}.md-preview-pane .md-bullet{color:var(--accent);flex-shrink:0;font-size:14px;line-height:1}.md-preview-pane .md-h1{color:var(--on);font-size:13.5px;font-weight:600}.md-preview-pane .md-h2{color:var(--on);font-size:12.5px;font-weight:600}.md-preview-pane .md-h3{color:var(--on-2);font-size:12px;font-weight:500}.note-field-wrap>.md-textarea{border:1px solid var(--div-v);border-radius:var(--r)}.note-field-wrap{opacity:1}.ai-sticky{transform-origin:top;opacity:0;pointer-events:none;z-index:2;background:#fffbea;border:1.5px dashed #d4a843;border-radius:10px;width:108px;padding:8px 10px 9px;transition:opacity .28s cubic-bezier(.16,1,.3,1),transform .38s cubic-bezier(.34,1.56,.64,1),box-shadow .28s cubic-bezier(.16,1,.3,1);position:absolute;top:16px;right:16px;transform:rotate(2.2deg);box-shadow:2px 3px 8px #00000014,0 1px 2px #0000000f}.ai-sticky.visible{opacity:1;pointer-events:auto}.ai-sticky.visible:hover{transform:rotate(0)translateY(-4px)scale(1.04);box-shadow:4px 10px 24px #00000029,0 2px 4px #00000014}[data-theme=letterpress] .ai-sticky{background:#f5ebd8;border-color:#b08850}[data-theme=letterpress] .ai-sticky-label{color:#8c6530}[data-theme=letterpress] .ai-sticky-body{color:#4a3520}.dark .ai-sticky{background:#2a2510;border-color:#7a6420}.dark .ai-sticky-label{color:#c8a84b}.dark .ai-sticky-body{color:#d4bc7a}[data-theme=mohai] .ai-sticky{background:#1c2b34;border-color:#c4732a}[data-theme=mohai] .ai-sticky-label{color:#ff9b51}[data-theme=mohai] .ai-sticky-body{color:#eaefef}.ai-sticky-label{color:#a07828;letter-spacing:.04em;align-items:center;gap:3px;margin-bottom:5px;font-size:9.5px;display:flex}.ai-sticky-label:before{content:"✦";font-size:8px}.ai-sticky-body{color:#5c4a1a;white-space:pre-wrap;word-break:break-all;font-size:11px;line-height:1.65}.modal-foot{justify-content:flex-end;align-items:center;gap:8px;display:flex}.cat-tag{letter-spacing:.3px;border-radius:3px;flex-shrink:0;padding:1px 6px;font-size:10px;font-weight:500;display:inline-block}.cat-filter-bar{flex-wrap:nowrap;flex-shrink:0;gap:5px;padding:10px 40px 0;display:flex;position:relative;overflow:hidden}.cat-filter-bar.expanded{flex-wrap:wrap;padding-right:112px;overflow:visible}.cat-filter-bar:not(.expanded).cat-filter-overflowing:after{content:"";background:linear-gradient(to right, transparent, var(--bg) 24px);pointer-events:none;z-index:1;width:90px;position:absolute;top:0;bottom:0;right:0}.cat-filter-btn.cat-filter-more{z-index:2;flex-shrink:0;margin-left:0;position:absolute;top:10px;right:40px}.cat-filter-bar.expanded .cat-filter-btn.cat-filter-more{z-index:2;position:absolute;top:10px;right:40px}.cat-filter-btn{border:1px solid var(--div);color:var(--on-3);cursor:pointer;white-space:nowrap;background:0 0;border-radius:99px;padding:3px 11px;font-family:inherit;font-size:11px;transition:all .12s}.cat-filter-btn:hover{border-color:var(--div-v);color:var(--on-2)}.cat-filter-btn.active{background:var(--on);color:var(--surf-1);border-color:#0000}.cal-panel{background:var(--bg);flex-direction:column;flex:1;display:none;overflow:hidden}.cal-panel.active{display:flex}#calViewCal{flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}#calViewMood{box-sizing:border-box;flex:1;padding:4px 16px 16px;overflow-y:auto}.mood-inner{box-sizing:border-box;padding:16px 40px 32px;display:none;overflow:hidden}.cal-panel.mood-view .cal-body,.cal-panel.mood-view .cal-day-drawer{display:none!important}.cal-panel.mood-view .mood-inner{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.cal-panel.mood-view .mood-weekdays{flex-shrink:0}.cal-panel.mood-view .mood-grid{flex:1;align-content:space-evenly;gap:8px;min-height:0}.stamp-card{background:0 0;flex-direction:column;align-items:center;gap:10px;padding:4px 0;display:flex}.stamp-body{--sz:8px;--half:4px;padding:var(--sz);-webkit-mask:radial-gradient(circle at var(--half) 50%, transparent var(--half), #000 var(--half)) left / var(--sz) var(--sz) repeat-y, radial-gradient(circle at calc(100% - var(--half)) 50%, transparent var(--half), #000 var(--half)) right / var(--sz) var(--sz) repeat-y, radial-gradient(circle at 50% var(--half), transparent var(--half), #000 var(--half)) top / var(--sz) var(--sz) repeat-x, radial-gradient(circle at 50% calc(100% - var(--half)), transparent var(--half), #000 var(--half)) bottom / var(--sz) var(--sz) repeat-x, linear-gradient(#000,#000) center / calc(100% - var(--sz)*2) calc(100% - var(--sz)*2) no-repeat;-webkit-mask-composite:destination-out;-webkit-mask:radial-gradient(circle at var(--half) 50%, transparent var(--half), #000 var(--half)) left / var(--sz) var(--sz) repeat-y, radial-gradient(circle at calc(100% - var(--half)) 50%, transparent var(--half), #000 var(--half)) right / var(--sz) var(--sz) repeat-y, radial-gradient(circle at 50% var(--half), transparent var(--half), #000 var(--half)) top / var(--sz) var(--sz) repeat-x, radial-gradient(circle at 50% calc(100% - var(--half)), transparent var(--half), #000 var(--half)) bottom / var(--sz) var(--sz) repeat-x, linear-gradient(#000,#000) center / calc(100% - var(--sz)*2) calc(100% - var(--sz)*2) no-repeat;mask:radial-gradient(circle at var(--half) 50%, transparent var(--half), #000 var(--half)) left / var(--sz) var(--sz) repeat-y, radial-gradient(circle at calc(100% - var(--half)) 50%, transparent var(--half), #000 var(--half)) right / var(--sz) var(--sz) repeat-y, radial-gradient(circle at 50% var(--half), transparent var(--half), #000 var(--half)) top / var(--sz) var(--sz) repeat-x, radial-gradient(circle at 50% calc(100% - var(--half)), transparent var(--half), #000 var(--half)) bottom / var(--sz) var(--sz) repeat-x, linear-gradient(#000,#000) center / calc(100% - var(--sz)*2) calc(100% - var(--sz)*2) no-repeat;background:#fff;transition:transform .18s;position:relative;box-shadow:0 3px 16px #00000038,0 1px 4px #0000001f;-webkit-mask-composite:xor;mask-composite:exclude}.stamp-body:hover{transform:scale(1.03)rotate(-.5deg)}.stamp-img-area{background:#e8e8e8;border-radius:1px;overflow:hidden}.stamp-img-area[data-ratio=landscape]{aspect-ratio:3/2;width:200px}.stamp-img-area[data-ratio=portrait]{aspect-ratio:2/3;width:140px}.stamp-img-area[data-ratio=square]{aspect-ratio:1;width:160px}.stamp-img{object-fit:cover;width:100%;height:100%;display:block}.stamp-img-placeholder{color:#bbb;justify-content:center;align-items:center;width:100%;height:100%;min-height:100px;font-size:28px;display:flex}.stamp-info{justify-content:space-between;align-items:flex-end;gap:4px;padding:5px 2px 2px;display:flex}.stamp-title-line{color:#333;letter-spacing:.08em;white-space:nowrap;text-overflow:ellipsis;text-transform:uppercase;max-width:140px;font-family:Georgia,Noto Serif SC,serif;font-size:10px;font-weight:700;overflow:hidden}.stamp-value-line{color:#333;white-space:nowrap;flex-shrink:0;font-family:Georgia,serif;font-size:11px;font-weight:700}.stamp-summary{color:var(--on-2);text-align:center;max-width:260px;font-size:12.5px;line-height:1.6}.stamp-tags{flex-wrap:wrap;justify-content:center;gap:5px;display:flex}.stamp-tag{background:color-mix(in srgb, var(--accent) 10%, transparent);color:var(--accent);border-radius:4px;padding:1px 7px;font-size:10px}.stamp-tag.art{color:#b05800;background:#b058001a}.stamp-actions{gap:6px;display:flex}.stamp-save-btn{cursor:pointer;border:1px solid var(--accent);color:var(--accent);background:0 0;border-radius:6px;padding:3px 14px;font-size:11px;transition:background .12s,color .12s}.stamp-save-btn:hover,.stamp-save-btn.saved{background:var(--accent);color:#fff}.stamp-del-btn{cursor:pointer;border:1px solid var(--div);color:var(--on-3);background:0 0;border-radius:6px;padding:3px 10px;font-size:11px;transition:background .12s}.stamp-del-btn:hover{background:var(--surf-2)}.stamp-real-img{object-fit:contain;border-radius:4px;max-width:100%;max-height:260px;margin:0 auto;display:block;box-shadow:0 2px 10px #00000026}.dispatch-panel{background:var(--bg);flex-direction:column;flex:1;display:none;overflow:hidden}.dispatch-panel.active{display:flex}.dispatch-head{border-bottom:1px solid var(--div);background:var(--surf-1);flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:14px 16px 10px;display:flex}.dispatch-sub-tabs{background:var(--surf-2);border-radius:8px;gap:2px;padding:2px;display:flex}.dispatch-sub-tab{color:var(--on-2);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;padding:4px 12px;font-size:12.5px;transition:background .15s,color .15s}.dispatch-sub-tab.active{background:var(--bg);color:var(--on-1);font-weight:600;box-shadow:0 1px 3px #0000001a}.stamp-saved-count{color:var(--accent);margin-left:2px;font-size:10px}.dispatch-sub-panel{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.stamp-album-grid{flex:1;grid-template-columns:repeat(2,1fr);gap:20px;padding:12px 14px 24px;display:grid;overflow-y:auto}.stamp-album-item{cursor:default}.stamp-album-empty{text-align:center;color:var(--on-3);grid-column:1/-1;padding:48px 0;font-size:13px}.dispatch-head-title{color:var(--on);font-size:15px;font-weight:500}.dispatch-list{flex-direction:column;flex:1;gap:12px;padding:16px 40px 40px;display:flex;overflow-y:auto}.dispatch-empty{color:var(--on-3);text-align:center;padding-top:40px;font-size:13px}.dispatch-card{background:var(--surf-1);border:1px solid var(--div);border-radius:12px;flex-direction:column;gap:4px;padding:12px 14px 10px;transition:border-color .15s;display:flex;position:relative}.dispatch-card.pinned{border-color:var(--accent)}.dispatch-card-top{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.dispatch-card-title{color:var(--on-1);flex:1;font-size:14px;font-weight:600;line-height:1.4}.dispatch-card-actions{flex-shrink:0;gap:2px;margin-top:-2px;display:flex}.dispatch-card-btn{width:24px;height:24px;color:var(--on-3);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;font-size:13px;transition:background .1s,color .1s;display:flex}.dispatch-card-btn:hover{background:var(--surf-2);color:var(--on-1)}.dispatch-card-btn.active{color:var(--accent)}.dispatch-card-summary{color:var(--on-2);font-size:13px;line-height:1.55}.dispatch-card-trivia{background:var(--surf-2);border-left:2px solid var(--accent);border-radius:8px;flex-direction:column;gap:4px;margin-top:4px;padding:8px 10px;display:flex}.dispatch-card-domain{color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent);border-radius:4px;align-self:flex-start;padding:1px 6px;font-size:10.5px}.dispatch-card-excerpt{color:var(--on-2);font-size:12px;font-style:italic;line-height:1.55}.dispatch-card-reference{color:var(--on-3);font-size:11px}.dispatch-card-ts{color:var(--on-3);align-self:flex-end;margin-top:2px;font-size:11px}.suzhi-says-panel{background:var(--bg);flex-direction:column;flex:1;min-height:0;display:none;overflow:hidden}.suzhi-says-panel.active{animation:.3s cubic-bezier(.05,.7,.1,1) both viewIn;display:flex}.memory-panel{background:var(--bg);flex-direction:column;flex:1;min-height:0;display:none;overflow:hidden}.memory-panel.active{animation:.3s cubic-bezier(.05,.7,.1,1) both viewIn;display:flex}.mem-count-badge{color:var(--on-3);align-self:center;margin-left:8px;font-size:11px}.clips-panel{background:var(--bg);flex-direction:column;flex:1;min-height:0;display:none;overflow:hidden}.clips-panel.active{animation:.3s cubic-bezier(.05,.7,.1,1) both viewIn;display:flex}.clips-search-bar{flex-shrink:0;padding:0 40px 10px}.clips-search-inp{box-sizing:border-box;background:var(--surf-1);border:1px solid var(--div);width:100%;color:var(--on);border-radius:8px;outline:none;padding:7px 12px;font-size:13px;transition:border-color .15s}.clips-search-inp:focus{border-color:var(--on-3)}.clips-search-inp::placeholder{color:var(--on-3)}.clips-tag-bar{scrollbar-width:none;flex-shrink:0;gap:6px;padding:0 40px 12px;display:flex;overflow-x:auto}.clips-tag-bar::-webkit-scrollbar{display:none}.clips-list{flex:1;padding:4px 40px 40px;overflow-y:auto}.clips-grid{align-items:flex-start;gap:12px;display:flex}.clips-col{flex-direction:column;flex:1;gap:12px;display:flex}.clip-card{background:var(--surf-1);border:1px solid var(--div);border-radius:12px;flex-direction:column;gap:8px;padding:14px 16px;transition:border-color .15s;display:flex}.clip-card:hover{border-color:var(--on-3)}.clip-card-head{align-items:center;gap:8px;display:flex}.clip-ai-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.clip-ai-dot.pending{background:var(--on-3);animation:1.2s ease-in-out infinite clip-dot-pulse}.clip-ai-dot.done{background:#52c07a}@keyframes clip-dot-pulse{0%,to{opacity:.3;transform:scale(.85)}50%{opacity:1;transform:scale(1.1)}}.clip-card.ai-just-done{animation:.8s ease-out clip-flash}@keyframes clip-flash{0%{box-shadow:0 0 0 2px #52c07a55}to{box-shadow:none}}.clip-type-icon{flex-shrink:0;font-size:13px}.clip-title{color:var(--on-1);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13.5px;font-weight:500;overflow:hidden}.clip-delete-btn{cursor:pointer;color:var(--on-3);background:0 0;border:none;flex-shrink:0;padding:0 2px;font-size:16px;line-height:1;transition:color .15s}.clip-delete-btn:hover{color:var(--on)}.clip-thumb{object-fit:cover;background:var(--surf-2);border-radius:8px;width:100%;height:auto;max-height:280px;display:block}.clip-summary{color:var(--on-2);font-size:12.5px;line-height:1.55}.clip-note{color:var(--on-3);font-size:12px;font-style:italic;line-height:1.5}.clip-footer{justify-content:space-between;align-items:center;gap:8px;display:flex}.clip-tags{flex-wrap:wrap;gap:4px;display:flex}.clip-tag{background:var(--surf-2);color:var(--on-3);border:1px solid var(--div);border-radius:20px;padding:2px 7px;font-size:11px}.clip-ts{color:var(--on-3);flex-shrink:0;font-size:11px}.clip-confirm-card{background:var(--surf-1);border:1px solid var(--div-v);border-radius:14px;flex-direction:column;gap:8px;max-width:340px;margin:8px auto 4px;padding:14px 16px;display:flex}.clip-confirm-header{color:var(--on-3);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:600}.clip-confirm-title-input{box-sizing:border-box;background:var(--surf-2);border:1px solid var(--div-v);width:100%;color:var(--on);border-radius:8px;outline:none;padding:6px 10px;font-family:inherit;font-size:14px;font-weight:600;transition:border-color .15s}.clip-confirm-title-input:focus{border-color:var(--on-3)}.clip-confirm-thumb{object-fit:cover;border-radius:8px;width:100%;max-height:160px}.clip-confirm-title{color:var(--on);font-size:15px;font-weight:600;line-height:1.4}.clip-confirm-summary{color:var(--on-2);font-size:12px;line-height:1.5}.clip-confirm-tags{flex-wrap:wrap;gap:5px;display:flex}.clip-confirm-tag{cursor:pointer;border:1px solid var(--div-v);background:var(--surf-2);color:var(--on-2);-webkit-user-select:none;user-select:none;border-radius:20px;align-items:center;gap:3px;padding:2px 9px;font-size:11px;transition:all .15s;display:inline-flex}.clip-confirm-tag.active{background:var(--accent-dim);color:var(--accent);border-color:var(--accent)}.clip-confirm-tag .tag-x{opacity:.6;font-size:12px}.clip-confirm-note{box-sizing:border-box;background:var(--surf-2);border:1px solid var(--div-v);width:100%;color:var(--on);resize:none;border-radius:8px;outline:none;min-height:40px;max-height:80px;padding:6px 10px;font-family:inherit;font-size:13px}.clip-confirm-note:focus{border-color:var(--on-3)}.clip-confirm-actions{justify-content:flex-end;gap:8px;display:flex}.clip-confirm-save{cursor:pointer;background:var(--accent);color:#fff;border:none;border-radius:8px;padding:5px 14px;font-family:inherit;font-size:13px;transition:opacity .15s}.clip-confirm-save:hover{opacity:.85}.clip-confirm-save:disabled{opacity:.5;cursor:default}.clip-confirm-dismiss{cursor:pointer;color:var(--on-3);border:1px solid var(--div-v);background:0 0;border-radius:8px;padding:5px 14px;font-family:inherit;font-size:13px;transition:opacity .15s}.clip-confirm-dismiss:hover{color:var(--on);border-color:var(--on-3)}.clip-toast{background:var(--surf-1);border:1px solid var(--div-v);color:var(--accent);letter-spacing:.04em;opacity:0;pointer-events:none;z-index:9999;white-space:nowrap;border-radius:20px;padding:7px 18px;font-size:13px;font-weight:600;transition:opacity .22s,transform .22s;position:fixed;bottom:104px;left:50%;transform:translate(-50%)translateY(12px);box-shadow:0 4px 16px #0000001f}.clip-toast.show{opacity:1;transform:translate(-50%)translateY(0)}.suzhi-says-list{flex-direction:column;flex:1;gap:12px;padding:16px 40px 40px;display:flex;overflow-y:auto}.suzhi-says-card{background:var(--surf-1);border:1px solid var(--div);border-radius:12px;flex-direction:column;gap:10px;padding:16px;transition:border-color .15s;display:flex}.suzhi-says-card:hover{border-color:var(--on-3)}.suzhi-says-text{color:var(--on);white-space:pre-wrap;font-size:13.5px;line-height:1.75}.suzhi-says-footer{justify-content:space-between;align-items:center;display:flex}.suzhi-says-tag{color:var(--accent);font-size:11px;font-weight:500}.suzhi-says-meta{align-items:center;gap:8px;display:flex}.suzhi-says-ts{color:var(--on-3);font-size:11px}.suzhi-says-del{cursor:pointer;color:var(--on-3);background:0 0;border:none;border-radius:4px;padding:2px 4px;line-height:1;transition:color .12s}.suzhi-says-del:hover{color:var(--danger,#e05c5c)}.cal-view-tabs{gap:4px;display:flex}.cal-tab{border-radius:var(--r);color:var(--on-3);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;flex-shrink:0;padding:5px 14px;font-family:inherit;font-size:13px;transition:all .15s}.cal-tab:hover{color:var(--on-2)}.cal-tab.active{background:var(--accent-dim);color:var(--accent)}.cal-head-actions{align-items:center;gap:6px;display:flex}.cal-panel.journal-mode .cal-head-actions,.cal-panel.journal-mode .cal-body{display:none}.cal-panel.journal-mode .cal-day-drawer{display:none!important}.cal-panel.journal-mode .journal-view{display:flex}.cal-head{border-bottom:1px solid var(--div);background:var(--surf-1);flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:14px 16px 10px;display:flex}.cal-month-nav{align-items:center;gap:14px;display:flex}.cal-month-label{color:var(--on);text-align:center;min-width:96px;font-size:15px;font-weight:500}.cal-nav-btn{border:1px solid var(--div);border-radius:var(--r);width:28px;height:28px;color:var(--on-3);cursor:pointer;background:0 0;justify-content:center;align-items:center;font-size:15px;line-height:1;transition:all .12s;display:flex}.cal-nav-btn:hover{background:var(--surf-2);color:var(--on-2);border-color:var(--div-v)}@keyframes calSlideLeft{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes calSlideRight{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.cal-grid.slide-left{animation:.22s cubic-bezier(.05,.7,.1,1) both calSlideLeft}.cal-grid.slide-right{animation:.22s cubic-bezier(.05,.7,.1,1) both calSlideRight}.cal-body{flex-direction:column;flex:1;min-height:0;padding:16px 40px 32px;transition:padding-bottom .32s cubic-bezier(.05,.7,.1,1);display:flex;overflow:hidden}.cal-body.shrunk{padding-bottom:4px}.cal-weekdays{flex-shrink:0;grid-template-columns:repeat(7,1fr);margin-bottom:6px;display:grid}.cal-wday{text-align:center;color:var(--on-3);letter-spacing:.5px;padding:4px 0;font-size:10.5px;font-weight:500}.cal-grid{flex:1;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:1fr;gap:0;min-height:0;display:grid}.cal-body.shrunk .cal-grid{grid-auto-rows:38px}.cal-body.shrunk .cal-day{height:auto;min-height:0;overflow:hidden}.cal-day{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:0;flex-direction:column;gap:2px;min-width:0;height:auto;min-height:40px;padding:6px 4px 4px;transition:height .32s cubic-bezier(.05,.7,.1,1);display:flex;position:relative;overflow:visible}.cal-day:hover{background:var(--accent-dim);border-radius:var(--r)}.cal-day.selected{background:var(--accent-dim)!important;border-radius:var(--r)!important;box-shadow:none!important;border:none!important;transition:none!important}.cal-day.other-month{opacity:.28}.cal-day.today{border-radius:var(--r);box-shadow:none!important;background:0 0!important;border:none!important}.cal-day.today.selected{background:var(--accent-dim)!important;transition:none!important}.cal-day.has-overdue{border-left:2.5px solid var(--danger)}.cal-day-num{color:var(--on-2);flex-shrink:0;justify-content:center;align-self:flex-start;align-items:center;width:22px;height:22px;font-size:11.5px;line-height:1;display:flex}.cal-day.today .cal-day-num{color:var(--accent);font-weight:600}.cal-task-pill{color:#fff;background:var(--accent);border-radius:99px;align-items:center;gap:2px;padding:1px 6px;font-size:10.5px;line-height:1.6;display:flex;overflow:hidden}.cal-pill-text{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.cal-pill-del,.cal-bar-del{color:#ffffffb3;cursor:pointer;background:0 0;border:none;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:14px;height:14px;padding:0;font-size:11px;line-height:1;display:none}.cal-task-pill:hover .cal-pill-del,.cal-task-bar:hover .cal-bar-del{display:flex}.cal-pill-del:hover{color:#fff;background:#fff3}.cal-bar-del{color:#ffffffb3}.cal-bar-del:hover{color:#fff;background:#fff3}.cal-task-pill.done{opacity:.4;text-decoration:line-through}.cal-task-pill.overdue{background:var(--danger)}.cal-task-pill.today-task{background:var(--accent)}.cal-task-bar{background:var(--accent);color:#fff;cursor:pointer;box-sizing:border-box;border:none;border-radius:0;flex-shrink:0;align-items:center;gap:2px;width:auto;min-width:0;height:18px;margin:1px -4px 0;padding:0 4px;font-size:10.5px;line-height:18px;display:flex;overflow:hidden}.cal-task-bar.bar-start{border-radius:99px 0 0 99px;padding-left:11px}.cal-task-bar.bar-end{border-radius:0 99px 99px 0;padding-right:11px}.cal-task-bar.bar-solo{border-radius:99px;padding:0 11px}.cal-task-bar.done{opacity:.4}.cal-task-bar.overdue{background:var(--danger)}.cal-day.drag-target{outline:2px dashed color-mix(in srgb, var(--accent) 75%, transparent);outline-offset:-2px;background:color-mix(in srgb, var(--accent) 10%, transparent);box-shadow:0 8px 20px color-mix(in srgb, var(--accent) 25%, transparent);transform:scale(1.012)}.cal-task-pill.dragging,.cal-task-bar.dragging{opacity:.55}.cal-day.drop-pulse:after{content:"";background:color-mix(in srgb, var(--accent) 34%, transparent);pointer-events:none;border-radius:999px;width:14px;height:14px;animation:.44s cubic-bezier(.16,1,.3,1) both dayDropPulse;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.2)}@keyframes dayDropPulse{to{opacity:0;transform:translate(-50%,-50%)scale(12)}}.cal-dot-row{justify-content:center;gap:3px;margin-top:1px;display:none}.cal-dot{border-radius:50%;flex-shrink:0;width:5px;height:5px}.cal-dot.dot-done{background:var(--on-3);opacity:.4}.cal-more{color:var(--on-3);padding:0 2px;font-size:10px;transition:opacity .32s}.cal-tooltip{z-index:10;background:var(--on);color:var(--bg);pointer-events:none;opacity:0;white-space:nowrap;text-overflow:ellipsis;max-width:180px;box-shadow:var(--e2);border-radius:8px;padding:5px 10px;font-size:11px;line-height:1.5;transition:opacity .12s,transform .12s;position:absolute;bottom:calc(100% + 6px);left:50%;overflow:hidden;transform:translate(-50%)scale(.92)}.cal-day:hover .cal-tooltip{opacity:1;transform:translate(-50%)scale(1)}.cal-day-drawer{opacity:0;pointer-events:none;flex-direction:column;flex:0;min-height:0;transition:transform .32s cubic-bezier(.05,.7,.1,1),opacity .28s cubic-bezier(.05,.7,.1,1),flex .32s cubic-bezier(.05,.7,.1,1);display:flex;overflow-y:auto;transform:translateY(40px)}.cal-day-drawer.open{opacity:1;pointer-events:auto;flex:1;transform:translateY(0)}.journal-save-btn{border:1px solid var(--div-v);background:var(--surf-1);height:30px;color:var(--on-2);cursor:pointer;border-radius:8px;padding:0 12px;font-family:inherit;font-size:12px;transition:background .15s,border-color .15s,color .15s;display:none}.journal-save-btn:hover{border-color:var(--on-3);background:var(--surf-2)}.journal-save-btn.saved{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.cal-panel.journal-mode .journal-save-btn{display:block}.journal-view{flex-direction:column;flex:1;min-height:0;display:none;overflow:hidden}.journal-day-nav{flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 24px 10px;display:flex}.journal-nav-btn{border:1px solid var(--div);border-radius:var(--r);width:32px;height:32px;color:var(--on-3);cursor:pointer;background:0 0;justify-content:center;align-items:center;font-size:18px;line-height:1;transition:all .12s;display:flex}.journal-nav-btn:hover:not(:disabled){background:var(--surf-2);color:var(--on-2)}.journal-nav-btn:disabled{opacity:.3;cursor:default}.journal-day-info{flex-direction:column;align-items:center;gap:2px;display:flex}.journal-day-num{color:var(--on);letter-spacing:.5px;font-size:15px;font-weight:600}.journal-date-label{color:var(--on-3);font-size:11px}.journal-section-tag{color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent);border-radius:99px;padding:1px 7px;font-size:10.5px}.journal-question-wrap{flex-shrink:0;padding:0 24px 10px}.journal-question{background:var(--accent);color:#fff;box-shadow:0 2px 8px color-mix(in srgb, var(--accent) 30%, transparent);-webkit-line-clamp:2;text-overflow:ellipsis;word-break:break-word;border-radius:12px 12px 12px 4px;-webkit-box-orient:vertical;padding:12px 16px;font-size:14px;font-weight:400;line-height:1.65;display:-webkit-box;overflow:hidden}.journal-write-wrap{flex-direction:column;flex:1;min-height:0;padding:0 24px 10px;display:flex;position:relative}.journal-textarea{border:1.5px solid var(--div);background:var(--surf-1);background-image:radial-gradient(circle, color-mix(in srgb, var(--on) 12%, transparent) 1px, transparent 1px);width:100%;min-height:0;color:var(--on);resize:none;box-sizing:border-box;background-size:22px 22px;border-radius:12px;outline:none;flex:1;padding:16px 18px;font-family:inherit;font-size:13.5px;font-weight:300;line-height:1.8;transition:border-color .14s}.journal-textarea:focus{border-color:var(--accent)}.journal-textarea::placeholder{color:var(--on-3)}.journal-textarea:read-only{opacity:.6;cursor:default}@keyframes moodBounceIn{0%{opacity:0;transform:translateY(14px)scale(.4)}55%{opacity:1;transform:translateY(-6px)scale(1.22)}75%{transform:translateY(3px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.journal-mood-display{pointer-events:none;opacity:0;width:42px;height:42px;transition:opacity .2s;position:absolute;bottom:18px;right:30px}.journal-mood-display.has-mood{opacity:1}.journal-mood-display img{filter:drop-shadow(0 2px 6px #00000026);width:100%;height:100%;display:block}.journal-mood-display.bounce img{animation:.5s cubic-bezier(.34,1.56,.64,1) both moodBounceIn}.journal-bottom-bar{flex-shrink:0;align-items:center;padding:0 16px 12px;display:flex}.journal-bottom-bar .journal-mood-row{flex:1;padding:8px 8px 0}.journal-bar-controls{display:contents}.journal-mood-toggle{display:none}.journal-weather{color:var(--on-3);white-space:nowrap;letter-spacing:.01em;flex-shrink:0;padding-right:4px;font-size:11.5px}.journal-comment-toggle{border:1.5px solid var(--div);color:var(--on-3);cursor:pointer;white-space:nowrap;background:0 0;border-radius:20px;flex-shrink:0;margin-left:8px;padding:4px 10px;font-size:11.5px;transition:border-color .18s,color .18s,background .18s}.journal-comment-toggle.has-comment{border-color:color-mix(in srgb, var(--accent) 40%, var(--div));color:var(--accent)}.journal-comment-toggle.open{background:color-mix(in srgb, var(--accent) 10%, var(--surf-1));border-color:var(--accent);color:var(--accent)}.journal-comment-wrap{opacity:0;pointer-events:none;flex-direction:column;flex-shrink:0;gap:8px;max-height:0;padding:0 20px;transition:max-height .38s cubic-bezier(.05,.7,.1,1),padding .38s cubic-bezier(.05,.7,.1,1),opacity .28s;display:flex;overflow:hidden}.journal-comment-wrap.open{opacity:1;pointer-events:auto;max-height:900px;padding:0 20px 20px}@keyframes commentSlideIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.journal-comment-card{background:color-mix(in srgb, var(--accent) 6%, var(--surf-1));border:1px solid color-mix(in srgb, var(--accent) 18%, var(--div));border-radius:16px;padding:14px 16px 10px;animation:.35s cubic-bezier(.05,.7,.1,1) both commentSlideIn}.journal-comment-header{align-items:center;gap:8px;margin-bottom:9px;display:flex}.journal-comment-avatar{background:var(--accent);color:#fff;letter-spacing:-.5px;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:12px;font-weight:700;display:flex}.journal-comment-name{color:var(--accent);flex:1;font-size:12px;font-weight:600}.journal-comment-text{color:var(--on);white-space:pre-wrap;font-size:13px;line-height:1.75}.journal-comment-loading{color:var(--on-3);padding:10px 4px;font-size:12px;animation:.3s both commentSlideIn}.journal-comment-loading:after{content:"";animation:1.2s infinite loadingDots;display:inline-block}@keyframes loadingDots{0%{content:""}33%{content:"."}66%{content:".."}to{content:"..."}}.journal-comment-actions{justify-content:flex-end;margin-top:8px;display:flex}.journal-reply-btn{color:var(--on-3);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 4px;font-size:11.5px;transition:color .12s}.journal-reply-btn:hover{color:var(--accent)}.journal-thread-item{border-radius:10px;padding:8px 12px;font-size:12.5px;line-height:1.6;animation:.25s both commentSlideIn}.journal-thread-item.from-user{background:var(--accent-dim);color:var(--on);align-self:flex-end;max-width:85%;margin-left:auto}.journal-thread-item.from-ai{background:var(--surf-0);border:1px solid var(--div);color:var(--on-2);max-width:85%}.journal-reply-input-wrap{align-items:flex-end;gap:6px;animation:.2s both commentSlideIn;display:flex}.journal-reply-input{border:1.5px solid var(--div);background:var(--surf-1);color:var(--on);resize:none;border-radius:10px;outline:none;flex:1;min-height:38px;max-height:100px;padding:8px 12px;font-family:inherit;font-size:13px;line-height:1.5;transition:border-color .14s;overflow-y:auto}.journal-reply-input:focus{border-color:var(--accent)}.journal-reply-send{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:15px;transition:opacity .12s;display:flex}.journal-reply-send:disabled{opacity:.4;cursor:default}.journal-mood-row{scrollbar-width:none;flex-shrink:0;gap:6px;padding:8px 24px 16px;display:flex;overflow-x:auto}.journal-mood-row::-webkit-scrollbar{display:none}.journal-mood-btn{cursor:pointer;background:0 0;border:1.5px solid #0000;border-radius:50%;flex-shrink:0;width:36px;height:36px;padding:3px;transition:border-color .14s,transform .14s}.journal-mood-btn img{width:100%;height:100%;display:block}.journal-mood-btn:hover:not(:disabled){transform:scale(1.18)}.journal-mood-btn.active{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, transparent)}.journal-mood-btn:disabled{opacity:.4;cursor:default}.task-op-item{border:1px solid var(--div);border-radius:var(--r);background:var(--surf-1);align-items:flex-start;gap:8px;padding:10px 12px;display:flex}.task-op-item input[type=checkbox]{margin-top:2px}.task-op-main{flex:1;min-width:0}.task-op-title{color:var(--on);font-size:13px}.task-op-sub{color:var(--on-3);margin-top:2px;font-size:11px}.cal-drawer-head{border-bottom:1px solid var(--div);flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 40px 10px;display:flex}.cal-drawer-title{color:var(--on);flex:1;font-size:14px;font-weight:600}.cal-drawer-close{background:var(--surf-2);width:26px;height:26px;color:var(--on-3);cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:16px;line-height:1;transition:background .12s,color .12s;display:flex}.cal-drawer-close:hover{background:var(--div);color:var(--on)}.cal-drawer-journal-btn{border:1px solid var(--div);color:var(--accent);cursor:pointer;white-space:nowrap;background:0 0;border-radius:99px;margin-left:auto;margin-right:8px;padding:3px 9px;font-size:11.5px;transition:background .13s,border-color .13s}.cal-drawer-journal-btn:hover{background:var(--accent-dim);border-color:var(--accent)}.cal-drawer-list{flex-direction:column;flex:1;gap:8px;padding:12px 40px 24px;display:flex}.cal-drawer-empty{color:var(--on-3);text-align:center;padding-top:16px;font-size:13px}.cal-mood-row{border-bottom:1px solid var(--div);flex-wrap:wrap;align-items:center;gap:4px;margin-bottom:4px;padding:8px 0 12px;display:flex}.cal-mood-opt{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:8px;flex-shrink:0;padding:4px;transition:transform .15s cubic-bezier(.34,1.56,.64,1),background .12s}.cal-mood-opt img{width:28px;height:28px;display:block}.cal-mood-opt:hover{background:var(--surf-2)}.cal-mood-opt.selected{background:var(--accent-dim);transform:scale(1.25)}.cal-mood-badge{pointer-events:none;position:absolute;bottom:3px;right:4px}.cal-mood-badge img{width:16px;height:16px;display:block}.cal-day.has-journal:before{content:"";background:var(--accent);opacity:.75;border-radius:50%;width:5px;height:5px;position:absolute;top:5px;left:5px}@keyframes drawerItemIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.cal-drawer-item{background:var(--surf-1);border:1px solid var(--div);border-radius:var(--r);cursor:pointer;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;transition:border-color .12s;animation:.22s cubic-bezier(.05,.7,.1,1) both drawerItemIn;display:flex}.cal-drawer-item:hover{border-color:var(--on-3)}.cal-drawer-item.done{opacity:.6}.cal-drawer-cb-wrap{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.cal-drawer-cb-wrap input[type=checkbox]{cursor:pointer;flex-shrink:0;width:16px;height:16px}.cal-drawer-text{color:var(--on);text-overflow:ellipsis;white-space:nowrap;cursor:default;-webkit-user-select:none;user-select:none;font-size:13px;line-height:1.4;transition:color .22s;position:relative;overflow:hidden}.cal-drawer-text:after{content:"";background:var(--on-3);transform-origin:0;width:100%;height:1.5px;transition:transform .28s cubic-bezier(.16,1,.3,1);position:absolute;top:50%;left:0;transform:scaleX(0)}.cal-drawer-item.done .cal-drawer-text{color:var(--on-3)}.cal-drawer-item.done .cal-drawer-text:after{transform:scaleX(1)}.cal-drawer-time{color:var(--on-3);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:11px}.av-upload-pair{gap:14px;display:flex}.av-upload-item{flex-direction:column;flex:1;align-items:center;gap:4px;display:flex}.av-upload-btn{background:var(--surf-1);border:1.5px dashed var(--div-v);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;padding:0;font-size:20px;transition:border-color .15s,opacity .15s;display:flex;position:relative;overflow:hidden}.av-upload-btn:hover{border-color:var(--on-3);opacity:.82;border-style:solid}.av-upload-btn img{object-fit:cover;border-radius:50%;width:100%;height:100%;display:block}.av-upload-lbl{color:var(--on-3);text-align:center;font-size:9.5px;font-weight:300}.av-upload-sub{color:var(--on-3);opacity:.6;text-align:center;font-size:8.5px;font-weight:300;line-height:1.3}.crop-modal{width:440px;max-width:96vw}.crop-container{-webkit-user-select:none;user-select:none;cursor:default;background:#0a0a0a;border-radius:8px;line-height:0;position:relative;overflow:hidden}.crop-container img{pointer-events:none;max-width:100%;max-height:320px;margin:0 auto;display:block}.crop-sel{cursor:move;box-sizing:border-box;border:2px solid #ffffffeb;position:absolute;box-shadow:0 0 0 9999px #00000085}.crop-sel:before{content:"";pointer-events:none;border:1.5px dashed #ffffff52;border-radius:50%;position:absolute;inset:0}.crop-h{background:#fff;border-radius:2px;width:12px;height:12px;position:absolute;box-shadow:0 1px 3px #00000073}.crop-h-tl{cursor:nw-resize;top:-6px;left:-6px}.crop-h-tr{cursor:ne-resize;top:-6px;right:-6px}.crop-h-bl{cursor:sw-resize;bottom:-6px;left:-6px}.crop-h-br{cursor:se-resize;bottom:-6px;right:-6px}.crop-preview-row{align-items:center;gap:10px;padding:2px 0;display:flex}.crop-preview-circle{border:1.5px solid var(--div-v);background:var(--surf-2);border-radius:50%;flex-shrink:0;width:52px;height:52px;overflow:hidden}.crop-preview-circle canvas{width:100%;height:100%;display:block}#splash{z-index:9999;background:var(--bg);flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.splash-core{flex-direction:column;align-items:center;gap:20px;display:flex}.splash-icon{background:var(--accent-dim);border:1.5px solid color-mix(in srgb, var(--accent) 28%, transparent);width:80px;height:80px;box-shadow:0 0 0 8px color-mix(in srgb, var(--accent) 6%, transparent), 0 8px 28px color-mix(in srgb, var(--accent) 16%, transparent);border-radius:26px;justify-content:center;align-items:center;font-size:36px;display:flex}.splash-name{letter-spacing:16px;text-indent:16px;color:var(--on);font-family:Nowar Rounded TW Wc,Noto Sans SC,serif;font-size:44px;font-weight:300;line-height:1}.splash-tagline{letter-spacing:4px;text-indent:4px;color:var(--on-3);text-align:center;width:100%;margin-top:-12px;font-size:10px;font-weight:300}#splash-progress{background:color-mix(in srgb, var(--accent) 14%, transparent);height:3px;position:absolute;bottom:0;left:0;right:0;overflow:hidden}#splash-progress:after{content:"";inset-block:0;background:var(--accent);transform-origin:0;border-radius:0 2px 2px 0;animation:1.5s cubic-bezier(.4,0,.2,1) .2s forwards splashFill;position:absolute;left:0;right:0;transform:scaleX(0)}@keyframes splashFill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes viewIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes sceneIn{0%{opacity:0;transform:translateY(7px)scale(.995)}to{opacity:1;transform:translateY(0)scale(1)}}.home-panel.active.scene-enter,.task-panel.active.scene-enter,.cal-panel.active.scene-enter,.dispatch-panel.active.scene-enter,.suzhi-says-panel.active.scene-enter{animation:.24s cubic-bezier(.2,.9,.2,1) both sceneIn}#sendButton:not(.stopping):active{transform:scale(.88)}#sendButton{transition:transform .12s cubic-bezier(.34,1.56,.64,1),background .15s}.nav-item{position:relative;overflow:hidden}.nav-item:after{content:"";background:var(--on);opacity:0;border-radius:inherit;transition:opacity .18s;position:absolute;inset:0}.nav-item:hover:after{opacity:.05}.nav-item:active:after{opacity:.12}.home-panel{flex-direction:column;flex:1;min-height:0;display:none;overflow:hidden}.home-panel.active{display:flex}.home-chat{flex-direction:column;flex:1;min-width:360px;display:flex;position:relative;overflow:hidden}#chatParticles{pointer-events:none;z-index:2;position:absolute;inset:0}.deco-card{height:200px;overflow:hidden;padding:0!important}.chat-deco-canvas{pointer-events:none;width:100%;height:100%;display:block}.home-right{background:0 0;flex-direction:column;flex-shrink:0;gap:12px;width:280px;padding:0 0 16px;display:flex;overflow-y:auto}.home-right::-webkit-scrollbar{width:3px;transition:width .2s}.home-right::-webkit-scrollbar-thumb{background:var(--div-v);border-radius:2px}.home-card{background:var(--surf-1);border:1px solid var(--div);box-shadow:var(--e2);border-radius:16px;flex-shrink:0;padding:16px;transition:box-shadow .22s,border-color .22s,transform .22s}.home-card:hover{box-shadow:var(--e3);border-color:var(--div-v);transform:translateY(-1px)}.home-card{animation:.45s cubic-bezier(.05,.7,.1,1) both cardSlideIn}.home-card:first-child{animation-delay:60ms}.home-card:nth-child(2){animation-delay:.14s}.home-card:nth-child(3){animation-delay:.22s}@keyframes cardSlideIn{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:translate(0)}}.home-card-title{letter-spacing:1.4px;text-transform:uppercase;color:var(--on-3);margin-bottom:10px;font-size:10.5px;font-weight:500}.mini-cal-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.mini-wday{text-align:center;color:var(--on-3);padding-bottom:4px;font-size:9px;font-weight:400}.mini-day{aspect-ratio:1;color:var(--on-2);cursor:default;border-radius:50%;justify-content:center;align-items:center;font-size:10.5px;font-weight:300;transition:background .12s;display:flex;position:relative}.mini-day.today{background:var(--accent);color:#fff;font-weight:500}.mini-day.has-task:after{content:"";background:var(--accent);border-radius:50%;width:3px;height:3px;position:absolute;bottom:1px}.mini-day.today:after{background:#ffffffb3}.mini-day.other-m{color:var(--on-3);opacity:.4}.mini-cal-month{color:var(--on-2);letter-spacing:.3px;margin-bottom:8px;font-size:11px;font-weight:400}.upcoming-item{border-bottom:1px solid var(--div);align-items:flex-start;gap:8px;padding:6px 0;transition:opacity .15s;display:flex}.upcoming-item:last-child{border-bottom:none;padding-bottom:0}.upcoming-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-top:5px}.upcoming-dot.overdue{background:var(--danger)}.upcoming-dot.today{background:#c48a00}.upcoming-dot.future{background:var(--accent)}.upcoming-text{flex:1;min-width:0}.upcoming-title{color:var(--on);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:400;overflow:hidden}.upcoming-due{color:var(--on-3);margin-top:1px;font-size:10px;font-weight:300}.upcoming-empty{color:var(--on-3);text-align:center;padding:10px 0;font-size:11.5px;font-weight:300}.home-placeholder-body{flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:18px 0 10px;display:flex}.home-placeholder-icon{opacity:.4;font-size:24px}.home-placeholder-label{color:var(--on-3);letter-spacing:.5px;font-size:11px;font-weight:300}#loginOverlay{background:var(--bg);z-index:9999;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.login-card{background:var(--surf-1);border:1px solid var(--div);width:320px;max-width:92vw;box-shadow:var(--e3);border-radius:20px;flex-direction:column;align-items:center;gap:6px;padding:36px 32px 32px;display:flex}.login-icon{background:var(--accent-dim);border:1.5px solid #6fa86a40;border-radius:16px;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:6px;font-size:26px;display:flex}.login-title{letter-spacing:5px;color:var(--on);font-family:Nowar Rounded TW Wc,Noto Sans SC,serif;font-size:22px}.login-sub{color:var(--on-3);letter-spacing:1px;margin-bottom:16px;font-size:10px}.login-form{flex-direction:column;gap:10px;width:100%;display:flex}.login-inp{border:1px solid var(--div-v);border-radius:var(--r);background:var(--surf-2);width:100%;color:var(--on);box-sizing:border-box;outline:none;padding:11px 14px;font-family:inherit;font-size:13.5px;font-weight:300;transition:border-color .12s}.login-inp:focus{border-color:var(--on-2);background:var(--surf-1)}.login-err{color:var(--danger);text-align:center;min-height:16px;font-size:11.5px}.login-btn{border-radius:var(--r);background:var(--on);width:100%;color:var(--surf-1);cursor:pointer;border:none;margin-top:2px;padding:11px;font-family:inherit;font-size:13.5px;font-weight:500;transition:opacity .15s}.login-btn:hover{opacity:.82}.login-btn:disabled{opacity:.5;cursor:not-allowed}.mob-tabbar{background:var(--mob-glass);-webkit-backdrop-filter:blur(20px)saturate(1.6);border:1px solid var(--mob-glass-border);z-index:600;border-radius:20px;justify-content:space-around;align-items:center;height:60px;padding:0 8px;display:none;position:fixed;bottom:12px;left:16px;right:16px;box-shadow:0 8px 32px #00000047,inset 0 1px #ffffff0f}.tab-item{cursor:pointer;color:#ffffff59;-webkit-tap-highlight-color:transparent;background:0 0;border:none;outline:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;height:60px;padding:0;transition:color .18s;display:flex;position:relative}.tab-item svg{stroke:currentColor;width:20px;height:20px;transition:transform .18s cubic-bezier(.34,1.56,.64,1)}.tab-item.active{color:#fffffff2}.tab-item.active svg{transform:translateY(-1px)scale(1.1)}.tab-item.tab-center{flex:1.8}.tab-center-pill{background:var(--accent);color:#fff;width:52px;height:36px;box-shadow:0 2px 10px color-mix(in srgb, var(--accent) 50%, transparent);border-radius:12px;justify-content:center;align-items:center;font-size:17px;line-height:1;transition:transform .18s cubic-bezier(.34,1.56,.64,1),box-shadow .18s;display:flex}.tab-item.tab-center.active .tab-center-pill{box-shadow:0 6px 18px color-mix(in srgb, var(--accent) 55%, transparent);transform:translateY(-2px)scale(1.06)}.tab-badge{background:var(--send-btn,var(--accent));color:#fff;pointer-events:none;border:1.5px solid var(--mob-glass);border-radius:8px;justify-content:center;align-items:center;min-width:15px;height:15px;padding:0 3px;font-size:9px;font-weight:700;display:flex;position:absolute;top:8px;right:calc(50% - 16px)}@media (width<=1100px){.home-right{display:none}}@media (width<=640px){.cal-task-pill,.cal-more{display:none!important}.cal-dot-row{display:flex}.cal-day-num{align-self:center}.cal-body.shrunk .cal-task-bar{display:none!important}.cal-day{padding:6px 0 4px}.cal-task-bar{border-radius:0;width:100%;height:14px;margin:2px 0 0;padding:0;line-height:14px}.cal-task-bar.bar-start{border-radius:99px 0 0 99px;margin:2px 0 0;padding:0}.cal-task-bar.bar-end{border-radius:0 99px 99px 0;margin:2px 0 0;padding:0}.cal-task-bar.bar-mid{margin:2px 0 0;padding:0}.cal-task-bar.bar-solo{border-radius:99px;margin:2px 0 0;padding:0}.cal-task-bar>span,.cal-task-bar .cal-bar-del{display:none!important}.cal-head{gap:4px;padding:10px 12px 8px}.cal-body,.mood-inner{padding:8px 12px 12px}.cal-head-actions{gap:4px}.cal-month-nav{gap:6px}.cal-month-label{min-width:72px;font-size:14px}.cal-head-actions .sheet-btn{padding:0 10px}.task-panel-head,.dispatch-head,.reading-topbar,.task-list,.dispatch-list,.book-grid,.cat-filter-bar,.reading-tabs{padding-left:12px;padding-right:12px}.cat-filter-bar:not(.expanded) .cat-filter-btn.cat-filter-more{right:12px}.cat-filter-bar:not(.expanded).cat-filter-overflowing:after{width:60px}.app{gap:0;padding:0}.sidebar{z-index:500;border-radius:0 16px 16px 0;width:80vw;max-width:300px;transition:transform .28s cubic-bezier(.4,0,.2,1);position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.mob-open{transform:translate(0)}body.sidebar-open{touch-action:none;overflow:hidden}.mob-overlay{z-index:499;background:#00000061;display:none;position:fixed;inset:0}.mob-overlay.visible{display:block}.mob-topbar{background:var(--mob-glass);-webkit-backdrop-filter:blur(20px)saturate(1.5);border-bottom:1px solid var(--mob-glass-border);color:#fff;justify-content:space-between;align-items:center;display:flex}.mob-topbar-title{color:#ffffffe6}.mob-topbar-model{color:#fff6}.mob-av-btn{color:#fffc;background:#ffffff1f}.chat-input-area{background:var(--surf-1);-webkit-backdrop-filter:none;backdrop-filter:none}#imgBtn,#fileBtn,#clipBtn{display:none!important}#attachMenuBtn{border:1px solid var(--div-v);border-radius:var(--r);background:var(--surf-2);width:38px;height:38px;color:var(--on-2);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;transition:background .12s,color .12s;display:flex}#attachMenuBtn.open{background:var(--accent-dim);color:var(--accent);border-color:var(--accent)}#attachMenu{background:var(--surf-1);border:1px solid var(--div-v);z-index:200;border-radius:12px;flex-direction:column;gap:2px;padding:6px;display:none;position:absolute;bottom:calc(100% + 8px);left:14px;box-shadow:0 4px 20px #00000024}#attachMenu.open{display:flex}.attach-item{color:var(--on);cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;padding:9px 14px;font-family:inherit;font-size:14px;display:flex}.attach-item:hover{background:var(--surf-2)}.sid-settings{background:var(--mob-glass);-webkit-backdrop-filter:blur(24px)saturate(1.6);border:1px solid var(--mob-glass-border);width:calc(100vw - 28px);max-width:320px;top:58px;bottom:auto;left:50%;transform:translate(-50%);box-shadow:0 12px 40px #0006}.sid-settings .settings-panel-title{color:#ffffffe6}.sid-settings .settings-group-label{color:#ffffff59}.sid-settings .sg-head{color:#fffc;background:#ffffff14}.sid-settings .sg-head:hover{background:#ffffff24}.sid-settings .sg-chevron{color:#fff6}.sid-settings .sid-label,.sid-settings .settings-row-btn,.sid-settings .settings-row-arrow{color:#ffffffbf}.sid-settings .sid-section-title{color:#fff6}.sid-settings .settings-row-btn:hover{background:#ffffff14;border-radius:8px}.sid-settings .hr{background:#ffffff14}.sid-settings .btn{color:#fffc;background:#ffffff0f;border-color:#ffffff38}.sid-settings .btn:hover{background:#ffffff1f;border-color:#ffffff59}.sid-settings .btn:disabled{color:#ffffff4d;border-color:#ffffff1a}.sid-settings .f-sub,.sid-settings .api-line{color:#fff6}.sid-settings .api-line.ok{color:#a0dc8cd9}.sid-settings .api-line.err{color:#dc6464d9}.chat-messages{background:var(--bg);padding:16px 14px}.chat-input-area{padding:10px 14px 16px}.home-right{display:none}.task-panel,.cal-panel,.dispatch-panel,.suzhi-says-panel,.memory-panel,.clips-panel,.panel{border-radius:20px;margin:10px 12px 0;overflow-y:auto;box-shadow:0 4px 24px #00000038}.message.user{max-width:88%}.main{width:100%;padding-bottom:calc(60px + 12px + 12px + env(safe-area-inset-bottom));background:var(--bg);border-radius:0;padding-left:0;padding-right:0}.home-panel{border-radius:20px;margin:10px 12px 0;overflow:hidden;box-shadow:0 4px 24px #00000038}.home-chat{border-radius:20px 20px 0 0;overflow:hidden}.chat-input-area{border-radius:0 0 20px 20px;padding:10px 14px 16px}#mobTopbar{border-bottom:none;border-radius:16px;margin:10px 12px 0;box-shadow:0 2px 12px #0000002e}.mob-tabbar{display:flex}.sidebar{display:none!important}.journal-bar-controls{align-items:center;gap:4px;width:100%;padding:6px 8px 10px;display:flex}.journal-bottom-bar{flex-direction:column;align-items:stretch;padding:0}.journal-bottom-bar .journal-mood-row{flex:none;max-height:0;padding:0 8px;transition:max-height .28s cubic-bezier(.05,.7,.1,1),padding .28s cubic-bezier(.05,.7,.1,1);overflow:hidden}.journal-bottom-bar .journal-mood-row.open{max-height:62px;padding:6px 8px 0}.journal-mood-toggle{border:1.5px solid var(--div);cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;padding:0;font-size:16px;transition:border-color .18s,background .18s;overflow:hidden;display:inline-flex!important}.journal-mood-toggle img{object-fit:contain;width:22px;height:22px;display:block}.journal-mood-toggle.has-mood{border-color:color-mix(in srgb, var(--accent) 40%, var(--div))}.journal-mood-toggle.open{background:color-mix(in srgb, var(--accent) 10%, var(--surf-1));border-color:var(--accent)}.journal-bar-controls .journal-weather{text-align:center;flex:1;padding-right:0}}.mob-menu-btn,.mob-overlay{display:none}@media (width>=641px){.mob-topbar,.mob-tabbar,#openMemoryPanelBtn{display:none}.cal-head{padding:14px 16px 10px}.cal-body,.mood-inner{padding:10px 16px 20px}.cal-drawer-head{padding:10px 16px 8px}.cal-drawer-list{padding:10px 16px 20px}.cal-mood-row{gap:2px}.cal-body.shrunk .cal-grid{grid-auto-rows:76px}.cal-body.shrunk .cal-day{height:auto;min-height:0;overflow:hidden}.cal-body.shrunk .cal-task-pill,.cal-body.shrunk .cal-more{opacity:1;pointer-events:auto}.clips-search-bar,.clips-tag-bar{padding:0 16px 10px}.clips-list{padding:4px 16px 40px}.clips-grid{flex-direction:column}}.mob-topbar{background:var(--surf-1);border-bottom:1px solid var(--div);flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 14px;position:relative}.mob-av-btn{background:var(--surf-2);cursor:pointer;width:36px;height:36px;color:var(--on-2);background-position:50%;background-size:cover;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:16px;display:flex;overflow:hidden}.mob-topbar-title{letter-spacing:3px;color:var(--on);pointer-events:none;font-family:Nowar Rounded TW Wc,Noto Sans SC,serif;font-size:16px;position:absolute;left:50%;transform:translate(-50%)}.mob-topbar-right{align-items:center;gap:5px;min-width:0;display:flex}.mob-topbar-model{color:var(--on-3);text-overflow:ellipsis;white-space:nowrap;max-width:80px;font-size:11px;overflow:hidden}.mob-topbar-weather{color:var(--on-3);white-space:nowrap;font-size:11px}.weather-main{align-items:baseline;gap:8px;margin-bottom:6px;display:flex}.weather-temp{color:var(--on);font-size:32px;font-weight:300;line-height:1}.weather-desc{color:var(--on-2);font-size:13px}.weather-sub{color:var(--on-3);font-size:11px}#loginOverlay,.mob-overlay,.mob-tabbar,.sid-settings,.sub-modal-overlay,.modal-overlay,.excerpt-drawer-overlay,#splash{z-index:9000}#splash{z-index:9999}@keyframes msgSlideLeft{0%{opacity:0;transform:translate(-18px)translateY(6px)scale(.96)}to{opacity:1;transform:none}}@keyframes msgSlideRight{0%{opacity:0;transform:translate(18px)translateY(6px)scale(.96)}to{opacity:1;transform:none}}.message.ai.msg-enter{animation:.42s cubic-bezier(.34,1.56,.64,1) both msgSlideLeft}.message.user.msg-enter{animation:.38s cubic-bezier(.34,1.56,.64,1) both msgSlideRight}@keyframes avatarBreath{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 0%, transparent)}50%{box-shadow:0 0 0 6px color-mix(in srgb, var(--accent) 22%, transparent)}}.avatar.streaming{animation:2s ease-in-out infinite avatarBreath;border-color:color-mix(in srgb, var(--accent) 40%, transparent)!important}.chat-messages{position:relative}.chat-messages>*{z-index:1;position:relative}.splash-core{position:relative}.splash-glow{background:radial-gradient(circle, color-mix(in srgb, var(--accent) 18%, transparent) 0%, transparent 68%);pointer-events:none;z-index:-1;border-radius:50%;width:360px;height:360px;animation:1.4s cubic-bezier(.05,.7,.1,1) 50ms both splashGlowIn;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(0)}@keyframes splashGlowIn{0%{opacity:0;transform:translate(-50%,-50%)scale(0)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.splash-icon{animation:.7s cubic-bezier(.34,1.56,.64,1) .15s both splashIconPop}@keyframes splashIconPop{0%{opacity:0;transform:scale(.12)rotate(-20deg)}60%{transform:scale(1.08)rotate(4deg)}to{opacity:1;transform:scale(1)rotate(0)}}.splash-char{animation:.55s cubic-bezier(.34,1.56,.64,1) both splashCharIn;display:inline-block}.splash-char:first-child{animation-delay:.52s}.splash-char:nth-child(2){animation-delay:.66s}@keyframes splashCharIn{0%{opacity:0;transform:translateY(14px)scale(.88)}to{opacity:1;transform:none}}.splash-tagline{animation:.45s .95s both splashFadeUp}@keyframes splashFadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}#splash.splash-exit{pointer-events:none;animation:.45s cubic-bezier(.4,0,1,1) forwards splashExitNew}@keyframes splashExitNew{to{opacity:0;filter:blur(6px);transform:scale(1.06)}}.cal-view-tabs{background:var(--surf-0);border-radius:8px;gap:2px;padding:2px;display:flex}.cal-view-tab{cursor:pointer;color:var(--on-3);background:0 0;border:none;border-radius:6px;padding:3px 10px;font-size:12px;font-weight:500;transition:background .15s,color .15s}.cal-view-tab.active{background:var(--surf-1);color:var(--on-1);box-shadow:0 1px 4px #00000014}.mood-weekdays{grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:4px;display:grid}.mood-weekdays span{text-align:center;color:var(--on-3);padding:4px 0;font-size:11px;font-weight:500}.mood-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;width:100%;display:grid}@keyframes moodSlideLeft{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes moodSlideRight{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.mood-grid.slide-left{animation:.22s cubic-bezier(.05,.7,.1,1) both moodSlideLeft}.mood-grid.slide-right{animation:.22s cubic-bezier(.05,.7,.1,1) both moodSlideRight}.mood-cell{aspect-ratio:1;background:var(--surf-1);cursor:pointer;border:1.5px solid #0000;border-radius:10px;justify-content:center;align-items:center;transition:transform .15s,box-shadow .15s;display:flex;position:relative;overflow:hidden}.mood-cell:hover{transform:scale(1.06);box-shadow:0 3px 12px #0000001a}.mood-cell-blank{cursor:default;pointer-events:none;background:0 0}.mood-cell-today{border-color:var(--accent)}.mood-emoji-img{object-fit:cover;box-sizing:border-box;pointer-events:none;width:100%;height:100%;padding:6%;position:absolute;inset:0}.mood-day-num{color:var(--on-3);z-index:1;pointer-events:none;font-size:10px;font-weight:600;line-height:1;position:absolute;top:3px;left:5px}.mood-cell:has(.mood-emoji-img) .mood-day-num{color:#00000059}@keyframes moodPunch{0%{transform:scale(1)}30%{transform:scale(1.28)}55%{transform:scale(.92)}75%{transform:scale(1.1)}90%{transform:scale(.97)}to{transform:scale(1)}}.mood-cell.mood-punch{animation:.45s cubic-bezier(.34,1.56,.64,1) both moodPunch}.mood-picker{z-index:3000;background:var(--surf-0);border:1px solid var(--div-v);border-radius:14px;flex-wrap:wrap;gap:6px;max-width:240px;padding:10px;animation:.18s cubic-bezier(.34,1.56,.64,1) both pickerIn;display:flex;position:fixed;box-shadow:0 8px 32px #00000026}@keyframes pickerIn{0%{opacity:0;transform:scale(.85)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.mood-picker-btn{cursor:pointer;background:0 0;border:2px solid #0000;border-radius:8px;justify-content:center;align-items:center;width:42px;height:42px;padding:3px;transition:background .12s,transform .12s,border-color .12s;display:flex}.mood-picker-btn:hover{background:var(--surf-1);transform:scale(1.12)}.mood-picker-btn.active{border-color:var(--accent)}.mood-picker-btn img{object-fit:contain;width:28px;height:28px}.panel{background:var(--bg);flex-direction:column;flex:1;min-height:0;display:none;overflow:hidden}.panel.active{animation:.3s cubic-bezier(.05,.7,.1,1) both viewIn;display:flex}.reading-head-title{color:var(--on);flex-shrink:0;margin-right:6px;font-size:15px;font-weight:500}.reading-topbar{border-bottom:1px solid var(--div);background:var(--surf-1);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px 10px;display:flex}.reading-tabs{flex-shrink:0;justify-content:center;gap:5px;padding:12px 24px;display:flex}.reading-add-btn{height:30px}.reading-tab{border:1px solid var(--div);color:var(--on-3);cursor:pointer;white-space:nowrap;background:0 0;border-radius:99px;padding:3px 11px;font-family:inherit;font-size:11px;transition:all .12s}.reading-tab:hover{border-color:var(--div-v);color:var(--on-2)}.reading-tab.active{background:var(--on);color:var(--surf-1);border-color:#0000}.book-grid{flex:1;grid-template-columns:repeat(3,1fr);grid-auto-rows:max-content;align-content:start;gap:12px;padding:0 24px 80px;display:grid;overflow-y:auto}@media (width>=640px){.book-grid{grid-template-columns:repeat(5,1fr)}}@media (width>=1024px){.book-grid{grid-template-columns:repeat(7,1fr)}}@media (width>=768px){.message-content{font-size:14.5px}.thinking-content{font-size:12.5px}#messageInput{font-size:13.5px}.chart-table{font-size:12.5px}.sidebar{background:color-mix(in srgb, var(--surf-1) 90%, transparent);-webkit-backdrop-filter:blur(16px)}}.book-card{-webkit-tap-highlight-color:transparent;cursor:pointer;flex-direction:column;align-self:start;gap:5px;min-width:0;display:flex}.book-cover{aspect-ratio:3/4;background:var(--surf-1);border-radius:4px;width:100%;transition:box-shadow .2s,transform .2s;position:relative;overflow:hidden;box-shadow:0 2px 8px #0000001f}@media (hover:hover) and (pointer:fine){.book-card:hover .book-cover{transform:translateY(-2px);box-shadow:0 6px 18px #0000002e}}.book-cover img{object-fit:cover;width:100%;height:100%}.book-cover-fallback{box-sizing:border-box;color:#586a6e;text-align:center;background:linear-gradient(160deg,#e8ede8 0%,#d4dcdb 100%);border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:100%;height:100%;padding:12px 10px;display:flex}.book-cover-fallback .bcf-logo{opacity:.7;flex-shrink:0;width:42%;min-width:28px;max-width:56px;height:auto}.book-cover-fallback .bcf-title{color:#455255;word-break:break-word;overflow-wrap:break-word;font-size:12px;font-weight:500;line-height:1.35}.book-cover-fallback .bcf-author{color:#7a8a8e;opacity:.85;word-break:break-word;font-size:10.5px;line-height:1.3}.book-search-thumb-fb .book-cover-fallback,.book-search-thumb-fb{color:#586a6e;background:linear-gradient(160deg,#e8ede8 0%,#d4dcdb 100%);justify-content:center;align-items:center;display:flex}.book-search-thumb-fb .bcf-logo{opacity:.7;width:60%}.book-cover-sm{flex-shrink:0;width:72px;height:96px}.book-status-dot{background:#bbb;border:1.5px solid #fffc;border-radius:50%;width:8px;height:8px;position:absolute;top:6px;right:6px}.book-card-title{color:var(--on-1);-webkit-line-clamp:1;text-overflow:ellipsis;-webkit-box-orient:vertical;font-size:11.5px;line-height:1.4;display:-webkit-box;overflow:hidden}.book-card-author{color:var(--on-3);white-space:nowrap;text-overflow:ellipsis;min-height:14px;font-size:11px;line-height:1.35;overflow:hidden}.book-card-author.is-placeholder{opacity:0;pointer-events:none}.book-card-status{color:var(--accent);opacity:.8;margin-top:1px;font-size:11px;line-height:1.35}.fab-btn{background:var(--accent);color:#fff;cursor:pointer;z-index:10;border:none;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;transition:transform .15s,box-shadow .15s;display:flex;position:absolute;bottom:84px;right:24px;box-shadow:0 4px 16px #0000002e}.fab-btn:hover{transform:scale(1.08);box-shadow:0 6px 20px #00000038}#readingPanel{position:relative}.book-search-row{border-bottom:1px solid var(--div);cursor:pointer;border-radius:6px;align-items:center;gap:10px;padding:8px 0;transition:background .12s;display:flex}.book-search-row:hover{background:var(--surf-1)}.book-search-row:last-child{border-bottom:none}.book-search-thumb{object-fit:cover;background:var(--surf-1);border-radius:3px;flex-shrink:0;width:36px;height:48px}.book-search-thumb-fb{color:#00000059;justify-content:center;align-items:center;font-size:16px;display:flex}.book-search-info{flex:1;min-width:0}.book-search-title{color:var(--on);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.book-search-meta{color:var(--on-3);margin-top:2px;font-size:11.5px}.book-confirm-info{align-items:flex-start;gap:12px;padding:12px 0 8px;display:flex}.book-confirm-thumb{object-fit:cover;background:var(--surf-1);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:54px;height:72px;font-size:22px;display:flex}.book-confirm-meta{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.book-confirm-title{color:var(--on);word-break:break-word;font-size:14px;font-weight:500;line-height:1.45}.book-confirm-author{color:var(--on-3);word-break:break-word;margin-top:1px;font-size:12px}.book-status-btns{flex-wrap:wrap;gap:6px;margin:8px 0 2px;display:flex}.book-status-btn{border:1px solid var(--div-v);color:var(--on-2);cursor:pointer;background:0 0;border-radius:20px;padding:4px 12px;font-size:12px;transition:background .12s,color .12s,border-color .12s}.book-status-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.book-detail-header{border-bottom:1px solid var(--div);align-items:stretch;gap:14px;padding:10px 0 14px;display:flex}.book-detail-cover{flex-direction:column;flex-shrink:0;align-items:center;gap:8px;width:118px;display:flex;position:relative}.book-detail-cover-box{aspect-ratio:3/4;background:var(--surf-1);border-radius:6px;width:118px;position:relative;overflow:hidden}.book-detail-meta{flex:1;grid-template-columns:auto 1fr;align-items:stretch;gap:10px;min-width:0;display:grid}.book-detail-meta-main{flex-direction:column;justify-content:center;gap:6px;min-width:56px;display:flex}.book-detail-author{color:var(--on-3);min-height:18px;font-size:12.5px}.book-detail-status-btns{flex-direction:column;justify-content:center;align-items:flex-start;gap:6px;display:flex}.book-detail-insight{border:1px solid var(--div-v);background:var(--surf-1);height:150px;color:var(--on-2);border-radius:10px;flex-direction:column;padding:12px;font-size:12px;line-height:1.6;display:flex;overflow:hidden}.book-detail-insight>.book-review-text-wrap{cursor:pointer;flex:1;position:relative;overflow:hidden}.book-detail-insight>.book-review-text-wrap:after{content:"";background:linear-gradient(to bottom, transparent, var(--surf-1));pointer-events:none;height:30px;position:absolute;bottom:0;left:0;right:0}.book-detail-insight>.book-review-placeholder{flex:1}.book-review-text{white-space:pre-wrap}.book-review-placeholder{color:var(--on-3);font-style:italic}.book-review-regen-row{flex-shrink:0;justify-content:center;gap:8px;margin-top:10px;display:flex}.book-review-expand-modal{flex-direction:column;max-width:520px;max-height:60vh;display:flex}.book-review-expand-body{color:var(--on-1);white-space:pre-wrap;padding:16px 20px 20px;font-size:14px;line-height:1.75;overflow-y:auto}.book-review-regen{color:var(--on-3);border:1px solid var(--div-v);cursor:pointer;opacity:.75;background:0 0;border-radius:6px;padding:3px 12px;font-size:11px;transition:opacity .15s,background .15s}.book-review-regen:hover{opacity:1;background:var(--surf-2)}.book-cover-upload-btn{color:#fff;cursor:pointer;white-space:nowrap;opacity:0;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000008c;border-radius:6px;padding:2px 10px;font-size:10.5px;transition:opacity .15s;position:absolute;bottom:6px;left:50%;transform:translate(-50%)}.book-detail-cover-box:hover+.book-cover-upload-btn,.book-cover-upload-btn:hover{opacity:1}@media (hover:none){.book-cover-upload-btn{opacity:1;background:#00000073}}.book-excerpts-head{flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 0 8px;display:flex}.book-excerpts-title{color:var(--on-1);font-size:13px;font-weight:500}.excerpt-row,.book-card,.reading-tab,.book-search-row{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;outline:none}.excerpt-row:focus,.excerpt-row:focus-visible{outline:none}.book-excerpt-list{flex-direction:column;flex:1;gap:2px;display:flex;overflow-y:auto}.excerpt-row{cursor:pointer;border-radius:6px;align-items:baseline;gap:8px;padding:8px;transition:background .12s;display:flex}.excerpt-row:hover{background:var(--surf-1)}.excerpt-row-page{color:var(--on-3);flex-shrink:0;min-width:30px;font-size:11px}.excerpt-row-text{color:var(--on-1);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;overflow:hidden}.excerpt-textarea{resize:vertical;min-height:160px;line-height:1.6}.excerpt-drawer-overlay{z-index:9500;box-sizing:border-box;background:#0000007a;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.excerpt-drawer{background:var(--surf-0);border:1px solid var(--div);opacity:0;border-radius:12px;flex-direction:column;width:100%;max-width:560px;max-height:min(78vh,680px);transition:transform .22s cubic-bezier(.16,1,.3,1),opacity .2s;display:flex;overflow:hidden;transform:translateY(10px)scale(.98);box-shadow:0 10px 34px #0003}.excerpt-drawer-overlay.open .excerpt-drawer{opacity:1;transform:translateY(0)scale(1)}.excerpt-drawer-head{border-bottom:1px solid var(--div);flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 18px 12px;display:flex}.excerpt-drawer-title{color:var(--on);font-size:13.5px;font-weight:500}.excerpt-drawer-body{flex-direction:column;flex:1;gap:10px;padding:14px 18px 24px;display:flex;overflow-y:auto}.excerpt-drawer-page{color:var(--on-3);font-size:11.5px}.excerpt-drawer-text{color:var(--on);white-space:pre-wrap;font-size:14px;line-height:1.7}.excerpt-drawer-actions{gap:8px;display:flex}.excerpt-drawer-hr{border:none;border-top:1px solid var(--div);margin:4px 0}.excerpt-sticky-wrap{flex-direction:column;gap:6px;display:flex}.excerpt-sticky-label{color:var(--on-3);letter-spacing:.04em;font-size:11px;font-weight:500}.excerpt-sticky{color:#000000b3;background:#fefce8;border:1px solid #0000000f;border-radius:8px;min-height:60px;padding:12px 14px;font-size:13px;line-height:1.65}.html.dark .excerpt-sticky{color:#ffffffbf;background:#2d2d1a}.excerpt-sticky.sticky-empty:after{content:"溯之还在想…";color:var(--on-3);font-size:12px;font-style:italic}.modal-x-btn{color:var(--on-3);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:18px;line-height:1;transition:color .12s}.modal-x-btn:hover{color:var(--on)}.profile-modal{z-index:1000;opacity:0;background:#00000052;justify-content:center;align-items:stretch;transition:opacity .22s;display:none;position:fixed;inset:0}.profile-modal.open{opacity:1}.profile-modal-inner{background:var(--bg);border-radius:14px;flex-direction:column;width:100%;max-width:720px;margin:24px;transition:transform .22s;display:flex;overflow:hidden;transform:translateY(8px);box-shadow:0 18px 60px #00000038}.profile-modal.open .profile-modal-inner{transform:translateY(0)}.profile-modal-head{border-bottom:1px solid var(--div-v);justify-content:space-between;align-items:center;padding:16px 22px;display:flex}.profile-modal-title{color:var(--on-1);letter-spacing:.5px;font-size:16px;font-weight:500}.profile-modal-close{cursor:pointer;color:var(--on-3);background:0 0;border:none;padding:0 4px;font-size:22px;line-height:1;transition:color .12s}.profile-modal-close:hover{color:var(--on)}.profile-modal-body{flex-direction:column;flex:1;gap:22px;padding:22px;display:flex;overflow-y:auto}.profile-hero{background:var(--surf-1);border-radius:10px;justify-content:space-between;align-items:flex-end;padding:18px 20px;display:flex}.profile-hero-day-num{color:var(--on);letter-spacing:1px;font-size:32px;font-weight:600;line-height:1.1}.profile-hero-day-sub{color:var(--on-2);letter-spacing:.5px;margin-top:6px;font-size:12px}.profile-hero-since{color:var(--on-3);font-size:12px}.profile-stats-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.profile-stat-card{background:var(--surf-1);border-radius:10px;flex-direction:column;gap:4px;padding:14px 16px;display:flex}.profile-stat-card-title{color:var(--on-3);letter-spacing:.5px;font-size:12px}.profile-stat-card-main{color:var(--on);font-size:24px;font-weight:500;line-height:1.2}.profile-stat-card-sub{color:var(--on-3);font-size:11px}.profile-section-title{color:var(--on-2);letter-spacing:.5px;margin-bottom:10px;font-size:13px}.profile-section-title-lg{color:var(--on);letter-spacing:.5px;margin:6px 2px 12px;font-size:20px;font-weight:600}.profile-mood-strip{grid-template-columns:repeat(30,1fr);gap:4px;display:grid}.profile-mood-cell{aspect-ratio:1;background:var(--surf-2);border-radius:4px;justify-content:center;align-items:center;transition:transform .12s;display:flex}.profile-mood-cell.has-mood{background:0 0}.profile-mood-cell img{width:100%;height:100%;display:block}.profile-mood-cell:hover{transform:scale(1.16)}.profile-settings-section{flex-direction:column;gap:8px;display:flex}.profile-settings-section .sg{background:var(--surf-1);border:1px solid var(--div);border-radius:10px;margin-bottom:0;overflow:hidden}.profile-settings-section .sg-head{cursor:pointer;width:100%;color:var(--on);text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;padding:12px 14px;font-size:14px;font-weight:500;display:flex}.profile-settings-section .sg-head:hover{background:var(--surf-2)}.profile-settings-section .sg-chevron{width:14px;height:14px;color:var(--on-3);transition:transform .2s}.profile-settings-section .sg.open .sg-chevron{transform:rotate(90deg)}.profile-settings-section .sg-body{max-height:0;transition:max-height .28s;overflow:hidden}.profile-settings-section .sg.open .sg-body{max-height:600px}.profile-settings-section .sg-body-inner{flex-direction:column;gap:0;padding:4px 14px 14px;display:flex}.ps-row{border-bottom:1px solid var(--div);align-items:center;gap:10px;min-height:38px;padding:8px 0;display:flex}.ps-row:last-child{border-bottom:none}.ps-label{color:var(--on-2);text-align:left;flex-shrink:0;min-width:68px;font-size:13px}.ps-row-btn{cursor:pointer;width:100%;color:var(--on);text-align:left;font:inherit;background:0 0;border:none;align-items:center;padding:8px 0;display:flex}.ps-row-btn .ps-label{color:var(--on)}.ps-row-btn:hover{background:var(--surf-2);border-radius:6px}.ps-arrow{color:var(--on-3);margin-left:auto;font-size:16px}.ps-control{box-sizing:border-box;border-radius:8px;flex:1;min-width:0;height:32px;font-size:13px}select.ps-control{padding:0 26px 0 8px}input.ps-control{padding:0 10px}button.ps-control{cursor:pointer;padding:0 12px}.ps-select{height:auto;padding:0;position:relative}.ps-select-trigger{box-sizing:border-box;background:var(--surf-2);border:1px solid var(--div-v);width:100%;height:32px;color:var(--on);cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;padding:0 10px;font-family:inherit;font-size:13px;transition:border-color .12s,background .12s;display:flex}.ps-select-trigger:hover{border-color:var(--on-3)}.ps-select-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ps-select-arrow{width:10px;height:6px;color:var(--on-3);flex-shrink:0;margin-left:8px;transition:transform .18s}.ps-select.open .ps-select-arrow{transform:rotate(180deg)}.ps-select-menu{z-index:9801;background:var(--surf-1);border:1px solid var(--div-v);border-radius:8px;flex-direction:column;gap:2px;padding:4px;animation:.14s ps-select-fade;display:flex;position:fixed;box-shadow:0 6px 18px #0000002e}.ps-select.open .ps-select-trigger{border-color:var(--on-2)}.ps-select-menu[hidden]{display:none}@keyframes ps-select-fade{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.ps-select-opt{cursor:pointer;color:var(--on);text-align:left;background:0 0;border:none;border-radius:6px;padding:8px 10px;font-family:inherit;font-size:13px;transition:background .12s}.ps-select-opt:hover{background:var(--surf-2)}.ps-select-opt.selected{background:color-mix(in srgb, var(--accent) 18%, transparent);color:var(--on)}.ps-select-opt.selected:hover{background:color-mix(in srgb, var(--accent) 28%, transparent)}.ps-substatus{color:var(--on-3);min-height:14px;padding:2px 0 6px;font-size:11px}.ps-city-save{border-radius:8px;flex-shrink:0;height:32px;padding:6px 12px;font-size:12px}.ps-notif-btn{flex-shrink:0}.appearance-grid{grid-template-columns:1fr 1fr;gap:14px;padding:4px 0;display:grid}.appearance-col{flex-direction:column;gap:6px;display:flex}.appearance-col-title{color:var(--on-3);letter-spacing:.6px;text-transform:uppercase;padding:2px 0;font-size:11px}.ps-row-btn-col{border:none;border-radius:8px;min-height:38px;padding:8px 4px}.ps-row-btn-col:hover{background:var(--surf-2)}.theme-swatches-col{flex-wrap:wrap;gap:8px;padding:6px 2px;display:flex}.theme-swatches-col .swatch{width:22px;height:22px}.cat-mgr-panel{background:var(--surf-1);border-radius:10px;max-height:0;margin-bottom:6px;transition:max-height .28s;overflow:hidden}.cat-mgr-panel.open{max-height:400px}.cat-mgr-panel-body{flex-direction:column;gap:6px;padding:10px 12px 12px;display:flex}.cat-mgr-actions{gap:8px;margin-top:4px;display:flex}@media (width<=640px){.profile-modal{background:#0000002e;display:block;position:fixed;inset:0}.profile-modal-inner{top:76px;bottom:calc(84px + env(safe-area-inset-bottom));border-radius:20px;width:auto;max-width:none;height:auto;margin:0;position:absolute;left:12px;right:12px;transform:none;box-shadow:0 4px 24px #00000038}.profile-modal-body{gap:18px;padding:16px}.profile-hero-day-num{font-size:26px}.profile-stat-card-main{font-size:20px}.profile-mood-strip{grid-template-columns:repeat(15,1fr)}}.sudoku-overlay{z-index:1200;background:#00000052;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.sudoku-overlay.open{opacity:1}.sudoku-modal{background:var(--surf-1);border:1px solid var(--line,var(--div-v));border-radius:14px;width:min(92vw,520px);padding:14px;box-shadow:0 10px 30px #0003}.sudoku-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.sudoku-head h3{margin:0;font-size:18px}.sudoku-close{background:var(--surf-2);width:32px;height:32px;color:var(--txt-0);cursor:pointer;border:0;border-radius:8px;font-size:20px}.sudoku-status{color:var(--txt-1);margin-bottom:4px}.sudoku-timer{font-variant-numeric:tabular-nums;color:var(--txt-0);margin-bottom:10px}.sudoku-board{border:2px solid var(--line,var(--div-v,#3c3c3c73));background:var(--surf-0);grid-template-columns:repeat(9,1fr);display:grid}.sudoku-cell{aspect-ratio:1;border:1px solid var(--line,var(--div-v,#3c3c3c59));box-shadow:inset 0 0 0 1px var(--line,var(--div-v,#3c3c3c2e));color:var(--txt-0);cursor:pointer;background:0 0;font-size:18px}.sudoku-cell.block-right{border-right-width:2px;border-right-color:var(--line,var(--div-v,#3c3c3c8c))}.sudoku-cell.block-bottom{border-bottom-width:2px;border-bottom-color:var(--line,var(--div-v,#3c3c3c8c))}.sudoku-cell.fixed{color:var(--txt-0);font-weight:700}.sudoku-cell.selected{background:#5a8cdc2e}.sudoku-cell.conflict{color:#c73a3a;background:#dc505033}.sudoku-inputs{grid-template-columns:repeat(5,1fr);gap:8px;margin-top:10px;display:grid}.sudoku-input-btn{border:1px solid var(--line);background:var(--surf-2);color:var(--txt-0);cursor:pointer;border-radius:10px;min-height:36px}.sudoku-input-btn.clear,.sudoku-input-btn.ask{grid-column:span 2}#upcomingList{max-height:160px;overflow-y:auto}.hexagram-bar{cursor:pointer;border-top:1px solid var(--div);background:var(--surf-1);flex-shrink:0;align-items:center;gap:8px;padding:8px 16px;transition:background .15s;display:flex}.hexagram-bar:hover{background:var(--surf-2)}.hexagram-bar-symbol{color:var(--accent);font-size:18px;line-height:1}.hexagram-bar-name{color:var(--on-2);flex:1;font-size:13px;font-weight:500}.hexagram-bar-arrow{color:var(--on-3);font-size:14px;transition:transform .2s}.hexagram-bar.open .hexagram-bar-arrow{transform:rotate(90deg)}.hexagram-drawer{opacity:0;pointer-events:none;flex-direction:column;flex:0;min-height:0;transition:transform .32s cubic-bezier(.05,.7,.1,1),opacity .28s cubic-bezier(.05,.7,.1,1),flex .32s cubic-bezier(.05,.7,.1,1);display:flex;overflow-y:auto;transform:translateY(40px)}.hexagram-drawer.open{opacity:1;pointer-events:auto;flex:1;transform:translateY(0)}.hexagram-drawer-head{border-bottom:1px solid var(--div);flex-shrink:0;align-items:center;padding:10px 16px;display:flex}.hexagram-drawer-title{color:var(--on);flex:1;font-size:14px;font-weight:600}.hexagram-drawer-close{color:var(--on-3);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:18px;line-height:1}.hexagram-drawer-body{flex:1;padding:16px;overflow-y:auto}.hx-card-symbol{color:var(--accent);margin-bottom:2px;font-size:22px;line-height:1}.hx-card-name{color:var(--on);margin-bottom:4px;font-size:14px;font-weight:600}.hx-card-nature{color:var(--on-3);margin-bottom:10px;font-size:11px}.hx-card-blocks{padding-top:8px}.hx-card-reading{color:var(--on-2);font-size:12px;line-height:1.7}.hx-card-generate-btn{width:100%;margin-top:10px}.hexagram-popup-overlay{z-index:10000;opacity:0;background:#00000073;transition:opacity .3s;position:fixed;inset:0}.hexagram-popup-overlay.show{opacity:1}.hexagram-popup{background:var(--surf-1);border:1px solid var(--div-v);z-index:10001;opacity:0;border-radius:20px;width:min(320px,90vw);padding:28px 24px 24px;transition:transform .35s cubic-bezier(.05,.7,.1,1),opacity .3s cubic-bezier(.05,.7,.1,1);position:fixed;top:50%;left:50%;transform:translate(-50%,calc(40px - 50%));box-shadow:0 8px 32px #00000038}.hexagram-popup.show{opacity:1;transform:translate(-50%,-50%)}.hexagram-popup-close{color:var(--on-3);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:20px;line-height:1;position:absolute;top:12px;right:14px}.hexagram-popup-close:hover{color:var(--on)}.hx-state{text-align:center}.hx-symbol{color:var(--accent);margin-bottom:8px;font-size:40px;line-height:1}.hx-symbol-large{margin-bottom:10px;font-size:52px}.hx-title{color:var(--on);margin-bottom:4px;font-size:18px;font-weight:700}.hx-subtitle{color:var(--on-3);margin-bottom:20px;font-size:13px}.hx-go-btn{width:100%;margin-top:4px}@keyframes hxSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes hxSpinReverse{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}.hx-spin{width:52px;height:52px;margin:0 auto 12px;display:block;position:relative}.hx-spin:before,.hx-spin:after{content:"";border:2px solid #0000;border-radius:50%;position:absolute}.hx-spin:before{border-top-color:var(--accent);border-right-color:var(--accent);animation:1.2s cubic-bezier(.4,0,.6,1) infinite hxSpin;inset:0}.hx-spin:after{border-bottom-color:var(--on-3);border-left-color:var(--on-3);animation:.9s cubic-bezier(.4,0,.6,1) infinite hxSpinReverse;inset:8px}.hx-loading-text{color:var(--on-3);font-size:13px}.hx-reading{color:var(--on-2);text-align:left;opacity:0;margin-top:14px;font-size:13px;line-height:1.75;transition:opacity .5s}.hx-reading.show{opacity:1}.cal-drawer-hexagram{margin-top:0;padding:0 16px 12px}.cal-drawer-hx-title{color:var(--accent);margin-bottom:8px;font-size:13px;font-weight:600}.hx-card-details{margin-top:6px}.hx-card-summary{color:var(--on-3);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:4px;font-size:11px;list-style:none;display:flex}.hx-card-summary::-webkit-details-marker{display:none}.hx-card-summary:before{content:"›";font-size:13px;transition:transform .2s;display:inline-block}details.hx-card-details[open] .hx-card-summary:before{transform:rotate(90deg)}.cal-mood-capsule{border:1px solid var(--div-v);background:var(--surf-2);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;margin-right:6px;font-size:13px;line-height:1;transition:background .15s,border-color .15s;display:flex}.cal-mood-capsule:hover{background:var(--surf-1);border-color:var(--accent)}.cal-mood-capsule img{width:16px;height:16px;display:block}.mood-popup-overlay{z-index:10000;opacity:0;background:#00000059;transition:opacity .25s;position:fixed;inset:0}.mood-popup-overlay.show{opacity:1}.mood-popup{background:var(--surf-1);border:1px solid var(--div-v);z-index:10001;opacity:0;border-radius:18px;width:min(340px,90vw);padding:20px 16px;transition:transform .3s cubic-bezier(.05,.7,.1,1),opacity .25s;position:fixed;top:50%;left:50%;transform:translate(-50%,calc(30px - 50%));box-shadow:0 8px 28px #00000026}.mood-popup.show{opacity:1;transform:translate(-50%,-50%)}.mood-popup-title{color:var(--on);text-align:center;margin-bottom:16px;font-size:14px;font-weight:600}.mood-popup-grid{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.mood-popup-opt{cursor:pointer;background:0 0;border:none;border-radius:10px;padding:6px;transition:transform .15s cubic-bezier(.34,1.56,.64,1),background .12s}.mood-popup-opt img{width:36px;height:36px;display:block}.mood-popup-opt:hover{background:var(--surf-2)}.mood-popup-opt.selected{background:var(--accent-dim);transform:scale(1.2)}.cal-drawer-hx-header{border-top:1px solid var(--div);-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:8px 0 4px;display:flex}.cal-drawer-hx-sym{color:var(--accent);flex-shrink:0;font-size:15px;line-height:1}.cal-drawer-hx-name{color:var(--on);flex-shrink:0;font-size:12px;font-weight:600}.cal-drawer-hx-brief{color:var(--on-3);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:11px;overflow:hidden}.cal-drawer-hx-toggle{color:var(--on-3);flex-shrink:0;font-size:14px;transition:transform .2s;display:inline-block}.cal-drawer-hx-body{padding:8px 0 4px}.cal-drawer-hx-gen-btn{width:100%;margin-top:6px}@media (width>=960px){.hx-card-blocks>div,.cal-drawer-hx-body>div{margin-bottom:5px!important}.hx-reading{margin-top:8px}}.md-hr{border:none;border-top:1px solid var(--div);margin:4px 0;display:block}.message-content p{margin:0 0 8px}.message-content p:last-child{margin-bottom:0}.message-content p+.md-hr{margin-top:0}.message-content .md-hr+p{margin-top:8px}.msg-del-btn{background:var(--surf-2);border:1px solid var(--div);width:18px;height:18px;color:var(--on-3);cursor:pointer;opacity:0;pointer-events:none;z-index:3;border-radius:50%;justify-content:center;align-items:center;font-size:13px;line-height:1;transition:opacity .15s,background .12s;display:flex;position:absolute;top:5px;right:6px}.message:hover .msg-del-btn{opacity:1;pointer-events:auto}.msg-del-btn:hover{background:var(--danger,#e55);color:#fff;border-color:#0000}@keyframes bubbleShake{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}.bubble-shake{animation:.35s bubbleShake}.bubble-menu{background:var(--surf-1);border:1px solid var(--div-v);z-index:9999;opacity:0;border-radius:10px;flex-direction:row;gap:0;min-width:120px;transition:opacity .2s,transform .2s cubic-bezier(.05,.7,.1,1);display:flex;position:fixed;overflow:hidden;transform:translateY(6px);box-shadow:0 4px 16px #00000026}.bubble-menu.open{opacity:1;transform:translateY(0)}.bubble-menu-btn{color:var(--on);cursor:pointer;border:none;border-right:1px solid var(--div);text-align:center;white-space:nowrap;background:0 0;flex:1;padding:10px 0;font-size:14px}.bubble-menu-btn:last-child{border-right:none}.bubble-menu-btn:active{background:var(--surf-2)}.bubble-menu-del{color:var(--danger,#e55)}@media (width<=768px){.msg-del-btn,.msg-edit-btn{display:none!important}}@keyframes sceneInLeft{0%{opacity:0;transform:translate(32px)}to{opacity:1;transform:none}}@keyframes sceneInRight{0%{opacity:0;transform:translate(-32px)}to{opacity:1;transform:none}}.home-panel.active.scene-enter-left,.task-panel.active.scene-enter-left,.cal-panel.active.scene-enter-left,.dispatch-panel.active.scene-enter-left,.panel.active.scene-enter-left{animation:.28s cubic-bezier(.2,.9,.2,1) both sceneInLeft}.home-panel.active.scene-enter-right,.task-panel.active.scene-enter-right,.cal-panel.active.scene-enter-right,.dispatch-panel.active.scene-enter-right,.panel.active.scene-enter-right{animation:.28s cubic-bezier(.2,.9,.2,1) both sceneInRight}@keyframes btnSpring{0%{transform:scale(1)}35%{transform:scale(.82)}65%{transform:scale(1.08)}to{transform:scale(1)}}.btn-spring{animation:.32s cubic-bezier(.34,1.56,.64,1) btnSpring}
