/* Isolated identity preview: emerald ship timber, worn brass, burgundy and paper. */
body.voyage-preview-page {
  --voyage-ink: #352e22;
  --voyage-muted: #6b5b43;
  --voyage-bone: #f5e9cc;
  --voyage-brass: #c5a06a;
  --voyage-green: #173b2b;
  --voyage-red: #77372d;
  --voyage-wood: url('/images/preview/pirate/v6/emerald-wood.webp');
  --voyage-frame: url('/images/preview/pirate/v6/brass-frame.webp');
  --voyage-paper: linear-gradient(#f1e5ccf7, #e5d4b1f7), url('/images/preview/captains-chart.webp');
  --voyage-title: 'STKaiti', 'KaiTi', '楷体', 'Songti SC', serif;
  color: var(--voyage-bone);
  background: linear-gradient(90deg, #09130de8, #10271a66 18% 82%, #09130de8), var(--voyage-wood) center / 768px auto repeat;
}
body.voyage-preview-page .brand-name { color: #f3e3bc; text-shadow: 0 2px 2px #08130b; }
body.voyage-preview-page .brand-mark { color: #ccb282; }
body.voyage-preview-page .site-footer { margin-top: 0; border-color: #987348; background: #11291fd9; color: #d9c6a3; }
.voyage { width: min(1260px, calc(100% - 64px)); margin: 18px auto 36px; font-size: 16px; line-height: 1.75; }
.voyage, .voyage-dialog { color-scheme: light; }
.voyage *, .voyage-dialog * { box-sizing: border-box; }
.voyage [hidden], .voyage-dialog [hidden] { display: none !important; }
.voyage :is(h1,h2,h3,p), .voyage-dialog :is(h1,h2,h3,p) { margin-top: 0; }
.voyage :is(h1,h2,h3,h4) { color: var(--voyage-bone); }
.voyage :is(h2,h3), .voyage-dialog :is(h2,h3) { text-wrap: balance; }
.voyage h2 { margin-bottom: 12px; font-family: var(--voyage-title); font-size: 30px; line-height: 1.4; font-weight: 700; }
.voyage h3 { margin-bottom: 8px; font-size: 18px; line-height: 1.6; }
.voyage p, .voyage-dialog p { margin-bottom: 16px; overflow-wrap: anywhere; text-wrap: pretty; }
.voyage .eyebrow, .voyage-dialog .eyebrow { display: block; margin-bottom: 7px; color: #d7bd89; font-size: 12px; line-height: 1.7; letter-spacing: .12em; }
.voyage .small-note, .voyage-dialog .small-note { margin: 12px 0 0; font-size: 12px; line-height: 1.8; color: #d3c1a0; }
.voyage .muted { color: #d3c1a0; }
.voyage .parchment, .voyage-dialog { color: var(--voyage-ink); background: var(--voyage-paper); background-size: cover; }
.voyage .parchment { border: 12px solid #a78049; border-image: var(--voyage-frame) 130 / 12px stretch; padding: 24px; box-shadow: 0 6px 18px #040d0766; }
.voyage .parchment :is(h1,h2,h3,h4) { color: #6b3529; }
.voyage .parchment :is(.eyebrow,.small-note,.muted), .voyage-dialog :is(.eyebrow,.small-note,.muted) { color: var(--voyage-muted); }
.voyage .framed { border: 18px solid #987343; border-image: var(--voyage-frame) 130 / 18px stretch; background: linear-gradient(#0b2515a6,#14291c94), var(--voyage-wood) center / 700px auto; box-shadow: 0 8px 20px #040d0780; }
body.voyage-preview-page .voyage :is(a,button,input,textarea,select,summary):focus-visible,
body.voyage-preview-page .voyage-dialog :is(a,button,input,textarea,select,summary):focus-visible { outline: 3px solid #f2ca80; outline-offset: 4px; }
body.voyage-preview-page .voyage .parchment :is(a,button,input,textarea,select,summary):focus-visible,
body.voyage-preview-page .voyage-dialog :is(a,button,input,textarea,select,summary):focus-visible { outline-color: #76372d; }
.voyage :is(button,a), .voyage-dialog :is(button,a) { -webkit-tap-highlight-color: transparent; }
.voyage :is(button,select), .voyage-dialog :is(button,select) { cursor: pointer; }
.voyage :is(button,input,select,textarea), .voyage-dialog :is(button,input,select,textarea) { font: inherit; }
.voyage :is(button,select):disabled, .voyage-dialog :is(button,select):disabled { cursor: not-allowed; opacity: .55; }
.voyage :is(button,a), .voyage-dialog :is(button,a) { transition: background-color 150ms ease, color 150ms ease, border-color 150ms ease, box-shadow 150ms ease; }
.voyage .button-row, .voyage-dialog .button-row { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 18px; }
.voyage .voyage-button, .voyage-dialog .voyage-button { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 10px 19px; border: 1px solid #d0ae75; border-radius: 2px; color: #352719; background: linear-gradient(#f0d79f, #d2ae6e); box-shadow: inset 0 0 0 3px #cfac6a, inset 0 0 0 4px #f3dfb0, 0 3px 5px #070e0833; font-weight: 600; font-size: 15px; line-height: 1.6; text-align: center; text-decoration: none; }
.voyage .voyage-button:hover, .voyage-dialog .voyage-button:hover { background: linear-gradient(#f7e1b1,#ddbc82); box-shadow: inset 0 0 0 3px #d7b779, inset 0 0 0 4px #f9eccc, 0 3px 7px #070e084d; }
.voyage .voyage-button--red, .voyage-dialog .voyage-button--red { border-color: #d4b277; color: #fff2d7; background: linear-gradient(#884638,#66271f); box-shadow: inset 0 0 0 3px #6b3027, inset 0 0 0 4px #b78153, 0 3px 5px #070e084d; }
.voyage .voyage-button--red:hover, .voyage-dialog .voyage-button--red:hover { background: linear-gradient(#a35542,#7b3529); box-shadow: inset 0 0 0 3px #844330, inset 0 0 0 4px #c79b63, 0 3px 7px #070e0866; }
.voyage .text-button, .voyage-dialog .text-button { display: inline-flex; justify-content: center; align-items: center; min-height: 44px; padding: 7px 4px; border: 0; background: transparent; color: #efd6a1; text-decoration: underline; text-decoration-color: #a88a54; text-underline-offset: 5px; font-size: 14px; line-height: 1.65; }
.voyage .parchment .text-button, .voyage-dialog .text-button { color: #77372d; text-decoration-color: #ae7b5b; }
.voyage .text-button:hover, .voyage-dialog .text-button:hover { text-decoration-thickness: 2px; }
.voyage .demo-bar { position: sticky; top: 0; z-index: 15; display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: 16px; min-height: 76px; padding: 12px 18px; margin-bottom: 18px; border: 1px solid #9d8257; border-top: 3px solid #b38c54; background: #112a21f7; box-shadow: 0 4px 12px #050d084d; }
.voyage .demo-caption { display: flex; align-items: center; flex-wrap: wrap; gap: 3px 10px; font-size: 14px; }
.voyage .demo-caption > span:last-child { width: 100%; padding-left: 20px; color: #cfbc97; font-size: 12px; }
.voyage .demo-light { width: 9px; height: 9px; flex: 0 0 9px; border-radius: 50%; background: #d9b46b; box-shadow: 0 0 0 3px #d9b46b1a; }
.voyage .role-switch { display: flex; gap: 4px; padding: 4px; border: 1px solid #8a724d; background: #071c13; }
.voyage .role-switch a { display: flex; align-items: center; justify-content: center; min-width: 78px; min-height: 44px; padding: 8px 15px; color: #dfcda8; text-decoration: none; font-size: 15px; }
.voyage .role-switch a:hover { background: #31523b; }
.voyage .role-switch a[aria-current='page'] { color: #fff0ce; background: #71352a; box-shadow: inset 0 0 0 1px #b18a55; }
.voyage .demo-reset { min-height: 44px; padding: 7px 5px; border: 0; color: #dfcba7; background: transparent; font-size: 12px; text-decoration: underline; text-underline-offset: 4px; }
.voyage .voyage-hero { position: relative; isolation: isolate; display: grid; align-items: center; justify-items: center; height: 250px; margin-bottom: 25px; overflow: hidden; border: 13px solid #977044; border-image: var(--voyage-frame) 130 / 13px stretch; background: #11261d; box-shadow: 0 10px 24px #040b0766; }
.voyage .voyage-hero > img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.voyage .voyage-hero::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg,transparent,#061d1280 32% 68%,transparent); }
.voyage .voyage-hero-copy { width: min(630px, 70%); padding: 12px 20px; text-align: center; text-shadow: 0 2px 4px #04130b; }
.voyage .voyage-hero h1 { margin: 2px 0 9px; color: #f3dfae; font-family: var(--voyage-title); font-size: clamp(38px,4.2vw,58px); font-weight: 700; line-height: 1.15; letter-spacing: .15em; text-shadow: 1px 2px #6d472e, 0 4px 5px #061008; }
.voyage .voyage-hero-copy > p:last-child { margin: 12px 0 0; color: #e9d6b4; font-size: 15px; letter-spacing: .06em; }
.voyage .voyage-announcement:empty { display: none; }
.voyage .voyage-announcement, .voyage .storage-warning { margin: 0 0 22px; padding: 12px 16px; border-left: 4px solid #d1ad68; background: #263e29; color: #f6e7c7; font-size: 14px; }
.voyage .storage-warning { border-color: #cc8461; background: #5b3425; }
.voyage .arrival-layout { display: grid; grid-template-columns: minmax(0,2fr) minmax(280px,1fr); gap: 26px; margin: 0 0 38px; }
.voyage .featured-voyage { position: relative; isolation: isolate; min-height: 370px; display: flex; align-items: end; overflow: hidden; }
.voyage .featured-voyage > img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; }
.voyage .featured-voyage::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg,#10241800 15%,#11271ac7 53%,#07170ee8); }
.voyage .featured-copy { padding: 28px 30px; width: 100%; }
.voyage .featured-copy h2 { font-size: 40px; letter-spacing: .07em; color: #fff0cf; }
.voyage .featured-copy p { max-width: 32em; color: #ebdcc2; }
.voyage .featured-copy .button-row > span { font-size: 12px; color: #dbc7a0; }
.voyage .arrival-letter { position: relative; padding: 23px; }
.voyage .arrival-letter > .cabin-icon { float: right; width: 45px; height: 45px; margin: 1px 0 10px 12px; color: #8a5132; }
.voyage .arrival-letter h2 { color: #6c3526; }
.voyage .arrival-letter > p:not(.eyebrow):not(.small-note) { font-size: 15px; line-height: 1.9; }
.voyage .library-section { margin-top: 34px; }
.voyage .section-heading { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px 20px; margin: 0 0 20px; padding-bottom: 14px; border-bottom: 1px solid #ae8c5266; }
.voyage .section-heading h2 { margin-bottom: 0; color: var(--voyage-bone); }
.voyage .parchment .section-heading h2 { color: #6b3529; }
.voyage .section-heading > span { font-size: 12px; color: #cbb58e; }
.voyage .section-heading .small-note { margin: 0; }
.voyage .parchment .section-heading > span { color: #6b5238; }
.voyage .project-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 25px; }
.voyage[data-voyage-view='guest'] .project-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.voyage .project-card { min-width: 0; min-height: 0; padding: 0; display: flex; flex-direction: column; border: 1px solid #a58859; border-radius: 0; background: linear-gradient(#173b2af2,#10281ff5), var(--voyage-wood) center / 500px auto; box-shadow: 0 6px 12px #04110866; }
.voyage .project-card:hover { transform: none; border-color: #d1b379; background: linear-gradient(#173b2af2,#10281ff5), var(--voyage-wood) center / 500px auto; }
.voyage .project-art { position: relative; aspect-ratio: 16/9; overflow: hidden; border: 9px solid #a2834e; border-image: var(--voyage-frame) 130 / 9px stretch; background-position: center; background-size: cover; background-color: #264532; color: #f2dfb4; }
.voyage .project-art img { width: 100%; height: 100%; object-fit: cover; display: block; }
.voyage .project-art svg { width: 66px; height: 66px; }
.voyage .project-art > span { position: absolute; inset: auto 12px 10px; width: fit-content; padding: 3px 8px; border: 1px solid #b69b68; background: #132b20e6; color: #f2dfb9; font-size: 12px; }
.voyage .art-harbor { background-image: linear-gradient(#142d1414,#0b241e40),url('/images/preview/captains-chart.webp'); }
.voyage .art-train { background-image: linear-gradient(115deg,#1e171466,#3d372e26),url('/images/preview/pirate/v6/cabin-hero.webp'); background-position: 86% center; }
.voyage .art-study { background-image: linear-gradient(100deg,#27413633,#2a411b70),url('/images/preview/captains-chart.webp'); background-position: 72% 50%; }
.voyage .art-private { background-image: linear-gradient(#1c322987,#201a0ba8),url('/images/preview/pirate/v6/emerald-wood.webp'); }
.voyage .project-copy { display: flex; flex-direction: column; flex: 1; padding: 17px 20px 20px; }
.voyage .project-category { margin: 0 0 6px; color: #c9b181; font-size: 12px; letter-spacing: .08em; }
.voyage .project-title { margin-bottom: 10px; color: #f4e4c0; font-family: var(--voyage-title); font-size: 25px; line-height: 1.5; }
.voyage .project-description { margin-bottom: 18px; color: #dbcbb1; font-size: 14px; line-height: 1.85; }
.voyage .project-meta { display: flex; gap: 7px 12px; flex-wrap: wrap; margin-top: auto; color: #d8bc83; font-size: 12px; }
.voyage .card-actions { display: flex; flex-wrap: wrap; gap: 8px 14px; align-items: center; margin-top: 14px; padding-top: 15px; border-top: 1px solid #a88a4c55; }
.voyage .card-actions .voyage-button { min-height: 44px; padding: 8px 15px; font-size: 14px; }
.voyage .member-ribbon { display: flex; align-items: center; flex-wrap: wrap; gap: 18px 28px; padding: 18px 24px; margin-bottom: 24px; border: 1px solid #a28651; background: linear-gradient(100deg,#68372bd9,#2c3524d9),var(--voyage-wood) center / 750px auto; }
.voyage .member-ribbon h2 { margin: 0; font-size: 27px; overflow-wrap: anywhere; }
.voyage .member-ribbon > div:first-child { flex: 1; }
.voyage .account-selector { display: grid; gap: 4px; min-width: 160px; }
.voyage .account-selector label { font-size: 12px; color: #dfcaa6; }
.voyage .status-stamp { padding: 5px 12px; border: 2px solid #bda875; color: #f4dba6; font-size: 12px; letter-spacing: .08em; }
.voyage .member-overview { display: grid; grid-template-columns: minmax(0,1.6fr) minmax(280px,1fr); gap: 25px; }
.voyage .continue-panel { padding: 24px; }
.voyage .continue-heading { display: flex; align-items: center; gap: 17px; margin-bottom: 22px; }
.voyage .continue-heading .cabin-icon { width: 52px; height: 52px; flex: 0 0 52px; color: #c9a05e; }
.voyage .continue-heading h2 { margin-bottom: 0; }
.voyage .continue-panel > .button-row { padding-top: 18px; border-top: 1px solid #a5865059; margin-top: 15px; }
.voyage .request-summary h2 { color: #6b3529; }
.voyage .account-blocked { margin-bottom: 24px; }
.voyage .account-message { margin-top: 16px; padding: 12px 14px; border-left: 3px solid #985b3c; background: #d9c49459; font-size: 13px; }
.voyage .admin-layout { display: grid; grid-template-columns: 200px minmax(0,1fr); gap: 25px; align-items: start; }
.voyage .admin-nav { position: sticky; top: 102px; padding: 22px 14px 18px; border: 1px solid #92774a; background: #0b241bb8; }
.voyage .admin-nav > .eyebrow { margin: 0 9px 12px; }
.voyage .admin-nav a { display: flex; align-items: center; justify-content: space-between; gap: 6px; min-height: 48px; padding: 10px 12px; margin-bottom: 5px; color: #e6d3ae; font-size: 14px; text-decoration: none; border-bottom: 1px solid #8a74494d; }
.voyage .admin-nav a:hover { background: #36523999; color: #fff0cd; }
.voyage .admin-nav a > span:not(:empty) { display: inline-grid; place-items: center; min-width: 24px; min-height: 24px; padding: 0 5px; color: #f9e5bf; background: #7c3b2d; font-size: 12px; }
.voyage .admin-seal { display: grid; justify-items: center; gap: 12px; margin-top: 26px; padding-top: 22px; border-top: 3px double #a58a536b; color: #c7ad7b; }
.voyage .admin-seal .cabin-icon { width: 48px; height: 48px; }
.voyage .admin-seal > span { font-family: var(--voyage-title); font-size: 15px; }
.voyage .admin-workspace { min-width: 0; display: grid; gap: 26px; }
.voyage .admin-panel { min-width: 0; padding: 24px; scroll-margin-top: 105px; }
.voyage .ink-stamp { padding: 4px 9px; border: 2px solid #8d4634; color: #7e3d2c !important; font-family: var(--voyage-title); font-size: 16px !important; letter-spacing: .1em; }
.voyage .table-heading { padding: 4px 0 9px; margin: 23px 0 0; border-bottom: 2px solid #ad8c594d; color: #6b3729; font-size: 17px; }
.voyage .queue-row { display: flex; align-items: center; gap: 16px; justify-content: space-between; padding: 18px 0; border-bottom: 1px solid #ad8c594d; }
.voyage .queue-main { min-width: 0; flex: 1; }
.voyage .queue-main :is(h3,h4,strong) { display: block; margin: 0 0 4px; font-size: 16px; overflow-wrap: anywhere; }
.voyage .queue-main p { margin: 5px 0; font-size: 14px; }
.voyage .queue-main .small-note { font-size: 12px; }
.voyage .queue-actions { display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: center; justify-content: end; flex: 0 0 auto; max-width: 45%; }
.voyage .queue-actions .voyage-button { min-height: 44px; font-size: 13px; padding: 7px 13px; }
.voyage .queue-status { display: inline-flex; align-items: center; gap: 6px; padding: 3px 8px; border: 1px solid #9d825d; color: #67472f; background: #ead7b359; font-size: 12px; }
.voyage .management-row { border-bottom: 1px solid #b79c7173; padding: 18px 0 21px; }
.voyage .management-row:last-child { border-bottom: 0; padding-bottom: 0; }
.voyage .management-title { display: flex; align-items: center; justify-content: space-between; gap: 10px 18px; flex-wrap: wrap; margin-bottom: 11px; }
.voyage .management-title :is(h3,strong) { margin: 0; color: #6a3529; font-size: 18px; }
.voyage .policy-field { display: grid; grid-template-columns: minmax(100px,1fr) minmax(160px,1fr); gap: 10px 18px; align-items: center; font-size: 14px; }
.voyage :is(select,input:not([type='checkbox']),textarea), .voyage-dialog :is(select,input:not([type='checkbox']),textarea) { display: block; width: 100%; min-width: 0; min-height: 44px; padding: 9px 12px; border: 1px solid #a58658; border-radius: 2px; color: #3f3424; background: #fff5de; font-size: 16px; line-height: 1.5; }
.voyage :is(input,textarea)::placeholder, .voyage-dialog :is(input,textarea)::placeholder { color: #81705a; }
.voyage textarea, .voyage-dialog textarea { resize: vertical; min-height: 110px; }
.voyage .block-settings { margin-top: 14px; padding: 8px 14px; background: #cbb78633; border: 1px solid #b29a6b66; }
.voyage .block-settings > summary { min-height: 44px; display: list-item; align-content: center; padding: 8px 0; color: #68472f; font-size: 14px; cursor: pointer; }
.voyage .block-row { display: grid; grid-template-columns: minmax(100px,1fr) minmax(160px,1.1fr); gap: 9px 18px; align-items: center; padding: 12px 0; border-top: 1px solid #ac956e4d; }
.voyage .block-row > span, .voyage .block-row label { font-size: 14px; }
.voyage .effective-policy { display: block; grid-column: 1/-1; margin: 0; color: #6e5b3e; font-size: 12px; line-height: 1.7; }
.voyage .demo-tag, .voyage-dialog .demo-tag { display: inline-block; padding: 2px 7px; border: 1px solid #ac8858; background: #7c3b2d; color: #fff0d3; font-size: 11px; line-height: 1.7; }
.voyage .save-row { padding: 15px 0; border-bottom: 1px solid #b2925a4d; }
.voyage .save-row:last-child { border: 0; }
.voyage .save-row :is(h3,strong) { display: block; margin: 0 0 5px; font-size: 17px; }
.voyage .save-meta { display: flex; justify-content: space-between; gap: 6px 16px; flex-wrap: wrap; font-size: 12px; color: #d6c19a; }
.voyage .save-meta p { margin-bottom: 6px; }
.voyage .save-progress { display: block; width: 100%; height: 7px; margin: 13px 0; border: 1px solid #ab885166; background: #07180f; border-radius: 0; accent-color: #c6a467; overflow: hidden; }
.voyage .save-progress > span { display: block; height: 100%; background: #c6a467; }
.voyage .save-progress::-webkit-progress-bar { background: #07180f; }
.voyage .save-progress::-webkit-progress-value { background: #c6a467; }
.voyage .save-progress::-moz-progress-bar { background: #c6a467; }
.voyage p.save-progress { height: auto; margin: 0 0 7px; border: 0; background: transparent; color: #f3e4c1; overflow: visible; font-family: var(--voyage-title); font-size: 24px; line-height: 1.6; }
.voyage .empty-state { padding: 20px 0; color: #d7c49f; font-size: 14px; line-height: 1.85; }
.voyage .parchment .empty-state { color: #796248; }
.voyage .empty-state p:last-child { margin-bottom: 0; }
.voyage .activity-list { padding-left: 22px; margin: 0; color: #66513a; }
.voyage .activity-list li { padding: 8px 0 8px 5px; border-bottom: 1px solid #ae92674d; font-size: 13px; line-height: 1.85; }
.voyage .activity-list li:last-child { border: 0; }
.voyage .activity-list time { display: block; color: #816a4e; font-size: 11px; }
.voyage .voyage-footer { display: flex; justify-content: center; align-items: center; gap: 8px 26px; flex-wrap: wrap; margin-top: 38px; padding: 23px 12px 0; border-top: 3px double #a38a5766; color: #cbb58b; font-size: 13px; }
.voyage .voyage-footer a { min-height: 44px; display: inline-flex; align-items: center; color: #edd7aa; text-underline-offset: 5px; }
.voyage .voyage-footer p { width: 100%; margin: 0; text-align: center; font-size: 11px; }
.voyage-dialog { width: min(560px,calc(100% - 36px)); max-height: calc(100dvh - 40px); max-width: 100%; padding: 26px; border: 12px solid #a6824d; border-image: var(--voyage-frame) 130 / 12px stretch; border-radius: 0; box-shadow: 0 14px 70px #000a; overflow-y: auto; overscroll-behavior: contain; font-size: 15px; line-height: 1.8; }
.voyage-dialog::backdrop { background: #06150de6; }
.voyage-dialog--wide { width: min(760px,calc(100% - 36px)); }
.voyage-dialog h2 { margin: 4px 0 10px; color: #633526; font-family: var(--voyage-title); font-size: 31px; line-height: 1.5; }
.voyage-dialog h3 { color: #633526; font-family: var(--voyage-title); font-size: 23px; }
.voyage-dialog .dialog-top { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-bottom: 10px; }
.voyage-dialog .dialog-top > .eyebrow { margin: 0; }
.voyage-dialog .close-button { display: inline-flex; justify-content: center; align-items: center; min-width: 56px; min-height: 44px; padding: 6px 10px; border: 1px solid #a88c60; color: #6e4330; background: #f4e6c9; font-size: 13px; }
.voyage-dialog .close-button:hover { background: #e8d3aa; }
.voyage-dialog form { display: grid; gap: 16px; margin-top: 21px; }
.voyage-dialog form > label { display: grid; gap: 6px; color: #5b442e; font-size: 14px; }
.voyage-dialog form > .small-note { margin: -7px 0 0; }
.voyage-dialog form > .voyage-button { justify-self: start; margin-top: 3px; }
.voyage-dialog .form-error { color: #8f3229; font-size: 13px; margin: 0; }
.voyage-dialog .form-error:empty { display: none; }
.voyage-dialog .journey-scene { position: relative; isolation: isolate; display: grid; grid-template-columns: 65px minmax(0,1fr); gap: 16px; padding: 24px; margin: 21px 0; border: 10px solid #a58551; border-image: var(--voyage-frame) 130 / 10px stretch; color: #f1e3c4; background: linear-gradient(#102c1ddb,#123024eb),url('/images/preview/captains-chart.webp') center / cover; }
.voyage-dialog .journey-scene h3 { color: #f3dba5; margin-bottom: 7px; }
.voyage-dialog .journey-scene .eyebrow { color: #d6be8a; }
.voyage-dialog .journey-scene p:last-child { margin: 0; font-size: 14px; }
.voyage-dialog .journey-number { color: #c8a666; font-family: Georgia,serif; font-size: 45px; line-height: 1.2; font-variant-numeric: tabular-nums; }
.voyage-dialog .journey-track { grid-column: 1/-1; display: flex; gap: 8px; padding-top: 10px; }
.voyage-dialog .journey-track > * { flex: 1; height: 6px; background: #b99c5b40; }
.voyage-dialog .journey-track > .is-complete, .voyage-dialog .journey-track > .is-current, .voyage-dialog .journey-track > [aria-current] { background: #d2b377; }
.voyage-dialog .game-actions { display: flex; flex-wrap: wrap; gap: 10px 15px; }
.voyage-dialog .save-status { min-height: 27px; margin: 14px 0; color: #375537; font-size: 13px; }
.voyage-dialog .simulation-controls { border-top: 1px solid #ab8d5a77; padding-top: 9px; }
.voyage-dialog .simulation-controls summary { min-height: 44px; align-content: center; padding: 8px 0; font-size: 13px; cursor: pointer; }
.voyage-dialog .simulation-controls > .button-row { gap: 5px 17px; }
.voyage-dialog .check-label { display: flex; align-items: center; gap: 10px; min-height: 44px; color: #5b4630; font-size: 14px; cursor: pointer; }
.voyage-dialog .check-label input { width: 20px; height: 20px; accent-color: #783b2c; cursor: pointer; }
.voyage-dialog .save-conflict { margin-top: 17px; padding: 19px; border: 1px solid #a3744c; border-left: 4px solid #87412f; background: #dcbf8c4d; }
.voyage-dialog .save-conflict h3 { font-size: 22px; }
.voyage-dialog .detail-block { padding: 15px 0; border-bottom: 1px solid #ac91694d; }
.voyage-dialog .detail-block:last-child { border: 0; }
.voyage-dialog .detail-block :is(h2,h3,h4) { color: #633526; }
.voyage-dialog .detail-block > p:last-child { margin-bottom: 0; }
.voyage-dialog .detail-block :is(img,video) { display: block; max-width: 100%; height: auto; margin: 12px 0; }
.voyage-dialog .detail-block .demo-tag { margin-bottom: 10px; }
@media (max-width:1100px) {
  .voyage { width: calc(100% - 32px); }
  .voyage .arrival-layout { grid-template-columns: minmax(0,1.7fr) minmax(265px,1fr); gap: 20px; }
  .voyage .project-grid { gap: 18px; }
  .voyage .project-copy { padding: 16px; }
  .voyage .admin-layout { grid-template-columns: 170px minmax(0,1fr); gap: 18px; }
  .voyage .admin-panel { padding: 18px; }
  .voyage .admin-nav { padding-inline: 10px; }
}
@media (max-width:850px) {
  .voyage .demo-bar { position: relative; grid-template-columns: minmax(0,1fr) auto; gap: 10px 16px; padding: 12px; }
  .voyage .demo-caption { grid-column: 1/-1; }
  .voyage .demo-caption > span:last-child { width: auto; padding-left: 0; }
  .voyage .role-switch { width: fit-content; }
  .voyage .demo-reset { justify-self: end; }
  .voyage .voyage-hero { height: 230px; }
  .voyage .voyage-hero-copy { width: 78%; }
  .voyage .voyage-hero-copy > p:last-child { font-size: 14px; }
  .voyage .arrival-layout, .voyage .member-overview { grid-template-columns: minmax(0,1fr); }
  .voyage .arrival-letter { padding: 24px; }
  .voyage .featured-voyage { min-height: 330px; }
  .voyage .project-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .voyage .admin-layout { grid-template-columns: minmax(0,1fr); gap: 20px; }
  .voyage .admin-nav { position: static; display: flex; align-items: center; gap: 8px; padding: 8px; overflow-x: auto; scrollbar-color: #b69a67 #14291e; scrollbar-width: thin; }
  .voyage .admin-nav > .eyebrow, .voyage .admin-seal { display: none; }
  .voyage .admin-nav a { flex: 0 0 auto; min-height: 44px; padding: 8px 12px; margin: 0; border-bottom: 0; }
  .voyage .admin-panel { scroll-margin-top: 20px; }
}
@media (max-width:540px) {
  .voyage { width: calc(100% - 20px); margin-top: 12px; font-size: 15px; }
  .voyage .demo-bar { grid-template-columns: minmax(0,1fr) auto; margin-bottom: 14px; gap: 8px; padding: 10px; }
  .voyage .demo-caption { font-size: 13px; gap: 3px 8px; }
  .voyage .demo-caption > span:last-child { width: 100%; padding-left: 17px; font-size: 11px; }
  .voyage .role-switch { gap: 2px; padding: 3px; width: 100%; }
  .voyage .role-switch a { min-width: 0; flex: 1; min-height: 44px; padding: 7px 9px; font-size: 13px; }
  .voyage .demo-reset { font-size: 11px; padding-inline: 2px; }
  .voyage .voyage-hero { height: 215px; border-width: 10px; border-image-width: 10px; margin-bottom: 20px; }
  .voyage .voyage-hero > img { object-position: 52% center; }
  .voyage .voyage-hero::after { background: #08201370; }
  .voyage .voyage-hero-copy { width: 100%; padding: 12px 10px; }
  .voyage .voyage-hero h1 { font-size: 40px; letter-spacing: .08em; }
  .voyage .voyage-hero-copy .eyebrow { font-size: 10px; letter-spacing: .08em; }
  .voyage .voyage-hero-copy > p:last-child { font-size: 13px; letter-spacing: 0; }
  .voyage .arrival-layout { margin-bottom: 27px; gap: 20px; }
  .voyage .framed { border-width: 12px; border-image-width: 12px; }
  .voyage .parchment { border-width: 10px; border-image-width: 10px; padding: 19px; }
  .voyage .featured-voyage { min-height: 330px; }
  .voyage .featured-copy { padding: 23px 18px; }
  .voyage .featured-copy h2 { font-size: 34px; }
  .voyage .featured-copy p { font-size: 14px; }
  .voyage .featured-copy .button-row { gap: 11px; }
  .voyage .featured-copy .button-row > span { width: 100%; }
  .voyage .section-heading { align-items: end; gap: 6px 12px; }
  .voyage h2 { font-size: 28px; }
  .voyage .project-grid, .voyage[data-voyage-view='guest'] .project-grid { grid-template-columns: minmax(0,1fr); gap: 22px; }
  .voyage .project-art { aspect-ratio: 16/8; }
  .voyage .project-copy { padding: 18px; }
  .voyage .member-ribbon { gap: 17px 15px; padding: 18px; }
  .voyage .member-ribbon > div:first-child { flex: 1 1 100%; }
  .voyage .account-selector { flex: 1; min-width: 130px; }
  .voyage .status-stamp { font-size: 11px; padding: 4px 8px; }
  .voyage .continue-panel { padding: 19px; }
  .voyage .continue-heading { gap: 12px; }
  .voyage .continue-heading .cabin-icon { width: 43px; height: 43px; flex-basis: 43px; }
  .voyage .admin-panel { padding: 15px; }
  .voyage .admin-workspace { gap: 22px; }
  .voyage .queue-row { flex-wrap: wrap; align-items: start; gap: 10px; }
  .voyage .queue-main { flex: 1 1 100%; }
  .voyage .queue-actions { justify-content: start; max-width: 100%; width: 100%; }
  .voyage .policy-field, .voyage .block-row { grid-template-columns: minmax(0,1fr); gap: 7px; }
  .voyage .block-settings { padding-inline: 10px; }
  .voyage .management-title { gap: 7px; }
  .voyage .ink-stamp { font-size: 13px !important; }
  .voyage .voyage-footer { gap: 4px 17px; margin-top: 30px; padding-inline: 6px; font-size: 12px; }
  .voyage-dialog, .voyage-dialog--wide { width: calc(100% - 20px); max-height: calc(100dvh - 20px); border-width: 8px; border-image-width: 8px; padding: 18px; }
  .voyage-dialog h2 { font-size: 27px; }
  .voyage-dialog .dialog-top { gap: 9px; }
  .voyage-dialog .journey-scene { grid-template-columns: 40px minmax(0,1fr); gap: 12px; padding: 16px; border-width: 7px; border-image-width: 7px; }
  .voyage-dialog .journey-number { font-size: 34px; }
  .voyage-dialog .journey-scene h3 { font-size: 21px; }
  .voyage-dialog .game-actions { gap: 10px; }
  .voyage-dialog .game-actions .voyage-button { flex: 1; padding-inline: 12px; font-size: 14px; }
  .voyage-dialog .save-conflict { padding: 14px; }
  .voyage-dialog .save-conflict .voyage-button { width: 100%; }
}
@media (prefers-reduced-motion:reduce) {
  .voyage *, .voyage-dialog * { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
