@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{color-scheme:dark;--bg:#0b1015;--panel:#111a22;--panel2:#14212a;--line:#293740;--text:#edf4f6;--muted:#a5b5bd;--accent:#7de2d1;--accent2:#43b9aa;--max:1240px}html[data-theme="black"]{--bg:#020405;--panel:#070b0d;--panel2:#0c1114;--line:#26343a;--text:#f1f7f8;--muted:#9caeb3}html[data-accent="blue"]{--accent:#70aaff;--accent2:#367ee0}html[data-accent="green"]{--accent:#76e0a8;--accent2:#2ca875}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse at 80% -10%,rgba(125,226,209,.09),transparent 42%),var(--bg);color:var(--text);font:15px/1.65 Manrope,system-ui,sans-serif;min-height:100vh}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}.topbar{min-height:76px;padding:14px max(24px,calc((100vw - var(--max))/2));display:flex;align-items:center;gap:28px;border-bottom:1px solid var(--line);background:rgba(8,16,21,.88);position:relative;z-index:2}.brand{display:flex;align-items:center;gap:12px;font-size:21px;font-weight:800;letter-spacing:-.7px;white-space:nowrap}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--accent);border-radius:11px;color:var(--accent);font-family:'DM Mono',monospace}.brand small{display:block;font:9px/1.5 'DM Mono',monospace;letter-spacing:2px;color:var(--muted)}.topbar nav{display:flex;gap:25px;align-items:center;flex:1;justify-content:flex-end;color:#b5c3c9;font-size:13px}.topbar nav a:hover{color:var(--accent)}.site-appearance{display:flex;align-items:center;gap:6px;margin-left:8px}.site-appearance label{font:10px 'DM Mono',monospace;color:var(--muted)}.site-appearance select{max-width:120px;padding:7px 8px;border:1px solid var(--line);border-radius:7px;background:var(--panel);color:var(--text);font:12px Manrope,system-ui,sans-serif}main{width:min(var(--max),100% - 48px);margin:0 auto;min-height:calc(100vh - 150px)}.hero{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:5%;padding:78px 0 90px;min-height:540px}.hero-copy{max-width:700px}.eyebrow{font:700 11px/1.6 'DM Mono',monospace;letter-spacing:2.4px;color:var(--accent);text-transform:uppercase}.hero h1{font-size:clamp(42px,6vw,78px);line-height:1.04;letter-spacing:-4px;margin:25px 0}.hero h1 span{color:var(--accent)}.lead{font-size:clamp(17px,2vw,23px);line-height:1.7;color:#adbdc4;max-width:700px}.actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin:34px 0}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:14px 21px;border-radius:9px;background:var(--accent);border:1px solid var(--accent);color:#071519;font-weight:800;cursor:pointer}.button:hover{color:#071519;background:#a0f0e3}.button.secondary{background:transparent;color:var(--text);border-color:var(--line)}.text-link{color:#aabac1}.status{display:flex;align-items:center;gap:12px;color:#91a4ad;font:13px 'DM Mono',monospace;margin-top:42px}.dot{width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 18px var(--accent)}.hero-art{min-height:370px;position:relative;display:grid;place-items:center;overflow:hidden}.glass-card{width:min(360px,85%);height:290px;position:relative;z-index:1;border:1px solid #42545d;border-radius:18px;background:linear-gradient(140deg,rgba(24,39,48,.92),rgba(10,18,23,.8));box-shadow:0 28px 80px #0007;transform:rotate(-7deg);padding:32px;display:flex;flex-direction:column;justify-content:flex-end}.card-label,.card-foot,.feature-number{font:12px 'DM Mono',monospace;letter-spacing:1.7px;color:#9aadb5}.symbol{font-size:110px;line-height:1;color:var(--accent);font-weight:800;margin:auto}.card-line{height:1px;background:#6e858d;width:68%;margin-bottom:10px}.card-line.short{width:43%}.card-foot{margin-top:30px}.orb{position:absolute;border:1px solid rgba(125,226,209,.24);border-radius:50%;filter:blur(.2px)}.orb-one{width:300px;height:300px;right:4%;top:0}.orb-two{width:210px;height:210px;left:6%;bottom:5%}.grid-glow{position:absolute;inset:10%;background:radial-gradient(ellipse,rgba(125,226,209,.12),transparent 65%)}.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:0 0 72px}.feature{display:flex;flex-direction:column;align-items:flex-start;min-height:280px;border:1px solid var(--line);border-radius:15px;padding:27px;background:linear-gradient(145deg,rgba(18,29,37,.96),rgba(12,19,24,.92));transition:border-color .2s,transform .2s}.feature:hover{border-color:var(--accent2);transform:translateY(-3px)}.feature-icon{font-size:24px;color:var(--accent);margin-top:38px}.feature h2{font-size:29px;letter-spacing:-1px;margin:13px 0}.feature p{color:#a8b8bf;margin:0 0 24px}.feature-link{margin-top:auto;color:var(--accent);font-size:13px}.panel{border:1px solid var(--line);background:var(--panel);border-radius:14px;padding:clamp(20px,4vw,38px);margin:45px auto;max-width:900px}.panel h1{font-size:clamp(30px,5vw,48px);letter-spacing:-1.7px;margin:8px 0 15px}.panel p{color:var(--muted)}.panel form{display:grid;gap:12px;max-width:480px}.panel input,.panel textarea,.panel select{width:100%;padding:12px;border:1px solid var(--line);border-radius:8px;background:#091219;color:var(--text);font:inherit}.error{color:#ff9b9b!important}.result{margin-top:60px}footer{border-top:1px solid var(--line);padding:22px max(24px,calc((100vw - var(--max))/2));color:#7f929a;font-size:12px;display:flex;justify-content:space-between;gap:12px}footer span{font-family:'DM Mono',monospace}@media(max-width:760px){.topbar{padding:12px 17px;flex-wrap:wrap;gap:10px}.site-appearance{order:3;flex-basis:100%;margin:0;justify-content:flex-end}.site-appearance select{max-width:none}.topbar nav{order:2;flex-basis:100%;justify-content:space-between;gap:9px;font-size:12px}.brand{font-size:19px}main{width:calc(100% - 34px)}.hero{grid-template-columns:1fr;padding:50px 0 55px;gap:20px}.hero h1{font-size:clamp(42px,11vw,65px);letter-spacing:-2.7px}.hero-art{min-height:270px}.glass-card{height:230px;width:75%;padding:22px}.symbol{font-size:82px}.feature-grid{grid-template-columns:1fr;gap:12px}.feature{min-height:235px}.feature-icon{margin-top:25px}footer{padding:18px;flex-wrap:wrap}}
/* Compact, balanced layouts for internal modules (Mail, Office, Announcements). */
.page-heading{max-width:980px;margin:24px auto 14px;padding:0 2px}
.page-heading h1{font-size:clamp(27px,3vw,36px);line-height:1.2;letter-spacing:-1.1px;margin:7px 0 8px}
.page-heading h1 span{color:var(--accent)}
.page-heading>p:not(.eyebrow){color:var(--muted);margin:0;font-size:14px}
.compose-layout{display:grid;grid-template-columns:minmax(190px, .68fr) minmax(0,1.32fr);gap:16px;align-items:stretch;max-width:980px;margin:16px auto 28px}
.mail-aside{border:1px solid var(--line);border-radius:12px;background:linear-gradient(145deg,rgba(18,29,37,.96),rgba(12,19,24,.92));padding:20px;min-width:0}
.mail-aside .mail-logo{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--accent);border-radius:9px;color:var(--accent);font-size:20px;margin-bottom:17px}
.mail-aside h2{font-size:22px;line-height:1.2;margin:0 0 12px;letter-spacing:-.5px}
.mail-aside p{color:var(--muted);font-size:13px;margin:6px 0}
.mail-aside .protocol{display:flex;align-items:center;gap:8px;margin-top:20px;font-size:12px;color:var(--text)}
.mail-aside .protocol .dot{width:7px;height:7px;flex:0 0 7px}
.mail-aside .protocol-detail{font-size:11px;color:var(--muted);margin:5px 0 20px 15px}
.mail-aside .side-link{display:inline-flex;color:var(--accent);font-size:12px;margin-top:5px}
.panel.compose{width:100%;max-width:none;margin:0;padding:22px 24px;border-radius:12px;min-width:0}
.compose .form-title{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:12px;margin-bottom:8px;border-bottom:1px solid var(--line)}
.compose .form-title h2{font-size:21px;line-height:1.25;letter-spacing:-.5px;margin:5px 0 0}
.compose .form-title .eyebrow{font-size:9px}
.compose .secure-pill{font:10px 'DM Mono',monospace;letter-spacing:1px;color:var(--accent);border:1px solid var(--line);border-radius:20px;padding:5px 8px;white-space:nowrap}
.compose.panel form,.compose form{max-width:none}
.panel.compose label{display:block;font-size:12px;color:var(--muted);margin:8px 0 4px}
.panel.compose input,.panel.compose textarea,.panel.compose select{display:block;width:100%;min-width:0;padding:10px 11px;font-size:13px;line-height:1.45;border:1px solid var(--line);border-radius:7px;background:#091219;color:var(--text)}
.panel.compose textarea{min-height:125px;resize:vertical}
.compose .form-rule{display:none}
.compose-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:13px}
.compose-footer>span{color:var(--muted);font-size:11px;flex:1;min-width:180px}
.compose-footer .button{padding:10px 14px;font-size:12px;white-space:nowrap}
.panel.result{max-width:760px;margin:28px auto;padding:24px}
.panel.result h1{font-size:clamp(27px,3vw,38px);line-height:1.2;margin:8px 0 12px}
.panel:not(.compose):not(.result){max-width:900px;margin:22px auto;padding:clamp(20px,3vw,30px)}
.panel:not(.compose):not(.result) h1{font-size:clamp(28px,3vw,38px);line-height:1.2}
@media(max-width:760px){
 .page-heading{margin:20px auto 12px}
 .compose-layout{grid-template-columns:1fr;gap:12px;margin:12px auto 22px}
 .mail-aside{padding:15px;display:grid;grid-template-columns:42px minmax(0,1fr);column-gap:12px;align-items:center}
 .mail-aside .mail-logo{grid-row:1 / span 3;margin:0}
 .mail-aside h2{font-size:19px;margin:0}
 .mail-aside p{margin:2px 0}
 .mail-aside .protocol{grid-column:1 / -1;margin-top:12px}
 .mail-aside .protocol-detail{grid-column:1 / -1;margin:3px 0 8px 15px}
 .mail-aside .side-link{grid-column:1 / -1;margin-top:6px}
 .panel.compose{padding:17px 15px}
 .compose-footer{align-items:stretch}
 .compose-footer .button{width:100%}
 .panel.result{margin:18px auto;padding:18px}
}

/* Mail alias management: compact panel matching the Vessel administration cards. */
.alias-create{margin-top:22px;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--panel);}
.alias-create h3{margin:4px 0 7px;font-size:18px}.alias-create p{font-size:12px;color:var(--muted)}.alias-create label{display:block;margin:10px 0 5px;font-size:12px;color:var(--muted)}.alias-create input{width:100%;min-width:0}.alias-domain{font-size:12px;color:var(--accent);margin:5px 0 12px}.alias-create .button{width:100%;justify-content:center}.alias-create .alias-note{line-height:1.5;margin-bottom:0}
.admin-account-form{display:flex;flex-direction:column;gap:10px;min-width:0}.admin-account-form h4{margin:0;font-size:16px}.admin-account-form label{display:flex;flex-direction:column;gap:5px;font-size:13px}.admin-account-form input:not([type=checkbox]){width:100%;min-width:0}.admin-account-form .admin-check{display:flex;flex-direction:row;align-items:flex-start;gap:8px}.admin-account-form input[type=checkbox]{width:auto;margin-top:4px}.admin-account-form .button,.admin-account-form .admin-danger{align-self:flex-start}


