/* WAYFARER 1.0 — NOVA presentation layer. No build process required. */
:root {
  --wayfarer-red: #16246c;
  --wayfarer-patch-gold: #182774;
  --wayfarer-white: #fff;
  --wayfarer-gutter: clamp(8px, 2.5vw, 48px);
  --wayfarer-black: #000;
  --wayfarer-panel: #0c0d13;
  --wayfarer-line: #2e3a75;
  --wayfarer-text: #edf2f2;
  --wayfarer-muted: #bcb6b7;
  --wayfarer-gold: #8a98e0;
}
html { min-height:100%; background:#040304; }
body.wayfarer { margin:0; min-height:100vh; height:auto; background:radial-gradient(ellipse at top,#16246c44,transparent 65%),url('../images/stars.svg') center top / 1000px auto repeat,#040304; color:var(--wayfarer-text); font-family:'Segoe UI',Arial,sans-serif; line-height:1.7; }
.wayfarer *, .wayfarer *::before, .wayfarer *::after { box-sizing:border-box; }
.wayfarer a { color:var(--wayfarer-gold); text-underline-offset:4px; border-bottom-color:#18277455; }
.wayfarer a:hover { color:#f4f9f9; border-bottom-color:#e6e2e1; }
.wayfarer :focus-visible { outline:2px solid #a1ace6; outline-offset:3px; }
.wayfarer .wayfarer-skip { position:fixed; top:-100px; left:20px; z-index:200; padding:10px 18px; background:#a1ace6; color:#0c0d13; border-radius:5px; }
.wayfarer .wayfarer-skip:focus { top:12px; }
.wayfarer .wayfarer-site { position:relative; --wayfarer-frame-radius:16px; width:calc(100% - var(--wayfarer-gutter)*2); max-width:none; margin:clamp(12px,2vw,32px) auto; min-height:0; border:2px solid #182774; border-radius:var(--wayfarer-frame-radius); background:#000; box-shadow:0 20px 70px #0009; }
/* Inner frame sits above the banner so both colours remain visible. */
.wayfarer .wayfarer-site::after { content:""; position:absolute; inset:0; border:2px solid var(--wayfarer-red); border-radius:calc(var(--wayfarer-frame-radius) - 2px); pointer-events:none; z-index:40; }
.wayfarer .wayfarer-site > header { overflow:visible; position:relative; padding:0; margin:0; border:0; isolation:isolate; border-radius:inherit; background:#000; z-index:20; }
.wayfarer header .inner { overflow:visible; position:relative; max-width:none; margin:0; padding:0; border-radius:16px 16px 0 0; background:#000; isolation:isolate; }
.wayfarer header .background { position:absolute; top:0; left:auto; right:0; width:100%; height:calc((100vw - var(--wayfarer-gutter)*2 - 8px)/4.5); max-width:none; object-fit:cover; object-position:right center; padding:0; mask-image:none; transform:none; z-index:-2; opacity:1; border-radius:16px 16px 0 0; }
.wayfarer header .inner::before { display:none; }
.wayfarer header .gradient { position:absolute; inset:0; width:100%; height:calc((100vw - var(--wayfarer-gutter)*2 - 8px)/4.5); z-index:-1; border-radius:inherit; background:linear-gradient(0deg,#000 0%,#000000e6 5%,#00000080 12%,transparent 24%),linear-gradient(90deg,#000000a0 0%,#00000040 26%,transparent 45%); }
.wayfarer header .top { position:relative; display:flex; align-items:center; flex-wrap:wrap; gap:24px; min-height:max(200px,calc((100vw - var(--wayfarer-gutter)*2 - 8px)/4.5)); padding:60px clamp(24px,4.5vw,88px) 30px; }
.wayfarer header .top > .wayfarer-eyebrow { position:absolute; top:26px; left:clamp(24px,4.5vw,88px); max-width:65%; }
.wayfarer .wayfarer-brand { display:flex; align-items:center; gap:22px; flex:1; min-width:0; max-width:42%; margin-top:15px; }
.wayfarer .wayfarer-name { min-width:0; overflow-wrap:anywhere; }
.wayfarer .wayfarer-name h1 { margin:0; color:#ffffff; font-family:'Segoe UI',Arial,sans-serif; font-size:clamp(30px,4.2vw,76px); font-weight:300; line-height:1.15; letter-spacing:.075em; text-transform:uppercase; text-shadow:0 0 20px #1827746b,0 3px 10px #000; }
.wayfarer .wayfarer-eyebrow { color:#dcd8d7; font-size:11px; font-weight:600; letter-spacing:.15em; overflow-wrap:anywhere; }
.wayfarer .wayfarer-subtitle { display:block; margin-top:14px; color:#d4d0cf; font-size:13px; letter-spacing:.08em; overflow-wrap:anywhere; }
.wayfarer header .logo img { width:auto; max-width:180px; height:80px; object-fit:contain; }
.wayfarer header .signin-container { position:absolute; top:24px; right:26px; margin:0; padding:0; }
.wayfarer header .logged-in-controls { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
.wayfarer header .logged-in-controls > span { margin:0; }
.wayfarer header .logged-in-controls a { display:inline-flex; align-items:center; gap:7px; min-height:40px; padding:6px 10px; border:0; border-radius:6px; color:#ebf0f0; font-size:12px; background:#05050866; }
.wayfarer header .logged-in-controls a:hover { background:#232b5599; }
.wayfarer header img.icon { width:20px; height:20px; filter:brightness(1.2); }
.wayfarer header .bottom { position:relative; width:max-content; max-width:calc(100% - 48px); margin:0 auto; padding:0 10px; background:rgba(7,10,26,.64); border:1px solid #182774; border-radius:10px; backdrop-filter:blur(12px); }
.wayfarer header .bottom .container { max-width:none; display:block; }
.wayfarer header .bottom .left { display:block; }
.wayfarer .nav-main > ul { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:3px; padding:6px 0; margin:0; list-style:none; }
.wayfarer .nav-main > ul > li { margin:0; padding:0; min-width:0; }
.wayfarer .nav-main ul > li { margin-left:0; margin-right:0; }
.wayfarer .wayfarer-submenu { min-width:0; }
.wayfarer .nav-main > ul > li > a, .wayfarer .wayfarer-nav-group > a { display:flex; align-items:center; min-height:42px; padding:11px 16px; color:#e7e3e2; background:transparent; border:0; border-radius:6px; font-size:13px; line-height:1.4; font-weight:500; }
.wayfarer .nav-main > ul > li > a:hover, .wayfarer .wayfarer-nav-group > a:hover { background:#0b1339aa; color:#fff; }
.wayfarer .nav-main a.active { border-radius:6px; color:#fbfefe; background:linear-gradient(#121d56bb,#090f2cbb); box-shadow:inset 0 0 0 1px #4354aa; }
.wayfarer-nav-toggle { display:none; }
.wayfarer-nav-group { position:relative; display:flex; align-items:center; border-radius:6px; }
.wayfarer .wayfarer-nav-group > a { padding-right:6px; }
.wayfarer-submenu-toggle { display:flex; align-items:center; justify-content:center; flex:0 0 30px; width:30px; min-height:42px; color:#e9eeee; background:transparent; border:0; border-radius:0 6px 6px 0; font-size:17px; line-height:1; cursor:pointer; }
.wayfarer-submenu-toggle:hover, .wayfarer-nav-group.is-open { background:#0c1235bb; }
.wayfarer-submenu { position:absolute; z-index:30; top:calc(100% + 8px); left:50%; transform:translateX(calc(-50% + var(--dropdown-shift,0px))); width:max-content; max-width:calc(100vw - var(--wayfarer-gutter)*2 - 24px); padding:6px; border:1px solid #4354aa; border-radius:8px; background:rgba(7,10,26,.78); box-shadow:0 12px 30px #000b; backdrop-filter:blur(14px); display:none; }
.wayfarer-submenu::before { content:''; position:absolute; top:-10px; left:0; width:100%; height:10px; }
.wayfarer .wayfarer-submenu > ul { display:flex; align-items:center; flex-wrap:nowrap; gap:3px; max-width:100%; overflow-x:auto; margin:0; padding:0; list-style:none; scrollbar-width:thin; scrollbar-color:#34407e #080a11; }
.wayfarer .wayfarer-submenu li { margin:0; padding:0; flex:0 0 auto; }
.wayfarer .wayfarer-submenu li.spacer { display:none; }
.wayfarer .wayfarer-submenu a { display:block; min-height:40px; padding:10px 15px; white-space:nowrap; border:0; border-radius:5px; color:#eaefef; font-size:13px; line-height:1.5; background:transparent; }
.wayfarer .wayfarer-submenu a:hover, .wayfarer .wayfarer-submenu a.active { color:#fff; background:linear-gradient(#16246ccc,#0c143bcc); box-shadow:inset 0 0 0 1px #989493; }
.wayfarer .wayfarer-site:not(.wayfarer-enhanced) .wayfarer-nav-group:hover > .wayfarer-submenu,
.wayfarer .wayfarer-site:not(.wayfarer-enhanced) .wayfarer-nav-group:focus-within > .wayfarer-submenu,
.wayfarer .wayfarer-nav-group.is-open > .wayfarer-submenu { display:block; }
.wayfarer .wayfarer-site:not(.wayfarer-enhanced) .wayfarer-submenu-toggle { display:none; }
.wayfarer main { margin:0; padding:0; position:relative; z-index:1; background:#000; }
.wayfarer main .wrapper { max-width:none; margin:0; padding:0; }
.wayfarer main .body { display:grid; grid-template-columns:minmax(0,1fr); gap:0; align-items:stretch; }
.wayfarer main .body > .content { grid-column:auto; min-width:0; width:100%; max-width:none; }
.wayfarer main .content-card { width:100%; max-width:none; min-height:260px; padding:64px clamp(24px,4.5vw,88px) 38px; background:transparent; border:0; border-radius:0; box-shadow:none; overflow-wrap:anywhere; }
.wayfarer-admin main .body { grid-template-columns:minmax(0,1fr) clamp(220px,17vw,280px); }
.wayfarer .nav-sub { min-width:0; background:rgba(7,10,26,.74); backdrop-filter:blur(10px); border-left:1px solid #1d2548; border-top:1px solid #2e3a75; padding:30px 18px; }
.wayfarer-nav-heading { color:#cecac9; display:flex; justify-content:space-between; padding:0 12px 16px; font-size:10px; letter-spacing:.14em; text-transform:uppercase; }
.wayfarer .nav-sub ul { list-style:none; padding:0; margin:0; }
.wayfarer .nav-sub ul li a { display:block; min-height:42px; padding:10px 12px; color:#e1dddc; border:0; border-radius:5px; font-size:13px; line-height:1.5; }
.wayfarer .nav-sub ul li a:hover, .wayfarer .nav-sub ul li a.active { background:#1a203f; color:white; }
.wayfarer .nav-sub .menu_category { color:#bcb8b7; font-size:11px; padding:20px 12px 5px; }
.wayfarer-subnav-fallback { padding:12px clamp(24px,4.5vw,88px) 0; }
.wayfarer-subnav-fallback ul { display:flex; flex-wrap:wrap; gap:8px; list-style:none; margin:0; padding:0; }
.wayfarer-subnav-fallback a { display:block; padding:7px 12px; border:1px solid #262f5d; border-radius:5px; }
.wayfarer h1,.wayfarer h2,.wayfarer h3,.wayfarer h4 { color:#ffffff; line-height:1.3; letter-spacing:-.015em; }
.wayfarer .content-card h1,.wayfarer .content-card h2 { font-size:clamp(26px,2.6vw,38px); font-weight:650; margin:0 0 18px; }
.wayfarer .content-card h3 { font-size:24px; margin:22px 0 14px; }
.wayfarer .content-card h4 { font-size:18px; margin:14px 0 10px; }
.wayfarer :is(.content-card,.card) .page-head { color:var(--wayfarer-white); }
.wayfarer .page-subhead { color:var(--wayfarer-muted); }
.wayfarer p { font-size:15px; line-height:1.8; margin:0 0 22px; }
.wayfarer .gray { color:#c6c2c1; }
.wayfarer hr { border-color:#242d59; margin:24px 0; }
.wayfarer blockquote { padding:14px 20px; margin:22px 0; border-left:3px solid #b3afae; background:#060919; }
.wayfarer pre { white-space:pre-wrap; overflow-wrap:anywhere; }
.wayfarer :where(.content-card,.card) :where(img,svg,video,canvas,iframe,embed,object) { display:inline-block; vertical-align:middle; max-width:100%; }
.wayfarer .content-card img { max-width:100%; height:auto; }
.wayfarer :where(.content-card,.card) center { display:block; text-align:center; }
.wayfarer :where(.content-card,.card) :where(p,div,h1,h2,h3,h4,h5,h6,td,th,table)[align='center' i] { text-align:center; }
.wayfarer :where(.content-card,.card) :where(p,div,h1,h2,h3,h4,h5,h6,td,th,table)[align='left' i] { text-align:left; }
.wayfarer :where(.content-card,.card) :where(p,div,h1,h2,h3,h4,h5,h6,td,th,table)[align='right' i] { text-align:right; }
.wayfarer :where(.content-card,.card) :where(p,div,h1,h2,h3,h4,h5,h6,td,th)[align='justify' i] { text-align:justify; }
.wayfarer :where(.content-card,.card) center table,.wayfarer :where(.content-card,.card) table[align='center' i] { margin-left:auto; margin-right:auto; }
.wayfarer input:not([type]),.wayfarer input[type=text],.wayfarer input[type=password],.wayfarer input[type=email],.wayfarer input[type=number],.wayfarer input[type=search],.wayfarer input[type=url],.wayfarer input[type=tel],.wayfarer input[type=date],.wayfarer input[type=datetime-local],.wayfarer input[type=month],.wayfarer input[type=time],.wayfarer input[type=week],.wayfarer textarea,.wayfarer select { background:#090a10; border:1px solid #343f78; color:#f3f8f8; border-radius:6px; padding:10px 12px; max-width:100%; font:inherit; font-size:14px; box-shadow:none; }
.wayfarer textarea { width:100%; min-height:180px; }
.wayfarer input::placeholder,.wayfarer textarea::placeholder { color:#b3afae; }
.wayfarer input:focus,.wayfarer textarea:focus,.wayfarer select:focus { background:#0d0f1a; border-color:#a1ace6; color:#f3f8f8; box-shadow:0 0 0 2px #1827742b; }
.wayfarer input[type=checkbox],.wayfarer input[type=radio] { accent-color:#1c2d85; }
.wayfarer .button-main { display:inline-block; background:linear-gradient(#16246c,#0d153d); border:1px solid #4a5db9; color:white; border-radius:6px; padding:10px 22px; font-size:13px; line-height:1.5; font-weight:650; }
.wayfarer .button-main:hover { background:#1c2d86; color:white; }
.wayfarer .button-sec,.wayfarer .button-small { display:inline-block; background:#050815; border:1px solid #34407f; color:#e4e9e9; border-radius:6px; font-size:13px; }
.wayfarer .button-sec:hover,.wayfarer .button-small:hover { background:#1c2244; color:white; }
.wayfarer .flash_message { border:1px solid currentColor; border-radius:6px; margin:0 0 24px; }
.wayfarer .flash_message p { padding:12px 16px; margin:0; }
.wayfarer .flash-info { background:#080d24; color:#b6bfec; border-color:#182774; }
.wayfarer .flash-success { background:#111733; color:#c2ecd7; border-color:#50856c; }
.wayfarer .flash-error { background:#161c38; color:#dbf5f3; border-color:#505c9a; }
.wayfarer .wayfarer-table-scroll { max-width:100%; overflow-x:auto; margin-bottom:16px; scrollbar-color:#182774 #090a10; }
/* Center the manifest heading, selector, legend and filter controls together. */
.wayfarer .content-card:has(#manifest) > .page-head { text-align:center; }
.wayfarer #manifest { width:100%; max-width:1100px; margin-left:auto; margin-right:auto; text-align:center; }
.wayfarer #manifest table { margin-left:auto; margin-right:auto; }
/* Center the roster as a block; crew names and details retain left alignment. */
.wayfarer #manifest .wayfarer-manifest-scroll { width:100%; max-width:1100px; margin-left:auto; margin-right:auto; }
.wayfarer #manifest .wayfarer-manifest-table { width:100%; min-width:850px; text-align:left; }
/* Support the mod's unclassified table and ordinary NOVA tables without JS. */
.wayfarer #manifest table.manifest_table,
.wayfarer #manifest table:has(img.charimg) { max-width:1100px; margin-left:auto; margin-right:auto; text-align:left; }
/* The mod uses col_15 for portraits. Reserve 80px plus cell padding. */
.wayfarer #manifest td:has(img.charimg) { width:96px; min-width:96px; }
.wayfarer #manifest img.charimg { display:inline-block; width:80px; height:80px; min-width:80px; max-width:80px; object-fit:cover; vertical-align:middle; }
/*
|---------------------------------------------------------------
| CHARACTER BIO
|---------------------------------------------------------------
*/

.wayfarer .character-rank-display {
	display: inline-flex;
	flex-direction: column;
	align-items: flex-start;
	vertical-align: middle;
	margin-left: 4px;
}

.wayfarer img.character-rank-image {
	display: block;
	max-width: 140px;
	height: auto;
	margin: 4px 0 2px 0;
}

.wayfarer .character-rank-name {
	display: block;
}

.wayfarer .character-awards-box {
	margin: 0 0 18px 0;
	padding: 0;
}

.wayfarer .character-awards-rack {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px;
}

.wayfarer .character-award-item {
	display: inline-block;
	line-height: 0;
	margin: 0;
	padding: 0;
}

.wayfarer img.character-award-ribbon {
	display: block;
	max-width: 50px;
	height: auto;
	margin: 0;
	padding: 0;
}

/*
|---------------------------------------------------------------
| RELATED CHARACTERS
|---------------------------------------------------------------
*/

.wayfarer .character-related-image {
	margin: 0 auto 4px auto;
	text-align: center;
	width: 55px;
	height: 70px;
	overflow: hidden;
}

.wayfarer .character-related-image img {
	display: block !important;
	width: 55px !important;
	height: 70px !important;
	max-width: 55px !important;
	max-height: 70px !important;
	margin: 0 auto !important;
	padding: 0 !important;
	object-fit: cover;
	border: 1px solid #333;
}

.wayfarer .character-related-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 10px 4px;
	width: 100%;
}


/* Character biography: center the whole layout, retain normal left text. */
.wayfarer-main .content-card > .row:has(> .span4):has(> .span12) {
  display:grid; grid-template-columns:minmax(200px,250px) minmax(0,1fr); gap:32px;
  width:100%; max-width:1100px; margin:0 auto; text-align:left;
}
.wayfarer-main .content-card > .row:has(> .span4):has(> .span12)::before,
.wayfarer-main .content-card > .row:has(> .span4):has(> .span12)::after { display:none; }
.wayfarer-main .content-card > .row:has(> .span4):has(> .span12) > :is(.span4,.span12) {
  float:none; width:auto; min-width:0; margin:0; text-align:left;
}
.wayfarer-main .content-card > .row:has(> .span4):has(> .span12) .gallery { margin:0 0 18px; padding:0; list-style:none; }
.wayfarer-main .content-card > .row:has(> .span4):has(> .span12) .gallery img { max-width:min(100%,200px); }
.wayfarer .character-related-item { min-width:0; text-align:center; overflow-wrap:anywhere; }
.wayfarer .character-related-link a { display:block; text-decoration:none; }
.wayfarer .character-related-rank { color:var(--wayfarer-muted); font-size:75%; line-height:1.15; }
.wayfarer .character-related-name { font-size:85%; font-weight:bold; line-height:1.15; margin-top:2px; }
@media(max-width:760px) {
  .wayfarer-main .content-card > .row:has(> .span4):has(> .span12) { grid-template-columns:minmax(0,1fr); gap:26px; }
  .wayfarer .character-related-grid { max-width:300px; }
}

.wayfarer table { max-width:100%; border-collapse:collapse; font-size:14px; }
.wayfarer td { padding:10px 8px; }
.wayfarer th { padding:12px 8px; border-bottom:1px solid #242d59; color:#d8d4d3; font-size:11px; letter-spacing:.05em; }
.wayfarer tr.alt td,.wayfarer tr.light_gray,.wayfarer .alt { background:#0e0f15; }
.wayfarer table.acp { border-color:#242d59; }
.wayfarer .post_info,.wayfarer #news_blocks p,.wayfarer #comments p,.wayfarer .info-full,.wayfarer #notes { padding:12px 16px; background:#040610; border:1px solid #232b54; border-radius:6px; }
.wayfarer #acp-panel,.wayfarer #online { background:#040714; border-color:#2e3a75; }
.wayfarer #acp-panel .panel { background:#070a1a; border-color:#2e3a75; min-width:0; }
.wayfarer #panelmenu li a { color:#e1dddc; }
.wayfarer #panelmenu li a.active,.wayfarer #panelmenu li a:hover { background:#1c2244; color:white; border-color:#3d4b93; }
.wayfarer .ui-widget { font-family:inherit; font-size:14px; }
.wayfarer .ui-widget-content { color:#edf2f2; background:#0e0f15; border-color:#2a3465; }
.wayfarer .ui-widget-header { color:#edf2f2; background:#0c0d13; border-color:#2a3465; }
.wayfarer .ui-state-default { background:#0c0f1c; border-color:#2a3465; }
.wayfarer .ui-state-default a,.wayfarer .ui-state-default a:link { color:#e1dddc; }
.wayfarer .ui-state-active { background:#121d56; border-color:#576aca; }
.wayfarer .ui-state-active a,.wayfarer .ui-state-active a:link { color:#fff; }
.wayfarer .ui-tabs-nav { display:flex; flex-wrap:wrap; }
/* NOVA's classic selected class and newer jQuery UI active class both apply. */
.wayfarer .ui-tabs .ui-tabs-nav { background:#0c0d13; border-color:#2e3a75; }
.wayfarer .ui-tabs .ui-tabs-nav li { background:#0c0f1c; border-color:#2e3a75; }
.wayfarer .ui-tabs .ui-tabs-nav li a { color:#e5eaea; background:transparent; }
.wayfarer .ui-tabs .ui-tabs-nav li a:hover { color:#fbfefe; background:#161c38; border-color:#969291; }
.wayfarer .ui-tabs .ui-tabs-nav li.ui-tabs-selected,
.wayfarer .ui-tabs .ui-tabs-nav li.ui-state-active { background:#121d56; }
.wayfarer .ui-tabs .ui-tabs-nav li.ui-tabs-selected a,
.wayfarer .ui-tabs .ui-tabs-nav li.ui-state-active a { color:#fbfefe; background:#121d56; border-color:#182774; }
.wayfarer .subtabs .ui-tabs-nav { background:transparent; }
.wayfarer .subtabs .ui-tabs-nav li.ui-tabs-selected a,
.wayfarer .subtabs .ui-tabs-nav li.ui-state-active a { color:#fbfefe; background:#121d56; }

.wayfarer .chosen-container,.wayfarer .chzn-container { max-width:100%; }
.wayfarer .chosen-container .chosen-drop,.wayfarer .chzn-container .chzn-drop,.wayfarer .chosen-container .chosen-single,.wayfarer .chzn-container .chzn-single { background:#090d22; color:#edf2f2; border-color:#313c75; }
.wayfarer .chosen-results li.highlighted,.wayfarer .chzn-results li.highlighted { background:#303c77; color:white; }
.wayfarer .page-supplemental,.wayfarer #category-panel,.wayfarer .category-panel-header { background:#080b1e; border-color:#2a3465; }
.wayfarer .subnav-options-list { background:#181e3a; }
.wayfarer .subnav-options-list ul li a { color:#e4e0df!important; }
.wayfarer .subnav-options-list ul li a:hover { background:#27305e; }
.wayfarer #category-panel { width:100%; }
.wayfarer .page-main,.wayfarer .wiki-subnav,.wayfarer .subnav-content ul { flex-wrap:wrap; gap:12px; }
.wayfarer .bio_main_image { margin:0 0 20px 24px; }
.wayfarer footer { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 22px; margin:0 clamp(24px,3vw,60px); padding:16px 0; border-top:1px solid #20284e; background:#000; color:#cdc9c8; font-size:11px; line-height:1.7; border-radius:0 0 16px 16px; }
.wayfarer footer > span { margin:0; }
.wayfarer footer a { color:#d7d3d2; border:0; }
.wayfarer .wayfarer-credit { color:#e8e4e3; font-weight:500; }
.wayfarer .wayfarer-art-credit { flex-basis:100%; font-size:9px; color:#aeaaa9; }
.wayfarer .panel-wrapper { position:fixed; inset:0; z-index:100; }
.wayfarer .panel-wrapper.hidden,.wayfarer .panel-wrapper[aria-hidden='true'] { display:none!important; }
.wayfarer .panel-overlay { position:fixed; inset:0; background:#000b; backdrop-filter:blur(6px); }
.wayfarer #panel { position:fixed; inset:0; z-index:101; padding:50px 16px; overflow-y:auto; }
.wayfarer #panel .panel-body { position:relative; max-width:680px; margin:auto; padding:24px; border:1px solid #374485; border-radius:12px; background:#080a11; box-shadow:0 20px 80px #000b; }
.wayfarer #wayfarer-panel-title { margin:0 0 22px; padding-right:44px; font-size:24px; }
.wayfarer .panel-close { position:absolute; top:14px; right:14px; width:40px; height:40px; padding:8px; border-radius:6px; background:#1b2142; color:#e9eeee; }
.wayfarer .panel-close > svg { color:#e9eeee; }
.wayfarer .panel-body h4 { color:#d1cdcc; padding:8px 12px; }
.wayfarer .panel-body > ul > li > ul > li > a { color:#e4e0df; }
.wayfarer .panel-body > ul > li > ul > li > a:hover { color:white; background:#1b2142; }
body.wayfarer.wayfarer-panel-open { overflow:hidden; }
.wayfarer-login > header { position:fixed; inset:0; padding:0; pointer-events:none; isolation:isolate; }
.wayfarer-login header .background { mask-image:none; width:100%; height:100%; object-fit:cover; opacity:.4; }
.wayfarer-login header .gradient { height:100%; background:radial-gradient(ellipse at center,#0006,#000c 80%); }
.wayfarer-login > .wrapper { position:relative; z-index:1; min-height:100vh; width:calc(100% - var(--wayfarer-gutter)*2); max-width:550px; padding:54px 0; margin:0 auto; }
.wayfarer-login .head { max-width:none; text-align:center; }
.wayfarer-login .head .title { font-size:28px; color:#ffffff; margin:18px 0; }
.wayfarer-login .head .logo img { height:85px; max-width:200px; }
.wayfarer-login .body { width:100%; max-width:none; margin-top:20px; border:2px solid var(--wayfarer-patch-gold); border-radius:12px; background:#080a11f2; box-shadow:inset 0 0 0 2px var(--wayfarer-red),0 20px 80px #0008; }
.wayfarer-login .card { padding:34px; border-radius:12px; background:transparent; }
.wayfarer-login .card h1 { font-size:26px; }
.wayfarer-login input[type=text],.wayfarer-login input[type=email],.wayfarer-login input[type=password] { width:100%; }
.wayfarer-login .controls { flex-wrap:wrap; gap:18px; }
.wayfarer-login .wayfarer-login-credit { margin:22px 0 0; padding:0 12px; justify-content:center; text-align:center; background:transparent; border:0; }
@media(max-width:1050px) {
  .wayfarer .nav-main > ul > li > a,.wayfarer .wayfarer-nav-group > a { padding-left:10px; padding-right:8px; font-size:12px; }
  .wayfarer header .top { min-height:max(186.667px,calc((100vw - var(--wayfarer-gutter)*2 - 8px)/4.5)); }
  .wayfarer header .background { width:100%; }
}
@media(max-width:760px) {
  .wayfarer .wayfarer-site { --wayfarer-frame-radius:12px; }
  .wayfarer header .inner { border-radius:12px 12px 0 0; background:#000; }
  .wayfarer header .top { display:block; min-height:0; padding:calc((100vw - var(--wayfarer-gutter)*2 - 8px)/3 + 76px) 20px 24px; }
  .wayfarer header .inner::before { display:none; }
  .wayfarer header .background { top:54px; width:100%; height:calc((100vw - var(--wayfarer-gutter)*2 - 8px)/3); mask-image:none; object-fit:cover; object-position:right center; padding:0; clip-path:none; border-radius:12px 12px 0 0; }
  .wayfarer header .gradient { top:54px; bottom:auto; height:calc((100vw - var(--wayfarer-gutter)*2 - 8px)/3); background:linear-gradient(0deg,#000 0%,#000000b0 7%,transparent 22%),linear-gradient(90deg,#00000020,transparent 25%); }
  .wayfarer .wayfarer-brand { margin-top:0; gap:12px; max-width:none; }
  .wayfarer .wayfarer-name h1 { font-size:clamp(27px,7vw,42px); letter-spacing:.045em; }
  .wayfarer header .logo img { height:54px; max-width:100px; }
  .wayfarer header .top > .wayfarer-eyebrow { top:calc((100vw - var(--wayfarer-gutter)*2 - 8px)/3 + 54px); left:20px; max-width:100%; font-size:9px; }
  .wayfarer header .signin-container { top:14px; right:10px; }
  .wayfarer header .logged-in-controls { gap:1px; }
  .wayfarer header .logged-in-controls a { padding:6px; font-size:11px; }
  .wayfarer header .bottom { width:calc(100% - 28px); max-width:calc(100% - 28px); margin:0 auto; padding:0 8px; }
  .wayfarer .wayfarer-enhanced .nav-main { display:none; }
  .wayfarer .wayfarer-enhanced .nav-main.is-open { display:block; }
  .wayfarer .wayfarer-enhanced .wayfarer-nav-toggle { display:flex; align-items:center; justify-content:space-between; width:100%; min-height:48px; padding:12px 8px; color:#e7e3e2; border:0; background:transparent; font-size:13px; }
  .wayfarer .nav-main > ul { flex-direction:column; align-items:stretch; padding:8px 0; gap:4px; }
  .wayfarer .nav-main > ul > li { width:100%; max-width:100%; align-self:stretch; }
  .wayfarer .nav-main > ul > li > a { padding:11px 12px; min-height:44px; }
  .wayfarer .wayfarer-nav-group { flex-wrap:wrap; width:100%; }
  .wayfarer .wayfarer-nav-group > a { min-width:0; flex:1; padding:11px 12px; min-height:44px; }
  .wayfarer-submenu-toggle { width:44px; flex-basis:44px; min-height:44px; }
  .wayfarer .wayfarer-submenu { position:static; transform:none; min-width:0; width:100%; max-width:100%; margin:5px 0; padding:5px; flex-basis:100%; backdrop-filter:none; box-shadow:none; }
  .wayfarer .wayfarer-submenu::before { display:none; }
  .wayfarer .wayfarer-submenu > ul { width:100%; overflow-x:auto; }
  .wayfarer .wayfarer-site:not(.wayfarer-enhanced) .wayfarer-submenu { display:block; }
  .wayfarer .wayfarer-submenu a { min-height:44px; padding:11px 12px; }
  .wayfarer main .content-card { min-height:0; padding:32px 22px; }
  .wayfarer-admin main .body { grid-template-columns:minmax(0,1fr); }
  .wayfarer-admin .nav-sub { grid-row:1; border-left:0; border-bottom:1px solid #1d2548; padding:20px 16px; }
  .wayfarer-admin .nav-sub ul { display:flex; flex-wrap:wrap; gap:4px; }
  .wayfarer-admin .nav-sub .menu_category { width:100%; padding:12px 8px 4px; }
  .wayfarer-admin .nav-sub .spacer { display:none; }
  .wayfarer-admin .wayfarer-admin-collapsible > .wayfarer-nav-heading { display:none; }
  .wayfarer-admin-disclosures { display:grid; gap:10px; }
  .wayfarer-admin-disclosure { min-width:0; border:1px solid var(--wayfarer-line); border-radius:8px; background:rgba(7,10,26,.78); }
  .wayfarer-admin-disclosure summary { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:48px; padding:12px 14px; color:var(--wayfarer-white); cursor:pointer; list-style:none; overflow-wrap:anywhere; }
  .wayfarer-admin-disclosure summary::-webkit-details-marker { display:none; }
  .wayfarer-admin-disclosure summary::after { content:"+"; flex:none; color:var(--wayfarer-gold); font-size:20px; }
  .wayfarer-admin-disclosure[open] summary::after { content:"−"; }
  .wayfarer-admin-disclosure[open] summary { border-bottom:1px solid var(--wayfarer-line); }
  .wayfarer-admin .nav-sub .wayfarer-admin-disclosure > ul { display:block; margin:0; padding:6px; }
  .wayfarer-admin .nav-sub .wayfarer-admin-disclosure > ul > li { display:block; width:100%; margin:0; }

  .wayfarer .content-card h1,.wayfarer .content-card h2 { font-size:27px; }
  .wayfarer input[type=text],.wayfarer input[type=password],.wayfarer input[type=email],.wayfarer textarea,.wayfarer select { font-size:16px; }
  .wayfarer #acp-panel { flex-direction:column; }
  .wayfarer #acp-panel .panelnav { width:100%; }
  .wayfarer #acp-panel .panel { border-left:0; border-top:1px solid #2e3a75; }
  .wayfarer #panelmenu { display:flex; flex-wrap:wrap; }
  .wayfarer .bio_main_image { float:none; margin:0 auto 22px; }
  .wayfarer footer { margin:0 22px; justify-content:flex-start; padding:18px 0; }
  .wayfarer-login .card { padding:26px 22px; }
}
/* Restore Login's full viewport backdrop after narrow header overrides. */
.wayfarer-login header .background,.wayfarer-login header .gradient { top:0; width:100%; height:100%; clip-path:none; }
@media(prefers-reduced-motion:reduce) { .wayfarer * { transition:none!important; scroll-behavior:auto!important; } }
@media print {
  
  body.wayfarer { background:white; color:black; }
  .wayfarer .wayfarer-site { width:100%; margin:0; border:0; box-shadow:none; }
  .wayfarer header,.wayfarer footer,.wayfarer .nav-sub,.wayfarer .panel-wrapper,.wayfarer-subnav-fallback { display:none!important; }
  .wayfarer main .body { display:block; }
  .wayfarer main .content-card { padding:0; color:black; }
  .wayfarer h1,.wayfarer h2,.wayfarer h3,.wayfarer h4,.wayfarer a { color:black; }
}

/* Portrait personnel layout; desktop presentation remains unchanged. */
@media(max-width:760px) {
 .wayfarer .content-card:has(#manifest), .wayfarer .content-card:has(.gallery):has(#tabs) { padding-left:16px; padding-right:16px; }
 .wayfarer #manifest table { width:100%; min-width:0; max-width:100%; }
 .wayfarer #manifest .wayfarer-manifest-scroll { overflow:visible; }
 .wayfarer #manifest :is(.wayfarer-manifest-table,table:has(tr.active),table:has(img.charimg)) { display:block; width:100%; min-width:0; border-spacing:0; }
 .wayfarer #manifest :is(.wayfarer-manifest-table,table:has(tr.active),table:has(img.charimg)) > tbody { display:block; }
 .wayfarer #manifest :is(.wayfarer-manifest-table,table:has(tr.active),table:has(img.charimg)) > tbody > tr { display:grid; grid-template-columns:64px minmax(0,1fr); gap:6px 12px; padding:16px 0; border-bottom:1px solid var(--wayfarer-line); text-align:left; }
 .wayfarer #manifest :is(.wayfarer-manifest-table,table:has(tr.active),table:has(img.charimg)) td { display:block; width:auto; min-width:0; padding:0; text-align:left; overflow-wrap:anywhere; }
 .wayfarer #manifest :is(.wayfarer-manifest-table,table:has(tr.active),table:has(img.charimg)) td:empty { display:none; }
 .wayfarer #manifest td.col_150 { grid-column:2; grid-row:1; align-self:start; }
 .wayfarer #manifest td.col_150 img { width:120px; max-width:100%; height:auto; }
 .wayfarer #manifest td:has(img.charimg) { grid-column:1; grid-row:1 / span 4; width:64px; min-width:0; }
 .wayfarer #manifest img.charimg { width:64px; height:64px; min-width:0; max-width:64px; }
 .wayfarer #manifest td:has(strong), .wayfarer #manifest td.col_75 { grid-column:2; }
 .wayfarer #manifest td[colspan="6"] { grid-column:1 / -1; }
 .wayfarer #manifest td[colspan="6"] h3 { margin:12px 0 0; }
 .wayfarer #manifest td strong.fontMedium { font-size:16px; line-height:1.4; }
 .wayfarer #manifest table:not(.wayfarer-manifest-table):not(:has(tr.active)):not(:has(img.charimg)) tr { display:flex; flex-wrap:wrap; gap:8px; }
 .wayfarer #manifest table:not(.wayfarer-manifest-table):not(:has(tr.active)):not(:has(img.charimg)) td { display:block; flex:1 1 100%; text-align:left; }
 .wayfarer .content-card:has(.gallery):has(#tabs) .row { display:flex; flex-direction:column; gap:20px; margin:0; }
 .wayfarer .content-card:has(.gallery):has(#tabs) .row > * { width:100%; max-width:100%; min-width:0; margin-left:0; float:none; }
 .wayfarer .content-card:has(.gallery):has(#tabs) .gallery { margin:0 0 16px; text-align:center; }
 .wayfarer .content-card:has(.gallery):has(#tabs) .gallery img { max-width:100%; width:auto; max-height:240px; height:auto; object-fit:contain; }
 .wayfarer .content-card:has(.gallery):has(#tabs) .span4 > ul:not(.gallery) { margin:8px 0 16px; padding:0; list-style:none; }
 .wayfarer .content-card:has(.gallery):has(#tabs) .span4 > ul:not(.gallery) a { display:inline-block; padding:6px 0; }
 .wayfarer #tabs .ui-tabs-nav { display:flex; flex-wrap:wrap; gap:4px; padding:6px; }
 .wayfarer #tabs .ui-tabs-nav li { float:none; margin:0; flex:1 1 auto; }
 .wayfarer #tabs .ui-tabs-nav li a { display:block; padding:10px 8px; font-size:14px; text-align:center; white-space:normal; }
 .wayfarer #tabs .ui-tabs-panel { padding:16px 12px; }
 .wayfarer #tabs .wayfarer-table-scroll { overflow:visible; }
 .wayfarer #tabs table:has(.cell-label), .wayfarer #tabs table:has(.cell-label) > tbody { display:block; width:100%; min-width:0; }
 .wayfarer #tabs table:has(.cell-label) tr { display:block; padding:10px 0 14px; }
 .wayfarer #tabs table:has(.cell-label) td { display:block; width:100%; min-width:0; padding:0; text-align:left; overflow-wrap:anywhere; }
 .wayfarer #tabs table:has(.cell-label) td.cell-label { font-weight:650; margin-bottom:8px; }
 .wayfarer #tabs table:has(.cell-label) td.cell-spacer { display:none; }
 .wayfarer .character-related-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media(max-width:760px) {
 /* NOVA controls row visibility; layout must never override its hidden class. */
 .wayfarer #manifest :is(.wayfarer-manifest-table,table:has(tr.active),table:has(img.charimg)) > tbody > tr.hidden { display:none; }
 .wayfarer #manifest tr[hidden] { display:none!important; }
 .wayfarer #manifest tr[style*="display: table-row"], .wayfarer #manifest tr[style*="display: block"], .wayfarer #manifest tr[style*="display: grid"] { display:grid!important; }
 .wayfarer #manifest .wayfarer-manifest-table td:not(:has(img.charimg)):not([colspan="6"]) { grid-column:2; }
 .wayfarer #manifest .wayfarer-manifest-table tr.open td.col_150 { grid-column:1 / -1; }
}

/* Wayfarer: cyan and silver exploration palette. */
:root { --wayfarer-red:#0a1e82; --wayfarer-patch-gold:#7c87bd; --wayfarer-panel:#050b27; --wayfarer-line:#232c5d; --wayfarer-text:#edf5fa; --wayfarer-muted:#9ca4c8; --wayfarer-gold:#7589ec; }
.wayfarer .wayfarer-site { border:2px solid #576ddd; background:#000; }

.wayfarer-login .body { border:2px solid #576ddd; background:#050b27; box-shadow:0 20px 80px #0008; }

/* Closer banner framing, preserving the original artwork pixels. */
.wayfarer:not(.wayfarer-login) header .background {
 width:125%;
 object-position:right 65%;
 clip-path:inset(0 0 0 20% round 16px 16px 0 0);
}
@media(max-width:760px) {
 .wayfarer:not(.wayfarer-login) header .background {
  width:150%;
  object-position:right 65%;
  clip-path:inset(0 0 0 33.333333% round 12px 12px 0 0);
 }
}

/* Deflector dish accents: saturated blue with readable pale-blue links. */
:root { --wayfarer-red:#294dc2; --wayfarer-patch-gold:#8098ee; --wayfarer-panel:#0a102b; --wayfarer-line:#304876; --wayfarer-text:#edf2ff; --wayfarer-muted:#a4b2d1; --wayfarer-gold:#91a8ff; }
.wayfarer .wayfarer-site, .wayfarer-login .body { border-color:#6484ff; }

/* Match navigation glyphs to the deflector-blue interface icons. */
.wayfarer .wayfarer-nav-toggle, .wayfarer .wayfarer-submenu-toggle, .wayfarer .logged-in-controls svg { color:#91a8ff; }

/* White inner frame follows the blue outer frame on every screen size. */
.wayfarer .wayfarer-site::after {
 display:block;
 border:2px solid #fff;
}
.wayfarer-login .body {
 box-shadow:inset 0 0 0 2px #fff,0 20px 80px #0008;
}
@media print {  }

/* Stronger outer frame: four pixels blue, two pixels white inside. */
.wayfarer .wayfarer-site, .wayfarer-login .body { border-width:4px; }
.wayfarer .wayfarer-site::after { border-radius:calc(var(--wayfarer-frame-radius) - 4px); }

/* Final screen frame: blue outside, white inside, over the banner. */
@media screen {
 .wayfarer .wayfarer-site { border:4px solid #6484ff; }
 .wayfarer .wayfarer-site::after { content:""; display:block; position:absolute; inset:0; border:2px solid #fff; border-radius:calc(var(--wayfarer-frame-radius) - 4px); pointer-events:none; z-index:40; }
 .wayfarer-login .body { border:4px solid #6484ff; box-shadow:inset 0 0 0 2px #fff,0 20px 80px #0008; }
}

/* Approved electric-blue and soft charcoal palette. */
:root { --wayfarer-black:#10131a; --wayfarer-panel:#071a33; --wayfarer-line:#426bff; --wayfarer-red:#426bff; --wayfarer-white:#c9e3ff; --wayfarer-text:#e7f0ff; --wayfarer-muted:#abc6ee; --wayfarer-gold:#79a6ff; }
.wayfarer .wayfarer-site { background:#10131a; border-color:#426bff; }
.wayfarer .wayfarer-site > header,.wayfarer header .inner,.wayfarer footer { background:#10131a; }
.wayfarer header .gradient { background:linear-gradient(0deg,#10131a 0%,#10131ae6 5%,#10131a80 12%,transparent 24%),linear-gradient(90deg,#10131aa0 0%,#10131a40 26%,transparent 45%); }
.wayfarer header .bottom,.wayfarer .wayfarer-submenu { background:rgba(7,19,38,.84); border-color:#426bff; }
.wayfarer .nav-main a.active { background:linear-gradient(#426bff,#164dff); color:#fff; box-shadow:inset 0 0 0 1px #79a6ff; }
.wayfarer .wayfarer-submenu a:hover,.wayfarer .wayfarer-submenu a.active { background:#153a78; box-shadow:inset 0 0 0 1px #426bff; }
.wayfarer .nav-sub { background:#071326; border-color:#426bff; }
.wayfarer .content-card h1,.wayfarer .content-card h2,.wayfarer .content-card .page-head { color:#c9e3ff; }
.wayfarer .button-main { background:linear-gradient(#426bff,#164dff); border-color:#79a6ff; }
.wayfarer .button-main:hover { background:#3765ff; }
.wayfarer .button-sec,.wayfarer .button-small { background:#071a33; border-color:#426bff; color:#c9e3ff; }
.wayfarer input:not([type]),.wayfarer input[type=text],.wayfarer input[type=password],.wayfarer input[type=email],.wayfarer input[type=number],.wayfarer input[type=search],.wayfarer input[type=url],.wayfarer input[type=tel],.wayfarer textarea,.wayfarer select { background:#071326; border-color:#426bff; color:#e7f0ff; }
.wayfarer input:focus,.wayfarer textarea:focus,.wayfarer select:focus { background:#102445; border-color:#79a6ff; box-shadow:0 0 0 2px #426bff40; }
.wayfarer input[type=checkbox],.wayfarer input[type=radio] { accent-color:#426bff; }
.wayfarer #acp-panel,.wayfarer #online { background:#071326; border-color:#426bff; }
.wayfarer #acp-panel .panel { background:#071a33; border-color:#426bff; }
.wayfarer #panelmenu li a { color:#c9e3ff; }
.wayfarer #panelmenu li a.active,.wayfarer #panelmenu li a:hover { background:#426bff; border-color:#79a6ff; color:white; }
.wayfarer #panelmenu .count { background:#a8c5ff; border-color:#79a6ff; color:#102445; }
.wayfarer .ui-tabs,.wayfarer .ui-tabs .ui-tabs-panel { background:#071a33; border-color:#426bff; }
.wayfarer .ui-tabs .ui-tabs-nav { background:#071326; border-color:#426bff; }
.wayfarer .ui-tabs .ui-tabs-nav li { background:#071a33; border-color:#426bff; }
.wayfarer .ui-tabs .ui-tabs-nav li a { color:#c9e3ff; }
.wayfarer .ui-tabs .ui-tabs-nav li.ui-tabs-selected,.wayfarer .ui-tabs .ui-tabs-nav li.ui-state-active,
.wayfarer .ui-tabs .ui-tabs-nav li.ui-tabs-selected a,.wayfarer .ui-tabs .ui-tabs-nav li.ui-state-active a { background:#426bff; color:white; border-color:#426bff; }
.wayfarer .ui-tabs .ui-tabs-nav li a:hover { background:#153a78; border-color:#426bff; }
.wayfarer footer { border-color:#426bff; color:#abc6ee; }
.wayfarer footer a { color:#c9e3ff; }
.wayfarer-login .body { background:#071a33; border-color:#426bff; }
@media(max-width:760px) { .wayfarer header .gradient { background:linear-gradient(0deg,#10131a 0%,#10131ab0 7%,transparent 22%),linear-gradient(90deg,#10131a20,transparent 25%); } }
.wayfarer-login header .gradient { background:radial-gradient(ellipse at center,#10131a66,#10131acc 80%); }
.wayfarer main { background:#10131a; }
.wayfarer .zebra tbody tr:nth-child(odd) { background:#071326; }
.wayfarer .zebra tbody tr:nth-child(even) { background:#0b203b; }
.wayfarer table.acp,.wayfarer th,.wayfarer hr { border-color:#426bff; }
.wayfarer .wayfarer-nav-toggle,.wayfarer .wayfarer-submenu-toggle,.wayfarer .logged-in-controls svg { color:#79a6ff; }
