/* Shared Age of Sail cabinet: timber, aged parchment and brass. */
.voyage-recovery-links{display:flex;justify-content:space-between;gap:12px;margin-top:12px;font-size:13px}
#voyage-drawer:has(.voyage-avatar-button) .voyage-brand{display:none}
#voyage-drawer .voyage-account:has(.voyage-avatar-button){text-align:center;position:relative;padding-bottom:8px}
.voyage-profile-control{position:relative;width:fit-content;margin:0 auto}
#voyage-drawer .voyage-avatar-button,#voyage-drawer .voyage-username-button{display:block;margin:0 auto;padding:0;border:0;background:none;color:#ead7b0;cursor:pointer;font:inherit}
#voyage-drawer .voyage-avatar-button img{display:block;width:80px;height:80px;object-fit:contain;filter:drop-shadow(0 3px 5px #0008)}
#voyage-drawer .voyage-username-button{font-size:23px;line-height:1.3;font-weight:bold;max-width:350px;overflow-wrap:anywhere}
#voyage-drawer .voyage-account-links{justify-content:center;margin:4px 0}
.voyage-account-hint{display:none;position:absolute;top:50%;left:calc(100% + 8px);width:140px;padding:7px;background:#efe0bd;border:1px solid #a2824c;border-radius:4px;color:#30261b;font-size:12px;z-index:5;pointer-events:none}
.voyage-profile-control:has(>button:hover)>.voyage-account-hint,.voyage-profile-control:has(>button:focus-visible)>.voyage-account-hint{display:block}
.voyage-profile-control:has(>button[aria-expanded=true])>.voyage-account-hint{display:none}
#voyage-drawer .voyage-account-popover{position:absolute;top:calc(100% + 6px);left:50%;transform:translateX(-50%);width:min(350px,calc(100vw - 40px));max-height:calc(100dvh - 200px);overflow:auto;padding:18px;background:linear-gradient(135deg,#253c32,#192a25);border:2px double #b7985d;box-shadow:0 8px 30px #000b;border-radius:6px;z-index:10;text-align:left}
.voyage-account-popover[hidden]{display:none}
#voyage-drawer .voyage-account-popover a{display:block;padding:10px}
#voyage-drawer .voyage-account-popover button{font:inherit;color:#ead7b0;background:#344b3b;border:1px solid #ae8b56;border-radius:3px;padding:7px 12px;cursor:pointer;margin-top:8px}
#voyage-drawer .voyage-account-popover small{display:block;font-size:12px}
#avatar-status{font-size:13px;margin:6px 0}
@media(max-width:440px){.voyage-account-hint{top:100%;left:50%;transform:translateX(-50%);width:180px}}
@media(max-height:600px){#voyage-drawer .voyage-avatar-button img{width:48px;height:48px}#voyage-drawer .voyage-username-button{font-size:18px}}
:root { --voyage-ink:#30261b; --voyage-gold:#c9a569; --voyage-paper:#ede0bf; }
#voyage-toggle { position:fixed; top:16px; left:16px; z-index:2147483001; display:grid; place-items:center; width:44px; height:44px; border:1px solid #bc9456; border-radius:6px; color:#ecd8ac; background:#242b29; box-shadow:0 4px 16px #0008; font-size:24px; cursor:pointer; text-decoration:none; }
#voyage-drawer { position:fixed; inset:0 auto 0 0; z-index:2147483000; box-sizing:border-box; width:min(466px,100vw); height:100dvh; padding:74px 22px max(76px, env(safe-area-inset-bottom)); display:flex; flex-direction:column; gap:0; overflow:hidden; color:#ead7b0; background:linear-gradient(110deg,#182724f5,#302820f5),url('/assets/img/login/gov_splash_01.png') center/cover; border-right:3px double #b58c50; box-shadow:12px 0 45px #0009; font:15px/1.5 'Quattrocento',Georgia,serif; animation:cabinet-in .22s ease-out; }
#voyage-drawer[hidden] { display:none; }
@keyframes cabinet-in { from { transform:translateX(-100%); } to { transform:translateX(0); } }
.voyage-brand { border-bottom:1px solid #a4844b70; padding-bottom:16px; letter-spacing:.16em; }
.voyage-brand small { display:block; letter-spacing:.06em; color:#b9a786; font-style:italic; margin-top:4px; }
.voyage-account { border-bottom:1px solid #a4844b70; padding-bottom:18px; }
.voyage-account strong { display:block; font-size:25px; overflow-wrap:anywhere; }
#voyage-drawer a { color:#ead7b0; }
.voyage-account-links { display:flex; flex-wrap:wrap; gap:12px; font-size:12px; margin:10px 0; }
#voyage-drawer .login-form-container { position:static; transform:none; width:auto; padding:0; margin:0; background:none; border:0; box-shadow:none; color:inherit; text-align:left; }
#voyage-drawer form { display:grid; gap:7px; }
#voyage-drawer input { box-sizing:border-box; width:100%; min-width:0; padding:9px 12px; border:1px solid #ae8b56; border-radius:3px; background:#f0e4c9; color:#30261b; font:inherit; }
#voyage-drawer button[type=submit] { margin-top:8px; padding:10px; border:1px solid #c2a06a; border-radius:3px; background:#b59157; color:#201d16; font:inherit; cursor:pointer; }
#voyage-drawer .error-message { color:#ffd4b4!important; font-size:13px; }
.voyage-invitation { color:#b9a786; font-style:italic; }
.voyage-private { display:grid; grid-template-columns:repeat(3,1fr); gap:12px 6px; }
.voyage-icon { position:relative; display:flex; align-items:center; justify-content:center; min-height:152px; border:1px solid transparent; border-radius:8px; text-decoration:none; }
.voyage-icon img { width:130px; height:152px; object-fit:contain; filter:drop-shadow(0 5px 3px #0009); transition:transform .2s,filter .2s; }
.voyage-icon:hover,.voyage-icon:focus-visible { background:#c6a05d18; border-color:#be9a5655; }
.voyage-icon:hover img,.voyage-icon:focus-visible img { transform:translateY(-5px) rotate(-3deg); filter:drop-shadow(0 0 8px #d8b66b88); }
.voyage-tooltip { position:absolute; bottom:calc(100% + 2px); left:50%; transform:translateX(-50%); white-space:nowrap; z-index:2; background:#f0e3c4; color:#292319; border:1px solid #a2824c; padding:3px 8px; border-radius:3px; font-size:12px; opacity:0; pointer-events:none; }
.voyage-icon:hover .voyage-tooltip,.voyage-icon:focus-visible .voyage-tooltip { opacity:1; }
.voyage-public { flex-shrink:0; margin-top:18px; padding-top:14px; border-top:1px solid #a4844b70; }
.voyage-public>small { font-size:10px; letter-spacing:.16em; color:#b9a786; }
.voyage-public>div { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:24px; }
:focus-visible { outline:2px solid #b88a43; outline-offset:3px; }
.overlay-panel { border:3px double #ab854e!important; border-radius:6px!important; box-shadow:0 18px 65px #0009!important; max-width:96vw; }
.overlay-panel .panel-header { background:linear-gradient(#35443c,#192722); color:#edd7a8; border-bottom:1px solid #a78551; }
.overlay-panel[data-minimized=true] { min-height:0; resize:none; }
.overlay-panel iframe[hidden] { display:none; }
body:has(>.page-container) { margin:0; overflow:auto; background:radial-gradient(ellipse at top,#f4e9cb,#cbbb91); color:#30261b; }
body:has(>.page-container)>.page-container { padding:70px 6vw 32px; }
.voyage-library { display:grid; gap:20px; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); }
.voyage-library a,.dispatch-entry { display:block; padding:24px; border:1px solid #ac8a54; background:#fff5d955; border-radius:4px; color:#30261b; }
.dispatch-entry { margin:20px 0; }.dispatch-entry img { max-width:100%; height:auto; }
@media (hover:none) { .voyage-tooltip { opacity:1; position:static; transform:none; white-space:normal; text-align:center; background:none; color:inherit; border:0; padding:0; } .voyage-icon { flex-direction:column; } }
@media (prefers-reduced-motion:reduce) { #voyage-drawer { animation:none; } .voyage-icon img { transition:none; } }
#voyage-drawer form { width:auto; max-width:none; background:none; border:0; padding:0; margin:0; border-radius:0; }
#voyage-drawer label { color:#e6d5b2; margin:4px 0 0; font-weight:normal; }
#voyage-drawer input,#voyage-drawer button { margin-bottom:0; }
#voyage-drawer .visually-hidden { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media(max-width:600px) { .overlay-panel { left:2vw!important; width:96vw!important; min-width:0!important; } }
.voyage-framed body:has(>.page-container)>.page-container { padding-top:24px; }
.overlay-panel[data-maximized=true] .panel-header { padding-left:60px; }

/* Keep the public shelf clear of the browser status bubble. */
.voyage-cabinet-body { flex:1 1 auto; min-height:0; overflow-y:auto; overflow-x:hidden; scrollbar-width:thin; scrollbar-color:#8b7957 transparent; padding:0 8px 8px 0; }
.voyage-cabinet-body .voyage-brand { margin-bottom:16px; }
.voyage-private { padding-top:30px; row-gap:28px; }
.voyage-account { padding-bottom:14px; }
.voyage-public .voyage-icon { min-height:152px; }
.voyage-public>div { justify-items:center; }
.voyage-public .voyage-icon { width:156px; }
.voyage-cabinet-body .voyage-invitation { margin:18px 0 4px; }
@media(max-width:440px) { .voyage-private { grid-template-columns:repeat(2,1fr); } #voyage-drawer { padding-inline:16px; } }
@media(max-height:600px) { #voyage-drawer { padding-top:64px; padding-bottom:48px; } .voyage-public { margin-top:6px; padding-top:8px; } .voyage-public>div { margin-top:20px; } }

/* Share the available height between the tools and a compact public shelf. */
#voyage-drawer:has(.voyage-private) .voyage-cabinet-body { display:contents; }
#voyage-drawer:has(.voyage-private) .voyage-brand,
#voyage-drawer:has(.voyage-private) .voyage-account { flex-shrink:0; }
#voyage-drawer .voyage-private { flex:2 1 304px; min-height:0; grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-rows:repeat(2,minmax(0,1fr)); padding-top:18px; row-gap:16px; }
#voyage-drawer:has(.voyage-private) .voyage-public { display:flex; flex-direction:column; flex:1 1 120px; min-height:60px; max-height:170px; margin-top:12px; padding-top:8px; }
#voyage-drawer:has(.voyage-private) .voyage-public>small { flex-shrink:0; }
#voyage-drawer:has(.voyage-private) .voyage-public>div { flex:1; min-height:0; margin-top:12px; grid-template-rows:minmax(0,1fr); }
#voyage-drawer:has(.voyage-private) .voyage-icon { min-width:0; min-height:0; width:100%; height:100%; }
#voyage-drawer:has(.voyage-private) .voyage-icon img { width:min(130px,100%); height:100%; max-height:152px; min-height:0; }
#voyage-drawer:has(.voyage-private) .voyage-public img { max-height:112px; }
@media(hover:none) {
  #voyage-drawer:has(.voyage-private) .voyage-icon img { flex:1; height:0; }
  #voyage-drawer:has(.voyage-private) .voyage-tooltip { flex-shrink:0; font-size:11px; line-height:1.2; }
}
@media(max-height:600px) {
  #voyage-drawer:has(.voyage-private) { padding-top:62px; padding-bottom:36px; }
  #voyage-drawer:has(.voyage-private) .voyage-brand { display:none; }
  #voyage-drawer:has(.voyage-private) .voyage-account { padding-bottom:4px; }
  #voyage-drawer .voyage-private { padding-top:12px; row-gap:10px; }
  #voyage-drawer:has(.voyage-private) .voyage-public { margin-top:6px; padding-top:4px; }
}
