:root{
  --navy:#061633;
  --navy2:#0a3478;
  --blue:#2563eb;
  --blue2:#3b82f6;
  --cyan:#38bdf8;
  --ink:#10213d;
  --muted:#6f829e;
  --line:#dce8f5;
  --soft:#f4f9ff;
  --white:#fff;
  --green:#14b86d;
  --danger:#db3551;
  --shadow:0 30px 85px rgba(6,38,91,.16);
  font-family:Inter,Manrope,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ink);
  background:#edf5ff;
}

*{box-sizing:border-box}
html{height:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;min-width:320px;min-height:100%;overflow:hidden}
button,input,textarea,select{font:inherit}
input,textarea,select{font-size:16px}
button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
button{cursor:pointer}
img,video{display:block;max-width:100%}
.hidden{display:none!important}

.brand{display:flex;align-items:center;gap:11px}
.brand-mark{
  width:44px;height:44px;display:grid;place-items:center;border-radius:15px;
  color:#fff;background:linear-gradient(135deg,var(--blue),var(--cyan));
  box-shadow:0 14px 30px rgba(37,99,235,.28);font-size:1.28rem;font-weight:950
}
.brand-copy{display:grid;line-height:1}
.brand-copy strong{font-size:1.02rem;letter-spacing:.06em}
.brand-copy span{margin-top:5px;color:var(--cyan);font-size:.62rem;font-weight:950;letter-spacing:.28em}

.loading{
  min-height:220px;display:grid;place-content:center;justify-items:center;gap:12px;
  color:var(--muted);font-size:.8rem;font-weight:800
}
.spinner{
  width:38px;height:38px;border:3px solid #d4e6f8;border-top-color:var(--blue);
  border-radius:50%;animation:spin .75s linear infinite
}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes float{50%{transform:translateY(-10px)}}
@keyframes pulse{70%{box-shadow:0 0 0 12px rgba(20,184,109,0)}}
@keyframes orbit{to{transform:rotate(360deg)}}
@keyframes slideIn{from{opacity:0;transform:translateY(12px)}}

