:root{--bg:#f4f5f7;--surface:#fff;--surface-2:#f8f9fb;--surface-3:#f1f2f6;--border:#e6e8ee;--border-strong:#d8dce4;--text:#14161d;--text-2:#4a5160;--text-3:#8a91a1;--accent:#4f46e5;--accent-2:#7c3aed;--accent-soft:#eef0ff;--danger:#dc2626;--shadow-sm:0 1px 2px #14161d0d, 0 1px 3px #14161d0a;--shadow-md:0 18px 40px -24px #14161d59}*{box-sizing:border-box}html,body{height:100%}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;line-height:1.5}button{font:inherit;color:inherit}code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.icon{flex-shrink:0;width:18px;height:18px}.workspace{background:var(--surface);grid-template-columns:256px 400px minmax(0,1fr);height:100dvh;display:grid;overflow:hidden}.sidebar{border-right:1px solid var(--border);background:linear-gradient(#fbfbfd 0%,#f5f6f9 100%);flex-direction:column;gap:18px;min-height:0;padding:20px 16px 16px;display:flex}.sidebar-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.brand{letter-spacing:-.02em;align-items:center;gap:10px;font-size:17px;font-weight:650;display:flex}.brand-text{flex-direction:column;min-width:0;line-height:1.15;display:flex}.brand-name{letter-spacing:-.02em;white-space:nowrap;font-weight:650}.brand-sub{color:var(--text-3);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;margin-top:2px;font-size:9.5px;font-weight:600}.brand-lg .brand-sub{font-size:11px}.brand-mark{color:#fff;background:linear-gradient(135deg, var(--accent), var(--accent-2));border-radius:10px;place-items:center;width:32px;height:32px;display:grid;box-shadow:0 8px 18px -8px #4f46e5cc}.brand-mark .icon{width:17px;height:17px}.brand-lg{margin-bottom:22px;font-size:19px}.brand-lg .brand-mark{border-radius:12px;width:38px;height:38px}.brand-lg .brand-mark .icon{width:20px;height:20px}.sidebar-close{display:none}.compose-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#4f46e5,#6355ee 55%,#7c3aed);border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:11px 14px;font-size:14px;font-weight:600;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 12px 24px -14px #4f46e5f2}.compose-button:hover{transform:translateY(-1px);box-shadow:0 16px 26px -14px #4f46e5f2}.compose-button .icon{width:16px;height:16px}.folders{flex-direction:column;gap:2px;display:flex}.folder{color:var(--text-2);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:10px;padding:9px 10px;font-size:13.5px;transition:background .12s,color .12s;display:flex}.folder:hover{color:var(--text);background:#edeff4}.folder.is-active{color:var(--text);border-color:var(--border);box-shadow:var(--shadow-sm);background:#fff;font-weight:600}.folder-icon{width:17px;height:17px;color:var(--text-3)}.folder.is-active .folder-icon{color:var(--accent)}.folder-label{flex:1}.folder-count{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:1px 7px;font-size:11px;font-weight:650}.sidebar-foot{border-top:1px solid var(--border);flex-direction:column;gap:10px;margin-top:auto;padding-top:14px;display:flex}.account{align-items:center;gap:9px;min-width:0;display:flex}.account-avatar{color:#fff;border-radius:9px;flex-shrink:0;place-items:center;width:30px;height:30px;font-size:11px;font-weight:650;display:grid}.account-meta{flex-direction:column;min-width:0;display:flex}.account-name,.account-email{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-name{font-size:12.5px;font-weight:600}.account-email{color:var(--text-3);font-size:11px}.signout{border:1px solid var(--border);color:var(--text-2);cursor:pointer;background:#fff;border-radius:9px;align-items:center;gap:8px;padding:8px 10px;font-size:12px;display:flex}.signout:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.signout:disabled{opacity:.6;cursor:not-allowed}.icon-button.is-on{background:var(--accent-soft);color:var(--accent);opacity:1;cursor:default}.signout.is-on{background:var(--accent-soft);color:var(--text);opacity:1;cursor:default;border-color:#4f70ff47}.scrim{display:none}.list-panel{border-right:1px solid var(--border);background:var(--surface);flex-direction:column;min-height:0;display:flex}.list-head{border-bottom:1px solid var(--border);padding:16px 18px 12px}.list-head-row{align-items:center;gap:6px;display:flex}.list-title{letter-spacing:-.015em;margin:0;font-size:16px;font-weight:650}.list-head-actions{gap:4px;margin-left:auto;display:flex}.list-sub{color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;margin:3px 0 0;font-size:12px;overflow:hidden}.menu-button{display:none}.list-body{flex-direction:column;flex:1;gap:2px;min-height:0;padding:8px;display:flex;overflow-y:auto}.thread-item{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;align-items:flex-start;gap:11px;width:100%;padding:12px;transition:background .12s,border-color .12s;display:flex;position:relative}.thread-item:hover{background:var(--surface-2)}.thread-item.is-selected{background:var(--accent-soft);border-color:#dee1ff}.thread-item.is-unread:before{content:"";background:var(--accent);border-radius:3px;width:3px;position:absolute;top:16px;bottom:16px;left:3px}.avatar{color:#fff;letter-spacing:.02em;background:#6366f1;border-radius:50%;flex-shrink:0;place-items:center;width:34px;height:34px;font-size:12px;font-weight:650;display:grid}.avatar-draft{background:var(--surface-3);color:var(--text-3)}.avatar-draft .icon{width:16px;height:16px}.avatar-lg{width:40px;height:40px;font-size:13px}.thread-main{flex-direction:column;flex:1;min-width:0;display:flex}.thread-row{align-items:baseline;gap:8px;display:flex}.thread-from{color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:550;overflow:hidden}.thread-time{color:var(--text-3);white-space:nowrap;margin-left:auto;font-size:11.5px}.thread-subject{color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;margin-top:1px;font-size:13px;overflow:hidden}.thread-preview{-webkit-line-clamp:1;color:var(--text-3);-webkit-box-orient:vertical;margin-top:2px;font-size:12.5px;line-height:1.45;display:-webkit-box;overflow:hidden}.thread-meta{color:var(--text-3);align-items:center;gap:7px;margin-top:4px;font-size:11.5px;display:flex}.thread-recipient{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.thread-item.is-unread .thread-from,.thread-item.is-unread .thread-subject{color:var(--text)}.thread-item.is-unread .thread-from{font-weight:650}.meta-icon{width:13px;height:13px;color:var(--text-3)}.label-chip{border:1px solid var(--border);white-space:nowrap;border-radius:999px;align-items:center;padding:1px 7px;font-size:10.5px;font-weight:600;line-height:1.5;display:inline-flex}.label-chip-muted{background:var(--surface-2);color:var(--text-3)}.skeletons{flex-direction:column;gap:4px;display:flex}.skeleton{align-items:center;gap:11px;padding:14px 12px;display:flex}.skeleton-avatar{background:var(--surface-3);border-radius:50%;width:34px;height:34px;animation:1.4s ease-in-out infinite pulse}.skeleton-lines{flex-direction:column;flex:1;gap:8px;display:flex}.skeleton-line{background:var(--surface-3);border-radius:5px;height:9px;animation:1.4s ease-in-out infinite pulse}.skeleton-line.short{width:45%}@keyframes pulse{0%,to{opacity:1}50%{opacity:.55}}.empty-state{color:var(--text-3);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:7px;padding:40px 26px;display:flex}.empty-state h2{color:var(--text);margin:0;font-size:14px;font-weight:600}.empty-state p{max-width:270px;margin:0;font-size:12.5px;line-height:1.55}.empty-state .ghost-button{margin-top:6px}.empty-icon{border:1px solid var(--border);background:var(--surface-2);width:42px;height:42px;color:var(--text-3);border-radius:13px;place-items:center;margin-bottom:4px;display:grid}.reader{background:var(--surface);flex-direction:column;min-width:0;min-height:0;display:flex}.reader-empty{color:var(--text-3);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;padding:40px;display:flex}.reader-empty-icon{border:1px solid var(--border);background:linear-gradient(180deg, #fff, var(--surface-2));width:56px;height:56px;color:var(--text-3);box-shadow:var(--shadow-sm);border-radius:17px;place-items:center;margin-bottom:6px;display:grid}.reader-empty-icon .icon{width:24px;height:24px}.reader-empty h2{color:var(--text);margin:0;font-size:15px;font-weight:600}.reader-empty p{max-width:320px;margin:0;font-size:13px;line-height:1.6}.reader-head{border-bottom:1px solid var(--border);align-items:center;gap:12px;min-height:64px;padding:14px 20px;display:flex}.reader-title{flex:1;min-width:0}.reader-title h2{letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:15px;font-weight:650;overflow:hidden}.reader-title p{color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;margin:2px 0 0;font-size:12px;overflow:hidden}.reader-actions{gap:4px;display:flex}.back-button{display:none}.reader-body{background:linear-gradient(#fbfbfd 0%,#fff 140px);flex-direction:column;flex:1;gap:16px;min-height:0;padding:22px 24px 32px;display:flex;overflow-y:auto}.reader-skeleton{border:1px solid var(--border);background:#fff;border-radius:16px;flex-direction:column;gap:12px;padding:24px;display:flex}.message-card{border:1px solid var(--border);box-shadow:var(--shadow-sm);background:#fff;border-radius:16px;padding:18px 20px 20px}.message-head{border-bottom:1px solid var(--border);align-items:flex-start;gap:12px;margin-bottom:14px;padding-bottom:14px;display:flex}.message-who{flex:1;min-width:0}.message-from-line{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.message-from{font-size:14px;font-weight:650}.message-address{color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.message-to-line{overflow-wrap:anywhere;color:var(--text-3);margin-top:3px;font-size:11.5px}.message-time{color:var(--text-3);white-space:nowrap;flex-shrink:0;font-size:11.5px}.pill{border-radius:999px;padding:1px 7px;font-size:10.5px;font-weight:600}.pill-sent{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0}.message-body{min-width:0}.body-switch{justify-content:flex-end;gap:4px;margin-bottom:10px;display:flex}.switch{border:1px solid var(--border);color:var(--text-3);cursor:pointer;background:#fff;border-radius:7px;padding:3px 8px;font-size:11px}.switch.is-active{background:var(--accent-soft);color:var(--accent);border-color:#dee1ff;font-weight:600}.message-frame{background:#fff;border:0;border-radius:8px;width:100%;display:block}.message-text{color:#1f2937;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-family:inherit;font-size:13.5px;line-height:1.65}.attachments{border-top:1px dashed var(--border);flex-wrap:wrap;gap:8px;margin-top:14px;padding-top:14px;display:flex}.attachment{border:1px solid var(--border);background:var(--surface-2);color:var(--text-2);border-radius:9px;align-items:center;gap:7px;padding:6px 10px;font-size:12px;display:inline-flex}.attachment-icon{width:14px;height:14px;color:var(--text-3)}.attachment-size{color:var(--text-3);font-size:11px}.reply-box{border:1px solid var(--border);box-shadow:var(--shadow-sm);background:#fff;border-radius:16px;padding:14px 16px 12px}.reply-head{color:var(--text-2);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;font-size:12.5px;display:flex}.reply-icon{width:15px;height:15px;color:var(--text-3)}.reply-title{color:var(--text);font-weight:600}.reply-from{color:var(--text-3);margin-left:auto;font-size:11.5px}.reply-input{border:1px solid var(--border);background:var(--surface-2);width:100%;min-height:96px;color:var(--text);resize:vertical;border-radius:12px;padding:11px 12px;font-family:inherit;font-size:13.5px;line-height:1.55}.reply-input:focus{background:#fff;border-color:#c5c9f8;outline:none;box-shadow:0 0 0 3px #4f46e51f}.reply-actions{align-items:center;gap:10px;margin-top:10px;display:flex}.reply-hint{color:var(--text-3);font-size:11.5px}.reply-actions .primary-button{margin-left:auto}.primary-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#4f46e5,#6d5ef0);border:none;border-radius:10px;padding:9px 16px;font-size:13px;font-weight:600;transition:filter .12s;box-shadow:0 10px 20px -12px #4f46e5f2}.primary-button:hover:not(:disabled){filter:brightness(1.05)}.primary-button:disabled{opacity:.55;cursor:not-allowed}.primary-button-wide{width:100%;padding:11px 16px}.ghost-button{border:1px solid var(--border);color:var(--text-2);cursor:pointer;background:#fff;border-radius:10px;align-items:center;gap:7px;padding:8px 12px;font-size:12.5px;display:inline-flex}.ghost-button:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.ghost-button:disabled{opacity:.6;cursor:not-allowed}.icon-button{width:34px;height:34px;color:var(--text-3);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;place-items:center;transition:background .12s,color .12s;display:grid}.icon-button:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.icon-button:disabled{opacity:.5;cursor:not-allowed}.icon-button.danger:hover:not(:disabled){color:var(--danger);background:#fef2f2}.icon-button.is-spinning .icon{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.modal-backdrop{z-index:60;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172a6b;place-items:center;padding:20px;animation:.16s fade;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:18px;flex-direction:column;width:min(620px,100%);max-height:calc(100dvh - 40px);animation:.18s rise;display:flex;overflow:hidden;box-shadow:0 30px 60px -20px #0f172a73}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(8px)scale(.99)}}.modal-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.modal-head h2{letter-spacing:-.01em;margin:0;font-size:15px;font-weight:650}.compose-from{border-bottom:1px solid var(--border);color:var(--text-3);gap:8px;padding:10px 18px;font-size:12px;display:flex}.compose-from strong{color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.modal-body{flex-direction:column;gap:12px;padding:16px 18px;display:flex;overflow-y:auto}.modal-foot{border-top:1px solid var(--border);background:var(--surface-2);justify-content:space-between;align-items:center;gap:10px;padding:14px 18px;display:flex}.field{color:var(--text-2);flex-direction:column;gap:6px;font-size:12px;display:flex}.field>span{color:var(--text-3);letter-spacing:.03em;text-transform:uppercase;font-size:11.5px;font-weight:600}.field input,.field textarea{border:1px solid var(--border);color:var(--text);background:#fff;border-radius:10px;padding:9px 11px;font-family:inherit;font-size:13.5px;line-height:1.5}.field input:focus,.field textarea:focus{border-color:#c5c9f8;outline:none;box-shadow:0 0 0 3px #4f46e51f}.field-body textarea{resize:vertical;min-height:180px;line-height:1.55}.notification-modal{width:min(460px,100%)}.notification-mark{background:var(--accent-soft);width:42px;height:42px;color:var(--accent);border-radius:13px;place-items:center;margin-bottom:4px;display:grid}.notification-mark .icon{width:20px;height:20px}.notice-copy{color:var(--text-2);margin:0;font-size:13.5px;line-height:1.6}.notice-copy strong{color:var(--text);overflow-wrap:anywhere;font-weight:600}.notice-hint{color:var(--text-3);margin:8px 0 0;font-size:12px;line-height:1.55}.error-banner{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:9px;margin:0;padding:9px 12px;font-size:12.5px;line-height:1.45}.field-error{color:#b91c1c;margin:6px 0 0;font-size:12px}.toast{z-index:80;color:#fff;background:#14161d;border-radius:999px;padding:10px 16px;font-size:12.5px;animation:.2s rise;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 18px 32px -14px #0f172a8c}.login-shell,.setup-shell{background:radial-gradient(1100px 520px at 50% -10%,#e6e9ff 0%,#f5f6fb 46%,#f4f5f7 100%);place-items:center;min-height:100dvh;padding:24px;display:grid}.login-card,.setup-card{border:1px solid var(--border);background:#fff;border-radius:20px;width:min(440px,100%);padding:28px 28px 24px;box-shadow:0 30px 60px -32px #0f172a66}.setup-card{width:min(540px,100%)}.login-card h1,.setup-card h1{letter-spacing:-.02em;margin:0 0 6px;font-size:21px;font-weight:650}.login-sub{color:var(--text-3);margin:0 0 20px;font-size:13px;line-height:1.55}.login-form{flex-direction:column;gap:14px;display:flex}.login-foot{color:var(--text-3);margin:18px 0 0;font-size:11.5px;line-height:1.6}.login-foot code,.setup-card code{border:1px solid var(--border);background:var(--surface-2);border-radius:5px;padding:1px 5px;font-size:11px}.setup-list{flex-direction:column;gap:6px;margin:16px 0;padding:0;list-style:none;display:flex}.setup-list li{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;padding:7px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px}.setup-steps{color:var(--text-2);margin:0 0 16px 18px;padding:0;font-size:13px;line-height:1.75}.setup-note{color:var(--text-3);margin:0;font-size:12px}@media (max-width:1100px){.workspace{grid-template-columns:minmax(0,1fr)}.sidebar{z-index:40;width:272px;transition:transform .22s;position:fixed;inset:0 auto 0 0;transform:translate(-100%);box-shadow:0 30px 60px -20px #0f172a66}.sidebar.sidebar-open{transform:translate(0)}.sidebar-close{display:grid}.scrim{z-index:30;background:#0f172a59;border:none;display:block;position:fixed;inset:0}.list-panel{border-right:none}.menu-button,.back-button{display:grid}.reader{z-index:20;position:fixed;inset:0}.reader.is-hidden-mobile,.list-panel.is-hidden-mobile{display:none}}@media (max-width:640px){.reader-head{gap:8px;padding:12px}.reader-body{padding:14px 12px 24px}.message-card{padding:14px 14px 16px}.message-head{flex-wrap:wrap}.message-time{width:100%;padding-left:52px}.reader-title h2{font-size:14px}.reply-from{display:none}.modal-backdrop{padding:10px}.modal{max-height:calc(100dvh - 20px)}.login-card,.setup-card{padding:22px 20px 20px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.list-body::-webkit-scrollbar{width:10px}.reader-body::-webkit-scrollbar{width:10px}.modal-body::-webkit-scrollbar{width:10px}.list-body::-webkit-scrollbar-thumb{background:#d9dce4 padding-box content-box;border:3px solid #0000;border-radius:999px}.reader-body::-webkit-scrollbar-thumb{background:#d9dce4 padding-box content-box;border:3px solid #0000;border-radius:999px}.modal-body::-webkit-scrollbar-thumb{background:#d9dce4 padding-box content-box;border:3px solid #0000;border-radius:999px}
