:root{--font: "Google Sans", Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;--bg: #f6f8fc;--surface: #ffffff;--surface-2: #f1f3f4;--surface-3: #e8eaed;--surface-hover: #f5f6f7;--text: #202124;--text-2: #5f6368;--text-3: #80868b;--border: #dadce0;--border-soft: #ebeced;--accent: #1a73e8;--accent-hover: #1765cc;--accent-soft: #e8f0fe;--danger: #d93025;--warning: #e37400;--success: #188038;--star: #f4b400;--shadow-1: 0 1px 2px rgba(60, 64, 67, .3), 0 1px 3px 1px rgba(60, 64, 67, .15);--shadow-2: 0 1px 3px rgba(60, 64, 67, .3), 0 4px 8px 3px rgba(60, 64, 67, .15);--shadow-3: 0 4px 8px rgba(60, 64, 67, .3), 0 8px 24px 8px rgba(60, 64, 67, .15);--radius: 8px;--radius-lg: 16px;--topbar-h: 64px;--sidebar-w: 256px}:root[data-theme=dark],html.dark{--bg: #1b1b1b;--surface: #1f1f1f;--surface-2: #2d2e30;--surface-3: #3c4043;--surface-hover: #2a2b2d;--text: #e8eaed;--text-2: #9aa0a6;--text-3: #80868b;--border: #3c4043;--border-soft: #2d2e30;--accent: #8ab4f8;--accent-hover: #aecbfa;--accent-soft: #263c5c;--danger: #f28b82;--warning: #fdd663;--success: #81c995;--shadow-1: 0 1px 2px rgba(0, 0, 0, .6), 0 1px 3px 1px rgba(0, 0, 0, .3);--shadow-2: 0 1px 3px rgba(0, 0, 0, .6), 0 4px 8px 3px rgba(0, 0, 0, .3);--shadow-3: 0 4px 8px rgba(0, 0, 0, .6), 0 8px 24px 8px rgba(0, 0, 0, .3)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);background:var(--bg);color:var(--text);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}button,input,select,textarea{font:inherit;color:inherit}button{background:none;border:none;cursor:pointer;padding:0}a{color:var(--accent)}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--text-3) 45%,transparent);border:3px solid transparent;border-radius:8px;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:var(--text-3);background-clip:content-box}::-webkit-scrollbar-track{background:transparent}.icon-btn{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:var(--text-2);flex:0 0 auto;transition:background .15s}.icon-btn:hover{background:var(--surface-3);color:var(--text)}.icon-btn:disabled{opacity:.4;cursor:default}.icon-btn:disabled:hover{background:none}.icon-btn.small{width:32px;height:32px}.icon-btn.active{color:var(--accent)}.btn{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 24px;border-radius:18px;background:var(--accent);color:#fff;font-weight:500;transition:box-shadow .15s,background .15s;white-space:nowrap}.btn:hover{background:var(--accent-hover);box-shadow:var(--shadow-1)}.btn:disabled{opacity:.5;cursor:default;box-shadow:none}.btn.secondary{background:transparent;color:var(--accent);border:1px solid var(--border)}.btn.secondary:hover{background:var(--accent-soft)}.btn.ghost{background:transparent;color:var(--text-2)}.btn.ghost:hover{background:var(--surface-3)}.btn.danger{background:var(--danger)}:root[data-theme=dark] .btn{color:#202124}:root[data-theme=dark] .btn.secondary,:root[data-theme=dark] .btn.ghost{color:var(--accent)}:root[data-theme=dark] .btn.ghost{color:var(--text-2)}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.field label{font-size:12px;font-weight:500;color:var(--text-2)}.field input,.field select,.field textarea{height:40px;padding:0 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);outline:none;transition:border-color .15s,box-shadow .15s}.field textarea{height:auto;padding:10px 12px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.field .hint{font-size:12px;color:var(--text-3)}.field .error{font-size:12px;color:var(--danger)}.field-row{display:grid;grid-template-columns:1fr 110px 120px;gap:12px}.spinner{width:18px;height:18px;border:2px solid var(--surface-3);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.badge{display:inline-flex;align-items:center;height:18px;padding:0 6px;border-radius:9px;font-size:11px;font-weight:600;background:var(--surface-3);color:var(--text-2)}.app{height:100%;display:flex;flex-direction:column}.topbar{height:var(--topbar-h);flex:0 0 auto;display:flex;align-items:center;gap:8px;padding:0 16px;background:var(--bg);padding-top:env(safe-area-inset-top);min-width:0}.topbar .brand{display:flex;align-items:center;gap:10px;flex:0 1 190px;min-width:96px;font-size:22px;color:var(--text-2);-webkit-user-select:none;user-select:none;overflow:hidden}.topbar .brand svg{flex:0 0 auto}.topbar .brand-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.searchbar{flex:1 1 auto;min-width:0;max-width:720px;position:relative;display:flex;align-items:center;height:48px;background:var(--surface-2);border-radius:8px;transition:background .15s,box-shadow .15s}.searchbar:focus-within{background:var(--surface);box-shadow:var(--shadow-1)}.searchbar input{flex:1;min-width:0;height:100%;background:none;border:none;outline:none;font-size:16px;padding:0 8px}.searchbar .icon-btn{color:var(--text-2)}.search-suggestions{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-2);padding:8px 0;z-index:40;max-height:60vh;overflow-y:auto}.search-suggestions .group-title{padding:6px 16px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3)}.search-suggestions button{display:flex;align-items:center;gap:10px;width:100%;padding:8px 16px;text-align:left;color:var(--text)}.search-suggestions button:hover{background:var(--surface-hover)}.search-suggestions code{font-family:ui-monospace,monospace;font-size:12px;background:var(--surface-2);padding:1px 5px;border-radius:4px;color:var(--text-2)}.topbar-right{display:flex;align-items:center;gap:4px;flex:0 0 auto;margin-left:auto}.body{flex:1;display:flex;min-height:0}.sidebar{width:var(--sidebar-w);flex:0 0 auto;display:flex;flex-direction:column;padding:0 8px 16px;overflow-y:auto;overscroll-behavior:contain}.sidebar.collapsed{width:72px}.sidebar.collapsed .nav-item span,.sidebar.collapsed .nav-section-title,.sidebar.collapsed .compose-btn span{display:none}.sidebar.collapsed .compose-btn{width:56px;padding:0;justify-content:center}.sidebar.collapsed .nav-item{justify-content:center;padding:0}.compose-btn{display:flex;align-items:center;gap:12px;height:56px;margin:8px 0 16px;padding:0 24px 0 16px;border-radius:16px;background:var(--accent-soft);color:var(--accent);font-size:14px;font-weight:500;box-shadow:var(--shadow-1);transition:box-shadow .2s,background .2s;align-self:flex-start}.compose-btn:hover{box-shadow:var(--shadow-2);background:color-mix(in srgb,var(--accent-soft) 80%,var(--accent) 20%)}.nav-section{margin-top:8px}.nav-section-title{display:flex;align-items:center;justify-content:space-between;padding:12px 12px 4px 24px;font-size:12px;font-weight:500;color:var(--text-2)}.nav-item{display:flex;align-items:center;gap:18px;height:32px;padding:0 12px 0 26px;border-radius:0 16px 16px 0;color:var(--text);font-size:14px;width:100%;text-align:left;transition:background .12s}.nav-item:hover{background:var(--surface-3)}.nav-item.active{background:var(--accent-soft);color:var(--accent);font-weight:700}.nav-item.active svg{color:var(--accent)}.nav-item svg{flex:0 0 auto;color:var(--text-2)}.nav-item span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-item .count{font-size:12px;font-weight:600;color:inherit}.nav-item .dot{width:10px;height:10px;border-radius:50%;flex:0 0 auto}.nav-account{display:flex;align-items:center;gap:10px;padding:8px 12px 8px 24px;font-size:12px;font-weight:500;color:var(--text-2);text-transform:none}.nav-account .status{width:8px;height:8px;border-radius:50%;background:var(--success)}.nav-account .status.error{background:var(--danger)}.nav-account .status.syncing{background:var(--warning);animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{50%{opacity:.3}}.main{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--surface);border-radius:var(--radius-lg) 0 0 0;overflow:hidden}.toolbar{height:48px;flex:0 0 auto;display:flex;align-items:center;gap:4px;padding:0 8px 0 16px;border-bottom:1px solid var(--border-soft)}.toolbar .divider{width:1px;height:20px;background:var(--border);margin:0 6px}.toolbar .spacer{flex:1}.toolbar .range{font-size:12px;color:var(--text-2);white-space:nowrap}.checkbox{width:18px;height:18px;border:2px solid var(--text-2);border-radius:2px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;transition:background .12s,border-color .12s}.checkbox.checked{background:var(--accent);border-color:var(--accent)}.checkbox.checked svg{color:#fff}.checkbox.indeterminate{background:var(--accent);border-color:var(--accent)}.thread-list{flex:1;overflow-y:auto;overscroll-behavior:contain}.thread-swipe-shell{position:relative;overflow:hidden}.thread-swipe-action{display:none}.thread-row{display:flex;align-items:center;gap:12px;height:40px;padding:0 16px;border-bottom:1px solid var(--border-soft);cursor:pointer;position:relative;background:var(--surface)}.thread-row:hover{box-shadow:inset 1px 0 0 var(--border),inset -1px 0 0 var(--border),var(--shadow-1);z-index:1}.thread-row.unread{background:var(--surface);font-weight:700}.thread-row.unread .snippet{font-weight:400}.thread-row.read{background:var(--surface-2);color:var(--text-2)}.thread-row.selected{background:var(--accent-soft)}.thread-row.focused:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:2px solid var(--accent);border-radius:2px;pointer-events:none}.thread-row .star{color:var(--text-3)}.thread-row .star.on{color:var(--star)}.thread-row .account-dot{width:4px;height:24px;border-radius:2px;flex:0 0 auto}.thread-row .senders{width:200px;flex:0 0 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thread-row .count-badge{color:var(--text-2);font-weight:400;margin-left:4px}.thread-row .subject-cell{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thread-row .snippet{color:var(--text-2);font-weight:400}.thread-row .labels{display:inline-flex;gap:4px;margin-right:6px;vertical-align:middle}.thread-row .label-chip{display:inline-flex;align-items:center;height:16px;padding:0 6px;border-radius:4px;font-size:11px;font-weight:500;color:#fff}.thread-row .date{width:72px;flex:0 0 auto;text-align:right;font-size:12px;color:var(--text-2)}.thread-row.unread .date{color:var(--text);font-weight:700}.thread-row .hover-actions{display:none;gap:2px}.thread-row:hover .hover-actions{display:flex}.thread-row:hover .date{display:none}.thread-row .attach-icon{color:var(--text-2);flex:0 0 auto}.list-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:80px 24px;text-align:center;color:var(--text-2)}.list-empty h3{margin:0;font-weight:400;font-size:18px;color:var(--text)}.list-empty p{margin:0;max-width:420px}.load-more{display:flex;justify-content:center;padding:24px}.thread-view{flex:1;overflow-y:auto}.thread-view-header{display:flex;align-items:flex-start;gap:12px;padding:20px 24px 8px}.thread-view-header h1{margin:0;font-size:22px;font-weight:400;line-height:1.3;flex:1;word-break:break-word}.message-card{border-bottom:1px solid var(--border-soft);padding:16px 24px}.message-card.collapsed{padding:10px 24px;cursor:pointer}.message-card.collapsed:hover{background:var(--surface-hover)}.message-head{display:flex;align-items:flex-start;gap:12px}.avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px;font-weight:500;flex:0 0 auto;-webkit-user-select:none;user-select:none}.avatar.small{width:28px;height:28px;font-size:12px}.message-meta{flex:1;min-width:0}.message-meta .from{font-weight:700}.message-meta .from .addr{font-weight:400;color:var(--text-2);font-size:12px}.message-meta .to-line{font-size:12px;color:var(--text-2)}.message-actions{display:flex;align-items:center;gap:2px}.message-actions .date{font-size:12px;color:var(--text-2);white-space:nowrap;margin-right:4px}.message-body{margin-top:16px;overflow-x:auto}.message-frame{width:100%;border:none;display:block;background:transparent;min-height:40px}.remote-banner{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0;padding:10px 14px;background:var(--surface-2);border-radius:var(--radius);font-size:13px;color:var(--text-2)}.remote-banner button{color:var(--accent);font-weight:500}.quote-toggle{display:inline-flex;align-items:center;justify-content:center;height:18px;padding:0 8px;margin:8px 0;background:var(--surface-3);border-radius:9px;color:var(--text-2);letter-spacing:2px;line-height:1}.quote-toggle:hover{background:var(--border)}.attachments{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border-soft)}.attachment{display:flex;align-items:center;gap:10px;width:240px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);color:var(--text);text-decoration:none;transition:background .12s}.attachment:hover{background:var(--surface-hover)}.attachment .att-name{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment .att-size{font-size:11px;color:var(--text-2)}.reply-actions{display:flex;gap:12px;padding:16px 24px 32px}.compose-layer{position:fixed;right:0;bottom:0;display:flex;align-items:flex-end;gap:16px;padding:0 24px;z-index:60;pointer-events:none}.compose-window{width:540px;max-width:calc(100vw - 32px);height:520px;max-height:calc(100vh - 80px);display:flex;flex-direction:column;background:var(--surface);border-radius:12px 12px 0 0;box-shadow:var(--shadow-3);pointer-events:auto;overflow:hidden}.compose-window.minimized{height:40px}.compose-window.maximized{position:fixed;top:40px;right:40px;bottom:40px;left:40px;width:auto;height:auto;border-radius:12px}.compose-header{display:flex;align-items:center;gap:4px;height:40px;padding:0 8px 0 16px;background:var(--surface-3);cursor:pointer;flex:0 0 auto}.compose-header .title{flex:1;font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compose-header .icon-btn{width:28px;height:28px}.compose-fields{padding:0 16px;flex:0 0 auto}.compose-field{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--border-soft);min-height:40px;font-size:14px}.compose-field label{color:var(--text-2);flex:0 0 auto}.compose-field .chips{display:flex;flex-wrap:wrap;gap:4px;flex:1;align-items:center;padding:6px 0}.compose-field input{flex:1;min-width:120px;border:none;outline:none;background:none;padding:4px 0}.compose-field .toggles{display:flex;gap:8px;color:var(--text-2);font-size:13px}.compose-field .toggles button{color:var(--text-2)}.compose-field .toggles button:hover{color:var(--text)}.chip{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 4px 0 10px;background:var(--surface-3);border-radius:12px;font-size:13px}.chip.invalid{background:color-mix(in srgb,var(--danger) 20%,var(--surface-3))}.chip button{display:flex;color:var(--text-2)}.compose-editor{flex:1;min-height:0;padding:12px 16px;overflow-y:auto;outline:none;font-size:14px}.compose-editor:empty:before{content:attr(data-placeholder);color:var(--text-3)}.compose-editor blockquote{margin:0 0 0 .8ex;border-left:2px solid var(--border);padding-left:1ex;color:var(--text-2)}.compose-attachments{display:flex;flex-wrap:wrap;gap:8px;padding:8px 16px;border-top:1px solid var(--border-soft);flex:0 0 auto;max-height:120px;overflow-y:auto}.compose-toolbar{display:flex;align-items:center;gap:4px;padding:8px 12px;border-top:1px solid var(--border-soft);flex:0 0 auto;flex-wrap:wrap}.compose-toolbar .icon-btn{width:32px;height:32px}.compose-toolbar .spacer{flex:1}.format-bar{display:flex;align-items:center;gap:2px;padding:4px 12px;border-top:1px solid var(--border-soft);flex-wrap:wrap}.format-bar .icon-btn{width:30px;height:30px;border-radius:4px}.format-bar select{height:28px;border:1px solid var(--border);border-radius:4px;background:var(--surface);padding:0 4px;font-size:13px}.format-bar .sep{width:1px;height:18px;background:var(--border);margin:0 4px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#20212480;display:flex;align-items:center;justify-content:center;z-index:80;padding:16px}.dialog{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-3);width:100%;max-width:560px;max-height:calc(100vh - 64px);display:flex;flex-direction:column;overflow:hidden}.dialog.wide{max-width:900px}.dialog-head{display:flex;align-items:center;gap:12px;padding:20px 24px 12px}.dialog-head h2{margin:0;font-size:20px;font-weight:400;flex:1}.dialog-body{padding:4px 24px 20px;overflow-y:auto;flex:1}.dialog-foot{display:flex;align-items:center;gap:8px;justify-content:flex-end;padding:12px 24px 20px}.dialog-foot .spacer{flex:1}.menu{position:absolute;min-width:220px;max-height:60vh;overflow-y:auto;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-2);padding:8px 0;z-index:70}.menu button,.menu label{display:flex;align-items:center;gap:12px;width:100%;padding:8px 16px;text-align:left;color:var(--text);font-size:14px;cursor:pointer}.menu button:hover,.menu label:hover{background:var(--surface-hover)}.menu .menu-sep{height:1px;background:var(--border-soft);margin:8px 0}.menu .menu-title{padding:6px 16px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3)}.toasts{position:fixed;left:24px;bottom:24px;display:flex;flex-direction:column;gap:8px;z-index:90}.toast{display:flex;align-items:center;gap:20px;min-width:300px;max-width:520px;padding:14px 16px;background:#323232;color:#fff;border-radius:var(--radius);box-shadow:var(--shadow-2);font-size:14px;animation:toast-in .18s ease-out}.toast.error{background:var(--danger)}.toast button{color:#8ab4f8;font-weight:500;text-transform:none}.toast.error button{color:#fff;text-decoration:underline}@keyframes toast-in{0%{transform:translateY(12px);opacity:0}}.settings-layout{display:flex;gap:24px;min-height:400px}.settings-nav{width:180px;flex:0 0 auto;display:flex;flex-direction:column;gap:2px}.settings-nav button{text-align:left;padding:8px 12px;border-radius:6px;color:var(--text-2)}.settings-nav button.active{background:var(--accent-soft);color:var(--accent);font-weight:500}.settings-content{flex:1;min-width:0}.settings-content h3{margin:0 0 4px;font-size:16px;font-weight:500}.settings-content .section{margin-bottom:28px}.settings-content .section>p{margin:0 0 12px;color:var(--text-2);font-size:13px}.account-card{display:flex;align-items:center;gap:12px;padding:12px;margin-bottom:8px;border:1px solid var(--border);border-radius:var(--radius)}.account-card .info{flex:1;min-width:0}.account-card .email{font-weight:500}.account-card .detail{font-size:12px;color:var(--text-2)}.account-card .detail.error{color:var(--danger)}.account-color-field{display:flex;align-items:center;gap:10px;color:var(--text-2);font-size:13px}.account-color-field input[type=color]{width:48px;height:40px;padding:3px;cursor:pointer}.account-sync-toggle{display:flex;align-items:flex-start;gap:10px;padding:4px 0 18px;cursor:pointer}.account-sync-toggle input{width:18px;height:18px;margin:1px 0 0;accent-color:var(--accent);flex:0 0 auto}.account-sync-toggle span{display:flex;flex-direction:column;gap:2px}.account-sync-toggle strong{font-size:13px;font-weight:500}.account-sync-toggle small{color:var(--text-2);line-height:1.4}.download-card{display:flex;align-items:center;gap:14px;padding:16px;margin:16px 0;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2)}.download-app-icon{width:52px;height:52px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;border-radius:14px;background:var(--accent);color:#fff}.download-card .info{min-width:0}.download-card .title{font-weight:600;word-break:break-word}.download-card .detail{margin-top:3px;color:var(--text-2);font-size:12px}.download-button{text-decoration:none}.download-note{margin-top:16px!important;line-height:1.6}.switch-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--border-soft)}.switch-row .label{font-size:14px}.switch-row .desc{font-size:12px;color:var(--text-2)}.switch{width:36px;height:14px;border-radius:7px;background:var(--surface-3);position:relative;flex:0 0 auto;transition:background .15s}.switch:after{content:"";position:absolute;top:-3px;left:0;width:20px;height:20px;border-radius:50%;background:var(--surface);box-shadow:var(--shadow-1);transition:transform .15s,background .15s}.switch.on{background:color-mix(in srgb,var(--accent) 50%,transparent)}.switch.on:after{transform:translate(16px);background:var(--accent)}.switch:disabled{opacity:.55;cursor:wait}.push-settings{margin:10px 0 2px;padding:12px 14px;border:1px solid var(--border-soft);border-radius:var(--radius);background:var(--surface-2)}.push-status{display:flex;align-items:center;gap:8px;color:var(--text-2);font-size:12px}.push-status:before{content:"";width:8px;height:8px;flex:0 0 auto;border-radius:50%;background:var(--text-3)}.push-status.on{color:var(--success)}.push-status.on:before{background:var(--success)}.push-status.error{color:var(--danger)}.push-status.error:before{background:var(--danger)}.push-actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.swipe-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.kbd-table{width:100%;border-collapse:collapse;font-size:13px}.kbd-table td{padding:6px 0;border-bottom:1px solid var(--border-soft)}.kbd-table td:first-child{width:110px}kbd{display:inline-block;min-width:20px;padding:2px 6px;background:var(--surface-2);border:1px solid var(--border);border-bottom-width:2px;border-radius:4px;font-family:ui-monospace,monospace;font-size:12px;text-align:center}.auth-screen{min-height:100%;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg)}.auth-card{width:100%;max-width:460px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:40px}.auth-card h1{margin:0 0 8px;font-size:24px;font-weight:400}.auth-card .sub{margin:0 0 28px;color:var(--text-2)}.auth-card .foot{margin-top:20px;display:flex;align-items:center;gap:12px}.stepper{display:flex;gap:6px;margin-bottom:24px}.stepper .step{flex:1;height:3px;border-radius:2px;background:var(--surface-3)}.stepper .step.done{background:var(--accent)}.test-result{display:flex;align-items:flex-start;gap:10px;padding:12px;margin-bottom:12px;border-radius:var(--radius);background:var(--surface-2);font-size:13px}.test-result.ok{background:color-mix(in srgb,var(--success) 14%,var(--surface-2))}.test-result.bad{background:color-mix(in srgb,var(--danger) 14%,var(--surface-2))}.test-result .title{font-weight:500}.provider-note{display:flex;gap:10px;padding:12px;margin-bottom:16px;background:var(--accent-soft);border-radius:var(--radius);font-size:13px;color:var(--text)}.mobile-only,.mobile-bottom-bar{display:none}@media(max-width:1120px){.topbar .brand{flex-basis:auto;min-width:32px}.topbar .brand .brand-text{display:none}}@media(max-width:900px){:root{--topbar-h: 56px}.mobile-only{display:inline-flex}.desktop-only{display:none!important}.topbar{padding:0 8px;gap:4px}.topbar .brand{min-width:32px}.topbar .brand .brand-text{display:none}.sidebar{position:fixed;top:0;bottom:0;left:0;width:280px;z-index:70;background:var(--surface);box-shadow:var(--shadow-3);transform:translate(-100%);transition:transform .2s ease-out;padding-top:8px}.sidebar.open{transform:none}.sidebar-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:65}.main{border-radius:0}.thread-row{height:auto;padding:10px 12px;align-items:flex-start;gap:10px}.thread-swipe-shell{background:var(--surface-3);touch-action:pan-y;-webkit-user-select:none;user-select:none}.thread-swipe-action{position:absolute;inset-block:0;width:55%;display:flex;align-items:center;gap:8px;padding:0 24px;color:#fff;font-size:13px;font-weight:600;pointer-events:none}.thread-swipe-action.left{left:0;justify-content:flex-start}.thread-swipe-action.right{right:0;justify-content:flex-end}.thread-swipe-action .swipe-icon{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#ffffff2e;transform:scale(.82);transition:transform .12s ease-out,background .12s}.thread-swipe-shell.ready .thread-swipe-action.active .swipe-icon{transform:scale(1.08);background:#ffffff47}.thread-swipe-shell .thread-row{position:relative;z-index:1;will-change:transform;transition:transform .18s cubic-bezier(.2,.8,.2,1),opacity .16s}.thread-swipe-shell.dragging .thread-row{transition:none}.thread-swipe-shell.committing .thread-row{opacity:.86}.thread-row .senders{width:auto;flex:1}.thread-row .hover-actions{display:none!important}.thread-row .date{display:block!important;width:auto;font-size:11px}.thread-row .mobile-stack{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.thread-row .mobile-line{display:flex;align-items:baseline;gap:8px}.thread-row .subject-cell{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.thread-view-header{padding:12px 16px 4px}.thread-view-header h1{font-size:18px}.message-card{padding:12px 16px}.reply-actions{padding:12px 16px 24px}.compose-layer{top:0;right:0;bottom:0;left:0;padding:0}.compose-window{width:100%;height:100%;max-height:none;border-radius:0}.compose-window.minimized{height:40px;align-self:flex-end}.mobile-bottom-bar{display:flex;align-items:center;justify-content:space-around;height:56px;flex:0 0 auto;border-top:1px solid var(--border);background:var(--surface);padding-bottom:env(safe-area-inset-bottom)}.fab{position:fixed;right:16px;bottom:76px;width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--accent);box-shadow:var(--shadow-2);z-index:50}.dialog{max-height:100vh;height:100%;border-radius:0;max-width:none}.settings-layout{flex-direction:column;gap:12px}.settings-nav{width:auto;flex-direction:row;overflow-x:auto}.field-row{grid-template-columns:1fr}.swipe-settings-grid{grid-template-columns:1fr;gap:0}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
