:root{--bg: #f6f8fc;--surface: #ffffff;--text: #1f1f1f;--text-2: #444746;--text-3: #5e5e5e;--line: #e0e3e7;--hover: rgba(68, 71, 70, .08);--nav-hover: #e9eaee;--nav-active: #d3e3fd;--nav-active-text: #001d35;--compose: #c2e7ff;--compose-text: #001d35;--search: #e9eef6;--row-read: #f2f6fc;--row-checked: #c2dbff;--blue: #0b57d0;--blue-dark: #0842a0;--font-ui: "Google Sans Flex", "Google Sans", Roboto, "Segoe UI", Arial, sans-serif;--font-text: Roboto, "Segoe UI", Arial, sans-serif;--shadow-1: 0 1px 2px 0 rgba(60, 64, 67, .3), 0 1px 3px 1px rgba(60, 64, 67, .15);--shadow-2: 0 1px 3px 0 rgba(60, 64, 67, .3), 0 4px 8px 3px rgba(60, 64, 67, .15);--shadow-menu: 0 2px 6px 2px rgba(60, 64, 67, .15), 0 1px 2px 0 rgba(60, 64, 67, .3);color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font-text);font-size:14px;-webkit-font-smoothing:antialiased;overflow:hidden}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}button:disabled{cursor:default;opacity:.38}input,select,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}.b{font-weight:700}.dim{color:var(--text-3)}.boot{height:100%;background:var(--bg)}.icon{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;font-size:20px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;flex:none}.icon-btn{width:40px;height:40px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:var(--text-2);flex:none;transition:background-color .15s}.icon-btn:hover:not(:disabled){background:var(--hover);color:var(--text)}.icon-btn.small{width:20px;height:32px;border-radius:4px}.icon-btn.small .icon{font-size:18px}.app{height:100%;display:flex;flex-direction:column}.body{flex:1;display:flex;min-height:0}.main{flex:1;min-width:0;padding:0 16px 16px 0;display:flex}.topbar{height:64px;display:flex;align-items:center;padding:8px;flex:none}.topbar-left{width:248px;display:flex;align-items:center;gap:4px;padding-left:4px;flex:none}.brand{display:flex;align-items:center;gap:8px;padding:0 4px;height:48px}.brand span{font-family:var(--font-ui);font-size:22px;color:var(--text-2);letter-spacing:-.2px}.search{flex:1;max-width:720px;height:48px;background:var(--search);border-radius:24px;display:flex;align-items:center;padding:0 4px;transition:background .15s,box-shadow .15s}.search:focus-within{background:#fff;box-shadow:var(--shadow-1)}.search input{flex:1;height:100%;border:0;outline:0;background:transparent;font-family:var(--font-ui);font-size:16px;padding:0 8px;min-width:0}.search input::placeholder{color:var(--text-2)}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:4px;padding-right:8px}.avatar-btn{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center}.avatar-btn:hover{background:var(--hover)}.avatar{width:32px;height:32px;border-radius:50%;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-ui);font-size:15px;font-weight:500;flex:none}.avatar.big{width:40px;height:40px;font-size:18px}.avatar.logo{background:#fff url(/logo.png) 50% 42% / 190% no-repeat;box-shadow:inset 0 0 0 1px #e0e3e7}.sidebar{width:256px;flex:none;display:flex;flex-direction:column;min-height:0;transition:width .15s}.compose-wrap{padding:8px 0 16px 8px;flex:none}.compose-btn{height:56px;min-width:56px;padding:0 24px 0 16px;border-radius:16px;background:var(--compose);color:var(--compose-text);display:inline-flex;align-items:center;gap:12px;font-family:var(--font-ui);font-size:14px;font-weight:500;letter-spacing:.25px;transition:box-shadow .08s linear}.compose-btn .icon{font-size:24px}.compose-btn:hover{box-shadow:var(--shadow-2)}.nav-scroll{flex:1;overflow-y:auto;overflow-x:hidden;padding-bottom:16px;scrollbar-width:thin;scrollbar-color:transparent transparent}.nav-scroll:hover{scrollbar-color:#c4c7c5 transparent}.nav-item{position:relative;height:32px;display:flex;align-items:center;gap:18px;padding:0 12px 0 26px;margin-right:8px;border-radius:0 16px 16px 0;font-family:var(--font-ui);font-size:14px;color:#202124;cursor:pointer;-webkit-user-select:none;user-select:none;width:calc(100% - 8px);text-align:left}.nav-item:hover{background:var(--nav-hover)}.nav-item.active{background:var(--nav-active);color:var(--nav-active-text);font-weight:700}.nav-item.has-unread{font-weight:700}.nav-item.drop{background:var(--nav-active);box-shadow:inset 0 0 0 2px var(--blue)}.nav-item .icon{font-size:20px;color:var(--text-2)}.nav-item.active .icon{color:var(--nav-active-text)}.nav-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-count{font-size:12px;font-weight:700;letter-spacing:.3px;margin-left:8px}.nav-toggle{font-weight:400}.label-item{gap:18px}.label-item .nav-more{display:none;width:28px;height:28px;margin-right:-8px}.label-item:hover .nav-more{display:inline-flex}.label-item:hover .nav-count{display:none}.tree-toggle{position:absolute;margin-left:-22px;width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:var(--text-2)}.tree-toggle .icon{font-size:20px}.nav-section{height:40px;margin-top:12px;padding:0 12px 0 26px;display:flex;align-items:center;justify-content:space-between;font-family:var(--font-ui);font-size:16px;font-weight:500;color:#202124}.nav-section .icon-btn{width:32px;height:32px}.nav-empty{padding:4px 26px;font-size:13px;color:var(--text-3)}.app.collapsed .sidebar{width:72px}.app.collapsed .compose-btn{padding:0;width:56px;justify-content:center}.app.collapsed .compose-btn span:not(.icon),.app.collapsed .nav-name,.app.collapsed .nav-count,.app.collapsed .nav-section,.app.collapsed .nav-empty,.app.collapsed .tree-toggle,.app.collapsed .nav-more{display:none!important}.app.collapsed .nav-item{width:56px;padding:0;margin-left:8px;justify-content:center;border-radius:16px}.app.collapsed .label-item{padding-left:0!important}.list-panel,.thread-panel{flex:1;min-width:0;background:var(--surface);border-radius:16px;display:flex;flex-direction:column;overflow:hidden}.toolbar{height:48px;flex:none;display:flex;align-items:center;padding:0 8px;gap:4px}.tb-sep{width:12px;flex:none}.toolbar-right{margin-left:auto;display:flex;align-items:center;gap:4px}.pager-text{font-size:12px;color:var(--text-2);padding:0 8px;white-space:nowrap}.master-check{display:flex;align-items:center;padding-left:4px;margin-right:8px}.checkbox{width:40px;height:40px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:var(--text-2);flex:none}.checkbox:hover{background:var(--hover)}.checkbox.on,.checkbox.some{color:var(--text)}.master-check .checkbox{width:32px;height:32px;border-radius:4px}.list-title{padding:4px 16px 12px;font-family:var(--font-ui);font-size:18px;color:var(--text)}.rows{flex:1;overflow-y:auto;border-top:1px solid #f1f3f4}.list-empty{padding:40px 16px;text-align:center;color:var(--text-3);font-size:14px}.row{position:relative;display:flex;align-items:center;height:40px;padding-right:16px;background:var(--row-read);box-shadow:inset 0 -1px #64798f1f;cursor:pointer;font-size:14px;color:#202124;-webkit-user-select:none;user-select:none}.row.unread{background:var(--surface)}.row.unread .row-subject,.row.unread .row-date{font-weight:700;color:var(--text)}.row:hover{box-shadow:inset 1px 0 #dadce0,inset -1px 0 #dadce0,0 1px 2px #3c40434d,0 1px 3px 1px #3c404326;z-index:2}.row.checked{background:var(--row-checked)}.drag-handle{width:16px;display:flex;justify-content:center;color:var(--text-2);opacity:0;cursor:grab;flex:none}.drag-handle .icon{font-size:18px}.row:hover .drag-handle{opacity:.45}.star{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-2);border-radius:50%;flex:none;margin-left:-6px}.star:hover{background:var(--hover)}.star.on{color:#f4b400}.row-from{flex:0 0 200px;padding-right:32px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-left:4px}.row.unread .row-from .b{color:var(--text)}.row-count{color:var(--text-3);font-size:12px;margin-left:4px;font-weight:400}.row-main{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.row-subject{color:#202124}.row-snippet{color:var(--text-3)}.row-att{color:var(--text-3);margin-left:8px;font-size:18px}.row-date{flex:none;min-width:56px;text-align:right;font-size:12px;color:var(--text-3);padding-left:16px;letter-spacing:.2px}.row-actions{display:none;position:absolute;right:8px;top:0;height:40px;align-items:center;background:inherit;padding-left:8px}.row:hover .row-actions{display:flex}.row:hover .row-date,.row:hover .row-att{visibility:hidden}.row-actions .icon-btn{width:40px;height:40px}.chip{display:inline-flex;align-items:center;gap:2px;font-size:12px;line-height:18px;padding:0 6px;border-radius:4px;margin-right:6px;vertical-align:1px;background:#dde3ea;color:#444746;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:400}.chip:hover{filter:brightness(.95)}.chip.big{font-size:13px;line-height:22px;padding:0 4px 0 8px;vertical-align:4px;margin-left:8px}.chip-name{cursor:pointer}.chip-x{display:inline-flex;width:18px;height:18px;align-items:center;justify-content:center;border-radius:3px;color:inherit;opacity:.7}.chip-x:hover{background:#0000001f;opacity:1}.snooze-chip{background:#fde293;color:#5c3c00}.drag-ghost{position:fixed;top:-100px;left:-100px;padding:8px 16px;background:var(--surface);border-radius:8px;box-shadow:var(--shadow-2);font-family:var(--font-ui);font-size:14px;color:var(--text)}.thread-scroll{flex:1;overflow-y:auto;padding-bottom:32px}.thread-head{padding:12px 16px 16px 72px;display:flex;align-items:center;flex-wrap:wrap}.thread-subject{font-family:var(--font-ui);font-size:22px;font-weight:400;line-height:28px;margin:0;color:var(--text);word-break:break-word}.msg{display:block;padding:0 16px;border-top:1px solid transparent}.msg+.msg{border-top-color:#eceff1}.msg.collapsed{display:flex;align-items:center;gap:16px;padding:10px 16px;cursor:pointer}.msg.collapsed:hover{background:#f8f9fa}.msg.collapsed .avatar{width:40px;height:40px;font-size:18px}.msg-collapsed-main{flex:1;min-width:0;display:flex;flex-direction:column}.msg-collapsed-main .msg-from{font-size:14px}.msg-snippet{font-size:13px;color:var(--text-3);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.msg-head{display:flex;align-items:flex-start;gap:16px;padding:16px 0 8px}.msg-head-main{flex:1;min-width:0;cursor:pointer;padding-top:2px}.msg-from{font-size:14px;color:var(--text)}.msg-addr{font-size:12px;color:var(--text-3)}.msg-to{font-size:12px;color:var(--text-3);display:flex;align-items:center;cursor:default}.details-btn{display:inline-flex;align-items:center;color:var(--text-3);border-radius:4px}.details-btn:hover{background:var(--hover)}.msg-details{margin-top:6px;border:1px solid #dadce0;border-radius:4px;padding:8px 12px;font-size:12px;color:var(--text-2);box-shadow:var(--shadow-1);background:#fff;border-collapse:separate}.msg-details td{padding:2px 6px;vertical-align:top}.msg-details td:first-child{color:var(--text-3);text-align:right;white-space:nowrap}.msg-head-right{display:flex;align-items:center;gap:2px;flex:none}.msg-date{font-size:12px;color:var(--text-3);white-space:nowrap;margin-right:6px}.star-on{color:#f4b400!important}.msg-body{padding:0 0 16px 56px}.msg-frame{width:100%;border:0;display:block;min-height:40px}.msg-loading,.msg-error{padding:8px 0 16px;color:var(--text-3)}.msg-error{color:#b3261e}.images-banner{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-2);padding:8px 12px;background:#f2f6fc;border-radius:8px;margin-bottom:12px}.link-btn{color:var(--blue);font-weight:500}.link-btn:hover{text-decoration:underline}.atts{border-top:1px solid #eceff1;margin-top:16px;padding-top:16px}.atts-title{font-family:var(--font-ui);font-size:14px;font-weight:500;margin-bottom:12px;color:var(--text)}.atts-list{display:flex;flex-wrap:wrap;gap:12px}.att{width:180px;height:120px;border:1px solid #dadce0;border-radius:8px;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;color:var(--text-2);background:#f8fafd}.att:hover{box-shadow:var(--shadow-1)}.att img{width:100%;height:76px;object-fit:cover}.att .icon{color:#c5221f;margin-top:8px}.att-name{font-size:12px;font-weight:500;padding:6px 8px 0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.att-size{font-size:11px;color:var(--text-3)}.reply-bar{display:flex;gap:12px;padding:16px 16px 16px 72px;flex-wrap:wrap}.pill-btn{height:36px;padding:0 16px 0 12px;border:1px solid #747775;border-radius:18px;display:inline-flex;align-items:center;gap:8px;font-family:var(--font-ui);font-size:14px;font-weight:500;color:var(--text-2)}.pill-btn:hover{background:var(--hover)}.floating{position:fixed;z-index:1000;background:var(--surface);box-shadow:var(--shadow-menu);border-radius:4px}.menu{padding:6px 0;min-width:240px;max-width:360px}.context-menu{min-width:300px}.menu-head{padding:8px 16px;font-size:12px;color:var(--text-3)}.menu-item{width:100%;min-height:32px;display:flex;align-items:center;gap:4px;padding:0 12px 0 8px;font-size:14px;color:var(--text);text-align:left}.menu-item:hover:not(:disabled),.menu-item.active{background:#f1f3f4}.menu-icon{width:36px;display:flex;justify-content:center;color:var(--text-2);flex:none}.menu-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:6px 0}.menu-sub{color:var(--text-2)}.menu-sep{height:1px;background:#e8eaed;margin:6px 0}.picker{width:300px}.picker-inner{display:flex;flex-direction:column;max-height:440px;padding:8px 0 4px}.picker-title{padding:4px 16px 8px;font-size:14px;color:var(--text);font-weight:500;font-family:var(--font-ui)}.picker-search{margin:0 12px 8px;display:flex;align-items:center;border-bottom:1px solid #c4c7c5}.picker-search:focus-within{border-bottom:2px solid var(--blue)}.picker-search input{flex:1;border:0;outline:0;padding:6px 4px;font-size:14px;background:transparent}.picker-search .icon{color:var(--text-2);font-size:18px}.picker-list{overflow-y:auto;flex:1;min-height:0}.picker-item{width:100%;display:flex;align-items:center;gap:12px;padding:6px 16px;text-align:left;font-size:14px;color:var(--text)}.picker-item:hover{background:#f1f3f4}.picker-item .icon{color:var(--text-2)}.picker-item .icon.blue{color:var(--blue)}.picker-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.picker-when{font-size:12px;color:var(--text-3)}.picker-empty{padding:8px 16px;color:var(--text-3);font-size:13px}.picker-foot{border-top:1px solid #e8eaed;margin-top:4px;padding-top:4px}.snooze-list .picker-item{padding:10px 16px}.label-dot{width:12px;height:12px;border-radius:3px;border:1.5px solid;flex:none}.color-panel{padding:8px;width:236px}.palette{display:grid;grid-template-columns:repeat(8,24px);gap:4px;padding:4px;justify-content:center}.swatch{width:24px;height:24px;border-radius:50%;border:1px solid rgba(0,0,0,.12);display:flex;align-items:center;justify-content:center;color:#fff;mix-blend-mode:normal}.swatch:hover{transform:scale(1.12)}.swatch.on .icon{color:#fff;text-shadow:0 0 2px #000}.account-menu{padding:16px;display:flex;flex-direction:column;align-items:center;gap:16px;width:320px}.account-logo{width:80px;height:80px}.account-menu .menu-item{border-radius:20px}.import-report ul{margin:4px 0 12px;padding-left:20px}.import-report li{margin:2px 0}.import-labels{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px;max-height:160px;overflow:auto}.import-labels .chip{margin:0}.progress{height:6px;border-radius:3px;background:#e9eef6;overflow:hidden;margin:8px 0 12px}.progress div{height:100%;background:var(--blue);transition:width .4s}.import-errors{max-height:140px;overflow:auto;font-size:11px;background:#f8f9fa;padding:8px;border-radius:4px;white-space:pre-wrap}.account-email{font-family:var(--font-ui);font-size:14px;color:var(--text)}.search-help{padding:8px 16px 12px;width:360px;font-size:13px;color:var(--text-2)}.search-help p{margin:6px 0}.search-help code{background:#f1f3f4;padding:1px 5px;border-radius:4px;font-size:12px;color:var(--text)}.toast{position:fixed;left:24px;bottom:24px;z-index:1100;min-width:288px;max-width:560px;background:#1f1f1f;color:#f2f2f2;border-radius:4px;padding:6px 8px 6px 16px;display:flex;align-items:center;gap:8px;box-shadow:var(--shadow-2);font-size:14px;animation:toast-in .15s ease-out}.toast span{flex:1;padding:8px 0}.toast-action{color:#a8c7fa;font-weight:500;padding:8px 12px;border-radius:4px;font-family:var(--font-ui)}.toast-action:hover{background:#a8c7fa1f}.toast .toast-close{color:#e3e3e3;width:36px;height:36px}.toast .toast-close:hover{background:#ffffff1a}@keyframes toast-in{0%{transform:translateY(12px);opacity:0}to{transform:none;opacity:1}}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;background:#20212499;display:flex;align-items:center;justify-content:center}.modal{background:var(--surface);border-radius:8px;width:440px;max-width:calc(100vw - 32px);box-shadow:0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f,0 11px 15px -7px #0003}.modal-title{font-family:var(--font-ui);font-size:18px;padding:24px 24px 16px;color:var(--text)}.modal-body{padding:0 24px;font-size:14px;color:var(--text-2)}.modal-body p{margin:0 0 12px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;padding:20px 16px 16px}.text-btn{height:36px;padding:0 16px;border-radius:18px;font-family:var(--font-ui);font-weight:500;color:var(--blue)}.text-btn:hover:not(:disabled){background:#0b57d014}.text-btn.primary{background:var(--blue);color:#fff}.text-btn.primary:hover:not(:disabled){background:var(--blue-dark);box-shadow:var(--shadow-1)}.dlg-label{display:block;margin-bottom:8px}.dlg-input{width:100%;height:40px;border:1px solid #747775;border-radius:4px;padding:0 12px;margin-bottom:16px;background:#fff;outline:0}.dlg-input:focus{border:2px solid var(--blue);padding:0 11px}.dlg-check{display:flex;align-items:center;gap:8px;margin-bottom:8px}.compose-soon{padding:32px 24px 48px;color:var(--text-2);line-height:1.6}.login-page{min-height:100%;display:flex;align-items:center;justify-content:center;background:#f0f4f9;padding:16px}.login-card{width:450px;max-width:100%;background:#fff;border-radius:28px;padding:36px 40px 32px;display:flex;flex-direction:column}.login-logo{align-self:center;margin:-12px 0 -8px}.login-card h1{font-family:var(--font-ui);font-weight:400;font-size:36px;margin:16px 0 8px;color:var(--text)}.login-sub{margin:0 0 28px;color:var(--text-2);font-size:16px}.field{position:relative;display:block;margin-bottom:20px}.field input{width:100%;height:56px;border:1px solid #747775;border-radius:4px;padding:16px 15px 0;font-size:16px;outline:0;background:#fff}.field input:focus{border:2px solid var(--blue);padding-left:14px}.field span{position:absolute;left:12px;top:18px;padding:0 4px;color:var(--text-2);font-size:16px;pointer-events:none;background:#fff;transition:all .12s}.field input:focus+span,.field input:not(:placeholder-shown)+span{top:-8px;font-size:12px;color:var(--blue)}.field input:not(:focus):not(:placeholder-shown)+span{color:var(--text-2)}.login-error{color:#b3261e;font-size:14px;margin:-8px 0 12px}.login-actions{display:flex;justify-content:flex-end;margin-top:12px}.btn-primary{height:40px;padding:0 24px;border-radius:20px;background:var(--blue);color:#fff;font-family:var(--font-ui);font-weight:500}.btn-primary:hover:not(:disabled){background:var(--blue-dark);box-shadow:var(--shadow-1)}@media(max-width:900px){.topbar-left{width:auto}.brand span{display:none}.row-from{flex-basis:140px;padding-right:16px}.app:not(.collapsed) .sidebar{width:72px}.app:not(.collapsed) .compose-btn{padding:0;width:56px;justify-content:center}.app:not(.collapsed) .compose-btn span:not(.icon),.app:not(.collapsed) .nav-name,.app:not(.collapsed) .nav-count,.app:not(.collapsed) .nav-section,.app:not(.collapsed) .nav-empty,.app:not(.collapsed) .tree-toggle{display:none}.app:not(.collapsed) .nav-item{width:56px;padding:0!important;margin-left:8px;justify-content:center;border-radius:16px}}@media(max-width:640px){.main{padding:0}.list-panel,.thread-panel{border-radius:0}.sidebar{display:none}.app.collapsed .sidebar{display:flex;position:fixed;top:64px;bottom:0;left:0;width:256px;background:var(--bg);z-index:900;box-shadow:var(--shadow-2)}.app.collapsed .sidebar .nav-name,.app.collapsed .sidebar .nav-count,.app.collapsed .sidebar .nav-section,.app.collapsed .sidebar .compose-btn span:not(.icon){display:initial!important}.app.collapsed .sidebar .nav-section{display:flex!important}.app.collapsed .sidebar .nav-item{width:calc(100% - 8px);padding:0 12px 0 26px;margin-left:0;justify-content:flex-start;border-radius:0 16px 16px 0}.app.collapsed .sidebar .compose-btn{width:auto;padding:0 24px 0 16px}.row{height:auto;min-height:64px;flex-wrap:wrap;padding:8px 12px 8px 0;align-content:center}.drag-handle{display:none}.row-from{flex:1 1 60%;order:1;padding-right:8px}.row-date{order:2}.row-main{flex:1 1 100%;order:3;padding-left:80px;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.row .checkbox,.row .star{order:0}.row-att,.row:hover .row-actions{display:none}.row:hover .row-date{visibility:visible}.thread-head{padding-left:16px}.msg-body{padding-left:0}.reply-bar{padding-left:16px}.pager-text{display:none}}:root{--ease-out: cubic-bezier(.2, .8, .2, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--green: #188038;--red: #d93025}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes slide-in-right{0%{opacity:0;transform:translate(48px)}to{opacity:1;transform:none}}@keyframes slide-in-left{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:none}}@keyframes slide-in-top{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.login-card{animation:fade-up .5s var(--ease-out) both;overflow:hidden}.login-page.leaving .login-card{animation:login-leave .42s cubic-bezier(.55,0,.75,.2) forwards}@keyframes login-leave{to{opacity:0;transform:translate(-80px) scale(.98)}}.login-step{animation:slide-in-right .45s var(--ease-out) both}.login-step.step-code h1{font-size:28px}.login-error.center{text-align:center;margin:8px 0 0}.login-actions{gap:8px;align-items:center}.btn-spinner{display:inline-block;width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;animation:spin .7s linear infinite;vertical-align:-3px}@keyframes spin{to{transform:rotate(360deg)}}.app.entering .topbar{animation:slide-in-top .45s var(--ease-out) both}.app.entering .sidebar{animation:slide-in-left .5s var(--ease-out) .05s both}.app.entering .main{animation:slide-in-right .55s var(--ease-out) .08s both}.row{animation:fade-up .32s var(--ease-out) both;animation-delay:calc(var(--i, 0) * 18ms)}.list-panel{animation:panel-back .28s var(--ease-out) both}@keyframes panel-back{0%{opacity:.4;transform:translate(-16px)}to{opacity:1;transform:none}}.thread-panel{animation:slide-in-right .34s var(--ease-out) both}.thread-head{animation:fade-up .4s var(--ease-out) .06s both}.msg{animation:fade-up .4s var(--ease-out) both;animation-delay:calc(.1s + var(--i, 0) * 50ms)}.msg-frame{opacity:0;transform:translateY(6px);transition:opacity .45s var(--ease-out),transform .45s var(--ease-out)}.msg-frame.shown{opacity:1;transform:none}.reply-bar{animation:fade-up .4s var(--ease-out) .25s both}.floating{animation:menu-in .14s var(--ease-out) both;transform-origin:top left}@keyframes menu-in{0%{opacity:0;transform:scale(.96) translateY(-4px)}to{opacity:1;transform:none}}.modal-back{animation:fade-in .18s both}.modal{animation:modal-in .26s var(--ease-spring) both}@keyframes modal-in{0%{opacity:0;transform:scale(.94) translateY(8px)}to{opacity:1;transform:none}}.nav-item{transition:background-color .15s,box-shadow .15s}.compose-btn{transition:box-shadow .08s linear,width .2s var(--ease-out),padding .2s var(--ease-out)}.code-boxes{position:relative;display:flex;justify-content:center;align-items:center;padding:8px 0 4px;min-height:112px}.code-ring{display:flex;gap:10px}.code-box{width:48px;height:58px;border:1.5px solid #747775;border-radius:12px;text-align:center;font-family:var(--font-ui);font-size:26px;font-weight:500;color:var(--text);background:#fff;outline:0;caret-color:var(--blue);transition:transform .42s var(--ease-out),border-radius .42s var(--ease-out),border-color .2s,background-color .3s,color .3s,box-shadow .2s}.code-box:focus{border:2px solid var(--blue);box-shadow:0 0 0 4px #0b57d01f}.code-box.filled{border-color:var(--blue);background:#f4f8ff}.code-box.pop{animation:digit-pop .28s var(--ease-spring)}@keyframes digit-pop{0%{transform:scale(1)}40%{transform:scale(1.16) translateY(-3px)}to{transform:scale(1)}}.phase-gather .code-box,.phase-spin .code-box{transform:translate(var(--dx, 0),var(--dy, 0)) scale(.5);border-radius:50%;border-color:var(--blue);background:#e8f0fe}.phase-spin .code-ring{animation:ring-spin .9s cubic-bezier(.45,0,.25,1)}@keyframes ring-spin{to{transform:rotate(360deg)}}.phase-spin .code-box{color:transparent}.phase-success .code-box{border-color:var(--green);background:#e6f4ea;color:var(--green);animation:digit-pop .35s var(--ease-spring) both}.code-check{position:absolute;left:50%;top:50%;width:56px;height:56px;margin:-28px 0 0 -28px;animation:check-pop .4s var(--ease-spring) .2s both;pointer-events:none}.code-check circle{fill:var(--green);stroke:none}.code-check path{fill:none;stroke:#fff;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40;stroke-dashoffset:40;animation:check-draw .35s ease-out .45s forwards}@keyframes check-pop{0%{opacity:0;transform:scale(.3)}to{opacity:1;transform:none}}@keyframes check-draw{to{stroke-dashoffset:0}}.phase-success .code-ring{animation:ring-fade .4s ease .2s forwards}@keyframes ring-fade{to{opacity:.25;filter:blur(1px)}}.phase-error .code-ring{animation:shake .42s}.phase-error .code-box{border-color:var(--red);background:#fce8e6}@keyframes shake{20%,60%{transform:translate(-8px)}40%,80%{transform:translate(8px)}}.tfa-setup{display:flex;flex-direction:column;align-items:stretch}.tfa-qr{align-self:center;margin:4px 0 8px;border-radius:8px;box-shadow:var(--shadow-1);padding:6px;background:#fff}.tfa-secret{background:#f1f3f4;padding:2px 6px;border-radius:4px;font-size:12px;letter-spacing:.5px;color:var(--text);word-break:break-all}.tfa-codes{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:8px 0 4px}.tfa-codes code{background:#f1f3f4;border-radius:6px;padding:8px;text-align:center;font-size:15px;letter-spacing:1px;color:var(--text)}@media(max-width:480px){.code-ring{gap:6px}.code-box{width:40px;height:50px;font-size:22px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-delay:0ms!important;transition-duration:.01ms!important}}.compose-win{position:fixed;right:24px;bottom:0;width:560px;height:min(600px,calc(100vh - 80px));max-width:calc(100vw - 16px);background:#fff;border-radius:16px 16px 0 0;box-shadow:0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f,0 5px 5px -3px #0003;z-index:1150;display:flex;flex-direction:column;overflow:hidden;animation:compose-in .28s var(--ease-out) both}@keyframes compose-in{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}.compose-win.min{height:40px;width:300px;cursor:pointer}.compose-win.max{right:50%;bottom:50%;transform:translate(50%,50%);width:min(1100px,calc(100vw - 80px));height:calc(100vh - 80px);border-radius:16px;animation:none;box-shadow:0 0 0 100vmax #00000073,0 24px 38px 3px #00000024}.compose-win.loading{height:40px}.compose-head{height:40px;flex:none;background:#f2f6fc;display:flex;align-items:center;justify-content:space-between;padding:0 4px 0 16px;font-family:var(--font-ui);font-size:14px;font-weight:500;color:var(--text)}.compose-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compose-head-btns{display:flex;flex:none}.compose-head .icon-btn{width:32px;height:32px}.compose-head .icon-btn .icon{font-size:18px}.compose-body{flex:1;min-height:0;display:flex;flex-direction:column}.rcpt-field{position:relative;display:flex;align-items:center;min-height:40px;margin:0 16px;border-bottom:1px solid #f1f3f4;cursor:text;flex:none}.rcpt-label{color:var(--text-2);font-size:14px;margin-right:8px;flex:none}.rcpt-chips{flex:1;display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:4px 0;min-width:0}.rcpt-chips input{flex:1;min-width:120px;border:0;outline:0;font-size:14px;height:28px;background:transparent}.rcpt-chip{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 4px 0 2px;border:1px solid #dadce0;border-radius:13px;font-size:13px;color:var(--text);max-width:260px;animation:menu-in .15s var(--ease-out) both}.rcpt-chip.invalid{border-color:var(--red);color:var(--red);background:#fce8e6}.rcpt-chip button{display:inline-flex;border-radius:50%;color:var(--text-2)}.rcpt-chip button:hover{background:var(--hover)}.rcpt-avatar{width:20px;height:20px;border-radius:50%;background:#7c8fa6;color:#fff;font-size:11px;display:inline-flex;align-items:center;justify-content:center;flex:none}.rcpt-toggles{display:flex;gap:8px;flex:none}.rcpt-toggles button{font-size:14px;color:var(--text-2);padding:2px 4px;border-radius:4px}.rcpt-toggles button:hover{text-decoration:underline;color:var(--text)}.rcpt-sugg{position:absolute;left:0;top:100%;z-index:20;width:360px;max-width:100%;background:#fff;box-shadow:var(--shadow-menu);border-radius:4px;padding:6px 0;animation:menu-in .12s var(--ease-out) both}.rcpt-sugg-item{width:100%;display:flex;align-items:center;gap:12px;padding:6px 12px;text-align:left}.rcpt-sugg-item.on,.rcpt-sugg-item:hover{background:#f1f3f4}.rcpt-sugg-text{display:flex;flex-direction:column;min-width:0;font-size:13px}.rcpt-sugg-text b{font-weight:500;color:var(--text)}.rcpt-sugg-text span{color:var(--text-3);font-size:12px}.compose-subject{flex:none;margin:0 16px;height:40px;border:0;border-bottom:1px solid #f1f3f4;outline:0;font-size:14px}.compose-editor{flex:1;min-height:120px;overflow-y:auto;padding:12px 16px;font-family:Arial,Helvetica,sans-serif;font-size:14px;line-height:1.45;color:#222;outline:0;word-wrap:break-word}.compose-editor blockquote,.compose-editor .quote{margin:0 0 0 .8ex;border-left:1px solid #ccc;padding-left:1ex;color:#555}.compose-editor .quote-head{color:#555;margin:8px 0 4px}.compose-editor .signature{color:#555}.compose-editor img{max-width:100%}.compose-atts{flex:none;display:flex;flex-wrap:wrap;gap:6px;padding:4px 16px 8px;max-height:120px;overflow-y:auto}.compose-att{position:relative;display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 4px 0 8px;background:#f5f5f5;border-radius:4px;font-size:13px;color:var(--blue);max-width:100%;overflow:hidden}.compose-att.error{color:var(--red);background:#fce8e6}.compose-att-name{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:260px}.compose-att-size{color:var(--text-3);font-size:12px;white-space:nowrap}.compose-att-bar{position:absolute;left:0;bottom:0;height:3px;background:var(--blue);transition:width .2s}.compose-att button{display:inline-flex;color:var(--text-2);border-radius:50%;padding:2px}.compose-att button:hover{background:#00000014}.compose-err{flex:none;color:var(--red);font-size:13px;padding:4px 16px}.compose-fmt{flex:none;display:flex;align-items:center;flex-wrap:wrap;margin:0 16px 4px;padding:2px 4px;border-radius:8px;box-shadow:0 1px 2px #3c40434d,0 1px 3px 1px #3c404326;animation:fade-up .18s var(--ease-out) both}.compose-fmt .icon-btn{width:32px;height:32px}.compose-fmt .tb-sep{width:1px;height:20px;background:#dadce0;margin:0 4px}.color-pick{position:relative;overflow:hidden;cursor:pointer}.color-pick input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.compose-foot{flex:none;display:flex;align-items:center;gap:4px;padding:8px 12px 12px 16px}.send-btn{height:36px;padding:0 24px;border-radius:18px;background:var(--blue);color:#fff;font-family:var(--font-ui);font-weight:500;font-size:14px;margin-right:8px;transition:box-shadow .15s,background .15s}.send-btn:hover{background:var(--blue-dark);box-shadow:var(--shadow-1)}.compose-foot .icon-btn.on{background:#e8eaed}.compose-saving{font-size:12px;color:var(--text-3);margin-left:auto;padding-right:4px;white-space:nowrap}.compose-trash{margin-left:4px}.compose-win.drag{box-shadow:inset 0 0 0 3px var(--blue),0 8px 10px 1px #00000024}.compose-drop{position:absolute;top:40px;right:0;bottom:0;left:0;background:#e8f0feeb;display:flex;align-items:center;justify-content:center;font-family:var(--font-ui);font-size:18px;color:var(--blue);pointer-events:none;border:2px dashed var(--blue);border-radius:8px;margin:8px}.inline-reply{padding:8px 16px 24px 72px;animation:fade-up .3s var(--ease-out) both}.compose-win.inline{position:relative;right:auto;bottom:auto;width:100%;max-width:none;height:auto;min-height:280px;border-radius:8px;z-index:auto;box-shadow:0 1px 2px #3c40434d,0 2px 6px 2px #3c404326;animation:none}.compose-win.inline .compose-editor{min-height:160px}.sig-editor{height:auto!important;min-height:90px;padding:8px 12px!important;line-height:1.4;overflow:auto;font-family:Arial,sans-serif}@media(max-width:640px){.compose-win:not(.inline){right:0;left:0;width:100%;max-width:none;height:100vh;border-radius:0}.inline-reply{padding-left:16px}}.label-item{cursor:pointer}.label-item.dragging{opacity:.35}.label-item.drop-inside{background:var(--nav-active);box-shadow:inset 0 0 0 2px var(--blue)}.label-item.drop-before:before,.label-item.drop-after:after{content:"";position:absolute;left:calc(var(--indent, 26px) - 6px);right:12px;height:2px;background:var(--blue);border-radius:1px;pointer-events:none;animation:fade-in .1s both}.label-item.drop-before:before{top:-1px}.label-item.drop-after:after{bottom:-1px}.label-item.drop-before:before,.label-item.drop-after:after{box-shadow:-4px 0 0 2px var(--blue)}.nav-section.drop-root{background:var(--nav-active);border-radius:0 16px 16px 0;margin-right:8px;box-shadow:inset 0 0 0 2px var(--blue)}.label-item{transition:background-color .15s,box-shadow .15s,opacity .15s}
