:root{--black: #0a0a0a;--gold: #ffc700;--gold-soft: #fff6cf;--gold-ink: #7a5d00;--bg: #fafafa;--panel: #ffffff;--line: #e7e5e2;--line-soft: #f0eeeb;--ink: #141414;--ink-2: #4a4a4a;--ink-3: #8a8782;--danger: #b3261e;--warn-bg: #fff3d6;--warn-ink: #6b4a00;--radius: 10px;--nav-w: 232px;--list-w: 400px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.45;color:var(--ink);-webkit-text-size-adjust:100%}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{background:var(--bg);overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0;padding:0}a{color:inherit}h1,h2,h3,p{margin:0}.icon{flex:none;display:block}.muted{color:var(--ink-3)}:focus-visible{outline:2px solid var(--gold);outline-offset:1px}.btn{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 14px;border-radius:8px;border:1px solid var(--line);background:var(--panel);font-weight:600;white-space:nowrap}.btn:hover{background:#f4f3f1}.btn.primary{background:var(--black);color:#fff;border-color:var(--black)}.btn.primary:hover{background:#262626}.btn:disabled{opacity:.55;cursor:default}.btn.wide{width:100%;justify-content:center;height:42px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;color:var(--ink-2);flex:none;cursor:pointer}.icon-btn:hover{background:#0000000f;color:var(--ink)}.icon-btn.small{width:28px;height:28px;border-radius:6px}.icon-btn.dark{color:#cfcfcf}.icon-btn.dark:hover{background:#ffffff1f;color:#fff}.link-btn{color:#1a56b0;font-weight:600;text-decoration:none;white-space:nowrap}.link-btn:hover{text-decoration:underline}.tag{display:inline-block;padding:0 6px;margin-right:6px;border-radius:4px;background:#eeece8;color:var(--ink-2);font-size:11px;font-weight:600;line-height:18px;vertical-align:1px}.tag.draft{background:#fde2e0;color:var(--danger)}.spinner{width:22px;height:22px;border:2.5px solid #dcdad6;border-top-color:var(--ink);border-radius:50%;animation:spin .7s linear infinite}.spinner.light{border-color:#3a3a3a;border-top-color:var(--gold)}@keyframes spin{to{transform:rotate(360deg)}}.login,.splash{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:var(--black);color:#fff;padding:20px}.splash p{color:#cfcfcf}.login-card{width:100%;max-width:360px;display:flex;flex-direction:column;gap:14px;align-items:stretch}.login-card img{align-self:center}.login-card h1{text-align:center;font-size:15px;font-weight:600;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);margin:-4px 0 10px}.login-card label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;color:#bdbdbd}.login-card input{height:44px;padding:0 12px;border-radius:8px;border:1px solid #333;background:#161616;color:#fff;font-size:15px}.login-card input:focus{border-color:var(--gold);outline:none}.login-card .btn.primary{background:var(--gold);color:var(--black);border-color:var(--gold);margin-top:6px}.login-card .btn.primary:hover{background:#ffd633}.login-error{color:#ff8a80;font-size:13px}.app{height:100%;display:flex}.nav{width:var(--nav-w);flex:none;background:var(--black);color:#e8e8e8;display:flex;flex-direction:column;padding:14px 10px 10px}.nav-brand{display:flex;align-items:center;gap:10px;padding:0 6px 14px}.nav-brand span{font-size:12px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}.compose-btn{display:flex;align-items:center;justify-content:center;gap:8px;height:42px;border-radius:10px;background:var(--gold);color:var(--black);font-weight:700;margin-bottom:12px}.compose-btn:hover{background:#ffd633}.folders{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:2px;margin:0 -4px;padding:0 4px}.folder{display:flex;align-items:center;gap:10px;height:36px;padding:0 12px 0 14px;border-radius:8px;color:#cfcfcf;text-decoration:none;width:100%;text-align:left;flex:none}.folder:hover{background:#ffffff14;color:#fff}.folder.active{background:#ffc70029;color:var(--gold);font-weight:600}.folder-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder .count{font-size:12px;color:#9a9a9a}.folder .count.strong{background:var(--gold);color:var(--black);font-weight:700;padding:0 7px;border-radius:9px;line-height:18px}.folder.add{color:#8a8a8a;margin-top:6px}.nav-foot{display:flex;align-items:center;gap:2px;padding:10px 2px 0 8px;border-top:1px solid #232323;margin-top:8px}.who{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:#a8a8a8}.scrim{display:none}.main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--panel);border-bottom:1px solid var(--line)}.menu-btn{display:none}.search{flex:1;max-width:720px;display:flex;align-items:center;gap:8px;height:40px;padding:0 8px 0 12px;border-radius:10px;background:#f1efec;color:var(--ink-3)}.search:focus-within{background:var(--panel);box-shadow:0 0 0 2px var(--gold)}.search input{flex:1;min-width:0;border:0;background:none;outline:none;color:var(--ink);font-size:15px}.search input::-webkit-search-cancel-button{display:none}.panes{flex:1;min-height:0;display:flex}.listpane{width:var(--list-w);flex:none;display:flex;flex-direction:column;background:var(--panel);border-right:1px solid var(--line);min-width:0}.list-head{display:flex;align-items:baseline;gap:10px;padding:12px 16px 10px;border-bottom:1px solid var(--line-soft)}.list-head h2{font-size:17px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-total{flex:1;font-size:12px;color:var(--ink-3);white-space:nowrap}.list-scroll{flex:1;overflow-y:auto;overscroll-behavior:contain}.list-state{display:flex;flex-direction:column;align-items:center;gap:12px;padding:48px 20px;color:var(--ink-3);text-align:center}.sentinel{display:flex;justify-content:center;padding:14px;min-height:8px}.row{position:relative;display:flex;gap:12px;padding:11px 14px 11px 16px;border-bottom:1px solid var(--line-soft);cursor:pointer}.row:hover{background:#f7f6f4}.row.selected{background:var(--gold-soft);box-shadow:inset 3px 0 0 var(--gold)}.avatar{width:36px;height:36px;flex:none;border-radius:50%;color:#fff;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;letter-spacing:.02em}.row-main{flex:1;min-width:0}.row-top{display:flex;align-items:baseline;gap:8px}.row-from{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-2)}.row-count{margin-left:6px;font-size:12px;color:var(--ink-3)}.row-date{flex:none;font-size:12px;color:var(--ink-3)}.row-subject{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-2)}.row-bottom{display:flex;align-items:center;gap:8px}.row-preview{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-3);font-size:13px}.row-marks{flex:none;display:flex;align-items:center;gap:6px;color:var(--ink-3)}.row.unread .row-from,.row.unread .row-subject{color:var(--ink);font-weight:700}.row.unread .row-date{color:var(--gold-ink);font-weight:700}.row.unread:before{content:"";position:absolute;left:5px;top:25px;width:7px;height:7px;border-radius:50%;background:var(--gold)}.star{color:#c9c6c0;display:inline-flex}.star:hover,.star.on{color:#e0a800}.row-actions{position:absolute;right:10px;top:8px;display:none;gap:2px;padding:2px;border-radius:8px;background:var(--panel);box-shadow:0 1px 6px #00000024}@media(hover:hover){.row:hover .row-actions{display:flex}}.readpane{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--bg)}.empty-read{margin:auto;display:flex;flex-direction:column;align-items:center;gap:12px;color:#b5b2ac}.thread{flex:1;min-height:0;display:flex;flex-direction:column}.thread-bar{display:flex;align-items:center;gap:4px;padding:8px 14px;background:var(--panel);border-bottom:1px solid var(--line)}.back-btn{display:none}.thread-scroll{flex:1;overflow-y:auto;padding:18px 22px 40px}.thread-inner{max-width:960px;margin:0 auto}.thread-subject{font-size:21px;font-weight:700;line-height:1.3;margin:2px 4px 16px;overflow-wrap:anywhere}.msg{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:10px;overflow:hidden}.msg.collapsed{display:flex;align-items:center;gap:12px;padding:10px 14px;cursor:pointer}.msg.collapsed:hover{background:#f7f6f4}.msg-collapsed-main{flex:1;min-width:0;display:flex;gap:10px;overflow:hidden;white-space:nowrap}.msg-collapsed-main span{overflow:hidden;text-overflow:ellipsis;color:var(--ink-3)}.msg time{flex:none;font-size:12px;color:var(--ink-3);white-space:nowrap}.msg-head{display:flex;align-items:center;gap:10px;padding:12px 10px 10px 14px}.msg-head .avatar{cursor:pointer}.msg-who{flex:1;min-width:0;cursor:pointer}.msg-from{display:flex;flex-wrap:wrap;gap:0 8px;align-items:baseline}.msg-from b{overflow-wrap:anywhere}.msg-from .addr{color:var(--ink-3);font-size:13px;overflow-wrap:anywhere}.msg-to{display:inline-flex;align-items:center;gap:3px;color:var(--ink-3);font-size:13px;max-width:100%;text-align:left}.msg-to:hover{color:var(--ink)}.msg-details{margin:0 14px 10px;padding:10px 12px;border-radius:8px;background:#f6f5f2;display:grid;grid-template-columns:auto 1fr;gap:3px 12px;font-size:13px}.msg-details dt{color:var(--ink-3)}.msg-details dd{margin:0;overflow-wrap:anywhere}.banner{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:0 14px 10px;padding:8px 12px;border-radius:8px;background:#f1efec;color:var(--ink-2);font-size:13px}.banner.warn{background:var(--warn-bg);color:var(--warn-ink);align-items:flex-start;flex-wrap:nowrap}.banner.warn span{overflow-wrap:anywhere}.msg-frame{display:block;width:100%;height:80px;border:0;padding:0 14px;background:#fff}.msg-text{padding:2px 16px 14px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:14.5px;line-height:1.55}.msg-text .quoted{color:var(--ink-3);border-left:2px solid #d9d6d1;padding-left:10px;margin:4px 0}.msg-text a{color:#1a56b0}.files{display:flex;flex-wrap:wrap;gap:8px;padding:10px 14px 14px;border-top:1px solid var(--line-soft)}.file{display:flex;align-items:center;gap:2px;max-width:100%;border:1px solid var(--line);border-radius:8px;padding-right:4px;background:#fbfaf9}.file-main{display:flex;align-items:center;gap:8px;min-width:0;padding:7px 6px 7px 10px;text-decoration:none}.file-main:hover .file-name{text-decoration:underline}.file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:260px;font-weight:600}.file-size{color:var(--ink-3);font-size:12px;flex:none}.draft-stub{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:10px 14px;margin-bottom:10px;border:1px dashed #d8b4b0;border-radius:var(--radius);background:snow}.draft-stub span:nth-child(2){flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-3)}.draft-stub .link{color:#1a56b0;font-weight:600}.reply-bar{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.menu-wrap{position:relative}.menu{position:absolute;z-index:20;top:40px;left:0;min-width:190px;max-height:320px;overflow-y:auto;padding:6px;border-radius:10px;background:var(--panel);border:1px solid var(--line);box-shadow:0 8px 28px #00000029;display:flex;flex-direction:column}.menu.right{left:auto;right:0}.menu button,.menu a{display:block;padding:8px 10px;border-radius:6px;text-align:left;text-decoration:none;white-space:nowrap}.menu button:hover,.menu a:hover{background:#f1efec}.composer{position:fixed;z-index:40;right:22px;bottom:0;width:600px;max-width:calc(100vw - 44px);height:min(640px,calc(100dvh - 70px));display:flex;flex-direction:column;background:var(--panel);border-radius:12px 12px 0 0;box-shadow:0 10px 44px #0000004d;overflow:hidden}.composer.small{height:auto;width:300px}.composer.small .composer-bar{cursor:pointer}.composer.dragging{outline:3px dashed var(--gold);outline-offset:-3px}.composer-bar{display:flex;align-items:center;gap:6px;height:42px;flex:none;padding:0 8px 0 16px;background:var(--black);color:#fff}.composer-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.composer-status{font-size:12px;color:#a8a8a8;white-space:nowrap}.composer-fields{flex:none;padding:0 16px}.field{display:flex;align-items:center;gap:10px;min-height:40px;border-bottom:1px solid var(--line-soft)}.field>span:first-child{flex:none;width:52px;color:var(--ink-3);font-size:13px}.field input[type=text],.field select{flex:1;min-width:0;height:38px;border:0;background:none;outline:none}.field select{margin-left:-4px}.field.address{align-items:flex-start;cursor:text}.field.address>span:first-child{padding-top:10px}.field.address>.link-btn{padding-top:10px;font-size:13px}.chips{position:relative;flex:1;min-width:0;display:flex;flex-wrap:wrap;gap:5px;padding:6px 0}.chips input{flex:1;min-width:120px;height:28px;border:0;outline:none;background:none}.chips input.bad{color:var(--danger)}.chip{display:inline-flex;align-items:center;gap:5px;max-width:100%;height:28px;padding:0 5px 0 10px;border-radius:14px;background:#f1efec;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chip button{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;color:var(--ink-3);flex:none}.chip button:hover{background:#dcd9d4;color:var(--ink)}.chip i{font-style:normal;color:var(--ink-3);font-size:12px}.suggest{position:absolute;z-index:5;top:100%;left:0;width:min(380px,100%);padding:6px;border-radius:10px;background:var(--panel);border:1px solid var(--line);box-shadow:0 8px 28px #00000029;display:flex;flex-direction:column}.suggest button{display:flex;flex-direction:column;padding:6px 10px;border-radius:6px;text-align:left;overflow:hidden}.suggest button span{color:var(--ink-3);font-size:12px;overflow:hidden;text-overflow:ellipsis}.suggest button.active,.suggest button:hover{background:var(--gold-soft)}.composer-body{flex:1;min-height:120px;width:100%;padding:14px 16px;border:0;outline:none;resize:none;font-size:14.5px;line-height:1.55;background:none}.composer-files{flex:none;display:flex;flex-wrap:wrap;gap:6px;padding:8px 16px;max-height:110px;overflow-y:auto;border-top:1px solid var(--line-soft)}.file-chip{border-radius:8px;padding-left:8px}.file-chip.uploading{opacity:.65}.composer-error{flex:none;margin:0 16px 8px;padding:8px 12px;border-radius:8px;background:#fde7e5;color:var(--danger);font-size:13px}.composer-foot{flex:none;display:flex;align-items:center;gap:8px;padding:10px 12px 12px 16px;border-top:1px solid var(--line-soft)}.composer-foot .btn.primary{background:var(--gold);border-color:var(--gold);color:var(--black)}.composer-foot .btn.primary:hover{background:#ffd633}.spacer{flex:1}.drop-hint{position:absolute;inset:42px 0 0;display:flex;align-items:center;justify-content:center;background:#fff6cfeb;font-weight:700;pointer-events:none}.modal-scrim{position:fixed;inset:0;z-index:60;background:#00000073;display:flex;align-items:center;justify-content:center;padding:16px}.modal{width:100%;max-width:560px;max-height:calc(100dvh - 32px);display:flex;flex-direction:column;background:var(--panel);border-radius:14px;overflow:hidden}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:12px 12px 12px 20px;border-bottom:1px solid var(--line)}.modal-head h2{font-size:17px}.modal-body{overflow-y:auto;padding:16px 20px 22px;display:flex;flex-direction:column;gap:8px}.modal-body h3{font-size:14px;margin-top:14px}.identity{border:1px solid var(--line);border-radius:10px}.identity-head{display:flex;align-items:center;gap:10px;padding:4px 12px 4px 4px}.identity-main{flex:1;min-width:0;display:flex;flex-direction:column;text-align:left;padding:6px 8px;border-radius:6px}.identity-main:hover{background:#f7f6f4}.identity-main b{overflow:hidden;text-overflow:ellipsis}.identity-main span{color:var(--ink-3);font-size:12px}.identity-form{display:flex;flex-direction:column;gap:10px;padding:4px 12px 12px;align-items:flex-start}.identity-form label{width:100%;display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600;color:var(--ink-3)}.identity-form input,.identity-form textarea{padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-size:14px;font-weight:400;color:var(--ink);resize:vertical}kbd{display:inline-block;min-width:20px;padding:0 5px;border:1px solid var(--line);border-bottom-width:2px;border-radius:5px;background:#f6f5f2;font:inherit;font-size:12px;text-align:center;color:var(--ink-2)}.keys{line-height:2}.toast{position:fixed;z-index:80;left:50%;bottom:22px;transform:translate(-50%);display:flex;align-items:center;gap:14px;max-width:calc(100vw - 24px);padding:10px 10px 10px 16px;border-radius:10px;background:#1d1d1d;color:#fff;box-shadow:0 8px 28px #0000004d}.toast button{color:var(--gold);font-weight:700}.toast .toast-x{color:#9a9a9a;display:inline-flex;padding:4px}@media(max-width:1100px){.listpane{width:auto;flex:1;border-right:0}.readpane,.app.thread-open .listpane{display:none}.app.thread-open .readpane{display:flex}.back-btn{display:inline-flex}.thread-scroll{padding:14px 12px 40px}}@media(max-width:760px){.nav{position:fixed;z-index:50;inset:0 auto 0 0;width:min(84vw,300px);transform:translate(-102%);transition:transform .2s ease;padding-top:max(14px,env(safe-area-inset-top));padding-bottom:max(10px,env(safe-area-inset-bottom))}.app.nav-open .nav{transform:none}.app.nav-open .scrim{display:block;position:fixed;z-index:45;inset:0;background:#00000080}.menu-btn{display:inline-flex}.topbar{padding:8px;padding-top:max(8px,env(safe-area-inset-top))}.app.thread-open .topbar{display:none}.thread-bar{padding:6px;padding-top:max(6px,env(safe-area-inset-top))}.thread-subject{font-size:18px}.msg-head{flex-wrap:wrap;padding-left:10px}.msg-head time{order:5;width:100%;padding-left:46px;margin-top:-6px}.msg-frame{padding:0 10px}.composer,.composer.small{inset:0;width:auto;max-width:none;height:100dvh;border-radius:0}.composer.small{top:auto;height:auto}.composer-bar{padding-top:env(safe-area-inset-top);height:calc(42px + env(safe-area-inset-top))}.composer-foot{padding-bottom:max(12px,env(safe-area-inset-bottom))}.minimize-btn{display:none}.toast{bottom:max(14px,env(safe-area-inset-bottom));width:max-content}.file-name{max-width:180px}.row{padding-right:12px}input,textarea,select{font-size:16px!important}}