/* Login */
.login{
  min-height:100dvh;padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right))
  max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));
  overflow:auto;background:
  radial-gradient(circle at 8% 0,rgba(56,189,248,.15),transparent 28%),
  linear-gradient(145deg,#edf6ff,#dfeeff)
}
.login-shell{
  width:min(1460px,100%);min-height:calc(100dvh - 36px);margin:auto;display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(400px,.88fr);overflow:hidden;
  border:1px solid rgba(120,166,224,.25);border-radius:38px;background:#fff;box-shadow:0 45px 130px rgba(5,35,85,.22)
}
.login-showcase{
  position:relative;min-height:740px;overflow:hidden;padding:42px 54px;color:#fff;
  background:
  radial-gradient(circle at 78% 28%,rgba(56,189,248,.34),transparent 30%),
  radial-gradient(circle at 5% 100%,rgba(37,99,235,.30),transparent 36%),
  linear-gradient(145deg,#041128,#082d69 58%,#0b5cb5)
}
.login-showcase:before{
  content:"";position:absolute;inset:0;opacity:.16;
  background-image:linear-gradient(rgba(255,255,255,.18) 1px,transparent 1px),
  linear-gradient(90deg,rgba(255,255,255,.18) 1px,transparent 1px);
  background-size:52px 52px;mask-image:linear-gradient(to bottom,black,transparent 90%)
}
.login-top,.login-copy,.login-mascot{position:relative;z-index:3}
.login-top{display:flex;align-items:center;justify-content:space-between}
.login-top .brand{color:#fff}
.secure-pill{
  display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid rgba(255,255,255,.13);
  border-radius:999px;color:#d8ebff;background:rgba(255,255,255,.08);font-size:.67rem;font-weight:900
}
.secure-pill i{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 0 rgba(20,184,109,.45);animation:pulse 1.8s infinite}
.login-copy{width:min(660px,70%);margin-top:112px}
.eyebrow{
  display:inline-flex;align-items:center;gap:9px;color:#7edaff;font-size:.72rem;font-weight:950;
  letter-spacing:.14em;text-transform:uppercase
}
.eyebrow:before{content:"";width:8px;height:8px;border-radius:50%;background:#67ddff;box-shadow:0 0 0 6px rgba(103,221,255,.12)}
.login-copy h1{margin:20px 0;font-size:clamp(3.3rem,5.8vw,6.7rem);line-height:.91;letter-spacing:-.075em}
.login-copy h1 span{color:#72ddff}
.login-copy p{max-width:610px;color:#c0d5ef;font-size:1.03rem;line-height:1.76}
.login-benefits{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.login-benefits span{
  padding:8px 10px;border-radius:11px;color:#dceeff;background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.1);font-size:.69rem;font-weight:850
}
.login-mascot{
  position:absolute;right:-10px;bottom:-22px;width:min(49%,560px);height:71%;
  display:grid;place-items:end center
}
.login-mascot:before,.login-mascot:after{
  content:"";position:absolute;border:1px solid rgba(255,255,255,.16);border-radius:50%;
  animation:orbit 14s linear infinite
}
.login-mascot:before{width:430px;height:430px;bottom:70px}
.login-mascot:after{width:310px;height:310px;bottom:132px;animation-direction:reverse;animation-duration:10s}
.login-mascot video{
  position:relative;z-index:4;width:100%;height:100%;object-fit:cover;object-position:center;
  mix-blend-mode:screen;filter:drop-shadow(0 30px 36px rgba(0,0,0,.25));animation:float 4.5s ease-in-out infinite
}
.login-form-side{
  min-width:0;display:grid;place-content:center;padding:62px;
  background:radial-gradient(circle at 100% 0,rgba(56,189,248,.09),transparent 31%),#fff
}
.login-card{width:min(450px,100%)}
.mobile-brand{display:none}
.login-card h2{margin:14px 0 8px;color:var(--navy);font-size:2.3rem;letter-spacing:-.045em}
.login-sub{margin:0 0 29px;color:var(--muted);line-height:1.6}
.field{display:grid;gap:7px;margin:17px 0;color:#304866;font-size:.75rem;font-weight:900}
.input{
  min-height:54px;display:flex;align-items:center;gap:10px;padding:0 14px;border:1px solid #d7e5f4;
  border-radius:16px;background:#f8fbff;transition:.2s
}
.input:focus-within{border-color:#80b4f4;background:#fff;box-shadow:0 0 0 4px rgba(59,130,246,.11)}
.input i{width:22px;color:#6d8caf;font-style:normal;font-weight:950}
.input input{min-width:0;width:100%;height:52px;border:0;outline:0;color:var(--ink);background:transparent}
.input button{border:0;color:var(--blue);background:none;font-size:.66rem;font-weight:950}
.remember{display:flex;align-items:center;gap:9px;margin:19px 0;color:#657b98;font-size:.71rem;font-weight:750}
.remember input{width:17px;height:17px;accent-color:var(--blue)}
.primary{
  min-height:50px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 20px;
  border:0;border-radius:14px;color:#fff;background:linear-gradient(135deg,var(--blue),var(--blue2) 62%,var(--cyan));
  box-shadow:0 15px 32px rgba(37,99,235,.25);font-size:.77rem;font-weight:950
}
.primary:hover{transform:translateY(-1px)}
.primary:disabled{opacity:.65;cursor:wait}
.login-button{width:100%;min-height:54px}
.notice{
  margin-top:18px;padding:13px;border:1px solid #dfebf7;border-radius:14px;color:#66809f;
  background:#f3f8fe;font-size:.66rem;line-height:1.52
}
.alert{margin-bottom:15px;padding:12px 14px;border-radius:13px;font-size:.75rem;font-weight:800}
.alert.error{color:#a3223a;background:#fff0f3;border:1px solid #ffcbd5}
.backend-warning{
  margin-bottom:16px;padding:13px;border:1px solid #f1d28a;border-radius:14px;
  color:#73520b;background:#fff9e9;font-size:.69rem;line-height:1.5
}
.backend-warning button{margin-top:8px;border:0;color:#805a00;background:none;font-size:.68rem;font-weight:950;padding:0}
.login-foot{margin:25px 0 0;color:#91a2b7;text-align:center;font-size:.62rem;font-weight:750}

/* App */
.app{height:100dvh;display:grid;grid-template-columns:276px minmax(0,1fr);overflow:hidden;background:#edf5fd}
.sidebar{
  position:relative;z-index:30;min-height:0;display:grid;grid-template-rows:auto auto 1fr auto;gap:22px;
  padding:max(24px,env(safe-area-inset-top)) 19px max(18px,env(safe-area-inset-bottom));
  color:#fff;background:
  radial-gradient(circle at 100% 8%,rgba(56,189,248,.19),transparent 32%),
  linear-gradient(180deg,#04142f,#082960 55%,#061633);
  box-shadow:18px 0 60px rgba(4,27,70,.17)
}
.sidebar .brand{color:#fff}
.sidebar-top{display:flex;align-items:center;justify-content:space-between}
.sidebar-close{display:none}
.compose{
  min-height:50px;display:flex;align-items:center;justify-content:center;gap:9px;border:1px solid rgba(255,255,255,.13);
  border-radius:16px;color:#092653;background:linear-gradient(135deg,#fff,#ddf3ff);
  box-shadow:0 15px 34px rgba(0,0,0,.16);font-size:.76rem;font-weight:950
}
.compose b{color:var(--blue);font-size:1.2rem}
.folders{min-height:0;display:grid;align-content:start;gap:5px;overflow-y:auto;padding-right:3px;scrollbar-width:thin}
.folders button{
  min-height:45px;display:grid;grid-template-columns:32px 1fr;align-items:center;padding:0 12px;
  border:0;border-radius:12px;color:#abc4e3;text-align:left;background:transparent;font-size:.74rem;font-weight:800;transition:.18s
}
.folders button:hover{color:#fff;background:rgba(255,255,255,.07)}
.folders button.active{color:#fff;background:linear-gradient(90deg,rgba(59,130,246,.38),rgba(56,189,248,.11));box-shadow:inset 3px 0 0 #5ed7ff}
.folders i{color:#76cdfb;font-style:normal;font-size:1rem}
.account{
  min-width:0;display:grid;grid-template-columns:40px minmax(0,1fr) 32px;gap:9px;align-items:center;
  padding:12px;border:1px solid rgba(255,255,255,.09);border-radius:16px;background:rgba(255,255,255,.055)
}
.avatar{
  display:grid;place-items:center;border-radius:50%;color:#fff;background:linear-gradient(135deg,var(--blue),var(--cyan));
  box-shadow:0 9px 20px rgba(37,99,235,.16);font-weight:950
}
.account .avatar{width:40px;height:40px;font-size:.68rem}
.account-copy{min-width:0;display:grid;gap:3px}
.account-copy strong,.account-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.account-copy strong{font-size:.72rem}
.account-copy span{color:#9bb6d8;font-size:.57rem}
.account>button{width:32px;height:32px;border:0;border-radius:10px;color:#add2f3;background:rgba(255,255,255,.07)}

.main{min-width:0;min-height:0;display:grid;grid-template-rows:84px minmax(0,1fr)}
.toolbar{
  min-width:0;display:grid;grid-template-columns:auto minmax(150px,1fr) minmax(250px,520px) auto;
  align-items:center;gap:18px;padding:max(13px,env(safe-area-inset-top)) max(22px,env(safe-area-inset-right)) 13px max(22px,env(safe-area-inset-left));
  border-bottom:1px solid #dce7f3;background:rgba(255,255,255,.91);backdrop-filter:blur(18px)
}
.menu{display:none}
.toolbar-title{min-width:0}
.toolbar-title small{color:#8a9bb0;font-size:.57rem;font-weight:950;letter-spacing:.11em;text-transform:uppercase}
.toolbar-title h1{overflow:hidden;margin:3px 0 0;color:var(--navy);font-size:1.25rem;letter-spacing:-.035em;text-overflow:ellipsis;white-space:nowrap}
.search{
  min-width:0;height:46px;display:flex;align-items:center;gap:9px;padding:0 12px;border:1px solid #d8e6f4;
  border-radius:14px;background:#f4f9fe
}
.search:focus-within{border-color:#8dbaf2;background:#fff;box-shadow:0 0 0 4px rgba(59,130,246,.09)}
.search input{min-width:0;width:100%;border:0;outline:0;color:var(--ink);background:transparent}
.search button{border:0;color:#7389a4;background:none;font-size:1rem}
.icon,.menu{
  width:44px;height:44px;display:grid;place-items:center;border:1px solid #d8e5f3;border-radius:13px;
  color:#31577f;background:#fff;font-size:1.05rem
}
.content{min-width:0;min-height:0;display:grid;grid-template-columns:minmax(350px,42%) minmax(0,58%);gap:1px;overflow:hidden;background:#dce7f3}
.list-pane,.detail-pane{min-width:0;min-height:0;overflow:hidden;background:#fff}
.list-wrap{height:100%;display:grid;grid-template-rows:minmax(0,1fr) 49px}
.message-list{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.message{
  position:relative;min-width:0;display:grid;grid-template-columns:29px 42px minmax(0,1fr);
  gap:10px;align-items:center;padding:15px 17px;border-bottom:1px solid #edf2f8;background:#fff;cursor:pointer;transition:.18s
}
.message:hover{background:#f7fbff}
.message.unread{background:#f8fbff}
.message.selected{background:#edf6ff}
.message.selected:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:5px;background:linear-gradient(var(--blue),var(--cyan))}
.star{width:29px;height:29px;border:0;color:#a4b2c4;background:transparent;font-size:1.05rem}
.star.on{color:#f1ab13}
.message .avatar{width:42px;height:42px;font-size:.66rem}
.msg-copy{min-width:0}
.msg-top{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}
.msg-top strong{overflow:hidden;color:#29445f;font-size:.74rem;text-overflow:ellipsis;white-space:nowrap}
.message.unread .msg-top strong,.message.unread .subject{color:#102e58;font-weight:950}
.msg-top time{color:#8d9db1;font-size:.59rem;font-weight:800}
.subject{overflow:hidden;margin-top:4px;color:#465e78;font-size:.71rem;text-overflow:ellipsis;white-space:nowrap}
.msg-copy p{overflow:hidden;margin:4px 0 0;color:#98a7b8;font-size:.59rem;text-overflow:ellipsis;white-space:nowrap}
.pagination{display:flex;align-items:center;justify-content:center;gap:13px;border-top:1px solid #e5edf6;color:#72869f;background:#fbfdff;font-size:.64rem;font-weight:850}
.pagination button{width:32px;height:32px;border:1px solid #d8e5f3;border-radius:10px;color:#35597f;background:#fff}
.pagination button:disabled{opacity:.35;cursor:not-allowed}

.detail-pane{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.empty{
  min-height:100%;display:grid;place-content:center;justify-items:center;padding:30px;color:#899bb2;text-align:center
}
.empty-mascot{
  width:118px;height:118px;overflow:hidden;border-radius:38px;background:linear-gradient(145deg,#e9f6ff,#cfe7ff);
  box-shadow:0 22px 55px rgba(27,84,151,.13);animation:float 4.5s ease-in-out infinite
}
.empty-mascot img{width:150%;height:150%;max-width:none;object-fit:contain;transform:translate(-16%,-4%)}
.empty h3{margin:20px 0 6px;color:#3e5b7d}
.empty p{max-width:350px;margin:0;font-size:.73rem;line-height:1.55}
.detail{min-height:100%;background:#fff;animation:slideIn .25s ease}
.detail-tools{
  position:sticky;top:0;z-index:8;min-height:59px;display:flex;justify-content:space-between;align-items:center;
  padding:9px 18px;border-bottom:1px solid #e5edf6;background:rgba(255,255,255,.94);backdrop-filter:blur(14px)
}
.back{display:none}
.actions{margin-left:auto;display:flex;gap:5px;align-items:center}
.actions button,.actions select,.back{
  min-width:36px;height:36px;border:1px solid #dbe7f4;border-radius:10px;color:#48698c;background:#fff;font-size:.71rem;font-weight:850
}
.actions .danger{color:var(--danger)}
.actions select{max-width:90px;padding:0 7px}
.detail-head{padding:28px 32px 20px;border-bottom:1px solid #eef3f8}
.detail-head h2{margin:0 0 22px;color:var(--navy);font-size:clamp(1.35rem,2.2vw,2rem);line-height:1.25;letter-spacing:-.035em}
.sender{display:grid;grid-template-columns:49px minmax(0,1fr);gap:12px;align-items:center}
.sender .avatar{width:49px;height:49px;font-size:.75rem}
.sender-copy{min-width:0;display:grid;gap:3px}
.sender-copy strong{color:#233e5d;font-size:.77rem}
.sender-copy span,.sender-copy small{overflow:hidden;color:#8192a8;font-size:.62rem;text-overflow:ellipsis;white-space:nowrap}
.remote{
  display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 15px;color:#75520c;
  background:#fff8df;border-bottom:1px solid #f3e4aa;font-size:.66rem;font-weight:750
}
.remote button{padding:6px 8px;border:1px solid #e9cf72;border-radius:8px;color:#765000;background:#fff;font-size:.61rem;font-weight:950}
.body{padding:30px 34px;color:#263f5d;font-size:.85rem;line-height:1.68}
.email-html{overflow-wrap:anywhere}
.email-html img{max-width:100%;height:auto}
.email-html table{max-width:100%;border-collapse:collapse}
.email-html a{color:var(--blue)}
.email-text{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font:inherit}
.attachments{padding:0 34px 34px}
.attachments h3{font-size:.78rem}
.attachment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.attachment{
  min-width:0;display:grid;grid-template-columns:38px minmax(0,1fr) 28px;gap:10px;align-items:center;
  padding:11px;border:1px solid #dce8f5;border-radius:13px;color:inherit;text-decoration:none;background:#f8fbff
}
.attachment i{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;color:var(--blue);background:#e5f2ff;font-style:normal}
.attachment span{min-width:0;display:grid;gap:3px}
.attachment strong{overflow:hidden;font-size:.67rem;text-overflow:ellipsis;white-space:nowrap}
.attachment small{color:#8999ad;font-size:.56rem}

/* Composer */
.compose-layer{position:fixed;inset:0;z-index:200;display:grid;place-items:end;padding:20px}
.compose-overlay{position:absolute;inset:0;border:0;background:rgba(4,19,47,.43);backdrop-filter:blur(4px)}
.composer{
  position:relative;z-index:2;width:min(700px,100%);max-height:calc(100dvh - 40px);display:grid;
  grid-template-rows:auto auto auto auto minmax(220px,1fr) auto auto;overflow:hidden;border:1px solid rgba(134,177,230,.43);
  border-radius:25px;background:#fff;box-shadow:0 38px 110px rgba(4,26,67,.36)
}
.composer header{min-height:66px;display:flex;align-items:center;justify-content:space-between;padding:12px 18px;color:#fff;background:linear-gradient(135deg,#061633,#0b3e88)}
.composer header div{display:grid;gap:3px}
.composer header small{color:#bcd5f4;font-size:.58rem;font-weight:850;text-transform:uppercase;letter-spacing:.11em}
.composer header strong{font-size:.92rem}
.composer header button{width:40px;height:40px;border:1px solid rgba(255,255,255,.13);border-radius:12px;color:#fff;background:rgba(255,255,255,.08);font-size:1.25rem}
.compose-field{min-height:50px;display:grid;grid-template-columns:66px minmax(0,1fr) auto;align-items:center;padding:0 18px;border-bottom:1px solid #e9eff6}
.compose-field label{color:#7589a2;font-size:.65rem;font-weight:900}
.compose-field input{min-width:0;height:48px;border:0;outline:0;color:var(--ink);background:transparent}
.compose-field button{border:0;color:var(--blue);background:none;font-size:.62rem;font-weight:950}
.compose-body{min-height:240px;padding:20px;border:0;outline:0;resize:none;color:#273f5d;line-height:1.65}
.file-chips{display:flex;flex-wrap:wrap;gap:6px;padding:9px 17px;border-top:1px solid #e9eff6}
.file-chips span{display:flex;align-items:center;gap:6px;padding:7px 9px;border-radius:9px;color:#446483;background:#edf6ff;font-size:.61rem;font-weight:800}
.file-chips button{border:0;color:#8a9bad;background:none}
.composer footer{display:flex;justify-content:space-between;gap:12px;padding:12px 17px;border-top:1px solid #e4edf6;background:#f9fcff}
.left-actions{display:flex;gap:7px}
.secondary{min-height:41px;padding:0 12px;border:1px solid #d4e3f2;border-radius:11px;color:#486a8e;background:#fff;font-size:.65rem;font-weight:900}
.toast{
  position:fixed;z-index:300;right:max(22px,env(safe-area-inset-right));bottom:max(22px,env(safe-area-inset-bottom));
  padding:13px 16px;border-radius:13px;color:#fff;background:#0b7556;box-shadow:0 18px 45px rgba(6,65,48,.24);
  font-size:.71rem;font-weight:900;animation:slideIn .25s ease
}
.overlay{display:none}

@media(max-width:1120px){
  .app{grid-template-columns:240px minmax(0,1fr)}
  .content{grid-template-columns:minmax(320px,46%) minmax(0,54%)}
  .login-copy{width:68%}
}
@media(max-width:900px){
  .app{grid-template-columns:1fr}
  .sidebar{
    position:fixed;inset:0 auto 0 calc(-300px - env(safe-area-inset-left));z-index:90;width:min(300px,88vw);
    transition:transform .28s cubic-bezier(.2,.8,.2,1)
  }
  .sidebar.open{transform:translateX(calc(300px + env(safe-area-inset-left)))}
  .overlay{position:fixed;inset:0;z-index:80;border:0;background:rgba(3,17,43,.48);backdrop-filter:blur(3px)}
  .overlay.show{display:block}
  .sidebar-close{display:grid;place-items:center;width:39px;height:39px;border:1px solid rgba(255,255,255,.12);border-radius:12px;color:#fff;background:rgba(255,255,255,.08);font-size:1.2rem}
  .menu{display:grid}
  .toolbar{grid-template-columns:auto minmax(120px,1fr) minmax(220px,360px) auto}
  .login-shell{grid-template-columns:1fr}
  .login-showcase{min-height:520px}
  .login-copy{width:66%;margin-top:70px}
  .login-copy h1{font-size:clamp(3.1rem,9vw,5.5rem)}
  .login-form-side{padding:55px 30px}
}
@media(max-width:700px){
  .toolbar{
    grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"menu title refresh" "search search search";
    gap:10px;min-height:116px;padding:max(10px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 10px max(12px,env(safe-area-inset-left))
  }
  .menu{grid-area:menu}.toolbar-title{grid-area:title}.search{grid-area:search}.icon{grid-area:refresh}
  .content{display:block;position:relative}
  .list-pane,.detail-pane{position:absolute;inset:0}
  .detail-pane{z-index:10;transform:translateX(105%);transition:transform .28s cubic-bezier(.2,.8,.2,1)}
  .detail-pane.visible{transform:translateX(0)}
  .back{display:grid;place-items:center}
  .detail-tools{padding:8px 10px}
  .actions{gap:3px;overflow-x:auto}
  .actions button,.actions select{flex:0 0 auto}
  .detail-head{padding:22px 18px 17px}
  .body{padding:23px 18px}
  .attachments{padding:0 18px 25px}
  .attachment-grid{grid-template-columns:1fr}
  .remote{align-items:flex-start;flex-direction:column}
  .compose-layer{padding:0}
  .composer{width:100%;height:100dvh;max-height:100dvh;border:0;border-radius:0;padding-bottom:env(safe-area-inset-bottom)}
  .composer header{padding-top:max(12px,env(safe-area-inset-top))}
  .composer footer{flex-direction:column}
  .composer footer .primary{width:100%}
  .left-actions{justify-content:space-between}
  .login{padding:0}
  .login-shell{border:0;border-radius:0}
  .login-showcase{display:none}
  .login-form-side{min-height:100dvh;padding:max(35px,env(safe-area-inset-top)) max(22px,env(safe-area-inset-right)) max(28px,env(safe-area-inset-bottom)) max(22px,env(safe-area-inset-left))}
  .mobile-brand{display:block;margin-bottom:60px}
  .login-card{margin:auto}
}
@media(max-width:390px){
  .message{grid-template-columns:27px 37px minmax(0,1fr);padding:13px 10px;gap:7px}
  .message .avatar{width:37px;height:37px;font-size:.6rem}
  .compose-field{grid-template-columns:53px minmax(0,1fr) auto;padding:0 12px}
  .left-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
