:root{--bg-root: #0A0907;--bg-sidebar: #111009;--bg-panel: #161410;--bg-surface: #1D1A14;--bg-elevated: #252118;--bg-input: #1A1710;--bg-hover: #1F1C15;--bg-selected: #271F12;--bg-selected-strong: #2E2412;--border: #2C2820;--border-strong: #3E3828;--border-focus: #C87941;--text-primary: #EDE8DC;--text-secondary: #9A8E7C;--text-tertiary: #5C5448;--text-disabled: #3E3830;--text-inverse: #0A0907;--amber: #F59E0B;--amber-dim: #C87941;--amber-subtle: #1E1508;--brand: #E07040;--brand-hover: #F07848;--brand-active: #C86030;--brand-subtle: #1E1108;--green: #6DB87A;--green-subtle: #0E1A10;--red: #E85454;--red-subtle: #1A0A0A;--blue: #5B9FE8;--blue-subtle: #0A1220;--unread-dot: #F59E0B;--star-color: #FBBF24;--important-color: #F87171;--shadow-sm: 0 1px 3px rgba(0,0,0,.5);--shadow-md: 0 4px 16px rgba(0,0,0,.6);--shadow-lg: 0 8px 32px rgba(0,0,0,.7);--shadow-xl: 0 16px 48px rgba(0,0,0,.8);--font-ui: "Outfit", system-ui, sans-serif;--font-reading: "Newsreader", Georgia, serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--sidebar-width: 248px;--list-width: 380px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 9999px;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.45, 0, .55, 1);--duration-fast: .12s;--duration-normal: .2s;--duration-slow: .35s}[data-theme=light]{--bg-root: #F5F2EE;--bg-sidebar: #FFFFFF;--bg-panel: #FFFFFF;--bg-surface: #FFFFFF;--bg-elevated: #EDE9E3;--bg-input: #F0EDE8;--bg-hover: #E8E4DC;--bg-selected: #FFF0E6;--bg-selected-strong: #FFE2C8;--border: #E0D8CE;--border-strong: #C8BFB2;--border-focus: #C87941;--text-primary: #1A1510;--text-secondary: #5C4F3D;--text-tertiary: #9A8878;--text-disabled: #C0B5A5;--text-inverse: #FFFFFF;--amber-subtle: #FFF3E0;--brand-subtle: #FFF0E6;--green-subtle: #ECFDF5;--red-subtle: #FEF2F2;--blue-subtle: #EFF6FF;--shadow-sm: 0 1px 3px rgba(0,0,0,.08);--shadow-md: 0 4px 16px rgba(0,0,0,.1);--shadow-lg: 0 8px 32px rgba(0,0,0,.12);--shadow-xl: 0 16px 48px rgba(0,0,0,.15)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:14px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;height:100%}body{font-family:var(--font-ui);font-size:14px;font-weight:400;line-height:1.5;color:var(--text-primary);background:var(--bg-root);height:100%;overflow:hidden}#root{height:100vh;overflow:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}::selection{background:var(--brand);color:var(--text-inverse)}:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.text-xs{font-size:11px;line-height:1.4}.text-sm{font-size:12px;line-height:1.5}.text-base{font-size:14px;line-height:1.5}.text-md{font-size:15px;line-height:1.5}.text-lg{font-size:16px;line-height:1.4}.text-xl{font-size:18px;line-height:1.3}.text-muted{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.text-brand{color:var(--brand)}.text-amber{color:var(--amber)}.text-green{color:var(--green)}.text-red{color:var(--red)}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-mono{font-family:var(--font-mono)}.font-reading{font-family:var(--font-reading)}.flex{display:flex}.flex-col{flex-direction:column}.flex-1{flex:1}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:4px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.overflow-hidden{overflow:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.min-w-0{min-width:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:6px 14px;font-family:var(--font-ui);font-size:13px;font-weight:500;line-height:1;border:none;border-radius:var(--radius-md);cursor:pointer;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out);white-space:nowrap;user-select:none;-webkit-user-select:none}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.4;pointer-events:none}.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover{background:var(--brand-hover)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-icon{padding:6px;border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);border:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background var(--duration-fast),color var(--duration-fast)}.btn-icon:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-sm{padding:4px 10px;font-size:12px}.input{width:100%;padding:8px 12px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-ui);font-size:13px;line-height:1.5;transition:border-color var(--duration-fast);outline:none}.input::placeholder{color:var(--text-tertiary)}.input:focus{border-color:var(--border-focus)}.badge{display:inline-flex;align-items:center;padding:2px 7px;font-size:11px;font-weight:500;border-radius:var(--radius-full);white-space:nowrap}.divider{width:100%;height:1px;background:var(--border)}.tooltip-wrapper{position:relative}.tooltip{position:absolute;left:50%;bottom:calc(100% + 6px);transform:translate(-50%);padding:4px 8px;background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text-primary);font-size:11px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity var(--duration-fast);z-index:9999}.tooltip-wrapper:hover .tooltip{opacity:1}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{to{transform:rotate(360deg)}}.animate-fade-in{animation:fadeIn var(--duration-normal) var(--ease-out) both}.animate-slide-in{animation:slideInRight var(--duration-normal) var(--ease-out) both}.animate-spin{animation:spin 1s linear infinite}.animate-pulse{animation:pulse 2s ease-in-out infinite}.app-shell{display:flex;height:100vh;width:100vw;overflow:hidden;background:var(--bg-root)}.unread-dot{width:8px;height:8px;border-radius:50%;background:var(--unread-dot);flex-shrink:0}.avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;flex-shrink:0;color:var(--text-inverse)}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton{background:linear-gradient(90deg,var(--bg-surface) 25%,var(--bg-elevated) 50%,var(--bg-surface) 75%);background-size:800px 100%;animation:shimmer 1.5s infinite linear;border-radius:var(--radius-sm)}.email-body{font-family:var(--font-reading);font-size:15px;line-height:1.75;color:var(--text-primary)}.email-body a{color:var(--blue)}.email-body img{max-width:100%;height:auto}.email-body blockquote{border-left:3px solid var(--border-strong);padding-left:16px;color:var(--text-secondary);margin:12px 0}.tiptap-editor{font-family:var(--font-reading);font-size:15px;line-height:1.75;color:var(--text-primary);outline:none;min-height:200px}.tiptap-editor p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--text-tertiary);pointer-events:none;float:left;height:0}.kbd{display:inline-flex;align-items:center;padding:1px 5px;background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:4px;font-family:var(--font-mono);font-size:10px;color:var(--text-tertiary)}.drag-over{outline:2px dashed var(--brand);outline-offset:-2px;background:var(--brand-subtle)!important}.dm{background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);overflow:hidden;padding:4px 0}.dm-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 14px;border:none;background:transparent;color:var(--text-secondary);font-family:var(--font-ui);font-size:13px;cursor:pointer;text-align:left;transition:background var(--duration-fast),color var(--duration-fast);white-space:nowrap}.dm-item:hover{background:var(--bg-hover);color:var(--text-primary)}.dm-item--danger{color:var(--red)}.dm-item--danger:hover{background:var(--red-subtle)}.dm-item--disabled{opacity:.4;cursor:default;pointer-events:none}.dm-item__icon{flex-shrink:0;color:var(--text-tertiary)}.dm-item--danger .dm-item__icon{color:var(--red)}.dm-item:hover .dm-item__icon{color:inherit}.dm-item__check{margin-left:auto;color:var(--brand);flex-shrink:0}.dm-item__main{flex:1}.dm-item__sub{font-size:11px;color:var(--text-tertiary);font-family:var(--font-mono);flex-shrink:0}.dm-label-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.dm-divider{height:1px;background:var(--border);margin:4px 0}.dm-section-label{padding:6px 14px 4px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary)}.dm-search{padding:6px 8px;border-bottom:1px solid var(--border)}.dm-search__input{width:100%;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:5px 8px;font-family:var(--font-ui);font-size:12px;color:var(--text-primary);outline:none}.dm-search__input:focus{border-color:var(--border-focus)}.dm-empty{padding:12px 14px;font-size:12px;color:var(--text-tertiary);text-align:center}.dm-item--two-line{align-items:center}@media (max-width: 768px){:root{--sidebar-width: 0px;--list-width: 100vw}}[data-density=compact] .tr{min-height:64px;padding-top:6px;padding-bottom:6px}[data-density=compact] .tr__body{gap:1px}[data-density=compact] .tr__sender{font-size:13px}[data-density=compact] .tr__subject{font-size:12.5px}[data-density=compact] .tr__snippet{display:none}[data-density=compact] .message-item{padding:12px 20px}[data-density=spacious] .tr{min-height:108px;padding-top:14px;padding-bottom:14px}[data-density=spacious] .tr__body{gap:6px}[data-density=spacious] .tr__sender{font-size:15px}[data-density=spacious] .tr__subject{font-size:14.5px}[data-density=spacious] .tr__snippet{font-size:13px}[data-density=spacious] .message-item{padding:24px 28px}
