:root{--bg:#070a12;--panel:#0d1220;--panel2:#121a2c;--panel3:#172137;--line:#24314b;--text:#f7f9ff;--muted:#8f9bb3;--purple:#8468ff;--purple2:#684df4;--green:#46d29a;--red:#ff667e;--yellow:#f3c45c;--reader:#0b0f1b;color-scheme:dark}
*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;min-height:100vh}button,input,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.app{height:100vh;display:grid;grid-template-columns:252px 390px minmax(0,1fr)}
.side{border-right:1px solid var(--line);background:#0a0f1b;padding:18px 14px;overflow:auto}.brand{display:flex;align-items:center;gap:11px;padding:5px 8px 20px}.logo{width:40px;height:40px;border-radius:13px;background:linear-gradient(135deg,#a78bfa,#684df4);display:grid;place-items:center;font-weight:900;box-shadow:0 9px 30px #6e50f433}.brand b{font-size:19px}.brand small{display:block;color:var(--muted);font-size:10px;margin-top:2px}.compose{width:100%;border:0;border-radius:13px;padding:12px;background:linear-gradient(135deg,#8b6eff,#6548ef);color:white;font-weight:800;margin-bottom:16px;box-shadow:0 8px 26px #6d4ff125}.nav{display:grid;gap:4px}.nav button{border:0;background:transparent;color:var(--muted);text-align:left;padding:10px 11px;border-radius:10px;display:flex;justify-content:space-between;gap:8px}.nav button:hover,.nav button.on{background:var(--panel3);color:var(--text)}.badge{background:#2c3853;border-radius:999px;padding:2px 7px;font-size:10px;min-width:20px;text-align:center}.cloudbox{margin-top:20px;border:1px solid var(--line);border-radius:14px;padding:12px;background:var(--panel)}.cloudrow{display:flex;align-items:center;gap:8px}.dot{width:8px;height:8px;border-radius:50%;background:var(--red);flex:0 0 auto}.dot.ok{background:var(--green);box-shadow:0 0 15px #46d29a66}.cloudbox small{color:var(--muted);display:block;margin-top:7px;line-height:1.45;overflow-wrap:anywhere}.spent{margin-top:13px;color:var(--green)!important;font-weight:800}
.list{border-right:1px solid var(--line);background:#0b101c;min-width:0;overflow:hidden}.top{height:72px;padding:14px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px}.search{flex:1;background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:11px 12px;color:var(--text);outline:none;min-width:0}.sync{border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:11px;padding:10px 11px}.sync.busy{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.listhead{padding:14px 16px 8px;display:flex;align-items:end;justify-content:space-between;gap:10px}.listhead h2{margin:0;font-size:18px}.listhead small{color:var(--muted)}.listtools{display:flex;gap:5px}.mini{border:1px solid var(--line);background:var(--panel2);color:var(--muted);border-radius:8px;padding:6px 8px;font-size:11px}.msgs{height:calc(100vh - 128px);overflow:auto;padding:6px}.msg{position:relative;padding:13px 42px 13px 13px;border:1px solid transparent;border-radius:12px;margin:3px;cursor:pointer}.msg:hover,.msg.active{background:var(--panel2);border-color:var(--line)}.msg.unread .who,.msg.unread .subject{font-weight:900}.row{display:flex;justify-content:space-between;gap:10px}.who{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.time{font-size:10px;color:var(--muted);white-space:nowrap}.subject{font-size:12px;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preview{font-size:10px;color:var(--muted);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cloudtag,.attachtag{display:inline-block;font-size:8px;border-radius:999px;padding:2px 6px;margin-left:5px;vertical-align:1px}.cloudtag{background:#176b5033;color:#64e2b4;border:1px solid #46d29a44}.attachtag{background:#6856b633;color:#bcaeff;border:1px solid #8468ff44}.starquick{position:absolute;right:9px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:#66718b;font-size:18px;padding:8px}.starquick.on{color:var(--yellow)}
.reader{background:var(--reader);overflow:auto;min-width:0}.empty{height:100%;display:grid;place-items:center;color:var(--muted);text-align:center;padding:30px}.readwrap{padding:30px;max-width:930px;margin:auto}.toolbar{display:flex;gap:7px;margin-bottom:24px;flex-wrap:wrap}.toolbar button{border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:10px;padding:8px 10px}.toolbar button.primaryish{background:#8065ff;border-color:#8065ff}.toolbar button.dangerish{color:#ff93a4;border-color:#ff667e55}.readtitle{font-size:30px;letter-spacing:-.035em;margin:0 0 18px}.sender{display:flex;align-items:center;gap:12px;padding-bottom:18px;border-bottom:1px solid var(--line)}.avatar{width:42px;height:42px;border-radius:14px;background:var(--panel3);display:grid;place-items:center;font-weight:900;flex:0 0 auto}.sender b{display:block}.sender small{color:var(--muted);line-height:1.5}.body{line-height:1.7;font-size:14px;color:#dce3f3;padding:25px 0;white-space:pre-wrap;overflow-wrap:anywhere}.codecard{border:1px solid #8b6eff55;background:#8b6eff12;border-radius:15px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;margin:20px 0 0}.code{font-size:24px;letter-spacing:.16em;font-weight:900}.codecard button{border:0;background:#8267ff;color:white;border-radius:9px;padding:8px 12px;font-weight:800}.attachments{border-top:1px solid var(--line);padding-top:18px;margin-top:5px}.attachments h3{font-size:13px;margin:0 0 10px}.attachmentgrid{display:flex;gap:8px;flex-wrap:wrap}.attachment{border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:11px;padding:10px 12px;display:flex;align-items:center;gap:9px;max-width:100%}.attachment .meta{font-size:10px;color:var(--muted);display:block}.attachment .fname{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pill{display:inline-flex;padding:4px 8px;border-radius:999px;border:1px solid #46d29a44;background:#46d29a10;color:#62deb0;font-size:9px;font-weight:850}
.setup{padding:30px;max-width:900px;margin:auto}.hero{padding:24px;border:1px solid var(--line);background:linear-gradient(145deg,#171f36,#101727);border-radius:22px;margin-bottom:18px}.hero .kicker{color:#9e8aff;font-size:11px;font-weight:900;letter-spacing:.12em}.hero h1{font-size:34px;margin:9px 0 10px;letter-spacing:-.04em}.hero p{color:var(--muted);line-height:1.6;margin:0}.card{border:1px solid var(--line);background:var(--panel);border-radius:16px;padding:18px;margin:12px 0}.card h3{margin:0 0 5px}.card p,.card small{color:var(--muted);line-height:1.55}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.step{background:var(--panel2);border:1px solid var(--line);border-radius:14px;padding:14px}.n{width:24px;height:24px;border-radius:8px;background:#8065ff;display:grid;place-items:center;font-size:11px;font-weight:900;margin-bottom:10px}.field{display:grid;gap:6px;margin-top:12px}.field span{font-size:10px;color:var(--muted);font-weight:800}.field input{border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:11px;padding:11px 12px;outline:none}.actions{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}.primary,.secondary,.danger{border-radius:10px;padding:10px 13px;font-weight:800}.primary{background:#8065ff;border:0;color:white}.secondary{border:1px solid var(--line);background:var(--panel2);color:var(--text)}.danger{border:1px solid #ff667e55;background:#ff667e14;color:#ff8ca0}.status{margin-top:13px;padding:11px 12px;border-radius:11px;background:var(--panel2);color:var(--muted);font-size:11px}.status.ok{color:#6ce5b8;border:1px solid #46d29a44;background:#46d29a0c}.status.err{color:#ff8aa0;border:1px solid #ff667e44;background:#ff667e0c}.toggleline{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 0;border-bottom:1px solid var(--line)}.toggleline:last-child{border-bottom:0}.toggleline b{display:block;font-size:13px}.toggleline small{display:block;margin-top:4px}.switch{width:48px;height:27px;border-radius:999px;background:#29344d;border:1px solid #3c4966;position:relative;flex:0 0 auto}.switch:after{content:"";position:absolute;width:21px;height:21px;top:2px;left:3px;border-radius:50%;background:#dce2f0;transition:.2s}.switch.on{background:#765bff}.switch.on:after{left:22px;background:white}
.modal{position:fixed;inset:0;background:#000a;display:grid;place-items:center;padding:20px;z-index:20}.modalbox{width:min(700px,100%);max-height:94vh;overflow:auto;border:1px solid var(--line);background:var(--panel);border-radius:18px;box-shadow:0 30px 80px #0008}.modalhead{padding:16px 18px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.modalbody{padding:16px}.modalbody input,.modalbody textarea{width:100%;background:var(--panel2);border:1px solid var(--line);border-radius:10px;color:var(--text);padding:11px;margin-bottom:10px}.modalbody textarea{min-height:210px;resize:vertical}.composeattachments{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}.composeatt{border:1px solid var(--line);background:var(--panel2);border-radius:10px;padding:8px 10px;font-size:11px;display:flex;gap:8px;align-items:center}.composeatt button{border:0;background:transparent;color:#ff8ca0}.toast{position:fixed;right:20px;bottom:20px;background:#182138;border:1px solid var(--line);padding:11px 14px;border-radius:11px;box-shadow:0 12px 40px #0008;z-index:50;font-size:11px;max-width:360px}.smallnote{font-size:10px;color:var(--muted);line-height:1.5}.link{color:#a997ff;text-decoration:none}.dangertext{color:#ff8da0}.mobileback{display:none}.syncnote{font-size:10px;color:var(--muted);padding:0 14px 8px}.good{color:var(--green)}
@media(max-width:1020px){.app{grid-template-columns:215px 1fr}.reader{position:fixed;inset:0 0 0 215px;z-index:5}.mobileback{display:inline-block}.steps{grid-template-columns:1fr}.list{border-right:0}.msg{padding-right:38px}}
@media(max-width:720px){.app{grid-template-columns:1fr}.side{display:none}.reader{inset:0}.list{display:block}.top{height:64px}.msgs{height:calc(100vh - 120px)}.readwrap,.setup{padding:18px}.readtitle{font-size:24px}.modal{padding:8px}.modalbox{border-radius:14px}}
.sendtag{display:inline-block;font-size:8px;border-radius:999px;padding:2px 6px;margin-left:5px;vertical-align:1px;background:#254d7733;color:#8dc8ff;border:1px solid #5caeff44}.primary:disabled{opacity:.6;cursor:wait}
/* 0.7.6 — Profile Picture + Smart Contacts */
.profileavatar{overflow:hidden}.profileavatar img,.avatar img,.profilebig img{width:100%;height:100%;object-fit:cover;display:block}.avatar{overflow:hidden}
.profileeditor{display:flex;align-items:center;gap:18px;padding-top:10px}.profilebig{width:92px;height:92px;border-radius:28px;background:linear-gradient(135deg,#8e72ff,#5b43de);display:grid;place-items:center;font-size:28px;font-weight:900;overflow:hidden;flex:0 0 auto;box-shadow:0 16px 36px #6c4eff2b}.photobutton{display:inline-flex;align-items:center;gap:7px;cursor:pointer}
.recipientwrap{position:relative}.recipientwrap #to{margin-bottom:10px}.suggestions{position:absolute;left:0;right:0;top:46px;z-index:40;background:#10182a;border:1px solid #30405e;border-radius:13px;box-shadow:0 18px 50px #000a;overflow:hidden;max-height:330px;overflow-y:auto}.suggestionrow{display:flex;align-items:center;gap:10px;padding:10px 11px;border-bottom:1px solid #202d46;cursor:pointer}.suggestionrow:last-child{border-bottom:0}.suggestionrow:hover{background:#17223a}.miniavatar,.contactavatar{display:grid;place-items:center;font-weight:900;background:linear-gradient(135deg,#765dff,#4134a8);color:#fff;flex:0 0 auto}.miniavatar{width:34px;height:34px;border-radius:11px;font-size:11px}.suggestiontext{min-width:0;flex:1}.suggestiontext b,.suggestiontext small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.suggestiontext b{font-size:12px}.suggestiontext small{font-size:10px;color:var(--muted);margin-top:2px}.contactbadge{font-size:8px;font-weight:900;color:#6ce5b8;border:1px solid #46d29a44;background:#46d29a0d;border-radius:999px;padding:3px 7px}.suggestplus{width:31px;height:31px;border-radius:9px;border:1px solid #7d67ff66;background:#7d67ff18;color:#b8aaff;font-size:17px;display:grid;place-items:center}
.contacthead{display:flex;align-items:center;justify-content:space-between;gap:16px}.contactsearch{width:100%;margin:14px 0;background:var(--panel2);border:1px solid var(--line);color:var(--text);border-radius:11px;padding:11px 12px;outline:none}.contactgrid{display:grid;gap:8px}.contactcard{display:flex;align-items:center;gap:12px;border:1px solid var(--line);background:var(--panel2);border-radius:14px;padding:12px;cursor:pointer;transition:.15s}.contactcard:hover{background:#17223a;border-color:#3d4d6c;transform:translateY(-1px)}.contactavatar{width:45px;height:45px;border-radius:14px;font-size:13px}.contactinfo{min-width:0;flex:1}.contactinfo b,.contactinfo small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contactinfo b{font-size:13px}.contactinfo small{font-size:10px;color:var(--muted);margin-top:4px}.contactactions{display:flex;gap:6px}.contactactions button{border-radius:9px;padding:7px 9px}.writecontact{border:1px solid #7d67ff55;background:#7d67ff18;color:#c2b7ff}.deletecontact{border:1px solid #ff667e44;background:#ff667e0b;color:#ff8fa1}.emptycontacts{padding:36px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:14px}.contactshero{background:linear-gradient(145deg,#171f36,#15142b)}
@media(max-width:720px){.profileeditor{align-items:flex-start}.profilebig{width:74px;height:74px;border-radius:22px}.contacthead{align-items:flex-start;flex-direction:column}.contactactions{display:none}}

/* =========================================================
   Nova Mail 0.7.7 — Splash + Adaptive Responsive Layout
   ========================================================= */
html{background:var(--bg);overscroll-behavior:none}
body{min-width:0;overflow:hidden}
.app{height:100dvh;min-height:0}

/* Splash */
.splash{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:
 radial-gradient(circle at 50% 42%,#684df42b 0,transparent 34%),
 radial-gradient(circle at 50% 120%,#3d2f9a28 0,transparent 48%),#070a12;
 transition:opacity .42s ease,visibility .42s ease;overflow:hidden}
.splash.hide{opacity:0;visibility:hidden;pointer-events:none}
.splashcore{text-align:center;transform:translateY(-8px);animation:splashRise .72s cubic-bezier(.2,.8,.2,1) both}
.splashorb{width:96px;height:96px;margin:0 auto 22px;border-radius:30px;padding:1px;background:linear-gradient(145deg,#b49cff,#6449f5);box-shadow:0 0 0 10px #8065ff0b,0 28px 80px #684df45e;animation:splashFloat 1.8s ease-in-out infinite alternate}
.splashlogo{width:100%;height:100%;border-radius:29px;display:grid;place-items:center;background:linear-gradient(145deg,#9a80ff,#5b42e3);font-size:42px;font-weight:950;letter-spacing:-.06em;color:#fff;text-shadow:0 4px 18px #281d74}
.splashtitle{font-size:32px;font-weight:900;letter-spacing:-.045em}
.splashsub{margin-top:6px;color:#9ba7bf;font-size:12px;letter-spacing:.04em}
.splashline{width:130px;height:3px;margin:24px auto 0;background:#202a40;border-radius:99px;overflow:hidden}
.splashline span{display:block;height:100%;width:42%;border-radius:99px;background:linear-gradient(90deg,#9f87ff,#684df4);animation:splashLoad .9s ease-in-out infinite}
@keyframes splashRise{from{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:translateY(-8px) scale(1)}}
@keyframes splashFloat{to{transform:translateY(-5px) rotate(1deg)}}
@keyframes splashLoad{0%{transform:translateX(-120%)}100%{transform:translateX(340%)}}
@media(prefers-reduced-motion:reduce){.splashcore,.splashorb,.splashline span{animation:none}.splash{transition:none}}

/* Mobile-only controls stay hidden on desktop */
.mobilemenubtn,.mobiletopavatar,.mobilebottom,.navbackdrop{display:none}
.mobiletopavatar{border:0;padding:0;color:#fff}

/* Better tablet scaling without overlaying the reader */
@media (max-width:1180px) and (min-width:821px){
  .app{grid-template-columns:210px 330px minmax(0,1fr)}
  .side{padding:15px 11px}
  .brand{padding-left:6px;padding-right:6px}
  .brand b{font-size:17px}.brand small{font-size:9px}
  .nav button{padding:9px 8px;font-size:12px}
  .reader{position:static;inset:auto;z-index:auto;display:block}
  .readwrap,.setup{padding:22px}
  .readtitle{font-size:26px}
  .steps{grid-template-columns:1fr}
}

/* Smartphone / portrait tablet: one intelligent panel at a time */
@media (max-width:820px){
  :root{--mobile-bottom-h:68px}
  html,body{height:100%;width:100%;overflow:hidden}
  body{padding:0;background:#090e19}
  .app{display:block;width:100%;height:100dvh;overflow:hidden}

  /* Drawer */
  .side{display:block;position:fixed;z-index:80;left:0;top:0;bottom:0;width:min(86vw,330px);padding:calc(14px + env(safe-area-inset-top)) 14px calc(18px + env(safe-area-inset-bottom));transform:translateX(-104%);transition:transform .25s cubic-bezier(.2,.8,.2,1);box-shadow:20px 0 70px #0009;border-right:1px solid #2a3650;overflow-y:auto}
  body.nav-open .side{transform:translateX(0)}
  .navbackdrop{display:block;position:fixed;inset:0;z-index:70;background:#02040a99;backdrop-filter:blur(2px);opacity:0;visibility:hidden;pointer-events:none;transition:.22s}
  body.nav-open .navbackdrop{opacity:1;visibility:visible;pointer-events:auto}
  .brand{padding-top:2px}
  .nav button{min-height:44px;font-size:13px}
  .compose{min-height:46px}

  /* Inbox panel */
  .list{display:block;width:100%;height:100dvh;border:0;background:#0b101c;padding-bottom:calc(var(--mobile-bottom-h) + env(safe-area-inset-bottom));overflow:hidden}
  .top{height:auto;min-height:66px;padding:calc(10px + env(safe-area-inset-top)) 10px 10px;border-bottom:1px solid var(--line);gap:8px;background:#0b101cf2;backdrop-filter:blur(16px)}
  .mobilemenubtn{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border:1px solid var(--line);border-radius:12px;background:var(--panel2);color:var(--text);font-size:20px}
  .mobiletopavatar{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:13px;background:linear-gradient(135deg,#8f72ff,#5c43e4);font-weight:900;overflow:hidden}
  .mobiletopavatar img{width:100%;height:100%;object-fit:cover}
  .search{height:42px;padding:10px 11px;font-size:13px}
  .sync{width:42px;height:42px;padding:0;display:grid;place-items:center}
  .listhead{padding:13px 14px 7px;align-items:center}
  .listhead h2{font-size:20px}.listhead small{font-size:10px}
  .mini{min-height:34px;padding:6px 9px}
  .syncnote{padding:0 14px 7px;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .msgs{height:calc(100dvh - 156px - var(--mobile-bottom-h) - env(safe-area-inset-bottom));padding:4px 7px 12px;overscroll-behavior:contain}
  .msg{margin:4px 0;padding:14px 44px 14px 14px;border-color:#1d2940;background:#0e1524;border-radius:14px;min-height:82px}
  .msg:active{transform:scale(.994)}
  .who{font-size:13px}.subject{font-size:13px;margin-top:7px}.preview{font-size:11px;margin-top:5px}.time{font-size:9px}
  .starquick{right:7px;min-width:38px;min-height:44px}

  /* Reader opens as a real mobile screen */
  .reader{display:none;position:fixed;inset:0;z-index:45;width:100%;height:100dvh;background:var(--reader);overflow-y:auto;overscroll-behavior:contain}
  body.mobile-reader-open .reader{display:block}
  body.mobile-reader-open .list{display:none}
  body.mobile-reader-open .mobilebottom{display:none}
  .readwrap{padding:calc(12px + env(safe-area-inset-top)) 15px calc(28px + env(safe-area-inset-bottom));max-width:none}
  .toolbar{position:sticky;top:0;z-index:4;margin:-12px -15px 18px;padding:calc(9px + env(safe-area-inset-top)) 12px 10px;background:#0b0f1bf2;backdrop-filter:blur(18px);border-bottom:1px solid var(--line);display:flex;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
  .toolbar::-webkit-scrollbar{display:none}
  .toolbar button{flex:0 0 auto;min-height:40px;padding:8px 11px}
  .mobileback{display:inline-flex!important;align-items:center;font-weight:850;background:#1a2440!important}
  .readtitle{font-size:25px;line-height:1.13;margin:2px 0 17px}
  .sender{align-items:flex-start}.sender small{font-size:10px;overflow-wrap:anywhere}
  .body{font-size:15px;line-height:1.72;padding:22px 0}
  .attachment{width:100%}.attachment .fname{max-width:64vw}
  .codecard{gap:10px}.code{font-size:21px}

  /* Settings / Contacts / Cloud become full mobile pages */
  body.mobile-special-open .reader{display:block;position:fixed;inset:0 0 calc(var(--mobile-bottom-h) + env(safe-area-inset-bottom)) 0;z-index:20;height:auto}
  body.mobile-special-open .list{display:none}
  body.mobile-special-open .reader .setup{padding:calc(14px + env(safe-area-inset-top)) 12px 24px}
  .setup{max-width:none}
  .hero{padding:20px 17px;border-radius:18px}.hero h1{font-size:28px}
  .card{padding:15px;border-radius:15px}
  .steps{grid-template-columns:1fr}
  .profileeditor{gap:14px;align-items:flex-start}.profilebig{width:76px;height:76px;border-radius:22px}
  .toggleline{gap:12px}.toggleline small{font-size:9px}
  .contacthead{align-items:stretch;flex-direction:column}.contacthead button{width:100%}
  .contactcard{min-height:68px;padding:11px}.contactavatar{width:44px;height:44px}
  .contactactions{display:flex}.writecontact{display:none}.deletecontact{width:38px;height:38px;padding:0}

  /* Mobile compose: full screen and keyboard-friendly */
  .modal{padding:0;place-items:stretch;background:#070a12;z-index:100}
  .modalbox{width:100%;height:100dvh;max-height:none;border:0;border-radius:0;display:flex;flex-direction:column;overflow:hidden}
  .modalhead{flex:0 0 auto;padding:calc(11px + env(safe-area-inset-top)) 14px 11px;background:#0d1423;border-bottom:1px solid var(--line)}
  .modalhead .secondary{width:42px;height:40px;padding:0}
  .modalbody{flex:1;overflow-y:auto;padding:13px 12px calc(18px + env(safe-area-inset-bottom));display:flex;flex-direction:column}
  .modalbody input{min-height:45px;font-size:16px;margin-bottom:8px}
  .modalbody textarea{flex:1;min-height:210px;font-size:16px;resize:none}
  .suggestions{top:50px;max-height:min(320px,44dvh)}
  .suggestionrow{min-height:54px;padding:10px}
  .composefooter{position:sticky;bottom:0;margin:10px -12px -18px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:#0d1423f4;border-top:1px solid var(--line);z-index:3}
  .composefooter .primary{flex:1;min-height:46px}.composefooter .secondary{min-height:46px}

  /* Bottom navigation */
  .mobilebottom{display:grid;grid-template-columns:1fr 1fr 72px 1fr 1fr;align-items:center;position:fixed;z-index:50;left:0;right:0;bottom:0;min-height:var(--mobile-bottom-h);padding:5px 6px calc(5px + env(safe-area-inset-bottom));background:#0b101cf2;border-top:1px solid var(--line);backdrop-filter:blur(18px)}
  .mobilebottom button{border:0;background:transparent;color:#7f8ba5;min-width:0;height:52px;border-radius:12px;display:grid;place-items:center;align-content:center;gap:2px;padding:2px}
  .mobilebottom button span{font-size:18px;line-height:1}.mobilebottom button small{font-size:8px;font-weight:750;white-space:nowrap}
  .mobilebottom button.on{color:#cfc6ff;background:#7962ff12}
  .mobilebottom .mobilecompose{width:54px;height:54px;justify-self:center;border-radius:18px;background:linear-gradient(135deg,#9278ff,#6548ef);color:white;font-size:30px;line-height:1;box-shadow:0 9px 26px #6548ef4a;transform:translateY(-7px)}

  /* Toast above bottom navigation */
  .toast{left:12px;right:12px;bottom:calc(var(--mobile-bottom-h) + 12px + env(safe-area-inset-bottom));max-width:none;text-align:center;font-size:11px}
  body.mobile-reader-open .toast,.modal:not(.hidden)~.toast{bottom:calc(12px + env(safe-area-inset-bottom))}
}

@media (max-width:420px){
  .search{font-size:12px}.mobiletopavatar{display:none}.top{gap:7px}
  .listhead h2{font-size:18px}.listhead small{display:none}
  .msgs{height:calc(100dvh - 137px - var(--mobile-bottom-h) - env(safe-area-inset-bottom))}
  .mobilebottom{grid-template-columns:1fr 1fr 66px 1fr 1fr}.mobilebottom button small{font-size:7px}
  .readtitle{font-size:23px}.toolbar button{font-size:12px}
  .contactactions{display:flex}
}

@media (min-width:821px){.list.hidden + .reader{grid-column:2 / -1}}

/* =========================================================
   Nova Mail 0.8.3 — Mega Update
   ========================================================= */
button,input,textarea,select{font:inherit}
select{border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:11px;padding:11px 12px;outline:none}
.navsection{margin:10px 0 4px;padding-top:8px;border-top:1px solid #1c273b}.navsection>span{display:block;padding:0 10px 5px;font-size:8px;font-weight:900;letter-spacing:.12em;color:#65728c}.navsection #customFoldersNav{display:grid;gap:3px}.navempty{display:block;color:#55617a;padding:5px 11px;font-size:9px}
.networkpill{width:22px;height:22px;display:grid;place-items:center;color:var(--green);font-size:10px;border-radius:999px;background:#46d29a10;border:1px solid #46d29a22;flex:0 0 auto}.networkpill.offline{color:#ff9cab;background:#ff667e0c;border-color:#ff667e33}
.threadtag,.sendtag,.scheduletag{display:inline-block;font-size:8px;border-radius:999px;padding:2px 6px;margin-left:5px;vertical-align:1px}.threadtag{background:#293553;color:#d7def0;border:1px solid #3a496a}.sendtag{background:#4a39a638;color:#c9bfff;border:1px solid #765dff55}.scheduletag{background:#9d72182c;color:#ffd47a;border:1px solid #f3c45c55}.threadcount{display:inline-grid;place-items:center;min-width:28px;height:28px;border-radius:999px;background:#262f47;color:#aeb8ce;font-size:12px;vertical-align:5px;margin-left:7px}
.msglabels{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}.labelchip{display:inline-flex;align-items:center;border:1px solid #826cff55;background:#826cff12;color:#c9c0ff;border-radius:999px;padding:2px 7px;font-size:8px;font-weight:800}
.threadtimeline{display:grid;gap:11px;margin-top:16px}.threaditem{border:1px solid var(--line);border-radius:15px;background:#0e1422;overflow:hidden}.threaditem.current{border-color:#6f59dc}.threadsender{display:flex;align-items:center;gap:10px;padding:13px 14px;border-bottom:1px solid #1f2b42;background:#11192a}.threadsender b,.threadsender small{display:block}.threadsender small{font-size:9px;color:var(--muted);line-height:1.5;margin-top:2px}.threadbody{white-space:pre-wrap;overflow-wrap:anywhere;padding:18px 15px;line-height:1.68;color:#dce3f3;font-size:14px}.threaditem .msglabels{padding:0 15px 13px;margin-top:-3px}.smallavatar{width:36px;height:36px;border-radius:12px}
.settingsrow{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid var(--line)}.settingsrow:last-of-type{border-bottom:0}.settingsrow>div:first-child{min-width:0}.settingsrow b,.settingsrow small{display:block}.settingsrow small{font-size:9px;margin-top:4px;white-space:pre-wrap;overflow-wrap:anywhere}.rowactions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.rowactions button,.settingsrow>button{padding:7px 9px;font-size:10px}
.filterbuilder{display:grid;grid-template-columns:150px minmax(120px,1fr) 190px minmax(130px,1fr) auto;gap:8px;margin-top:14px}.filterbuilder input{border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:11px;padding:11px 12px;min-width:0}.filterbuilder button{white-space:nowrap}
.composeextras{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:6px}.field.compact{margin-top:0}.inlinefield{display:flex;gap:7px}.inlinefield select{min-width:0;flex:1}.inlinefield button{flex:0 0 auto}.composefooter{align-items:center}
.undobar{position:fixed;z-index:150;left:50%;bottom:22px;transform:translateX(-50%);display:flex;align-items:center;gap:18px;min-width:min(430px,calc(100vw - 24px));justify-content:space-between;border:1px solid #7662e766;background:#171d31f2;backdrop-filter:blur(18px);box-shadow:0 18px 55px #000a;border-radius:14px;padding:12px 13px 12px 16px;font-size:12px}.undobar button{border:0;background:#8065ff;color:white;font-weight:900;border-radius:9px;padding:8px 12px}
.lockscreen{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:20px;background:#050810f4;backdrop-filter:blur(24px)}.lockcard{width:min(390px,100%);border:1px solid var(--line);border-radius:24px;background:#0d1322;padding:28px;text-align:center;box-shadow:0 30px 90px #000b}.locklogo{width:72px;height:72px;margin:0 auto 18px;border-radius:22px;background:linear-gradient(135deg,#a78bfa,#684df4);display:grid;place-items:center;font-size:32px;font-weight:950}.lockcard h2{margin:0 0 8px}.lockcard p,.lockcard small{color:var(--muted)}.lockcard input{display:block;width:100%;margin:18px 0 10px;border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:12px;padding:13px;text-align:center;font-size:18px;letter-spacing:.2em}.lockcard button{width:100%;margin-bottom:12px}.lockcard small{display:block;font-size:9px;line-height:1.5}
.msg{transition:transform .14s ease,background .14s,border-color .14s;touch-action:pan-y}

@media(max-width:1050px){.filterbuilder{grid-template-columns:1fr 1fr}.filterbuilder button{grid-column:1/-1}}
@media(max-width:820px){
  .networkpill{display:none}.threadtimeline{gap:9px}.threadbody{font-size:14px;padding:16px 13px}.threadsender{padding:11px 12px}.threadsender small{font-size:8px}.threaditem .msglabels{padding:0 13px 11px}
  .composeextras{grid-template-columns:1fr}.inlinefield button{min-height:44px}.field.compact select,.field.compact input{min-height:45px;font-size:16px}
  .filterbuilder{grid-template-columns:1fr}.filterbuilder button{grid-column:auto;min-height:44px}.filterbuilder input,.filterbuilder select{min-height:44px}
  .settingsrow{align-items:flex-start;flex-direction:column}.rowactions{width:100%;justify-content:flex-start}.rowactions button{min-height:38px}
  .undobar{bottom:calc(12px + env(safe-area-inset-bottom));min-width:calc(100vw - 20px);font-size:11px}
}


/* =========================================================
   Nova Mail 0.8.4 — Storage Core
   ========================================================= */
.storagebox{margin:10px 8px 8px;padding:10px 11px;border:1px solid #24314a;border-radius:13px;background:#0d1423}.storagetop{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:9px;color:#93a0ba}.storagetop b{font-size:9px;color:#dbe2f3;white-space:nowrap}.storagebar,.storageprogress{height:7px;background:#1a2438;border-radius:999px;overflow:hidden;margin-top:8px}.storagebar span,.storageprogress span{display:block;height:100%;width:0;background:linear-gradient(90deg,#8f77ff,#56d6bd);border-radius:inherit;transition:width .35s ease}.storagehero{background:radial-gradient(circle at 85% 15%,#42d6b327,transparent 34%),linear-gradient(145deg,#17142e,#101827)}.storageheadline{display:flex;align-items:end;justify-content:space-between;gap:16px}.storageheadline small,.storageheadline b{display:block}.storageheadline small{font-size:9px;color:var(--muted);letter-spacing:.11em;font-weight:900}.storageheadline b{font-size:24px;margin-top:5px}.storageheadline>span{font-size:22px;font-weight:900;color:#bfb2ff}.storageprogress{height:12px;margin:14px 0 10px}.storagegrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.storagecat{border:1px solid var(--line);background:#0e1524;border-radius:16px;padding:16px;display:grid;gap:7px}.storagecat>span{font-size:22px}.storagecat small{font-size:9px;color:var(--muted);font-weight:800}.storagecat b{font-size:18px}.storagecat:nth-child(2){background:linear-gradient(145deg,#12172a,#101d22)}
@media(max-width:1050px){.storagegrid{grid-template-columns:1fr 1fr}}
@media(max-width:820px){.storagebox{margin:8px 10px}.storagegrid{grid-template-columns:1fr 1fr}.storageheadline b{font-size:20px}.storageheadline>span{font-size:18px}.storagecat{padding:13px}}
@media(max-width:420px){.storagegrid{grid-template-columns:1fr}.storagecat{grid-template-columns:auto 1fr auto;align-items:center}.storagecat small{font-size:10px}.storagecat b{font-size:15px}}

/* =========================================================
   Nova Mail 0.9 — Visual Reborn
   Premium visual system + motion layer
   ========================================================= */
:root{
  --bg:#050713;
  --panel:#0a1020;
  --panel2:#10182a;
  --panel3:#16213a;
  --line:rgba(151,169,215,.14);
  --line-strong:rgba(169,184,226,.24);
  --text:#f7f8ff;
  --muted:#8f9ab6;
  --purple:#8b78ff;
  --purple2:#6552ef;
  --cyan:#59d9ff;
  --green:#4fe0aa;
  --red:#ff6f8e;
  --yellow:#ffd36f;
  --reader:#070b17;
  --glass:rgba(13,20,38,.76);
  --shadow:0 22px 60px rgba(0,0,0,.34);
  --shadow-soft:0 12px 32px rgba(0,0,0,.22);
  --ease:cubic-bezier(.22,1,.36,1);
  color-scheme:dark;
}

html{background:#050713;scroll-behavior:smooth}
body{
  background:
    radial-gradient(1000px 600px at -8% -12%,rgba(122,91,255,.18),transparent 58%),
    radial-gradient(900px 620px at 108% 0%,rgba(44,177,255,.10),transparent 58%),
    linear-gradient(180deg,#050713 0%,#070a15 100%);
  overflow:hidden;
  letter-spacing:-.005em;
}
body:before,body:after{content:"";position:fixed;pointer-events:none;z-index:-1;filter:blur(90px);opacity:.55}
body:before{width:360px;height:360px;border-radius:50%;background:#7257ff22;left:12%;top:8%;animation:novaDrift 14s ease-in-out infinite alternate}
body:after{width:320px;height:320px;border-radius:50%;background:#47c7ff18;right:8%;bottom:5%;animation:novaDrift 17s ease-in-out -4s infinite alternate-reverse}
@keyframes novaDrift{to{transform:translate3d(50px,28px,0) scale(1.12)}}

button,input,textarea,select{transition:border-color .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease,transform .2s var(--ease),opacity .2s ease}
button:active{transform:scale(.965)}
button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(139,120,255,.18);border-color:rgba(139,120,255,.62)!important}

.app{grid-template-columns:270px 410px minmax(0,1fr);background:transparent;isolation:isolate}
.side,.list,.reader{position:relative}
.side{padding:18px 14px 16px;background:linear-gradient(180deg,rgba(9,14,28,.96),rgba(7,11,22,.96));border-right:1px solid var(--line);box-shadow:12px 0 42px rgba(0,0,0,.14);scrollbar-width:thin;scrollbar-color:#2b3752 transparent}
.side:before{content:"";position:absolute;inset:0 0 auto;height:180px;background:radial-gradient(circle at 20% 0%,rgba(132,104,255,.12),transparent 70%);pointer-events:none}
.brand{position:relative;padding:5px 8px 18px;gap:12px}
.logo{width:44px;height:44px;border-radius:15px;background:linear-gradient(145deg,#a596ff 0%,#745fff 46%,#4a8eff 100%);box-shadow:0 10px 30px rgba(101,82,239,.34),inset 0 1px 0 rgba(255,255,255,.35);font-size:17px;overflow:hidden}
.logo:after{content:"";position:absolute;width:26px;height:60px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.24),transparent);transform:rotate(24deg);animation:logoShine 6s ease-in-out infinite}
@keyframes logoShine{0%,62%{left:-35px}80%,100%{left:70px}}
.brand b{font-size:20px;letter-spacing:-.035em}.brand small{font-size:9px;letter-spacing:.07em;text-transform:uppercase;color:#737f9c;margin-top:3px;font-weight:750}
.compose{position:relative;overflow:hidden;min-height:46px;border-radius:15px;margin:2px 0 18px;background:linear-gradient(135deg,#907cff 0%,#705af8 52%,#4f75ff 100%);box-shadow:0 12px 28px rgba(101,82,239,.28),inset 0 1px 0 rgba(255,255,255,.24);letter-spacing:-.01em}
.compose:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.18) 45%,transparent 70%);transform:translateX(-130%);transition:transform .7s var(--ease)}
.compose:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(101,82,239,.38)}.compose:hover:before{transform:translateX(130%)}
.nav{gap:3px}.nav button{position:relative;min-height:40px;border-radius:12px;padding:10px 11px;color:#8f9bb6;font-size:12px;font-weight:650;overflow:hidden}
.nav button:before{content:"";position:absolute;left:0;top:9px;bottom:9px;width:3px;border-radius:99px;background:linear-gradient(#a390ff,#5e7cff);opacity:0;transform:scaleY(.35);transition:.25s var(--ease)}
.nav button:hover{background:rgba(125,140,178,.075);color:#dce2f1;transform:translateX(2px)}
.nav button.on{background:linear-gradient(90deg,rgba(129,105,255,.18),rgba(105,91,236,.06));color:#fff;box-shadow:inset 0 0 0 1px rgba(139,120,255,.08)}
.nav button.on:before{opacity:1;transform:scaleY(1)}
.badge{background:rgba(104,120,157,.16);border:1px solid rgba(139,154,194,.12);color:#aab5cd;padding:2px 7px}.nav button.on .badge{background:#846dff22;color:#d8d0ff;border-color:#8b78ff2b}
.navsection{border-top-color:rgba(151,169,215,.09)}.navsection>span{font-size:8px;color:#56617c;letter-spacing:.16em}
.storagebox,.cloudbox{background:linear-gradient(145deg,rgba(15,23,41,.84),rgba(9,15,29,.84));border-color:var(--line);box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}
.storagebox{border-radius:15px}.cloudbox{border-radius:16px;margin-top:10px}.cloudrow b{font-size:11px}.dot.ok{box-shadow:0 0 0 4px #46d29a10,0 0 18px #46d29a77}
.storagebar{height:6px;background:#182238}.storagebar span{background:linear-gradient(90deg,#927bff,#5cbcff,#56ddb1);box-shadow:0 0 12px #7d7eff55}

.list{background:linear-gradient(180deg,rgba(9,14,27,.94),rgba(7,11,21,.97));border-right:1px solid var(--line);box-shadow:10px 0 40px rgba(0,0,0,.10)}
.top{height:76px;padding:15px 14px;border-bottom:1px solid rgba(151,169,215,.10);background:linear-gradient(180deg,rgba(13,20,38,.84),rgba(9,14,27,.36));backdrop-filter:blur(20px)}
.search{background:rgba(19,29,50,.74);border-color:rgba(151,169,215,.12);border-radius:14px;padding:12px 14px;box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}
.search::placeholder{color:#66728e}.search:focus{background:rgba(20,30,52,.96);border-color:rgba(139,120,255,.48);box-shadow:0 0 0 3px rgba(139,120,255,.09),0 12px 30px rgba(0,0,0,.12)}
.sync{width:42px;height:42px;padding:0;border-radius:13px;background:rgba(18,27,46,.8);border-color:var(--line);font-size:17px}.sync:hover{background:#18233a;transform:translateY(-1px)}
.networkpill{background:#4fe0aa0f;border-color:#4fe0aa22;box-shadow:inset 0 0 10px #4fe0aa0d}
.listhead{padding:18px 18px 11px}.listhead h2{font-size:21px;letter-spacing:-.035em}.listhead small{font-size:10px;color:#6f7b96;margin-top:3px;display:block}.mini{background:rgba(17,26,44,.72);border-color:var(--line);color:#8895af;border-radius:10px}.mini:hover{color:#fff;border-color:var(--line-strong);background:#17223a}
.msgs{padding:5px 8px 12px}.msg{margin:4px 2px;padding:14px 43px 14px 14px;border-radius:15px;border-color:transparent;background:transparent;transition:transform .24s var(--ease),background .24s,border-color .24s,box-shadow .24s}
.msg:before{content:"";position:absolute;left:6px;top:18px;width:3px;height:30px;border-radius:99px;background:linear-gradient(#9b86ff,#547bff);opacity:0;transform:scaleY(.4);transition:.23s var(--ease)}
.msg:hover{background:rgba(20,30,50,.74);border-color:rgba(151,169,215,.12);transform:translateY(-1px);box-shadow:0 8px 24px rgba(0,0,0,.12)}
.msg.active{background:linear-gradient(105deg,rgba(132,104,255,.16),rgba(16,27,48,.88));border-color:rgba(139,120,255,.22);box-shadow:0 10px 30px rgba(0,0,0,.17)}
.msg.active:before,.msg.unread:before{opacity:1;transform:scaleY(1)}
.msg.unread{background:linear-gradient(90deg,rgba(139,120,255,.075),transparent 72%)}
.who{font-size:12.5px;color:#edf0fb}.subject{font-size:12.5px;color:#ccd3e5}.preview{font-size:10.5px;line-height:1.35;color:#707d99}.time{font-size:9.5px;color:#69758e}.starquick{color:#58647e;transition:transform .2s var(--ease),color .2s}.starquick:hover{transform:translateY(-50%) scale(1.16);color:#e2c46d}
.cloudtag,.attachtag,.threadtag,.sendtag,.scheduletag,.labelchip{backdrop-filter:blur(10px)}

.reader{background:radial-gradient(780px 520px at 72% -8%,rgba(83,114,255,.075),transparent 58%),linear-gradient(180deg,#080d1a,#070b16);scrollbar-width:thin;scrollbar-color:#2b3752 transparent}
.empty{position:relative}.empty>div{animation:emptyIn .7s var(--ease) both}.empty>div>div:first-child{filter:drop-shadow(0 12px 25px rgba(108,91,241,.22));animation:emptyFloat 4.5s ease-in-out infinite}@keyframes emptyIn{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}@keyframes emptyFloat{50%{transform:translateY(-7px)}}
.empty h2{color:#dfe4f4;letter-spacing:-.035em}.empty p{color:#697691}
.readwrap{padding:34px 38px;max-width:980px;animation:readerIn .38s var(--ease) both}@keyframes readerIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.toolbar{gap:8px;margin-bottom:28px}.toolbar button{border-radius:12px;background:rgba(16,25,43,.74);border-color:var(--line);color:#adb7cd}.toolbar button:hover{background:#17243e;color:#fff;border-color:var(--line-strong);transform:translateY(-1px)}.toolbar button.primaryish{background:linear-gradient(135deg,#8a73ff,#6855f2);border-color:transparent;color:#fff;box-shadow:0 8px 22px #6552ef33}
.readtitle{font-size:34px;line-height:1.08;letter-spacing:-.045em;margin-bottom:22px;color:#fbfbff}.sender{padding:14px 0 20px;border-bottom-color:rgba(151,169,215,.11)}
.avatar,.smallavatar,.contactavatar,.profilebig{background:linear-gradient(145deg,#2a3452,#17213a);border:1px solid rgba(164,179,219,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.sender b{font-size:13px}.sender small{color:#7f8ba6}.body{font-size:14.5px;color:#d9e0ef;line-height:1.8;padding:30px 0}
.threaditem{background:linear-gradient(145deg,rgba(13,21,38,.94),rgba(9,15,29,.94));border-color:var(--line);border-radius:18px;box-shadow:var(--shadow-soft);animation:cardIn .36s var(--ease) both}.threadsender{background:rgba(18,28,48,.68);border-bottom-color:var(--line)}.threaditem.current{border-color:rgba(139,120,255,.38);box-shadow:0 16px 44px rgba(0,0,0,.22),0 0 0 1px rgba(139,120,255,.08) inset}
@keyframes cardIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.codecard{background:linear-gradient(135deg,rgba(128,101,255,.14),rgba(67,123,255,.08));border-color:rgba(139,120,255,.27);border-radius:18px;box-shadow:0 12px 34px rgba(0,0,0,.16)}
.codecard button{background:linear-gradient(135deg,#927cff,#6350ec)}
.attachment{background:rgba(15,24,42,.8);border-color:var(--line);border-radius:13px}.attachment:hover{border-color:rgba(139,120,255,.35);transform:translateY(-1px)}

.setup{padding:34px;max-width:980px;animation:readerIn .4s var(--ease) both}.hero{position:relative;overflow:hidden;padding:28px;border-radius:24px;background:radial-gradient(circle at 90% 5%,rgba(80,151,255,.16),transparent 36%),linear-gradient(145deg,rgba(25,31,58,.92),rgba(12,20,38,.92));border-color:rgba(151,169,215,.15);box-shadow:0 22px 55px rgba(0,0,0,.21),inset 0 1px 0 rgba(255,255,255,.035)}
.hero:after{content:"";position:absolute;width:210px;height:210px;border-radius:50%;right:-100px;top:-120px;background:radial-gradient(circle,rgba(149,123,255,.24),transparent 68%);animation:heroPulse 5s ease-in-out infinite}@keyframes heroPulse{50%{transform:scale(1.18);opacity:.65}}
.hero .kicker{color:#a79aff;font-size:10px;letter-spacing:.16em}.hero h1{font-size:36px;letter-spacing:-.05em}.hero p{max-width:720px;color:#8e9ab4}
.card{background:linear-gradient(145deg,rgba(13,21,38,.88),rgba(9,15,28,.9));border-color:var(--line);border-radius:19px;padding:20px;box-shadow:inset 0 1px 0 rgba(255,255,255,.025);transition:transform .25s var(--ease),border-color .25s,box-shadow .25s}.card:hover{border-color:rgba(151,169,215,.21);box-shadow:0 15px 35px rgba(0,0,0,.13),inset 0 1px 0 rgba(255,255,255,.035)}
.step,.storagecat,.contactcard{background:linear-gradient(145deg,rgba(17,27,47,.86),rgba(11,18,33,.86));border-color:var(--line);border-radius:16px;transition:transform .24s var(--ease),border-color .24s,background .24s}.step:hover,.storagecat:hover,.contactcard:hover{transform:translateY(-2px);border-color:rgba(139,120,255,.28);background:linear-gradient(145deg,rgba(22,33,56,.92),rgba(13,21,38,.92))}
.n{background:linear-gradient(135deg,#9078ff,#5f6eff);box-shadow:0 7px 18px rgba(101,82,239,.25)}
.field input,select,.contactsearch,.modalbody input,.modalbody textarea{background:rgba(15,24,42,.82);border-color:var(--line);border-radius:13px}.field input:focus,select:focus,.contactsearch:focus,.modalbody input:focus,.modalbody textarea:focus{background:rgba(18,28,49,.96)}
.primary{background:linear-gradient(135deg,#8f79ff,#6753ef 58%,#5878ff);box-shadow:0 8px 22px rgba(101,82,239,.22);border-radius:12px}.primary:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(101,82,239,.33)}
.secondary{background:rgba(16,25,43,.75);border-color:var(--line);border-radius:12px;color:#c5cddd}.secondary:hover{background:#17233b;border-color:var(--line-strong);color:#fff}.danger{border-radius:12px}
.switch{background:#202b44;border-color:#33405d}.switch.on{background:linear-gradient(135deg,#8d75ff,#6252ed);box-shadow:0 0 0 4px rgba(139,120,255,.08)}
.status{background:rgba(15,24,42,.78);border:1px solid transparent;border-radius:13px}

.modal{background:rgba(2,5,13,.68);backdrop-filter:blur(18px);animation:modalFade .22s ease both}@keyframes modalFade{from{opacity:0}to{opacity:1}}
.modalbox{border-radius:24px;background:linear-gradient(160deg,rgba(16,24,43,.98),rgba(8,14,27,.98));border-color:rgba(160,175,214,.18);box-shadow:0 36px 100px rgba(0,0,0,.58);animation:modalPop .34s var(--ease) both}@keyframes modalPop{from{opacity:0;transform:translateY(18px) scale(.975)}to{opacity:1;transform:none}}
.modalhead{padding:18px 20px;border-bottom-color:var(--line);background:linear-gradient(180deg,rgba(26,35,60,.55),transparent)}.modalhead b{font-size:15px}.modalbody{padding:18px 20px 20px}.modalbody textarea{min-height:240px;line-height:1.65}.composeatt{border-radius:12px;background:#111b2e;border-color:var(--line)}
.undobar{background:rgba(17,25,45,.92);border-color:rgba(139,120,255,.34);border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.5);animation:toastUp .35s var(--ease) both}.toast{background:rgba(17,26,46,.94);backdrop-filter:blur(18px);border-color:rgba(160,175,214,.18);border-radius:14px;box-shadow:0 18px 50px rgba(0,0,0,.4);animation:toastUp .28s var(--ease) both}@keyframes toastUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.lockscreen{background:radial-gradient(circle at 50% 20%,rgba(119,91,255,.17),transparent 38%),rgba(3,6,14,.93)}.lockcard{background:linear-gradient(145deg,#0f172a,#080e1d);border-color:rgba(159,174,214,.18);border-radius:28px}.locklogo{background:linear-gradient(145deg,#a495ff,#725cff 52%,#4c80ff);box-shadow:0 18px 46px #6552ef33}

/* Splash 0.9 */
.splash{background:radial-gradient(circle at 50% 42%,#111a36 0%,#070b17 42%,#03050b 100%);overflow:hidden}
.splashglow{position:absolute;border-radius:50%;filter:blur(70px);opacity:.55;animation:splashDrift 3s ease-in-out infinite alternate}.splashglow-a{width:340px;height:340px;background:#7659ff44;left:calc(50% - 260px);top:calc(50% - 220px)}.splashglow-b{width:300px;height:300px;background:#43b8ff2e;left:calc(50% - 40px);top:calc(50% - 60px);animation-delay:-1.2s}@keyframes splashDrift{to{transform:translate(28px,20px) scale(1.1)}}
.splashcore{position:relative;z-index:2}.splashorb{position:relative;width:104px;height:104px;margin:auto;display:grid;place-items:center;filter:drop-shadow(0 22px 35px rgba(87,69,229,.35))}
.splashlogo{position:relative;z-index:3;width:72px;height:72px;border-radius:23px;background:linear-gradient(145deg,#a999ff,#765fff 48%,#4d87ff);display:grid;place-items:center;box-shadow:inset 0 1px 0 rgba(255,255,255,.42),0 14px 38px rgba(90,70,234,.36);animation:splashLogoIn .65s var(--ease) both}.splashlogo span{font-size:29px;font-weight:950;color:#fff;letter-spacing:-.08em}.orbit{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(168,151,255,.28);animation:orbitSpin 6s linear infinite}.orbit:before{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:#aa98ff;left:50%;top:-4px;box-shadow:0 0 18px #8a71ff}.orbit-b{inset:10px;border-color:rgba(76,185,255,.18);animation-duration:4.8s;animation-direction:reverse}.orbit-b:before{background:#63ccff;box-shadow:0 0 18px #50baff}@keyframes orbitSpin{to{transform:rotate(360deg)}}@keyframes splashLogoIn{from{opacity:0;transform:scale(.72) rotate(-8deg)}to{opacity:1;transform:none}}
.splashtitle{margin-top:20px;font-size:28px;font-weight:850;letter-spacing:-.055em;color:#fff;animation:splashText .6s .14s var(--ease) both}.splashsub{margin-top:5px;color:#7f8da9;letter-spacing:.02em;animation:splashText .6s .22s var(--ease) both}.splashline{width:160px;height:3px;margin:20px auto 0;background:#18223a;border-radius:99px;overflow:hidden}.splashline span{height:100%;display:block;border-radius:inherit;background:linear-gradient(90deg,#8066ff,#62c6ff);box-shadow:0 0 15px #7b6effaa;animation:splashProgress 1.15s var(--ease) both}@keyframes splashText{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes splashProgress{from{width:0}to{width:100%}}

/* Desktop depth */
@media(min-width:821px){
  .side{backdrop-filter:blur(24px)}
  .list{backdrop-filter:blur(18px)}
  .reader{box-shadow:inset 1px 0 0 rgba(255,255,255,.018)}
}

/* Tablet */
@media(max-width:1050px) and (min-width:821px){.app{grid-template-columns:225px 360px minmax(0,1fr)}.brand b{font-size:18px}.readwrap,.setup{padding:26px}.readtitle{font-size:29px}}

/* Mobile visual reborn */
@media(max-width:820px){
  body{background:#070b16}
  .app{background:#070b16}
  .side{background:linear-gradient(180deg,rgba(9,14,28,.98),rgba(6,10,20,.99));box-shadow:24px 0 70px rgba(0,0,0,.48)}
  .brand{padding-top:calc(8px + env(safe-area-inset-top))}
  .compose{min-height:48px;border-radius:16px}
  .list{background:linear-gradient(180deg,#0a1020,#070b16)}
  .top{height:68px;padding-top:calc(10px + env(safe-area-inset-top));background:rgba(8,13,26,.82);backdrop-filter:blur(22px)}
  .search{height:43px;font-size:16px;border-radius:14px}
  .listhead{padding:15px 15px 8px}.listhead h2{font-size:21px}
  .msg{margin:4px 5px;padding:14px 42px 14px 14px;border-radius:16px;background:rgba(15,23,40,.54);border-color:rgba(151,169,215,.07)}
  .msg.unread{background:linear-gradient(105deg,rgba(130,104,255,.13),rgba(15,23,40,.72))}
  .msg.active{background:linear-gradient(105deg,rgba(130,104,255,.19),rgba(15,24,42,.90))}
  .mobilebottom{background:rgba(7,11,22,.88);border-top-color:rgba(151,169,215,.11);backdrop-filter:blur(24px) saturate(1.2);box-shadow:0 -12px 38px rgba(0,0,0,.18)}
  .mobilebottom button{border-radius:13px}.mobilebottom button.on{background:linear-gradient(180deg,rgba(139,120,255,.15),rgba(139,120,255,.04));color:#dcd6ff}
  .mobilebottom .mobilecompose{background:linear-gradient(145deg,#957fff,#6d58f6 54%,#5082ff);border-radius:19px;box-shadow:0 14px 34px rgba(101,82,239,.42),inset 0 1px 0 rgba(255,255,255,.3)}
  .reader{background:radial-gradient(520px 300px at 80% -5%,rgba(96,113,255,.10),transparent 60%),#080c18}
  .readwrap,.setup{padding:20px 16px calc(28px + env(safe-area-inset-bottom))}
  .readtitle{font-size:27px;line-height:1.12}.body{font-size:15px;line-height:1.75}
  .toolbar{margin-bottom:18px;gap:6px}.toolbar button{min-height:40px}
  .hero{border-radius:21px;padding:22px}.hero h1{font-size:30px}.card{border-radius:18px;padding:17px}
  .modal{padding:0;background:#070b16}.modalbox{border-radius:0;background:linear-gradient(180deg,#0c1324,#080d19)}.modalhead{background:rgba(13,21,39,.92);backdrop-filter:blur(20px)}
  .composefooter{background:rgba(8,13,25,.92)!important;backdrop-filter:blur(20px)}
  .toast{background:rgba(17,26,46,.96)}
}

@media(max-width:420px){.readtitle{font-size:24px}.hero h1{font-size:27px}.hero p{font-size:12px}.msg{padding-top:13px;padding-bottom:13px}.who,.subject{font-size:12px}}

@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}
}

/* =========================================================
   NOVA MAIL 0.9.3 — NEBULA GLASS WORKSPACE
   High-fidelity implementation based on the approved visual.
   ========================================================= */
:root{
  --glass-line:rgba(161,185,255,.18);
  --glass-line-hot:rgba(154,131,255,.42);
  --glass-bg:rgba(14,27,54,.54);
  --glass-bg-strong:rgba(23,40,79,.72);
  --glass-blue:#66c8ff;
  --glass-violet:#9a7cff;
  --glass-cyan:#50e3ff;
}
@media(min-width:821px){.app{grid-template-columns:286px 390px minmax(0,1fr)}}
.side{
  position:relative;
  isolation:isolate;
  padding:16px 13px 18px;
  border-right:1px solid rgba(126,157,255,.18);
  background:
    radial-gradient(180px 420px at -4% 22%,rgba(47,123,255,.22),transparent 70%),
    radial-gradient(230px 300px at 105% 72%,rgba(119,74,255,.20),transparent 70%),
    linear-gradient(180deg,rgba(8,19,41,.88),rgba(5,13,29,.90));
  backdrop-filter:blur(32px) saturate(1.35);
  box-shadow:inset -1px 0 0 rgba(255,255,255,.035),18px 0 55px rgba(0,7,24,.30);
  scrollbar-width:thin;
  scrollbar-color:rgba(112,140,212,.38) transparent;
}
.side::-webkit-scrollbar{width:5px}.side::-webkit-scrollbar-track{background:transparent}.side::-webkit-scrollbar-thumb{background:rgba(112,140,212,.38);border-radius:10px}
.sideaurora{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1}
.sideaurora:before,.sideaurora:after{content:"";position:absolute;border-radius:50%;filter:blur(34px);opacity:.34;animation:sideAurora 8s ease-in-out infinite alternate}
.sideaurora:before{width:150px;height:250px;background:#267cff;left:-90px;top:80px}
.sideaurora:after{width:170px;height:240px;background:#784cff;right:-110px;bottom:130px;animation-delay:-3s}
@keyframes sideAurora{to{transform:translate3d(28px,22px,0) scale(1.12);opacity:.48}}
.brand{position:relative;padding:4px 7px 16px;gap:12px;z-index:1}
.brandavatarwrap{position:relative;flex:0 0 auto}
.logo{width:48px;height:48px;border-radius:17px;background:linear-gradient(145deg,rgba(156,145,255,.95),rgba(102,82,244,.95) 50%,rgba(76,139,255,.95));border:1px solid rgba(255,255,255,.26);box-shadow:0 12px 32px rgba(67,77,229,.34),inset 0 1px 0 rgba(255,255,255,.40);overflow:hidden}
.logo img{width:100%;height:100%;object-fit:cover}
.brandcloud{position:absolute;right:-7px;bottom:-5px;width:23px;height:23px;border-radius:9px;display:grid;place-items:center;background:linear-gradient(145deg,rgba(89,207,255,.96),rgba(95,108,255,.96));border:1px solid rgba(255,255,255,.32);box-shadow:0 7px 20px rgba(60,152,255,.40)}
.brandcloud svg{width:15px;height:15px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.brandcopy{min-width:0;flex:1}.brandline{display:flex;align-items:center;gap:8px}.brand b{font-size:20px;letter-spacing:-.045em}.versionpill{font-size:9px;font-weight:900;color:#c9dcff;border:1px solid rgba(111,172,255,.28);background:rgba(70,125,255,.12);border-radius:999px;padding:3px 7px;box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.brand small{font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:#6f82aa;margin-top:4px;font-weight:850}
.compose{
  display:grid;grid-template-columns:39px 1fr 18px;align-items:center;gap:9px;text-align:left;
  min-height:58px;padding:8px 12px;margin:2px 0 15px;border-radius:20px;
  background:linear-gradient(135deg,rgba(94,147,255,.75),rgba(105,79,245,.88) 55%,rgba(143,89,255,.84));
  border:1px solid rgba(190,205,255,.34);
  box-shadow:0 14px 34px rgba(58,76,221,.34),inset 0 1px 0 rgba(255,255,255,.36),inset 0 -12px 25px rgba(43,54,182,.14);
  backdrop-filter:blur(18px) saturate(1.35);
  overflow:visible;
}
.compose:after{content:"";position:absolute;inset:-5px;border-radius:24px;border:1px solid rgba(105,185,255,.16);opacity:.75;pointer-events:none;box-shadow:0 0 25px rgba(85,129,255,.16)}
.composeicon{width:39px;height:39px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,rgba(255,255,255,.26),rgba(140,183,255,.12));border:1px solid rgba(255,255,255,.34);box-shadow:0 6px 18px rgba(21,39,139,.25),inset 0 1px 0 rgba(255,255,255,.45)}
.composeicon svg{width:23px;height:23px;fill:none;stroke:white;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.composespark{font-size:17px;color:#fff;text-shadow:0 0 14px #fff}.compose:hover{transform:translateY(-2px) scale(1.008);box-shadow:0 18px 44px rgba(72,85,233,.40),0 0 34px rgba(92,156,255,.17),inset 0 1px 0 rgba(255,255,255,.42)}
.compose.compose-clicked{animation:composePress .58s cubic-bezier(.2,.8,.2,1)}.compose.compose-clicked:after{animation:composeRing .62s ease-out}
@keyframes composePress{35%{transform:scale(.965)}70%{transform:scale(1.025)}100%{transform:none}}@keyframes composeRing{0%{opacity:.95;transform:scale(.96);box-shadow:0 0 0 0 rgba(121,163,255,.42)}100%{opacity:0;transform:scale(1.08);box-shadow:0 0 0 12px rgba(121,163,255,0)}}
.nav{gap:5px;position:relative;z-index:1}
.nav button,
.navsection #customFoldersNav button{
  --icon:#a8b9dc;--glow:rgba(103,137,210,.20);
  position:relative;min-height:49px;padding:6px 10px 6px 7px;border-radius:16px;
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  color:#b8c3d9;
  background:linear-gradient(135deg,rgba(35,60,107,.52),rgba(20,35,70,.42));
  border:1px solid rgba(145,173,240,.14);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055),0 5px 14px rgba(0,7,22,.13);
  backdrop-filter:blur(18px) saturate(1.18);
  overflow:hidden;
  transition:transform .22s var(--ease),border-color .22s,background .22s,box-shadow .22s,color .22s;
}
.nav button:before,.navsection #customFoldersNav button:before{display:none}
.nav button:after,.navsection #customFoldersNav button:after{content:"";position:absolute;width:30px;height:30px;left:12px;top:50%;border-radius:50%;border:1px solid var(--icon);opacity:0;transform:translateY(-50%) scale(.5);pointer-events:none}
.navlead{display:flex;align-items:center;gap:11px;min-width:0;position:relative;z-index:2}.navlabel{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;font-weight:760;letter-spacing:-.015em}.navicon{position:relative;width:36px;height:36px;border-radius:13px;display:grid;place-items:center;flex:0 0 auto;color:var(--icon);background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(61,92,158,.12));border:1px solid rgba(255,255,255,.105);box-shadow:inset 0 1px 0 rgba(255,255,255,.13),0 5px 13px rgba(0,0,0,.14),0 0 17px var(--glow);transition:transform .22s var(--ease),filter .22s,box-shadow .22s}
.navicon svg,.glasscardicon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 7px var(--glow))}
.nav button:hover,.navsection #customFoldersNav button:hover{transform:translateX(3px);color:#fff;border-color:rgba(142,181,255,.28);background:linear-gradient(135deg,rgba(47,81,142,.62),rgba(28,44,86,.52));box-shadow:inset 0 1px 0 rgba(255,255,255,.075),0 8px 20px rgba(0,7,24,.18),0 0 24px var(--glow)}
.nav button:hover .navicon,.navsection #customFoldersNav button:hover .navicon{transform:scale(1.075) rotate(-2deg);filter:brightness(1.17);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 7px 18px rgba(0,0,0,.14),0 0 24px var(--glow)}
.nav button.on,.navsection #customFoldersNav button.on{color:#fff;border-color:rgba(127,151,255,.38);background:linear-gradient(105deg,rgba(68,123,232,.46),rgba(81,66,196,.34) 57%,rgba(134,80,224,.28));box-shadow:inset 0 1px 0 rgba(255,255,255,.105),0 10px 26px rgba(17,31,102,.22),0 0 28px var(--glow)}
.nav button.on:before,.navsection #customFoldersNav button.on:before{content:"";display:block;position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:99px;background:linear-gradient(#66dcff,#8d75ff);opacity:1;box-shadow:0 0 12px #6ebdff,0 0 20px #785cff}
.nav button.on .navicon,.navsection #customFoldersNav button.on .navicon{background:linear-gradient(145deg,rgba(113,200,255,.20),rgba(117,82,255,.18));border-color:rgba(195,213,255,.22);box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 6px 16px rgba(0,0,0,.13),0 0 26px var(--glow)}
.nav button.nav-clicked .navicon,.navsection #customFoldersNav button.nav-clicked .navicon{animation:navIconPop .58s cubic-bezier(.2,.9,.25,1.2)}
.nav button.nav-clicked:after,.navsection #customFoldersNav button.nav-clicked:after{animation:navRipple .58s ease-out}
@keyframes navIconPop{0%{transform:scale(1)}35%{transform:scale(.78) rotate(-8deg)}68%{transform:scale(1.22) rotate(5deg)}100%{transform:scale(1) rotate(0)}}
@keyframes navRipple{0%{opacity:.85;transform:translateY(-50%) scale(.45);box-shadow:0 0 0 0 var(--glow)}100%{opacity:0;transform:translateY(-50%) scale(2.35);box-shadow:0 0 0 15px transparent}}
.nav button[data-view="inbox"]{--icon:#78d7ff;--glow:rgba(69,183,255,.32)}
.nav button[data-view="starred"]{--icon:#ffd35f;--glow:rgba(255,196,74,.26)}
.nav button[data-view="sent"]{--icon:#7ca7ff;--glow:rgba(88,130,255,.30)}
.nav button[data-view="drafts"]{--icon:#afc0ff;--glow:rgba(132,151,255,.25)}
.nav button[data-view="scheduled"]{--icon:#6fd1ff;--glow:rgba(79,193,255,.30)}
.nav button[data-view="archive"]{--icon:#82bcff;--glow:rgba(75,160,255,.26)}
.nav button[data-view="spam"]{--icon:#ff7e96;--glow:rgba(255,77,111,.28)}
.nav button[data-view="trash"]{--icon:#9dc7ff;--glow:rgba(100,160,255,.24)}
.nav button[data-view="contacts"]{--icon:#c490ff;--glow:rgba(164,94,255,.30)}
.nav button[data-view="organize"]{--icon:#ffd06b;--glow:rgba(255,184,54,.25)}
.nav button[data-view="storage"]{--icon:#a98eff;--glow:rgba(134,105,255,.31)}
.nav button[data-view="cloud"]{--icon:#77e0ff;--glow:rgba(75,200,255,.34)}
.nav button[data-view="settings"]{--icon:#b8b8ff;--glow:rgba(136,123,255,.28)}
.navsection #customFoldersNav button{--icon:#ffd06b;--glow:rgba(255,184,54,.22);width:100%}
.badge{position:relative;z-index:2;min-width:27px;height:25px;padding:0 7px;display:grid;place-items:center;border-radius:999px;background:linear-gradient(145deg,rgba(92,129,205,.25),rgba(49,72,128,.26));border:1px solid rgba(167,190,244,.16);color:#d1dcf3;font-size:10px;font-weight:900;box-shadow:inset 0 1px 0 rgba(255,255,255,.09)}.nav button.on .badge{background:linear-gradient(145deg,rgba(90,156,255,.30),rgba(104,71,221,.34));color:#fff;border-color:rgba(158,184,255,.24);box-shadow:0 0 16px rgba(94,123,255,.22),inset 0 1px 0 rgba(255,255,255,.13)}
.navsection{margin:10px 0 4px;padding-top:9px;border-top:1px solid rgba(132,164,230,.10)}.navsection>span{padding:0 9px 7px;font-size:8px;letter-spacing:.18em;color:#667ba4}.navempty{padding-left:10px;color:#53698e}
.storagebox,.cloudbox{position:relative;margin-left:5px;margin-right:5px;border:1px solid rgba(143,172,238,.16);background:linear-gradient(145deg,rgba(32,56,101,.48),rgba(14,28,58,.50));backdrop-filter:blur(20px) saturate(1.2);box-shadow:inset 0 1px 0 rgba(255,255,255,.075),0 8px 24px rgba(0,7,24,.17);overflow:hidden}
.storagebox:before,.cloudbox:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 12%,rgba(108,177,255,.075) 45%,transparent 70%);pointer-events:none}.storagebox{display:flex;align-items:center;gap:10px;margin-top:12px;padding:10px;border-radius:17px}.storagecontent{min-width:0;flex:1}.storagetop{font-size:9px;color:#9eb0d2}.storagetop b{font-size:9px;color:#eff4ff}.storagebar{height:6px;background:rgba(4,15,34,.62);border:1px solid rgba(90,139,220,.12)}.storagebar span{background:linear-gradient(90deg,#55d9ff,#6d9cff,#9b6eff);box-shadow:0 0 14px rgba(83,191,255,.48)}
.glasscardicon{width:38px;height:38px;border-radius:13px;display:grid;place-items:center;flex:0 0 auto;border:1px solid rgba(255,255,255,.13);background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(66,99,168,.12));box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 5px 14px rgba(0,0,0,.15)}.storageglassicon{color:#a88bff}.cloudglassicon{color:#6fdcff}
.cloudbox{margin-top:9px;padding:10px 11px 12px;border-radius:18px}.cloudboxhead{display:flex;gap:10px;align-items:center}.cloudboxhead>div:last-child{min-width:0}.cloudrow{gap:7px}.cloudrow b{font-size:11px;color:#eef4ff}.dot{width:8px;height:8px;box-shadow:0 0 0 4px rgba(255,102,126,.07)}.dot.ok{box-shadow:0 0 0 4px rgba(70,210,154,.10),0 0 17px rgba(70,210,154,.58)}.cloudbox small{font-size:9px;margin-top:5px;color:#8799bc}.spent{display:inline-block!important;margin-top:9px!important;padding:5px 9px;border-radius:999px;color:#63efb8!important;background:rgba(31,173,125,.14);border:1px solid rgba(65,223,164,.25);box-shadow:0 0 18px rgba(46,200,145,.09)}

@media(max-width:1050px) and (min-width:821px){.app{grid-template-columns:245px 350px minmax(0,1fr)}.nav button,.navsection #customFoldersNav button{min-height:46px}.navicon{width:33px;height:33px}.navicon svg{width:21px;height:21px}.navlabel{font-size:11px}.brand b{font-size:18px}.versionpill{display:none}}
@media(max-width:820px){
  .side{padding:calc(11px + env(safe-area-inset-top)) 12px calc(18px + env(safe-area-inset-bottom));background:radial-gradient(230px 420px at -5% 18%,rgba(48,125,255,.22),transparent 70%),linear-gradient(180deg,rgba(7,18,39,.98),rgba(5,12,27,.99));backdrop-filter:blur(28px) saturate(1.25)}
  .brand{padding-top:2px}.compose{min-height:58px;border-radius:20px}.nav{gap:6px}.nav button,.navsection #customFoldersNav button{min-height:52px;border-radius:17px}.navicon{width:38px;height:38px;border-radius:14px}.navicon svg{width:23px;height:23px}.navlabel{font-size:13px}.storagebox,.cloudbox{margin-left:3px;margin-right:3px}
}


/* =========================================================
   Nova Mail 0.9.3 — Nebula Glass Workspace
   Maquette approuvée -> interface réelle
   ========================================================= */
:root{
  --nm-glass:rgba(22,39,78,.54);
  --nm-glass-strong:rgba(25,47,96,.70);
  --nm-glass-soft:rgba(16,31,66,.42);
  --nm-edge:rgba(129,173,255,.26);
  --nm-purple:#8c67ff;
  --nm-blue:#42a9ff;
  --nm-cyan:#57e2ff;
}
body{
  background:
    radial-gradient(900px 680px at 20% 18%,rgba(60,77,255,.20),transparent 60%),
    radial-gradient(760px 520px at 92% 10%,rgba(113,55,255,.17),transparent 62%),
    radial-gradient(900px 760px at 72% 110%,rgba(30,101,255,.13),transparent 63%),
    linear-gradient(160deg,#050916 0%,#071126 44%,#080917 100%);
}
body:before{background:#5367ff2a;filter:blur(110px)}
body:after{background:#7745ff24;filter:blur(120px)}
.app{grid-template-columns:292px 438px minmax(0,1fr);gap:8px;padding:8px;height:100vh;overflow:hidden}
.side,.list,.reader{border:1px solid rgba(124,163,242,.15);border-radius:20px;overflow:hidden;box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 22px 70px rgba(0,0,0,.23)}
.side{overflow:auto;padding:16px 12px 14px;background:linear-gradient(180deg,rgba(16,31,67,.78),rgba(8,20,45,.74));backdrop-filter:blur(32px) saturate(1.34);border-right:1px solid rgba(143,176,255,.22)}
.side:after{content:"";position:fixed;pointer-events:none;width:260px;height:360px;left:15px;top:78px;background:radial-gradient(circle,rgba(79,110,255,.19),transparent 67%);filter:blur(24px);opacity:.8}
.brand{padding:6px 9px 16px}.brand b{font-size:21px}.brand small{color:#8799c9}.versionpill{background:rgba(75,121,255,.20);border-color:rgba(109,166,255,.38);color:#d6e7ff}
.compose{min-height:62px;border-radius:22px;margin-bottom:15px;background:linear-gradient(110deg,rgba(58,129,255,.82),rgba(106,79,255,.91) 54%,rgba(191,85,255,.82));border:1px solid rgba(219,229,255,.42);box-shadow:0 12px 38px rgba(63,70,235,.35),0 0 26px rgba(82,159,255,.22),inset 0 1px 0 rgba(255,255,255,.45);font-size:15px}.composeicon{width:42px;height:42px;border-radius:15px}.composeicon svg{width:25px;height:25px}.composespark{font-size:19px}
.nav{gap:6px}.nav button,.navsection #customFoldersNav button{min-height:53px;border-radius:17px;background:linear-gradient(135deg,rgba(45,80,144,.56),rgba(24,46,93,.46));border-color:rgba(137,174,245,.18);box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 7px 22px rgba(0,5,25,.17)}
.navicon{width:40px;height:40px;border-radius:14px}.navicon svg{width:25px;height:25px}.navlabel{font-size:13px}.nav button.on{background:linear-gradient(105deg,rgba(37,144,255,.63),rgba(89,68,235,.55) 58%,rgba(176,77,255,.42));border-color:rgba(133,192,255,.48);box-shadow:0 0 0 1px rgba(154,185,255,.08) inset,0 10px 30px rgba(30,51,172,.29),0 0 32px var(--glow)}.nav button.on:before{left:-1px;top:10px;bottom:10px;width:4px}.nav button.on .navicon{transform:scale(1.03);background:linear-gradient(145deg,rgba(162,219,255,.25),rgba(117,82,255,.24));box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 6px 18px rgba(0,0,0,.14),0 0 30px var(--glow)}
.storagebox,.cloudbox{background:linear-gradient(145deg,rgba(34,70,131,.54),rgba(15,37,78,.50));border-color:rgba(126,176,255,.21)}

.list{background:linear-gradient(180deg,rgba(14,29,62,.73),rgba(8,19,43,.69));backdrop-filter:blur(28px) saturate(1.26);border-right:1px solid rgba(126,166,242,.19)}
.top{height:82px;padding:15px 14px;background:linear-gradient(180deg,rgba(25,48,96,.52),rgba(9,25,56,.34));border-bottom:1px solid rgba(128,169,246,.15);backdrop-filter:blur(28px)}
.search{height:48px;border-radius:16px;padding:0 16px;background:linear-gradient(145deg,rgba(34,59,111,.66),rgba(21,42,84,.62));border-color:rgba(139,177,248,.20);box-shadow:inset 0 1px 0 rgba(255,255,255,.055),0 9px 24px rgba(0,0,0,.10);font-size:14px}.search:focus{background:rgba(27,53,105,.82);box-shadow:0 0 0 3px rgba(88,146,255,.13),0 0 28px rgba(74,118,255,.12)}
.sync{width:48px;height:48px;border-radius:16px;background:rgba(27,49,92,.64);border-color:rgba(139,177,248,.20);font-size:20px}.networkpill{height:37px;min-width:37px;border-radius:50%;display:grid;place-items:center;color:#58e6c2}
.listhead{padding:20px 20px 10px}.listhead h2{font-size:24px}.listhead small{font-size:11px;color:#8798bd}.mini{padding:9px 12px;border-radius:12px;background:rgba(25,48,92,.58);border-color:rgba(131,169,238,.17)}.syncnote{padding:0 20px 8px;font-size:10px;color:#8192b9}
.msgs{height:calc(100vh - 154px);padding:8px 10px 18px;scrollbar-width:thin;scrollbar-color:rgba(92,124,194,.44) transparent}
.msg{margin:7px 2px;padding:0;border-radius:19px;background:linear-gradient(145deg,rgba(33,63,119,.53),rgba(20,42,86,.48));border:1px solid rgba(128,167,239,.18);box-shadow:inset 0 1px 0 rgba(255,255,255,.055),0 10px 24px rgba(0,5,28,.12);overflow:hidden;animation:msgCardIn .42s var(--ease) both;animation-delay:var(--msg-delay,0ms)}
.msg:before{left:0;top:14px;width:4px;height:calc(100% - 28px);background:linear-gradient(#62d7ff,#856bff,#b45dff)}
.msgmain{display:flex;align-items:flex-start;gap:12px;padding:15px 42px 15px 15px}.msgcopy{min-width:0;flex:1}.msgavatar{width:43px;height:43px;border-radius:15px;flex:0 0 auto;font-size:15px;background:linear-gradient(145deg,#7e5fff,#3b88ff);border:1px solid rgba(220,232,255,.25);box-shadow:0 7px 22px rgba(61,91,238,.25),inset 0 1px 0 rgba(255,255,255,.25)}
.msg:nth-child(3n+2) .msgavatar{background:linear-gradient(145deg,#356dff,#6d52ff)}.msg:nth-child(3n+3) .msgavatar{background:linear-gradient(145deg,#b04bff,#755cff)}.msg:nth-child(4n) .msgavatar{background:linear-gradient(145deg,#2db7c6,#4066ff)}
.msg:hover{transform:translateY(-2px) scale(1.005);background:linear-gradient(145deg,rgba(43,79,147,.68),rgba(28,50,102,.61));border-color:rgba(133,181,255,.31);box-shadow:0 14px 34px rgba(0,8,34,.20),0 0 24px rgba(75,112,255,.08)}
.msg.active{background:linear-gradient(115deg,rgba(45,129,224,.61),rgba(80,65,202,.49) 62%,rgba(134,65,221,.36));border-color:rgba(132,186,255,.39);box-shadow:0 16px 38px rgba(12,33,111,.24),0 0 26px rgba(100,95,255,.13)}
.msg.unread{background:linear-gradient(105deg,rgba(50,101,190,.62),rgba(28,52,104,.54))}.msg.unread .msgavatar{box-shadow:0 8px 22px rgba(77,102,255,.32),0 0 18px rgba(99,128,255,.18),inset 0 1px 0 rgba(255,255,255,.26)}
.msg-clicked{animation:msgClick .27s var(--ease)!important}.who{font-size:13px}.subject{font-size:13px;margin-top:5px;color:#eef2ff}.preview{font-size:10.5px;color:#95a4c4;margin-top:4px}.time{font-size:9.5px;color:#8795b4}.starquick{right:12px;font-size:22px}.cloudtag{background:rgba(14,146,112,.23);border-color:rgba(61,232,173,.33);color:#61f1bd}.threadtag{margin-left:7px}
@keyframes msgCardIn{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}@keyframes msgClick{40%{transform:scale(.985)}75%{transform:scale(1.01)}100%{transform:none}}
.emptylist{margin:42px 18px;text-align:center;color:#7688af;display:grid;gap:7px}.emptylisticon{width:46px;height:46px;margin:auto;border-radius:16px;display:grid;place-items:center;background:rgba(73,97,176,.16);border:1px solid rgba(128,163,235,.16);color:#8b8aff}.emptylist small{font-size:10px}

.reader{background:linear-gradient(160deg,rgba(7,16,39,.92),rgba(8,10,26,.94));border-left:1px solid rgba(120,159,237,.13)}
.premiumempty{min-height:100%;position:relative;padding:12px;display:flex;flex-direction:column;animation:readerIn .45s var(--ease) both}.emptyaccount{height:62px;align-self:flex-end;display:flex;align-items:center;gap:10px;padding:8px 10px 8px 8px;border-radius:19px;background:linear-gradient(145deg,rgba(27,50,103,.64),rgba(22,38,82,.47));border:1px solid rgba(129,171,255,.18);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 10px 30px rgba(0,0,0,.13);backdrop-filter:blur(22px);z-index:3}.emptyavatar{width:40px;height:40px;border-radius:14px;background:linear-gradient(145deg,#8b5eff,#5158f4);box-shadow:0 7px 18px rgba(95,70,236,.26)}.emptyaccount>div:nth-child(2){display:grid;gap:2px}.emptyaccount b{font-size:11px}.emptyaccount small{font-size:9px;color:#92a4ca}.emptyaccount small span{display:inline-block;width:6px;height:6px;border-radius:50%;background:#43e2ab;box-shadow:0 0 10px #43e2ab;margin-right:4px}.emptybell{width:35px;height:35px;border-radius:12px;display:grid;place-items:center;background:rgba(58,77,137,.22);border:1px solid rgba(152,178,239,.13)}.emptybell svg{width:18px;height:18px;fill:none;stroke:#c7d2ed;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.emptyglassscene{position:relative;flex:1;min-height:620px;margin-top:10px;border-radius:25px;border:1px solid rgba(133,175,255,.25);background:radial-gradient(600px 370px at 75% 15%,rgba(71,76,255,.24),transparent 64%),radial-gradient(500px 360px at 28% 80%,rgba(32,94,255,.15),transparent 66%),linear-gradient(155deg,rgba(22,44,94,.63),rgba(10,22,53,.61) 56%,rgba(19,13,57,.56));box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 24px 70px rgba(0,0,0,.22);backdrop-filter:blur(28px) saturate(1.30);overflow:hidden}.emptyglassscene:before{content:"";position:absolute;inset:0;background:linear-gradient(125deg,rgba(255,255,255,.04),transparent 23%,transparent 70%,rgba(101,76,255,.07));pointer-events:none}.emptycopytop{position:absolute;right:28px;top:24px;z-index:2;text-align:right;display:grid;gap:4px;color:#adbde2}.emptycopytop b{font-size:12px}.emptycopytop span{font-size:11px;color:#8798c0}
.nebulafield{position:absolute;inset:0;pointer-events:none}.nebula{position:absolute;border-radius:50%;filter:blur(48px);opacity:.55;animation:nebulaDrift 8s ease-in-out infinite alternate}.nebula-a{width:300px;height:240px;background:#493cff55;right:-40px;top:-80px}.nebula-b{width:260px;height:260px;background:#184fff3b;left:2%;bottom:-90px;animation-delay:-3s}.starfield{position:absolute;width:4px;height:4px;border-radius:50%;background:#8bdcff;box-shadow:0 0 10px #63a6ff,90px 60px 0 #8c8cff,190px 25px 0 #fff,250px 120px 0 #5edfff,-70px 90px 0 #6d7fff;animation:starBlink 3s ease-in-out infinite}.star-a{left:24%;top:18%}.star-b{right:18%;top:42%;animation-delay:-1s}.star-c{left:43%;bottom:30%;animation-delay:-2s}@keyframes starBlink{50%{opacity:.35;transform:scale(.7)}}@keyframes nebulaDrift{to{transform:translate(28px,22px) scale(1.08)}}
.mailplanet{position:absolute;left:50%;top:80px;width:390px;height:350px;transform:translateX(-50%);z-index:1}.planetglow{position:absolute;left:50%;top:52%;width:270px;height:120px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(ellipse,rgba(129,130,255,.28),transparent 68%);filter:blur(18px)}.mailorbit{position:absolute;left:50%;top:47%;border:1px solid rgba(132,128,255,.62);border-radius:50%;transform:translate(-50%,-50%) rotate(-8deg);box-shadow:0 0 16px rgba(95,113,255,.30);animation:orbitPulse 4.8s ease-in-out infinite}.orbit-one{width:330px;height:108px}.orbit-two{width:285px;height:155px;transform:translate(-50%,-50%) rotate(26deg);border-color:rgba(88,155,255,.42);animation-delay:-2s}.orbitdot{position:absolute;width:22px;height:22px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#9f9bff 42%,#4f53de);box-shadow:0 0 22px rgba(116,111,255,.8)}.dot-one{left:42px;top:155px;animation:floatDot 4s ease-in-out infinite}.dot-two{right:52px;top:91px;width:15px;height:15px;animation:floatDot 5s -2s ease-in-out infinite}.glassenvelope{position:absolute;left:50%;top:47%;width:156px;height:124px;transform:translate(-50%,-50%) rotate(4deg);filter:drop-shadow(0 23px 30px rgba(63,68,216,.35));animation:envelopeFloat 5.2s ease-in-out infinite}.glassenvelope:before{content:"";position:absolute;inset:-22px;border-radius:40%;background:radial-gradient(circle,rgba(137,124,255,.24),transparent 70%);filter:blur(15px);z-index:-1}.glassenvelope svg{width:100%;height:100%;filter:drop-shadow(0 0 10px rgba(209,220,255,.25))}.horizon{position:absolute;left:-25%;right:-25%;height:230px;bottom:-164px;border-radius:50% 50% 0 0;background:radial-gradient(ellipse at 50% 0%,rgba(63,90,241,.32),rgba(14,25,77,.63) 52%,rgba(8,12,33,.9) 76%);border-top:1px solid rgba(112,140,255,.33);box-shadow:0 -10px 40px rgba(52,80,255,.12)}@keyframes envelopeFloat{50%{transform:translate(-50%,-55%) rotate(-1deg) scale(1.035)}}@keyframes floatDot{50%{transform:translateY(-9px) scale(1.07)}}@keyframes orbitPulse{50%{opacity:.55;filter:brightness(1.25)}}
.emptybrandcopy{position:absolute;left:8%;right:8%;top:420px;text-align:center;z-index:2}.emptybrandcopy h2{font-size:30px;margin:0;color:#f5f7ff;letter-spacing:-.045em}.emptybrandcopy h2 span{font-size:13px;vertical-align:middle;color:#a8b8de;margin-left:4px}.emptybrandcopy>p{margin:8px 0 22px;color:#9aabd0}.featureline{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:520px;margin:0 auto}.featureline>div{display:grid;justify-items:center;gap:8px;color:#cad5ef}.featureline b{font-size:10px;font-weight:650}.featureicon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;font-size:25px;color:#e4e4ff;background:linear-gradient(145deg,rgba(90,104,215,.23),rgba(38,59,122,.27));border:1px solid rgba(142,166,239,.20);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 0 20px rgba(79,83,214,.10)}.featureicon svg{width:22px;height:22px;fill:none;stroke:#e0e3ff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.emptytagline{width:300px;max-width:82%;margin:22px auto 0;padding-top:16px;border-top:1px solid rgba(144,171,233,.15);font-size:9.5px;color:#778bb6}.quoteglass{position:relative;max-width:390px;margin:26px auto 0;border:1px solid rgba(137,169,242,.18);background:linear-gradient(145deg,rgba(31,58,111,.50),rgba(19,36,77,.42));border-radius:18px;padding:16px 48px 18px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}.quoteglass>span{font-size:36px;color:#8d6dff;line-height:.7;text-shadow:0 0 17px rgba(138,93,255,.52)}.quoteglass em{font-size:10.5px;line-height:1.65;color:#c5cdea}.quoteglass small{grid-column:1/-1;font-size:8px;color:#7d8caf}

/* Message reader / secondary panels inherit the new glass language */
.readwrap,.setup{max-width:1050px}.threaditem,.hero,.card,.step,.codecard,.attachment,.modalbox,.lockcard{backdrop-filter:blur(22px) saturate(1.20)}.threaditem,.card,.step{background:linear-gradient(145deg,rgba(24,46,90,.57),rgba(12,28,61,.54));border-color:rgba(126,165,238,.17)}.hero{background:radial-gradient(circle at 88% 0%,rgba(88,101,255,.20),transparent 40%),linear-gradient(145deg,rgba(30,54,108,.65),rgba(16,34,75,.58));border-color:rgba(132,176,255,.23)}

@media(max-width:1220px) and (min-width:821px){.app{grid-template-columns:265px 390px minmax(0,1fr);gap:6px;padding:6px}.nav button,.navsection #customFoldersNav button{min-height:48px}.navicon{width:36px;height:36px}.navicon svg{width:22px;height:22px}.navlabel{font-size:12px}.mailplanet{transform:translateX(-50%) scale(.86);transform-origin:top center}.emptybrandcopy{top:390px}.quoteglass{display:none}}
@media(max-width:1020px) and (min-width:821px){.app{grid-template-columns:235px 365px minmax(0,1fr)}.side{padding-left:9px;padding-right:9px}.compose{font-size:13px}.navlabel{font-size:11px}.emptyglassscene{min-height:560px}.mailplanet{transform:translateX(-50%) scale(.72)}.emptybrandcopy{top:355px}.featureline{gap:10px}.featureicon{width:42px;height:42px}}
@media(max-width:820px){
  .app{display:block;padding:0}.side,.list,.reader{border-radius:0;border-top:0;border-bottom:0}.list{background:linear-gradient(180deg,rgba(11,28,61,.96),rgba(7,17,38,.98))}.top{height:70px}.msgs{height:calc(100vh - 155px - env(safe-area-inset-bottom));padding-bottom:92px}.msg{border-radius:18px}.msgmain{padding:14px 42px 14px 13px}.msgavatar{width:40px;height:40px}.premiumempty{padding:8px 8px 82px}.emptyaccount{display:none}.emptyglassscene{min-height:calc(100vh - 98px);margin-top:0;border-radius:22px}.emptycopytop{right:18px;top:18px}.mailplanet{top:68px;width:330px;height:300px;transform:translateX(-50%) scale(.82)}.emptybrandcopy{top:360px;left:5%;right:5%}.emptybrandcopy h2{font-size:27px}.featureline{gap:8px}.featureicon{width:44px;height:44px}.quoteglass{margin-top:20px}.mobilebottom{background:rgba(8,20,43,.84);border-top-color:rgba(126,164,240,.18);backdrop-filter:blur(28px) saturate(1.3)}
}
@media(max-width:430px){.mailplanet{transform:translateX(-50%) scale(.72);top:58px}.emptybrandcopy{top:325px}.quoteglass{display:none}.emptytagline{margin-top:18px}.featureline b{font-size:9px}.emptycopytop{font-size:10px}.msgmain{gap:10px}.msgavatar{width:37px;height:37px;border-radius:13px}.who,.subject{font-size:12px}}
@media(prefers-reduced-motion:reduce){.nebula,.starfield,.glassenvelope,.orbitdot,.mailorbit,.msg{animation:none!important}.msg-clicked{animation:none!important}}

/* =========================================================
   NOVA MAIL 0.9.7 — STORAGE + HYBRID SYNC
   ========================================================= */
.storagearch{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:10px;align-items:center;margin:0 0 14px}.archnode{position:relative;min-height:92px;padding:17px;border-radius:18px;border:1px solid rgba(125,166,240,.2);background:linear-gradient(145deg,rgba(28,53,101,.62),rgba(12,27,59,.55));backdrop-filter:blur(22px) saturate(1.2);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 12px 28px rgba(0,4,18,.18);display:grid;align-content:center;gap:7px;overflow:hidden}.archnode:before{content:"";position:absolute;inset:-30%;background:radial-gradient(circle,rgba(101,123,255,.20),transparent 52%);transform:translate(28%,-30%);pointer-events:none}.archnode.hot{border-color:rgba(134,119,255,.35);box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 0 28px rgba(111,86,255,.14)}.archnode.safe{border-color:rgba(80,218,179,.28)}.archnode b{font-size:14px;z-index:1}.archnode small{font-size:10px;color:var(--muted);z-index:1}.archarrow{font-size:22px;color:#7d8fb5;text-align:center}.storageavailable{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding:11px 13px;border:1px solid rgba(110,157,232,.14);background:rgba(7,17,38,.36);border-radius:13px}.storageavailable span{font-size:10px;color:var(--muted);font-weight:750}.storageavailable b{font-size:13px;color:#7ee2bf}.snapshotstack{display:grid;gap:8px;margin-top:12px}.snapshotrow{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 13px;border:1px solid rgba(123,157,225,.16);background:linear-gradient(145deg,rgba(18,38,78,.48),rgba(10,24,52,.48));border-radius:14px}.snapshotrow b{font-size:11px}.snapshotrow small{display:block;color:var(--muted);font-size:9px;margin-top:4px}.snapshotrow button{white-space:nowrap}.storagehero{background:radial-gradient(circle at 82% 8%,rgba(87,224,190,.18),transparent 34%),radial-gradient(circle at 8% 88%,rgba(123,99,255,.18),transparent 38%),linear-gradient(145deg,rgba(29,52,103,.72),rgba(12,28,63,.64))}
@media(max-width:1050px){.storagearch{grid-template-columns:1fr}.archarrow{transform:rotate(90deg);line-height:12px}.archnode{min-height:78px}}
@media(max-width:820px){.storagearch{gap:7px}.snapshotrow{align-items:flex-start}.snapshotrow button{min-height:38px}.storageavailable{align-items:flex-start;flex-direction:column}}


/* =========================================================
   NOVA MAIL 0.9.7 — HYBRID SYNC CORE
   ========================================================= */
.syncnavdot{font-size:8px;font-weight:900;letter-spacing:.08em;padding:4px 6px;border-radius:999px;color:#dffcff;background:linear-gradient(135deg,rgba(38,214,181,.34),rgba(91,110,255,.30));border:1px solid rgba(111,226,211,.35);box-shadow:0 0 14px rgba(73,207,208,.14)}
.syncthero{background:radial-gradient(circle at 86% 12%,rgba(60,225,194,.20),transparent 32%),radial-gradient(circle at 16% 88%,rgba(112,78,255,.23),transparent 38%),linear-gradient(145deg,rgba(28,54,106,.76),rgba(11,28,64,.66))}
.syncarch{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:10px;align-items:center;margin:0 0 14px}.syncnode{min-height:112px;padding:18px;border-radius:20px;display:grid;place-items:center;text-align:center;gap:6px;background:linear-gradient(145deg,rgba(25,49,96,.62),rgba(11,27,60,.52));border:1px solid rgba(121,166,240,.20);backdrop-filter:blur(24px) saturate(1.22);box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 15px 34px rgba(0,6,20,.18)}.syncnode span{font-size:28px;filter:drop-shadow(0 0 10px rgba(130,126,255,.32))}.syncnode b{font-size:14px}.syncnode small{font-size:9.5px;color:var(--muted)}.syncnode.active{border-color:rgba(124,101,255,.42);box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 0 26px rgba(99,83,255,.14)}.syncnode.cloudready{border-color:rgba(73,220,190,.34);background:radial-gradient(circle at 50% 0%,rgba(70,220,187,.14),transparent 58%),linear-gradient(145deg,rgba(21,53,91,.64),rgba(9,29,55,.55))}.syncline{font-size:24px;color:#8fa4cf;text-shadow:0 0 13px rgba(104,116,255,.25)}
.syncgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.syncbig{font-size:28px;font-weight:900;letter-spacing:-.04em;color:#eef2ff;margin:12px 0 2px}.syncpolicy{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.syncpolicy>div{min-height:125px;padding:16px;border-radius:17px;display:grid;align-content:start;gap:7px;border:1px solid rgba(122,162,234,.16);background:linear-gradient(145deg,rgba(20,42,82,.54),rgba(9,24,52,.50))}.syncpolicy>div:first-letter{font-size:22px}.syncpolicy b{font-size:12px}.syncpolicy small{font-size:9.5px;line-height:1.45;color:var(--muted)}.syncok{box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}.syncok{color:#8af0cb}.syncok b,.syncok small{color:inherit}.syncok small{color:#9cb1d4}.synclocal{color:#d6b3ff;border-color:rgba(164,111,255,.20)!important}.firebasecard{display:flex;justify-content:space-between;align-items:center;gap:24px;background:radial-gradient(circle at 92% 50%,rgba(255,152,51,.15),transparent 28%),linear-gradient(145deg,rgba(28,47,89,.58),rgba(10,27,58,.54))}.firebasebadge{min-width:118px;height:92px;border-radius:22px;display:grid;place-items:center;align-content:center;gap:5px;background:linear-gradient(145deg,rgba(255,157,45,.15),rgba(83,68,192,.18));border:1px solid rgba(255,177,83,.24);box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 0 22px rgba(255,138,38,.08)}.firebasebadge span{font-size:18px;font-weight:950;color:#ffd28f;letter-spacing:.08em}.firebasebadge small{font-size:8.5px;text-transform:uppercase;letter-spacing:.12em;color:#9da9c8}
@media(max-width:1050px){.syncarch{grid-template-columns:1fr}.syncline{transform:rotate(90deg);line-height:12px;text-align:center}.syncpolicy{grid-template-columns:1fr 1fr}.syncgrid{grid-template-columns:1fr}}
@media(max-width:820px){.syncnode{min-height:86px}.syncpolicy{grid-template-columns:1fr}.firebasecard{align-items:flex-start;flex-direction:column}.firebasebadge{width:100%;height:70px}.syncbig{font-size:24px}}


/* =========================================================
   NOVA MAIL 0.9.7 — SCROLL HOTFIX
   La refonte Nebula appliquait overflow:hidden à .reader après
   la règle historique overflow:auto. Cette règle finale restaure
   un défilement vertical visible pour Synchronisation, Stockage,
   Paramètres, Contacts et Cloud Mail Core.
   ========================================================= */
.reader{
  min-height:0;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  overscroll-behavior-y:contain;
  scrollbar-gutter:stable;
  scrollbar-width:thin;
  scrollbar-color:rgba(132,119,255,.78) rgba(10,22,48,.32);
}
.reader::-webkit-scrollbar{width:9px}
.reader::-webkit-scrollbar-track{background:rgba(10,22,48,.26);border-radius:999px}
.reader::-webkit-scrollbar-thumb{background:linear-gradient(180deg,rgba(120,155,255,.90),rgba(137,91,255,.90));border:2px solid rgba(10,22,48,.30);border-radius:999px}
.reader::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,rgba(143,174,255,1),rgba(160,111,255,1))}
.reader>.setup{padding-bottom:72px}
@media(max-width:820px){
  .reader{scrollbar-gutter:auto;-webkit-overflow-scrolling:touch}
  .reader>.setup{padding-bottom:calc(96px + env(safe-area-inset-bottom))}
}


/* =========================================================
   Nova Mail 0.9.7 — Mobile Drawer / PWA Hotfix
   The desktop glass layer uses isolation:isolate. On mobile this
   trapped the drawer inside the app stacking context, so the
   backdrop could sit above the drawer and blur it. Let mobile
   layers participate in the root stacking context instead.
   ========================================================= */
@media (max-width:820px){
  .app{isolation:auto!important}
  .navbackdrop{z-index:70!important;backdrop-filter:blur(3px) brightness(.72);-webkit-backdrop-filter:blur(3px) brightness(.72)}
  .side{z-index:90!important;filter:none!important;opacity:1}
  body.nav-open .side{transform:translateX(0);filter:none!important}
  .mobilebottom{z-index:50}
}


/* =========================================================
   NOVA MAIL 0.9.7 — FIREBASE SYNC
   ========================================================= */
.firebaseconnectcard{background:radial-gradient(circle at 92% 8%,rgba(255,157,45,.14),transparent 32%),linear-gradient(145deg,rgba(27,48,92,.62),rgba(9,27,60,.62));border-color:rgba(255,183,92,.18)!important}
.firebaseaccounthead{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;margin-bottom:12px}
.firebaseauthgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}
.firebaseconfigarea{min-height:170px!important;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px!important;line-height:1.55;resize:vertical}
.firebasebadge.connected{background:linear-gradient(145deg,rgba(61,221,157,.18),rgba(72,127,255,.17));border-color:rgba(91,238,177,.32);box-shadow:0 0 28px rgba(57,218,154,.11),inset 0 1px 0 rgba(255,255,255,.08)}
.firebasebadge.connected span{color:#8af0cb}
.firebaseconnected{box-shadow:0 0 32px rgba(56,219,157,.12),inset 0 1px 0 rgba(255,255,255,.06)!important;border-color:rgba(77,232,172,.35)!important}
@media(max-width:820px){.firebaseauthgrid{grid-template-columns:1fr}.firebaseaccounthead{flex-direction:column}.firebaseaccounthead .firebasebadge{width:100%;height:64px}.firebaseconnectcard .actions{gap:8px}.firebaseconnectcard .actions button{flex:1 1 100%}}

/* =========================================================
   NOVA MAIL 0.9.7.2 — MOBILE SIDEBAR SCROLL FIX
   Force le tiroir mobile à posséder sa propre zone de défilement
   sur Android/PWA/BlueStacks, avec une barre visible et tactile.
   ========================================================= */
@media (max-width:820px){
  .side{
    display:block !important;
    position:fixed !important;
    top:0 !important;
    bottom:auto !important;
    left:0 !important;
    height:100dvh !important;
    max-height:100dvh !important;
    min-height:0 !important;
    overflow-y:scroll !important;
    overflow-x:hidden !important;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-y:contain;
    touch-action:pan-y;
    scrollbar-gutter:stable;
    scrollbar-width:thin;
    scrollbar-color:rgba(124,111,255,.95) rgba(8,20,43,.45);
    padding-bottom:calc(110px + env(safe-area-inset-bottom)) !important;
  }
  .side::-webkit-scrollbar{width:8px}
  .side::-webkit-scrollbar-track{background:rgba(8,20,43,.46);border-radius:999px}
  .side::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#69bfff,#8b62ff);border:2px solid rgba(8,20,43,.46);border-radius:999px;min-height:52px}
  body.nav-open .side{overflow-y:scroll !important}
  .navbackdrop{touch-action:none}
}

/* Nova Mail 0.9.7 — Realtime Sync */
.syncfeaturegrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}
.syncfeaturegrid>div{padding:16px;border:1px solid rgba(129,153,255,.22);border-radius:18px;background:linear-gradient(145deg,rgba(95,116,255,.11),rgba(14,28,57,.25));box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.syncfeaturegrid b{display:block;color:#b9ffe8;margin-bottom:5px}.syncfeaturegrid small{color:#97a8c9;line-height:1.35}
@media(max-width:820px){.syncfeaturegrid{grid-template-columns:1fr 1fr}.syncfeaturegrid>div{padding:13px}.setup{padding-bottom:120px}}
@media(max-width:460px){.syncfeaturegrid{grid-template-columns:1fr}}


/* NOVA MAIL 0.9.7.5 — INBOX VISIBILITY + SAFE SPLASH */
.splashlogo{overflow:visible!important;background:transparent!important;box-shadow:none!important;border-radius:28px!important;width:86px!important;height:86px!important;animation:splashLogoIn .65s var(--ease) both}
.splashlogo img{display:block;width:86px;height:86px;object-fit:contain;filter:drop-shadow(0 14px 28px rgba(94,78,236,.48))}
.splashsecure{display:inline-flex;align-items:center;gap:7px;margin-top:10px;padding:6px 10px;border:1px solid rgba(111,236,199,.16);border-radius:999px;background:rgba(18,49,66,.36);color:#9debd5;font-size:10px;font-weight:750;letter-spacing:.04em;animation:splashText .6s .28s var(--ease) both}
.splashsecure span{width:17px;height:17px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#62dfb6,#4d8cff);color:#06121a;font-size:11px;font-weight:950;box-shadow:0 0 13px rgba(92,223,186,.28)}
.splashline{margin-top:14px!important}
@media(max-width:520px){.splashorb{width:96px!important;height:96px!important}.splashlogo,.splashlogo img{width:80px!important;height:80px!important}.splashtitle{font-size:26px!important}}

/* 0.9.7.5 — action explicite quand une recherche masque les messages */
.emptylist #clearSearchEmpty{margin-top:14px}


/* =========================================================
   NOVA MAIL 0.9.8.1 — LAVENDER DREAM TRUE FIX
   12 thèmes : Nebula (original), Aurora, Sunset, Emerald, Pearl, Forest, Executive Pro, Gold Luxe, Midnight Black, Rose Soft, Solar Yellow, Lavender Dream.
   ========================================================= */
html[data-nova-theme="nebula"]{
  --bg:#070a12;--panel:#0d1220;--panel2:#121a2c;--panel3:#172137;--line:#24314b;--text:#f7f9ff;--muted:#8f9bb3;--purple:#8468ff;--purple2:#684df4;--green:#46d29a;--reader:#0b0f1b;
  --th-body:radial-gradient(900px 680px at 20% 18%,rgba(60,77,255,.20),transparent 60%),radial-gradient(760px 520px at 92% 10%,rgba(113,55,255,.17),transparent 62%),radial-gradient(900px 760px at 72% 110%,rgba(30,101,255,.13),transparent 63%),linear-gradient(160deg,#050916,#071126 44%,#080917);
  --th-side:linear-gradient(180deg,rgba(16,31,67,.78),rgba(8,20,45,.74));--th-list:linear-gradient(180deg,rgba(14,29,62,.73),rgba(8,19,43,.69));--th-reader:linear-gradient(160deg,rgba(7,16,39,.92),rgba(8,10,26,.94));
  --th-card:linear-gradient(145deg,rgba(27,48,92,.68),rgba(10,27,58,.62));--th-soft:linear-gradient(145deg,rgba(34,59,111,.66),rgba(21,42,84,.62));--th-nav:linear-gradient(135deg,rgba(45,80,144,.56),rgba(24,46,93,.46));--th-active:linear-gradient(105deg,rgba(37,144,255,.63),rgba(89,68,235,.55) 58%,rgba(176,77,255,.42));--th-accent:linear-gradient(110deg,#398cff,#7156ff 55%,#bd5bff);--th-border:rgba(137,174,245,.20);--th-glow:rgba(101,86,255,.30);--th-message:linear-gradient(145deg,rgba(33,63,119,.53),rgba(20,42,86,.48));--th-message-hover:linear-gradient(145deg,rgba(43,79,147,.68),rgba(28,50,102,.61));--th-message-active:linear-gradient(115deg,rgba(45,129,224,.61),rgba(80,65,202,.49) 62%,rgba(134,65,221,.36));--th-input:rgba(25,48,92,.62);--th-hero:linear-gradient(145deg,rgba(29,54,106,.72),rgba(11,28,64,.66));--th-scene:radial-gradient(600px 370px at 75% 15%,rgba(71,76,255,.24),transparent 64%),radial-gradient(500px 360px at 28% 80%,rgba(32,94,255,.15),transparent 66%),linear-gradient(155deg,rgba(22,44,94,.63),rgba(10,22,53,.61) 56%,rgba(19,13,57,.56));--th-bodytext:#dce3f3;color-scheme:dark
}
html[data-nova-theme="aurora"]{
  --bg:#031116;--panel:#071c25;--panel2:#0b2832;--panel3:#103844;--line:#1c5262;--text:#f1feff;--muted:#86aeba;--purple:#25d9db;--purple2:#168bd8;--green:#55e8b9;--reader:#04151d;
  --th-body:radial-gradient(900px 650px at 12% 12%,rgba(28,223,211,.20),transparent 60%),radial-gradient(760px 560px at 94% 16%,rgba(43,128,255,.20),transparent 62%),radial-gradient(900px 700px at 62% 110%,rgba(87,74,255,.12),transparent 64%),linear-gradient(155deg,#021015,#04232b 48%,#06101c);
  --th-side:linear-gradient(180deg,rgba(7,45,55,.86),rgba(4,25,36,.80));--th-list:linear-gradient(180deg,rgba(7,39,50,.82),rgba(3,24,34,.80));--th-reader:linear-gradient(160deg,rgba(3,26,35,.96),rgba(4,13,26,.96));
  --th-card:linear-gradient(145deg,rgba(10,53,66,.82),rgba(6,30,46,.76));--th-soft:linear-gradient(145deg,rgba(12,61,73,.74),rgba(8,42,58,.72));--th-nav:linear-gradient(135deg,rgba(16,82,95,.66),rgba(8,48,66,.62));--th-active:linear-gradient(105deg,rgba(24,210,201,.58),rgba(32,131,237,.56) 58%,rgba(100,82,241,.44));--th-accent:linear-gradient(110deg,#20d8ca,#258cf3 58%,#7b5cff);--th-border:rgba(88,219,223,.22);--th-glow:rgba(37,205,224,.30);--th-message:linear-gradient(145deg,rgba(12,65,77,.66),rgba(8,42,60,.61));--th-message-hover:linear-gradient(145deg,rgba(15,84,98,.74),rgba(9,54,75,.68));--th-message-active:linear-gradient(115deg,rgba(20,167,171,.58),rgba(35,110,211,.52),rgba(92,72,215,.42));--th-input:rgba(9,49,65,.72);--th-hero:linear-gradient(145deg,rgba(12,73,83,.73),rgba(8,35,58,.72));--th-scene:radial-gradient(600px 370px at 75% 15%,rgba(26,225,209,.20),transparent 64%),radial-gradient(500px 360px at 28% 80%,rgba(36,132,255,.18),transparent 66%),linear-gradient(155deg,rgba(8,58,73,.73),rgba(4,34,53,.70) 56%,rgba(22,21,70,.58));--th-bodytext:#d9f7fb;color-scheme:dark
}
html[data-nova-theme="sunset"]{
  --bg:#15070f;--panel:#24101d;--panel2:#311527;--panel3:#452038;--line:#67314f;--text:#fff7fb;--muted:#c19aac;--purple:#ff5ca7;--purple2:#c651dc;--green:#55e6b0;--reader:#180912;
  --th-body:radial-gradient(900px 650px at 12% 14%,rgba(255,113,75,.20),transparent 60%),radial-gradient(760px 540px at 93% 10%,rgba(255,62,150,.20),transparent 62%),radial-gradient(900px 740px at 65% 110%,rgba(126,71,255,.14),transparent 63%),linear-gradient(155deg,#16070e,#250b1a 48%,#130817);
  --th-side:linear-gradient(180deg,rgba(63,21,43,.86),rgba(34,12,29,.82));--th-list:linear-gradient(180deg,rgba(58,18,40,.82),rgba(31,10,28,.79));--th-reader:linear-gradient(160deg,rgba(43,12,31,.94),rgba(20,7,24,.96));
  --th-card:linear-gradient(145deg,rgba(71,24,51,.78),rgba(39,13,35,.72));--th-soft:linear-gradient(145deg,rgba(83,27,56,.72),rgba(53,18,43,.70));--th-nav:linear-gradient(135deg,rgba(96,31,63,.63),rgba(57,19,49,.60));--th-active:linear-gradient(105deg,rgba(255,118,78,.62),rgba(242,61,148,.58) 58%,rgba(125,75,237,.45));--th-accent:linear-gradient(110deg,#ff865d,#ff4c9c 55%,#8f61ff);--th-border:rgba(255,133,179,.21);--th-glow:rgba(255,70,155,.28);--th-message:linear-gradient(145deg,rgba(77,25,52,.65),rgba(49,16,43,.60));--th-message-hover:linear-gradient(145deg,rgba(98,31,65,.73),rgba(65,20,53,.67));--th-message-active:linear-gradient(115deg,rgba(205,69,85,.58),rgba(211,53,138,.53),rgba(112,67,205,.43));--th-input:rgba(63,20,48,.70);--th-hero:linear-gradient(145deg,rgba(88,29,55,.72),rgba(46,15,42,.69));--th-scene:radial-gradient(600px 370px at 75% 15%,rgba(255,72,148,.22),transparent 64%),radial-gradient(500px 360px at 28% 80%,rgba(255,126,73,.15),transparent 66%),linear-gradient(155deg,rgba(80,25,57,.69),rgba(45,13,43,.67) 56%,rgba(40,17,71,.58));--th-bodytext:#f7dfe9;color-scheme:dark
}
html[data-nova-theme="emerald"]{
  --bg:#03110c;--panel:#071d16;--panel2:#0c2a20;--panel3:#123b2e;--line:#235745;--text:#f3fff9;--muted:#8fb8a7;--purple:#45dfa4;--purple2:#1caf8b;--green:#56edac;--reader:#04150f;
  --th-body:radial-gradient(900px 650px at 12% 12%,rgba(43,224,145,.18),transparent 60%),radial-gradient(760px 560px at 93% 12%,rgba(23,174,149,.17),transparent 62%),radial-gradient(900px 720px at 68% 110%,rgba(42,107,255,.12),transparent 64%),linear-gradient(155deg,#02100a,#062219 48%,#051017);
  --th-side:linear-gradient(180deg,rgba(8,47,35,.86),rgba(4,27,22,.82));--th-list:linear-gradient(180deg,rgba(7,42,32,.82),rgba(4,25,21,.80));--th-reader:linear-gradient(160deg,rgba(4,29,22,.96),rgba(4,16,18,.96));
  --th-card:linear-gradient(145deg,rgba(12,58,43,.80),rgba(6,32,28,.75));--th-soft:linear-gradient(145deg,rgba(14,68,51,.74),rgba(8,43,36,.70));--th-nav:linear-gradient(135deg,rgba(17,83,61,.64),rgba(9,50,43,.60));--th-active:linear-gradient(105deg,rgba(49,213,145,.58),rgba(24,165,139,.55) 58%,rgba(48,111,230,.42));--th-accent:linear-gradient(110deg,#3edb99,#19ad8a 58%,#397bff);--th-border:rgba(89,226,168,.21);--th-glow:rgba(48,211,149,.28);--th-message:linear-gradient(145deg,rgba(13,69,51,.64),rgba(8,44,38,.60));--th-message-hover:linear-gradient(145deg,rgba(17,88,65,.73),rgba(10,58,49,.67));--th-message-active:linear-gradient(115deg,rgba(38,174,117,.58),rgba(23,140,120,.52),rgba(41,96,204,.42));--th-input:rgba(10,52,43,.71);--th-hero:linear-gradient(145deg,rgba(14,77,55,.72),rgba(7,39,35,.68));--th-scene:radial-gradient(600px 370px at 75% 15%,rgba(41,218,146,.19),transparent 64%),radial-gradient(500px 360px at 28% 80%,rgba(31,160,145,.15),transparent 66%),linear-gradient(155deg,rgba(10,65,49,.70),rgba(5,39,36,.68) 56%,rgba(16,34,60,.58));--th-bodytext:#daf5e9;color-scheme:dark
}

html[data-nova-theme="forest"]{
  --bg:#07110b;--panel:#102016;--panel2:#162a1d;--panel3:#1d3825;--line:#35533d;--text:#f4fbf6;--muted:#9bb09d;--purple:#6cd979;--purple2:#378c5b;--green:#a0e37b;--reader:#0b1610;
  --th-body:radial-gradient(900px 650px at 14% 12%,rgba(94,214,134,.18),transparent 60%),radial-gradient(760px 540px at 90% 10%,rgba(160,227,123,.12),transparent 62%),radial-gradient(900px 720px at 68% 110%,rgba(53,140,91,.14),transparent 64%),linear-gradient(155deg,#061009,#0c1c12 48%,#07110d);
  --th-side:linear-gradient(180deg,rgba(19,40,25,.88),rgba(12,26,17,.84));--th-list:linear-gradient(180deg,rgba(18,36,24,.84),rgba(11,24,16,.82));--th-reader:linear-gradient(160deg,rgba(11,24,17,.96),rgba(7,15,11,.96));
  --th-card:linear-gradient(145deg,rgba(23,49,30,.82),rgba(14,29,20,.77));--th-soft:linear-gradient(145deg,rgba(31,61,38,.75),rgba(18,39,24,.71));--th-nav:linear-gradient(135deg,rgba(34,63,41,.66),rgba(20,39,25,.62));--th-active:linear-gradient(105deg,rgba(86,204,114,.60),rgba(47,134,85,.58) 58%,rgba(158,220,109,.44));--th-accent:linear-gradient(110deg,#58cf7c,#2f8d58 58%,#9bde73);--th-border:rgba(126,183,131,.20);--th-glow:rgba(87,194,110,.24);--th-message:linear-gradient(145deg,rgba(27,57,34,.66),rgba(17,34,23,.61));--th-message-hover:linear-gradient(145deg,rgba(37,73,43,.74),rgba(23,46,30,.68));--th-message-active:linear-gradient(115deg,rgba(58,159,89,.58),rgba(43,119,73,.54),rgba(143,200,93,.40));--th-input:rgba(19,39,26,.74);--th-hero:linear-gradient(145deg,rgba(30,61,36,.73),rgba(16,34,22,.69));--th-scene:radial-gradient(600px 370px at 75% 15%,rgba(108,215,121,.18),transparent 64%),radial-gradient(500px 360px at 28% 80%,rgba(159,226,123,.12),transparent 66%),linear-gradient(155deg,rgba(22,48,29,.72),rgba(13,28,18,.68) 56%,rgba(14,25,16,.60));--th-bodytext:#dfeee1;color-scheme:dark
}
html[data-nova-theme="executive"]{
  --bg:#0f141b;--panel:#151d27;--panel2:#1c2531;--panel3:#253140;--line:#3e4b5e;--text:#f6f8fc;--muted:#a6b0c0;--purple:#97aac8;--purple2:#60728e;--green:#d8e2ef;--reader:#101721;
  --th-body:radial-gradient(900px 650px at 14% 12%,rgba(126,148,182,.16),transparent 60%),radial-gradient(760px 540px at 90% 10%,rgba(83,106,137,.16),transparent 62%),radial-gradient(900px 720px at 68% 110%,rgba(205,216,229,.08),transparent 64%),linear-gradient(155deg,#0d1218,#111923 48%,#0d1118);
  --th-side:linear-gradient(180deg,rgba(26,35,47,.90),rgba(18,25,35,.86));--th-list:linear-gradient(180deg,rgba(24,33,45,.86),rgba(17,24,33,.84));--th-reader:linear-gradient(160deg,rgba(18,26,37,.96),rgba(13,19,28,.97));
  --th-card:linear-gradient(145deg,rgba(30,40,55,.84),rgba(20,28,39,.80));--th-soft:linear-gradient(145deg,rgba(38,49,67,.78),rgba(24,33,45,.74));--th-nav:linear-gradient(135deg,rgba(44,56,74,.68),rgba(26,35,47,.64));--th-active:linear-gradient(105deg,rgba(125,143,170,.72),rgba(84,100,124,.70) 58%,rgba(198,208,221,.46));--th-accent:linear-gradient(110deg,#8ea3c4,#60738f 58%,#c4d0de);--th-border:rgba(156,171,194,.18);--th-glow:rgba(125,141,168,.20);--th-message:linear-gradient(145deg,rgba(36,47,63,.70),rgba(22,31,43,.66));--th-message-hover:linear-gradient(145deg,rgba(47,60,79,.78),rgba(28,38,51,.74));--th-message-active:linear-gradient(115deg,rgba(91,108,132,.62),rgba(76,92,113,.58),rgba(189,201,216,.34));--th-input:rgba(25,35,47,.78);--th-hero:linear-gradient(145deg,rgba(36,48,63,.75),rgba(22,31,43,.72));--th-scene:radial-gradient(600px 370px at 75% 15%,rgba(145,161,186,.16),transparent 64%),radial-gradient(500px 360px at 28% 80%,rgba(74,90,112,.12),transparent 66%),linear-gradient(155deg,rgba(30,40,54,.72),rgba(19,27,38,.70) 56%,rgba(14,20,29,.62));--th-bodytext:#dde4ef;color-scheme:dark
}

html[data-nova-theme="gold"]{
  --bg:#140f09;--panel:#211810;--panel2:#2f2417;--panel3:#43311c;--line:#70552a;--text:#fff9ee;--muted:#d2c099;--purple:#f4c95d;--purple2:#c59128;--green:#fff1b5;--reader:#171008;
  --th-body:radial-gradient(900px 650px at 14% 12%,rgba(255,212,77,.18),transparent 60%),radial-gradient(760px 540px at 90% 10%,rgba(199,145,40,.20),transparent 62%),radial-gradient(900px 720px at 68% 110%,rgba(255,241,181,.10),transparent 64%),linear-gradient(155deg,#110c07,#1f160d 48%,#120e09);
  --th-side:linear-gradient(180deg,rgba(41,29,18,.90),rgba(22,16,10,.86));--th-list:linear-gradient(180deg,rgba(37,27,17,.86),rgba(21,15,10,.84));--th-reader:linear-gradient(160deg,rgba(25,18,10,.97),rgba(17,12,8,.97));
  --th-card:linear-gradient(145deg,rgba(53,40,24,.82),rgba(31,23,14,.79));--th-soft:linear-gradient(145deg,rgba(68,50,28,.76),rgba(40,30,19,.72));--th-nav:linear-gradient(135deg,rgba(80,59,31,.68),rgba(42,31,19,.64));--th-active:linear-gradient(105deg,rgba(244,201,93,.72),rgba(184,135,25,.72) 58%,rgba(255,241,181,.44));--th-accent:linear-gradient(110deg,#f4c95d,#b88719 58%,#fff1b5);--th-border:rgba(234,203,132,.21);--th-glow:rgba(244,201,93,.24);--th-message:linear-gradient(145deg,rgba(59,44,25,.68),rgba(35,26,16,.64));--th-message-hover:linear-gradient(145deg,rgba(77,57,31,.76),rgba(44,33,20,.72));--th-message-active:linear-gradient(115deg,rgba(182,133,25,.64),rgba(126,92,21,.58),rgba(255,238,173,.36));--th-input:rgba(34,25,16,.80);--th-hero:linear-gradient(145deg,rgba(63,47,28,.76),rgba(31,23,15,.72));--th-scene:radial-gradient(600px 370px at 75% 15%,rgba(244,201,93,.20),transparent 64%),radial-gradient(500px 360px at 28% 80%,rgba(255,238,173,.11),transparent 66%),linear-gradient(155deg,rgba(50,37,23,.72),rgba(28,20,13,.70) 56%,rgba(22,17,12,.62));--th-bodytext:#f2e4c6;color-scheme:dark
}
html[data-nova-theme="midnight"]{
  --bg:#06080d;--panel:#0d1118;--panel2:#131925;--panel3:#1b2230;--line:#2d3849;--text:#f4f7fd;--muted:#93a0b4;--purple:#7d8aa8;--purple2:#2b3343;--green:#b6c2d9;--reader:#090d13;
  --th-body:radial-gradient(900px 650px at 14% 12%,rgba(127,139,168,.14),transparent 60%),radial-gradient(760px 540px at 90% 10%,rgba(36,43,56,.24),transparent 62%),radial-gradient(900px 720px at 68% 110%,rgba(178,191,214,.07),transparent 64%),linear-gradient(155deg,#04060a,#0b0f15 48%,#06090d);
  --th-side:linear-gradient(180deg,rgba(16,20,29,.92),rgba(10,13,20,.90));--th-list:linear-gradient(180deg,rgba(14,18,27,.88),rgba(9,13,19,.86));--th-reader:linear-gradient(160deg,rgba(9,13,19,.98),rgba(6,9,14,.98));
  --th-card:linear-gradient(145deg,rgba(20,26,38,.84),rgba(12,16,24,.82));--th-soft:linear-gradient(145deg,rgba(26,33,46,.78),rgba(16,21,31,.76));--th-nav:linear-gradient(135deg,rgba(29,37,52,.68),rgba(14,19,29,.66));--th-active:linear-gradient(105deg,rgba(127,139,168,.60),rgba(43,51,67,.78) 58%,rgba(182,194,217,.32));--th-accent:linear-gradient(110deg,#8593b2,#2a3240 58%,#b2bfd6);--th-border:rgba(121,138,168,.18);--th-glow:rgba(125,138,168,.16);--th-message:linear-gradient(145deg,rgba(24,30,43,.72),rgba(13,17,25,.70));--th-message-hover:linear-gradient(145deg,rgba(33,40,56,.80),rgba(18,23,33,.76));--th-message-active:linear-gradient(115deg,rgba(62,74,96,.62),rgba(34,41,54,.70),rgba(166,178,203,.25));--th-input:rgba(16,21,31,.82);--th-hero:linear-gradient(145deg,rgba(24,31,43,.78),rgba(13,18,27,.76));--th-scene:radial-gradient(600px 370px at 75% 15%,rgba(125,138,168,.15),transparent 64%),radial-gradient(500px 360px at 28% 80%,rgba(178,191,214,.08),transparent 66%),linear-gradient(155deg,rgba(18,23,33,.74),rgba(10,14,21,.72) 56%,rgba(7,10,16,.64));--th-bodytext:#d6deeb;color-scheme:dark
}
html[data-nova-theme="rose"]{
  --bg:#fff4f8;--panel:#fff9fb;--panel2:#fff1f7;--panel3:#ffe7f0;--line:#efc8d9;--text:#3b2331;--muted:#8f6679;--purple:#ee9fbe;--purple2:#d882ac;--green:#b68fff;--red:#d6678e;--yellow:#d1a050;--reader:#fffafd;
  --th-body:radial-gradient(900px 650px at 14% 12%,rgba(246,169,198,.18),transparent 60%),radial-gradient(760px 540px at 90% 10%,rgba(183,146,255,.12),transparent 62%),linear-gradient(155deg,#fffafd,#fff1f7 48%,#fff8fc);
  --th-side:linear-gradient(180deg,rgba(255,250,252,.95),rgba(255,239,246,.94));--th-list:linear-gradient(180deg,rgba(255,251,253,.96),rgba(255,243,248,.94));--th-reader:linear-gradient(160deg,rgba(255,252,254,.98),rgba(255,246,250,.98));
  --th-card:linear-gradient(145deg,rgba(255,255,255,.95),rgba(255,241,247,.94));--th-soft:linear-gradient(145deg,rgba(255,249,252,.97),rgba(255,236,244,.94));--th-nav:linear-gradient(135deg,rgba(255,243,248,.96),rgba(255,232,241,.93));--th-active:linear-gradient(105deg,rgba(246,169,198,.92),rgba(216,130,172,.90) 58%,rgba(183,146,255,.78));--th-accent:linear-gradient(110deg,#f6a9c6,#d882ac 58%,#b792ff);--th-border:rgba(201,122,158,.17);--th-glow:rgba(238,159,190,.18);--th-message:linear-gradient(145deg,rgba(255,255,255,.96),rgba(255,238,246,.95));--th-message-hover:linear-gradient(145deg,#ffffff,#ffeaf2);--th-message-active:linear-gradient(115deg,rgba(255,226,238,.98),rgba(250,218,234,.96),rgba(237,228,255,.92));--th-input:rgba(255,251,253,.97);--th-hero:linear-gradient(145deg,rgba(255,255,255,.97),rgba(255,238,246,.95));--th-scene:radial-gradient(600px 370px at 75% 15%,rgba(246,169,198,.17),transparent 64%),radial-gradient(500px 360px at 28% 80%,rgba(183,146,255,.11),transparent 66%),linear-gradient(155deg,rgba(255,252,254,.96),rgba(255,239,246,.95) 56%,rgba(255,247,252,.94));--th-bodytext:#5a3848;color-scheme:light
}
html[data-nova-theme="solar"]{
  --bg:#241a05;--panel:#302308;--panel2:#412f0c;--panel3:#574114;--line:#8d6d1f;--text:#fffced;--muted:#d7c786;--purple:#ffd54a;--purple2:#f0a91f;--green:#fff2a0;--reader:#261b06;
  --th-body:radial-gradient(900px 650px at 14% 12%,rgba(255,213,74,.20),transparent 60%),radial-gradient(760px 540px at 90% 10%,rgba(240,169,31,.24),transparent 62%),radial-gradient(900px 720px at 68% 110%,rgba(255,242,160,.10),transparent 64%),linear-gradient(155deg,#221804,#372708 48%,#241905);
  --th-side:linear-gradient(180deg,rgba(57,42,11,.90),rgba(32,23,7,.86));--th-list:linear-gradient(180deg,rgba(52,38,10,.86),rgba(30,22,7,.84));--th-reader:linear-gradient(160deg,rgba(39,28,7,.97),rgba(26,19,6,.97));
  --th-card:linear-gradient(145deg,rgba(75,56,14,.82),rgba(45,33,10,.79));--th-soft:linear-gradient(145deg,rgba(92,69,17,.76),rgba(55,41,11,.72));--th-nav:linear-gradient(135deg,rgba(106,79,18,.68),rgba(58,43,12,.64));--th-active:linear-gradient(105deg,rgba(255,213,74,.74),rgba(240,169,31,.72) 58%,rgba(255,242,160,.46));--th-accent:linear-gradient(110deg,#ffd54a,#f0a91f 58%,#fff2a0);--th-border:rgba(247,212,82,.20);--th-glow:rgba(255,214,75,.24);--th-message:linear-gradient(145deg,rgba(81,60,15,.68),rgba(48,35,10,.64));--th-message-hover:linear-gradient(145deg,rgba(103,77,19,.76),rgba(59,44,12,.72));--th-message-active:linear-gradient(115deg,rgba(223,168,30,.66),rgba(170,119,22,.60),rgba(255,238,151,.38));--th-input:rgba(49,36,10,.80);--th-hero:linear-gradient(145deg,rgba(89,67,17,.76),rgba(45,33,10,.72));--th-scene:radial-gradient(600px 370px at 75% 15%,rgba(255,214,75,.20),transparent 64%),radial-gradient(500px 360px at 28% 80%,rgba(255,242,160,.11),transparent 66%),linear-gradient(155deg,rgba(71,53,14,.72),rgba(40,30,9,.70) 56%,rgba(30,22,7,.62));--th-bodytext:#f5e7aa;color-scheme:dark
}
html[data-nova-theme="lavender"]{
  --bg:#efe6ff;--panel:#fbf7ff;--panel2:#f4edff;--panel3:#ebddff;--line:#d4bdf2;--text:#392652;--muted:#846fa4;--purple:#bf9bff;--purple2:#8b63ee;--green:#f2e4ff;--red:#c970b7;--yellow:#bea04d;--reader:#fcf9ff;
  --th-body:radial-gradient(950px 680px at 14% 12%,rgba(191,155,255,.28),transparent 58%),radial-gradient(760px 540px at 90% 8%,rgba(139,99,238,.18),transparent 60%),radial-gradient(840px 620px at 74% 108%,rgba(244,234,255,.26),transparent 62%),linear-gradient(155deg,#fffcff,#f0e7ff 48%,#faf5ff);
  --th-side:linear-gradient(180deg,rgba(251,247,255,.96),rgba(239,229,255,.95));--th-list:linear-gradient(180deg,rgba(253,250,255,.97),rgba(243,235,255,.95));--th-reader:linear-gradient(160deg,rgba(255,253,255,.985),rgba(246,240,255,.98));
  --th-card:linear-gradient(145deg,rgba(255,255,255,.96),rgba(242,233,255,.95));--th-soft:linear-gradient(145deg,rgba(250,246,255,.98),rgba(236,226,255,.95));--th-nav:linear-gradient(135deg,rgba(244,236,255,.97),rgba(232,221,255,.94));--th-active:linear-gradient(105deg,rgba(191,155,255,.96),rgba(139,99,238,.93) 56%,rgba(244,234,255,.90));--th-accent:linear-gradient(110deg,#c9a8ff,#8b63ee 54%,#f4eaff);--th-border:rgba(160,124,224,.20);--th-glow:rgba(191,155,255,.24);--th-message:linear-gradient(145deg,rgba(255,255,255,.97),rgba(243,234,255,.96));--th-message-hover:linear-gradient(145deg,#ffffff,#eedfff);--th-message-active:linear-gradient(115deg,rgba(244,234,255,.99),rgba(233,220,255,.97),rgba(251,246,255,.95));--th-input:rgba(251,247,255,.98);--th-hero:linear-gradient(145deg,rgba(255,255,255,.98),rgba(241,232,255,.96));--th-scene:radial-gradient(620px 380px at 75% 15%,rgba(191,155,255,.20),transparent 64%),radial-gradient(520px 380px at 28% 80%,rgba(139,99,238,.12),transparent 66%),linear-gradient(155deg,rgba(255,253,255,.97),rgba(241,232,255,.96) 56%,rgba(249,243,255,.95));--th-bodytext:#5f4783;color-scheme:light
}
html[data-nova-theme="pearl"]{
  --bg:#eef4ff;--panel:#ffffff;--panel2:#f3f6ff;--panel3:#e7edff;--line:#cbd6ed;--text:#172033;--muted:#68758f;--purple:#6b69ff;--purple2:#576cdb;--green:#16a878;--red:#d34c67;--yellow:#c88a13;--reader:#f7f9ff;
  --th-body:radial-gradient(900px 650px at 12% 12%,rgba(102,126,255,.15),transparent 60%),radial-gradient(760px 560px at 93% 12%,rgba(53,191,207,.13),transparent 62%),linear-gradient(155deg,#f7faff,#edf3ff 48%,#f8f5ff);
  --th-side:linear-gradient(180deg,rgba(248,251,255,.94),rgba(234,241,255,.92));--th-list:linear-gradient(180deg,rgba(250,252,255,.94),rgba(239,244,255,.92));--th-reader:linear-gradient(160deg,rgba(249,251,255,.98),rgba(241,245,255,.98));
  --th-card:linear-gradient(145deg,rgba(255,255,255,.94),rgba(239,244,255,.92));--th-soft:linear-gradient(145deg,rgba(249,251,255,.96),rgba(232,239,255,.92));--th-nav:linear-gradient(135deg,rgba(238,244,255,.96),rgba(227,235,252,.92));--th-active:linear-gradient(105deg,rgba(103,137,255,.90),rgba(119,97,238,.88) 58%,rgba(72,183,203,.76));--th-accent:linear-gradient(110deg,#5f83ff,#7b63ee 58%,#38b7c8);--th-border:rgba(91,115,170,.18);--th-glow:rgba(92,104,255,.20);--th-message:linear-gradient(145deg,rgba(255,255,255,.96),rgba(238,243,255,.94));--th-message-hover:linear-gradient(145deg,#ffffff,#e9f0ff);--th-message-active:linear-gradient(115deg,rgba(219,231,255,.96),rgba(229,222,255,.94),rgba(221,244,247,.92));--th-input:rgba(247,250,255,.96);--th-hero:linear-gradient(145deg,rgba(255,255,255,.96),rgba(233,240,255,.94));--th-scene:radial-gradient(600px 370px at 75% 15%,rgba(99,103,255,.15),transparent 64%),radial-gradient(500px 360px at 28% 80%,rgba(41,182,202,.13),transparent 66%),linear-gradient(155deg,rgba(250,252,255,.96),rgba(231,239,255,.95) 56%,rgba(241,235,255,.94));--th-bodytext:#34405a;color-scheme:light
}

html[data-nova-theme] body{background:var(--th-body);color:var(--text);transition:background .35s ease,color .25s ease}
html[data-nova-theme] .side{background:var(--th-side);border-color:var(--th-border)}
html[data-nova-theme] .list{background:var(--th-list);border-color:var(--th-border)}
html[data-nova-theme] .reader{background:var(--th-reader);border-color:var(--th-border)}
html[data-nova-theme] .card,html[data-nova-theme] .cloudbox,html[data-nova-theme] .storagebox,html[data-nova-theme] .firebaseconnectcard,html[data-nova-theme] .firebasecard,html[data-nova-theme] .syncnode,html[data-nova-theme] .syncpolicy>div{background:var(--th-card);border-color:var(--th-border)!important}
html[data-nova-theme] .hero,html[data-nova-theme] .syncthero,html[data-nova-theme] .storagehero,html[data-nova-theme] .contactshero{background:var(--th-hero);border-color:var(--th-border)}
html[data-nova-theme] .nav button,html[data-nova-theme] .navsection #customFoldersNav button{background:var(--th-nav);border-color:var(--th-border)}
html[data-nova-theme] .nav button.on,html[data-nova-theme] .navsection #customFoldersNav button.on{background:var(--th-active);color:#fff;border-color:color-mix(in srgb,var(--purple) 45%,white 18%);box-shadow:0 10px 30px color-mix(in srgb,var(--th-glow) 80%,transparent),0 0 28px var(--glow)}
html[data-nova-theme] .compose,html[data-nova-theme] .primary{background:var(--th-accent)}
html[data-nova-theme] .search,html[data-nova-theme] .sync,html[data-nova-theme] .mini,html[data-nova-theme] .secondary,html[data-nova-theme] .field input,html[data-nova-theme] .field select,html[data-nova-theme] .field textarea,html[data-nova-theme] .modalbody input,html[data-nova-theme] .modalbody textarea{background:var(--th-input);border-color:var(--th-border);color:var(--text)}
html[data-nova-theme] .top{background:color-mix(in srgb,var(--panel) 76%,transparent);border-color:var(--th-border)}
html[data-nova-theme] .msg{background:var(--th-message);border-color:var(--th-border)}
html[data-nova-theme] .msg:hover{background:var(--th-message-hover);border-color:color-mix(in srgb,var(--purple) 32%,var(--line))}
html[data-nova-theme] .msg.active,html[data-nova-theme] .msg.unread{background:var(--th-message-active)}
html[data-nova-theme] .msg:before{background:linear-gradient(var(--purple),var(--purple2),var(--green))}
html[data-nova-theme] .subject,html[data-nova-theme] .syncbig{color:var(--text)}
html[data-nova-theme] .preview,html[data-nova-theme] .time,html[data-nova-theme] .listhead small,html[data-nova-theme] .syncnote,html[data-nova-theme] .brand small,html[data-nova-theme] .emptycopytop span,html[data-nova-theme] .emptyaccount small{color:var(--muted)}
html[data-nova-theme] .body{color:var(--th-bodytext)}
html[data-nova-theme] .modalbox,html[data-nova-theme] .toast{background:var(--panel);color:var(--text);border-color:var(--th-border)}
html[data-nova-theme] .emptyaccount{background:var(--th-card);border-color:var(--th-border)}
html[data-nova-theme] .emptyglassscene{background:var(--th-scene);border-color:color-mix(in srgb,var(--purple) 28%,var(--line))}
html[data-nova-theme] .emptybrandcopy h2,html[data-nova-theme] .emptycopytop b,html[data-nova-theme] .quoteglass em{color:var(--text)}
html[data-nova-theme] .quoteglass{background:color-mix(in srgb,var(--panel2) 72%,transparent);border-color:var(--th-border)}
html[data-nova-theme] .settingsrow,html[data-nova-theme] .toggleline{border-color:var(--th-border)}
html[data-nova-theme] .switch{background:color-mix(in srgb,var(--panel3) 85%,var(--line));border-color:var(--th-border)}
html[data-nova-theme] .switch.on{background:var(--purple)}
html[data-nova-theme] .reader{scrollbar-color:color-mix(in srgb,var(--purple) 72%,var(--green)) color-mix(in srgb,var(--panel) 32%,transparent)}
html[data-nova-theme] .reader::-webkit-scrollbar-track{background:color-mix(in srgb,var(--panel) 32%,transparent)}
html[data-nova-theme] .reader::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--purple),var(--purple2));border-color:color-mix(in srgb,var(--panel) 34%,transparent)}
html[data-nova-theme] .side:after{background:radial-gradient(circle,var(--th-glow),transparent 67%)}
html[data-nova-theme] .profilebig,html[data-nova-theme] .profileavatar,html[data-nova-theme] .contactavatar,html[data-nova-theme] .msgavatar{background:var(--th-accent)}

/* Sélecteur de thèmes */
.theme-settings-card{overflow:hidden}.theme-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.theme-title-row h3{margin:0 0 4px}.theme-title-row p{margin:0}.theme-count{white-space:nowrap;padding:5px 9px;border-radius:999px;background:color-mix(in srgb,var(--purple) 12%,transparent);border:1px solid color-mix(in srgb,var(--purple) 26%,var(--line));color:var(--purple);font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.themegrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:16px}.themechoice{position:relative;min-height:112px;border:1px solid var(--th-border);border-radius:18px;padding:10px;background:color-mix(in srgb,var(--panel2) 72%,transparent);color:var(--text);display:grid;grid-template-columns:110px minmax(0,1fr) 24px;align-items:center;gap:12px;text-align:left;overflow:hidden;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.themechoice:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--theme-b) 42%,var(--line));box-shadow:0 12px 26px color-mix(in srgb,var(--theme-b) 13%,transparent)}.themechoice.selected{border-color:color-mix(in srgb,var(--theme-b) 60%,white 10%);box-shadow:0 0 0 2px color-mix(in srgb,var(--theme-b) 12%,transparent),0 12px 30px color-mix(in srgb,var(--theme-b) 15%,transparent)}
.themepreview{height:82px;border-radius:14px;position:relative;overflow:hidden;background:radial-gradient(circle at 15% 20%,color-mix(in srgb,var(--theme-a) 40%,transparent),transparent 45%),radial-gradient(circle at 88% 12%,color-mix(in srgb,var(--theme-c) 35%,transparent),transparent 47%),linear-gradient(145deg,color-mix(in srgb,var(--theme-a) 18%,#07101f),color-mix(in srgb,var(--theme-b) 24%,#0c1122));border:1px solid color-mix(in srgb,var(--theme-a) 30%,transparent);box-shadow:inset 0 1px 0 rgba(255,255,255,.13)}.themepreview i{position:absolute;border-radius:5px;background:linear-gradient(110deg,var(--theme-a),var(--theme-b),var(--theme-c));box-shadow:0 4px 12px color-mix(in srgb,var(--theme-b) 22%,transparent)}.themepreview i:nth-child(1){left:8px;top:9px;width:24px;height:64px;opacity:.72}.themepreview i:nth-child(2){left:38px;top:9px;width:61px;height:16px;opacity:.9}.themepreview i:nth-child(3){left:38px;top:31px;width:61px;height:42px;opacity:.42}.themepreview b{position:absolute;width:18px;height:18px;border-radius:7px;right:8px;bottom:8px;background:rgba(255,255,255,.78);box-shadow:0 0 16px var(--theme-a)}.themetext{min-width:0}.themetext strong{display:block;font-size:13px}.themetext small{display:block;margin-top:5px;color:var(--muted);font-size:9.5px;line-height:1.35}.themecheck{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:950;background:color-mix(in srgb,var(--theme-a) 14%,transparent);color:var(--theme-a);border:1px solid color-mix(in srgb,var(--theme-a) 30%,transparent)}.themechoice.selected .themecheck{background:linear-gradient(145deg,var(--theme-a),var(--theme-b));color:#fff;border-color:transparent;box-shadow:0 0 15px color-mix(in srgb,var(--theme-a) 28%,transparent)}
html[data-nova-theme="pearl"] .themepreview{background:radial-gradient(circle at 15% 20%,color-mix(in srgb,var(--theme-a) 25%,transparent),transparent 45%),linear-gradient(145deg,#ffffff,#dfe8ff)}
html[data-nova-theme="pearl"] .nav button:not(.on),html[data-nova-theme="pearl"] .navsection #customFoldersNav button:not(.on){color:#51617c}
html[data-nova-theme="pearl"] .brand b,html[data-nova-theme="pearl"] .cloudbox b,html[data-nova-theme="pearl"] .settingsrow b{color:#172033}
html[data-nova-theme="pearl"] .emptyglassscene:before{background:linear-gradient(125deg,rgba(255,255,255,.52),transparent 23%,transparent 70%,rgba(99,102,241,.06))}
html[data-nova-theme="pearl"] .starfield{background:#6e7bff;box-shadow:0 0 8px #6684ff,90px 60px 0 #8e72ff,190px 25px 0 #7082a6,250px 120px 0 #33b7c9,-70px 90px 0 #7185ff}

html[data-nova-theme="rose"] .themepreview{background:radial-gradient(circle at 15% 20%,color-mix(in srgb,var(--theme-a) 25%,transparent),transparent 45%),linear-gradient(145deg,#ffffff,#ffe9f2)}
html[data-nova-theme="rose"] .nav button:not(.on),html[data-nova-theme="rose"] .navsection #customFoldersNav button:not(.on){color:#7f6070}
html[data-nova-theme="rose"] .brand b,html[data-nova-theme="rose"] .cloudbox b,html[data-nova-theme="rose"] .settingsrow b{color:#442837}
html[data-nova-theme="rose"] .emptyglassscene:before{background:linear-gradient(125deg,rgba(255,255,255,.55),transparent 23%,transparent 70%,rgba(246,169,198,.10))}
html[data-nova-theme="rose"] .starfield{background:#f2aac6;box-shadow:0 0 8px #f2aac6,90px 60px 0 #dca8ff,190px 25px 0 #d78aa9,250px 120px 0 #b692ff,-70px 90px 0 #f3bdd4}
html[data-nova-theme="solar"] .starfield{background:#ffd54a;box-shadow:0 0 8px #ffd54a,90px 60px 0 #f0a91f,190px 25px 0 #fff2a0,250px 120px 0 #d79418,-70px 90px 0 #ffe884}
html[data-nova-theme="gold"] .starfield{background:#f4c95d;box-shadow:0 0 8px #f4c95d,90px 60px 0 #b88719,190px 25px 0 #fff1b5,250px 120px 0 #c69128,-70px 90px 0 #efd27a}
html[data-nova-theme="midnight"] .starfield{background:#7f8ba8;box-shadow:0 0 8px #7f8ba8,90px 60px 0 #242b38,190px 25px 0 #b2bfd6,250px 120px 0 #5c6882,-70px 90px 0 #919ebd}
html[data-nova-theme="lavender"] .themepreview{background:radial-gradient(circle at 15% 20%,rgba(191,155,255,.28),transparent 45%),radial-gradient(circle at 82% 18%,rgba(244,234,255,.55),transparent 35%),linear-gradient(145deg,#ffffff,#efe3ff)}
html[data-nova-theme="lavender"] .nav button:not(.on),html[data-nova-theme="lavender"] .navsection #customFoldersNav button:not(.on){color:#7c67a0}
html[data-nova-theme="lavender"] .brand b,html[data-nova-theme="lavender"] .cloudbox b,html[data-nova-theme="lavender"] .settingsrow b{color:#432c61}
html[data-nova-theme="lavender"] .emptyglassscene:before{background:linear-gradient(125deg,rgba(255,255,255,.62),transparent 23%,transparent 70%,rgba(191,155,255,.16))}
html[data-nova-theme="lavender"] .starfield{background:#bf9bff;box-shadow:0 0 8px #bf9bff,90px 60px 0 #8b63ee,190px 25px 0 #f4eaff,250px 120px 0 #d7c1ff,-70px 90px 0 #c9a8ff}
@media(max-width:680px){.themegrid{grid-template-columns:1fr}.themechoice{grid-template-columns:92px minmax(0,1fr) 24px}.themepreview{height:72px}}


/* =========================================================
   NOVA MAIL 0.9.8.2 — PWA MOBILE POLISH
   Barre mobile plus premium et moins générique
   ========================================================= */
@media(max-width:820px){
  .mobilebottom{grid-template-columns:1fr 1fr 78px 1fr 1fr;gap:6px;left:8px;right:8px;bottom:8px;min-height:76px;padding:8px 10px calc(8px + env(safe-area-inset-bottom));border:1px solid var(--th-border,rgba(255,255,255,.1));border-radius:24px;background:color-mix(in srgb,var(--panel, #11192a) 84%, transparent);backdrop-filter:blur(24px) saturate(1.25);box-shadow:0 14px 42px color-mix(in srgb,var(--th-glow, rgba(0,0,0,.18)) 18%, rgba(0,0,0,.18));}
  .mobilebottom:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.08),transparent 35%,transparent 100%);opacity:.9}
  .mobilebottom button{position:relative;height:58px;border-radius:18px;color:var(--muted);display:grid;place-items:center;align-content:center;gap:5px;padding:4px 3px;transition:transform .18s ease,background .18s ease,box-shadow .18s ease,color .18s ease}
  .mobilebottom button .mobileicon{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--panel2, #1a2338) 78%, transparent);border:1px solid var(--th-border,rgba(255,255,255,.1));box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 6px 15px rgba(0,0,0,.08)}
  .mobilebottom button .mobileicon svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
  .mobilebottom button small{font-size:9px;font-weight:800;letter-spacing:.01em;white-space:nowrap;line-height:1}
  .mobilebottom button.on{color:var(--text)}
  .mobilebottom button.on .mobileicon{background:var(--th-accent);border-color:transparent;color:#fff;box-shadow:0 12px 24px color-mix(in srgb,var(--th-glow, rgba(0,0,0,.2)) 55%, transparent),inset 0 1px 0 rgba(255,255,255,.28)}
  .mobilebottom button.on small{color:var(--text)}
  .mobilebottom button:not(.mobilecompose):active{transform:translateY(1px) scale(.98)}
  .mobilebottom .mobilecompose{width:62px;height:62px;align-self:start;justify-self:center;border-radius:22px;transform:translateY(-12px);background:var(--th-accent);color:#fff;border:1px solid color-mix(in srgb,var(--purple,#8f6de8) 36%, white 10%);box-shadow:0 18px 38px color-mix(in srgb,var(--th-glow, rgba(0,0,0,.25)) 58%, transparent),inset 0 1px 0 rgba(255,255,255,.34);overflow:hidden}
  .mobilebottom .mobilecompose:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,.22),transparent 42%);pointer-events:none}
  .mobilebottom .mobilecompose .mobileplus{font-size:36px;line-height:1;font-weight:300;transform:translateY(-1px)}
  .mobilebottom .mobilecompose:active{transform:translateY(-10px) scale(.98)}
  .mobilebottom button#mobileMore .mobileicon svg{stroke-width:2.1}
  body.mobile-reader-open .mobilebottom{display:none}
}
@media(max-width:420px){
  .mobilebottom{grid-template-columns:1fr 1fr 74px 1fr 1fr;left:6px;right:6px;bottom:6px;padding-inline:8px}
  .mobilebottom button small{font-size:8.5px}
  .mobilebottom .mobilecompose{width:58px;height:58px;border-radius:20px}
}
html[data-nova-theme="pearl"] .mobilebottom,html[data-nova-theme="rose"] .mobilebottom,html[data-nova-theme="lavender"] .mobilebottom{box-shadow:0 16px 36px rgba(85,86,140,.10),0 8px 20px rgba(46,58,97,.08)}


/* =========================================================
   NOVA MAIL 0.9.8.3 — PWA ULTRA PREMIUM
   Micro-interactions, badge intelligent et finition native
   ========================================================= */
@media(max-width:820px){
  .mobilebottom{isolation:isolate;overflow:visible;transform:translateZ(0);animation:mobileBarEnter .42s cubic-bezier(.2,.75,.25,1) both}
  .mobilebottom button{overflow:visible;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
  .mobilebottom button:after{content:"";position:absolute;left:50%;bottom:0;width:5px;height:5px;border-radius:999px;background:var(--purple);opacity:0;transform:translate(-50%,6px) scale(.5);box-shadow:0 0 14px var(--purple);transition:opacity .22s ease,transform .22s ease}
  .mobilebottom button.on:not(.mobilecompose):after{opacity:1;transform:translate(-50%,0) scale(1)}
  .mobilebottom button .mobileicon{position:relative;transition:transform .2s cubic-bezier(.2,.8,.2,1),box-shadow .2s ease,background .2s ease}
  .mobilebottom button.on .mobileicon{transform:translateY(-2px) scale(1.04)}
  .mobilebottom button.on .mobileicon svg{animation:mobileIconPop .34s cubic-bezier(.2,.9,.25,1.35)}
  .mobilebottom button.mobile-tap .mobileicon{transform:scale(.92)}
  .mobile-ripple{position:absolute;left:50%;top:50%;width:10px;height:10px;border-radius:999px;background:color-mix(in srgb,var(--purple) 26%,transparent);pointer-events:none;transform:translate(-50%,-50%) scale(.5);animation:mobileRipple .5s ease-out forwards;z-index:-1}
  .mobilebadge{position:absolute;right:-6px;top:-7px;min-width:17px;height:17px;padding:0 4px;border-radius:999px;display:grid;place-items:center;background:linear-gradient(135deg,#ff5f8f,#ff3e68);color:white;font-size:8px;font-style:normal;font-weight:900;border:2px solid color-mix(in srgb,var(--panel) 88%,transparent);box-shadow:0 5px 12px rgba(255,62,104,.28);line-height:1}
  .mobilebadge.hidden{display:none}
  .mobilebottom .mobilecompose{position:relative;display:grid;place-items:center;overflow:visible;animation:composeFloat 3.8s ease-in-out infinite}
  .mobilebottom .mobilecompose:after{content:"";position:absolute;inset:-7px;border-radius:27px;border:1px solid color-mix(in srgb,var(--purple) 22%,transparent);opacity:.55;animation:composeAura 2.6s ease-in-out infinite;pointer-events:none}
  .mobilebottom .mobilecompose .mobilecomposeicon{width:32px;height:32px;display:grid;place-items:center;position:relative;z-index:2}
  .mobilebottom .mobilecompose .mobilecomposeicon svg{width:29px;height:29px;fill:none;stroke:#fff;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 2px 6px rgba(0,0,0,.16))}
  .mobilebottom .mobilecompose.mobile-tap{animation:none;transform:translateY(-9px) scale(.94)}
  .mobilebottom .mobilecompose .mobile-ripple{z-index:0;background:rgba(255,255,255,.28)}
  .mobilebottom button small{transition:opacity .18s ease,transform .18s ease,color .18s ease}
  .mobilebottom button.on small{transform:translateY(-1px)}
  .mobilebottom button#mobileMore .mobileicon svg circle{fill:currentColor;stroke:none}
}
@keyframes mobileBarEnter{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes mobileIconPop{0%{transform:scale(.72)}65%{transform:scale(1.12)}100%{transform:scale(1)}}
@keyframes mobileRipple{0%{opacity:.48;transform:translate(-50%,-50%) scale(.5)}100%{opacity:0;transform:translate(-50%,-50%) scale(8)}}
@keyframes composeFloat{0%,100%{transform:translateY(-12px)}50%{transform:translateY(-15px)}}
@keyframes composeAura{0%,100%{transform:scale(.93);opacity:.18}50%{transform:scale(1.06);opacity:.55}}
@media(prefers-reduced-motion:reduce){.mobilebottom,.mobilebottom .mobilecompose,.mobilebottom .mobilecompose:after,.mobilebottom button.on .mobileicon svg{animation:none!important}.mobilebottom *{transition:none!important}}
\n\n/* NOVA MAIL 0.9.8.5 — PROFILE COPY FEEDBACK */\n.emptyaccount.profilecopy{cursor:pointer;user-select:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease;outline:none}\n.emptyaccount.profilecopy:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--purple) 34%,var(--th-border));box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 14px 34px color-mix(in srgb,var(--th-glow) 34%,transparent)}\n.emptyaccount.profilecopy:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--purple) 24%,transparent),0 14px 34px color-mix(in srgb,var(--th-glow) 30%,transparent)}\n.emptyaccount.profilecopy:active{transform:scale(.985)}\n.emptyaccount.profilecopy.copied{animation:profileCopiedPulse .7s cubic-bezier(.2,.8,.2,1)}\n.emptyaccount.profilecopy.copied .copyglyph{background:var(--th-accent);color:#fff;border-color:transparent}\n.emptyaccount.profilecopy .copyglyph svg{fill:none;stroke:currentColor}\n@keyframes profileCopiedPulse{0%{transform:scale(1)}35%{transform:scale(1.025);box-shadow:0 0 0 4px color-mix(in srgb,var(--purple) 18%,transparent),0 16px 38px color-mix(in srgb,var(--th-glow) 42%,transparent)}100%{transform:scale(1)}}\n@media(prefers-reduced-motion:reduce){.emptyaccount.profilecopy.copied{animation:none}}\n

/* 0.9.8.5 — feedback de copie très visible */
.emptyaccount.profilecopy{position:relative;overflow:visible}
.emptyaccount.profilecopy .profilecopytext{min-width:0;position:relative;z-index:2}
.emptyaccount.profilecopy .profilecopytext em{font-style:normal;font-weight:750;transition:color .18s ease}
.emptyaccount.profilecopy .copyglyph{position:relative;overflow:hidden;transition:transform .22s cubic-bezier(.2,.9,.2,1),background .22s ease,color .22s ease,box-shadow .22s ease}
.emptyaccount.profilecopy .copyglyph svg{position:absolute;inset:50% auto auto 50%;width:18px;height:18px;transform:translate(-50%,-50%) scale(1);transition:opacity .18s ease,transform .24s cubic-bezier(.2,.9,.2,1)}
.emptyaccount.profilecopy .copyglyph .checkicon{opacity:0;transform:translate(-50%,-50%) scale(.45);stroke-width:2.6}
.emptyaccount.profilecopy.copied .copyglyph{transform:rotate(-5deg) scale(1.08);box-shadow:0 0 0 5px color-mix(in srgb,var(--purple) 13%,transparent),0 10px 26px color-mix(in srgb,var(--th-glow) 50%,transparent)}
.emptyaccount.profilecopy.copied .copyglyph .copyicon{opacity:0;transform:translate(-50%,-50%) scale(.45)}
.emptyaccount.profilecopy.copied .copyglyph .checkicon{opacity:1;transform:translate(-50%,-50%) scale(1)}
.emptyaccount.profilecopy.copied #profileCopyStatus{color:var(--purple);font-weight:900}
.emptyaccount.profilecopy.copyfailed #profileCopyStatus{color:#ff7c96;font-weight:900}
.profilecopyfeedback{position:absolute;right:12px;bottom:-34px;z-index:20;min-width:88px;padding:8px 12px;border-radius:999px;background:var(--th-accent);color:#fff;font-size:11px;font-weight:950;letter-spacing:.01em;text-align:center;box-shadow:0 14px 32px color-mix(in srgb,var(--th-glow) 55%,transparent),inset 0 1px 0 rgba(255,255,255,.28);opacity:0;pointer-events:none;transform:translateY(-8px) scale(.82);filter:blur(2px);transition:opacity .18s ease,transform .28s cubic-bezier(.18,1.2,.28,1),filter .18s ease}
.profilecopyfeedback:before{content:"";position:absolute;right:22px;top:-5px;width:10px;height:10px;background:inherit;transform:rotate(45deg);border-radius:2px}
.profilecopyfeedback.show{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}
.emptyaccount.profilecopy.copied{animation:profileCopiedConfirm .82s cubic-bezier(.18,.88,.25,1)}
@keyframes profileCopiedConfirm{0%{transform:scale(1)}24%{transform:scale(.985)}46%{transform:scale(1.035);box-shadow:0 0 0 5px color-mix(in srgb,var(--purple) 15%,transparent),0 18px 42px color-mix(in srgb,var(--th-glow) 50%,transparent)}72%{transform:scale(.998)}100%{transform:scale(1)}}
@media(max-width:820px){.profilecopyfeedback{right:8px;bottom:-31px;font-size:10px;padding:7px 10px}}
@media(prefers-reduced-motion:reduce){.profilecopyfeedback{transition:none;filter:none}.emptyaccount.profilecopy.copied{animation:none}.emptyaccount.profilecopy .copyglyph svg{transition:none}}


/* =========================================================
   NOVA MAIL 0.9.8.6 — PROFILE HOVER MOTION
   Survol desktop premium du profil / copie rapide
   ========================================================= */
.emptyaccount.profilecopy .emptyavatar,
.emptyaccount.profilecopy .profilecopytext,
.emptyaccount.profilecopy .copyglyph{
  transition:transform .34s cubic-bezier(.18,.88,.28,1),box-shadow .34s ease,filter .34s ease,color .24s ease,background .24s ease,border-color .24s ease;
}

@media (hover:hover) and (pointer:fine){
  .emptyaccount.profilecopy{
    isolation:isolate;
    transition:transform .32s cubic-bezier(.18,.88,.28,1),border-color .28s ease,box-shadow .32s ease,background .32s ease,filter .32s ease;
  }
  .emptyaccount.profilecopy::before{
    content:"";
    position:absolute;
    inset:-8px;
    border-radius:25px;
    background:radial-gradient(circle at 28% 45%,color-mix(in srgb,var(--purple) 22%,transparent),transparent 55%),radial-gradient(circle at 86% 55%,color-mix(in srgb,var(--green) 12%,transparent),transparent 48%);
    opacity:0;
    filter:blur(9px);
    transform:scale(.92);
    transition:opacity .32s ease,transform .38s cubic-bezier(.18,.88,.28,1);
    pointer-events:none;
    z-index:-1;
  }
  .emptyaccount.profilecopy::after{
    content:"";
    position:absolute;
    top:-45%;
    left:-42%;
    width:36%;
    height:190%;
    border-radius:50%;
    background:linear-gradient(100deg,transparent,rgba(255,255,255,.20),transparent);
    transform:rotate(14deg) translateX(-180%);
    opacity:0;
    pointer-events:none;
    z-index:5;
  }
  .emptyaccount.profilecopy:hover{
    transform:translateY(-4px) scale(1.018);
    border-color:color-mix(in srgb,var(--purple) 48%,var(--th-border));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 18px 42px color-mix(in srgb,var(--th-glow) 46%,transparent),0 0 0 1px color-mix(in srgb,var(--purple) 8%,transparent);
    filter:saturate(1.06);
  }
  .emptyaccount.profilecopy:hover::before{
    opacity:1;
    transform:scale(1.04);
  }
  .emptyaccount.profilecopy:hover::after{
    opacity:1;
    animation:profileHoverSheen .78s cubic-bezier(.2,.72,.22,1) both;
  }
  .emptyaccount.profilecopy:hover .emptyavatar{
    transform:translateY(-2px) rotate(-2deg) scale(1.075);
    box-shadow:0 12px 27px color-mix(in srgb,var(--th-glow) 58%,transparent),0 0 0 4px color-mix(in srgb,var(--purple) 10%,transparent),inset 0 1px 0 rgba(255,255,255,.30);
    filter:saturate(1.08) brightness(1.04);
  }
  .emptyaccount.profilecopy:hover .profilecopytext{
    transform:translateX(3px);
  }
  .emptyaccount.profilecopy:hover .profilecopytext b{
    color:var(--text);
    text-shadow:0 0 18px color-mix(in srgb,var(--purple) 24%,transparent);
  }
  .emptyaccount.profilecopy:hover .copyglyph{
    transform:translateX(2px) rotate(7deg) scale(1.08);
    color:#fff;
    background:var(--th-accent);
    border-color:transparent;
    box-shadow:0 10px 24px color-mix(in srgb,var(--th-glow) 52%,transparent),inset 0 1px 0 rgba(255,255,255,.30);
  }
  .emptyaccount.profilecopy:hover .copyglyph .copyicon{
    animation:profileCopyIconFloat 1.15s ease-in-out infinite alternate;
  }
  .emptyaccount.profilecopy:hover #profileCopyStatus{
    color:var(--purple);
  }
}

@keyframes profileHoverSheen{
  0%{transform:rotate(14deg) translateX(-180%);opacity:0}
  18%{opacity:.9}
  78%{opacity:.55}
  100%{transform:rotate(14deg) translateX(520%);opacity:0}
}
@keyframes profileCopyIconFloat{
  from{transform:translate(-50%,-50%) scale(1) rotate(-2deg)}
  to{transform:translate(-50%,-54%) scale(1.05) rotate(2deg)}
}
@media(prefers-reduced-motion:reduce){
  .emptyaccount.profilecopy::before,.emptyaccount.profilecopy::after,
  .emptyaccount.profilecopy .emptyavatar,.emptyaccount.profilecopy .profilecopytext,.emptyaccount.profilecopy .copyglyph{transition:none!important;animation:none!important}
}


/* =========================================================
   NOVA MAIL 0.9.8.7 — PROFESSIONAL MAIL RENDERER
   ========================================================= */
.htmlmailbody{padding:0!important;white-space:normal!important;background:#fff;color:#111;overflow:hidden}
.htmlmailnotice{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 12px;background:linear-gradient(90deg,color-mix(in srgb,var(--purple) 10%,#fff),#fff);border-bottom:1px solid rgba(43,32,67,.10);color:#544168;font-size:10px;font-weight:850;letter-spacing:.02em}
.htmlmailnotice span{display:flex;align-items:center;gap:6px}.htmlmailnotice small{font-size:8.5px;color:#88789d;font-weight:700}
.htmlmailframe{display:block;width:100%;min-height:220px;border:0;background:#fff;color-scheme:light dark}
.msgavatar img,.smallavatar img{width:100%;height:100%;object-fit:contain!important;background:#fff;padding:4px;box-sizing:border-box}
.msgavatar:has(img),.smallavatar:has(img){background:#fff!important;border-color:rgba(255,255,255,.42)!important}
@media(max-width:820px){.htmlmailnotice{padding:8px 10px}.htmlmailnotice small{display:none}.htmlmailframe{min-height:260px}}


/* =========================================================
   NOVA MAIL 0.9.9.3 — SECURE LOGIN
   ========================================================= */
.authgate{position:fixed;z-index:10000;inset:0;display:grid;place-items:center;padding:22px;background:radial-gradient(900px 600px at 20% 10%,color-mix(in srgb,var(--purple,#8f6de8) 24%,transparent),transparent 62%),radial-gradient(900px 700px at 88% 88%,color-mix(in srgb,var(--green,#45dfa4) 13%,transparent),transparent 60%),rgba(5,8,16,.94);backdrop-filter:blur(30px) saturate(1.15);overflow:auto;transition:opacity .28s ease,visibility .28s ease}
.authgate.hidden{display:none!important}.authambient{position:fixed;width:360px;height:360px;border-radius:50%;filter:blur(80px);opacity:.22;pointer-events:none}.authambient-a{left:-100px;top:-100px;background:var(--purple,#8f6de8)}.authambient-b{right:-120px;bottom:-120px;background:var(--green,#45dfa4)}
.authcard{position:relative;width:min(440px,100%);overflow:hidden;border-radius:30px;padding:28px;background:linear-gradient(145deg,color-mix(in srgb,var(--panel,#11192a) 94%,white 2%),color-mix(in srgb,var(--panel2,#172137) 90%,transparent));border:1px solid color-mix(in srgb,var(--purple,#8f6de8) 24%,var(--line,#26324a));box-shadow:0 34px 90px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.08)}
.authcard:before{content:"";position:absolute;left:-20%;top:-60%;width:140%;height:70%;background:radial-gradient(circle,color-mix(in srgb,var(--purple,#8f6de8) 19%,transparent),transparent 66%);pointer-events:none}.authbrand{position:relative;display:flex;align-items:center;gap:12px}.authlogo{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:var(--th-accent,linear-gradient(135deg,#8f6de8,#c8a2ff));box-shadow:0 12px 28px color-mix(in srgb,var(--th-glow,rgba(143,109,232,.28)) 70%,transparent)}.authlogo img{width:32px;height:32px}.authbrand b{display:block;font-size:18px;color:var(--text,#fff)}.authbrand small{display:block;margin-top:3px;font-size:9px;letter-spacing:.13em;color:var(--muted,#9aa6bd);font-weight:800}
.authshield{position:absolute;right:27px;top:28px;width:44px;height:44px;border-radius:15px;display:grid;place-items:center;color:var(--purple,#b892ff);background:color-mix(in srgb,var(--purple,#8f6de8) 10%,transparent);border:1px solid color-mix(in srgb,var(--purple,#8f6de8) 22%,transparent)}.authshield svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.authcard h1{position:relative;margin:30px 0 8px;font-size:30px;line-height:1.08;color:var(--text,#fff)}.authintro{position:relative;margin:0 0 24px;color:var(--muted,#9aa6bd);font-size:13px;line-height:1.55}.authform{position:relative;display:grid;gap:14px}.authform label>span{display:block;margin:0 0 7px;font-size:9px;letter-spacing:.1em;font-weight:850;color:var(--muted,#9aa6bd)}.authform input,.authconfig textarea{width:100%;box-sizing:border-box;border:1px solid color-mix(in srgb,var(--purple,#8f6de8) 20%,var(--line,#26324a));background:color-mix(in srgb,var(--panel2,#172137) 78%,transparent);color:var(--text,#fff);border-radius:15px;padding:14px 15px;outline:none;font:inherit;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.authform input:focus,.authconfig textarea:focus{border-color:color-mix(in srgb,var(--purple,#8f6de8) 64%,white 4%);box-shadow:0 0 0 4px color-mix(in srgb,var(--purple,#8f6de8) 11%,transparent)}.authpassword{position:relative}.authpassword input{padding-right:50px}.authpassword button{position:absolute;right:7px;top:7px;width:38px;height:38px;border:0;border-radius:11px;background:color-mix(in srgb,var(--purple,#8f6de8) 10%,transparent);color:var(--muted,#9aa6bd);cursor:pointer}
.authprimary{min-height:51px;border:0;border-radius:16px;padding:0 17px;display:flex;align-items:center;justify-content:space-between;background:var(--th-accent,linear-gradient(110deg,#8f6de8,#c8a2ff));color:#fff;font-weight:900;font-size:14px;cursor:pointer;box-shadow:0 14px 32px color-mix(in srgb,var(--th-glow,rgba(143,109,232,.28)) 65%,transparent);transition:transform .18s ease,filter .18s ease}.authprimary:hover{filter:brightness(1.07);transform:translateY(-1px)}.authprimary:active{transform:translateY(1px) scale(.99)}.authprimary:disabled{opacity:.55;cursor:wait}.authprimary b{font-size:20px}.authlink{justify-self:center;border:0;background:transparent;color:var(--purple,#b892ff);font-weight:750;font-size:12px;cursor:pointer;padding:5px}.autherror{min-height:18px;color:#ff8fa5;font-size:11px;font-weight:700}.autherror.ok{color:#62dfaa}
.authconfig{position:relative;margin-top:19px;padding-top:18px;border-top:1px solid color-mix(in srgb,var(--line,#26324a) 72%,transparent)}.authconfigtitle{font-size:13px;font-weight:850;color:var(--text,#fff)}.authconfig p{font-size:11px;line-height:1.5;color:var(--muted,#9aa6bd)}.authconfig textarea{min-height:116px;resize:vertical;margin-bottom:12px;font:11px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace}.authfoot{position:relative;margin-top:22px;padding-top:16px;border-top:1px solid color-mix(in srgb,var(--line,#26324a) 72%,transparent);display:flex;align-items:center;justify-content:center;gap:7px;color:var(--muted,#9aa6bd);font-size:9px}.authdot{width:7px;height:7px;border-radius:50%;background:#4be0a6;box-shadow:0 0 12px #4be0a6}
body.nova-auth-locked{overflow:hidden}body.nova-auth-locked .app,body.nova-auth-locked .mobilebottom{pointer-events:none;user-select:none;filter:blur(7px);opacity:.18}.secureaccountrow{display:flex;align-items:center;gap:12px;padding:13px 0;border-top:1px solid var(--th-border,var(--line))}.secureaccountrow:first-of-type{border-top:0}.secureaccountrow .lockmark{width:38px;height:38px;border-radius:13px;display:grid;place-items:center;background:color-mix(in srgb,var(--purple) 12%,transparent);color:var(--purple);border:1px solid color-mix(in srgb,var(--purple) 22%,transparent)}.secureaccountrow>div:nth-child(2){flex:1;min-width:0}.secureaccountrow b,.secureaccountrow small{display:block}.secureaccountrow small{color:var(--muted);margin-top:3px}.securelogout{border:1px solid color-mix(in srgb,#ff6f8c 30%,var(--line));background:color-mix(in srgb,#ff6f8c 8%,transparent);color:#ff91a7;border-radius:12px;padding:9px 12px;font-weight:800;cursor:pointer}
@media(max-width:520px){.authgate{padding:12px}.authcard{border-radius:25px;padding:22px}.authcard h1{font-size:27px}.authshield{right:21px;top:22px}}


/* =========================================================
   NOVA MAIL 0.9.9.4 — ACCOUNT CREATION
   Connexion + inscription Nova avec protection invisible
   ========================================================= */
.authtabs{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:5px;margin:0 0 18px;border:1px solid color-mix(in srgb,var(--purple,#8f6de8) 17%,var(--line,#26324a));border-radius:16px;background:color-mix(in srgb,var(--panel2,#172137) 62%,transparent)}
.authtabs button{min-height:39px;border:0;border-radius:12px;background:transparent;color:var(--muted,#9aa6bd);font:inherit;font-size:12px;font-weight:850;cursor:pointer;transition:.18s ease}
.authtabs button:hover{color:var(--text,#fff);background:color-mix(in srgb,var(--purple,#8f6de8) 7%,transparent)}
.authtabs button.on{color:#fff;background:var(--th-accent,linear-gradient(110deg,#4f8cff,#b950ff));box-shadow:0 9px 22px color-mix(in srgb,var(--th-glow,rgba(143,109,232,.24)) 55%,transparent)}
.authaddress{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;border:1px solid color-mix(in srgb,var(--purple,#8f6de8) 20%,var(--line,#26324a));background:color-mix(in srgb,var(--panel2,#172137) 78%,transparent);border-radius:15px;overflow:hidden;transition:border-color .18s ease,box-shadow .18s ease}
.authaddress:focus-within{border-color:color-mix(in srgb,var(--purple,#8f6de8) 64%,white 4%);box-shadow:0 0 0 4px color-mix(in srgb,var(--purple,#8f6de8) 11%,transparent)}
.authaddress input{border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;min-width:0}
.authaddress b{padding:0 14px 0 8px;color:var(--muted,#9aa6bd);font-size:11px;white-space:nowrap}
.authaddresspreview{margin-top:-6px;padding:0 2px;color:var(--purple,#b892ff);font-size:10px;font-weight:750;min-height:14px}
.authbetanote{display:flex;align-items:flex-start;gap:10px;padding:11px 12px;border-radius:14px;border:1px solid color-mix(in srgb,var(--purple,#8f6de8) 16%,var(--line,#26324a));background:color-mix(in srgb,var(--purple,#8f6de8) 7%,transparent);color:var(--muted,#9aa6bd)}
.authbetanote>span{font-size:17px}.authbetanote p{margin:0;display:grid;gap:2px}.authbetanote b{font-size:10px;color:var(--text,#fff)}.authbetanote small{font-size:9px;line-height:1.45}
#secureSignupForm{gap:11px}.authcard:has(#secureSignupForm:not(.hidden)){width:min(470px,100%)}
@media(max-width:520px){.authaddress{grid-template-columns:minmax(0,1fr) auto}.authaddress b{font-size:10px;padding-right:10px}.authtabs button{font-size:11px}}


/* =========================================================
   NOVA MAIL 0.9.9.8 — MULTI-ACCOUNT SAFE SWITCH
   ========================================================= */
.rememberedaccounts{display:grid;gap:8px;margin:0 0 3px;padding:10px;border-radius:15px;background:color-mix(in srgb,var(--purple,#8f6de8) 6%,transparent);border:1px solid color-mix(in srgb,var(--purple,#8f6de8) 14%,var(--line,#26324a))}
.rememberedaccounts.hidden{display:none!important}.rememberedtitle{display:flex;align-items:center;justify-content:space-between;padding:0 2px 3px;color:var(--muted,#9aa6bd)}.rememberedtitle span{font-size:8.5px;letter-spacing:.1em;font-weight:850}.rememberedtitle small{min-width:20px;height:20px;border-radius:999px;display:grid;place-items:center;background:color-mix(in srgb,var(--purple,#8f6de8) 14%,transparent);font-size:9px;font-weight:900}.rememberedlist{display:grid;gap:6px}.rememberedaccount{display:grid;grid-template-columns:minmax(0,1fr) 28px;align-items:center;border-radius:12px;background:color-mix(in srgb,var(--panel2,#172137) 72%,transparent);border:1px solid color-mix(in srgb,var(--line,#26324a) 80%,transparent);overflow:hidden}.rememberedpick{min-width:0;border:0;background:transparent;color:var(--text,#fff);display:flex;align-items:center;gap:9px;padding:8px;text-align:left;cursor:pointer}.rememberedpick:hover{background:color-mix(in srgb,var(--purple,#8f6de8) 8%,transparent)}.rememberedavatar{width:31px;height:31px;flex:0 0 31px;border-radius:10px;display:grid;place-items:center;background:var(--th-accent,linear-gradient(110deg,#4f8cff,#b950ff));color:#fff;font-size:10px;font-weight:900;box-shadow:0 6px 14px color-mix(in srgb,var(--th-glow,rgba(143,109,232,.2)) 50%,transparent)}.rememberedpick>span:last-child{min-width:0}.rememberedpick b,.rememberedpick small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rememberedpick b{font-size:10.5px}.rememberedpick small{font-size:8.5px;color:var(--muted,#9aa6bd);margin-top:2px}.rememberedforget{width:28px;height:28px;border:0;background:transparent;color:var(--muted,#9aa6bd);font-size:17px;cursor:pointer;border-radius:9px}.rememberedforget:hover{color:#ff8fa5;background:rgba(255,111,140,.08)}
.multiaccountactions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.multiaccountactions .secondary{flex:1;min-width:150px}
@media(max-width:520px){.rememberedaccounts{padding:8px}.rememberedpick{padding:7px}.multiaccountactions{display:grid;grid-template-columns:1fr}.multiaccountactions .secondary{min-width:0}}

/* 0.9.9.8 — champ anti-bot invisible */
.authhoneypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}


/* =========================================================
   NOVA MAIL 0.9.9.8 — PASSWORD RECOVERY CENTER
   ========================================================= */
.password-account-card{overflow:hidden}.password-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.password-card-head h3{margin-bottom:5px}.password-safe-badge{flex:0 0 auto;font-size:8px;font-weight:950;letter-spacing:.09em;padding:7px 9px;border-radius:999px;color:var(--green);border:1px solid color-mix(in srgb,var(--green) 30%,transparent);background:color-mix(in srgb,var(--green) 10%,transparent)}
.password-mask-row{margin:14px 0;padding:14px 16px;border:1px solid var(--th-border);border-radius:16px;background:var(--th-input);display:flex;align-items:center;justify-content:space-between}.password-mask-row>div{display:flex;flex-direction:column;gap:5px}.password-dots{font-size:22px;letter-spacing:3px;font-weight:900;line-height:1;color:var(--text)}.password-mask-row small{color:var(--muted);font-size:9px}.password-change-box{margin-top:14px;padding:14px;border-radius:16px;border:1px solid var(--th-border);background:var(--th-soft);animation:passwordBoxIn .2s ease}.password-change-box.hidden{display:none}.password-settings-status{min-height:18px;margin-top:10px;font-size:10px;font-weight:800;color:var(--muted)}.password-settings-status.ok{color:var(--green)}.password-settings-status.error{color:#ff8298}@keyframes passwordBoxIn{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}@media(max-width:680px){.password-card-head{align-items:center}.password-mask-row{padding:12px}.password-dots{font-size:19px}.password-account-card .multiaccountactions{grid-template-columns:1fr}.password-account-card .actions{display:grid;grid-template-columns:1fr}}

/* 0.9.9.8 — Password Settings Cleanup */
.password-single-action{grid-template-columns:1fr!important}
.password-single-action .primary{width:100%;justify-content:center}


/* =========================================================
   NOVA MAIL 0.9.10.3 — RECOVERY CODE STICKY UI
   Confirmation visuelle forte après mot de passe oublié
   ========================================================= */
.authresetfeedback{display:grid;grid-template-columns:38px minmax(0,1fr);gap:11px;align-items:center;margin-top:2px;padding:12px 13px;border-radius:15px;border:1px solid color-mix(in srgb,#62dfaa 36%,var(--th-border,rgba(255,255,255,.12)));background:linear-gradient(135deg,color-mix(in srgb,#62dfaa 13%,var(--panel,#111827)),color-mix(in srgb,var(--purple,#8f6de8) 11%,var(--panel,#111827)));box-shadow:0 10px 28px rgba(0,0,0,.12);opacity:0;transform:translateY(-7px) scale(.985);max-height:0;overflow:hidden;padding-top:0;padding-bottom:0;margin-bottom:0;pointer-events:none;transition:opacity .24s ease,transform .24s ease,max-height .28s ease,padding .28s ease,margin .28s ease}
.authresetfeedback.show{opacity:1;transform:translateY(0) scale(1);max-height:100px;padding-top:12px;padding-bottom:12px;margin-bottom:2px}
.authreseticon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,#62dfaa,#43c996);color:#062017;font-size:20px;font-weight:950;box-shadow:0 8px 20px rgba(98,223,170,.22),inset 0 1px 0 rgba(255,255,255,.5)}
.authresetfeedback b{display:block;color:var(--text,#fff);font-size:12px;margin-bottom:3px}.authresetfeedback small{display:block;color:var(--muted,#9aa7bd);font-size:10px;line-height:1.45}
.authlink.sent{color:#62dfaa!important;background:color-mix(in srgb,#62dfaa 10%,transparent);border-radius:10px;padding-inline:10px}
@keyframes novaResetSuccess{0%{transform:scale(.92);opacity:0}55%{transform:scale(1.08);opacity:1}100%{transform:scale(1);opacity:1}}
.authresetfeedback.show .authreseticon{animation:novaResetSuccess .42s cubic-bezier(.2,.9,.3,1.2)}
@media(prefers-reduced-motion:reduce){.authresetfeedback,.authreseticon{transition:none!important;animation:none!important}}


/* NOVA MAIL 0.9.10.3 — RECOVERY CODE STICKY UI */
.authrecoverynote{margin:-3px 0 2px;color:var(--muted,#9aa7bd);font-size:10px;line-height:1.55}.recoverydestination{padding:13px 14px;border:1px solid color-mix(in srgb,var(--purple,#8f6de8) 24%,var(--line,#27324a));border-radius:15px;background:color-mix(in srgb,var(--panel2,#172137) 80%,transparent);display:flex;flex-direction:column;gap:5px}.recoverydestination span{font-size:8px;font-weight:900;letter-spacing:.09em;color:var(--muted,#9aa7bd)}.recoverydestination b{font-size:13px;color:var(--text,#fff)}#recoveryCodeStep{display:grid;gap:14px}#recoveryCodeStep.hidden{display:none}.recovery-send{margin-top:0}.recoverycodefield.hidden,#recoveryVerifyButton.hidden{display:none!important}.recovery-email-card{overflow:hidden}.recovery-card-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.recovery-current{margin:14px 0;padding:13px 14px;border:1px solid var(--th-border);border-radius:16px;background:var(--th-input);display:flex;align-items:center;gap:11px}.recovery-current>div{display:flex;flex-direction:column;gap:4px}.recovery-current b{font-size:12px;color:var(--text)}.recovery-current small{font-size:9px;color:var(--muted);line-height:1.45}.recovery-verified-dot{width:11px;height:11px;border-radius:50%;background:#5de0a6;box-shadow:0 0 14px rgba(93,224,166,.48);flex:0 0 auto}.recovery-verify-box{margin-top:14px;padding:14px;border:1px solid var(--th-border);border-radius:16px;background:var(--th-soft);animation:passwordBoxIn .2s ease}.recovery-verify-box.hidden{display:none}.recovery-mail-tip{display:flex;flex-direction:column;gap:4px;margin-bottom:12px;padding:11px 12px;border-radius:13px;background:color-mix(in srgb,#62dfaa 10%,var(--panel2));border:1px solid color-mix(in srgb,#62dfaa 26%,var(--th-border))}.recovery-mail-tip b{font-size:11px;color:var(--text)}.recovery-mail-tip small{font-size:9px;line-height:1.45;color:var(--muted)}.recovery-settings-status{min-height:18px;margin-top:10px;font-size:10px;font-weight:800;color:var(--muted)}.recovery-settings-status.ok{color:var(--green)}.recovery-settings-status.error{color:#ff8298}@media(max-width:680px){.recovery-card-head{align-items:center}.recovery-email-card .actions{display:grid;grid-template-columns:1fr}}


/* =========================================================
   NOVA MAIL 0.9.10.4 — COMPACT MOBILE COMPOSER
   Bottom-sheet premium : compact, keyboard friendly, non fullscreen
   ========================================================= */
.composegrab{display:none}
.composeheadtitle{display:flex;align-items:center;gap:9px;min-width:0}
.composeheadicon{width:31px;height:31px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(143,121,255,.25),rgba(88,120,255,.15));border:1px solid rgba(155,145,255,.2);font-size:14px;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.composeclose{display:grid;place-items:center}
.composefooter button{display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}
.compose-btn-icon{font-size:14px;line-height:1}.compose-btn-label{min-width:0}

@media (max-width:820px){
  body:has(#compose:not(.hidden)){overflow:hidden}
  #compose.modal{display:flex;align-items:flex-end;justify-content:center;padding:12px 10px calc(10px + env(safe-area-inset-bottom));background:rgba(2,5,13,.62);backdrop-filter:blur(14px) saturate(1.08);-webkit-backdrop-filter:blur(14px) saturate(1.08)}
  #compose.modal.hidden{display:none}
  #compose .modalbox.composebox{position:relative;width:min(94vw,460px);height:auto;max-height:min(82dvh,720px);margin:0;border:1px solid rgba(167,179,218,.19);border-radius:26px;overflow:hidden;display:flex;flex-direction:column;background:linear-gradient(165deg,rgba(17,25,44,.985),rgba(7,12,24,.99));box-shadow:0 28px 80px rgba(0,0,0,.62),0 0 0 1px rgba(139,120,255,.045) inset;animation:compactComposerIn .34s cubic-bezier(.2,.8,.2,1) both}
  @keyframes compactComposerIn{from{opacity:0;transform:translateY(34px) scale(.975)}to{opacity:1;transform:none}}
  #compose .composegrab{display:block;position:absolute;z-index:5;top:7px;left:50%;width:42px;height:4px;border-radius:99px;background:rgba(183,193,220,.28);transform:translateX(-50%);pointer-events:none}
  #compose .modalhead{flex:0 0 auto;min-height:54px;padding:15px 12px 8px;background:linear-gradient(180deg,rgba(28,37,62,.62),rgba(17,25,44,.26));border-bottom:1px solid rgba(155,170,210,.10)}
  #compose .modalhead b{font-size:14px;letter-spacing:-.015em}
  #compose .composeheadicon{width:30px;height:30px;border-radius:10px}
  #compose .modalhead .secondary.composeclose{width:34px;height:34px;min-height:34px;padding:0;border-radius:11px;background:rgba(38,27,52,.78);border-color:rgba(255,104,156,.22);color:#ffd6e3;font-size:13px}
  #compose .modalbody{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:9px 10px 10px;display:block;scrollbar-width:thin}
  #compose .recipientwrap{position:relative}
  #compose .modalbody input,#compose .modalbody textarea{border-radius:13px;background:rgba(25,31,52,.82);border:1px solid rgba(150,164,205,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.025);transition:border-color .18s,background .18s,box-shadow .18s}
  #compose .modalbody input:focus,#compose .modalbody textarea:focus{background:rgba(29,36,60,.97);border-color:rgba(139,120,255,.5);box-shadow:0 0 0 3px rgba(116,91,255,.08)}
  #compose .modalbody input{height:42px;min-height:42px;padding:9px 11px;margin:0 0 7px;font-size:15px}
  #compose .modalbody textarea{display:block;width:100%;height:clamp(118px,24dvh,190px);min-height:118px;max-height:30dvh;padding:11px;margin:0 0 7px;font-size:15px;line-height:1.48;resize:none}
  #compose .suggestions{top:46px;max-height:min(240px,34dvh);border-radius:14px;box-shadow:0 20px 50px rgba(0,0,0,.46)}
  #compose .suggestionrow{min-height:46px;padding:8px 9px}
  #compose .modalbody>.actions:not(.composefooter){margin:2px 0 5px}
  #compose .modalbody>.actions:not(.composefooter) .secondary{min-height:36px;padding:7px 10px;border-radius:11px;font-size:10px;background:rgba(19,29,49,.78)}
  #compose .composeattachments{margin:5px 0;gap:5px}.composeatt{padding:6px 8px;font-size:9px;border-radius:10px}
  #compose .composeextras{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px;margin:5px 0 2px}
  #compose .field.compact{min-width:0;margin:0;padding:0}.field.compact>span{font-size:7px;letter-spacing:.08em;margin:0 0 4px;color:#74819c}
  #compose .field.compact select,#compose .field.compact input{min-height:38px;height:38px;font-size:11px;margin:0;padding:6px 8px;border-radius:11px}
  #compose .inlinefield{gap:4px}.inlinefield button{min-height:38px;height:38px;padding:5px 7px;font-size:9px;border-radius:10px}
  #compose .composefooter{position:sticky;bottom:-10px;z-index:4;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.92fr) auto;gap:6px;margin:8px -10px -10px;padding:9px 10px calc(9px + env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(8,14,27,.72),rgba(8,14,27,.985) 25%);border-top:1px solid rgba(155,170,210,.10);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
  #compose .composefooter button{width:100%;min-width:0;min-height:42px;height:42px;padding:7px 9px;border-radius:13px;font-size:10px;font-weight:800;box-shadow:none}
  #compose .composefooter .primary{background:linear-gradient(135deg,#ff766d 0%,#b35bff 58%,#667cff 100%);box-shadow:0 10px 24px rgba(118,83,244,.22),inset 0 1px 0 rgba(255,255,255,.2)}
  #compose .composefooter .secondary{background:rgba(19,28,47,.9)}
  #compose .composefooter .draftbtn{width:42px;padding:0}
  #compose .composefooter .draftbtn .compose-btn-label{display:none}
  #compose .smallnote{display:none}
}

@media (max-width:380px){
  #compose.modal{padding-inline:7px}
  #compose .modalbox.composebox{width:96vw;max-height:80dvh;border-radius:23px}
  #compose .composeextras{grid-template-columns:1fr}
  #compose .modalbody textarea{height:clamp(106px,21dvh,155px);min-height:106px}
  #compose .composefooter{grid-template-columns:minmax(0,1fr) minmax(0,.82fr) 40px}
  #compose .composefooter button{font-size:9px;padding-inline:7px}
  #compose .composefooter .draftbtn{width:40px}
}

@media (prefers-reduced-motion:reduce){#compose .modalbox.composebox{animation:none}}


/* =========================================================
   NOVA MAIL 0.9.10.7 — MOBILE LONG PRESS MESSAGE ACTIONS
   ========================================================= */
@media(max-width:820px), (pointer:coarse){
  .msg{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
  .msg.longpress-arming{transform:scale(.985);border-color:color-mix(in srgb,var(--th-accent,#8064ff) 45%,transparent);box-shadow:0 0 0 2px color-mix(in srgb,var(--th-glow,rgba(118,94,255,.22)) 48%,transparent),0 12px 28px rgba(0,0,0,.18);transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}
  .msg.longpress-selected{transform:scale(.972)!important;filter:brightness(1.12);box-shadow:0 0 0 2px color-mix(in srgb,var(--th-accent,#8064ff) 65%,transparent),0 16px 34px color-mix(in srgb,var(--th-glow,rgba(118,94,255,.22)) 48%,transparent)!important}
}
body.message-action-open{overflow:hidden}
.longpresssheet{position:fixed;inset:0;z-index:10080;display:grid;align-items:end;pointer-events:none}
.longpressbackdrop{position:absolute;inset:0;border:0;background:rgba(1,5,16,.58);backdrop-filter:blur(3px);opacity:0;transition:opacity .18s ease}
.longpresspanel{position:relative;width:min(100% - 18px,470px);margin:0 auto calc(9px + env(safe-area-inset-bottom));padding:9px 12px 12px;border-radius:26px;border:1px solid var(--th-border,rgba(148,173,239,.18));background:color-mix(in srgb,var(--panel,#10182a) 91%,transparent);box-shadow:0 24px 70px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.08);backdrop-filter:blur(30px) saturate(1.35);transform:translateY(calc(100% + 32px)) scale(.98);opacity:.7;transition:transform .22s cubic-bezier(.2,.8,.2,1),opacity .18s ease}
.longpresssheet.show{pointer-events:auto}.longpresssheet.show .longpressbackdrop{opacity:1}.longpresssheet.show .longpresspanel{transform:none;opacity:1}
.longpresshandle{display:block;width:42px;height:4px;border-radius:999px;margin:2px auto 10px;background:rgba(170,186,222,.35)}
.longpresssummary{display:flex;align-items:center;gap:11px;padding:7px 8px 11px;border-bottom:1px solid rgba(150,170,219,.10)}
.longpressavatar{width:40px;height:40px;border-radius:14px;flex:0 0 auto}.longpresssummary>div{min-width:0;display:grid;gap:2px}.longpresssummary small{font-size:8px;letter-spacing:.09em;color:var(--muted);font-weight:850}.longpresssummary b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.longpresssummary span{font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.longpressdelete{width:100%;min-height:62px;margin-top:10px;padding:10px 13px;border-radius:18px;border:1px solid rgba(255,111,135,.22);background:linear-gradient(145deg,rgba(164,43,75,.20),rgba(91,30,58,.18));color:#ff9aac;display:grid;grid-template-columns:36px 1fr auto;align-items:center;text-align:left;gap:10px}.longpressdelete>span{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:rgba(255,83,116,.13);font-size:18px}.longpressdelete>div{display:grid;gap:3px}.longpressdelete b{font-size:13px}.longpressdelete small{font-size:9px;color:#d7a0ac}.longpressdelete i{font-style:normal;font-size:24px;opacity:.55}.longpressdelete.permanent{background:linear-gradient(145deg,rgba(197,34,60,.27),rgba(111,19,43,.23));border-color:rgba(255,91,112,.32)}
.longpressnote{margin:10px 8px 0;padding:9px 11px;border-radius:13px;background:rgba(255,185,73,.08);border:1px solid rgba(255,185,73,.15);color:#d9b87f;font-size:9px;line-height:1.45}
.longpresscancel{width:100%;height:46px;margin-top:8px;border-radius:16px;border:1px solid var(--th-border,rgba(148,173,239,.15));background:rgba(122,144,194,.08);color:var(--text);font-weight:800}
@media(prefers-reduced-motion:reduce){.longpresspanel,.longpressbackdrop,.msg.longpress-arming,.msg.longpress-selected{transition:none!important}}


/* =========================================================
   NOVA MAIL 0.9.10.7 — CIRCULAR + ANIMATED PWA SWIPE
   Geste naturel : doigt droite = précédent ; doigt gauche = suivant.
   Réception et Plus sont reliés en boucle.
   ========================================================= */
@media (max-width:760px){
  html,body{overscroll-behavior-x:none}
  .app,.list,.reader{touch-action:pan-y}
  .mobilecompose.swipe-active,.mobilebottom>button.swipe-active{
    transform:translateY(-3px) scale(1.045);
    filter:drop-shadow(0 8px 16px color-mix(in srgb,var(--accent,#7858ff) 35%,transparent));
  }
  .mobilecompose.swipe-active::after,.mobilebottom>button.swipe-active::after{opacity:1;transform:translateX(-50%) scaleX(1)}

  body.pwa-swipe-dragging .list,body.pwa-swipe-dragging .reader{
    transform:translate3d(var(--pwa-drag-x,0),0,0);opacity:.96;transition:none!important;will-change:transform,opacity
  }
  body.pwa-swipe-dragging #compose:not(.hidden) .composebox{
    transform:translate3d(var(--pwa-drag-x,0),0,0) scale(.996);transition:none!important;will-change:transform
  }

  body.pwa-swipe-out-next .list,body.pwa-swipe-out-next .reader{animation:novaSwipeOutNext .145s cubic-bezier(.4,0,.7,.2) both}
  body.pwa-swipe-out-prev .list,body.pwa-swipe-out-prev .reader{animation:novaSwipeOutPrev .145s cubic-bezier(.4,0,.7,.2) both}
  body.pwa-swipe-in-next .list,body.pwa-swipe-in-next .reader{animation:novaSwipeInNext .285s cubic-bezier(.16,.84,.28,1) both}
  body.pwa-swipe-in-prev .list,body.pwa-swipe-in-prev .reader{animation:novaSwipeInPrev .285s cubic-bezier(.16,.84,.28,1) both}

  body.pwa-swipe-out-next #compose:not(.hidden) .composebox{animation:novaSwipeSheetOutNext .145s ease-in both}
  body.pwa-swipe-out-prev #compose:not(.hidden) .composebox{animation:novaSwipeSheetOutPrev .145s ease-in both}
  body.pwa-swipe-in-next #compose:not(.hidden) .composebox{animation:novaSwipeSheetInNext .285s cubic-bezier(.16,.84,.28,1) both}
  body.pwa-swipe-in-prev #compose:not(.hidden) .composebox{animation:novaSwipeSheetInPrev .285s cubic-bezier(.16,.84,.28,1) both}
}
@keyframes novaSwipeOutNext{to{opacity:.25;transform:translate3d(-22vw,0,0) scale(.985)}}
@keyframes novaSwipeOutPrev{to{opacity:.25;transform:translate3d(22vw,0,0) scale(.985)}}
@keyframes novaSwipeInNext{0%{opacity:.18;transform:translate3d(24vw,0,0) scale(.985)}65%{opacity:1}100%{opacity:1;transform:none}}
@keyframes novaSwipeInPrev{0%{opacity:.18;transform:translate3d(-24vw,0,0) scale(.985)}65%{opacity:1}100%{opacity:1;transform:none}}
@keyframes novaSwipeSheetOutNext{to{opacity:.18;transform:translate3d(-18vw,10px,0) scale(.975)}}
@keyframes novaSwipeSheetOutPrev{to{opacity:.18;transform:translate3d(18vw,10px,0) scale(.975)}}
@keyframes novaSwipeSheetInNext{0%{opacity:.2;transform:translate3d(22vw,12px,0) scale(.975)}100%{opacity:1;transform:translate3d(0,0,0) scale(1)}}
@keyframes novaSwipeSheetInPrev{0%{opacity:.2;transform:translate3d(-22vw,12px,0) scale(.975)}100%{opacity:1;transform:translate3d(0,0,0) scale(1)}}
.pwa-swipe-cue{
  position:fixed;left:50%;bottom:calc(92px + env(safe-area-inset-bottom));z-index:1300;
  display:flex;align-items:center;gap:9px;max-width:min(78vw,300px);padding:10px 15px;border-radius:999px;
  color:#fff;background:rgba(12,18,38,.84);border:1px solid rgba(154,166,255,.28);box-shadow:0 14px 38px rgba(0,0,0,.34);
  backdrop-filter:blur(18px) saturate(145%);-webkit-backdrop-filter:blur(18px) saturate(145%);
  opacity:0;pointer-events:none;transform:translate(-50%,10px) scale(.94);transition:opacity .16s ease,transform .2s cubic-bezier(.2,.8,.2,1)
}
.pwa-swipe-cue span{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:linear-gradient(135deg,var(--accent,#4f8cff),var(--accent2,#c15cff));font-size:15px;font-weight:900}
.pwa-swipe-cue b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pwa-swipe-cue i{font-style:normal;font-size:13px;opacity:.78}
.pwa-swipe-cue.show{opacity:1;transform:translate(-50%,0) scale(1)}
.pwa-swipe-cue.edge{border-color:color-mix(in srgb,var(--accent,#7858ff) 60%,rgba(255,255,255,.2));box-shadow:0 14px 42px color-mix(in srgb,var(--accent,#7858ff) 22%,rgba(0,0,0,.34))}
@media (prefers-reduced-motion:reduce){body.pwa-swipe-dragging .list,body.pwa-swipe-dragging .reader,body.pwa-swipe-dragging #compose:not(.hidden) .composebox{transform:none!important}body.pwa-swipe-out-next .list,body.pwa-swipe-out-next .reader,body.pwa-swipe-out-prev .list,body.pwa-swipe-out-prev .reader,body.pwa-swipe-in-next .list,body.pwa-swipe-in-next .reader,body.pwa-swipe-in-prev .list,body.pwa-swipe-in-prev .reader,body.pwa-swipe-out-next #compose:not(.hidden) .composebox,body.pwa-swipe-out-prev #compose:not(.hidden) .composebox,body.pwa-swipe-in-next #compose:not(.hidden) .composebox,body.pwa-swipe-in-prev #compose:not(.hidden) .composebox{animation:none}.pwa-swipe-cue{transition:none}}


/* NOVA MAIL 0.9.10.8 — NO ACCIDENTAL ZOOM */
html,body{touch-action:pan-x pan-y;-ms-touch-action:pan-x pan-y}
@media(max-width:760px){
  html,body,.app,.list,.reader,.msgs,.setup,#compose{touch-action:pan-x pan-y}
  input,textarea,select,button,a,label{touch-action:manipulation}
}


/* =========================================================
   NOVA MAIL 0.9.11.0 — PWA SAFE HEADER / STATUS BAR
   En mode application installée seulement, garde les contrôles
   sous la barre système Android/iOS même si safe-area vaut 0.
   ========================================================= */
@media (max-width:820px){
  html.nova-pwa-standalone{--nova-pwa-top-safe:max(env(safe-area-inset-top,0px),34px)}
  html.nova-pwa-standalone .top{
    padding-top:calc(10px + var(--nova-pwa-top-safe));
  }
  html.nova-pwa-standalone .side{
    padding-top:calc(14px + var(--nova-pwa-top-safe));
  }
  html.nova-pwa-standalone .msgs{
    height:calc(100dvh - 156px - var(--mobile-bottom-h) - var(--nova-pwa-top-safe) - env(safe-area-inset-bottom));
  }
  html.nova-pwa-standalone .toolbar{
    padding-top:calc(9px + var(--nova-pwa-top-safe));
  }
  html.nova-pwa-standalone body.mobile-special-open .reader .setup{
    padding-top:calc(14px + var(--nova-pwa-top-safe));
  }
  html.nova-pwa-standalone .modalhead{
    padding-top:calc(11px + var(--nova-pwa-top-safe));
  }
}
@media (max-width:420px){
  html.nova-pwa-standalone .msgs{
    height:calc(100dvh - 137px - var(--mobile-bottom-h) - var(--nova-pwa-top-safe) - env(safe-area-inset-bottom));
  }
}


/* =========================================================
   NOVA MAIL 0.9.11.0 — PWA QUICK COPY + BACKDROP CLOSE
   ========================================================= */
@media (max-width:820px){
  #pwaBrandCopy{
    cursor:pointer;user-select:none;-webkit-user-select:none;touch-action:manipulation;
    border-radius:22px;outline:none;transition:background .18s ease,box-shadow .2s ease,transform .18s ease;
  }
  #pwaBrandCopy:active{transform:scale(.985)}
  #pwaBrandCopy:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent,#6f78ff) 60%,transparent)}
  #pwaBrandCopy.copied{
    animation:novaBrandCopyPulse .52s cubic-bezier(.2,.9,.25,1);
    background:linear-gradient(135deg,color-mix(in srgb,var(--accent,#4f8cff) 14%,transparent),color-mix(in srgb,var(--accent2,#c15cff) 10%,transparent));
    box-shadow:0 12px 34px color-mix(in srgb,var(--accent,#4f8cff) 18%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--accent,#4f8cff) 26%,transparent)
  }
  #pwaBrandCopy.copyfailed{animation:novaBrandCopyShake .36s ease;background:rgba(255,82,112,.07)}
  #pwaBrandCopy.copied .brandavatarwrap{animation:novaBrandAvatarPop .48s cubic-bezier(.2,.9,.25,1.2)}
  #pwaBrandCopy.copied .brandcloud{filter:brightness(1.18);box-shadow:0 0 0 4px rgba(86,222,184,.12),0 8px 24px rgba(60,202,176,.36)}
  html.nova-pwa-standalone .pwa-brand-copy-feedback{
    position:absolute;display:inline-flex!important;right:8px;bottom:1px;z-index:4;align-items:center;justify-content:center;
    max-width:calc(100% - 72px);padding:4px 8px;border-radius:999px;border:1px solid color-mix(in srgb,#60e0ae 30%,transparent);
    background:rgba(15,42,43,.88);color:#8af0c8;font-size:8px;font-weight:900;letter-spacing:.02em;white-space:nowrap;
    opacity:0;pointer-events:none;transform:translateY(5px) scale(.94);transition:opacity .16s ease,transform .2s cubic-bezier(.2,.8,.2,1);
    backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)
  }
  html.nova-pwa-standalone .pwa-brand-copy-feedback.show{opacity:1;transform:translateY(0) scale(1)}
  html.nova-pwa-standalone #pwaBrandCopy.copyfailed .pwa-brand-copy-feedback{color:#ff9daf;border-color:rgba(255,92,120,.28);background:rgba(54,18,31,.9)}

  #compose.modal{transition:background .15s ease,backdrop-filter .15s ease,-webkit-backdrop-filter .15s ease}
  #compose.backdrop-closing{background:rgba(2,5,13,0);backdrop-filter:blur(0) saturate(1);-webkit-backdrop-filter:blur(0) saturate(1)}
  #compose.backdrop-closing .modalbox.composebox{animation:novaComposerBackdropOut .145s cubic-bezier(.4,0,.8,.2) both!important}
}
@keyframes novaBrandCopyPulse{0%{transform:scale(1)}35%{transform:scale(.972)}72%{transform:scale(1.012)}100%{transform:scale(1)}}
@keyframes novaBrandAvatarPop{0%{transform:scale(1)}48%{transform:scale(1.11) rotate(-2deg)}100%{transform:scale(1)}}
@keyframes novaBrandCopyShake{0%,100%{transform:none}30%{transform:translateX(-3px)}65%{transform:translateX(3px)}}
@keyframes novaComposerBackdropOut{to{opacity:0;transform:translateY(26px) scale(.985)}}
@media (prefers-reduced-motion:reduce){#pwaBrandCopy,#pwaBrandCopy .brandavatarwrap,.pwa-brand-copy-feedback,#compose.backdrop-closing .modalbox.composebox{animation:none!important;transition:none!important}}


/* =========================================================
   NOVA MAIL 0.9.11.5 — DESKTOP BADGE ISOLATION
   Badge copy is invisible everywhere by default; it is only revealed
   inside the installed mobile PWA.
   ========================================================= */
.pwa-brand-copy-hint,.pwa-brand-copy-feedback{display:none!important}

/* =========================================================
   NOVA MAIL 0.9.11.5 — VISIBLE COPY BADGE
   ========================================================= */
@media (max-width:820px){
  html.nova-pwa-standalone .pwa-brand-copy-hint{
    margin-left:auto;display:inline-flex!important;align-items:center;gap:5px;flex:0 0 auto;
    min-height:26px;padding:5px 9px;border-radius:999px;
    border:1px solid color-mix(in srgb,var(--accent,#4f8cff) 34%,transparent);
    background:linear-gradient(135deg,color-mix(in srgb,var(--accent,#4f8cff) 16%,rgba(8,20,43,.8)),color-mix(in srgb,var(--accent2,#c15cff) 12%,rgba(8,20,43,.8)));
    color:color-mix(in srgb,var(--text,#f5f7ff) 92%,var(--accent,#4f8cff));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 5px 16px rgba(0,0,0,.14);
    font-size:9px;font-weight:900;letter-spacing:.015em;line-height:1;white-space:nowrap;
    transition:transform .18s ease,background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease
  }
  html.nova-pwa-standalone .pwa-brand-copy-hint svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
  html.nova-pwa-standalone #pwaBrandCopy:active .pwa-brand-copy-hint{transform:scale(.94)}
  html.nova-pwa-standalone #pwaBrandCopy.copied .pwa-brand-copy-hint,html.nova-pwa-standalone .pwa-brand-copy-hint.success{
    color:#98f4d1;border-color:rgba(91,228,177,.38);background:rgba(25,76,65,.72);
    box-shadow:0 0 0 4px rgba(91,228,177,.08),inset 0 1px 0 rgba(255,255,255,.08)
  }
  html.nova-pwa-standalone .pwa-brand-copy-hint.failed{color:#ff9daf;border-color:rgba(255,92,120,.34);background:rgba(70,24,39,.72)}
}
@media(max-width:380px){html.nova-pwa-standalone .pwa-brand-copy-hint{padding:5px 7px;font-size:8px}html.nova-pwa-standalone .pwa-brand-copy-hint svg{width:11px;height:11px}}


/* =========================================================
   NOVA MAIL 0.9.11.5 — EMPTY MESSAGE FEEDBACK
   ========================================================= */
.compose-body-warning{display:flex;align-items:flex-start;gap:10px;margin:-1px 0 10px;padding:10px 12px;border:1px solid rgba(255,102,132,.42);border-radius:12px;background:linear-gradient(135deg,rgba(255,75,112,.13),rgba(255,147,86,.07));color:#ffd7df;box-shadow:0 8px 24px rgba(0,0,0,.14);animation:novaWarningIn .22s ease both}
.compose-body-warning>span{display:grid;place-items:center;flex:0 0 27px;height:27px;border-radius:9px;background:rgba(255,102,132,.16);font-size:14px}.compose-body-warning b{display:block;font-size:11px;margin:1px 0 3px}.compose-body-warning small{display:block;color:rgba(255,225,231,.74);font-size:9.5px;line-height:1.45}
#compose .modalbody textarea.compose-empty-error{border-color:rgba(255,96,125,.82)!important;box-shadow:0 0 0 3px rgba(255,78,115,.13),0 0 24px rgba(255,78,115,.08)!important;animation:novaComposeShake .34s ease}
@keyframes novaWarningIn{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
@keyframes novaComposeShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-4px)}50%{transform:translateX(4px)}75%{transform:translateX(-2px)}}
@media(max-width:720px){.compose-body-warning{margin:-1px 0 8px;padding:9px 10px}.compose-body-warning small{font-size:9px}}

/* =========================================================
   NOVA MAIL 0.9.11.5 — LIGHT THEME IDENTITY CONTRAST
   Pearl Light / Rose Soft / Lavender Dream
   L'ancien style global de .who utilisait une couleur quasi blanche,
   parfaite sur les thèmes sombres mais presque invisible sur fond clair.
   ========================================================= */
html[data-nova-theme="pearl"] .who,
html[data-nova-theme="rose"] .who,
html[data-nova-theme="lavender"] .who,
html[data-nova-theme="pearl"] .sender b,
html[data-nova-theme="rose"] .sender b,
html[data-nova-theme="lavender"] .sender b,
html[data-nova-theme="pearl"] .threadsender b,
html[data-nova-theme="rose"] .threadsender b,
html[data-nova-theme="lavender"] .threadsender b,
html[data-nova-theme="pearl"] .readtitle,
html[data-nova-theme="rose"] .readtitle,
html[data-nova-theme="lavender"] .readtitle{
  color:var(--text);
}
html[data-nova-theme="pearl"] .sender small,
html[data-nova-theme="rose"] .sender small,
html[data-nova-theme="lavender"] .sender small,
html[data-nova-theme="pearl"] .threadsender small,
html[data-nova-theme="rose"] .threadsender small,
html[data-nova-theme="lavender"] .threadsender small{
  color:var(--muted);
}


/* =========================================================
   NOVA MAIL 0.9.11.6 — READER ACTION BAR REFRESH
   ========================================================= */
.toolbar{gap:10px;margin-bottom:26px}
.toolbar button.msgactionbtn{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:10px 14px;border-radius:14px;border:1px solid color-mix(in srgb,var(--line) 82%, #ffffff 18%);background:linear-gradient(180deg,color-mix(in srgb,var(--panel2) 90%, #ffffff 10%),color-mix(in srgb,var(--panel) 92%, #000000 8%));color:var(--text);font-weight:780;box-shadow:0 10px 26px #00000012;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease}
.toolbar button.msgactionbtn:hover{transform:translateY(-1px);box-shadow:0 14px 30px #00000018;border-color:color-mix(in srgb,var(--purple) 44%, var(--line) 56%)}
.toolbar button.msgactionbtn .msgactionicon{width:22px;height:22px;border-radius:8px;display:grid;place-items:center;background:color-mix(in srgb,var(--panel3) 76%, transparent);font-size:13px;flex:0 0 auto}
.toolbar button.msgactionbtn .msgactionlabel{line-height:1;white-space:nowrap}
.toolbar button.msgactionbtn.action-primary{background:linear-gradient(135deg,#7b75ff,#8f59ff);border-color:transparent;color:#fff;box-shadow:0 16px 34px #7d65ff33}
.toolbar button.msgactionbtn.action-primary .msgactionicon{background:#ffffff24;color:#fff}
.toolbar button.msgactionbtn.action-accent{background:linear-gradient(135deg,#5dbcf7,#7868ff);border-color:transparent;color:#fff;box-shadow:0 16px 34px #5d9dff30}
.toolbar button.msgactionbtn.action-accent .msgactionicon{background:#ffffff22;color:#fff}
.toolbar button.msgactionbtn.action-warning{background:linear-gradient(135deg,#ff9b6b,#ff6ea3);border-color:transparent;color:#fff;box-shadow:0 16px 34px #ff8b7a33}
.toolbar button.msgactionbtn.action-warning .msgactionicon{background:#ffffff22;color:#fff}
.toolbar button.msgactionbtn.action-danger{border-color:#ff7f9d55;background:linear-gradient(180deg,#ff8ea20f,#ff607d14);color:#ff6f8f}
.toolbar button.msgactionbtn.action-danger .msgactionicon{background:#ff6b8e1b;color:#ff6487}
.toolbar button.msgactionbtn.action-neutral .msgactionicon{color:var(--purple)}

.actionpickeroverlay{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:20px}
.actionpickerbackdrop{position:absolute;inset:0;border:0;background:#02061178;backdrop-filter:blur(4px)}
.actionpickersheet{position:relative;width:min(460px,calc(100vw - 24px));max-height:min(78vh,720px);overflow:auto;border-radius:24px;border:1px solid color-mix(in srgb,var(--line) 82%, #ffffff 18%);background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 96%, #ffffff 4%),color-mix(in srgb,var(--panel2) 94%, #000000 6%));box-shadow:0 38px 90px #0009;padding:18px}
.actionpickerhead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}
.actionpickerhead b{display:block;font-size:20px;letter-spacing:-.03em}
.actionpickerhead small{display:block;color:var(--muted);line-height:1.45;margin-top:4px}
.actionpickerclose{width:40px;height:40px;border-radius:14px;border:1px solid var(--line);background:var(--panel2);color:var(--text);display:grid;place-items:center;flex:0 0 auto}
.actionpickerlist{display:grid;gap:10px}
.actionpickeritem{width:100%;display:flex;align-items:center;gap:12px;text-align:left;padding:14px 15px;border-radius:17px;border:1px solid var(--line);background:linear-gradient(180deg,color-mix(in srgb,var(--panel2) 92%, #ffffff 8%),color-mix(in srgb,var(--panel) 96%, #000000 4%));color:var(--text)}
.actionpickeritem:hover{border-color:color-mix(in srgb,var(--purple) 46%, var(--line) 54%);transform:translateY(-1px)}
.actionpickeritem.active{border-color:#7a67ff66;background:linear-gradient(180deg,#7e67ff20,#7e67ff12)}
.actionpickeritem.danger{border-color:#ff7c9c55;color:#ff93a8}
.actionpickericon{width:38px;height:38px;border-radius:13px;display:grid;place-items:center;background:color-mix(in srgb,var(--panel3) 86%, transparent);font-size:17px;flex:0 0 auto}
.actionpickeritem.active .actionpickericon{background:#7b68ff2a;color:#c7b9ff}
.actionpickeritem.danger .actionpickericon{background:#ff6b8e1b;color:#ff85a1}
.actionpickertext{min-width:0;flex:1}
.actionpickertext b,.actionpickertext small{display:block}.actionpickertext small{color:var(--muted);margin-top:4px}
.actionpickeritem i{font-style:normal;color:var(--muted);font-size:18px}
.actionpickerextras{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.actionpickerextras .secondary,.actionpickerextras .primary,.actionpickerextras .danger{min-height:44px;border-radius:14px}
@media(max-width:820px){
  .toolbar{gap:9px;padding-left:12px;padding-right:12px}
  .toolbar button.msgactionbtn{min-height:41px;padding:8px 12px;border-radius:13px}
  .toolbar button.msgactionbtn .msgactionicon{width:20px;height:20px;border-radius:7px;font-size:12px}
  .actionpickeroverlay{padding:14px}
  .actionpickersheet{width:100%;max-height:min(84vh,760px);border-radius:20px;padding:16px}
}


/* =========================================================
   NOVA MAIL 0.9.11.8 — PERMANENT DELETE
   ========================================================= */
/* Le haut garde seulement les actions réellement utiles à la lecture. */
.toolbar{align-items:center;row-gap:10px}

/* Contact + Label quittent la toolbar et deviennent des raccourcis bas. */
.readerbottomactions{
  margin-top:28px;
  padding:24px 2px 8px;
  border-top:1px solid var(--line);
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:88px;
}
.readerroundaction{
  position:relative;
  width:52px;
  height:52px;
  border-radius:50%;
  border:1px solid color-mix(in srgb,var(--line) 72%, var(--purple) 28%);
  background:linear-gradient(180deg,color-mix(in srgb,var(--panel2) 92%, #ffffff 8%),color-mix(in srgb,var(--panel) 96%, #000000 4%));
  color:var(--text);
  display:grid;
  place-items:center;
  box-shadow:0 12px 28px #00000018;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
.readerroundaction:hover{
  transform:translateY(-2px);
  border-color:color-mix(in srgb,var(--purple) 72%, var(--line) 28%);
  box-shadow:0 16px 34px #00000024,0 0 0 4px color-mix(in srgb,var(--purple) 10%, transparent);
}
.readerroundaction span{display:grid;place-items:center;line-height:1}
.contactround span{font-size:30px;font-weight:300;color:var(--purple)}
.labelround span{font-size:21px;filter:saturate(1.1)}
.labelround{color:var(--purple)}

/* Tooltip PC : le sens de l'icône reste évident sans remettre du texte dans l'UI. */
.readerroundaction::after{
  content:attr(data-tooltip);
  position:absolute;
  bottom:calc(100% + 10px);
  left:50%;
  transform:translate(-50%,6px);
  padding:7px 10px;
  border-radius:9px;
  background:color-mix(in srgb,var(--panel3) 94%, #000000 6%);
  color:var(--text);
  border:1px solid var(--line);
  box-shadow:0 10px 28px #0008;
  font-size:11px;
  font-weight:800;
  white-space:nowrap;
  opacity:0;
  pointer-events:none;
  transition:opacity .14s ease,transform .14s ease;
  z-index:8;
}
.readerroundaction:hover::after,
.readerroundaction:focus-visible::after{opacity:1;transform:translate(-50%,0)}

@media(max-width:820px){
  .readerbottomactions{margin-top:22px;padding:20px 2px calc(12px + env(safe-area-inset-bottom));min-height:82px}
  .readerroundaction{width:50px;height:50px}
  .readerroundaction::after{display:none}
}


/* =========================================================
   NOVA MAIL 0.9.11.9 — LIGHT THEME CONTROLS VISIBILITY
   ========================================================= */
/* Icônes des raccourcis du bas : plus d'emoji système trop pâle. */
.readerroundicon{display:grid;place-items:center;width:24px;height:24px;color:var(--purple)}
.readerroundicon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.readerplusicon{font-size:31px;font-weight:300;line-height:1;color:var(--purple)}
.labelround span{filter:none}

/* Les trois thèmes clairs ont leurs propres contrastes de contrôles. */
html[data-nova-theme="rose"] .readerroundaction,
html[data-nova-theme="lavender"] .readerroundaction,
html[data-nova-theme="pearl"] .readerroundaction{
  background:linear-gradient(180deg,#ffffff,color-mix(in srgb,var(--panel2) 82%,#ffffff 18%));
  border-color:color-mix(in srgb,var(--purple2) 42%,var(--line) 58%);
  color:var(--purple2);
  box-shadow:0 10px 24px color-mix(in srgb,var(--purple) 10%,transparent),0 2px 6px #27324a12;
}
html[data-nova-theme="rose"] .readerroundaction:hover,
html[data-nova-theme="lavender"] .readerroundaction:hover,
html[data-nova-theme="pearl"] .readerroundaction:hover{
  background:linear-gradient(180deg,#ffffff,color-mix(in srgb,var(--purple) 10%,#ffffff 90%));
  border-color:var(--purple2);
  box-shadow:0 14px 30px color-mix(in srgb,var(--purple2) 17%,transparent),0 0 0 4px color-mix(in srgb,var(--purple) 10%,transparent);
}
html[data-nova-theme="rose"] .readerroundicon,
html[data-nova-theme="rose"] .readerplusicon,
html[data-nova-theme="lavender"] .readerroundicon,
html[data-nova-theme="lavender"] .readerplusicon,
html[data-nova-theme="pearl"] .readerroundicon,
html[data-nova-theme="pearl"] .readerplusicon{color:var(--purple2)}
html[data-nova-theme="rose"] .readerbottomactions,
html[data-nova-theme="lavender"] .readerbottomactions,
html[data-nova-theme="pearl"] .readerbottomactions{border-top-color:color-mix(in srgb,var(--text) 15%,transparent)}

/* Le tooltip reste lisible sur fond clair. */
html[data-nova-theme="rose"] .readerroundaction::after,
html[data-nova-theme="lavender"] .readerroundaction::after,
html[data-nova-theme="pearl"] .readerroundaction::after{
  background:var(--text);
  color:#fff;
  border-color:transparent;
  box-shadow:0 10px 24px color-mix(in srgb,var(--text) 24%,transparent);
}

/* Stockage sidebar : valeur + progression ne doivent jamais disparaître. */
html[data-nova-theme="rose"] .storagebox,
html[data-nova-theme="lavender"] .storagebox,
html[data-nova-theme="pearl"] .storagebox{
  background:var(--th-card)!important;
  border-color:color-mix(in srgb,var(--purple) 22%,var(--line))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85),0 8px 22px color-mix(in srgb,var(--purple) 8%,transparent);
}
html[data-nova-theme="rose"] .storagetop,
html[data-nova-theme="lavender"] .storagetop,
html[data-nova-theme="pearl"] .storagetop{color:var(--muted)!important}
html[data-nova-theme="rose"] .storagetop span,
html[data-nova-theme="lavender"] .storagetop span,
html[data-nova-theme="pearl"] .storagetop span{color:var(--muted)!important;font-weight:750}
html[data-nova-theme="rose"] .storagetop b,
html[data-nova-theme="lavender"] .storagetop b,
html[data-nova-theme="pearl"] .storagetop b{color:var(--text)!important;font-weight:900;text-shadow:none}
html[data-nova-theme="rose"] .storagebar,
html[data-nova-theme="lavender"] .storagebar,
html[data-nova-theme="pearl"] .storagebar{
  background:color-mix(in srgb,var(--text) 15%,var(--panel2))!important;
  border-color:color-mix(in srgb,var(--text) 11%,var(--line))!important;
}
html[data-nova-theme="rose"] .storagebar span,
html[data-nova-theme="lavender"] .storagebar span,
html[data-nova-theme="pearl"] .storagebar span{
  background:linear-gradient(90deg,var(--purple2),var(--purple),#48b6c8)!important;
  box-shadow:none!important;
}
html[data-nova-theme="rose"] .storageglassicon,
html[data-nova-theme="lavender"] .storageglassicon,
html[data-nova-theme="pearl"] .storageglassicon{
  color:var(--purple2)!important;
  background:color-mix(in srgb,var(--purple) 10%,#ffffff 90%);
  border-color:color-mix(in srgb,var(--purple2) 25%,var(--line));
  box-shadow:none;
}


/* =========================================================
   NOVA MAIL 0.9.11.10 — LIGHT THEME COUNTER BADGES
   ========================================================= */
/* Les compteurs doivent rester lisibles sur les trois thèmes clairs. */
html[data-nova-theme="rose"] .nav .badge,
html[data-nova-theme="rose"] .navsection .badge{
  background:linear-gradient(145deg,#d96f9f,#bd5d91)!important;
  border-color:#ad4f82!important;
  color:#ffffff!important;
  box-shadow:0 5px 13px rgba(173,79,130,.22),inset 0 1px 0 rgba(255,255,255,.24)!important;
  text-shadow:0 1px 1px rgba(92,37,67,.22);
}
html[data-nova-theme="lavender"] .nav .badge,
html[data-nova-theme="lavender"] .navsection .badge{
  background:linear-gradient(145deg,#8b63ee,#7350d4)!important;
  border-color:#6845c7!important;
  color:#ffffff!important;
  box-shadow:0 5px 13px rgba(104,69,199,.22),inset 0 1px 0 rgba(255,255,255,.24)!important;
  text-shadow:0 1px 1px rgba(57,38,102,.22);
}
html[data-nova-theme="pearl"] .nav .badge,
html[data-nova-theme="pearl"] .navsection .badge{
  background:linear-gradient(145deg,#6178e9,#5067cf)!important;
  border-color:#455bbd!important;
  color:#ffffff!important;
  box-shadow:0 5px 13px rgba(69,91,189,.20),inset 0 1px 0 rgba(255,255,255,.24)!important;
  text-shadow:0 1px 1px rgba(37,53,118,.22);
}

/* Dans la section sélectionnée, inversion claire : pastille blanche + chiffre coloré. */
html[data-nova-theme="rose"] .nav button.on .badge,
html[data-nova-theme="rose"] .navsection button.on .badge{
  background:#ffffff!important;
  border-color:rgba(255,255,255,.88)!important;
  color:#b94f82!important;
  box-shadow:0 5px 14px rgba(126,55,89,.18)!important;
  text-shadow:none;
}
html[data-nova-theme="lavender"] .nav button.on .badge,
html[data-nova-theme="lavender"] .navsection button.on .badge{
  background:#ffffff!important;
  border-color:rgba(255,255,255,.88)!important;
  color:#6d4bc8!important;
  box-shadow:0 5px 14px rgba(75,52,135,.18)!important;
  text-shadow:none;
}
html[data-nova-theme="pearl"] .nav button.on .badge,
html[data-nova-theme="pearl"] .navsection button.on .badge{
  background:#ffffff!important;
  border-color:rgba(255,255,255,.88)!important;
  color:#4e63c7!important;
  box-shadow:0 5px 14px rgba(55,73,150,.18)!important;
  text-shadow:none;
}

/* Un peu plus de présence sans grossir excessivement. */
html[data-nova-theme="rose"] .badge,
html[data-nova-theme="lavender"] .badge,
html[data-nova-theme="pearl"] .badge{
  min-width:28px;
  height:27px;
  padding:0 8px;
  font-size:10px;
  font-weight:950;
}


/* =========================================================
   NOVA MAIL 0.9.11.11 — CONTACT BUTTON VISIBILITY
   ========================================================= */
/* Le bouton Contact du lecteur utilise désormais une vraie icône SVG,
   donc il reste visible dans Rose Soft, Pearl Light et tous les autres thèmes. */
.contactround .readerplusicon{width:24px;height:24px}
.contactround .readerplusicon svg{width:24px;height:24px;stroke:currentColor;stroke-width:2.15;fill:none;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 0 rgba(255,255,255,.14))}

html[data-nova-theme="rose"] .contactround,
html[data-nova-theme="pearl"] .contactround,
html[data-nova-theme="lavender"] .contactround{
  background:linear-gradient(180deg,#ffffff,color-mix(in srgb,var(--purple) 8%,#ffffff 92%))!important;
  border-color:color-mix(in srgb,var(--purple2) 48%,var(--line) 52%)!important;
}
html[data-nova-theme="rose"] .contactround .readerplusicon,
html[data-nova-theme="rose"] .contactround .readerplusicon svg,
html[data-nova-theme="pearl"] .contactround .readerplusicon,
html[data-nova-theme="pearl"] .contactround .readerplusicon svg,
html[data-nova-theme="lavender"] .contactround .readerplusicon,
html[data-nova-theme="lavender"] .contactround .readerplusicon svg{
  color:var(--purple2)!important;
  stroke:currentColor!important;
}
html[data-nova-theme="rose"] .contactround:hover,
html[data-nova-theme="pearl"] .contactround:hover,
html[data-nova-theme="lavender"] .contactround:hover{
  background:linear-gradient(180deg,#ffffff,color-mix(in srgb,var(--purple) 14%,#ffffff 86%))!important;
  border-color:var(--purple2)!important;
}


/* =========================================================
   NOVA MAIL 0.9.11.12 — ROSE SOFT CONTACT + HARD FIX
   ========================================================= */
/* Rose Soft : le + est dessiné indépendamment du SVG pour qu'aucun style
   hérité du thème ne puisse le rendre invisible. */
html[data-nova-theme="rose"] .contactround{
  position:relative;
}
html[data-nova-theme="rose"] .contactround .readerplusicon{
  opacity:0!important;
}
html[data-nova-theme="rose"] .contactround::before{
  content:"+";
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color:#b64278!important;
  font-size:31px!important;
  font-weight:500!important;
  line-height:1!important;
  font-family:Arial,Helvetica,sans-serif!important;
  text-shadow:0 1px 0 rgba(255,255,255,.7);
  pointer-events:none;
  z-index:2;
}
html[data-nova-theme="rose"] .contactround:hover::before,
html[data-nova-theme="rose"] .contactround:focus-visible::before{
  color:#9f2f66!important;
}


/* =========================================================
   NOVA MAIL 0.9.11.13 — UNIVERSAL CONTACT BUTTON
   ========================================================= */
/* Le + Contact ne dépend plus d'un SVG, d'un emoji ou d'une couleur de thème.
   Il est dessiné avec deux traits CSS et reste visible partout. */
.contactround{position:relative!important}
.contactround .readerplusicon{
  position:relative!important;
  display:block!important;
  width:24px!important;
  height:24px!important;
  opacity:1!important;
  color:var(--text)!important;
}
.contactround .readerplusicon svg{display:none!important}
.contactround .readerplusicon::before,
.contactround .readerplusicon::after{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  border-radius:999px!important;
  background:currentColor!important;
  box-shadow:0 1px 0 rgba(255,255,255,.16)!important;
}
.contactround .readerplusicon::before{width:19px!important;height:2.5px!important}
.contactround .readerplusicon::after{width:2.5px!important;height:19px!important}

/* Neutralise l'ancien hard-fix Rose Soft : on utilise maintenant le même + partout. */
html[data-nova-theme="rose"] .contactround::before{content:none!important}
html[data-nova-theme="rose"] .contactround .readerplusicon{opacity:1!important}

/* Contraste automatique : texte sombre sur thèmes clairs, texte clair sur thèmes sombres. */
html[data-nova-theme="rose"] .contactround .readerplusicon,
html[data-nova-theme="pearl"] .contactround .readerplusicon,
html[data-nova-theme="lavender"] .contactround .readerplusicon{color:var(--text)!important}


/* =========================================================
   NOVA MAIL 0.9.11.14 — LIGHT READER CONTRAST FIX
   Rose Soft / Lavender Dream / Pearl Light
   ========================================================= */

/* ROSE SOFT */
html[data-nova-theme="rose"] .threaditem{
  background:linear-gradient(145deg,#fffafd,#fff1f7)!important;
  border-color:#e8bfd2!important;
  box-shadow:0 10px 28px rgba(142,85,112,.10)!important;
}
html[data-nova-theme="rose"] .threaditem.current{
  border-color:#d882ac!important;
  box-shadow:0 12px 32px rgba(216,130,172,.15),inset 0 0 0 1px rgba(216,130,172,.08)!important;
}
html[data-nova-theme="rose"] .threadsender{
  background:linear-gradient(180deg,#fff3f8,#ffe9f2)!important;
  border-bottom-color:#e8bfd2!important;
}
html[data-nova-theme="rose"] .threadsender b{
  color:#3b2331!important;
}
html[data-nova-theme="rose"] .threadsender small{
  color:#7f5b6d!important;
}
html[data-nova-theme="rose"] .threadbody{
  background:#fffafd!important;
  color:#3b2331!important;
  border-top:0!important;
}
html[data-nova-theme="rose"] .attachments{
  border-top-color:#e8bfd2!important;
}
html[data-nova-theme="rose"] .attachments h3{
  color:#3b2331!important;
}
html[data-nova-theme="rose"] .attachment{
  background:linear-gradient(180deg,#ffffff,#fff2f7)!important;
  border-color:#e6bfd1!important;
  color:#3b2331!important;
  box-shadow:0 6px 16px rgba(142,85,112,.08)!important;
}
html[data-nova-theme="rose"] .attachment .fname{
  color:#3b2331!important;
}
html[data-nova-theme="rose"] .attachment .meta{
  color:#806174!important;
}

/* LAVENDER DREAM */
html[data-nova-theme="lavender"] .threaditem{
  background:linear-gradient(145deg,#fffdff,#f4edff)!important;
  border-color:#cfb8ef!important;
  box-shadow:0 10px 28px rgba(102,75,157,.10)!important;
}
html[data-nova-theme="lavender"] .threaditem.current{
  border-color:#8b63ee!important;
  box-shadow:0 12px 32px rgba(139,99,238,.14),inset 0 0 0 1px rgba(139,99,238,.07)!important;
}
html[data-nova-theme="lavender"] .threadsender{
  background:linear-gradient(180deg,#fbf7ff,#eee3ff)!important;
  border-bottom-color:#d2bced!important;
}
html[data-nova-theme="lavender"] .threadsender b{
  color:#392652!important;
}
html[data-nova-theme="lavender"] .threadsender small{
  color:#765f97!important;
}
html[data-nova-theme="lavender"] .threadbody{
  background:#fcf9ff!important;
  color:#392652!important;
}
html[data-nova-theme="lavender"] .attachments{
  border-top-color:#d2bced!important;
}
html[data-nova-theme="lavender"] .attachments h3{
  color:#392652!important;
}
html[data-nova-theme="lavender"] .attachment{
  background:linear-gradient(180deg,#ffffff,#f3ebff)!important;
  border-color:#cfb9ef!important;
  color:#392652!important;
  box-shadow:0 6px 16px rgba(102,75,157,.08)!important;
}
html[data-nova-theme="lavender"] .attachment .fname{
  color:#392652!important;
}
html[data-nova-theme="lavender"] .attachment .meta{
  color:#765f97!important;
}

/* PEARL LIGHT */
html[data-nova-theme="pearl"] .threaditem{
  background:linear-gradient(145deg,#ffffff,#f1f5ff)!important;
  border-color:#c8d3e9!important;
  box-shadow:0 10px 28px rgba(50,72,116,.09)!important;
}
html[data-nova-theme="pearl"] .threaditem.current{
  border-color:#6b69ff!important;
  box-shadow:0 12px 32px rgba(87,108,219,.13),inset 0 0 0 1px rgba(87,108,219,.07)!important;
}
html[data-nova-theme="pearl"] .threadsender{
  background:linear-gradient(180deg,#f9fbff,#eaf0ff)!important;
  border-bottom-color:#cbd6ed!important;
}
html[data-nova-theme="pearl"] .threadsender b{
  color:#172033!important;
}
html[data-nova-theme="pearl"] .threadsender small{
  color:#5f6c86!important;
}
html[data-nova-theme="pearl"] .threadbody{
  background:#ffffff!important;
  color:#172033!important;
}
html[data-nova-theme="pearl"] .attachments{
  border-top-color:#cbd6ed!important;
}
html[data-nova-theme="pearl"] .attachments h3{
  color:#172033!important;
}
html[data-nova-theme="pearl"] .attachment{
  background:linear-gradient(180deg,#ffffff,#f1f5ff)!important;
  border-color:#c7d3eb!important;
  color:#172033!important;
  box-shadow:0 6px 16px rgba(50,72,116,.07)!important;
}
html[data-nova-theme="pearl"] .attachment .fname{
  color:#172033!important;
}
html[data-nova-theme="pearl"] .attachment .meta{
  color:#66738d!important;
}

/* HTML renderer header remains coherent in light themes. */
html[data-nova-theme="rose"] .htmlmailnotice,
html[data-nova-theme="lavender"] .htmlmailnotice,
html[data-nova-theme="pearl"] .htmlmailnotice{
  background:linear-gradient(90deg,#ffffff,#f6f1fb)!important;
  color:#51415e!important;
  border-bottom-color:rgba(65,48,78,.12)!important;
}
html[data-nova-theme="rose"] .htmlmailnotice small,
html[data-nova-theme="lavender"] .htmlmailnotice small,
html[data-nova-theme="pearl"] .htmlmailnotice small{
  color:#7a6c89!important;
}


/* =========================================================
   NOVA MAIL 0.9.11.15 — LIGHT SECTIONS CONTRAST FIX
   Contacts + Stockage / Récupération
   Rose Soft / Lavender Dream / Pearl Light
   ========================================================= */

/* ---------- CONTACTS : cartes, recherche, actions ---------- */
html[data-nova-theme="rose"] .contactcard,
html[data-nova-theme="lavender"] .contactcard,
html[data-nova-theme="pearl"] .contactcard{
  background:linear-gradient(145deg,#ffffff,color-mix(in srgb,var(--panel2) 72%,#ffffff 28%))!important;
  border-color:color-mix(in srgb,var(--purple2) 24%,#d9dce7 76%)!important;
  box-shadow:0 8px 22px color-mix(in srgb,var(--purple) 7%,transparent)!important;
}
html[data-nova-theme="rose"] .contactcard:hover,
html[data-nova-theme="lavender"] .contactcard:hover,
html[data-nova-theme="pearl"] .contactcard:hover{
  background:linear-gradient(145deg,#ffffff,color-mix(in srgb,var(--purple) 9%,#ffffff 91%))!important;
  border-color:color-mix(in srgb,var(--purple2) 50%,#d7dce8 50%)!important;
}
html[data-nova-theme="rose"] .contactinfo b,
html[data-nova-theme="lavender"] .contactinfo b,
html[data-nova-theme="pearl"] .contactinfo b{
  color:var(--text)!important;
  text-shadow:none!important;
}
html[data-nova-theme="rose"] .contactinfo small,
html[data-nova-theme="lavender"] .contactinfo small,
html[data-nova-theme="pearl"] .contactinfo small{
  color:var(--muted)!important;
}
html[data-nova-theme="rose"] .contactsearch,
html[data-nova-theme="lavender"] .contactsearch,
html[data-nova-theme="pearl"] .contactsearch{
  background:#ffffff!important;
  border-color:color-mix(in srgb,var(--purple2) 28%,#d9deea 72%)!important;
  color:var(--text)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 5px 14px rgba(46,53,87,.05)!important;
}
html[data-nova-theme="rose"] .contactsearch::placeholder,
html[data-nova-theme="lavender"] .contactsearch::placeholder,
html[data-nova-theme="pearl"] .contactsearch::placeholder{
  color:var(--muted)!important;
  opacity:.82!important;
}
html[data-nova-theme="rose"] .writecontact,
html[data-nova-theme="lavender"] .writecontact,
html[data-nova-theme="pearl"] .writecontact{
  background:color-mix(in srgb,var(--purple) 10%,#ffffff 90%)!important;
  border-color:color-mix(in srgb,var(--purple2) 42%,#d9deea 58%)!important;
  color:var(--purple2)!important;
}
html[data-nova-theme="rose"] .deletecontact,
html[data-nova-theme="lavender"] .deletecontact,
html[data-nova-theme="pearl"] .deletecontact{
  background:#fff5f7!important;
  border-color:#efb0bd!important;
  color:#d55270!important;
}

/* ---------- STOCKAGE : catégories ---------- */
html[data-nova-theme="rose"] .storagecat,
html[data-nova-theme="lavender"] .storagecat,
html[data-nova-theme="pearl"] .storagecat{
  background:linear-gradient(145deg,#ffffff,color-mix(in srgb,var(--panel2) 70%,#ffffff 30%))!important;
  border-color:color-mix(in srgb,var(--purple2) 22%,#d8ddea 78%)!important;
  box-shadow:0 8px 22px color-mix(in srgb,var(--purple) 6%,transparent)!important;
}
html[data-nova-theme="rose"] .storagecat:hover,
html[data-nova-theme="lavender"] .storagecat:hover,
html[data-nova-theme="pearl"] .storagecat:hover{
  background:linear-gradient(145deg,#ffffff,color-mix(in srgb,var(--purple) 8%,#ffffff 92%))!important;
  border-color:color-mix(in srgb,var(--purple2) 44%,#d7ddea 56%)!important;
}
html[data-nova-theme="rose"] .storagecat small,
html[data-nova-theme="lavender"] .storagecat small,
html[data-nova-theme="pearl"] .storagecat small{
  color:var(--muted)!important;
}
html[data-nova-theme="rose"] .storagecat b,
html[data-nova-theme="lavender"] .storagecat b,
html[data-nova-theme="pearl"] .storagecat b{
  color:var(--text)!important;
  text-shadow:none!important;
}

/* ---------- STOCKAGE : points de restauration ---------- */
html[data-nova-theme="rose"] .snapshotrow,
html[data-nova-theme="lavender"] .snapshotrow,
html[data-nova-theme="pearl"] .snapshotrow{
  background:linear-gradient(145deg,#ffffff,color-mix(in srgb,var(--panel2) 66%,#ffffff 34%))!important;
  border-color:color-mix(in srgb,var(--purple2) 20%,#d9deea 80%)!important;
  box-shadow:0 7px 18px color-mix(in srgb,var(--purple) 5%,transparent)!important;
}
html[data-nova-theme="rose"] .snapshotrow b,
html[data-nova-theme="lavender"] .snapshotrow b,
html[data-nova-theme="pearl"] .snapshotrow b{
  color:var(--text)!important;
  text-shadow:none!important;
}
html[data-nova-theme="rose"] .snapshotrow small,
html[data-nova-theme="lavender"] .snapshotrow small,
html[data-nova-theme="pearl"] .snapshotrow small{
  color:var(--muted)!important;
}
html[data-nova-theme="rose"] .snapshotrow .secondary,
html[data-nova-theme="lavender"] .snapshotrow .secondary,
html[data-nova-theme="pearl"] .snapshotrow .secondary{
  background:#ffffff!important;
  border-color:color-mix(in srgb,var(--purple2) 30%,#d9deea 70%)!important;
  color:var(--text)!important;
  box-shadow:0 4px 12px rgba(40,50,80,.05)!important;
}

/* ---------- STOCKAGE : statut, espace disponible, architecture ---------- */
html[data-nova-theme="rose"] #backupStatus,
html[data-nova-theme="lavender"] #backupStatus,
html[data-nova-theme="pearl"] #backupStatus{
  background:color-mix(in srgb,var(--panel2) 54%,#ffffff 46%)!important;
  border:1px solid color-mix(in srgb,var(--purple2) 14%,#d9deea 86%)!important;
  color:var(--muted)!important;
}
html[data-nova-theme="rose"] .storageavailable,
html[data-nova-theme="lavender"] .storageavailable,
html[data-nova-theme="pearl"] .storageavailable{
  background:color-mix(in srgb,var(--panel2) 55%,#ffffff 45%)!important;
  border-color:color-mix(in srgb,var(--purple2) 15%,#d9deea 85%)!important;
}
html[data-nova-theme="rose"] .storageavailable span,
html[data-nova-theme="lavender"] .storageavailable span,
html[data-nova-theme="pearl"] .storageavailable span{
  color:var(--muted)!important;
}
html[data-nova-theme="rose"] .storageavailable b,
html[data-nova-theme="lavender"] .storageavailable b,
html[data-nova-theme="pearl"] .storageavailable b{
  color:#32a77d!important;
  text-shadow:none!important;
}
html[data-nova-theme="rose"] .archnode,
html[data-nova-theme="lavender"] .archnode,
html[data-nova-theme="pearl"] .archnode{
  background:linear-gradient(145deg,#ffffff,color-mix(in srgb,var(--panel2) 64%,#ffffff 36%))!important;
  border-color:color-mix(in srgb,var(--purple2) 19%,#d9deea 81%)!important;
  box-shadow:0 8px 20px color-mix(in srgb,var(--purple) 5%,transparent)!important;
}
html[data-nova-theme="rose"] .archnode b,
html[data-nova-theme="lavender"] .archnode b,
html[data-nova-theme="pearl"] .archnode b{
  color:var(--text)!important;
}
html[data-nova-theme="rose"] .archnode small,
html[data-nova-theme="lavender"] .archnode small,
html[data-nova-theme="pearl"] .archnode small{
  color:var(--muted)!important;
}
html[data-nova-theme="rose"] .archarrow,
html[data-nova-theme="lavender"] .archarrow,
html[data-nova-theme="pearl"] .archarrow{
  color:var(--purple2)!important;
}

/* Titres et petits textes internes dans les cartes claires. */
html[data-nova-theme="rose"] .card h3,
html[data-nova-theme="lavender"] .card h3,
html[data-nova-theme="pearl"] .card h3{
  color:var(--text)!important;
}
html[data-nova-theme="rose"] .card .smallnote,
html[data-nova-theme="lavender"] .card .smallnote,
html[data-nova-theme="pearl"] .card .smallnote{
  color:var(--muted)!important;
}


/* =========================================================
   NOVA MAIL 0.9.11.16 — INLINE CONTACT ACTION
   ========================================================= */
.threadsenderinfo{min-width:0;flex:1}
.threadcontactaction{
  position:relative;
  width:32px;height:32px;flex:0 0 32px;
  margin-left:auto;
  border-radius:50%;
  border:1px solid color-mix(in srgb,var(--purple) 38%,var(--line) 62%);
  background:linear-gradient(180deg,color-mix(in srgb,var(--panel2) 92%,#fff 8%),color-mix(in srgb,var(--panel) 96%,#000 4%));
  color:var(--purple);
  display:grid;place-items:center;
  box-shadow:0 7px 18px rgba(0,0,0,.14);
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
.threadcontactaction:hover{transform:translateY(-1px) scale(1.04);border-color:var(--purple);box-shadow:0 10px 22px color-mix(in srgb,var(--purple) 18%,transparent)}
.threadcontactaction span{position:relative;width:16px;height:16px;display:block}
.threadcontactaction span::before,.threadcontactaction span::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:2px;border-radius:99px;background:currentColor;transform:translate(-50%,-50%)}
.threadcontactaction span::after{transform:translate(-50%,-50%) rotate(90deg)}
.threadcontactaction::after{
  content:attr(data-tooltip);position:absolute;right:0;bottom:calc(100% + 8px);padding:6px 9px;border-radius:8px;
  background:color-mix(in srgb,var(--panel3) 94%,#000 6%);color:var(--text);border:1px solid var(--line);
  box-shadow:0 10px 26px rgba(0,0,0,.28);font-size:10px;font-weight:800;white-space:nowrap;
  opacity:0;pointer-events:none;transform:translateY(4px);transition:opacity .14s ease,transform .14s ease;z-index:10
}
.threadcontactaction:hover::after,.threadcontactaction:focus-visible::after{opacity:1;transform:none}
.readerbottomactions.label-only{justify-content:flex-end}

html[data-nova-theme="rose"] .threadcontactaction,
html[data-nova-theme="lavender"] .threadcontactaction,
html[data-nova-theme="pearl"] .threadcontactaction{
  background:linear-gradient(180deg,#fff,color-mix(in srgb,var(--purple) 8%,#fff 92%));
  border-color:color-mix(in srgb,var(--purple2) 48%,var(--line) 52%);
  color:var(--purple2);
  box-shadow:0 7px 18px color-mix(in srgb,var(--purple2) 12%,transparent)
}
html[data-nova-theme="rose"] .threadcontactaction::after,
html[data-nova-theme="lavender"] .threadcontactaction::after,
html[data-nova-theme="pearl"] .threadcontactaction::after{background:var(--text);color:#fff;border-color:transparent}

@media(max-width:820px){
  .threadcontactaction{width:34px;height:34px;flex-basis:34px}
  .threadcontactaction::after{display:none}
}


/* Nova Mail 0.9.11.20 — Attachment Media Preview */
#compose .composeattachments{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:10px;
  margin:10px 0 12px;
}
#compose .composeatt{
  position:relative;
  min-width:0;
  padding:0;
  overflow:hidden;
  display:grid;
  grid-template-columns:82px minmax(0,1fr) 32px;
  align-items:center;
  gap:10px;
  border-radius:14px;
  background:var(--panel2);
  border:1px solid var(--line);
  box-shadow:0 7px 22px rgba(0,0,0,.10);
}
#compose .composepreview{
  width:82px;
  height:72px;
  overflow:hidden;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.035);
  border-right:1px solid var(--line);
}
#compose .composepreview img,
#compose .composepreview video{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  background:#05070d;
}
#compose .composepreview-video video{object-fit:contain}
#compose .composepreview-file{font-size:23px}
#compose .composepreview-loading{
  position:relative;
  gap:4px;
  grid-auto-flow:column;
  color:var(--muted);
}
#compose .composepaperclip{font-size:20px;opacity:.85}
#compose .composespinner{
  width:15px;height:15px;border-radius:50%;
  border:2px solid rgba(255,255,255,.18);
  border-top-color:var(--purple2);
  animation:novaComposeSpin .75s linear infinite;
}
@keyframes novaComposeSpin{to{transform:rotate(360deg)}}
#compose .composeattinfo{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:10px 0;
}
#compose .composeattinfo b{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:11px;
  color:var(--text);
}
#compose .composeattinfo small{
  color:var(--muted);
  font-size:9px;
}
#compose .composeattremove{
  width:28px;height:28px;
  margin-right:6px;
  border:1px solid transparent;
  border-radius:50%;
  background:transparent;
  color:#ff8ca0;
  display:grid;
  place-items:center;
  cursor:pointer;
  transition:.16s ease;
}
#compose .composeattremove:hover{
  background:rgba(255,92,120,.12);
  border-color:rgba(255,92,120,.24);
  transform:scale(1.05);
}
#compose .composeatt.is-loading{opacity:.8}

/* Light themes */
html[data-nova-theme="rose"] #compose .composeatt,
html[data-nova-theme="lavender"] #compose .composeatt,
html[data-nova-theme="pearl"] #compose .composeatt{
  background:#fff!important;
}
html[data-nova-theme="rose"] #compose .composepreview,
html[data-nova-theme="lavender"] #compose .composepreview,
html[data-nova-theme="pearl"] #compose .composepreview{
  background:#f7f3fa!important;
}

/* Compact mobile composer */
@media(max-width:720px){
  #compose .composeattachments{grid-template-columns:1fr;gap:7px}
  #compose .composeatt{
    grid-template-columns:68px minmax(0,1fr) 30px;
    border-radius:12px;
  }
  #compose .composepreview{width:68px;height:60px}
  #compose .composeattinfo{padding:7px 0}
  #compose .composeattinfo b{font-size:10px}
  #compose .composeattinfo small{font-size:8px}
}


/* Nova Mail 0.9.11.22 — Drag & Drop Attachments */
#compose .composebox{position:relative}
#compose .compose-drop-zone{
  position:absolute;
  inset:10px;
  z-index:40;
  border:2px dashed color-mix(in srgb,var(--purple2) 72%,transparent);
  border-radius:18px;
  background:color-mix(in srgb,var(--panel) 82%,transparent);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  display:grid;
  place-items:center;
  opacity:0;
  transform:scale(.985);
  pointer-events:none;
  transition:opacity .16s ease,transform .16s ease,border-color .16s ease;
}
#compose .compose-drop-zone.active{
  opacity:1;
  transform:scale(1);
}
#compose .compose-drop-inner{
  min-width:min(360px,78%);
  padding:30px 24px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  text-align:center;
  border-radius:20px;
  background:color-mix(in srgb,var(--panel2) 86%,transparent);
  border:1px solid color-mix(in srgb,var(--purple2) 35%,var(--line));
  box-shadow:0 24px 60px rgba(0,0,0,.24);
}
#compose .compose-drop-icon{
  width:54px;height:54px;
  display:grid;place-items:center;
  border-radius:17px;
  font-size:25px;
  background:color-mix(in srgb,var(--purple2) 18%,var(--panel2));
  border:1px solid color-mix(in srgb,var(--purple2) 38%,transparent);
  box-shadow:0 9px 26px color-mix(in srgb,var(--purple2) 16%,transparent);
  animation:novaDropFloat 1.15s ease-in-out infinite alternate;
}
#compose .compose-drop-inner b{font-size:18px;color:var(--text);letter-spacing:-.02em}
#compose .compose-drop-inner small{font-size:10px;color:var(--muted)}
#compose.drag-file-active .composebox{box-shadow:0 28px 85px rgba(0,0,0,.56),0 0 0 2px color-mix(in srgb,var(--purple2) 38%,transparent)}
@keyframes novaDropFloat{from{transform:translateY(1px) scale(.98)}to{transform:translateY(-4px) scale(1.03)}}

html[data-nova-theme="rose"] #compose .compose-drop-zone,
html[data-nova-theme="lavender"] #compose .compose-drop-zone,
html[data-nova-theme="pearl"] #compose .compose-drop-zone{
  background:rgba(255,255,255,.86)!important;
}
html[data-nova-theme="rose"] #compose .compose-drop-inner,
html[data-nova-theme="lavender"] #compose .compose-drop-inner,
html[data-nova-theme="pearl"] #compose .compose-drop-inner{
  background:rgba(255,255,255,.96)!important;
}

@media(max-width:720px){
  #compose .compose-drop-zone{inset:7px;border-radius:18px}
  #compose .compose-drop-inner{min-width:78%;padding:24px 16px}
  #compose .compose-drop-inner b{font-size:15px}
  #compose .compose-drop-icon{width:48px;height:48px;font-size:22px}
}
@media(prefers-reduced-motion:reduce){#compose .compose-drop-zone{transition:none}#compose .compose-drop-icon{animation:none}}


/* Nova Mail 0.9.11.23 — PWA Pull to Refresh */
.pwa-pull-refresh{display:none}
@media(max-width:720px){
  html.nova-pwa-standalone,html.nova-pwa-standalone body{overscroll-behavior-y:none}
  html.nova-pwa-standalone .msgs{overscroll-behavior-y:contain}
  html.nova-pwa-standalone .pwa-pull-refresh{
    --pull-y:0px;
    position:absolute;
    top:calc(58px + env(safe-area-inset-top));
    left:0;right:0;
    height:0;
    z-index:24;
    display:flex;
    justify-content:center;
    pointer-events:none;
    overflow:visible;
    opacity:0;
    transform:translateY(calc(var(--pull-y) - 48px));
    transition:opacity .14s ease,transform .18s cubic-bezier(.2,.8,.2,1);
  }
  html.nova-pwa-standalone .pwa-pull-refresh.visible{opacity:1}
  html.nova-pwa-standalone .pwa-pull-bubble{
    min-width:46px;
    height:46px;
    padding:0 13px;
    border-radius:999px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    color:var(--text);
    background:color-mix(in srgb,var(--panel2) 92%,transparent);
    border:1px solid color-mix(in srgb,var(--purple2) 35%,var(--line));
    box-shadow:0 12px 34px rgba(0,0,0,.28),0 0 0 1px rgba(255,255,255,.03) inset;
    backdrop-filter:blur(18px) saturate(1.25);
    -webkit-backdrop-filter:blur(18px) saturate(1.25);
  }
  html.nova-pwa-standalone .pwa-pull-icon{
    width:26px;height:26px;
    border-radius:50%;
    display:grid;place-items:center;
    flex:0 0 auto;
    font-size:17px;
    font-weight:900;
    color:var(--purple2);
    background:color-mix(in srgb,var(--purple2) 14%,transparent);
    transition:transform .08s linear,color .15s ease,background .15s ease;
  }
  html.nova-pwa-standalone .pwa-pull-bubble small{
    display:none;
    color:var(--muted);
    font-size:9px;
    font-weight:750;
    white-space:nowrap;
  }
  html.nova-pwa-standalone .pwa-pull-refresh.ready .pwa-pull-icon{color:#fff;background:var(--purple2)}
  html.nova-pwa-standalone .pwa-pull-refresh.refreshing .pwa-pull-icon{animation:novaPullSpin .72s linear infinite;color:#fff;background:var(--purple2)}
  html.nova-pwa-standalone .pwa-pull-refresh.done .pwa-pull-icon{animation:none;color:#64e2b4;background:rgba(70,210,154,.15)}
  html.nova-pwa-standalone .pwa-pull-refresh.error .pwa-pull-icon{animation:none;color:#ff8ea4;background:rgba(255,102,126,.13)}
  @keyframes novaPullSpin{to{transform:rotate(360deg)}}
}
@media(min-width:560px) and (max-width:720px){
  html.nova-pwa-standalone .pwa-pull-refresh.refreshing .pwa-pull-bubble small,
  html.nova-pwa-standalone .pwa-pull-refresh.done .pwa-pull-bubble small,
  html.nova-pwa-standalone .pwa-pull-refresh.error .pwa-pull-bubble small{display:block}
}
@media(prefers-reduced-motion:reduce){
  html.nova-pwa-standalone .pwa-pull-refresh{transition:none}
  html.nova-pwa-standalone .pwa-pull-refresh.refreshing .pwa-pull-icon{animation-duration:1.2s}
}


/* Nova Mail 0.9.11.24 — PWA Profile Email */
.brand .brand-address{
  display:block;
  margin-top:5px;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  text-transform:none!important;
  letter-spacing:.015em!important;
  font-size:10px!important;
  line-height:1.25;
  font-weight:750!important;
  color:color-mix(in srgb,var(--text,#f5f7ff) 74%,var(--muted,#8799c9))!important;
}
@media(max-width:820px){
  html.nova-pwa-standalone .brand .brand-address{
    font-size:10.5px!important;
    letter-spacing:.005em!important;
    color:color-mix(in srgb,var(--text,#f5f7ff) 86%,var(--muted,#8799c9))!important;
  }
}
@media(max-width:380px){
  html.nova-pwa-standalone .brand .brand-address{font-size:9.5px!important}
}


/* Nova Mail 0.9.11.25 — Nova Team Spam Guard */
.trustedtag{
  display:inline-flex;
  align-items:center;
  gap:3px;
  margin-left:6px;
  padding:2px 6px;
  border-radius:999px;
  font-size:7px;
  font-weight:900;
  letter-spacing:.04em;
  vertical-align:2px;
  color:#76e8bd;
  background:rgba(74,221,165,.10);
  border:1px solid rgba(96,226,177,.26);
}
.readertrustedbadge{
  display:inline-flex;
  align-items:center;
  margin-left:7px;
  padding:3px 7px;
  border-radius:999px;
  font-size:8px;
  line-height:1;
  font-weight:850;
  color:#76e8bd;
  background:rgba(74,221,165,.10);
  border:1px solid rgba(96,226,177,.25);
  vertical-align:2px;
}
.toolbar button.msgactionbtn.action-safe{
  color:#77e6bb;
  border-color:rgba(92,222,173,.30);
  background:linear-gradient(180deg,rgba(65,201,151,.12),rgba(43,161,123,.08));
  cursor:default;
  opacity:1;
}
.toolbar button.msgactionbtn.action-safe .msgactionicon{
  color:#77e6bb;
  background:rgba(71,213,161,.12);
}
.toolbar button.msgactionbtn.action-safe:hover{
  transform:none;
  box-shadow:0 10px 26px #00000012;
}
html[data-nova-theme="rose"] .trustedtag,
html[data-nova-theme="lavender"] .trustedtag,
html[data-nova-theme="pearl"] .trustedtag,
html[data-nova-theme="rose"] .readertrustedbadge,
html[data-nova-theme="lavender"] .readertrustedbadge,
html[data-nova-theme="pearl"] .readertrustedbadge{
  color:#167a58!important;
  background:rgba(39,169,122,.09)!important;
  border-color:rgba(39,169,122,.24)!important;
}


/* Nova Mail 0.9.11.27 — PWA No Accidental Text Selection */
html.nova-pwa-standalone body,
html.nova-pwa-standalone body *{
  -webkit-user-select:none;
  user-select:none;
}

/* Content that must remain selectable/editable */
html.nova-pwa-standalone input,
html.nova-pwa-standalone textarea,
html.nova-pwa-standalone [contenteditable="true"],
html.nova-pwa-standalone .threadbody,
html.nova-pwa-standalone .threadbody *,
html.nova-pwa-standalone .htmlmailbody,
html.nova-pwa-standalone .htmlmailbody *,
html.nova-pwa-standalone .htmlmailframe{
  -webkit-user-select:text!important;
  user-select:text!important;
}

/* Prevent long-press selection/callout on navigation and controls */
html.nova-pwa-standalone button,
html.nova-pwa-standalone .navitem,
html.nova-pwa-standalone .mobiletab,
html.nova-pwa-standalone .brand,
html.nova-pwa-standalone .brandcopy,
html.nova-pwa-standalone .versionpill,
html.nova-pwa-standalone .count,
html.nova-pwa-standalone .threadtag,
html.nova-pwa-standalone .cloudtag,
html.nova-pwa-standalone .trustedtag,
html.nova-pwa-standalone .readertrustedbadge{
  -webkit-user-select:none!important;
  user-select:none!important;
  -webkit-touch-callout:none;
}


/* Nova Mail 0.9.11.28 — Smart Reading Mode */
.novareadershell{position:relative;background:transparent}
.novareadertoolbar{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 12px 12px;
  background:color-mix(in srgb,var(--panel2) 84%,transparent);
  border-bottom:1px solid var(--line);
}
.novareaderidentity{display:flex;align-items:center;gap:9px;min-width:0}
.novareaderbook{
  width:32px;height:32px;flex:0 0 auto;
  display:grid;place-items:center;
  border-radius:11px;
  background:color-mix(in srgb,var(--purple2) 14%,var(--panel2));
  border:1px solid color-mix(in srgb,var(--purple2) 25%,var(--line));
  box-shadow:0 7px 20px color-mix(in srgb,var(--purple2) 10%,transparent);
}
.novareaderidentity b,.novareaderidentity small{display:block}
.novareaderidentity b{font-size:11px;color:var(--text);letter-spacing:-.01em}
.novareaderidentity small{margin-top:2px;font-size:8px;color:var(--muted);font-weight:700}
.novareadertoggle{
  flex:0 0 auto;
  display:flex;
  padding:3px;
  border-radius:11px;
  background:color-mix(in srgb,var(--panel) 72%,transparent);
  border:1px solid color-mix(in srgb,var(--line) 90%,transparent);
}
.novareadertoggle button{
  border:0!important;
  min-height:29px;
  padding:0 10px!important;
  border-radius:8px!important;
  background:transparent!important;
  color:var(--muted)!important;
  font-size:9px!important;
  font-weight:850!important;
  cursor:pointer;
  box-shadow:none!important;
}
.novareadertoggle button.active{
  color:#fff!important;
  background:linear-gradient(135deg,var(--purple),var(--purple2))!important;
  box-shadow:0 6px 16px color-mix(in srgb,var(--purple2) 24%,transparent)!important;
}
.novareaderprogress{
  position:absolute;
  left:0;right:0;bottom:-1px;
  height:2px;
  overflow:hidden;
  background:transparent;
}
.novareaderprogress span{
  display:block;height:100%;width:0;
  background:linear-gradient(90deg,var(--purple),var(--purple2),var(--green));
  box-shadow:0 0 10px color-mix(in srgb,var(--purple2) 35%,transparent);
  transition:width .08s linear;
}
.novareaderbody{
  padding:26px 20px 30px!important;
  white-space:normal!important;
  background:color-mix(in srgb,var(--reader) 82%,var(--panel2))!important;
}
.novareaderpage{
  width:min(100%,720px);
  margin:0 auto;
  padding:30px clamp(22px,5vw,48px) 38px;
  box-sizing:border-box;
  border-radius:20px;
  background:color-mix(in srgb,var(--panel2) 92%,white 2%);
  border:1px solid color-mix(in srgb,var(--line) 88%,transparent);
  box-shadow:0 18px 46px rgba(0,0,0,.12),inset 0 1px 0 rgba(255,255,255,.035);
  color:var(--text);
  font-size:16px;
  line-height:1.82;
  letter-spacing:.003em;
}
.novareaderpage p{margin:0 0 1.1em;overflow-wrap:anywhere}
.novareaderpage p:last-child{margin-bottom:0}
.novareaderpage h2,.novareaderpage h3,.novareaderpage h4{
  color:var(--text);
  line-height:1.24;
  letter-spacing:-.025em;
  margin:1.55em 0 .65em;
}
.novareaderpage h2:first-child,.novareaderpage h3:first-child,.novareaderpage h4:first-child{margin-top:0}
.novareaderpage h2{font-size:22px}
.novareaderpage h3{font-size:18px}
.novareaderpage h4{font-size:16px}
.novareaderpage hr{
  height:1px;border:0;margin:26px 0;
  background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--purple2) 40%,var(--line)),transparent);
}
.novareaderpage a{color:var(--purple2);font-weight:720;text-decoration-thickness:1px;text-underline-offset:2px}
.novareaderlist{margin:0 0 1.2em;padding-left:1.55em}
.novareaderlist li{padding-left:.25em;margin:.36em 0}
.novareaderquote{
  margin-top:30px;
  border:1px solid var(--line);
  border-radius:14px;
  background:color-mix(in srgb,var(--panel) 72%,transparent);
  overflow:hidden;
}
.novareaderquote summary{
  list-style:none;
  cursor:pointer;
  padding:12px 14px;
  color:var(--muted);
  font-size:10px;
  font-weight:850;
}
.novareaderquote summary::-webkit-details-marker{display:none}
.novareaderquote summary:before{content:'›';display:inline-block;margin-right:7px;transition:transform .18s ease}
.novareaderquote[open] summary:before{transform:rotate(90deg)}
.novareaderquote>div{padding:0 14px 14px;color:var(--muted);font-size:13px;line-height:1.65}

/* Light themes: true paper reading surface */
html[data-nova-theme="rose"] .novareaderbody,
html[data-nova-theme="lavender"] .novareaderbody,
html[data-nova-theme="pearl"] .novareaderbody{background:rgba(255,255,255,.48)!important}
html[data-nova-theme="rose"] .novareaderpage,
html[data-nova-theme="lavender"] .novareaderpage,
html[data-nova-theme="pearl"] .novareaderpage{
  background:#fff!important;
  color:var(--text)!important;
  box-shadow:0 18px 44px rgba(57,38,82,.08)!important;
}
html[data-nova-theme="rose"] .novareadertoolbar,
html[data-nova-theme="lavender"] .novareadertoolbar,
html[data-nova-theme="pearl"] .novareadertoolbar{background:rgba(255,255,255,.86)!important}

@media(max-width:720px){
  .novareadertoolbar{padding:9px 10px 11px;gap:8px}
  .novareaderbook{width:29px;height:29px;border-radius:10px;font-size:14px}
  .novareaderidentity b{font-size:10px}
  .novareaderidentity small{font-size:7.5px}
  .novareadertoggle button{min-height:28px;padding:0 8px!important;font-size:8.5px!important}
  .novareaderbody{padding:14px 9px 22px!important}
  .novareaderpage{
    width:100%;
    padding:24px 19px 30px;
    border-radius:16px;
    font-size:15.5px;
    line-height:1.78;
  }
  .novareaderpage h2{font-size:20px}.novareaderpage h3{font-size:17px}.novareaderpage h4{font-size:15.5px}
}
@media(max-width:390px){
  .novareaderidentity small{display:none}
  .novareadertoggle button{padding:0 7px!important}
  .novareaderpage{padding:21px 16px 27px;font-size:15px}
}
@media(prefers-reduced-motion:reduce){.novareaderprogress span,.novareaderquote summary:before{transition:none}}


/* Nova Mail 0.9.11.29 — Smart List Navigator */
.novalistnav{
  position:fixed;
  z-index:95;
  right:max(8px,env(safe-area-inset-right));
  top:50%;
  transform:translateY(-50%);
  width:58px;
  box-sizing:border-box;
  padding:7px 5px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:5px;
  border-radius:17px;
  border:1px solid color-mix(in srgb,var(--purple2) 38%,var(--line));
  background:color-mix(in srgb,var(--panel2) 88%,transparent);
  backdrop-filter:blur(16px) saturate(1.2);
  -webkit-backdrop-filter:blur(16px) saturate(1.2);
  box-shadow:0 14px 40px rgba(0,0,0,.18),0 0 0 1px rgba(255,255,255,.025) inset;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.novalistnav>small{
  font-size:6.5px;
  line-height:1;
  font-weight:950;
  letter-spacing:.12em;
  color:var(--muted);
}
.novalistarrow{
  width:34px!important;
  height:27px!important;
  min-height:27px!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  border-radius:9px!important;
  font-size:14px!important;
  line-height:1!important;
  color:var(--text)!important;
  background:color-mix(in srgb,var(--panel) 68%,transparent)!important;
  border:1px solid color-mix(in srgb,var(--line) 86%,transparent)!important;
  box-shadow:none!important;
}
.novalistarrow:disabled{opacity:.28!important;cursor:default!important}
.novalistposition{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:2px;
  width:100%;
  min-height:27px;
  color:var(--muted);
  font-size:8px;
  font-weight:850;
}
.novalistposition input{
  width:24px!important;
  height:25px!important;
  min-height:25px!important;
  padding:0!important;
  border-radius:8px!important;
  text-align:center!important;
  font-size:11px!important;
  font-weight:950!important;
  line-height:25px!important;
  color:var(--text)!important;
  background:color-mix(in srgb,var(--purple2) 11%,var(--panel))!important;
  border:1px solid color-mix(in srgb,var(--purple2) 32%,var(--line))!important;
  outline:none!important;
  box-shadow:none!important;
}
.novalistposition input:focus{
  border-color:var(--purple2)!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--purple2) 13%,transparent)!important;
}
.novalistnav.not-found{animation:novaListShake .36s ease}
@keyframes novaListShake{0%,100%{transform:translateY(-50%) translateX(0)}25%{transform:translateY(-50%) translateX(-5px)}50%{transform:translateY(-50%) translateX(5px)}75%{transform:translateY(-50%) translateX(-3px)}}

.novareadersection{
  position:relative;
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  gap:10px;
  align-items:start;
  margin:1.6em 0 1.05em;
  padding:16px 15px 16px 12px;
  scroll-margin-top:130px;
  border-radius:15px;
  border:1px solid transparent;
  background:color-mix(in srgb,var(--panel) 38%,transparent);
  transition:background .22s ease,border-color .22s ease,box-shadow .22s ease,transform .22s ease;
}
.novareadersectionnum{
  width:34px;height:34px;
  display:grid;place-items:center;
  border-radius:11px;
  color:#fff;
  font-size:12px;
  font-weight:950;
  background:linear-gradient(135deg,var(--purple),var(--purple2));
  box-shadow:0 7px 17px color-mix(in srgb,var(--purple2) 22%,transparent);
}
.novareadersectiontext{
  min-width:0;
  padding-top:3px;
  color:var(--text);
  font-size:1em;
  line-height:1.62;
  font-weight:720;
  overflow-wrap:anywhere;
}
.novareadersection.nova-section-current{
  border-color:color-mix(in srgb,var(--purple2) 24%,transparent);
}
.novareadersection.nova-section-target{
  border-color:color-mix(in srgb,var(--purple2) 64%,transparent);
  background:color-mix(in srgb,var(--purple2) 11%,var(--panel2));
  box-shadow:0 12px 30px color-mix(in srgb,var(--purple2) 15%,transparent);
  animation:novaSectionArrive .8s ease both;
}
@keyframes novaSectionArrive{0%{transform:scale(.985)}38%{transform:scale(1.012)}100%{transform:scale(1)}}

html[data-nova-theme="rose"] .novalistnav,
html[data-nova-theme="lavender"] .novalistnav,
html[data-nova-theme="pearl"] .novalistnav{
  background:rgba(255,255,255,.90)!important;
  box-shadow:0 14px 38px rgba(50,45,78,.12)!important;
}
html[data-nova-theme="rose"] .novareadersection,
html[data-nova-theme="lavender"] .novareadersection,
html[data-nova-theme="pearl"] .novareadersection{
  background:rgba(247,244,252,.72)!important;
}

@media(max-width:720px){
  .novalistnav{right:max(5px,env(safe-area-inset-right));width:53px;padding:6px 4px;border-radius:15px}
  .novalistarrow{width:31px!important;height:25px!important;min-height:25px!important}
  .novalistposition input{width:22px!important;height:24px!important;min-height:24px!important;font-size:10px!important}
  .novareadersection{grid-template-columns:34px minmax(0,1fr);gap:8px;margin:1.35em 0 .95em;padding:13px 11px 13px 10px}
  .novareadersectionnum{width:31px;height:31px;border-radius:10px;font-size:11px}
  .novareadersectiontext{font-size:.97em}
}
@media(max-width:390px){
  .novalistnav{width:49px;right:max(3px,env(safe-area-inset-right))}
  .novalistnav>small{font-size:6px}
  .novalistposition{font-size:7px}
}
@media(prefers-reduced-motion:reduce){.novalistnav,.novareadersection{transition:none}.novalistnav.not-found,.novareadersection.nova-section-target{animation:none}}


/* Nova Mail 0.9.11.30 — Inline List Detection Fix */
.novareadersection + .novareadersection{margin-top:.8em}
.novareadersectiontext{white-space:normal}


/* Nova Mail 0.9.11.31 — Fixed List Jump Square */
.novalistnav.nova-floating-list-nav{
  position:fixed!important;
  right:auto!important;
  bottom:auto!important;
  transform:none!important;
  width:54px!important;
  height:54px!important;
  min-width:54px!important;
  min-height:54px!important;
  padding:5px!important;
  box-sizing:border-box!important;
  z-index:10000!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:0!important;
  border-radius:13px!important;
  cursor:pointer!important;
  -webkit-user-select:none!important;
  user-select:none!important;
  border:1px solid color-mix(in srgb,var(--purple2) 58%,var(--line))!important;
  background:color-mix(in srgb,var(--panel2) 92%,transparent)!important;
  backdrop-filter:blur(16px) saturate(1.25)!important;
  -webkit-backdrop-filter:blur(16px) saturate(1.25)!important;
  box-shadow:0 10px 28px rgba(0,0,0,.19),0 0 0 1px rgba(255,255,255,.035) inset!important;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease!important;
}
.novalistnav.nova-floating-list-nav:hover,
.novalistnav.nova-floating-list-nav.editing{
  transform:scale(1.055)!important;
  border-color:var(--purple2)!important;
  box-shadow:0 12px 32px rgba(0,0,0,.22),0 0 0 3px color-mix(in srgb,var(--purple2) 11%,transparent)!important;
}
.novalistnav.nova-floating-list-nav input{
  display:block!important;
  width:38px!important;
  height:27px!important;
  min-height:27px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  outline:0!important;
  border-radius:7px!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--text)!important;
  text-align:center!important;
  font-size:17px!important;
  line-height:27px!important;
  font-weight:950!important;
  font-variant-numeric:tabular-nums!important;
  -webkit-user-select:text!important;
  user-select:text!important;
  cursor:text!important;
}
.novalistnav.nova-floating-list-nav input:focus{
  background:color-mix(in srgb,var(--purple2) 12%,transparent)!important;
}
.novalistnav.nova-floating-list-nav .novalisttotal{
  display:block!important;
  margin-top:-1px!important;
  color:var(--muted)!important;
  font-size:8px!important;
  line-height:11px!important;
  font-weight:900!important;
  font-variant-numeric:tabular-nums!important;
  pointer-events:none!important;
}
.novalistnav.nova-floating-list-nav.jumped{
  animation:novaFixedSquarePop .5s ease both!important;
}
.novalistnav.nova-floating-list-nav.not-found{
  animation:novaFixedSquareShake .34s ease!important;
  border-color:#ff657f!important;
}
@keyframes novaFixedSquarePop{0%{transform:scale(.94)}45%{transform:scale(1.12)}100%{transform:scale(1)}}
@keyframes novaFixedSquareShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-4px)}50%{transform:translateX(4px)}75%{transform:translateX(-2px)}}

/* Old arrow/pill UI is intentionally disabled in 0.9.11.31. */
.novalistnav.nova-floating-list-nav .novalistarrow,
.novalistnav.nova-floating-list-nav>small{display:none!important}

html[data-nova-theme="rose"] .novalistnav.nova-floating-list-nav,
html[data-nova-theme="lavender"] .novalistnav.nova-floating-list-nav,
html[data-nova-theme="pearl"] .novalistnav.nova-floating-list-nav{
  background:rgba(255,255,255,.94)!important;
  box-shadow:0 10px 28px rgba(50,45,78,.13)!important;
}

@media(max-width:720px){
  .novalistnav.nova-floating-list-nav{
    width:50px!important;height:50px!important;min-width:50px!important;min-height:50px!important;border-radius:12px!important;
  }
  .novalistnav.nova-floating-list-nav input{width:35px!important;height:25px!important;min-height:25px!important;font-size:16px!important;line-height:25px!important}
  .novalistnav.nova-floating-list-nav .novalisttotal{font-size:7.5px!important;line-height:10px!important}
}
@media(prefers-reduced-motion:reduce){
  .novalistnav.nova-floating-list-nav{transition:none!important}
  .novalistnav.nova-floating-list-nav.jumped,
  .novalistnav.nova-floating-list-nav.not-found{animation:none!important}
}


/* Nova Mail 0.9.11.33 — List Scroll Sync Fix */
.novareadersection.nova-section-current{
  border-color:color-mix(in srgb,var(--purple2) 34%,transparent)!important;
  box-shadow:inset 3px 0 0 color-mix(in srgb,var(--purple2) 70%,transparent);
}


/* Nova Mail 0.9.11.34 — Clean Section Anchors */
.novasectionanchor{
  display:block!important;
  width:0!important;
  height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  opacity:0!important;
  pointer-events:none!important;
  scroll-margin-top:112px;
}
.novareadersectiontitle{
  margin:1.55em 0 .68em!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--text)!important;
  font-size:18px!important;
  line-height:1.28!important;
  font-weight:850!important;
  letter-spacing:-.022em!important;
}

/* Old section-card visuals are disabled completely. */
.novareadersection,
.novareadersectionnum,
.novareadersectiontext{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

/* No visual highlight is tied to the section anchors anymore. */
.novasectionanchor.nova-section-current,
.novasectionanchor.nova-section-target{
  box-shadow:none!important;
  background:transparent!important;
  border:0!important;
  animation:none!important;
}

@media(max-width:720px){
  .novareadersectiontitle{
    font-size:17px!important;
    margin:1.4em 0 .62em!important;
  }
}


/* Nova Mail 0.9.11.35 — True Section Sync */
.novareadersectiontitle.nova-section-current{position:relative}
.novareadersectiontitle.nova-section-current::before{
  content:'';position:absolute;left:-12px;top:.18em;bottom:.18em;width:3px;border-radius:999px;
  background:color-mix(in srgb,var(--purple2) 72%,transparent);
}
.novareadersectiontitle.nova-section-target{animation:novaTrueSectionTarget .8s ease both}
@keyframes novaTrueSectionTarget{0%{background:color-mix(in srgb,var(--purple2) 16%,transparent)}100%{background:transparent}}


/* Nova Mail 0.9.11.36 — Official Nova Team Identity */
.novaofficialavatar{
  position:relative!important;
  overflow:visible!important;
  padding:2px!important;
  background:linear-gradient(145deg,#765cff,#3e8cff 58%,#35c4e2)!important;
  border:1px solid rgba(140,174,255,.56)!important;
  box-shadow:0 8px 24px rgba(82,92,235,.30),0 0 0 3px rgba(112,92,255,.08)!important;
}
.novaofficialavatar img{
  width:100%!important;
  height:100%!important;
  padding:0!important;
  border-radius:inherit!important;
  object-fit:cover!important;
  background:transparent!important;
}
.novaofficialseal{
  position:absolute;
  right:-5px;
  bottom:-5px;
  width:16px;
  height:16px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:linear-gradient(145deg,#55e2b4,#2fbf91);
  color:#071812;
  border:2px solid var(--panel,#0b1323);
  font-size:8px;
  line-height:1;
  font-weight:950;
  box-shadow:0 4px 12px rgba(47,191,145,.32);
}
.msg.novaofficialmsg{
  border-color:color-mix(in srgb,#735fff 42%,var(--line))!important;
  background:linear-gradient(108deg,color-mix(in srgb,#715cff 8%,var(--panel2)),color-mix(in srgb,#31bfe0 5%,var(--panel2)))!important;
  box-shadow:0 10px 30px rgba(75,82,196,.10),inset 3px 0 0 color-mix(in srgb,#735fff 68%,transparent)!important;
}
.msg.novaofficialmsg .who{
  font-weight:900;
  letter-spacing:-.01em;
}
.msg.novaofficialmsg .trustedtag{
  color:#52dcae!important;
  background:rgba(67,213,166,.10)!important;
  border-color:rgba(75,221,174,.30)!important;
  box-shadow:0 3px 10px rgba(50,195,150,.08);
}
.threaditem.novaofficialthread{
  border-color:color-mix(in srgb,#735fff 38%,var(--line))!important;
  box-shadow:0 12px 36px rgba(77,72,188,.10)!important;
}
.threaditem.novaofficialthread .threadsender{
  background:linear-gradient(100deg,color-mix(in srgb,#735fff 9%,var(--panel2)),color-mix(in srgb,#34b9dc 5%,var(--panel2)))!important;
}
.threaditem.novaofficialthread .readertrustedbadge{
  color:#4bd5a7!important;
  background:rgba(67,213,166,.10)!important;
  border-color:rgba(75,221,174,.28)!important;
}
html[data-nova-theme="rose"] .novaofficialseal,
html[data-nova-theme="lavender"] .novaofficialseal,
html[data-nova-theme="pearl"] .novaofficialseal{border-color:#fff!important}
html[data-nova-theme="rose"] .msg.novaofficialmsg,
html[data-nova-theme="lavender"] .msg.novaofficialmsg,
html[data-nova-theme="pearl"] .msg.novaofficialmsg{
  background:linear-gradient(108deg,rgba(116,92,255,.07),rgba(53,183,217,.05),#fff)!important;
}


/* Nova Mail 0.9.13.0 — Real PWA Push Notifications */
.push-notification-card{
  position:relative;
  overflow:hidden;
}
.push-notification-card::after{
  content:'';
  position:absolute;
  width:180px;height:180px;
  right:-75px;top:-95px;
  border-radius:50%;
  background:radial-gradient(circle,color-mix(in srgb,var(--purple2) 18%,transparent),transparent 68%);
  pointer-events:none;
}
.push-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}
.push-card-head h3{margin-bottom:5px}
.push-status-badge{
  position:relative;
  z-index:1;
  flex:0 0 auto;
  padding:6px 9px;
  border-radius:999px;
  border:1px solid var(--line);
  color:var(--muted);
  background:color-mix(in srgb,var(--panel2) 82%,transparent);
  font-size:8px;
  line-height:1;
  font-weight:900;
  letter-spacing:.08em;
}
.push-status-badge.active{
  color:#4ed7a7;
  border-color:rgba(73,214,166,.30);
  background:rgba(62,201,151,.10);
  box-shadow:0 5px 18px rgba(55,190,142,.10);
}
.push-notification-card .toggleline{
  margin-top:12px;
  position:relative;
  z-index:1;
}
.push-notification-card .actions{position:relative;z-index:1}
.push-ios-note{position:relative;z-index:1;margin-top:10px!important}
html[data-nova-theme="rose"] .push-status-badge.active,
html[data-nova-theme="lavender"] .push-status-badge.active,
html[data-nova-theme="pearl"] .push-status-badge.active{color:#157a57!important}


/* Nova Mail 0.9.13.2 — Quick Notification Bell */
.quicknotifbell{
  position:relative;
  width:38px;height:38px;
  flex:0 0 38px;
  display:grid;place-items:center;
  border:1px solid color-mix(in srgb,var(--purple2) 24%,var(--line));
  border-radius:12px;
  background:color-mix(in srgb,var(--panel2) 84%,transparent);
  color:var(--muted);
  cursor:pointer;
  padding:0;
  outline:none;
  overflow:visible;
  isolation:isolate;
  transition:transform .22s cubic-bezier(.2,.8,.2,1),border-color .22s,background .22s,color .22s,box-shadow .22s;
}
.quicknotifbell.hidden{display:none!important}
.quickbellsvg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;transform-origin:50% 13%;position:relative;z-index:3}
.quickbellslash{position:absolute;z-index:4;width:25px;height:2px;border-radius:99px;background:currentColor;transform:rotate(-45deg) scaleX(1);transition:opacity .28s ease,transform .38s cubic-bezier(.2,.9,.2,1);box-shadow:0 0 0 1px color-mix(in srgb,var(--panel2) 40%,transparent)}
.quicknotifbell.on .quickbellslash{opacity:0;transform:rotate(-45deg) scaleX(.04)}
.quickbellhalo{position:absolute;inset:3px;border-radius:10px;background:radial-gradient(circle,color-mix(in srgb,var(--purple2) 19%,transparent),transparent 70%);opacity:0;transform:scale(.7);transition:opacity .25s,transform .3s;z-index:0}
.quickbellping{position:absolute;inset:7px;border-radius:999px;border:1px solid color-mix(in srgb,var(--purple2) 65%,transparent);opacity:0;z-index:1;pointer-events:none}
.quicknotifbell.off:hover:not(.blocked):not(.unsupported):not(.working){
  color:color-mix(in srgb,var(--purple2) 76%,#fff);
  border-color:color-mix(in srgb,var(--purple2) 60%,var(--line));
  background:color-mix(in srgb,var(--purple2) 11%,var(--panel2));
  box-shadow:0 9px 27px color-mix(in srgb,var(--purple2) 18%,transparent),inset 0 0 0 1px color-mix(in srgb,#fff 6%,transparent);
  transform:translateY(-1px) scale(1.045);
}
.quicknotifbell.off:hover:not(.blocked):not(.unsupported):not(.working) .quickbellsvg{animation:novaBellTempt .68s cubic-bezier(.36,.07,.19,.97) both}
.quicknotifbell.off:hover:not(.blocked):not(.unsupported):not(.working) .quickbellhalo{opacity:1;transform:scale(1.18);animation:novaBellHalo 1.4s ease-in-out infinite}
.quicknotifbell.off:hover:not(.blocked):not(.unsupported):not(.working) .quickbellslash{animation:novaSlashGlow .78s ease both}
.quicknotifbell.on{color:#65e2b6;border-color:rgba(79,220,171,.34);background:rgba(54,195,147,.10);box-shadow:0 7px 22px rgba(45,194,143,.10)}
.quicknotifbell.on:hover{transform:translateY(-1px);background:rgba(54,195,147,.14);box-shadow:0 9px 26px rgba(45,194,143,.15)}
.quicknotifbell.on:hover .quickbellsvg{animation:novaBellSoft .55s ease both}
.quicknotifbell.blocked{color:#ef8895;border-color:rgba(239,104,119,.25);background:rgba(214,74,91,.08)}
.quicknotifbell.unsupported{opacity:.55}
.quicknotifbell.working{cursor:wait;pointer-events:none}
.quicknotifbell.working .quickbellsvg{animation:novaBellWorking .75s linear infinite}
.quicknotifbell::after{
  content:attr(data-tip);
  position:absolute;
  z-index:80;
  right:50%;bottom:calc(100% + 9px);
  transform:translate(50%,5px) scale(.97);
  min-width:max-content;
  max-width:240px;
  padding:7px 10px;
  border:1px solid color-mix(in srgb,var(--line) 80%,transparent);
  border-radius:9px;
  background:color-mix(in srgb,var(--panel) 94%,#000);
  color:var(--text);
  box-shadow:0 12px 34px rgba(0,0,0,.25);
  font-size:10px;font-weight:750;letter-spacing:-.01em;
  white-space:nowrap;
  opacity:0;pointer-events:none;
  transition:opacity .18s ease,transform .18s ease;
}
.quicknotifbell:hover::after,.quicknotifbell:focus-visible::after{opacity:1;transform:translate(50%,0) scale(1)}
.quicknotifbell:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--purple2) 24%,transparent),0 10px 28px color-mix(in srgb,var(--purple2) 16%,transparent)}
.quicknotifbell.bell-activated{animation:novaBellButtonSuccess .8s cubic-bezier(.2,.9,.2,1) both}
.quicknotifbell.bell-activated .quickbellsvg{animation:novaBellSuccess 1s cubic-bezier(.2,.8,.2,1) both}
.quicknotifbell.bell-activated .quickbellping{animation:novaBellPing .9s ease-out both}
.quicknotifbell.bell-disabled{animation:novaBellDisable .52s ease both}
@keyframes novaBellTempt{0%,100%{transform:rotate(0) scale(1)}18%{transform:rotate(12deg) scale(1.07)}36%{transform:rotate(-10deg) scale(1.07)}54%{transform:rotate(7deg) scale(1.04)}72%{transform:rotate(-4deg) scale(1.02)}}
@keyframes novaBellSoft{0%,100%{transform:rotate(0)}30%{transform:rotate(5deg)}65%{transform:rotate(-4deg)}}
@keyframes novaBellHalo{0%,100%{filter:brightness(1);opacity:.72}50%{filter:brightness(1.35);opacity:1}}
@keyframes novaSlashGlow{0%,100%{filter:none}50%{filter:drop-shadow(0 0 4px currentColor)}}
@keyframes novaBellWorking{to{transform:rotate(360deg)}}
@keyframes novaBellButtonSuccess{0%{transform:scale(1)}30%{transform:scale(1.13)}58%{transform:scale(.96)}100%{transform:scale(1)}}
@keyframes novaBellSuccess{0%{transform:rotate(0) scale(.86)}22%{transform:rotate(16deg) scale(1.12)}43%{transform:rotate(-13deg) scale(1.12)}64%{transform:rotate(8deg) scale(1.05)}82%{transform:rotate(-4deg)}100%{transform:rotate(0) scale(1)}}
@keyframes novaBellPing{0%{opacity:.9;transform:scale(.7)}100%{opacity:0;transform:scale(2.4)}}
@keyframes novaBellDisable{0%{transform:scale(1)}45%{transform:scale(.9)}100%{transform:scale(1)}}
@media(max-width:720px){
  .quicknotifbell{width:34px;height:34px;flex-basis:34px;border-radius:10px}
  .quickbellsvg{width:18px;height:18px}
  .quicknotifbell::after{display:none}
}
@media(prefers-reduced-motion:reduce){
  .quicknotifbell,.quicknotifbell *{animation:none!important;transition:none!important}
}


/* Nova Mail 0.9.13.3 — About & Creator Credits */
.nova-about-card{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  padding:22px!important;
  border-color:color-mix(in srgb,var(--purple2) 26%,var(--line))!important;
  background:
    linear-gradient(125deg,
      color-mix(in srgb,var(--purple2) 7%,var(--panel2)),
      color-mix(in srgb,#36b9dc 4%,var(--panel2)) 55%,
      var(--panel2))!important;
}
.nova-about-glow{
  position:absolute;
  width:220px;
  height:220px;
  right:-85px;
  top:-115px;
  border-radius:50%;
  background:radial-gradient(circle,
    color-mix(in srgb,var(--purple2) 20%,transparent),
    transparent 70%);
  pointer-events:none;
  z-index:-1;
}
.nova-about-top{
  display:flex;
  align-items:center;
  gap:15px;
}
.nova-about-logo{
  width:58px;
  height:58px;
  flex:0 0 58px;
  border-radius:18px;
  padding:3px;
  display:grid;
  place-items:center;
  background:linear-gradient(145deg,#765cff,#3e8cff 58%,#35c4e2);
  box-shadow:0 11px 30px rgba(83,87,220,.24),0 0 0 1px rgba(142,171,255,.20);
}
.nova-about-logo img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:15px;
}
.nova-about-kicker{
  display:block;
  margin-bottom:4px;
  color:var(--muted);
  font-size:9px;
  line-height:1;
  font-weight:900;
  letter-spacing:.14em;
}
.nova-about-top h3{
  margin:0 0 3px!important;
  font-size:21px!important;
  letter-spacing:-.03em;
}
.nova-about-top p{margin:0!important}
.nova-creator-credit{
  margin-top:18px;
  padding:14px;
  display:flex;
  align-items:center;
  gap:11px;
  border-radius:16px;
  border:1px solid color-mix(in srgb,var(--purple2) 22%,var(--line));
  background:color-mix(in srgb,var(--panel) 70%,transparent);
  box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 5%,transparent);
}
.nova-creator-mark{
  width:38px;
  height:38px;
  flex:0 0 38px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:linear-gradient(145deg,
    color-mix(in srgb,var(--purple2) 88%,#fff),
    color-mix(in srgb,#338fe8 88%,#fff));
  color:#fff;
  font-size:11px;
  font-weight:950;
  letter-spacing:.02em;
  box-shadow:0 7px 20px color-mix(in srgb,var(--purple2) 20%,transparent);
}
.nova-creator-credit>div:nth-child(2){
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:3px;
}
.nova-creator-credit span{
  color:var(--muted);
  font-size:8px;
  line-height:1;
  font-weight:900;
  letter-spacing:.12em;
}
.nova-creator-credit strong{
  color:var(--text);
  font-size:15px;
  line-height:1.2;
  font-weight:900;
  letter-spacing:-.02em;
}
.nova-credit-verified{
  margin-left:auto;
  width:23px;
  height:23px;
  flex:0 0 23px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:rgba(69,211,163,.13);
  border:1px solid rgba(69,211,163,.30);
  color:#54d9aa;
  font-size:10px;
  font-weight:950;
}
.nova-about-meta{
  margin-top:13px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  color:var(--muted);
  font-size:9px;
  font-weight:700;
}
html[data-nova-theme="rose"] .nova-about-card,
html[data-nova-theme="lavender"] .nova-about-card,
html[data-nova-theme="pearl"] .nova-about-card{
  background:linear-gradient(125deg,rgba(116,92,255,.06),rgba(54,185,220,.035),#fff)!important;
}
html[data-nova-theme="rose"] .nova-creator-credit,
html[data-nova-theme="lavender"] .nova-creator-credit,
html[data-nova-theme="pearl"] .nova-creator-credit{
  background:rgba(255,255,255,.74)!important;
}
@media(max-width:720px){
  .nova-about-card{padding:18px!important}
  .nova-about-logo{width:52px;height:52px;flex-basis:52px;border-radius:16px}
  .nova-about-logo img{border-radius:13px}
  .nova-about-meta{align-items:flex-start;flex-direction:column;gap:4px}
}


/* Nova Mail 0.10.0 — Desktop Edition bridge */
html.nova-desktop-app body{
  overscroll-behavior:none;
}
.nova-desktop-settings-card{
  position:relative;
  overflow:hidden;
  border-color:color-mix(in srgb,var(--purple2) 34%,var(--line))!important;
  background:linear-gradient(120deg,color-mix(in srgb,var(--purple2) 8%,var(--panel2)),color-mix(in srgb,#31b9df 5%,var(--panel2)))!important;
}
.nova-desktop-settings-card::after{
  content:'';position:absolute;width:180px;height:180px;border-radius:50%;right:-72px;top:-96px;
  background:radial-gradient(circle,color-mix(in srgb,var(--purple2) 18%,transparent),transparent 70%);pointer-events:none;
}
.nova-desktop-settings-head{display:flex;align-items:center;gap:13px;position:relative;z-index:1}
.nova-desktop-settings-icon{width:44px;height:44px;flex:0 0 44px;display:grid;place-items:center;border-radius:14px;background:color-mix(in srgb,var(--purple2) 13%,var(--panel));border:1px solid color-mix(in srgb,var(--purple2) 26%,var(--line));font-size:20px}
.nova-desktop-settings-head h3{margin:0 0 4px!important}
.nova-desktop-settings-head p{margin:0!important}
.nova-desktop-badge{margin-left:auto;padding:6px 9px;border-radius:999px;background:rgba(78,215,169,.11);border:1px solid rgba(78,215,169,.30);color:#55d8aa;font-size:8px;font-weight:950;letter-spacing:.09em}
html.nova-desktop-app .pwa-install-only{display:none!important}


/* Nova Mail 0.10.2 — Recovery Delivery Guard */
#authRecoveryFeedbackText[data-delivery-kind="delivered"]{color:#67e1b4!important}
#authRecoveryFeedbackText[data-delivery-kind="failed"]{color:#ff9eab!important}
#authRecoveryFeedbackText[data-delivery-kind="delayed"]{color:#ffd27a!important}
#authRecoveryFeedbackText[data-delivery-kind="pending"]{color:var(--muted)!important}


/* Nova Mail 0.10.3 — Desktop Ctrl+M Toggle */
html.nova-desktop-app #composeBtn{
  position:relative;
}
html.nova-desktop-app #composeBtn::after{
  content:"Ctrl + M";
  margin-left:auto;
  padding:3px 7px;
  border-radius:8px;
  border:1px solid color-mix(in srgb,var(--purple2) 24%,var(--line));
  background:color-mix(in srgb,var(--panel) 76%,transparent);
  color:var(--muted);
  font-size:8px;
  font-weight:900;
  letter-spacing:.03em;
  line-height:1;
}

/* V Cloudflare : choix de l'adresse d'envoi */
.fromrow{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.fromlabel{flex:none;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted,#8b93b8);min-width:22px}
.fromrow select{flex:1;min-width:0}
.fromnew{display:flex;gap:8px;margin-bottom:10px}
.fromnew input{flex:1;min-width:0;margin:0}
.fromnew.hidden{display:none}
