@font-face{font-family:'Crimson Pro';src:url('fonts/CrimsonPro-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'Crimson Pro';src:url('fonts/CrimsonPro-Bold.ttf') format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:Korvyn;src:url('fonts/Korvyn.ttf') format('truetype');font-display:swap;unicode-range:U+0021-0022,U+0027,U+002C,U+002E,U+003A-003B,U+003F,U+0041-005A,U+0061-007A,U+2018-201A,U+201C-201E}
@font-face{font-family:'Burning Trenches Symbols';src:url('fonts/BurningTrenchesSymbols.ttf') format('truetype');font-display:swap;unicode-range:U+0023-0026,U+0028-002B,U+002D,U+002F-0039,U+003C-003E,U+0040,U+005B-0060,U+007B-007E,U+00A2-00A3,U+00A5,U+00B0-00B1,U+00B7,U+00D7,U+00F7,U+2010-2015,U+2022,U+2026,U+2032-2033,U+2039-203A,U+20AC,U+2190-2193,U+2212}
:root{--display:Korvyn,'Burning Trenches Symbols','Crimson Pro',Georgia,serif;--body:'Crimson Pro',Georgia,serif;color-scheme:light;accent-color:#111}
*{box-sizing:border-box}body{margin:0;background:#202020;color:#f5f5f5;font-family:var(--body);font-size:19px}button,input,textarea,select{font:inherit;color:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:#9996}button{cursor:pointer;border:1px solid #777;background:#f6f6f6;color:#111;padding:9px 15px;min-height:44px}button:hover{background:#ddd}button:disabled{opacity:.4;cursor:not-allowed}a{color:inherit;text-underline-offset:4px}button:focus-visible,a:focus-visible{outline:3px solid #888;outline-offset:3px}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #444;outline-offset:1px}h1,h2,h3,.display{font-family:var(--display);font-weight:400;letter-spacing:.03em}h1{font-size:36px}h2{font-size:26px;margin:0}h3{font-size:22px}.toolbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:20px;background:#111;padding:12px 24px;border-bottom:1px solid #777;min-height:70px}.toolbar nav{display:flex;gap:8px;margin-left:auto}.toolbar button{background:#111;color:white;border-color:#777}.toolbar button:hover,.toolbar button[aria-pressed=true]{background:#fff;color:#111}.toolbar .wordmark{border:0;padding-left:0;font-family:var(--display);font-size:25px}#characterTitle{max-width:26vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#helpMode{width:44px;font-family:var(--body);font-weight:bold}#saveStatus{margin:0;text-align:center;padding:8px 14px;font-size:15px;min-height:34px;color:#ddd}.landing{max-width:700px;margin:clamp(30px,7vh,90px) auto;text-align:center;padding:24px}.landing img{display:block;width:100%;background:white}.landing .menu-buttons{max-width:390px;margin:30px auto;display:grid;gap:12px}.menu-buttons button{font-family:var(--display);font-size:24px;min-height:60px;letter-spacing:.06em}.sheet-wrap{padding:0 55px 30px;max-width:1900px;margin:auto}.desktop-sheet{position:relative;aspect-ratio:3300/2550;background:white;container-type:inline-size;box-shadow:0 5px 25px #0008}.desktop-sheet>img{width:100%;height:100%;display:block}.control{position:absolute;color:#000}.field{background:transparent;border:0;border-radius:0;resize:none;padding:0 3px;margin:0;overflow:hidden;font-weight:700;line-height:1.12;min-width:0;appearance:none}.field:focus{background:#fff9}.field.rank{text-align:center}.field.burned{opacity:.35;text-decoration:line-through}.field.affliction{font-style:italic;text-decoration:underline dotted}.field.mutation{font-weight:700;text-decoration:underline double}.pip{border:0;background:transparent!important;padding:0;min-height:0;display:grid;place-items:center;isolation:isolate}.pip::before{content:'';position:absolute;inset:-4px;z-index:-1}.pip:focus-visible{outline:2px dashed #333}.pip .mark{width:70%;height:70%;border-radius:50%;display:block;opacity:0;background:#111;pointer-events:none}.pip[aria-pressed=true] .mark{opacity:1}.pip.triangle .mark{clip-path:polygon(0 0,100% 0,50% 100%);border-radius:0;width:83%;height:85%}.pip.cross .mark{border-radius:0;clip-path:polygon(0 12%,12% 0,50% 38%,88% 0,100% 12%,62% 50%,100% 88%,88% 100%,50% 62%,12% 100%,0 88%,38% 50%);width:100%;height:100%}.help-active .control{outline:2px dashed #555;background:#fff4;cursor:help}.desktop-rails button{position:fixed;top:45%;writing-mode:vertical-rl;z-index:4;font-family:var(--display);font-size:24px;letter-spacing:.08em;background:#111;color:white}.desktop-rails #worldRail{left:0;transform:rotate(180deg)}.desktop-rails #rulesRail{right:0}.character-menu,.section-view{max-width:700px;padding:12px 18px 80px;margin:auto}.character-menu .menu-buttons{display:grid;gap:12px;margin:30px 0}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:6px 0 20px}.section-heading h1{font-size:26px;margin:0}.panel{position:relative;container-type:inline-size;background:white;width:100%;margin:0 auto 16px;color:#111}.panel img{display:block;width:100%;height:auto}.panel-attribute,.panel-serum,.panel-resources{max-width:430px}.panel .pip::before{min-width:44px;min-height:44px;inset:auto;left:50%;top:50%;transform:translate(-50%,-50%)}.panel .pip{touch-action:manipulation}.status-pair{display:grid;gap:0}.section-tools{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:16px 0}.section-jump{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px;justify-content:center}.section-jump button{font-size:16px}.section-jump .selected{background:#111;color:#fff}.panel-gear,.panel-pathogenesis{max-width:600px}.mobile-view{display:none}dialog{color:#111;background:#fafafa;border:1px solid #333;padding:24px;width:min(620px,calc(100vw - 24px));max-height:90dvh;overflow:auto;box-shadow:0 12px 70px #0008}dialog::backdrop{background:#0008}.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px;border-bottom:2px solid #111;padding-bottom:12px}.dialog-heading button{font:26px var(--body);padding:0;width:44px;flex-shrink:0}.option-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.option-grid button{min-height:54px}.muted{color:#555;font-size:16px}.character-row{display:flex;gap:10px;border-top:1px solid #bbb;padding:12px 0;align-items:center}.character-row strong{flex:1;overflow-wrap:anywhere}.character-row button{flex-shrink:0}.drawer{margin:0 0 0 auto;height:100dvh;max-height:100dvh;width:min(900px,90vw);border:0;border-left:2px solid #111;padding:22px;max-width:none}.drawer.world-drawer{margin:0 auto 0 0;border-left:0;border-right:2px solid #111}#referenceBody{height:calc(100% - 80px)}.pdf-links{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:16px;margin-bottom:12px}.pdf-links select{background:white;color:#111;max-width:100%}.pdf-frame{width:100%;height:calc(100% - 90px);min-height:300px;border:1px solid #aaa}.help-sheet p{font-size:21px;line-height:1.45}#tooltip{position:fixed;z-index:50;max-width:350px;background:#111;color:#fff;padding:13px 16px;border:1px solid #bbb;font-size:17px;line-height:1.3;pointer-events:none}#editorValue{display:block;width:100%;background:white;color:#111;padding:12px;margin:12px 0}.slot-row{display:grid;grid-template-columns:55px 1fr 120px;gap:8px;align-items:center;padding:8px 0}.slot-row select{color:#111;background:white;max-width:100%;padding:8px}.slot-row span{overflow-wrap:anywhere}.print-value{display:none}.notice{padding:12px;border-left:3px solid #111;background:#eee}.empty-world{padding:60px 20px;text-align:center}.empty-world p{font-size:21px}.field-editor-list{display:grid;gap:8px}.field-editor-list button{text-align:left;overflow-wrap:anywhere}
@media(max-width:900px){.toolbar{gap:6px;padding:9px 12px;min-height:62px;flex-wrap:wrap}.toolbar .wordmark{font-size:19px}.toolbar nav{gap:6px}.toolbar nav #characters,.toolbar nav #rules,.toolbar nav #world{display:none}#characterTitle{display:none}.toolbar button{padding:8px 10px;font-size:17px}.desktop-view,.desktop-rails{display:none}.mobile-view{display:block}.landing{padding:20px;margin:30px auto}.landing h1{font-size:28px}.landing .menu-buttons{margin-top:28px}.landing img{margin-bottom:30px}.character-menu{padding-top:20px}.section-view{padding-left:10px;padding-right:10px}.panel-wounds,.panel-blight{max-width:480px}.panel-blight{margin-top:-6px}.help-sheet{position:fixed;inset:auto 0 0;margin:0;width:100%;max-width:none;max-height:75dvh;border-radius:18px 18px 0 0;padding-bottom:max(24px,env(safe-area-inset-bottom))}.drawer{width:100vw}.option-grid{grid-template-columns:1fr 1fr}.slot-row{grid-template-columns:40px 1fr 104px}.slot-row select{font-size:16px}.character-row{flex-wrap:wrap}.character-row strong{min-width:100%}}
@media print{@page{size:letter landscape;margin:0}body{background:white;color:black;margin:0}.toolbar,#saveStatus,.desktop-rails,.mobile-view,dialog,#tooltip,.landing{display:none!important}.desktop-view{display:block!important}.sheet-wrap{padding:0;max-width:none;width:11in}.desktop-sheet{width:11in;height:8.5in;box-shadow:none}.desktop-sheet>img{width:100%;height:100%}.control.field{display:none}.print-value{display:block;white-space:pre-wrap;overflow:hidden;color:#000;font-weight:700;line-height:1.12;padding:0 3px}.help-active .control{outline:0;background:transparent}.pip{print-color-adjust:exact;-webkit-print-color-adjust:exact}.pip:disabled{opacity:1}}

@media(max-width:900px){.section-heading{flex-wrap:wrap}.section-heading h1{font-size:clamp(22px,6vw,26px);min-width:0}.section-heading>button{flex-shrink:0}}

.print-value.burned{opacity:.35;text-decoration:line-through}.print-value.affliction{font-style:italic;text-decoration:underline dotted}.print-value.mutation{text-decoration:underline double}

.landing img{height:auto}@media print{.print-value.single{display:flex;align-items:center;white-space:pre}}

#saveStatus:empty{display:none}
.close-icon{position:relative;width:44px;height:44px;flex-shrink:0;font-size:0!important}
.close-icon::before,.close-icon::after{content:'';position:absolute;left:12px;right:12px;top:20px;height:2px;background:currentColor;transform:rotate(45deg)}
.close-icon::after{transform:rotate(-45deg)}
body{background:#fff;color:#111}
#saveStatus{color:#555}

.pip.triangle .mark{width:100%;height:100%}.field.unlined,.print-value.unlined{background:#fff}.field.unlined{padding:4px 6px;text-align:left;line-height:1.25}.field.unlined:focus{background:#fff}.print-value.unlined{padding:4px 6px}@media print{.print-value.unlined{background:white!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}}


.creation-choices{display:grid;gap:12px}.creation-choices button{min-height:58px}.creation-choices button:disabled{background:#e5e5e5;color:#777;border-color:#bbb;opacity:1}
.pip.bold-cross .mark{width:100%;height:100%;border-radius:0}

/* Biomancer desktop frame: compact actions, sheet, and mirrored reference indexes. */
:root{--reference-width:202.5px;--reference-gap:12px;--toolbar-height:50px}
.desktop-actions{display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap}
.toolbar .mobile-actions,.brand-short{display:none}
.mobile-toolbar{display:none}.world-index{position:fixed;left:8px;top:0;z-index:20;width:var(--reference-width);height:100dvh;background:#222;color:#f5f5f5;border-right:1px solid #555;box-shadow:6px 0 18px #0004}
.reference-index-toggle{width:100%;height:var(--toolbar-height);min-height:var(--toolbar-height);padding:0 24px;background:#111;color:#f5f5f5;border:0;border-bottom:1px solid #555;position:relative;font:400 32px/1 var(--display);letter-spacing:.035em;text-transform:uppercase;text-align:center}
.reference-index-toggle:hover{background:#292929}.reference-index-toggle::after{content:'';position:absolute;right:10px;top:calc(50% - 2px);border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor}.reference-index-toggle[aria-expanded=true]::after{transform:rotate(180deg)}
.world-index.is-collapsed{height:var(--toolbar-height)}.world-index.is-collapsed #worldIndexBody{display:none}#worldIndexBody{padding:14px;font-size:17px;line-height:1.3}
.community-links{display:flex;align-items:center;justify-content:center;gap:7px}.community-links a,.community-links button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:30px;padding:5px 9px;background:#eee;color:#111;border:1px solid #999;text-decoration:none;font:700 15px/1.05 var(--body);white-space:nowrap}.community-links svg{width:18px;height:18px;flex:none}.community-links .discord-button svg{width:22px}.community-links a:hover,.community-links button:hover{background:white}
.pregen-empty{text-align:center;padding:24px 0;font-size:24px}.pregen-list{display:grid;gap:14px}.pregen-card{border:1px solid #888;padding:18px}.pregen-card h3{margin:0 0 8px}.pregen-card p{white-space:pre-wrap;overflow-wrap:anywhere}
@media(min-width:901px){
 body{background:#222;color:#eee}.toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(170px,1fr);align-items:center;gap:7px;min-height:0;padding:8px calc(var(--reference-width) + 26px);border-bottom:2px solid #444}
 .toolbar .desktop-actions{grid-column:2;margin:0}.toolbar .desktop-actions button{background:#eee;color:#111;border:1px solid #999;padding:6px 10px;font:700 16px/1.05 var(--body);min-height:32px;white-space:nowrap}.toolbar .desktop-actions button:hover{background:#fff}.toolbar .community-links{grid-column:3;margin:0}
 #saveStatus{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .sheet-wrap{width:min(1360px,calc(100% - 2 * (var(--reference-width) + 20px)));max-width:none;padding:22px 0 30px;margin:auto}.desktop-sheet{border:2px solid #000;box-shadow:none}
 .toolbar .mobile-toolbar,.landing{display:none}
}
@media(min-width:901px) and (max-width:1280px){.toolbar{display:flex;flex-wrap:wrap;justify-content:center}.toolbar .desktop-actions{flex:1 1 100%}.toolbar .community-links{margin:0}.toolbar .desktop-actions button{font-size:15px}}
@media(max-width:900px){
 .toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:6px;padding:6px 12px;min-height:0}
 .mobile-toolbar{display:flex;align-items:center;min-width:0}
 .toolbar .desktop-actions,.world-index{display:none}
 .mobile-toolbar .wordmark{min-width:0;padding:0;min-height:44px;white-space:nowrap}
 .toolbar>.community-links,.toolbar>.mobile-actions{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;margin:0}
 .toolbar>.community-links a,.toolbar>.community-links button{min-height:44px;padding:8px 10px;font-size:17px}
 .landing.mobile-view{display:block}.option-grid button{padding:9px 10px}
}
@media(max-width:600px){
 .toolbar{padding:6px 8px}
 .brand-full,.email-label{display:none}.brand-short{display:inline}
 .mobile-toolbar .wordmark{font-size:24px}
 .toolbar>.community-links a,.toolbar>.community-links button{width:44px;padding:8px}
}
@media print{.world-index,.community-links{display:none!important}.sheet-wrap{width:11in;padding:0;margin:0}.desktop-sheet{border:0}.mobile-toolbar{display:none!important}}
/* The retained signup form uses the same monochrome presentation. */
.ml-form-embedContainer,.ml-form-embedWrapper,#mlb2-popup{filter:grayscale(1)}

.sheet-viewport{min-height:0;min-width:0;flex:1;overflow:auto;overscroll-behavior:contain;display:flex;align-items:flex-start;justify-content:flex-start}.sheet-viewport .desktop-sheet{flex:none;margin:auto}
#worldIndexBody{padding:0}#worldOverview{display:block;width:100%;min-height:50px;border:0;border-bottom:1px solid #555;color:#eee;background:transparent;font-weight:bold}#worldOverview:hover{background:#444}
#reference .dialog-heading{flex-wrap:wrap}.world-content{zoom:var(--world-content-zoom,1)}
@media(min-width:901px){
 .sheet-wrap{width:calc(100% - 2 * (var(--reference-width) + 20px));height:calc(100dvh - var(--toolbar-height));padding:16px 0 10px;display:flex;flex-direction:column}
 .sheet-viewport .desktop-sheet{height:auto;max-width:none}
 dialog.world-drawer{position:fixed;inset:0 auto 0 calc(8px + var(--reference-width) + var(--reference-gap));margin:0;width:min(680px,calc(100vw - 2 * (var(--reference-width) + 20px)));height:100dvh;background:#242424;color:#eee;border:1px solid #666;z-index:21}
}
@media print{.sheet-wrap{display:block!important;width:11in!important;height:8.5in!important;padding:0!important;margin:0!important}.sheet-viewport{display:block;overflow:visible;width:11in;height:8.5in}.sheet-viewport .desktop-sheet{width:11in!important;height:8.5in!important;zoom:1!important;border:0;margin:0}}

@media(min-width:901px){.world-index,dialog.world-drawer{background:#191919;color:#fff;border-color:#999}.world-drawer .dialog-heading{border-color:#999}}
.help-label{position:absolute;display:block;min-height:0;padding:0;border:0;background:transparent!important;cursor:help;z-index:2}.help-label:focus-visible{outline:2px dashed #555}.help-active .control{outline:0;background:transparent;cursor:auto}.help-active .help-label{outline:2px dashed #555;background:#fff4!important}#tooltip{max-width:min(440px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;white-space:pre-line;font-size:17px;line-height:1.35}.help-sheet #helpText{white-space:pre-line;font-size:19px}.world-index #worldOverview{width:100%;background:transparent;color:inherit}
@media(max-width:900px){.help-label{display:none}.help-active .help-label{display:block}}
@media print{.help-label{display:none!important}}
:root{--ui-zoom:1}
@media(min-width:901px){
 .toolbar,.world-index,.rules-index,.rules-topic-drawer,dialog,#tooltip{zoom:var(--ui-zoom)}
 .world-index,.rules-index,.rules-topic-drawer,dialog.world-drawer{height:calc(100dvh / var(--ui-zoom));max-height:calc(100dvh / var(--ui-zoom))}
 .reference-index-toggle,.world-index.is-collapsed,.rules-index.is-collapsed{height:calc(var(--toolbar-height) / var(--ui-zoom));min-height:calc(var(--toolbar-height) / var(--ui-zoom))}
 .sheet-wrap{width:calc(100% - 2 * (var(--reference-width) + 20px) * var(--ui-zoom))}
 .rules-topic-drawer,dialog.world-drawer{width:min(680px,calc(100vw / var(--ui-zoom) - 2 * (var(--reference-width) + 20px)))}
 dialog:not(.world-drawer){max-width:calc(100vw / var(--ui-zoom) - 24px);max-height:calc(90dvh / var(--ui-zoom))}
 #tooltip{max-width:min(440px,calc(100vw / var(--ui-zoom) - 24px));max-height:calc(100dvh / var(--ui-zoom) - 24px)}
}
@media print{.desktop-sheet{zoom:1!important}}
.sheet-panning,.sheet-panning *{cursor:grabbing!important;user-select:none!important}
.sheet-viewport{overflow-anchor:none}
@media print{.desktop-sheet{translate:none!important}}

/* Text keeps its point size; filled boxes can grow past the printed lines. */
.desktop-sheet .field,.panel .field,.print-value{font-size:11pt;line-height:1.25}
.field{z-index:1;min-height:1.25em;overflow-wrap:anywhere}
.field.expanded{background:#fff;z-index:3}
.field:focus{background:#fff;z-index:4}
.field:focus-visible{outline:1px solid #444;outline-offset:-1px}
@media print{.print-value{overflow:visible;overflow-wrap:anywhere;font-size:11pt;line-height:1.25;min-height:1.25em}}