/* Homepage feature cards: compact four-column row; appended as the single source of overrides. */
.feature-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  width: 100%;
  padding: 0 0 56px;
  align-items: stretch;
}
.feature-grid > .feature {
  min-width: 0;
  min-height: 210px;
  padding: 16px;
  border-radius: 12px;
}
.feature-grid > .feature .feature-number {
  font-size: 9px;
  letter-spacing: .7px;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.feature-grid > .feature .feature-icon {
  font-size: 21px;
  margin-top: 18px;
}
.feature-grid > .feature h2 {
  font-size: clamp(16px, 1.55vw, 21px);
  line-height: 1.2;
  letter-spacing: -.45px;
  margin: 9px 0;
  overflow-wrap: anywhere;
}
.feature-grid > .feature p {
  font-size: 12px;
  line-height: 1.45;
  margin: 0 0 14px;
  overflow-wrap: anywhere;
}
.feature-grid > .feature .feature-link {
  font-size: 11px;
}
@media (max-width: 900px) {
  .feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .feature-grid > .feature { min-height: 190px; }
  .feature-grid > .feature h2 { font-size: 19px; }
}
@media (max-width: 420px) {
  .feature-grid { grid-template-columns: 1fr; }
}

/* Vessel administration — all styles live in this single stylesheet. */
.admin-layout{display:grid;grid-template-columns:190px minmax(0,1fr);gap:14px;min-height:calc(100vh - 150px);max-width:1240px;margin:16px auto 28px;padding:0 18px}
.admin-sidebar,.admin-card,.admin-login{background:var(--panel);border:1px solid var(--line);border-radius:12px}
.admin-sidebar{padding:14px 11px;align-self:start}.admin-main{width:100%;min-width:0;margin:0 auto;padding:8px 0}.admin-grid{display:grid;grid-template-columns:minmax(190px,240px) minmax(0,1fr);gap:12px}.admin-card{padding:14px;min-width:0}.admin-user,.admin-message{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:9px 10px;border-bottom:1px solid var(--line);color:inherit;text-decoration:none}.admin-message-list{border:1px solid var(--line);border-radius:9px;overflow:hidden}.admin-message>a{min-width:0;color:inherit;text-decoration:none;overflow-wrap:anywhere}.admin-message small,.admin-muted,.admin-user small,.admin-hint,.admin-sidebar-note{display:block;color:var(--muted);font-size:12px}.admin-message form{margin:0}.admin-message-list .admin-mail-head{display:grid;grid-template-columns:minmax(0,1fr) 130px 80px;gap:8px;padding:9px;background:var(--panel2);color:var(--muted)}.admin-danger{background:#351b20;color:#ffd9dd;border:1px solid #81414a;border-radius:7px;padding:6px 9px;cursor:pointer}.admin-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.admin-tabs a,.admin-side-link{display:inline-flex;align-items:center;padding:7px 10px;border:1px solid var(--line);border-radius:7px;color:inherit;text-decoration:none;background:var(--panel2);font-size:12px}.admin-tabs a.active,.admin-side-link.active{border-color:var(--accent);color:var(--accent)}.admin-side-link{display:flex;margin:5px 0}.admin-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}.admin-stats>div{padding:10px;background:var(--bg);border:1px solid var(--line);border-radius:8px}.admin-stats strong,.admin-stats small,.admin-stats span{display:block}.admin-profile{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.admin-preview{margin-top:12px;padding:12px;background:var(--bg);border:1px solid var(--line);border-radius:9px}.admin-preview pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit}.admin-empty{padding:20px;text-align:center;border:1px dashed var(--line);border-radius:9px;color:var(--muted)}.admin-error{color:#ff9b9b}.admin-flash{color:#86e4b4}.admin-login{max-width:440px;margin:36px auto;padding:22px}.admin-login form{display:grid;gap:9px}.admin-login input{width:100%;padding:10px;border:1px solid var(--line);border-radius:7px;background:var(--bg);color:var(--text)}.admin-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 14px}.admin-heading h1{font-size:clamp(25px,3vw,34px);margin:4px 0}.admin-content-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:10px 0}.admin-count-pill,.admin-folder-tag,.admin-demo-label{font:10px 'DM Mono',monospace;color:var(--accent);border:1px solid var(--line);border-radius:20px;padding:4px 7px}.admin-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-account-form{border:1px solid var(--line);border-radius:10px;padding:13px;display:flex;flex-direction:column;gap:9px;min-width:0}.admin-account-form label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}.admin-account-form input:not([type=checkbox]){width:100%;min-width:0;padding:9px;border:1px solid var(--line);border-radius:7px;background:var(--bg);color:var(--text)}.admin-account-form .admin-check{display:flex;flex-direction:row;align-items:flex-start;gap:7px}.admin-account-form input[type=checkbox]{width:auto}.admin-account-form h4{margin:0}.admin-top{min-height:62px}.admin-top nav{gap:14px}.admin-top .site-appearance{gap:5px}.admin-top .site-appearance select{max-width:100px}
@media(max-width:850px){.admin-layout{grid-template-columns:1fr;padding:0 14px}.admin-sidebar{padding:10px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.admin-sidebar .eyebrow,.admin-sidebar-note{display:none}.admin-grid{grid-template-columns:1fr}.admin-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:560px){.admin-layout{padding:0 10px;margin-top:10px}.admin-main{padding:0}.admin-card{padding:10px}.admin-heading{align-items:flex-start;flex-direction:column}.admin-settings{grid-template-columns:1fr}.admin-stats{grid-template-columns:1fr}.admin-message-list .admin-mail-head{display:none}.admin-message{grid-template-columns:minmax(0,1fr) auto}.admin-message-date{display:none}.admin-top{padding:12px 14px}.admin-top nav{flex-wrap:wrap}}

/* Compact mail rendering and mailbox folder indicators */
.admin-user-folders{display:flex;gap:6px;margin-top:4px}.admin-user-folders span{display:inline-flex;padding:2px 5px;border:1px solid var(--line);border-radius:5px;font-size:10px;color:var(--muted)}.admin-message{align-items:start}.admin-message>a{min-width:0}.admin-preview{grid-column:1/-1;width:100%;min-width:0;margin:8px 0 4px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--panel);box-sizing:border-box}.admin-preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-preview-toolbar h3{margin:0;font-size:15px}.admin-email-frame{display:block;width:100%;height:clamp(280px,55vh,680px);border:1px solid var(--line);border-radius:8px;background:#fff;color:#111;margin-top:10px}.admin-email-text{white-space:normal;overflow-wrap:anywhere;line-height:1.55;padding:12px;margin-top:10px;border-radius:8px;background:var(--panel);color:var(--text)}.admin-message.selected{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px}.admin-message.selected .admin-preview{grid-column:1/-1}

/* Email HTML is rendered inline in the selected row; links stay in the current tab. */
.admin-email-rendered{display:block;width:100%;max-width:100%;min-width:0;overflow-wrap:anywhere;word-break:normal;line-height:1.55;padding:12px;margin-top:10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:#202124;box-sizing:border-box;overflow:hidden}.admin-email-rendered img,.admin-email-rendered video{max-width:100%;height:auto}.admin-email-rendered table{max-width:100%;border-collapse:collapse}.admin-email-rendered pre{white-space:pre-wrap;overflow-wrap:anywhere}.admin-email-rendered a{color:#1459b8;text-decoration:underline}.admin-email-rendered *{max-width:100%;box-sizing:border-box}.admin-email-frame{display:none!important}

/* Public account registration */
.register-panel{max-width:560px;margin:0 auto;padding:clamp(22px,4vw,38px)}.register-panel form{display:grid;gap:12px}.register-panel label{font-weight:650}.register-panel input{width:100%;min-width:0}.register-panel .register-address,.register-panel .alias-note{margin:0;color:var(--muted,#7b8794);font-size:.9rem}.register-panel .button{justify-self:start;margin-top:8px}.register-panel a{color:var(--accent,#178f82)}.actions{flex-wrap:wrap}

/* Auth navigation actions */
.topbar nav .nav-logout{display:inline-flex;align-items:center;margin:0;padding:0}
.topbar nav .nav-logout-button{font:inherit;color:inherit;background:transparent;border:1px solid var(--line,rgba(255,255,255,.16));border-radius:999px;padding:9px 13px;cursor:pointer}
.topbar nav .nav-logout-button:hover{color:var(--accent,#178f82);border-color:var(--accent,#178f82)}

/* Homepage logout action follows the same layout as the other hero buttons. */
.hero .actions .hero-logout{display:inline-flex;align-items:center;margin:0;padding:0}

/* Create a reliablereasons.fyi mailbox from an authenticated Vessel session. */
.mail-activation-panel>p{margin-top:0}.mail-activation-panel strong{color:var(--accent)}.mail-activation-panel form{max-width:100%}.mail-activation-panel .alias-note{line-height:1.6}


/* Vessel animated character header: transparent, rounded, with the moon centered. */
.character-header {
  width: min(var(--max, 1120px), calc(100% - 48px));
  margin: 12px auto 0;
  min-height: 86px;
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(145, 190, 199, .18);
  border-radius: 22px;
  background: rgba(8, 17, 23, .16);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}
.character-header::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url("/assets/reliable_connectionbg.png") center 45% / cover no-repeat;
  opacity: .16;
  pointer-events: none;
}
.character-stage {
  position: relative;
  z-index: 1;
  min-height: 86px;
  display: grid;
  grid-template-columns: 1fr 72px 1fr;
  align-items: center;
  justify-items: center;
  padding: 8px clamp(14px, 5vw, 70px);
}
.sprite-character {
  display: block;
  width: 30px;
  height: 61px;
  background-repeat: no-repeat;
  image-rendering: pixelated;
  animation: vessel-character-walk .8s steps(4) infinite;
}
.sprite-boy {
  justify-self: end;
  background-image: url("/assets/luxboy.png");
  background-size: 120px 61px;
}
.sprite-girl {
  justify-self: start;
  height: 60px;
  background-image: url("/assets/luxgirl.png");
  background-size: 120px 60px;
  animation-delay: -.4s;
  /* Mirror the right-side character so she faces inward, toward the moon and the left. */
  transform: scaleX(-1);
}
.header-moon {
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  border-radius: 50%;
  color: #dcecff;
  font-size: 43px;
  line-height: 1;
  text-shadow: 0 0 10px rgba(191, 220, 255, .65), 0 0 24px rgba(115, 164, 219, .4);
  background: radial-gradient(circle, rgba(169, 204, 244, .09), rgba(169, 204, 244, 0) 72%);
}
@keyframes vessel-character-walk {
  from { background-position: 0 0; }
  to { background-position: -120px 0; }
}
.hero-logout { display: inline-flex; margin: 0; }
@media (max-width: 760px) {
  .character-header { width: calc(100% - 34px); margin-top: 10px; border-radius: 17px; min-height: 74px; }
  .character-stage { min-height: 74px; grid-template-columns: 1fr 60px 1fr; padding: 6px 24px; }
  .header-moon { width: 48px; height: 48px; font-size: 38px; }
}
@media (prefers-reduced-motion: reduce) {
  .sprite-character { animation: none; }
}


/* Reliable Reasons visual refresh: charcoal dotted grid, sandy spores and illustrated footer. */
:root{--bg:#242629;--panel:#2b2d31;--panel2:#303238;--line:#484b50;--text:#f4f4f2;--muted:#b8b8b3}
html[data-theme="black"]{--bg:#17181a;--panel:#202124;--panel2:#27282b;--line:#3c3e42}
body{position:relative;isolation:isolate;background-color:var(--bg);background-image:radial-gradient(circle,rgba(255,255,255,.82) 1px,transparent 1.35px),radial-gradient(ellipse at 75% -10%,rgba(198,205,213,.10),transparent 45%);background-size:22px 22px,100% 100%;background-position:0 0,center top;background-attachment:fixed;color:var(--text)}
.topbar{background:rgba(30,32,35,.91);backdrop-filter:blur(12px)}
.character-header{isolation:isolate;background:rgba(33,31,28,.46);border-color:rgba(230,213,174,.28);box-shadow:0 12px 38px rgba(0,0,0,.2)}
.character-header::before{background-image:url("/assets/reliable_connectionbg.png");background-position:center 47%;background-size:cover;opacity:.22;filter:saturate(.7) sepia(.22)}
/* Sand-colored spores drift down across the character stage without blocking clicks. */
.character-header::after{content:"";position:absolute;inset:-35% 0 0;z-index:2;pointer-events:none;opacity:.78;background-image:radial-gradient(circle,rgba(242,218,160,.95) 0 1px,transparent 1.7px),radial-gradient(circle,rgba(218,190,130,.8) 0 1.3px,transparent 2px),radial-gradient(circle,rgba(255,239,194,.8) 0 .8px,transparent 1.6px);background-size:71px 83px,113px 127px,157px 109px;background-position:7px -90px,38px -160px,81px -45px;animation:vessel-sandy-spores 13s linear infinite}
@keyframes vessel-sandy-spores{0%{background-position:7px -180px,38px -260px,81px -145px;transform:translateY(-4%)}100%{background-position:29px 260px,3px 360px,122px 310px;transform:translateY(18%)}}
.character-stage{z-index:3}
.hero-art{border:1px solid rgba(210,215,219,.12);border-radius:28px;background:linear-gradient(145deg,rgba(39,42,46,.42),rgba(16,18,20,.12));background-image:linear-gradient(rgba(30,32,35,.12),rgba(30,32,35,.28)),url("/assets/reliable_connectionbg.png");background-size:cover;background-position:center;box-shadow:inset 0 0 70px rgba(0,0,0,.28)}
.hero-art::before,.hero-art::after{content:"";position:absolute;z-index:0;width:86px;height:86px;background-size:contain;background-repeat:no-repeat;opacity:.72;filter:drop-shadow(0 8px 20px rgba(0,0,0,.32));pointer-events:none}
.hero-art::before{top:14px;left:12px;background-image:url("/assets/reliable_soul_shield.png");transform:rotate(-12deg)}
.hero-art::after{right:12px;bottom:14px;background-image:url("/assets/reliable_soul_sacrifice.png");transform:rotate(12deg)}
.glass-card{background:linear-gradient(140deg,rgba(36,39,43,.9),rgba(14,16,18,.83));backdrop-filter:blur(4px)}
.feature{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(145deg,rgba(43,45,49,.96),rgba(29,31,34,.94));}
.feature::after{content:"";position:absolute;z-index:-1;right:-14px;bottom:-20px;width:104px;height:104px;background:url("/assets/reliable_soul_shield.png") center/contain no-repeat;opacity:.075;transform:rotate(-12deg);pointer-events:none}
.feature:nth-child(2n)::after{background-image:url("/assets/reliable_soul_sacrifice.png");transform:rotate(12deg)}
footer{position:relative;isolation:isolate;overflow:hidden;min-height:clamp(150px,24vw,286px);margin-top:22px;padding:clamp(82px,12vw,145px) max(24px,calc((100vw - var(--max))/2)) 24px;border-top:1px solid rgba(255,255,255,.13);align-items:flex-end;color:#f2f0e9;background-color:#1b1c1e;background-image:linear-gradient(180deg,rgba(20,21,23,.12),rgba(12,13,14,.78)),url("/assets/reliable_footer.png");background-position:center,center 48%;background-size:cover;background-repeat:no-repeat;text-shadow:0 2px 9px rgba(0,0,0,.8)}
footer::before{content:"RELIABLE REASONS  /  VESSEL";position:absolute;top:16px;left:max(24px,calc((100vw - var(--max))/2));font:10px/1.4 'DM Mono',monospace;letter-spacing:2.5px;color:rgba(255,255,255,.8)}
footer span{color:#e0ded8}
@media(max-width:760px){.character-header::after{opacity:.58}.hero-art::before,.hero-art::after{width:66px;height:66px}.hero-art{background-position:center}footer{min-height:155px;padding:78px 18px 18px;background-position:center,center;background-size:cover}footer::before{left:18px;top:13px}}
@media(prefers-reduced-motion:reduce){.character-header::after{animation:none}}


/* LumenLineage identity footer — compact, sand-toned, sized to echo the character header. */
footer.lumen-footer{
  width:min(var(--max),calc(100% - 48px));min-height:86px;margin:18px auto 14px;padding:13px clamp(16px,3vw,30px);
  display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;
  border:1px solid rgba(111,82,42,.28);border-radius:22px;color:#33291d;
  background:linear-gradient(112deg,#d8c29a 0%,#e9d9b7 48%,#cbb184 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.48),0 12px 32px rgba(0,0,0,.16);text-shadow:none;overflow:hidden;
}
footer.lumen-footer::before{content:none}
.lumen-brand{display:flex;align-items:center;gap:11px;min-width:0;color:#302719}
.lumen-brand:hover{color:#17130e}
.lumen-brand-emblem{width:48px;height:48px;flex:0 0 48px;display:grid;place-items:center;border:1px solid rgba(81,60,31,.38);border-radius:15px;background:rgba(255,248,229,.42);box-shadow:inset 0 1px 0 rgba(255,255,255,.45)}
.lumen-brand-emblem img{width:39px;height:39px;object-fit:contain;mix-blend-mode:multiply;filter:sepia(.22) saturate(.8)}
.lumen-brand-copy{display:flex;flex-direction:column;gap:2px}
.lumen-brand-copy strong{font-family:Georgia,'Times New Roman',serif;font-size:clamp(18px,2vw,22px);font-weight:600;letter-spacing:.2px;line-height:1.1}
.lumen-brand-copy small{font:700 9px/1.4 'DM Mono',monospace;letter-spacing:2.2px;color:#6d5635}
.lumen-tagline{margin:0 auto;color:#55432d;font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:15px;letter-spacing:.1px}
footer.lumen-footer .footer-copyright{font:10px/1.5 'DM Mono',monospace;letter-spacing:.5px;color:#69563c;white-space:nowrap}
@media(max-width:760px){footer.lumen-footer{width:calc(100% - 34px);min-height:86px;margin:12px auto;padding:12px 14px;border-radius:17px;gap:8px 14px}.lumen-brand-emblem{width:40px;height:40px;flex-basis:40px;border-radius:12px}.lumen-brand-emblem img{width:33px;height:33px}.lumen-brand-copy strong{font-size:18px}.lumen-tagline{order:3;flex-basis:100%;text-align:center;font-size:14px}footer.lumen-footer .footer-copyright{font-size:9px}}


/* LumenLineage refinement: clear glass header, finer dimmer grid, typography-led hero. */
body{background-image:radial-gradient(circle,rgba(255,255,255,.49) .7px,transparent 1px),radial-gradient(ellipse at 75% -10%,rgba(198,205,213,.10),transparent 45%);background-size:16px 16px,100% 100%;}
.character-header{background:rgba(112,116,121,.12);border-color:rgba(218,222,225,.14);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 10px 32px rgba(0,0,0,.08)}
.character-header::before{background:radial-gradient(ellipse at 50% 40%,rgba(198,201,204,.24),rgba(126,130,135,.13) 38%,rgba(75,78,82,.04) 72%);opacity:1;filter:blur(8px)}
.character-header::after{content:"";position:absolute;inset:-30% 0;z-index:0;pointer-events:none;background:radial-gradient(ellipse at 22% 50%,rgba(222,225,227,.10),transparent 35%),radial-gradient(ellipse at 75% 60%,rgba(192,196,200,.11),transparent 38%);filter:blur(16px)}
.character-stage{z-index:1}
.hero-art{border:1px solid rgba(215,219,221,.20);border-radius:30px;min-height:370px;position:relative;overflow:hidden;display:grid;place-items:center;background:linear-gradient(135deg,rgba(182,171,147,.20),rgba(74,76,78,.32) 48%,rgba(31,33,35,.46));box-shadow:inset 0 1px 0 rgba(255,255,255,.10),inset 0 0 70px rgba(219,207,181,.06),0 24px 70px rgba(0,0,0,.18)}
.hero-art::before{content:"✧";position:absolute;top:25px;left:27px;width:62px;height:62px;display:grid;place-items:center;border:1px solid rgba(226,207,164,.48);border-radius:19px;background:linear-gradient(145deg,rgba(226,208,170,.26),rgba(125,112,87,.16));color:#e8d5aa;font-size:37px;text-shadow:0 0 24px rgba(233,213,169,.36);box-shadow:inset 0 1px 0 rgba(255,255,255,.13)}
.hero-art::after{content:"✦";position:absolute;right:28px;bottom:25px;width:54px;height:54px;display:grid;place-items:center;border:1px solid rgba(226,207,164,.35);border-radius:50%;background:rgba(215,194,151,.13);color:#e4d0a5;font-size:26px;box-shadow:0 0 40px rgba(216,197,157,.08)}
.hero-art .glass-card{width:min(390px,84%);height:280px;transform:none;align-items:center;justify-content:center;text-align:center;padding:32px 24px;border:1px solid rgba(225,214,188,.35);border-radius:26px;background:linear-gradient(145deg,rgba(205,190,159,.14),rgba(46,47,48,.24));box-shadow:0 18px 60px rgba(0,0,0,.14),inset 0 1px 0 rgba(255,255,255,.12);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.hero-art .card-label{color:#d7c59d;letter-spacing:3px;font-size:10px}
.hero-art .symbol{font-family:Georgia,'Times New Roman',serif;font-size:clamp(43px,5vw,64px);font-weight:500;letter-spacing:.2px;color:#f0e5cc;line-height:1.12;margin:19px 0 10px;text-shadow:0 0 28px rgba(229,208,164,.17)}
.hero-art .card-line{display:none}
.hero-art .card-foot{margin-top:9px;color:#d4c9b1;font-family:Georgia,'Times New Roman',serif;font-style:italic;letter-spacing:.5px;font-size:14px}
.hero-art .grid-glow{inset:0;background:radial-gradient(ellipse at center,rgba(221,205,170,.12),transparent 68%)}
@media(max-width:760px){.hero-art{min-height:300px}.hero-art .glass-card{height:230px}.hero-art::before{top:14px;left:14px;width:48px;height:48px}.hero-art::after{right:14px;bottom:14px;width:42px;height:42px}}

/* LumenLineage refinement: transparent character stage, falling sand spores and a luminous detailed full moon. */
body{background-size:16px 16px,100% 100%;background-image:radial-gradient(circle,rgba(255,255,255,.49) .65px,transparent 1px),radial-gradient(ellipse at 75% -10%,rgba(198,205,213,.08),transparent 45%)}
.character-header{background:rgba(108,110,113,.09)!important;border-color:rgba(205,205,199,.13)!important;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);box-shadow:0 12px 38px rgba(0,0,0,.12)}
.character-header::before{background:none!important;opacity:0!important}
.character-stage{grid-template-columns:1fr 84px 1fr;padding:5px 8px!important;min-height:100px}
.sprite-boy{justify-self:start!important;margin-left:clamp(2px,.8vw,12px)}
.sprite-girl{justify-self:end!important;margin-right:clamp(2px,.8vw,12px)}
.header-moon{position:relative;width:68px;height:68px;font-size:0;color:transparent;background:radial-gradient(circle,rgba(234,218,180,.2),rgba(169,204,244,0) 72%);animation:lumen-moon-glow 3.4s ease-in-out infinite;filter:drop-shadow(0 0 10px rgba(232,219,186,.18))}
.moon-disc{position:relative;display:block;width:48px;height:48px;border-radius:50%;overflow:hidden;background:radial-gradient(circle at 32% 28%,#fffdf2 0,#e8e4d5 26%,#c8c8c2 58%,#8f9498 100%);box-shadow:inset -7px -5px 13px rgba(38,42,48,.42),inset 3px 3px 7px rgba(255,255,255,.75),0 0 13px rgba(235,225,198,.48)}
.moon-disc::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 28% 30%,rgba(117,120,119,.25) 0 8%,transparent 9%),radial-gradient(circle at 65% 22%,rgba(110,114,115,.24) 0 11%,transparent 12%),radial-gradient(ellipse at 70% 62%,rgba(100,105,108,.25) 0 14%,transparent 15%),radial-gradient(circle at 37% 73%,rgba(106,110,110,.2) 0 8%,transparent 9%),radial-gradient(ellipse at 43% 47%,rgba(255,255,255,.28),transparent 45%);mix-blend-mode:multiply}
.moon-disc::after{content:"";position:absolute;inset:0;border-radius:50%;background:repeating-radial-gradient(ellipse at 40% 40%,rgba(255,255,255,.06) 0 1px,transparent 2px 5px);opacity:.45}
@keyframes lumen-moon-glow{0%,100%{transform:scale(.97);filter:drop-shadow(0 0 7px rgba(232,219,186,.22))}50%{transform:scale(1.06);filter:drop-shadow(0 0 22px rgba(246,229,183,.68))}}
.character-header::after{opacity:.7!important}
/* Make the home hero feel editorial and inviting; keep its artwork area image-free. */
.hero{align-items:center;gap:clamp(30px,5vw,76px)}
.hero-copy{max-width:650px}
.hero-kicker{font:600 10px/1.7 'DM Mono',monospace;letter-spacing:2.8px;color:#c8b58d;margin:0 0 14px}
.hero h1{font-size:clamp(38px,5vw,66px);line-height:1.04;letter-spacing:-2.7px;margin:0 0 14px;font-weight:650}
.hero h1 span{color:#d5c19a}
.hero-subtitle{font:italic 500 clamp(15px,1.5vw,19px)/1.6 Georgia,serif;letter-spacing:.35px;color:#d6c7a7;margin:0 0 16px}
.hero .lead{font-size:clamp(13px,1.1vw,15px);line-height:1.75;letter-spacing:.12px;color:#b9bab7;max-width:540px}
.hero-art{background:radial-gradient(ellipse at 50% 48%,rgba(193,172,127,.11),transparent 48%),linear-gradient(145deg,rgba(57,58,57,.18),rgba(16,17,18,.04))!important;background-image:none!important;border-color:rgba(218,203,170,.13);box-shadow:inset 0 0 65px rgba(0,0,0,.14)}
.hero-art::before{top:18px;left:18px;width:68px;height:68px;opacity:.46;filter:drop-shadow(0 0 12px rgba(208,187,142,.12))}
.hero-art::after{right:18px;bottom:18px;width:68px;height:68px;opacity:.46;filter:drop-shadow(0 0 12px rgba(208,187,142,.12))}
.glass-card{transform:none;width:min(330px,82%);height:270px;border-radius:18px;border-color:rgba(218,203,170,.22);background:linear-gradient(145deg,rgba(43,43,41,.78),rgba(20,21,21,.64));box-shadow:0 20px 55px rgba(0,0,0,.2);backdrop-filter:blur(8px)}
.lumenlineage-mark{font-size:82px!important;font-weight:400!important;color:#d8c49b!important;text-shadow:0 0 24px rgba(216,196,155,.24);margin:auto}
.card-label{color:#c8b58d}.card-foot{font-size:10px;line-height:1.7;letter-spacing:1.5px;color:#d4c8ad}
@media(max-width:760px){.character-stage{min-height:82px;grid-template-columns:1fr 64px 1fr;padding:4px 4px!important}.header-moon{width:58px;height:58px}.moon-disc{width:42px;height:42px}.hero{padding-top:38px}.hero h1{font-size:clamp(37px,10vw,55px);letter-spacing:-1.8px}.hero .lead{font-size:13px}.hero-art{min-height:255px}.glass-card{height:220px}.lumenlineage-mark{font-size:68px!important}}
@media(prefers-reduced-motion:reduce){.header-moon{animation:none}}

/* Preserve the complete LumenLineage design while keeping the viewport contained. */
html, body { width:100%; max-width:100%; overflow-x:clip; }
body { min-height:100vh; min-height:100svh; }
main, .topbar, .character-header, .character-stage, .hero, .hero-copy, .hero-art,
.feature-grid, .feature, .panel, footer, .site-footer { min-width:0; max-width:100%; }
img, video, iframe, canvas, svg { max-width:100%; }
.hero h1, .lead, .feature, .panel, footer { overflow-wrap:anywhere; }

/* Larger falling sand spores, shaped like softly glowing raindrops. */
.character-header::after {
  opacity:.82 !important;
  background-image:
    radial-gradient(ellipse 2.5px 5px at center, rgba(242,218,160,.95) 0 58%, transparent 100%),
    radial-gradient(ellipse 3px 6px at center, rgba(218,190,130,.82) 0 55%, transparent 100%),
    radial-gradient(ellipse 2px 4px at center, rgba(255,239,194,.9) 0 55%, transparent 100%);
  background-size:71px 83px, 113px 127px, 157px 109px;
  background-position:7px -90px, 38px -160px, 81px -45px;
}
@keyframes vessel-sandy-spores {
  0% { background-position:7px -180px, 38px -260px, 81px -145px; transform:translateY(-4%); }
  100% { background-position:29px 260px, 3px 360px, 122px 310px; transform:translateY(18%); }
}
@media(max-width:760px) {
  .hero, .hero-art { min-width:0; width:100%; }
  .character-stage { padding-inline:12px; }
  .sprite-character { max-width:100%; }
}

/* LumenLineage particles: fewer, larger raindrop-like flecks in sand, teal and pale blue. */
.character-header::after{
  content:"";
  position:absolute;
  inset:-24% 0 -8%;
  z-index:2;
  pointer-events:none;
  opacity:.72!important;
  filter:drop-shadow(0 0 3px rgba(215,225,219,.14));
  background-image:
    radial-gradient(ellipse 2.6px 7px at center,rgba(222,194,139,.95) 0 62%,transparent 100%),
    radial-gradient(ellipse 2.4px 6.5px at center,rgba(91,190,177,.92) 0 60%,transparent 100%),
    radial-gradient(ellipse 2.2px 6px at center,rgba(174,213,239,.94) 0 60%,transparent 100%),
    radial-gradient(ellipse 1.8px 5px at center,rgba(238,218,176,.84) 0 58%,transparent 100%);
  background-size:137px 191px,181px 227px,223px 173px,269px 241px;
  background-position:13px -130px,71px -240px,129px -75px,43px -185px;
  animation:vessel-raindrop-fall 16s linear infinite;
}
@keyframes vessel-raindrop-fall{
  0%{background-position:13px -210px,71px -300px,129px -175px,43px -260px;transform:translateY(-3%)}
  100%{background-position:44px 270px,29px 330px,182px 290px,88px 360px;transform:translateY(8%)}
}

/* Flexible full-view shell: fits large viewports when content permits, grows naturally with content. */
html,body{min-height:100%;}
body{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;overflow-x:clip;}
.topbar{flex:0 0 auto;}
.character-header{flex:0 0 auto;}
main{flex:1 0 auto;min-height:0;}
footer.lumen-footer{flex:0 0 auto;}

/* On large desktop screens, use a denser layout so the homepage can fit in one view. */
@media(min-width:1100px) and (min-height:850px){
  .topbar{min-height:62px;padding-top:9px;padding-bottom:9px;gap:22px;}
  .character-header{margin-top:8px;min-height:76px;}
  .character-stage{min-height:76px;}
  main{display:flex;flex-direction:column;justify-content:center;}
  .hero{flex:0 0 auto;min-height:0;padding:clamp(22px,3.3vh,34px) 0;gap:clamp(28px,4vw,58px);}
  .hero-art{min-height:clamp(260px,34vh,320px);}
  .hero .glass-card{height:clamp(210px,27vh,245px);}
  .feature-grid{flex:0 0 auto;gap:12px;padding-bottom:clamp(8px,1.5vh,14px);}
  .feature{min-height:0;padding:16px 19px;}
  .feature-icon{margin-top:12px;font-size:21px;}
  .feature h2{font-size:clamp(19px,1.6vw,24px);margin:8px 0;}
  .feature p{font-size:12px;line-height:1.5;margin-bottom:12px;}
  footer.lumen-footer{min-height:70px;margin:8px auto 10px;padding:9px 22px;}
  .lumen-brand-emblem{width:42px;height:42px;flex-basis:42px;}
  .lumen-brand-emblem img{width:34px;height:34px;}
}
@media(max-height:849px) and (min-width:761px){
  .hero{padding-top:34px;padding-bottom:38px;min-height:0;}
  .hero-art{min-height:290px;}
  .hero .glass-card{height:230px;}
  .feature{min-height:210px;padding:20px;}
  .feature-icon{margin-top:20px;}
  .feature-grid{padding-bottom:26px;}
}
@media(max-width:760px){
  .character-header::after{opacity:.64!important;}
  body{overflow-x:clip;}
  .feature-grid{padding-bottom:28px;}
}
@media(prefers-reduced-motion:reduce){.character-header::after{animation:none;}}


/* LumenLineage: compact left hero card; preserve the original copy and fit the viewport. */
.hero-copy{
  position:relative;
  isolation:isolate;
  min-width:0;
  padding:clamp(14px,1.8vw,22px);
  border:1px solid rgba(218,203,170,.22);
  border-radius:18px;
  background:linear-gradient(145deg,rgba(43,45,49,.97),rgba(29,31,34,.96));
  box-shadow:0 12px 32px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.035);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.hero-copy .hero-kicker,
.hero-copy .hero-subtitle{position:relative;z-index:1}
.hero-copy h1{font-size:clamp(30px,3.5vw,48px);line-height:1.06;letter-spacing:-1.8px;margin:12px 0}
.hero-copy .lead{font-size:clamp(14px,1.2vw,17px);line-height:1.55;color:#d0d0cc;max-width:58ch}
.hero-copy .actions{gap:12px;margin:18px 0}
@media(max-width:760px){
  .hero-copy{padding:17px 15px;border-radius:15px}
  .hero-copy h1{font-size:clamp(28px,8vw,40px);letter-spacing:-1.2px}
  .hero-copy .lead{font-size:14px;line-height:1.5}
}

/* Responsive polish pass: compact navigation, balanced cards and fluid spacing. */
.topbar{width:100%;min-width:0;flex-wrap:wrap;row-gap:10px;column-gap:clamp(12px,2vw,26px)}
.topbar nav{min-width:0;flex-wrap:wrap;row-gap:8px;column-gap:clamp(10px,1.8vw,22px)}
.site-appearance{min-width:0;flex-wrap:wrap}
.character-header,.character-stage,.hero,.feature-grid{min-width:0}
.feature-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(10px,1.3vw,16px);padding-bottom:clamp(20px,3vw,42px)}
.feature{min-width:0;min-height:clamp(210px,19vw,280px);padding:clamp(15px,1.8vw,25px)}
.feature-number{font-size:clamp(10px,.9vw,12px);letter-spacing:clamp(1px,.14vw,1.7px);overflow-wrap:anywhere}
.feature-icon{margin-top:clamp(18px,2.4vw,36px)}
.feature h2{font-size:clamp(18px,2vw,27px);line-height:1.18;overflow-wrap:anywhere}
.feature p{font-size:clamp(12px,1vw,15px);line-height:1.55}
.feature-link{font-size:clamp(12px,.95vw,14px);overflow-wrap:anywhere}
footer.lumen-footer{width:min(var(--max),calc(100% - 48px));margin-left:auto;margin-right:auto}
@media(max-width:980px){
 .topbar{padding:12px 20px;gap:12px}
 .topbar nav{flex:1 1 100%;order:3;justify-content:flex-start;gap:8px 17px}
 .site-appearance{margin-left:auto;order:2}
 .feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-bottom:24px}
 .feature{min-height:210px;padding:18px}
 .feature-icon{margin-top:20px}
 .hero{gap:22px}
}
@media(max-width:760px){
 main{width:calc(100% - 28px);margin-inline:auto}
 .topbar{padding:12px 14px;gap:9px}
 .brand{font-size:clamp(16px,4.5vw,19px);gap:9px;white-space:normal;min-width:0}
 .brand small{letter-spacing:1.5px}
 .brand-mark{width:36px;height:36px;flex:0 0 36px}
 .topbar nav{display:flex;flex:1 1 100%;justify-content:flex-start;gap:7px 15px;font-size:12px;line-height:1.5}
 .topbar nav a{max-width:100%;overflow-wrap:anywhere}
 .site-appearance{order:4;flex:1 1 100%;justify-content:flex-start;gap:8px 10px;margin:0}
 .site-appearance label{font-size:10px}
 .site-appearance select{width:auto;max-width:calc(50vw - 55px);min-width:0;font-size:12px;padding:7px 8px}
 .character-header{margin:0!important}
 .character-stage{width:calc(100% - 28px);margin:10px auto 0!important;grid-template-columns:minmax(0,1fr) 54px minmax(0,1fr);min-height:76px;padding:3px 7px!important;gap:4px}
 .header-moon{width:50px;height:50px}
 .moon-disc{width:38px;height:38px}
 .sprite-character{max-height:65px;width:auto;max-width:100%;object-fit:contain}
 .sprite-boy{justify-self:start!important;margin-left:0!important}
 .sprite-girl{justify-self:end!important;margin-right:0!important}
 .hero{grid-template-columns:minmax(0,1fr);padding:20px 0 24px;gap:14px;min-height:0}
 .hero-copy{width:100%;padding:16px 15px;border-radius:15px}
 .hero-copy .hero-kicker{font-size:9px;letter-spacing:1.7px;margin-bottom:8px;line-height:1.55}
 .hero-copy h1{font-size:clamp(28px,7.8vw,40px);line-height:1.08;letter-spacing:-1.2px;margin:8px 0 10px}
 .hero-copy .hero-subtitle{font-size:clamp(14px,4vw,17px);line-height:1.45;margin:0 0 10px}
 .hero-copy .lead{font-size:13px;line-height:1.5}
 .hero-copy .actions{gap:8px;margin:13px 0;align-items:stretch}
 .hero-copy .actions .button{padding:10px 12px;min-height:42px;gap:8px;font-size:13px;flex:1 1 auto}
 .hero-copy .status{margin-top:14px;font-size:11px;flex-wrap:wrap}
 .hero-art{min-height:170px;border-radius:18px}
 .hero-art::before{top:9px;left:9px;width:36px;height:36px;border-radius:11px;font-size:23px}
 .hero-art::after{right:9px;bottom:9px;width:32px;height:32px;font-size:18px}
 .glass-card{width:min(78%,290px);height:auto;min-height:145px;padding:15px;border-radius:14px}
 .lumenlineage-mark{font-size:clamp(48px,14vw,62px)!important}
 .card-label{font-size:9px;letter-spacing:1.5px;text-align:center}
 .card-foot{font-size:9px;letter-spacing:1px;text-align:center;margin-top:10px}
 .feature-grid{grid-template-columns:minmax(0,1fr);gap:10px;padding:0 0 18px}
 .feature{min-height:0;padding:16px 17px;border-radius:16px}
 .feature-number{font-size:10px;letter-spacing:1.5px}
 .feature-icon{font-size:21px;margin-top:12px;line-height:1.2}
 .feature h2{font-size:clamp(20px,5.6vw,25px);line-height:1.2;letter-spacing:-.5px;margin:8px 0}
 .feature p{font-size:14px;line-height:1.5;margin:0 0 14px;max-width:42ch}
 .feature-link{font-size:13px;margin-top:0}
 footer.lumen-footer{width:calc(100% - 28px);min-height:0;margin:12px auto 14px;padding:12px 13px;gap:8px 11px;border-radius:17px;display:flex;align-items:center;flex-wrap:wrap}
 .lumen-brand-emblem{width:40px;height:40px;flex:0 0 40px;border-radius:10px}
 .lumen-brand-emblem img{width:33px;height:33px}
 .lumen-brand-copy{min-width:0;flex:1 1 calc(100% - 60px)}
 .lumen-brand-copy strong{font-size:clamp(17px,5vw,21px);line-height:1.15;overflow-wrap:anywhere}
 .lumen-brand-copy small{font-size:9px;letter-spacing:1.8px}
 footer.lumen-footer .footer-copyright{font-size:9px;white-space:normal;flex:1 1 100%;line-height:1.5}
 .lumen-tagline{order:4;flex:1 1 100%;font-size:clamp(13px,3.8vw,16px);line-height:1.3;text-align:center}
 .panel,.page-heading,.compose-layout{min-width:0;max-width:100%}
}
@media(max-width:380px){
 main{width:calc(100% - 22px)}
 .topbar{padding-inline:11px}
 .topbar nav{column-gap:11px;font-size:11px}
 .site-appearance{gap:6px}
 .site-appearance label{font-size:9px}
 .site-appearance select{max-width:calc(50vw - 48px);font-size:11px;padding:6px}
 .character-stage{width:calc(100% - 22px);grid-template-columns:minmax(0,1fr) 46px minmax(0,1fr)}
 .header-moon{width:44px;height:44px}.moon-disc{width:34px;height:34px}
 .hero-copy{padding:14px 12px}
 .hero-copy .actions{flex-direction:column}
 .hero-copy .actions .button{width:100%}
 .feature{padding:14px}
 footer.lumen-footer{width:calc(100% - 22px);padding:11px}
}
@media(min-width:761px) and (max-width:1100px){
 .hero{padding:34px 0 38px;min-height:0;gap:24px}
 .hero-copy{padding:18px}
 .hero-copy h1{font-size:clamp(30px,4vw,43px);letter-spacing:-1.5px}
 .hero-art{min-height:260px}
 .glass-card{height:220px}
}
@media(orientation:landscape) and (max-height:520px) and (max-width:900px){
 .hero{grid-template-columns:minmax(0,1fr) minmax(0,.8fr);padding:12px 0;gap:12px}
 .hero-art{min-height:150px}
 .glass-card{min-height:120px}
 .feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Vessel mail history and module launchpads */
.mail-history{margin-top:clamp(14px,2vw,24px);min-width:0;overflow-wrap:anywhere}
.mail-history ul{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:10px}
.mail-history li{padding:12px 14px;border:1px solid var(--line,rgba(220,220,220,.16));border-radius:12px;background:rgba(255,255,255,.025);line-height:1.5;overflow-wrap:anywhere}
.mail-history li small{color:var(--muted,#aab2b8)}
.module-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
@media(max-width:600px){.mail-history li{padding:10px;font-size:13px}.mail-history h2{font-size:clamp(20px,5vw,28px)}}

/* Mail: compose toggle at left, authenticated user's actual Maildir inbox at right. */
.mail-heading{margin-bottom:10px}.mail-notice{max-width:1200px;margin:8px auto;padding:10px 14px;border:1px solid var(--accent);border-radius:9px;color:var(--accent);background:rgba(125,226,209,.07)}
.mail-workspace{display:grid;grid-template-columns:minmax(250px,.72fr) minmax(0,1.65fr);gap:16px;align-items:start;max-width:1200px;margin:14px auto 30px;min-width:0}
.mail-compose-sidebar{display:flex;flex-direction:column;gap:12px;min-width:0;padding:16px;border:1px solid var(--line);border-radius:13px;background:linear-gradient(145deg,rgba(18,29,37,.96),rgba(12,19,24,.92))}
.mail-sidebar-brand{display:flex;align-items:center;gap:12px}.mail-sidebar-brand .mail-logo{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--accent);border-radius:10px;color:var(--accent);font-size:21px;flex:0 0 auto}.mail-sidebar-brand h2{font-size:20px;margin:0;line-height:1.2}.mail-sidebar-brand p{font-size:12px;color:var(--muted);margin:3px 0 0}.compose-toggle{width:100%;justify-content:center}.mail-compose-form[hidden]{display:none!important}.panel.mail-compose-form{width:100%;margin:0;padding:15px;max-width:none}.mail-compose-form form{max-width:none}.mail-compose-form .form-title{padding-bottom:8px;margin-bottom:6px}.mail-compose-form .form-title h2{font-size:19px}.mail-compose-form label{display:block;font-size:12px;color:var(--muted);margin:6px 0 3px}.mail-compose-form input,.mail-compose-form textarea,.mail-compose-form select{padding:9px;font-size:13px}.mail-compose-form textarea{min-height:110px}.mail-compose-form .button{width:100%;margin-top:8px}.mail-compose-sidebar .side-link{font-size:12px;color:var(--accent)}
.panel.mail-inbox{max-width:none;width:100%;margin:0;padding:clamp(14px,2vw,24px);min-width:0}.mail-inbox-header{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:12px}.mail-inbox-header h2{font-size:clamp(20px,2.5vw,28px);line-height:1.2;margin:4px 0 0}.mail-inbox-header .eyebrow{margin:0}.mail-count{display:grid;place-items:center;min-width:34px;height:34px;padding:0 9px;border:1px solid var(--line);border-radius:18px;color:var(--accent);font:12px 'DM Mono',monospace}.mail-message-list{display:grid;gap:9px}.mail-message{display:flex;align-items:center;justify-content:space-between;gap:14px;min-width:0;padding:13px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.025)}.mail-message-main{min-width:0;flex:1}.mail-message-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:11px}.mail-message-meta span,.mail-message-meta time{overflow-wrap:anywhere}.mail-message h3{font-size:15px;line-height:1.35;margin:5px 0}.mail-message p{font-size:12px;line-height:1.5;color:var(--muted);margin:0;overflow-wrap:anywhere}.mail-delete-form{flex:0 0 auto}.danger-button{padding:7px 10px;font-size:11px;background:transparent;border-color:#8d5555;color:#ffb5b5}.danger-button:hover{background:#512626;color:#fff}.mail-empty{padding:34px 14px;text-align:center;border:1px dashed var(--line);border-radius:10px}.mail-empty-icon{font-size:26px;color:var(--accent)}.mail-empty h3{margin:9px 0 4px}.mail-empty p{max-width:460px;margin:0 auto;color:var(--muted);font-size:13px;overflow-wrap:anywhere}.mail-inbox .mail-history{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}.mail-inbox .mail-history li{display:grid;grid-template-columns:1fr auto;gap:3px 12px}.mail-inbox .mail-history li small{grid-column:1/-1}
.contact-panel{max-width:980px!important;padding:clamp(14px,2vw,22px)!important;margin:14px auto!important}.contact-panel .contact-form-compact{max-width:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 12px}.contact-form-compact .contact-field{min-width:0;display:flex;flex-direction:column;gap:3px}.contact-form-compact label{font-size:12px;font-weight:650}.contact-form-compact input,.contact-form-compact textarea{min-width:0;padding:9px 10px;font-size:13px}.contact-form-compact .contact-subject{grid-column:1/-1}.contact-form-compact .contact-message{grid-column:1/-1}.contact-form-compact textarea{min-height:76px;resize:vertical}.contact-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.contact-actions .alias-note{margin:0;font-size:11px}.contact-actions .button{padding:10px 15px}
@media(max-width:760px){.mail-workspace{grid-template-columns:minmax(0,1fr);gap:12px;margin:10px auto 22px}.mail-compose-sidebar{padding:12px}.panel.mail-inbox{padding:13px}.mail-message{padding:10px;gap:8px}.mail-message-meta{flex-direction:column;align-items:flex-start;gap:1px}.mail-message h3{font-size:14px}.mail-message p{font-size:11px}.mail-delete-form .button{padding:7px 8px}.contact-panel .contact-form-compact{grid-template-columns:minmax(0,1fr);gap:8px}.contact-form-compact .contact-subject,.contact-form-compact .contact-message,.contact-actions{grid-column:1}.contact-actions{align-items:stretch}.contact-actions .button{width:100%}.contact-form-compact textarea{min-height:68px}}

/* Site-wide Vessel administration layout: full-width horizontal admin bar and consistent content surfaces. */
.admin-layout{display:flex;flex-direction:column;gap:14px;max-width:1240px;margin:16px auto 28px;padding:0 18px;min-height:calc(100vh - 150px)}
.admin-sidebar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 12px;width:100%;box-sizing:border-box}
.admin-sidebar .eyebrow{margin:0 10px 0 0;white-space:nowrap}
.admin-sidebar .admin-side-link{margin:0;white-space:nowrap}
.admin-sidebar-note{margin:0 0 0 auto;max-width:220px}
.admin-main{width:100%;max-width:none;min-width:0;padding:0}
.admin-heading{width:100%;box-sizing:border-box;padding:16px 18px;background:var(--panel);border:1px solid var(--line);border-radius:12px}
.admin-heading>div>p:not(.eyebrow){display:block;margin:8px 0 0;padding:8px 10px;background:var(--panel2);border:1px solid var(--line);border-radius:8px;color:var(--muted)}
.admin-heading .eyebrow{display:inline-flex;padding:5px 8px;border-radius:6px;background:var(--panel2);border:1px solid var(--line)}
.admin-heading h1{margin:8px 0 0}
.admin-grid{grid-template-columns:minmax(220px,280px) minmax(0,1fr);align-items:stretch}
.admin-card{box-sizing:border-box}
.admin-main p:not(.eyebrow):not(.admin-user-copy p),.admin-main .admin-hint,.admin-main .admin-muted{overflow-wrap:anywhere}
.admin-main button,.admin-main input,.admin-main select,.admin-main textarea{font:inherit;max-width:100%;box-sizing:border-box}
.admin-main button,.admin-main .button,.admin-main .admin-danger{transition:background-color .16s ease,border-color .16s ease,color .16s ease}
.admin-main button:hover,.admin-main .button:hover,.admin-main .admin-danger:hover{background:var(--accent);border-color:var(--accent);color:#10201f}
.admin-profile{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.admin-profile .admin-profile-meta{min-width:0;flex:1}
.admin-profile .admin-profile-meta h2{margin:0}
.admin-profile .admin-profile-meta p,.admin-profile .admin-profile-meta small{display:block;margin:5px 0 0;overflow-wrap:anywhere}
.admin-profile .admin-profile-meta small{padding:6px 8px;background:var(--panel2);border:1px solid var(--line);border-radius:6px}
.admin-user-copy b,.admin-profile-meta h2{font-size:16px}
.admin-main .admin-content-heading,.admin-main .admin-empty,.admin-main .admin-settings,.admin-main .admin-account-form,.admin-main .admin-preview,.admin-main .admin-content>p{box-sizing:border-box}
@media(max-width:850px){.admin-layout{display:flex;flex-direction:column;padding:0 14px}.admin-sidebar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.admin-sidebar .eyebrow,.admin-sidebar-note{display:block}.admin-grid{grid-template-columns:1fr}.admin-sidebar-note{margin-left:0}}
@media(max-width:560px){.admin-layout{padding:0 10px}.admin-heading{align-items:flex-start;flex-direction:column;padding:12px}.admin-sidebar{align-items:stretch}.admin-sidebar .admin-side-link{flex:1}.admin-sidebar-note{width:100%;max-width:none}.admin-stats{grid-template-columns:1fr}}

/* Mail and admin interaction restoration: compact professional rows, safe scrolling. */
.mail-message{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px 12px;padding:0;overflow:hidden;background:var(--panel2);border-radius:11px}
.mail-message-toggle{grid-column:1;display:block;width:100%;min-width:0;text-align:left;padding:13px 15px;border:0;background:transparent;color:var(--text);cursor:pointer}
.mail-message-toggle:hover{background:rgba(125,226,209,.07);color:var(--text)}
.mail-message-toggle .mail-message-main{display:block;width:100%}
.mail-message-toggle .mail-message-meta{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:11px}
.mail-message-subject{display:block;margin-top:6px;font-size:14px;line-height:1.4;overflow-wrap:anywhere}
.mail-expand-mark{float:right;color:var(--accent);margin-top:4px}
.mail-delete-form{grid-column:2;grid-row:1;padding:10px 10px 0 0}
.mail-message-details{grid-column:1/-1;min-width:0;border-top:1px solid var(--line);padding:13px;background:rgba(0,0,0,.10)}
.mail-message-details[hidden],.mail-reply-form[hidden],.mail-compose-form[hidden]{display:none!important}
.mail-message-body{max-height:440px;overflow:auto;overscroll-behavior:contain;overflow-wrap:anywhere;word-break:break-word;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--text);line-height:1.55}
.mail-message-body img{max-width:100%;height:auto}.mail-message-body table{max-width:100%;display:block;overflow:auto}.mail-message-body pre{white-space:pre-wrap;overflow-wrap:anywhere}
.mail-message-actions{display:flex;justify-content:flex-end;margin-top:10px}
.mail-reply-form{display:grid;gap:8px;margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:9px;background:var(--panel)}
.mail-reply-form label{display:grid;gap:4px;color:var(--muted);font-size:12px}.mail-reply-form input,.mail-reply-form textarea{width:100%;min-width:0;box-sizing:border-box;padding:9px;border:1px solid var(--line);border-radius:7px;background:var(--bg);color:var(--text)}
.mail-sender-identity{padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel2);color:var(--muted);font-size:12px}
.admin-user.selected{background:rgba(191,54,65,.18)!important;border:1px solid #e34d59!important;border-left:4px solid #e34d59!important;color:#fff!important;border-radius:8px}
.admin-user.selected .admin-avatar{background:#b52e3a;color:#fff;border-color:#ff7b83}
.admin-message-list{max-width:880px;margin:12px auto 0;display:grid;gap:8px;border:0;overflow:visible}
.admin-message-list .admin-mail-head{display:none}
.admin-message{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);align-items:start}
.admin-message>a{display:block;grid-column:1;grid-row:1;min-width:0;padding:2px 0}
.admin-message>a b{display:block;font-size:13px;line-height:1.4;margin-bottom:4px}
.admin-message>a small{display:block;font-size:11px;line-height:1.45;overflow-wrap:anywhere}
.admin-message-date{grid-column:2;grid-row:1;font-size:11px;color:var(--muted);white-space:nowrap;padding-top:2px}
.admin-message>form{grid-column:2;grid-row:2;justify-self:end}
.admin-message.selected{border-color:#df4c58;box-shadow:inset 3px 0 #df4c58}
.admin-preview{grid-column:1/-1;width:100%;max-width:100%;max-height:540px;overflow:auto;overscroll-behavior:contain;overflow-wrap:anywhere}
.admin-email-rendered{max-width:100%;max-height:420px;overflow:auto;overscroll-behavior:contain;background:#25282c;color:#f4f4f4;border:1px solid var(--line);border-radius:8px;padding:10px}
.admin-email-rendered img{max-width:100%;height:auto}.admin-email-rendered table{max-width:100%;display:block;overflow:auto}.admin-email-text{max-height:420px;overflow:auto;white-space:normal;overflow-wrap:anywhere}
@media(max-width:620px){.mail-message-toggle{padding:11px}.mail-message-toggle .mail-message-meta{flex-direction:column;align-items:flex-start;gap:2px}.admin-message-date{display:none}.admin-message{grid-template-columns:minmax(0,1fr) auto}.admin-preview{padding:9px}}

/* Vessel mail/admin compact layout overrides */
.mail-message,.admin-message{min-width:0;box-sizing:border-box}
.mail-message-toggle,.admin-message-summary{min-width:0;overflow-wrap:anywhere}
.mail-delete-form .button,.admin-message>form button,.admin-danger{white-space:nowrap;word-break:normal;overflow-wrap:normal;min-width:68px;width:auto;max-width:100%;padding:7px 10px;line-height:1.2}
.mail-compose-form{display:grid;gap:7px;padding:13px}
.mail-compose-form label,.mail-reply-form label{display:grid;gap:4px;font-size:12px}
.mail-compose-form input,.mail-compose-form textarea,.mail-reply-form input,.mail-reply-form textarea{width:100%;min-width:0;box-sizing:border-box;padding:8px 10px}
.mail-compose-form textarea,.mail-reply-form textarea{min-height:76px;max-height:240px;resize:vertical}
.mail-message-frame,.admin-email-frame{max-width:100%;box-sizing:border-box}
.admin-login{width:min(100% - 28px,390px);padding:22px!important;margin:24px auto!important}
.admin-login form{display:grid;gap:9px}
.admin-login form input{width:100%;box-sizing:border-box;padding:10px 12px}
.admin-login form button{justify-self:start;min-width:88px;padding:9px 18px}
@media(max-width:620px){.mail-workspace{grid-template-columns:minmax(0,1fr)}.mail-compose-sidebar,.mail-inbox{width:100%;min-width:0}.mail-message{grid-template-columns:minmax(0,1fr) auto}.mail-delete-form{grid-column:2}}


/* Vessel responsive shell: navigation in two deliberate rows. */
.topbar{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:7px!important;padding:9px max(18px,calc((100vw - var(--max))/2))!important}
.topbar-main{width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;min-width:0}
.topbar-main nav{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px 17px;min-width:0}
.topbar-settings{width:100%;display:flex;justify-content:flex-end;min-width:0;border-top:1px solid rgba(255,255,255,.08);padding-top:6px}
.topbar-settings .site-appearance{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:6px 9px;margin:0}
.topbar-settings .site-appearance label{margin:0 0 0 5px}
.topbar-settings .site-appearance select{max-width:160px}
.connection-footer{display:flex!important;flex-direction:column;gap:8px!important;padding:10px 18px!important;min-height:0!important}
.connection-footer .character-stage{width:100%;max-width:var(--max);min-height:90px;margin:0 auto!important;display:grid;grid-template-columns:minmax(0,1fr) 76px minmax(0,1fr);align-items:center;padding:3px 14px!important;border:1px solid rgba(111,82,42,.24);border-radius:15px;background:rgba(48,42,32,.12)}
.connection-footer .sprite-boy{justify-self:start}
.connection-footer .sprite-girl{justify-self:end}
.connection-footer .header-moon{width:64px;height:64px}
.connection-footer .moon-disc{width:48px;height:48px}
.connection-footer-meta{width:100%;max-width:var(--max);display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 auto}
.connection-footer .footer-copyright{white-space:normal;text-align:right}
.mail-workspace{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;align-items:stretch!important;max-width:1200px}
.mail-compose-sidebar,.mail-inbox{height:fit-content;min-width:0}
.mail-message{padding:8px!important;gap:6px 9px!important}
.mail-message-toggle{padding:9px 11px!important}
.mail-message-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:5px 12px!important}
.mail-message-subject{margin-top:4px!important;font-size:13px!important}
.mail-message-details{padding:10px!important}
.mail-message-frame{display:block;width:100%;max-width:100%;border:1px solid var(--line)!important;border-radius:8px!important;box-sizing:border-box;overflow:auto;background:#222629}
.mail-delete-form{top:8px!important;right:8px!important}
.mail-delete-form .button{min-height:28px!important;padding:5px 9px!important;font-size:11px!important;line-height:1.15!important;border-radius:7px!important;white-space:nowrap}
@media(max-width:760px){
 .topbar{padding:10px 13px!important;gap:8px!important}
 .topbar-main{align-items:flex-start;flex-direction:column;gap:8px}
 .topbar-main nav{justify-content:flex-start;gap:7px 13px;font-size:13px}
 .topbar-settings{justify-content:flex-start}
 .topbar-settings .site-appearance{justify-content:flex-start;gap:6px}
 .topbar-settings .site-appearance select{max-width:135px}
 .connection-footer{width:calc(100% - 22px)!important;margin:12px auto!important;padding:9px!important}
 .connection-footer .character-stage{min-height:74px;grid-template-columns:minmax(0,1fr) 54px minmax(0,1fr);padding:2px 7px!important}
 .connection-footer .header-moon{width:48px;height:48px}
 .connection-footer .moon-disc{width:36px;height:36px}
 .connection-footer-meta{flex-wrap:wrap;gap:7px}
 .connection-footer .footer-copyright{flex:1 1 100%;text-align:left}
 .mail-workspace{grid-template-columns:minmax(0,1fr)!important;gap:10px!important}
}
@media(min-width:761px) and (max-width:1050px){
 .topbar-main{flex-wrap:wrap}
 .topbar-main nav{justify-content:flex-start}
 .mail-workspace{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
}


/* Mail workspace: consistent 20/80 split and compact, readable message cards. */
.mail-workspace{display:grid!important;grid-template-columns:minmax(190px,1fr) minmax(0,4fr)!important;gap:14px!important;align-items:start!important;width:min(100%,1200px)!important;max-width:1200px!important;margin:14px auto 30px!important}
.mail-compose-sidebar{grid-column:1;grid-row:1;align-self:start;min-width:0!important;padding:13px!important;gap:10px!important}
.mail-inbox{grid-column:2;grid-row:1;align-self:start;min-width:0!important;width:100%!important;padding:clamp(16px,2vw,24px)!important}
.mail-inbox-header{margin-bottom:14px!important;padding-bottom:12px!important}
.mail-message-list{display:grid;gap:8px!important}
.mail-message{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:start!important;gap:0 10px!important;padding:0!important;overflow:hidden!important;border:1px solid var(--line)!important;border-radius:10px!important;background:var(--panel2)!important}
.mail-message-disclosure{grid-column:1;grid-row:1;display:block;min-width:0}
.mail-message-toggle{display:block!important;width:100%;min-width:0;padding:12px 14px!important;text-align:left!important;cursor:pointer;list-style:none!important;background:transparent!important;border:0!important;color:var(--text)!important}
.mail-message-toggle::-webkit-details-marker,.mail-reply-disclosure>summary::-webkit-details-marker{display:none}
.mail-message-meta{display:flex!important;flex-wrap:wrap!important;justify-content:space-between!important;gap:4px 14px!important;color:var(--muted)!important;font-size:11px!important;line-height:1.45}
.mail-message-meta b,.mail-message-subject b{color:var(--muted);font-weight:600}
.mail-message-subject{display:block!important;margin-top:5px!important;font-size:14px!important;line-height:1.4!important;overflow-wrap:anywhere}
.mail-message-details{min-width:0!important;padding:12px!important;border-top:1px solid var(--line)!important;background:rgba(0,0,0,.08)!important}
.mail-message-frame{display:block!important;width:100%!important;max-width:100%!important;min-height:170px;max-height: min(680px,72vh);border:1px solid var(--line)!important;border-radius:8px!important;background:#f7f7f7!important;box-sizing:border-box!important;overflow:auto!important}
.mail-message-actions{display:flex;justify-content:flex-end;margin-top:9px!important}
.mail-reply-disclosure{display:block;text-align:right;margin-top:9px}
.mail-reply-disclosure>summary{display:inline-flex!important;align-items:center;cursor:pointer;list-style:none;padding:7px 11px!important;font-size:12px!important}
.mail-reply-form{display:grid;grid-template-columns:1fr 1fr;gap:8px!important;margin-top:9px!important;padding:12px!important;border:1px solid var(--line);border-radius:9px;background:var(--panel)}
.mail-reply-form label:last-of-type{grid-column:1/-1}
.mail-reply-form input,.mail-reply-form textarea{width:100%;min-width:0;box-sizing:border-box}
.mail-delete-form{grid-column:2;grid-row:1;position:static!important;align-self:start;justify-self:end;margin:9px 9px 0 0!important;padding:0!important}
.mail-delete-form .button{min-width:0!important;min-height:0!important;padding:5px 8px!important;border-radius:6px!important;font-size:10px!important;line-height:1.2!important;white-space:nowrap!important}
.mail-compose-form{padding:12px!important;gap:6px!important}
.mail-compose-form textarea{min-height:90px!important}
.mail-message-disclosure[open] .mail-message-toggle{background:rgba(125,226,209,.045)!important}
@media(max-width:760px){
 .mail-workspace{grid-template-columns:minmax(0,1fr)!important;gap:10px!important;width:100%!important;margin:10px auto 22px!important}
 .mail-compose-sidebar,.mail-inbox{grid-column:1;grid-row:auto;width:100%!important}
 .mail-message-toggle{padding:10px 11px!important}
 .mail-message-meta{flex-direction:column!important;align-items:flex-start!important;gap:2px!important}
 .mail-message-details{padding:8px!important}
 .mail-message-frame{max-height:68vh}
 .mail-reply-form{grid-template-columns:minmax(0,1fr)}
 .mail-reply-form label:last-of-type{grid-column:auto}
}
/* Expanded message uses the full inbox width; the delete control stays in the header corner. */
.mail-message{display:block!important;position:relative!important;min-width:0!important;padding:0!important}
.mail-message-disclosure{display:block!important;width:100%!important;min-width:0!important}
.mail-message-toggle{padding-right:92px!important}
.mail-delete-form{position:absolute!important;top:8px!important;right:8px!important;z-index:2;margin:0!important}
.mail-message-details{width:100%;box-sizing:border-box}

/* Mail: compact 20/80 workspace and a single integrated message surface. */
.mail-workspace{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,4fr)!important;
  gap:14px!important;
  align-items:start!important;
  width:min(100%,1200px)!important;
  max-width:1200px!important;
  margin:14px auto 30px!important;
}
.mail-compose-sidebar,.mail-inbox{min-width:0!important;box-sizing:border-box!important;align-self:start!important}
.mail-compose-sidebar{grid-column:1!important;grid-row:1!important;padding:12px!important;gap:10px!important}
.mail-inbox{grid-column:2!important;grid-row:1!important;width:100%!important;margin:0!important;padding:clamp(14px,1.7vw,21px)!important}
.mail-sidebar-brand{gap:9px!important}
.mail-sidebar-brand .mail-logo{width:34px!important;height:34px!important;font-size:18px!important;border-radius:8px!important}
.mail-sidebar-brand h2{font-size:17px!important}
.mail-sidebar-brand p{font-size:10px!important}
.mail-message-list{gap:7px!important}
.mail-message{display:block!important;position:relative!important;min-width:0!important;padding:0!important;overflow:hidden!important;border:1px solid var(--line)!important;border-radius:9px!important;background:var(--panel2)!important}
.mail-message-disclosure{display:block!important;width:100%!important;min-width:0!important}
.mail-message-toggle{display:block!important;width:100%!important;min-width:0!important;box-sizing:border-box!important;padding:10px 92px 10px 12px!important;text-align:left!important;list-style:none!important;cursor:pointer!important;border:0!important;background:transparent!important;color:var(--text)!important}
.mail-message-toggle::-webkit-details-marker{display:none!important}
.mail-message-meta{display:flex!important;flex-wrap:wrap!important;justify-content:space-between!important;gap:3px 12px!important;font-size:10px!important;line-height:1.4!important;color:var(--muted)!important}
.mail-message-meta b,.mail-message-subject b{font-weight:600!important;color:var(--muted)!important}
.mail-message-subject{display:block!important;margin-top:4px!important;font-size:13px!important;line-height:1.35!important;overflow-wrap:anywhere!important}
.mail-message-disclosure[open]>.mail-message-toggle{border-bottom:1px solid var(--line)!important;background:rgba(125,226,209,.035)!important}
.mail-message-details{display:block!important;width:100%!important;box-sizing:border-box!important;min-width:0!important;padding:10px 12px 11px!important;border:0!important;background:transparent!important}
.mail-message-frame{display:block!important;width:100%!important;max-width:100%!important;min-height:150px!important;max-height:min(680px,72vh)!important;box-sizing:border-box!important;border:0!important;border-radius:0!important;border-bottom:1px solid var(--line)!important;background:#fff!important;overflow:auto!important}
.mail-message-actions{display:flex!important;justify-content:flex-end!important;margin-top:8px!important}
.mail-delete-form{position:absolute!important;top:7px!important;right:8px!important;z-index:2!important;margin:0!important;padding:0!important}
.mail-delete-form .button{min-width:0!important;min-height:0!important;padding:4px 8px!important;font-size:10px!important;line-height:1.25!important;border-radius:5px!important;white-space:nowrap!important}
.mail-expand-mark{position:absolute;right:78px;top:10px;color:var(--accent);font-size:13px;pointer-events:none}
@media(max-width:760px){
 .mail-workspace{grid-template-columns:minmax(0,1fr)!important;gap:10px!important;width:100%!important;margin:10px auto 22px!important}
 .mail-compose-sidebar,.mail-inbox{grid-column:1!important;grid-row:auto!important;width:100%!important}
 .mail-message-toggle{padding:10px 88px 10px 10px!important}
 .mail-message-meta{flex-direction:column!important;align-items:flex-start!important;gap:2px!important}
 .mail-message-details{padding:8px 10px!important}
 .mail-message-frame{max-height:68vh!important}
}

/* Definitive desktop mail geometry: use the available page width, not the narrow generic main column. */
@media (min-width: 761px) {
  main:has(.mail-workspace) {
    width: calc(100% - 64px) !important;
    max-width: 1680px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .mail-heading {
    width: 100% !important;
    max-width: 1680px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .mail-workspace {
    width: 100% !important;
    max-width: 1680px !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 4fr) !important;
    gap: 16px !important;
    align-items: start !important;
    margin: 14px auto 30px !important;
  }
  .mail-compose-sidebar {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    align-self: start !important;
  }
  .mail-inbox {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
    align-self: start !important;
  }
}

/* A message body is one full-width reading surface with a dashed outline. */
.mail-message,
.mail-message-disclosure,
.mail-message-details {
  width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}
.mail-message-disclosure[open] > .mail-message-toggle {
  border-bottom: 1px solid var(--line) !important;
}
.mail-message-details {
  display: block !important;
  padding: 12px !important;
  border: 0 !important;
  background: transparent !important;
}
.mail-message-frame {
  display: block !important;
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  inline-size: 100% !important;
  box-sizing: border-box !important;
  border: 1px dashed var(--muted) !important;
  border-radius: 5px !important;
  background: #fff !important;
  overflow: auto !important;
}
.mail-message-body img { max-width: 100% !important; height: auto !important; }
@media (max-width: 760px) {
  main:has(.mail-workspace) { width: calc(100% - 28px) !important; max-width: none !important; }
  .mail-workspace { width: 100% !important; grid-template-columns: minmax(0,1fr) !important; }
  .mail-compose-sidebar, .mail-inbox { grid-column: 1 !important; grid-row: auto !important; width: 100% !important; }
  .mail-message-details { padding: 9px !important; }
}

/* Explicit privacy control: remote email images stay blocked until requested. */
.mail-load-images{display:inline-flex!important;align-items:center;gap:6px;margin:0 0 9px!important;padding:5px 10px!important;min-height:28px!important;font-size:11px!important;line-height:1.2!important;border:1px solid var(--line)!important;border-radius:6px!important;opacity:.92}
.mail-load-images:hover{opacity:1}
.mail-load-images:disabled{cursor:default;opacity:.65}

/* Shared navigation tabs: identical on every route, with persistent active and hover states. */
.topbar nav a{display:inline-flex;align-items:center;min-height:30px;padding:5px 9px;border:1px solid transparent;border-radius:7px;color:var(--muted);font-size:12px;line-height:1.2;transition:color .16s ease,background .16s ease,border-color .16s ease}
.topbar nav a:hover,.topbar nav a:focus-visible{color:var(--accent)!important;background:color-mix(in srgb,var(--accent) 11%,transparent);border-color:color-mix(in srgb,var(--accent) 38%,transparent);outline:none}
.topbar nav a.active{color:var(--accent)!important;background:color-mix(in srgb,var(--accent) 13%,transparent);border-color:color-mix(in srgb,var(--accent) 48%,transparent)}
.topbar nav .nav-logout-button{min-height:30px;padding:5px 10px;font-size:12px}
.admin-message-disclosure{display:block;min-width:0}
.admin-message-summary{list-style:none}
.admin-message-summary::-webkit-details-marker{display:none}
.admin-message-expanded{display:none}
.admin-message-disclosure[open] .admin-message-expanded{display:block}
.admin-message-disclosure[open] .admin-message-summary{color:var(--accent)}
.admin-message-expanded{border-top:1px solid var(--line);margin-top:8px;padding-top:9px}
.admin-email-frame{width:100%;min-height:220px;max-height:70vh;border:1px dashed var(--line)!important;border-radius:7px!important}


/* Consolidated Administration components: single site-wide stylesheet. */
.admin-email-frame{display:block;width:100%;height:clamp(240px,52vh,640px);max-width:100%;border:1px solid var(--line,#41474a);border-radius:10px;background:#222629;color:#f2f4f4;box-sizing:border-box;overflow:auto;color-scheme:dark}.admin-preview{min-width:0;overflow:hidden}.admin-preview p{overflow-wrap:anywhere}
.admin-profile{display:none!important}
.admin-users-card .admin-user-status,.admin-users-card .admin-avatar{display:none!important}
.admin-user{grid-template-columns:minmax(0,1fr)!important}
.admin-user.selected{background:rgba(190,48,61,.20)!important;border:1px solid #e34d59!important;border-left:4px solid #e34d59!important}
.admin-message-list{max-width:none;margin:10px 0;display:grid;gap:7px}.admin-message{padding:7px 8px!important;border-radius:9px!important}.admin-message-summary{padding:4px 2px}.admin-message-copy strong{font-size:13px}.admin-message-copy small{display:block}.admin-message-expanded{padding-top:8px;margin-top:7px}.admin-danger{min-width:0!important;padding:5px 9px!important;font-size:11px!important;min-height:28px!important}.admin-email-frame{max-height:520px;min-height:160px}
.admin-message{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:start;padding:9px 10px;background:var(--panel2);border:1px solid var(--line);border-radius:10px;min-width:0}
.admin-message-disclosure{min-width:0;grid-column:1;display:block}
.admin-message-summary{appearance:none;-webkit-appearance:none;width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;list-style:none;min-width:0;text-align:left;color:inherit;background:transparent;border:0;padding:4px 2px;font:inherit}
.admin-message-summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:5px}
.admin-message-copy{display:grid;gap:4px;min-width:0;overflow-wrap:anywhere}
.admin-message-copy strong{font-size:13px;line-height:1.35}
.admin-message-copy small{font-size:11px;color:var(--muted);line-height:1.4}
.admin-expand-mark{color:var(--accent);flex:0 0 auto}
.admin-message-disclosure.is-open .admin-expand-mark{transform:rotate(45deg)}
.admin-message-expanded{border-top:1px solid var(--line);padding-top:9px;margin-top:9px;min-width:0}.admin-message-expanded[hidden]{display:none!important}
.admin-email-frame{display:block;width:100%;max-width:100%;border:1px solid var(--line)!important;border-radius:8px!important;background:#25282c!important;box-sizing:border-box;overflow:auto}
.admin-message>form{grid-column:2;grid-row:1;align-self:start}
.admin-danger{white-space:nowrap;min-width:70px;padding:7px 10px!important;line-height:1.2!important;border-radius:8px!important}
.admin-local-send{padding:13px!important;margin:12px 0!important}
.admin-local-send h3{margin:0 0 5px;font-size:15px}
.admin-local-send>p{margin:0 0 10px;font-size:11px}
.admin-local-send-form{display:grid;grid-template-columns:minmax(130px,.8fr) minmax(160px,1fr) minmax(220px,1.5fr) auto;align-items:end;gap:9px}
.admin-local-send-form label{display:grid;gap:4px;font-size:11px;min-width:0}
.admin-local-send-form input,.admin-local-send-form select,.admin-local-send-form textarea{width:100%;min-width:0;box-sizing:border-box;padding:8px 9px}
.admin-local-send-form textarea{min-height:40px;height:40px;max-height:140px;resize:vertical}
.admin-local-send-form button{white-space:nowrap;min-height:38px;padding:8px 12px!important}
.admin-stats{margin-top:8px}
@media(max-width:760px){.admin-local-send-form{grid-template-columns:1fr 1fr}.admin-local-send-form label:nth-child(4){grid-column:1/-1}.admin-local-send-form button{justify-self:start}}
}@media(max-width:480px){.admin-local-send-form{grid-template-columns:1fr}.admin-local-send-form label:nth-child(4){grid-column:auto}.admin-message{grid-template-columns:minmax(0,1fr) auto}.admin-message-summary{gap:6px}}


/* Unified navigation: every tab is a real link with matching hover/active state. */
.topbar{flex-wrap:wrap;justify-content:space-between}
.topbar-main{display:flex;align-items:center;gap:28px;flex:1;min-width:0}
.topbar-settings{display:flex;align-items:center}
.topbar nav a{display:inline-flex;align-items:center;min-height:30px;padding:5px 8px;border:1px solid transparent;border-radius:7px;transition:color .15s,background .15s,border-color .15s}
.topbar nav a:hover,.topbar nav a:focus-visible{color:#8be7b5!important;background:rgba(64,190,120,.12);border-color:rgba(90,210,140,.35);outline:none}
.topbar nav a.active,.topbar nav a[aria-current="page"]{color:#8be7b5!important;background:rgba(64,190,120,.16);border-color:rgba(90,210,140,.48)}
.admin-tabs a:hover,.admin-side-link:hover{color:#8be7b5;border-color:rgba(90,210,140,.55);background:rgba(64,190,120,.12)}
.admin-tabs a.active,.admin-side-link.active{color:#8be7b5;border-color:rgba(90,210,140,.6);background:rgba(64,190,120,.15)}
.button,.admin-danger,.nav-logout-button{font-size:12px;min-height:30px;padding:5px 9px;border-radius:7px}
@media(max-width:760px){.topbar-main{flex-wrap:wrap;gap:10px}.topbar-main nav{flex-basis:100%;justify-content:space-between;flex-wrap:wrap}.topbar-settings{width:100%}}

/* Final responsive + message readability corrections */
.admin-email-frame{display:block!important;width:100%!important;min-height:160px!important;max-height:none!important;box-sizing:border-box!important;overflow:auto!important;background:#f5f5f5!important;color:rgb(15,15,15)!important;color-scheme:light!important;border:1px solid #d6d6d6!important}
.admin-message-expanded{display:none;min-width:0;overflow:hidden}
.admin-message-disclosure[open]>.admin-message-expanded{display:block!important}
.admin-message-expanded .admin-load-images{display:inline-flex;margin:0 0 8px;min-height:28px;padding:5px 9px!important;font-size:11px!important}
.admin-local-send{width:100%;min-width:0;box-sizing:border-box}
.admin-local-send-form{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:end;gap:9px!important;width:100%;min-width:0;box-sizing:border-box}
.admin-local-send-form label{min-width:0!important;grid-column:auto!important}
.admin-local-send-form label:nth-of-type(3){grid-column:1/-1!important}
.admin-local-send-form button{justify-self:start;max-width:100%;min-width:0;box-sizing:border-box;white-space:normal!important}
.admin-local-send-form input,.admin-local-send-form select,.admin-local-send-form textarea{display:block;max-width:100%;min-width:0!important;width:100%!important;box-sizing:border-box!important}
.admin-tabs a,.admin-side-link{font-size:11px!important;min-height:28px;padding:5px 8px!important}
html[data-view="mobile"] .admin-grid{grid-template-columns:minmax(0,1fr)!important}
html[data-view="mobile"] .admin-layout{display:flex!important;flex-direction:column!important;padding-left:10px!important;padding-right:10px!important}
html[data-view="mobile"] .admin-local-send-form{grid-template-columns:minmax(0,1fr)!important}
html[data-view="mobile"] .admin-local-send-form label:nth-of-type(3){grid-column:1!important}
html[data-view="mobile"] .admin-stats{grid-template-columns:minmax(0,1fr)!important}
html[data-view="desktop"] .admin-layout{display:flex!important;flex-direction:column!important;max-width:1240px!important}
html[data-view="desktop"] .admin-grid{grid-template-columns:minmax(190px,240px) minmax(0,1fr)!important}
html[data-view="desktop"] .admin-stats{grid-template-columns:repeat(3,minmax(0,1fr))!important}
html[data-view="desktop"] .admin-local-send-form{grid-template-columns:minmax(130px,.8fr) minmax(160px,1fr) minmax(220px,1.5fr) auto!important}
@media(max-width:760px){html[data-view="desktop"] .admin-grid{grid-template-columns:minmax(0,1fr)!important}html[data-view="desktop"] .admin-local-send-form{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* Site-wide wide workspace + shared message presentation */
:root{--max:1600px}
.admin-layout{max-width:1600px!important;width:calc(100% - 48px)!important;padding-left:0!important;padding-right:0!important}
.admin-grid{width:100%;grid-template-columns:minmax(230px,290px) minmax(0,1fr)!important;gap:14px!important}
.admin-detail-card,.admin-content,.admin-settings,.admin-empty{min-width:0;width:100%;max-width:none!important}
.admin-message-list{max-width:none!important;width:100%!important}
.admin-message{width:100%;min-width:0}
.admin-message-expanded{width:100%;min-width:0;box-sizing:border-box;padding:12px;border:1px dashed var(--line);border-radius:9px;background:rgba(255,255,255,.018)}
.admin-email-frame,.mail-message-frame{display:block;width:100%;min-width:0;max-width:100%;box-sizing:border-box;border:1px dashed var(--line)!important;border-radius:8px!important;background:#f5f5f5!important;overflow:auto!important;max-height: min(1080px,78vh)!important}
.admin-reply-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px;padding:12px;border:1px dashed var(--line);border-radius:9px;background:var(--panel)}
.admin-reply-form label{display:grid;gap:4px;min-width:0;font-size:12px;color:var(--muted)}
.admin-reply-form label:nth-child(4){grid-column:1/-1}
.admin-reply-form input,.admin-reply-form textarea{width:100%;min-width:0;box-sizing:border-box;padding:9px;border:1px solid var(--line);border-radius:7px;background:var(--bg);color:var(--text);font:inherit}
.admin-reply-form button{justify-self:start}
.admin-search-empty{padding:10px;color:var(--muted);font-size:12px}
@media(max-width:850px){.admin-layout{width:calc(100% - 28px)!important}.admin-grid{grid-template-columns:minmax(0,1fr)!important}}
@media(max-width:560px){.admin-layout{width:calc(100% - 20px)!important}.admin-reply-form{grid-template-columns:minmax(0,1fr)}.admin-reply-form label:nth-child(4){grid-column:1}}

/* Wide shared content canvas for every primary section */
.page-heading{max-width:1600px!important}
.mail-workspace{max-width:1600px!important;width:100%!important}
.panel.compose,.panel.result{max-width:none}


/* Vessel admin/mail final interaction pass */
.admin-layout{max-width:1600px!important;width:calc(100% - 48px)!important;margin-left:auto!important;margin-right:auto!important}
.admin-main,.admin-grid,.admin-card,.admin-content{min-width:0!important}
.admin-sidebar{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.admin-sidebar .admin-side-link{margin:0}
.admin-account-picker,.admin-announce-form{display:grid;gap:10px;margin:10px 0 14px;padding:14px;border:1px dashed var(--line);border-radius:10px;background:var(--panel2)}
.admin-account-picker label,.admin-announce-form label{display:grid;gap:5px;font-size:12px;color:var(--muted)}
.admin-account-picker select,.admin-announce-form input,.admin-announce-form textarea{width:100%;min-width:0;box-sizing:border-box;padding:10px;border:1px solid var(--line);border-radius:7px;background:var(--bg);color:var(--text);font:inherit}
.admin-announce-form button{justify-self:start}
.admin-log-view{max-height:70vh;overflow:auto;padding:13px;border:1px dashed var(--line);border-radius:9px;background:var(--panel2);color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.5 ui-monospace,monospace}
.admin-server-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.admin-server-check{display:grid;gap:7px;min-width:0;padding:12px;border:1px dashed var(--line);border-radius:9px;background:var(--panel2)}
.admin-server-check code{overflow-wrap:anywhere;color:var(--muted);font-size:11px}.admin-status{font-size:11px;font-weight:700}.admin-status.ok{color:#65d6a0}.admin-status.bad{color:#f18b8b}.admin-status.neutral{color:var(--accent)}
.admin-email-frame,.mail-message-frame{height:170px;min-height:170px;max-height:510px;overflow-y:auto!important;overflow-x:hidden!important;background:#f5f5f5!important;color:rgb(15,15,15)!important}
.admin-message-expanded .admin-load-images,.mail-message-details .mail-load-images{display:inline-flex!important;margin:0 0 9px!important}
.mail-message-details .mail-message-frame{border:1px dashed var(--muted)!important;border-radius:8px!important}
.connection-footer{width:min(1600px,calc(100% - 48px))!important;max-width:1600px!important;margin:18px auto!important;box-sizing:border-box!important}
.connection-footer .character-stage,.connection-footer-meta{max-width:none!important;width:100%!important}
@media(max-width:850px){.admin-layout{width:calc(100% - 28px)!important}.admin-sidebar{align-items:stretch}.admin-sidebar .admin-side-link{flex:1 1 auto}}
@media(max-width:560px){.admin-layout{width:calc(100% - 20px)!important}.connection-footer{width:calc(100% - 20px)!important}.admin-server-grid{grid-template-columns:1fr}}

.admin-account-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}.admin-account-actions .button{min-height:28px;padding:5px 9px;font-size:11px}

/* Admin refinement: searchable header, bounded account list and compact account vitals */
.admin-heading{align-items:center}
.admin-heading-search{display:flex;align-items:center;gap:10px;min-width:min(420px,55%);font-size:13px;color:var(--muted)}
.admin-heading-search strong{white-space:nowrap;color:var(--text)}
.admin-heading-search input{width:100%;min-width:0;box-sizing:border-box;padding:9px 12px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--text);font:inherit}
.admin-user-list{height:528px;max-height:528px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable}
.admin-user-list .admin-user{min-height:54px;box-sizing:border-box}
.admin-vitals{margin:14px 0;padding:13px;border:1px dashed var(--line);border-radius:10px;background:var(--panel2)}
.admin-vitals h4{margin:0 0 10px;font-size:13px}
.admin-vitals-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:9px}
.admin-vitals-grid>div{display:grid;gap:5px;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--bg)}
.admin-vitals-grid small,.admin-vitals-grid span{font-size:11px;color:var(--muted)}
.admin-vitals-grid strong{font-size:14px;overflow-wrap:anywhere}
.admin-vitals-grid .vital-role{color:#82c9ff;text-transform:uppercase}
.admin-vitals-grid .vital-count{color:#70d9a7}
.admin-vitals-grid .vital-good{color:#70d9a7}
.admin-vitals-grid .vital-muted{color:#e7bd70}
.admin-inline-action{margin:0}
.admin-delete-inline{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-top:10px;border-top:1px dashed var(--line)}
.admin-delete-inline .admin-check{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted)}
.admin-account-nav{display:flex;gap:6px;flex-wrap:wrap;padding-top:10px;border-top:1px dashed var(--line)}
.admin-account-nav a{display:inline-flex;padding:6px 9px;border:1px dashed var(--line);border-radius:7px;background:var(--panel);color:var(--text);text-decoration:none;font-size:11px}
.admin-account-nav a:hover{border-color:var(--accent);color:var(--accent)}
@media(max-width:650px){.admin-heading{align-items:stretch;flex-direction:column}.admin-heading-search{min-width:0;width:100%}.admin-user-list{max-height:440px}.admin-delete-inline{align-items:flex-start;flex-direction:column}}

/* Admin account controls: compact header creation + shared account workspace */
.admin-create-compact{display:grid;grid-template-columns:auto minmax(110px,150px) minmax(150px,190px) auto;align-items:center;gap:7px;min-width:0;padding:9px 10px;border:1px dashed var(--line);border-radius:9px;background:var(--panel2)}
.admin-create-compact>strong{font-size:11px;white-space:nowrap;color:var(--accent)}
.admin-create-compact input{width:100%;min-width:0;box-sizing:border-box;padding:7px 9px;border:1px solid var(--line);border-radius:7px;background:var(--bg);color:var(--text);font:inherit;font-size:11px}
.admin-create-compact .button{white-space:nowrap;padding:7px 10px;font-size:11px}
.admin-heading{gap:14px;align-items:center}
.admin-heading-main{min-width:220px;flex:1}
.admin-account-picker{display:flex;align-items:end;gap:8px;flex-wrap:wrap}
.admin-account-select{display:flex;align-items:center;gap:7px;min-width:210px;margin:0}
.admin-account-select label{font-size:11px;color:var(--muted);white-space:nowrap}
.admin-account-select select{min-width:0;max-width:250px;padding:7px 28px 7px 9px;border:1px solid var(--line);border-radius:7px;background:var(--bg);color:var(--text);font:inherit;font-size:12px}
.admin-account-actions{display:flex;align-items:center;gap:6px}
.admin-account-nav{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 14px}
.admin-account-nav a{display:inline-flex;align-items:center;padding:7px 10px;border:1px dashed var(--line);border-radius:7px;background:var(--panel2);color:var(--text);font-size:12px;text-decoration:none}
.admin-account-nav a.active,.admin-account-nav a:hover{border-color:var(--accent);color:var(--accent)}
@media(max-width:850px){.admin-create-compact{grid-template-columns:1fr 1fr}.admin-create-compact>strong{grid-column:1/-1}.admin-create-compact .button{width:100%}}
@media(max-width:560px){.admin-create-compact{width:100%;box-sizing:border-box;grid-template-columns:1fr}.admin-create-compact>strong{grid-column:auto}.admin-account-select{width:100%;min-width:0}.admin-account-select select{flex:1;max-width:none}.admin-account-actions{width:100%}.admin-account-actions form,.admin-account-actions button{flex:1}.admin-account-nav a{flex:1;justify-content:center}}


/* Vessel compact alignment and message-card sizing */
.admin-heading{
  display:grid!important;
  grid-template-columns:minmax(260px,1fr) minmax(420px,1.2fr);
  align-items:center!important;
  gap:10px!important;
  margin:8px 0 12px!important;
  padding:10px 12px!important;
}
.admin-heading-main{display:grid;grid-template-columns:auto minmax(180px,1fr);align-items:center;gap:6px 12px;min-width:0}
.admin-heading-main .eyebrow{grid-column:1/-1;margin:0;font-size:10px;letter-spacing:.12em}
.admin-heading-main h1{margin:0;font-size:clamp(17px,2vw,22px);white-space:nowrap}
.admin-heading-search{min-width:0!important;width:100%;gap:7px!important;margin:0}
.admin-heading-search input{padding:7px 9px!important;font-size:12px!important}
.admin-create-compact{grid-template-columns:auto minmax(90px,1fr) minmax(120px,1.25fr) auto!important;gap:6px!important;padding:7px 8px!important}
.admin-create-compact input{padding:6px 8px!important}
.admin-grid{gap:10px!important}
.admin-card,.admin-detail-card,.admin-users-card{padding:10px!important}
.admin-content{padding-top:8px!important}
.admin-content-heading{margin:4px 0 8px!important}
.admin-account-nav{margin:6px 0 9px!important;padding-top:7px!important}
.admin-stats{margin-bottom:8px!important}
.admin-local-send{padding:12px!important;margin:8px 0!important}
.admin-local-send-form{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(180px,1fr);gap:10px!important;align-items:start}
.admin-local-send-form label{display:grid;gap:5px;min-width:0}
.admin-local-send-form input,.admin-local-send-form select,.admin-local-send-form textarea{
  width:100%;min-width:0;max-width:100%;box-sizing:border-box;
  border:1px dashed var(--line)!important;border-radius:8px!important;
  padding:9px 10px!important;background:var(--bg);color:var(--text);font:inherit
}
.admin-local-send-form label:has(textarea){grid-column:1/-1}
.admin-local-send-form textarea{min-height:180px;height:180px;max-height:540px;resize:vertical;overflow:auto}
.admin-local-send-form>button{justify-self:end;grid-column:1/-1;padding:6px 11px!important;font-size:11px!important;min-height:30px}
.admin-local-send-form>button:hover,.admin-reply-form>button:hover{filter:brightness(1.12);background:var(--accent);color:#101414}
.admin-message{position:relative!important;display:block!important;padding:0!important;overflow:hidden}
.admin-message-disclosure{display:block;min-width:0}
.admin-message-summary{padding:13px 100px 13px 13px!important;min-height:50px;box-sizing:border-box}
.admin-message-expanded{padding:10px 12px 12px!important}
.admin-email-frame{display:block;width:100%;height:160px;max-height:480px;min-height:160px;box-sizing:border-box;overflow:auto;resize:none}
.admin-message>form:not(.admin-reply-form){position:absolute;top:8px;right:9px;z-index:3;margin:0}
.admin-message>form:not(.admin-reply-form) .admin-danger{padding:5px 9px!important;font-size:10px!important}
.admin-reply-disclosure{margin-top:9px}
.admin-reply-disclosure>summary{display:inline-flex!important;width:auto!important;min-height:30px;padding:6px 10px!important;font-size:11px!important}
.admin-reply-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important}
.admin-reply-form label{min-width:0}
.admin-reply-form label:has(textarea){grid-column:1/-1}
.admin-reply-form textarea{min-height:110px;max-height:330px;resize:vertical;box-sizing:border-box;width:100%;min-width:0}
.admin-reply-form>button{justify-self:end;grid-column:1/-1;min-height:30px;padding:6px 11px!important;font-size:11px!important}
.mail-message{position:relative!important;display:block!important;padding:0!important;overflow:hidden}
.mail-message-disclosure{display:block;min-width:0}
.mail-message-toggle{display:block;width:100%;box-sizing:border-box;padding:12px 105px 12px 13px!important;min-height:56px}
.mail-message-main{display:block}
.mail-message-meta{padding-right:0}
.mail-message-details{padding:10px 12px 12px}
.mail-message-frame{display:block;width:100%;height:160px;min-height:160px;max-height:480px;box-sizing:border-box;overflow:auto;resize:none}
.mail-delete-form{position:absolute!important;top:8px;right:9px;z-index:4;margin:0!important}
.mail-delete-form .danger-button{padding:5px 9px!important;font-size:10px!important}
.mail-message-actions{display:flex;justify-content:flex-start!important;margin-top:10px!important}
.mail-reply-disclosure{width:100%}
.mail-reply-toggle{display:inline-flex!important;width:auto!important;min-height:32px;padding:6px 11px!important;font-size:11px!important}
.mail-reply-form{width:100%;box-sizing:border-box;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important}
.mail-reply-form label{min-width:0}
.mail-reply-form label:has(textarea){grid-column:1/-1}
.mail-reply-form textarea{min-height:110px;max-height:330px;resize:vertical;box-sizing:border-box;width:100%;min-width:0}
.mail-reply-form>button{justify-self:start;grid-column:1/-1;width:auto!important;min-height:32px!important;padding:6px 11px!important;font-size:11px!important;flex:none!important}
.mail-load-images,.admin-load-images{display:inline-flex;width:auto!important;min-height:28px;padding:5px 9px!important;font-size:10px!important;margin:0 0 8px}
.connection-footer,.site-footer{width:min(var(--content-width, 1120px),calc(100% - 36px))!important;max-width:var(--content-width,1120px)!important;box-sizing:border-box;margin-left:auto!important;margin-right:auto!important}
@media(max-width:850px){
 .admin-heading{grid-template-columns:1fr!important}
 .admin-heading-main{grid-template-columns:1fr}
 .admin-heading-main h1{white-space:normal}
 .admin-create-compact{grid-template-columns:1fr 1fr!important}
 .admin-local-send-form{grid-template-columns:1fr}
 .admin-local-send-form label:has(textarea){grid-column:auto}
}
@media(max-width:560px){
 .admin-heading{padding:9px!important}
 .admin-create-compact{grid-template-columns:1fr!important}
 .admin-reply-form,.mail-reply-form{grid-template-columns:1fr}
 .admin-reply-form label:has(textarea),.mail-reply-form label:has(textarea){grid-column:auto}
 .admin-message-summary,.mail-message-toggle{padding-right:88px!important}
 .connection-footer,.site-footer{width:calc(100% - 20px)!important}
}


/* Vessel follow-up: owner compose, bounded announce and footer width-only alignment. */
.admin-local-send-form{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;width:100%;min-width:0;box-sizing:border-box}
.admin-local-send-form>label:nth-of-type(1),.admin-local-send-form>label:nth-of-type(2){grid-column:auto!important;min-width:0}
.admin-local-send-form>label:nth-of-type(3){grid-column:1/-1!important;min-width:0}
.admin-local-send-form>label:nth-of-type(3) textarea{display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box}
.admin-local-send-form>button{grid-column:1/-1!important;justify-self:end;max-width:100%;box-sizing:border-box}
.admin-message>form:not(.admin-reply-form) .admin-danger{min-height:30px!important;padding:7px 13px!important;font-size:11px!important;line-height:1.2}
.admin-announce-form,.admin-owner-send-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;max-width:100%;min-width:0;box-sizing:border-box;overflow:hidden}
.admin-announce-form>* ,.admin-owner-send-form>*{min-width:0;max-width:100%;box-sizing:border-box}
.admin-announce-form label:has(textarea),.admin-owner-send-form label:has(textarea){grid-column:1/-1}
.admin-announce-form input,.admin-announce-form textarea,.admin-owner-send-form input,.admin-owner-send-form select,.admin-owner-send-form textarea{display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box}
.admin-announce-form textarea,.admin-owner-send-form textarea{min-height:160px;max-height:480px;resize:vertical;overflow:auto}
.admin-announce-form button,.admin-owner-send-form button{grid-column:1/-1;justify-self:end;max-width:100%;min-width:0;white-space:normal;box-sizing:border-box}
.admin-owner-send{margin:10px 0 14px;padding:12px;border:1px dashed var(--line);border-radius:10px;background:var(--panel2);min-width:0;max-width:100%;box-sizing:border-box}
/* Keep the existing footer composition intact; only match its outer width to the panel layout. */
.admin-layout+.site-footer,.site-footer.connection-footer{width:min(1600px,calc(100% - 48px))!important;max-width:1600px!important;margin-left:auto!important;margin-right:auto!important;box-sizing:border-box}
@media(max-width:760px){.admin-local-send-form,.admin-owner-send-form,.admin-announce-form{grid-template-columns:minmax(0,1fr)!important}.admin-local-send-form>label:nth-of-type(3),.admin-owner-send-form label:has(textarea),.admin-announce-form label:has(textarea){grid-column:1!important}}
@media(max-width:560px){.admin-layout+.site-footer,.site-footer.connection-footer{width:calc(100% - 20px)!important}}

/* Owner Contact and Local Mail: compact inline labels and full-width message body. */
.admin-owner-send{width:100%;min-width:0;max-width:100%;box-sizing:border-box;padding:12px!important;border:1px dashed var(--line)!important;border-radius:10px;background:var(--panel2)}
.admin-local-send-form>label,.admin-owner-send-form>label{display:grid!important;grid-template-columns:58px minmax(0,1fr)!important;align-items:center;gap:8px!important;min-width:0;width:100%;box-sizing:border-box;font-size:12px}
.admin-local-send-form>label:has(textarea),.admin-owner-send-form>label:has(textarea){grid-column:1/-1!important;grid-template-columns:58px minmax(0,1fr)!important;align-items:start}
.admin-local-send-form input,.admin-local-send-form select,.admin-local-send-form textarea,.admin-owner-send-form input,.admin-owner-send-form select,.admin-owner-send-form textarea{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;border:1px dashed var(--line)!important;border-radius:7px!important;background:var(--bg)!important;color:var(--text)!important;padding:7px 9px!important;font:inherit}
.admin-local-send-form textarea,.admin-owner-send-form textarea{display:block;min-height:150px;height:150px;max-height:450px;resize:vertical;overflow:auto}
.admin-owner-send-form{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;width:100%;max-width:100%;min-width:0;box-sizing:border-box;overflow:hidden}
.admin-owner-send-form>*{min-width:0;max-width:100%;box-sizing:border-box}
.admin-owner-send-form>button,.admin-local-send-form>button{grid-column:1/-1!important;justify-self:end!important;width:auto!important;max-width:100%;min-height:30px!important;padding:6px 11px!important;font-size:11px!important;white-space:normal;box-sizing:border-box}
.admin-owner-send-form>button:hover,.admin-local-send-form>button:hover{background:var(--accent)!important;color:#101414!important;filter:brightness(1.08)}
@media(max-width:760px){.admin-owner-send-form{grid-template-columns:minmax(0,1fr)!important}.admin-owner-send-form>label:has(textarea){grid-column:1!important}}

/* Vessel admin: align the footer to the workspace and tighten vertical rhythm. */
.admin-layout{
  width:calc(100% - 48px)!important;
  max-width:1600px!important;
  margin:8px auto 0!important;
  min-height:0!important;
  box-sizing:border-box!important;
}
.admin-layout+.site-footer,
.site-footer.connection-footer,
.connection-footer{
  width:calc(100% - 48px)!important;
  max-width:1600px!important;
  margin:8px auto 10px!important;
  padding:6px 14px!important;
  gap:5px!important;
  box-sizing:border-box!important;
}
.connection-footer .character-stage{
  min-height:58px!important;
  padding:1px 10px!important;
  border-radius:12px!important;
}
.connection-footer .header-moon{width:46px!important;height:46px!important}
.connection-footer .moon-disc{width:34px!important;height:34px!important}
.connection-footer-meta{gap:8px!important}
@media(max-width:850px){
  .admin-layout{width:calc(100% - 28px)!important;margin-top:7px!important}
  .admin-layout+.site-footer,.site-footer.connection-footer,.connection-footer{width:calc(100% - 28px)!important;margin-top:7px!important;padding:6px 10px!important}
}
@media(max-width:560px){
  .admin-layout{width:calc(100% - 20px)!important;margin-top:6px!important}
  .admin-layout+.site-footer,.site-footer.connection-footer,.connection-footer{width:calc(100% - 20px)!important;margin:6px auto 8px!important;padding:6px 8px!important}
  .connection-footer .character-stage{min-height:50px!important}
}


/* Final alignment: footer uses the same viewport-based width as the admin workspace. */
.admin-layout {
  width: min(1600px, calc(100vw - 48px)) !important;
  max-width: 1600px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
body > .site-footer.connection-footer,
.admin-layout + .site-footer.connection-footer,
.site-footer.connection-footer {
  display: flex !important;
  width: min(1600px, calc(100vw - 48px)) !important;
  min-width: 0 !important;
  max-width: 1600px !important;
  flex: 0 0 auto !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}
@media (max-width: 850px) {
  .admin-layout,
  body > .site-footer.connection-footer,
  .admin-layout + .site-footer.connection-footer,
  .site-footer.connection-footer {
    width: calc(100vw - 28px) !important;
  }
}
@media (max-width: 560px) {
  .admin-layout,
  body > .site-footer.connection-footer,
  .admin-layout + .site-footer.connection-footer,
  .site-footer.connection-footer {
    width: calc(100vw - 20px) !important;
  }
}


/* Vessel shared frame: one content width for public pages, admin and footer. */
:root {
  --max: 1240px;
  --vessel-gutter: 48px;
}
body > main,
.admin-layout,
body > .site-footer.connection-footer,
.admin-layout + .site-footer.connection-footer {
  width: min(var(--max), calc(100vw - var(--vessel-gutter))) !important;
  max-width: var(--max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}
.admin-layout {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.admin-main,
.mail-workspace,
.page-heading {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  box-sizing: border-box;
}
.mail-workspace {
  margin-left: auto !important;
  margin-right: auto !important;
}
body > .site-footer.connection-footer,
.admin-layout + .site-footer.connection-footer {
  margin-top: 10px !important;
  margin-bottom: 12px !important;
}
@media (max-width: 760px) {
  :root { --vessel-gutter: 34px; }
  body > main,
  .admin-layout,
  body > .site-footer.connection-footer,
  .admin-layout + .site-footer.connection-footer {
    width: calc(100vw - var(--vessel-gutter)) !important;
  }
}
@media (max-width: 560px) {
  :root { --vessel-gutter: 28px; }
}

/* Page headers styled as compact editorial cards, shared across sections. */
.page-heading {
  position: relative;
  overflow: hidden;
  margin: 18px auto 14px !important;
  padding: clamp(15px, 2.2vw, 25px) clamp(16px, 2.5vw, 28px) !important;
  border: 1px solid var(--line);
  border-radius: 13px;
  background:
    radial-gradient(ellipse at 92% 0%, color-mix(in srgb, var(--accent) 12%, transparent), transparent 48%),
    linear-gradient(135deg, var(--panel), color-mix(in srgb, var(--panel2) 78%, var(--bg)));
  box-shadow: 0 12px 30px rgba(0, 0, 0, .12);
}
.page-heading::before,
.admin-heading::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: linear-gradient(180deg, var(--accent), transparent);
}
.page-heading .eyebrow,
.admin-heading .eyebrow {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin: 0;
  padding: 4px 8px;
  border: 1px solid color-mix(in srgb, var(--accent) 32%, var(--line));
  border-radius: 5px;
  background: color-mix(in srgb, var(--accent) 7%, var(--panel));
  font-size: 10px;
  letter-spacing: 2px;
}
.page-heading h1 {
  margin: 9px 0 5px !important;
  font-size: clamp(25px, 3vw, 36px) !important;
  line-height: 1.15 !important;
  letter-spacing: -1.2px !important;
}
.page-heading > p:not(.eyebrow) {
  max-width: 850px;
  margin: 0 !important;
  color: var(--muted);
  font-size: 13px !important;
  line-height: 1.55;
}
.admin-heading {
  position: relative;
  overflow: hidden;
  border-radius: 13px !important;
  background:
    radial-gradient(ellipse at 92% 0%, color-mix(in srgb, var(--accent) 10%, transparent), transparent 48%),
    var(--panel) !important;
}
.admin-heading h1 { font-size: clamp(25px, 3vw, 35px) !important; }
.admin-heading .admin-heading-main > p:not(.eyebrow) {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
}
@media (max-width: 560px) {
  .page-heading { margin-top: 12px !important; padding: 14px !important; }
}


/* Vessel maintenance header and aligned mail workspace. */
.admin-heading {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) !important;
  gap: 13px !important;
  padding: 15px !important;
  margin: 8px 0 14px !important;
  text-align: center;
}
.admin-heading::before { display: none; }
.admin-heading-title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-width: 0;
  color: var(--text);
  font: 600 clamp(14px,2vw,19px)/1.2 'DM Mono',monospace;
  letter-spacing: .16em;
}
.admin-heading-title i {
  color: var(--accent);
  font-style: normal;
  font-size: 22px;
}
.admin-heading-tools {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px;
  width: 100%;
  min-width: 0;
  text-align: left;
}
.admin-search-box,
.admin-create-compact {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) !important;
  align-content: center;
  gap: 7px !important;
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
  padding: 10px 12px !important;
  border: 1px dashed var(--line) !important;
  border-radius: 9px;
  background: var(--panel2);
}
.admin-search-box strong,
.admin-create-compact>strong {
  color: var(--accent);
  font-size: 11px;
  letter-spacing: .06em;
}
.admin-search-box input,
.admin-create-compact input {
  display: block;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100%;
  box-sizing: border-box;
  padding: 8px 9px !important;
  border: 1px dashed var(--line) !important;
  border-radius: 7px;
  background: var(--bg);
  color: var(--text);
  font: inherit;
  font-size: 12px;
}
.admin-create-compact .button {
  justify-self: start;
  width: auto !important;
  min-height: 31px;
  padding: 6px 11px !important;
  font-size: 11px;
}
.admin-owner-send-form,
.admin-local-send-form {
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  width: 100% !important;
  max-width: 100% !important;
  gap: 10px !important;
}
.admin-owner-send-form>label,
.admin-local-send-form>label {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) !important;
  align-items: stretch !important;
  gap: 5px !important;
  min-width: 0;
  width: 100%;
}
.admin-owner-send-form>label:has(textarea),
.admin-local-send-form>label:has(textarea) { grid-column: 1/-1 !important; }
.admin-owner-send-form input,
.admin-owner-send-form select,
.admin-owner-send-form textarea,
.admin-local-send-form input,
.admin-local-send-form select,
.admin-local-send-form textarea {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  border: 1px dashed var(--line) !important;
  border-radius: 7px !important;
}
.mail-workspace {
  display: grid !important;
  grid-template-columns: minmax(320px,1.05fr) minmax(0,1.35fr) !important;
  width: 100% !important;
  max-width: none !important;
  gap: 14px !important;
  align-items: stretch !important;
  margin: 14px auto 22px !important;
}
.mail-compose-sidebar,
.mail-inbox {
  width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}
.mail-compose-sidebar { padding: clamp(14px,1.8vw,22px) !important; }
.mail-compose-form input,
.mail-compose-form textarea,
.mail-compose-form select {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  border: 1px dashed var(--line) !important;
}
.mail-heading { width: 100% !important; max-width: none !important; }
@media (max-width: 760px) {
  .admin-heading-tools { grid-template-columns: minmax(0,1fr) !important; }
  .admin-create-compact { grid-template-columns: minmax(0,1fr) !important; }
  .admin-owner-send-form,
  .admin-local-send-form { grid-template-columns: minmax(0,1fr) !important; }
  .admin-owner-send-form>label:has(textarea),
  .admin-local-send-form>label:has(textarea) { grid-column: 1 !important; }
  .mail-workspace { grid-template-columns: minmax(0,1fr) !important; }
}


/* Final form labels, full-width announce subject, disclosure marks and delete X. */
.admin-owner-send-form>label,
.admin-local-send-form>label {
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:5px!important;
  width:100%;
  min-width:0;
}
.admin-owner-send-form>label:has(textarea),
.admin-local-send-form>label:has(textarea) {
  grid-column:1/-1!important;
}
.admin-owner-send-form input,
.admin-owner-send-form select,
.admin-local-send-form input,
.admin-local-send-form select,
.admin-owner-send-form textarea,
.admin-local-send-form textarea {
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
.admin-announce-form>label:first-of-type {
  grid-column:1/-1!important;
}
.admin-announce-form>label:first-of-type input,
.admin-announce-form>label:has(textarea) textarea {
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
.admin-message-delete {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:2px;
}
.admin-message-delete::after,
.mail-delete-form::after {
  content:"×";
  display:block;
  color:#ef4444;
  font-size:19px;
  font-weight:800;
  line-height:12px;
}
.admin-message-delete .admin-danger,
.mail-delete-form .danger-button {
  min-width:74px;
}
.admin-expand-mark,
.mail-expand-mark {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  min-width:22px;
  font-size:19px;
  font-weight:500;
  line-height:1;
  color:var(--accent);
}
@media(max-width:760px) {
  .admin-local-send-form,
  .admin-owner-send-form,
  .admin-announce-form {
    grid-template-columns:minmax(0,1fr)!important;
  }
  .admin-local-send-form>label:has(textarea),
  .admin-owner-send-form>label:has(textarea),
  .admin-announce-form>label:first-of-type,
  .admin-announce-form>label:has(textarea) {
    grid-column:1!important;
  }
}


/* Account deletion confirmation control. */
.admin-delete-account {
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.admin-delete-confirm {
  display:inline-flex;
  align-items:center;
  gap:5px;
  color:var(--muted);
  font-size:12px;
}
.admin-delete-confirm input {
  accent-color:#ef4444;
}
.admin-delete-account .danger-button {
  border-color:rgba(239,68,68,.55);
  color:#ef4444;
}
.mail-message-toggle {
  cursor:pointer;
}


/* Mail local: Para y Asunto ocupan columnas completas y equivalentes. */
.admin-local-send-form {
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  gap:10px!important;
  box-sizing:border-box!important;
}
.admin-local-send-form>label {
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:6px!important;
  width:100%!important;
  min-width:0!important;
  grid-column:auto!important;
  box-sizing:border-box!important;
}
.admin-local-send-form>label:nth-of-type(3) {
  grid-column:1/-1!important;
}
.admin-local-send-form>label input,
.admin-local-send-form>label select,
.admin-local-send-form>label textarea {
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
.admin-local-send-form>button {
  grid-column:1/-1!important;
}
@media(max-width:760px) {
  .admin-local-send-form {
    grid-template-columns:minmax(0,1fr)!important;
  }
  .admin-local-send-form>label:nth-of-type(3) {
    grid-column:1!important;
  }
}

/* Admin local compose: exact half-width recipient and subject fields. */
.admin-local-send-form {
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
.admin-local-send-form>label {
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  width:100%!important;
  min-width:0!important;
  grid-column:auto!important;
  box-sizing:border-box!important;
}
.admin-local-send-form>label:nth-of-type(1),
.admin-local-send-form>label:nth-of-type(2) {
  grid-column:auto!important;
}
.admin-local-send-form>label:nth-of-type(3) {
  grid-column:1/-1!important;
}
.admin-local-send-form input,
.admin-local-send-form select,
.admin-local-send-form textarea {
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
@media(max-width:760px) {
  .admin-local-send-form { grid-template-columns:minmax(0,1fr)!important; }
  .admin-local-send-form>label:nth-of-type(3) { grid-column:1!important; }
}


/* Admin local message: override desktop-view legacy four-column rule. */
html[data-view="desktop"] .admin-local-send-form {
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  gap:10px!important;
  box-sizing:border-box!important;
}
html[data-view="desktop"] .admin-local-send-form>label:nth-of-type(1),
html[data-view="desktop"] .admin-local-send-form>label:nth-of-type(2) {
  grid-column:auto!important;
  width:100%!important;
  min-width:0!important;
}
html[data-view="desktop"] .admin-local-send-form>label:nth-of-type(3) {
  grid-column:1/-1!important;
}
html[data-view="desktop"] .admin-local-send-form input,
html[data-view="desktop"] .admin-local-send-form select,
html[data-view="desktop"] .admin-local-send-form textarea {
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
@media(max-width:760px) {
  html[data-view="desktop"] .admin-local-send-form {
    grid-template-columns:minmax(0,1fr)!important;
  }
  html[data-view="desktop"] .admin-local-send-form>label:nth-of-type(3) {
    grid-column:1!important;
  }
}


/* Mail: compact folder rail, wide reading pane, header compose action. */
.mail-workspace {
  display:grid!important;
  grid-template-columns:minmax(150px, .2fr) minmax(0, 1fr)!important;
  gap:12px!important;
  align-items:start!important;
  width:min(100%,1600px)!important;
  max-width:1600px!important;
}
.mail-compose-sidebar {
  grid-column:1!important;
  grid-row:1!important;
  padding:12px!important;
  gap:12px!important;
  min-width:0!important;
}
.mail-sidebar-brand { gap:9px!important; }
.mail-sidebar-brand .mail-logo { width:34px!important;height:34px!important;font-size:18px!important; }
.mail-sidebar-brand h2 { font-size:17px!important; }
.mail-sidebar-brand p { font-size:10px!important; }
.mail-folder-nav { display:grid;gap:5px;min-width:0; }
.mail-folder-nav a,.mail-folder-nav span {
  display:flex;align-items:center;justify-content:space-between;
  min-width:0;padding:8px 9px;border-radius:7px;
  color:var(--muted);font-size:12px;text-decoration:none;
  overflow-wrap:anywhere;
}
.mail-folder-nav a.active,.mail-folder-nav a:hover {
  color:var(--text);background:rgba(127,224,210,.10);
}
.mail-folder-nav span { opacity:.55;cursor:not-allowed; }
.mail-folder-nav small { font-size:10px; }
.mail-main-column { grid-column:2;grid-row:1;min-width:0;width:100%; }
.mail-inbox-tools { display:flex;align-items:center;gap:9px; }
.mail-inbox-tools .compose-toggle { width:auto!important;white-space:nowrap; }
.mail-compose-top { width:100%;min-width:0; }
.panel.mail-compose-form {
  width:100%!important;max-width:none!important;margin:0 0 12px!important;
  box-sizing:border-box!important;
}
.mail-compose-form[hidden] { display:none!important; }
.mail-compose-form .form-title { display:flex;align-items:center;justify-content:space-between;gap:12px; }
.mail-compose-form .form-title h2 { margin:0; }
.mail-compose-form .compose-close { width:auto!important; }
.mail-compose-form textarea { width:100%;box-sizing:border-box; }
.mail-history { scroll-margin-top:20px; }
@media(max-width:760px) {
  html[data-view="mobile"] .mail-workspace,
  .mail-workspace {
    grid-template-columns:minmax(0,1fr)!important;
    gap:9px!important;
  }
  .mail-compose-sidebar,.mail-main-column {
    grid-column:1!important;grid-row:auto!important;width:100%!important;
  }
  .mail-compose-sidebar { padding:10px!important; }
  .mail-folder-nav { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .mail-folder-nav a,.mail-folder-nav span { justify-content:center;text-align:center;padding:7px 4px; }
}
html[data-view="mobile"] .mail-workspace { grid-template-columns:minmax(0,1fr)!important; }
html[data-view="desktop"] .mail-workspace { grid-template-columns:minmax(150px,.2fr) minmax(0,1fr)!important; }


/* Mail: align both columns to the page heading and keep compose/inbox identical in width. */
main:has(.mail-workspace) .mail-heading,
main:has(.mail-workspace) .mail-workspace {
  width:100%!important;
  max-width:1200px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
main:has(.mail-workspace) .mail-workspace {
  grid-template-columns:minmax(0,1fr) minmax(0,4fr)!important;
  gap:12px!important;
}
main:has(.mail-workspace) .mail-compose-sidebar,
main:has(.mail-workspace) .mail-main-column {
  min-width:0!important;
  width:100%!important;
  box-sizing:border-box!important;
}
main:has(.mail-workspace) .mail-main-column {
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:12px!important;
}
main:has(.mail-workspace) .mail-compose-top,
main:has(.mail-workspace) .mail-compose-form,
main:has(.mail-workspace) .mail-inbox {
  display:block;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin-left:0!important;
  margin-right:0!important;
  box-sizing:border-box!important;
}
main:has(.mail-workspace) .mail-compose-form[hidden] { display:none!important; }
@media(max-width:760px) {
  main:has(.mail-workspace) .mail-workspace {
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
  }
  main:has(.mail-workspace) .mail-compose-sidebar,
  main:has(.mail-workspace) .mail-main-column {
    grid-column:1!important;
    width:100%!important;
  }
}


/* Per-account mail activity log page. */
.mail-heading-actions { display:flex;justify-content:flex-end;margin-top:12px; }
.mail-activity-panel { width:100%;max-width:1200px;margin:14px auto 0;box-sizing:border-box; }
.mail-activity-list { list-style:none;margin:0;padding:0;display:grid;gap:9px; }
.mail-activity-list li { min-width:0;padding:13px 15px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.025);overflow-wrap:anywhere; }
.mail-activity-list li p { margin:5px 0 0;color:var(--muted);font-size:13px; }
.mail-activity-list li small { display:block;margin-top:7px;color:#ffb3b3; }
.activity-row-head { display:flex;align-items:center;justify-content:space-between;gap:12px; }
.activity-row-head strong { font-size:13px; }
.activity-row-head time { color:var(--muted);font-size:11px; }
.activity-failed { border-left:3px solid #b75a5a!important; }
.activity-pending { border-left:3px solid #c59a4d!important; }
@media(max-width:600px) {
  .mail-heading-actions { justify-content:stretch; }
  .mail-heading-actions .button { width:100%;text-align:center; }
  .activity-row-head { align-items:flex-start;flex-direction:column;gap:4px; }
}

/* Server log maintenance and protected activity audit */
.admin-server-log-tools{display:grid;gap:10px;margin-top:18px;padding:14px;border:1px dashed var(--line);border-radius:10px;background:var(--panel2);min-width:0}
.admin-server-log-tools h3,.admin-server-log-tools p{margin:0}
.admin-server-log-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:10px 0;border-bottom:1px dashed var(--line)}
.admin-server-log-row>div{display:grid;gap:4px;min-width:0}.admin-server-log-row code{color:var(--muted);font-size:11px;overflow-wrap:anywhere}
.admin-server-log-row form{flex:0 0 auto}.admin-server-clear-all{padding-top:5px}
@media(max-width:560px){.admin-server-log-row{align-items:flex-start;flex-direction:column}.admin-server-log-row form{width:100%}.admin-server-log-row form button{width:100%}}

/* Private notes attached to every message in personal Mail. */
.mail-note-form{display:grid;gap:8px;margin:12px 0;padding:12px;border:1px solid var(--line);border-radius:9px;background:var(--panel)}
.mail-note-form label{display:grid;gap:5px;color:var(--muted);font-size:12px}
.mail-note-form textarea{width:100%;min-width:0;box-sizing:border-box;padding:9px;border:1px solid var(--line);border-radius:7px;background:var(--bg);color:var(--text);resize:vertical}
.mail-note-form small{color:var(--muted);font-size:11px}
.admin-trail-list{display:grid;gap:5px;margin-top:10px}
.admin-trail-row{display:grid;grid-template-columns:150px minmax(0,1fr);gap:10px;align-items:start;padding:8px 10px;border:1px solid var(--line);border-left:3px solid #64748b;border-radius:7px;background:var(--panel);min-width:0}
.admin-trail-meta{display:grid;gap:2px;min-width:0}.admin-trail-meta time{font-size:11px;font-variant-numeric:tabular-nums;color:var(--muted)}.admin-trail-meta small{font-size:10px;color:var(--muted);overflow-wrap:anywhere}
.admin-trail-main{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:8px;row-gap:2px;align-items:center;min-width:0}.admin-trail-main strong{font-size:12px;overflow-wrap:anywhere}.admin-trail-main p{grid-column:2;margin:0;font-size:11px;line-height:1.3;color:var(--muted);overflow-wrap:anywhere}
.admin-trail-type{display:inline-flex;align-items:center;justify-content:center;min-width:72px;padding:2px 5px;border-radius:4px;background:#64748b22;color:#94a3b8;font-size:9px;font-weight:800;letter-spacing:.05em}
.trail-session{border-left-color:#3b82f6}.trail-session .admin-trail-type{background:#3b82f622;color:#60a5fa}
.trail-mail{border-left-color:#16a34a}.trail-mail .admin-trail-type{background:#16a34a22;color:#4ade80}
.trail-page{border-left-color:#8b5cf6}.trail-page .admin-trail-type{background:#8b5cf622;color:#a78bfa}
.trail-error{border-left-color:#ef4444}.trail-error .admin-trail-type{background:#ef444422;color:#f87171}
.trail-action{border-left-color:#d97706}.trail-action .admin-trail-type{background:#d9770622;color:#fbbf24}
@media(max-width:680px){.admin-trail-row{grid-template-columns:1fr;gap:4px}.admin-trail-main{grid-template-columns:auto minmax(0,1fr)}.admin-trail-main p{grid-column:1/-1}}

/* Notes stay within their host card and cannot be manually resized. */
.mail-note-form,.admin-mail-note-form{display:grid;gap:8px;width:100%;max-width:100%;min-width:0;box-sizing:border-box}
.mail-note-form,.admin-mail-note-form{margin:12px 0;padding:12px;border:1px solid var(--line);border-radius:9px;background:var(--panel)}
.mail-note-form label,.admin-mail-note-form label{display:grid;gap:5px;color:var(--muted);font-size:12px}
.mail-note-form textarea,.admin-mail-note-form textarea{display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box;padding:9px;border:1px solid var(--line);border-radius:7px;background:var(--bg);color:var(--text);resize:none}
.mail-note-form small{color:var(--muted);font-size:11px}
.mail-activity-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.mail-activity-actions form{margin:0}.mail-activity-notice{margin:8px 0;padding:7px 10px;border-left:3px solid #16a34a;background:#16a34a14;border-radius:5px;font-size:12px}
@media(max-width:560px){.mail-activity-actions{width:100%}.mail-activity-actions form,.mail-activity-actions form button{flex:1}}


/* Unified private-note sizing: fill the actual message/detail container. */
.mail-message-details,.admin-message-expanded{min-width:0;width:100%;}
.mail-message-details>.mail-note-form,
.admin-message-expanded>.admin-mail-note-form,
.mail-note-form,.admin-mail-note-form{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:9px;width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;}
.mail-note-form label,.admin-mail-note-form label{display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;}
.mail-note-form textarea,.admin-mail-note-form textarea{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;min-height:84px;box-sizing:border-box!important;resize:vertical!important;}
.mail-note-form button,.admin-mail-note-form button{justify-self:start;max-width:100%;}

/* Professional account Trail log viewer. */
.admin-log-panel{width:100%;min-width:0;margin-top:12px;border:1px solid var(--line);border-radius:11px;background:var(--panel);overflow:hidden;box-sizing:border-box}
.admin-log-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 17px;border-bottom:1px solid var(--line);background:var(--panel2);min-width:0}
.admin-log-toolbar h3{margin:2px 0 4px;font-size:17px}.admin-log-toolbar p{margin:0}.admin-log-kicker{font:10px/1.4 ui-monospace,monospace;letter-spacing:.12em;color:var(--accent)}
.admin-log-toolbar-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}.admin-log-toolbar-actions form{margin:0}
.admin-log-table-wrap{width:100%;max-height:68vh;overflow:auto}
.admin-log-table{width:100%;border-collapse:separate;border-spacing:0;font:12px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace;text-align:left}
.admin-log-table th{position:sticky;top:0;z-index:1;padding:9px 11px;background:var(--panel2);color:var(--muted);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px;font-weight:700;line-height:1.3;letter-spacing:.07em;text-transform:uppercase;border-bottom:1px solid var(--line);white-space:nowrap}
.admin-log-table td{padding:9px 11px;border-bottom:1px solid color-mix(in srgb,var(--line) 65%,transparent);vertical-align:top}
.admin-log-entry:last-child td{border-bottom:0}.admin-log-entry:hover{background:color-mix(in srgb,var(--accent) 5%,transparent)}
.admin-log-table .log-time{white-space:nowrap;color:var(--muted);font-size:11px}.admin-log-table .log-detail{min-width:180px;overflow-wrap:anywhere;color:var(--muted)}.admin-log-table .log-ip{white-space:nowrap;color:var(--muted);font-size:11px}
.admin-log-level,.admin-log-category{display:inline-flex;align-items:center;border-radius:4px;padding:2px 6px;font:800 9px/1.4 ui-monospace,monospace;letter-spacing:.04em;white-space:nowrap}
.admin-log-level{background:#64748b22;color:#94a3b8}.level-error{background:#ef444422;color:#f87171}.level-warn{background:#d9770622;color:#fbbf24}.level-info{background:#0ea5e922;color:#38bdf8}
.admin-log-category{margin-right:7px}.category-session{background:#3b82f622;color:#60a5fa}.category-mail{background:#16a34a22;color:#4ade80}.category-page{background:#8b5cf622;color:#a78bfa}.category-error{background:#ef444422;color:#f87171}.category-action{background:#d9770622;color:#fbbf24}
.log-session td:first-child{box-shadow:inset 3px 0 #3b82f6}.log-mail td:first-child{box-shadow:inset 3px 0 #16a34a}.log-page td:first-child{box-shadow:inset 3px 0 #8b5cf6}.log-error td:first-child{box-shadow:inset 3px 0 #ef4444}.log-action td:first-child{box-shadow:inset 3px 0 #d97706}
.log-event-name{font-size:11px;font-weight:700;overflow-wrap:anywhere}.admin-log-empty{display:flex;align-items:center;gap:12px;padding:25px 18px}.admin-log-empty>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#16a34a22;color:#4ade80}.admin-log-empty strong{font-size:13px}.admin-log-empty p{margin:3px 0 0;color:var(--muted);font-size:12px}
.admin-log-footer{display:flex;justify-content:space-between;gap:12px;padding:9px 13px;border-top:1px solid var(--line);color:var(--muted);font-size:10px}
@media(max-width:760px){.admin-log-toolbar{align-items:flex-start;flex-direction:column}.admin-log-toolbar-actions{width:100%;justify-content:space-between}.admin-log-table{min-width:720px}.admin-log-footer{flex-direction:column;gap:3px}}


/* Notes: full container width with vertical resize capped at half the local message editor. */
.mail-note-form,.admin-mail-note-form{display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%!important;max-width:100%!important;min-width:0!important;align-self:stretch!important;box-sizing:border-box!important}
.mail-note-form label,.admin-mail-note-form label{display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important}
.mail-note-form textarea,.admin-mail-note-form textarea{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;min-height:84px!important;max-height:225px!important;height:auto;box-sizing:border-box!important;resize:vertical!important;overflow:auto!important}

/* Account Trail: one bordered log card per event, matching the system-log console. */
.admin-trail-cards{display:grid;gap:8px;padding:12px;max-height:70vh;overflow:auto;background:var(--bg);min-width:0}
.admin-trail-card{display:grid;gap:0;min-width:0;border:1px solid var(--line);border-left:4px solid #64748b;border-radius:8px;background:var(--panel2);box-shadow:0 1px 2px #0002;overflow:hidden}
.admin-trail-card-head{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:8px 11px;border-bottom:1px solid color-mix(in srgb,var(--line) 75%,transparent);min-width:0}
.admin-trail-card-head time{font:11px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--muted);white-space:nowrap}
.admin-trail-card-head strong{font:700 12px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere;min-width:0}
.trail-level-pill,.trail-category-pill{display:inline-flex;align-items:center;padding:2px 7px;border-radius:4px;font:800 9px/1.4 ui-monospace,monospace;letter-spacing:.045em;white-space:nowrap}
.trail-level-pill{background:#0ea5e922;color:#38bdf8}.trail-category-pill{background:#64748b22;color:#94a3b8}
.admin-trail-card-body{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:8px 11px;min-width:0}
.admin-trail-card-body p{margin:0;color:var(--text);font:11px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere;min-width:0}
.admin-trail-ip{flex:0 0 auto;color:var(--muted);font:10px/1.5 ui-monospace,monospace;white-space:nowrap}
.trail-level-error{border-left-color:#ef4444}.trail-level-error .trail-level-pill,.trail-category-error{background:#ef444422;color:#f87171}
.trail-level-warning{border-left-color:#eab308}.trail-level-warning .trail-level-pill,.trail-category-warning{background:#eab30822;color:#facc15}
.trail-level-info{border-left-color:#0ea5e9}.trail-level-info .trail-level-pill{background:#0ea5e922;color:#38bdf8}
.trail-level-debug{border-left-color:#8b5cf6}.trail-level-debug .trail-level-pill,.trail-category-debug{background:#8b5cf622;color:#a78bfa}
.trail-level-session{border-left-color:#3b82f6}.trail-category-session{background:#3b82f622;color:#60a5fa}
.trail-level-mail{border-left-color:#22c55e}.trail-category-mail{background:#22c55e22;color:#4ade80}
.trail-level-page{border-left-color:#a855f7}.trail-category-page{background:#a855f722;color:#c084fc}
@media(max-width:620px){.admin-trail-card-head{gap:6px}.admin-trail-card-head time{width:100%}.admin-trail-card-body{flex-direction:column;gap:4px}.admin-trail-ip{white-space:normal}}


/* Site-wide content-aware textareas: grow with input, then scroll at the cap. */
textarea[data-vessel-autosize="true"]{display:block;box-sizing:border-box;width:100%;max-width:100%;min-width:0;overflow-y:hidden;resize:vertical;}
textarea[data-vessel-autosize="true"].autosize-capped{overflow-y:auto;}

/* Private notes must use the complete width of the message details column. */
.mail-message-details,.admin-message-expanded{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;width:100%;max-width:100%;min-width:0;box-sizing:border-box;}
.mail-message-details>* , .admin-message-expanded>*{min-width:0;max-width:100%;}
.mail-note-form,.admin-mail-note-form{display:grid!important;grid-template-columns:minmax(0,1fr)!important;justify-self:stretch;align-self:stretch;width:100%!important;max-width:100%!important;min-width:0!important;margin:12px 0!important;box-sizing:border-box!important;}
.mail-note-form label,.admin-mail-note-form label{display:grid!important;grid-template-columns:minmax(0,1fr)!important;justify-self:stretch;width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;}
.mail-note-form textarea,.admin-mail-note-form textarea{display:block!important;grid-column:1/-1;width:100%!important;max-width:100%!important;min-width:0!important;min-height:84px!important;max-height:225px!important;height:84px;box-sizing:border-box!important;resize:vertical!important;overflow-y:hidden;}
.mail-note-form textarea.autosize-capped,.admin-mail-note-form textarea.autosize-capped{overflow-y:auto!important;}

/* Administration Logs: boxed entries, consistent with Server and Trail log cards. */
.system-log-panel{margin-top:12px;overflow:hidden;}
.admin-log-cards{display:grid;gap:8px;padding:12px;max-height:70vh;overflow:auto;background:var(--bg);min-width:0;}
.admin-log-card{display:grid;gap:0;min-width:0;padding:0;border:1px solid var(--line);border-left:4px solid #0ea5e9;border-radius:8px;background:var(--panel2);box-shadow:0 1px 2px #0002;overflow:hidden;}
.admin-log-card-head{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:8px 11px;border-bottom:1px solid color-mix(in srgb,var(--line) 75%,transparent);min-width:0;}
.admin-log-card-head time{font:11px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--muted);white-space:nowrap;}
.admin-log-card-head strong{font:700 11px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere;min-width:0;}
.admin-log-level-pill{display:inline-flex;align-items:center;padding:2px 7px;border-radius:4px;font:800 9px/1.4 ui-monospace,monospace;letter-spacing:.045em;white-space:nowrap;background:#0ea5e922;color:#38bdf8;}
.admin-log-ip{margin-left:auto;color:var(--muted);font:10px/1.4 ui-monospace,monospace;white-space:nowrap;}
.admin-log-card-message{margin:0;padding:9px 11px;color:var(--text);font:11px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;}
.log-level-error{border-left-color:#ef4444;background:color-mix(in srgb,#ef4444 5%,var(--panel2));}.log-level-error .admin-log-level-pill{background:#ef444422;color:#f87171;}
.log-level-warning{border-left-color:#eab308;background:color-mix(in srgb,#eab308 5%,var(--panel2));}.log-level-warning .admin-log-level-pill{background:#eab30822;color:#facc15;}
.log-level-info{border-left-color:#eab308;background:color-mix(in srgb,#eab308 4%,var(--panel2));}.log-level-info .admin-log-level-pill{background:#eab30822;color:#facc15;}
.log-level-debug{border-left-color:#8b5cf6;}.log-level-debug .admin-log-level-pill{background:#8b5cf622;color:#a78bfa;}
@media(max-width:620px){.admin-log-card-head{gap:6px}.admin-log-card-head time{width:100%}.admin-log-ip{margin-left:0;white-space:normal}.admin-log-toolbar{gap:8px}}


/* MIME image attachments rendered by the central Mail controller. */
.mail-message-frame{background:#fff!important}
.mail-message-frame img{max-width:100%!important;height:auto!important;object-fit:contain}
.mail-inline-attachment-gallery{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0;padding:10px;border-top:1px solid var(--line)}
.mail-inline-attachment-preview{display:block;max-width:min(220px,100%)!important;max-height:220px!important;object-fit:contain;border:1px solid var(--line);border-radius:8px;background:#fff}


/* Vessel News: announcements use the same shared content rail as every primary page. */
.announcement-heading { width:100%!important; max-width:none!important; margin-bottom:20px; }
.announcement-story {
  width: 100%;
  max-width: none;
  margin: 0 auto 54px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: linear-gradient(145deg, var(--panel), rgba(10, 17, 22, .96));
  box-shadow: 0 22px 65px rgba(0, 0, 0, .22);
}
.announcement-copy { padding: clamp(20px, 4vw, 34px); }
.announcement-copy h2 {
  max-width: 760px;
  margin: 8px 0 12px;
  font-size: clamp(23px, 3.5vw, 36px);
  line-height: 1.18;
  letter-spacing: -1px;
}
.announcement-copy p:last-child {
  max-width: 760px;
  margin: 0;
  color: var(--muted);
  font-size: 15px;
}
.announcement-art { margin: 0; }
.announcement-art img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 680px;
  object-fit: cover;
  background: #090d10;
}
.announcement-art figcaption {
  padding: 12px 18px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font: 11px 'DM Mono', monospace;
  letter-spacing: .6px;
}
@media (max-width: 760px) {
  .announcement-story { margin-bottom: 32px; border-radius: 12px; }
  .announcement-copy { padding: 19px 16px; }
  .announcement-art img { max-height: none; }
}


/* Vessel responsive log/trail layout — consolidated drop-in correction. */
.admin-layout,.admin-main,.admin-content,.admin-card,.admin-detail-card,
.admin-log-panel,.system-log-panel,.admin-trail-panel,
.admin-log-cards,.admin-trail-cards,.admin-log-card,.admin-trail-card {
  box-sizing:border-box; min-width:0; max-width:100%;
}
.admin-log-panel,.system-log-panel,.admin-trail-panel { width:100%; overflow:hidden; }
.admin-log-toolbar,.admin-log-toolbar-actions,.admin-trail-panel .admin-log-toolbar-actions {
  display:flex; align-items:flex-start; justify-content:space-between; gap:12px;
  flex-wrap:wrap; min-width:0; max-width:100%;
}
.admin-log-toolbar>div:first-child,.admin-log-toolbar-actions>*,
.admin-trail-panel .admin-log-toolbar-actions>* { min-width:0; }
.admin-tabs { display:flex; flex-wrap:nowrap; max-width:100%; min-width:0; overflow-x:auto;
  overflow-y:hidden; overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch; }
.admin-log-cards,.admin-trail-cards {
  display:grid; grid-template-columns:minmax(0,1fr); gap:9px;
  width:100%; min-width:0; max-width:100%; max-height:min(70vh,900px);
  overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain;
}
.admin-log-card,.admin-trail-card { width:100%; min-width:0; overflow:hidden; }
.admin-log-card-head,.admin-trail-card-head {
  display:flex; align-items:center; flex-wrap:wrap; gap:7px 10px;
  min-width:0; max-width:100%;
}
.admin-log-card-head time,.admin-log-card-head strong,
.admin-trail-card-head time,.admin-trail-card-head strong {
  min-width:0; max-width:100%; overflow-wrap:anywhere; word-break:break-word;
}
.admin-log-card-head strong,.admin-trail-card-head strong { flex:1 1 12rem; }
.admin-log-ip,.admin-trail-ip { min-width:0; max-width:100%; white-space:normal; overflow-wrap:anywhere; }
.admin-log-card-message,.admin-trail-card-body,.admin-trail-card-body p {
  box-sizing:border-box; min-width:0; max-width:100%; white-space:pre-wrap;
  overflow-wrap:anywhere; word-break:break-word;
}
.admin-log-footer { display:flex; flex-wrap:wrap; justify-content:space-between; gap:6px 14px; min-width:0; }
@media (max-width: 900px) {
  .admin-layout { grid-template-columns:minmax(0,1fr); }
  .admin-main,.admin-content { width:100%; min-width:0; }
}
@media (max-width: 760px) {
  .admin-log-toolbar { align-items:stretch; }
  .admin-log-toolbar-actions { width:100%; justify-content:flex-start; }
  .admin-log-cards,.admin-trail-cards { padding:9px; max-height:65vh; }
  .admin-log-card-head,.admin-trail-card-head { align-items:flex-start; }
  .admin-log-card-head time,.admin-trail-card-head time { flex:1 1 100%; white-space:normal; }
  .admin-log-ip,.admin-trail-ip { margin-left:0; }
}
@media (max-width: 560px) {
  .admin-log-panel,.system-log-panel,.admin-trail-panel { border-radius:10px; }
  .admin-log-toolbar { padding:12px; }
  .admin-log-toolbar h3 { overflow-wrap:anywhere; }
  .admin-log-cards,.admin-trail-cards { padding:7px; gap:7px; max-height:62vh; }
  .admin-log-card-head,.admin-trail-card-head { padding:8px; gap:6px; }
  .admin-log-card-message,.admin-trail-card-body { padding:8px; font-size:12px; line-height:1.5; }
  .admin-log-footer { padding:8px 10px; font-size:10px; }
  .admin-count-pill { max-width:100%; white-space:normal; }
}


/* Luxist & Luxerlia: responsive three-stage visual story. */
.announcement-gallery {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  padding: 0 clamp(14px, 2.5vw, 24px) clamp(16px, 2.5vw, 24px);
}
.announcement-art-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: rgba(0,0,0,.16);
}
.announcement-art-card img {
  width: 100%;
  height: clamp(210px, 27vw, 360px);
  max-height: none;
  object-fit: cover;
  object-position: center;
}
.announcement-art-card figcaption {
  min-height: 42px;
  padding: 12px 14px;
  line-height: 1.55;
  overflow-wrap: anywhere;
}
.announcement-art-welcome { grid-column: 1 / -1; }
.announcement-art-welcome img { height: clamp(250px, 38vw, 500px); object-position: center 38%; }
@media (max-width: 620px) {
  .announcement-gallery { grid-template-columns: minmax(0,1fr); gap: 11px; padding: 0 12px 14px; }
  .announcement-art-welcome { grid-column: auto; }
  .announcement-art-card img,.announcement-art-welcome img { height: auto; max-height: none; aspect-ratio: 4 / 3; }
  .announcement-art-welcome img { aspect-ratio: 16 / 10; }
  .announcement-art-card figcaption { padding: 10px 12px; font-size: 10px; }
}


/* Click-to-enlarge image viewer (site pages and mail previews). */
.vessel-zoomable-image {
  cursor: zoom-in;
}
.vessel-zoomable-image:focus-visible {
  outline: 3px solid var(--accent, #d9b66f);
  outline-offset: 3px;
}
.vessel-image-viewer[hidden] { display: none !important; }
.vessel-image-viewer {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(16px, 4vw, 56px);
  background: rgba(7, 9, 16, .94);
  cursor: zoom-out;
}
.vessel-image-viewer-image {
  display: block;
  max-width: min(96vw, 1800px);
  max-height: 92vh;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 8px;
  box-shadow: 0 18px 70px rgba(0,0,0,.55);
  cursor: default;
}
.vessel-image-viewer-close {
  position: absolute;
  top: max(14px, env(safe-area-inset-top));
  right: max(16px, env(safe-area-inset-right));
  z-index: 1;
  width: 48px;
  height: 48px;
  border: 1px solid rgba(255,255,255,.4);
  border-radius: 50%;
  color: #fff;
  background: rgba(0,0,0,.55);
  font-size: 32px;
  line-height: 1;
  cursor: pointer;
}
body.vessel-image-viewer-open { overflow: hidden; }


/* Vessel mail attachments: received-file list and compose upload controls. */
.mail-file-attachments {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 12px 0 16px;
  padding: 12px;
  border: 1px solid var(--line, rgba(255,255,255,.14));
  border-radius: 12px;
}
.mail-file-attachments > strong { font-size: .9rem; }
.mail-file-attachment {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  max-width: 100%;
  overflow-wrap: anywhere;
  padding: 7px 10px;
  border-radius: 8px;
  background: rgba(127,224,212,.08);
  text-decoration: none;
}
.mail-file-attachment small { opacity: .72; }
.mail-compose-form input[type="file"],
.mail-reply-form input[type="file"] {
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 8px 0 12px;
  padding: 10px;
  border: 1px dashed var(--line, rgba(255,255,255,.25));
  border-radius: 10px;
  color: inherit;
  background: rgba(255,255,255,.035);
}
.mail-compose-form > small,
.mail-reply-form > small { display:block; margin: -4px 0 12px; opacity:.72; }

/* Vessel Office — integrated world-market terminal */
.market-heading{width:100%!important;max-width:none!important;margin:18px auto 14px!important}.market-heading h1{font-size:clamp(30px,3.5vw,43px)!important;letter-spacing:-1.6px!important}.market-heading h1 span{color:var(--accent)}
.market-terminal{width:100%;max-width:none;margin:0 auto 64px;box-sizing:border-box;border:1px solid var(--line);border-radius:15px;background:linear-gradient(150deg,rgba(17,29,37,.98),rgba(8,16,21,.98));box-shadow:0 24px 70px #0004;overflow:hidden;color:var(--text)}
.market-terminal-head{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:clamp(18px,2.2vw,28px);border-bottom:1px solid var(--line)}.market-terminal-head h2{font-size:25px;letter-spacing:-.7px;margin:5px 0}.market-subtitle,.market-table-head p:not(.eyebrow){color:var(--muted);font-size:12px;margin:5px 0 0}.market-head-actions{display:flex;align-items:center;gap:15px}.market-feed{display:flex;align-items:center;gap:8px;font:10px 'DM Mono',monospace;letter-spacing:.8px;color:var(--muted)}.market-feed i{width:7px;height:7px;border-radius:50%;background:#e5b45f;box-shadow:0 0 10px currentColor}.market-refresh{padding:9px 13px;font-size:11px}.market-refresh:disabled{opacity:.5;cursor:wait}
.market-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border-bottom:1px solid var(--line)}.market-stat{padding:19px 23px;background:rgba(9,17,22,.9);min-width:0}.market-stat>span{display:block;color:var(--muted);font:9px 'DM Mono',monospace;letter-spacing:1.1px}.market-stat strong{display:block;font:600 27px 'DM Mono',monospace;margin:9px 0 4px}.market-stat small{color:var(--muted);font-size:10px}.positive{color:#64d6a2!important}.negative{color:#ff818b!important}.neutral{color:var(--text)!important}
.market-table-card{margin:20px 0 0;border:1px solid var(--line);border-radius:11px;overflow:hidden;background:rgba(5,12,16,.38)}.market-table-head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;border-bottom:1px solid var(--line)}.market-table-head h3{font-size:17px;margin:5px 0}.market-tools{display:flex;align-items:center;gap:13px}.market-tools input{width:210px;max-width:45vw;padding:9px 11px;border:1px solid var(--line);border-radius:7px;background:#091219;color:var(--text);font:11px inherit}.market-tools span{font:10px 'DM Mono',monospace;color:var(--muted);white-space:nowrap}.market-table-wrap{overflow-x:auto}.market-table{width:100%;border-collapse:collapse;min-width:760px}.market-table th{text-align:right;padding:12px 14px;color:var(--muted);font:9px 'DM Mono',monospace;letter-spacing:.9px;border-bottom:1px solid var(--line);white-space:nowrap}.market-table th:first-child{text-align:left;padding-left:20px}.market-table td{padding:12px 14px;text-align:right;border-bottom:1px solid rgba(110,133,141,.12);font:11px 'DM Mono',monospace;white-space:nowrap}.market-table td:first-child{text-align:left;padding-left:20px}.market-table td strong{display:block;color:var(--text);font:600 12px Inter,Arial,sans-serif}.market-table td small{display:block;color:var(--muted);font:9px 'DM Mono',monospace;margin-top:4px}.market-region td{padding:11px 20px;background:rgba(125,226,209,.055);color:var(--accent);font:10px 'DM Mono',monospace;letter-spacing:1.2px;text-align:left!important}.market-spark{width:90px;height:32px}.market-spark svg{width:82px;height:27px;display:block;margin-left:auto}.market-error{color:#84959c;font:10px Inter,Arial,sans-serif}.market-status{display:inline-block;padding:5px 7px;border:1px solid currentColor;border-radius:4px;font:8px 'DM Mono',monospace;letter-spacing:.6px}.market-loading{text-align:center!important;padding:35px!important;color:var(--muted)!important;font:11px Inter,Arial,sans-serif!important}.trend-empty{color:var(--muted)}.market-foot{display:flex;justify-content:space-between;gap:12px;padding:12px 18px;color:var(--muted);font:9px 'DM Mono',monospace;letter-spacing:.4px}.market-disclaimer{padding:15px 23px 20px;color:var(--muted);font-size:10px;line-height:1.6}.market-offline .market-feed i{background:#ff818b}
@media(max-width:760px){.market-terminal{margin:0 auto 35px}.market-terminal-head{align-items:flex-start;flex-direction:column;padding:19px}.market-head-actions{width:100%;justify-content:space-between}.market-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.market-stat{padding:15px}.market-stat strong{font-size:22px}.market-table-card{margin:13px 0 0}.market-table-head{align-items:flex-start;flex-direction:column;padding:15px}.market-tools{width:100%;justify-content:space-between}.market-tools input{max-width:58%;width:58%}.market-foot{flex-direction:column}.market-disclaimer{padding:13px 15px 17px}}

/* Market terminal: match the shared Vessel content rail and add per-index drill-down. */
.market-heading,.market-terminal{width:100%!important;max-width:var(--max)!important;margin-left:auto!important;margin-right:auto!important;box-sizing:border-box}
.market-terminal{overflow:hidden}
.market-index-link{display:block;width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer;font:inherit}
.market-index-link strong{display:block;color:var(--text);font:700 12px Inter,Arial,sans-serif}
.market-index-link small{display:block;color:var(--muted);font:9px 'DM Mono',monospace;margin-top:4px}
.market-index-link small span{color:var(--accent);margin-left:5px;opacity:.85}
.market-index-link:hover strong,.market-index-link:focus-visible strong{color:var(--accent)}
.market-detail-action{cursor:pointer;background:transparent;font:inherit}
.market-detail-dialog{width:min(720px,calc(100% - 28px));max-width:720px;max-height:min(86vh,850px);padding:0;border:1px solid var(--line);border-radius:16px;background:#0d171e;color:var(--text);box-shadow:0 28px 100px #000b}
.market-detail-dialog::backdrop{background:rgba(0,0,0,.72);backdrop-filter:blur(4px)}
.market-detail-shell{position:relative;padding:clamp(20px,4vw,34px)}
.market-detail-close{position:absolute;top:14px;right:16px;width:36px;height:36px;border:1px solid var(--line);border-radius:50%;background:var(--panel);color:var(--text);font-size:24px;line-height:1;cursor:pointer}
#market-detail-title{font-size:clamp(23px,4vw,32px);letter-spacing:-.8px;margin:4px 44px 18px 0}
.market-detail-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.market-detail-hero>div:first-child>span,.market-detail-metric span,.market-detail-chart small{display:block;color:var(--muted);font:9px 'DM Mono',monospace;letter-spacing:.8px}
.market-detail-hero>div:first-child>strong{display:block;margin-top:6px;font:600 clamp(25px,5vw,38px) 'DM Mono',monospace}
.market-detail-hero>div:nth-child(2){text-align:right}.market-detail-hero b{display:block;font:600 23px 'DM Mono',monospace}.market-detail-hero small{display:block;margin-top:4px;font:12px 'DM Mono',monospace}
.market-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:18px 0;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.market-detail-metric{min-width:0;padding:14px;background:#101d25}.market-detail-metric strong{display:block;margin-top:7px;overflow-wrap:anywhere;font:600 13px 'DM Mono',monospace}
.market-detail-chart{padding:16px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.02)}.market-detail-chart>div:first-child{display:flex;justify-content:space-between;gap:12px;align-items:center}.market-detail-spark{height:100px;margin-top:15px}.market-detail-spark svg{width:100%;height:100%}.market-detail-note{margin:14px 0 0;color:var(--muted);font-size:10px}
.market-detail-unavailable{padding:20px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.025)}.market-detail-unavailable>strong{color:#f0c47d}.market-detail-unavailable p{color:var(--muted);font-size:12px;overflow-wrap:anywhere}.market-detail-unavailable .button{margin-top:8px}
@media(max-width:600px){.market-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.market-detail-hero{align-items:flex-start;flex-direction:column}.market-detail-hero>div:nth-child(2){text-align:left}}


/*
 * Site-wide page-width contract for future additions:
 * body > main is the shared Vessel content rail (same --max and viewport gutter
 * used by the header and footer). Top-level page sections must fill that rail;
 * do not add narrower fixed/max-width wrappers to new primary pages.
 */
body > main > .page-heading,
body > main > .announcement-story,
body > main > .market-heading,
body > main > .market-terminal {
  width:100%;
  max-width:none;
  min-width:0;
  margin-left:auto;
  margin-right:auto;
  box-sizing:border-box;
}


/* Persistent pages CMS */
.cms-panel,.cms-list,.cms-page-content{width:100%;max-width:none;box-sizing:border-box}.cms-panel form{display:grid;gap:12px}.cms-panel input:not([type=checkbox]){width:100%;box-sizing:border-box}.cms-toolbar{display:flex;flex-wrap:wrap;gap:7px}.cms-toolbar button{background:rgba(255,255,255,.08);border:1px solid var(--line,rgba(255,255,255,.15));border-radius:9px;color:inherit;padding:8px 12px;cursor:pointer}.cms-editor{min-height:360px;width:100%;box-sizing:border-box;padding:22px;border:1px solid rgba(120,190,190,.35);border-radius:14px;background:rgba(0,0,0,.2);color:inherit;outline:none;line-height:1.7}.cms-editor:focus{border-color:var(--accent,#56d5c5)}.cms-editor img,.cms-page-content img{max-width:100%;height:auto;border-radius:12px}.cms-publish{display:flex;align-items:center;gap:10px}.cms-list{display:grid;gap:12px;margin-top:24px}.cms-list .panel{margin:0}.cms-page-content{line-height:1.8;overflow-wrap:anywhere}.cms-page-content h1,.cms-page-content h2,.cms-page-content h3{margin-top:1.4em}.cms-page-content blockquote{border-left:3px solid var(--accent,#56d5c5);padding-left:18px;opacity:.9}.cms-page-content a{color:var(--accent,#56d5c5)}

/* CMS catalog pickers: actual commands and emoji loaded from Vessel/data. */
.cms-palettes{display:grid;gap:12px;margin:12px 0}.cms-palette{padding:16px;border:1px solid var(--line,rgba(255,255,255,.14));border-radius:14px;background:rgba(10,18,28,.72)}.cms-palette[hidden]{display:none}.cms-palette h3{margin:0 0 6px}.cms-palette p{margin:0 0 12px;opacity:.8}.cms-emoji-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:8px}.cms-palette-item,.cms-command-item{display:flex;align-items:center;justify-content:center;gap:5px;flex-direction:column;min-height:64px;padding:8px;border:1px solid var(--line,rgba(255,255,255,.14));border-radius:10px;background:rgba(255,255,255,.04);color:inherit;cursor:pointer}.cms-palette-item{font-size:22px}.cms-palette-item small,.cms-command-item small{font-size:11px;opacity:.75}.cms-command-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}.cms-command-item{align-items:flex-start;text-align:left}.cms-command-item strong{color:var(--accent,#8de3d0)}

/* CMS published media */
.cms-page-content .cms-image{margin:1.25rem 0;text-align:center;max-width:100%;}
.cms-page-content .cms-image img{display:block;width:auto;max-width:100%;height:auto;max-height:80vh;margin:0 auto;border-radius:12px;object-fit:contain;}
.cms-page-content a{overflow-wrap:anywhere;}


/* Vessel Mail: native browser print control for an individual message. */
.mail-print-button {
  display: inline-flex;
  align-items: center;
  margin: 0 0 9px;
}
