:root{font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#e5e7eb;background:#0f172a;color-scheme:dark}body{margin:0;min-height:100vh}.app{max-width:1400px;margin:0 auto;padding:1.25rem 1.5rem 3rem}.app-header h1{margin:0 0 .25rem;font-size:1.5rem;color:#f8fafc}.subtitle{margin:0 0 1.5rem;color:#94a3b8;font-size:.85rem}.wizard{display:grid;grid-template-columns:260px 1fr;gap:1.25rem;align-items:start}.step-rail{background:#1e293b;border:1px solid #334155;border-radius:8px;padding:.75rem;position:sticky;top:.5rem}.step-rail h2{margin:0 0 .5rem;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8}.step-rail ol{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.15rem}.step-rail li button{display:flex;align-items:center;gap:.6rem;width:100%;background:transparent;border:1px solid transparent;border-radius:6px;padding:.45rem .55rem;color:#cbd5e1;cursor:pointer;text-align:left}.step-rail li button:hover{background:#273449}.step-rail li.current button{background:#1e3a5f;border-color:#3b82f6;color:#f8fafc}.step-rail li.completed button .step-num{background:#14532d;border-color:#16a34a;color:#bbf7d0}.step-rail li.has-error button .step-num{background:#4a1d1d;border-color:#b91c1c;color:#fecaca}.step-num{width:1.6rem;height:1.6rem;display:inline-flex;align-items:center;justify-content:center;border:1px solid #475569;border-radius:50%;font-size:.75rem;font-weight:700;background:#0b1220;color:#93c5fd;flex-shrink:0}.step-text{display:flex;flex-direction:column;line-height:1.15}.step-text strong{font-size:.9rem}.step-text small{color:#94a3b8;font-size:.72rem}.step-rail .reset{margin-top:.75rem;width:100%;background:transparent;border:1px solid #475569;color:#94a3b8;border-radius:6px;padding:.4rem;cursor:pointer;font-size:.8rem}.step-rail .reset:hover{background:#4a1d1d;border-color:#b91c1c;color:#fecaca}.step-pane{background:#1e293b;border:1px solid #334155;border-radius:8px;padding:1.25rem 1.5rem;min-height:70vh}.step-header{border-bottom:1px solid #334155;margin-bottom:1rem;padding-bottom:.5rem}.step-header h2{margin:0 0 .15rem;font-size:1.25rem;color:#f8fafc}.step-form{display:flex;flex-direction:column;gap:1rem}.step-form fieldset{border:1px solid #334155;border-radius:6px;padding:.85rem 1rem 1rem}.step-form legend{padding:0 .4rem;color:#f8fafc;font-weight:600}.step-form h4{margin:.75rem 0 .35rem;color:#cbd5e1;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em}.step-form .field{display:flex;flex-direction:column;gap:.3rem}.step-form .field span{font-size:.85rem;color:#cbd5e1;font-weight:600}input[type=text],input[type=number],textarea,select{background:#0b1220;color:#e5e7eb;border:1px solid #475569;border-radius:4px;padding:.4rem .5rem;font:inherit;font-size:.9rem}input:focus,textarea:focus,select:focus{outline:2px solid #3b82f6;outline-offset:-1px}button{font:inherit;font-size:.85rem;background:#334155;color:#f8fafc;border:1px solid #475569;border-radius:4px;padding:.35rem .7rem;cursor:pointer}button:hover:not(:disabled){background:#3f4f6b}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:#1d4ed8;border-color:#3b82f6}button.primary:hover:not(:disabled){background:#2563eb}button.link{background:transparent;border:none;color:#93c5fd;padding:0 .25rem;font-size:.8rem;text-decoration:underline}.radio,.radio-group label{display:flex;gap:.5rem;align-items:flex-start;padding:.25rem .1rem;cursor:pointer}.radio:hover{background:#273449;border-radius:4px}.level-radio{padding:.45rem .4rem;border:1px solid transparent;border-radius:6px}.level-radio:has(input:checked){border-color:#3b82f6;background:#1e3a5f}.muted{color:#94a3b8;font-size:.85rem}.muted.small{font-size:.75rem}.muted.block{display:block}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:600;color:#93c5fd}.budget{background:#0b1220;border:1px solid #334155;border-radius:6px;padding:.5rem .75rem;font-size:.95rem}.budget.over{border-color:#b91c1c;background:#2a1010;color:#fecaca}.budget strong{color:#93c5fd;font-variant-numeric:tabular-nums}.validation{list-style:none;padding:0;margin:1rem 0 0;display:flex;flex-direction:column;gap:.3rem}.validation li{padding:.5rem .75rem;border-radius:4px;font-size:.9rem}.validation .error{background:#2a1010;border:1px solid #b91c1c;color:#fecaca}.validation .warning{background:#2a2210;border:1px solid #b45309;color:#fde68a}.error-text{color:#fca5a5}.callout{background:#0b1220;border-left:3px solid #3b82f6;padding:.5rem .75rem;font-size:.85rem;color:#cbd5e1}.stepper{display:inline-flex;align-items:center;gap:.3rem}.stepper button{width:1.8rem;text-align:center;padding:.25rem 0}.stepper .value{display:inline-block;min-width:1.6rem;text-align:center;font-weight:700;font-variant-numeric:tabular-nums}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{text-align:left;padding:.35rem .5rem;border-bottom:1px solid #334155;vertical-align:top}th{color:#cbd5e1;font-weight:600}.attr-table input{width:4rem}.step-nav{display:flex;justify-content:space-between;margin-top:1.5rem;padding-top:1rem;border-top:1px solid #334155}.skill-row{display:grid;grid-template-columns:1fr auto 3rem;gap:.75rem;align-items:center;padding:.35rem 0;border-bottom:1px solid #2a3447}.skill-row:last-child{border-bottom:none}.skill-info{min-width:0}.bonus{text-align:right;font-variant-numeric:tabular-nums;color:#93c5fd}.inline-add{display:flex;gap:.5rem;margin-top:.5rem}.inline-add input,.inline-add select{flex:1}.ref-list{margin:.5rem 0 0;padding-left:1.25rem;font-size:.85rem}.ref-list li{margin-bottom:.2rem}.trait-columns{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.trait-card{display:grid;grid-template-columns:auto 1fr;gap:.5rem;padding:.5rem;border:1px solid #334155;border-radius:4px;margin-bottom:.4rem;cursor:pointer;align-items:flex-start}.trait-card:has(input:checked){border-color:#3b82f6;background:#1a2540}.trait-card input{margin-top:.2rem}.tag{display:inline-block;font-size:.65rem;text-transform:uppercase;letter-spacing:.05em;padding:.1rem .4rem;border-radius:3px;margin-left:.4rem;vertical-align:middle}.tag.combat{background:#4a1d1d;color:#fca5a5;border:1px solid #b91c1c}.tag.chargen{background:#2a2210;color:#fde68a;border:1px solid #b45309}.applied-module{display:flex;align-items:center;gap:.75rem;padding:.5rem;background:#1a2540;border:1px solid #3b82f6;border-radius:4px}.module-list{display:grid;gap:.4rem}.module-card{border:1px solid #334155;border-radius:4px;padding:.4rem .6rem}.module-card.disabled{opacity:.6}.module-toggle{display:block;width:100%;text-align:left;background:transparent;border:none;padding:0;color:inherit;cursor:pointer}.module-picker{margin-top:.5rem;padding-top:.5rem;border-top:1px solid #2a3447;display:flex;flex-direction:column;gap:.4rem}.option-btn{display:inline-block;margin-right:.4rem;margin-bottom:.3rem}.option-row{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.option-row input,.option-row select{flex:1;min-width:8rem}.item-list{list-style:none;padding:0;margin:.5rem 0;display:flex;flex-direction:column;gap:.25rem}.item-list li{display:flex;justify-content:space-between;align-items:center;padding:.35rem .5rem;background:#0b1220;border:1px solid #334155;border-radius:4px}textarea{width:100%;resize:vertical;font-family:inherit}.review-actions{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.sheet{background:#0b1220;border:1px solid #334155;border-radius:8px;padding:1.25rem 1.5rem}.sheet-header{border-bottom:2px solid #334155;padding-bottom:.75rem;margin-bottom:1rem}.sheet-header h2{margin:0 0 .4rem;color:#f8fafc}.sheet-meta{display:flex;gap:1rem;flex-wrap:wrap;color:#cbd5e1;font-size:.85rem}.sheet-tags{display:flex;gap:.4rem;margin-top:.5rem;flex-wrap:wrap}.sheet-tags .tag{background:#1a2540;color:#93c5fd;border:1px solid #334155;margin:0}.sheet-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.sheet-card{background:#1e293b;border:1px solid #334155;border-radius:6px;padding:.75rem 1rem}.sheet-card.span-2{grid-column:1 / -1}.sheet-card h3{margin:0 0 .5rem;font-size:.95rem;color:#f8fafc;border-bottom:1px solid #334155;padding-bottom:.25rem}.sheet-card h4{margin:.5rem 0 .25rem;font-size:.8rem;color:#cbd5e1;text-transform:uppercase;letter-spacing:.04em}.sheet-card ul{margin:0;padding-left:1.1rem;font-size:.85rem}.sheet-card p{margin:.2rem 0;font-size:.85rem}.sheet-attrs th{text-align:right;color:#93c5fd;font-family:ui-monospace,monospace;width:3rem}.sheet-attrs td{font-weight:700;font-size:1rem}.sheet-skill-list{columns:2;font-size:.85rem;list-style:none;padding:0}.sheet-skill-list li{break-inside:avoid;margin-bottom:.2rem}.equipment-group{margin-bottom:.5rem}.background-text{white-space:pre-wrap;line-height:1.5}.tactical-table{font-size:.88rem}.tactical-table th{text-align:left;color:#cbd5e1}.tactical-table td strong{color:#93c5fd;font-variant-numeric:tabular-nums}.tactical-table tr:hover td{background:#1a2540}.random-picker{margin-top:.5rem;background:#0b1220;border:1px solid #334155;border-radius:6px;padding:.5rem}.random-picker summary{cursor:pointer;color:#93c5fd;font-size:.85rem;font-weight:600}.random-picker[open] summary{margin-bottom:.4rem}.random-picker button.link{display:block;width:100%;text-align:left;padding:.3rem .4rem;margin:0;font-size:.82rem}.random-picker button.link:hover{background:#1a2540;text-decoration:none}.advance-table th,.advance-table td{padding:.3rem .5rem;font-size:.88rem}.advance-table tr:hover td{background:#1a2540}.trait-buy-list{list-style:none;padding:0;margin:.5rem 0 0;display:flex;flex-direction:column;gap:.3rem}.trait-buy-list li{display:flex;align-items:flex-start;gap:.75rem;justify-content:space-between;padding:.4rem .5rem;background:#0b1220;border:1px solid #334155;border-radius:4px}.trait-buy-list li>span{flex:1;min-width:0}.hardware-model{margin-top:.75rem;padding:.6rem .75rem;background:#0b1220;border:1px solid #334155;border-radius:4px}.hardware-model input{width:100%}.hardware-model .field span{font-size:.85rem;color:#cbd5e1;font-weight:600}.spec-picker{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;padding:.4rem .5rem;background:#0b1220;border:1px solid #334155;border-radius:4px;margin:.25rem 0}.spec-picker>span{color:#cbd5e1;font-size:.88rem}.option-btn.owned{border-color:#16a34a;background:#14532d;color:#bbf7d0}.option-btn.owned:hover:not(:disabled){background:#166534}.cm-instructions{list-style:none;padding:0;margin:.25rem 0 0;display:flex;flex-direction:column;gap:.5rem}.cm-instructions li{padding:.55rem .75rem;background:#0b1220;border-left:3px solid #3b82f6;border-radius:4px;font-size:.92rem;line-height:1.45}@media (max-width: 900px){.wizard,.trait-columns,.sheet-grid{grid-template-columns:1fr}.sheet-skill-list{columns:1}}.review-tabs{display:flex;gap:.5rem;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid #334155}.review-tabs .tab{background:transparent;border:1px solid #334155;color:#cbd5e1}.review-tabs .tab.active{background:#1e3a5f;border-color:#3b82f6;color:#f8fafc}.printable{background:#fff;color:#111;padding:1rem;border-radius:8px}.print-page{background:#fff;color:#111;padding:.4in;margin-bottom:1rem;border:1px solid #aaa;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:9.5pt;line-height:1.25}.print-page h1,.print-page h2,.print-page h3{color:#111;margin:0}.print-header{display:flex;justify-content:space-between;align-items:baseline;border-bottom:2px solid #111;padding-bottom:.25rem;margin-bottom:.5rem}.print-title h1{font-size:16pt;letter-spacing:.06em;font-weight:800}.print-subtitle{font-size:9pt;letter-spacing:.1em;color:#555;margin-left:.5rem;text-transform:uppercase}.print-name{font-size:10pt}.print-name label{font-weight:700;margin-right:.25rem}.print-name .name-field{border-bottom:1px solid #111;display:inline-block;min-width:18ch;padding:0 .25rem}.section-heading{font-size:10pt;font-weight:800;letter-spacing:.04em;text-transform:uppercase;border-bottom:1px solid #111;margin:.45rem 0 .25rem;padding-bottom:.1rem}.section-heading.subhead{font-size:9pt;border-bottom:none;margin-top:.4rem}.print-attributes .attr-row{display:grid;grid-template-columns:repeat(6,1fr);gap:.3rem;align-items:end}.attr-cell{text-align:center}.attr-label{font-size:8.5pt;font-weight:700;letter-spacing:.05em}.attr-hex{width:100%;max-width:56px;height:auto}.attr-value{font-size:22pt;font-weight:800;fill:#111}.print-cols{display:grid;grid-template-columns:1.4fr 1fr;gap:.75rem}.print-cols>section{min-width:0}.print-skills-table,.print-weapons-table{width:100%;border-collapse:collapse;font-size:9pt}.print-skills-table th,.print-skills-table td,.print-weapons-table th,.print-weapons-table td{border-bottom:1px solid #888;padding:.2rem .3rem;text-align:left;vertical-align:top;color:#111}.print-skills-table th,.print-weapons-table th{font-size:8pt;text-transform:uppercase;letter-spacing:.04em}.mono-num{font-variant-numeric:tabular-nums;font-family:ui-monospace,monospace;white-space:nowrap}.print-dl{display:grid;grid-template-columns:max-content 1fr;column-gap:.5rem;row-gap:.15rem;margin:0}.print-dl dt{font-weight:700}.print-dl dd{margin:0;border-bottom:1px solid #888;min-height:1.1em}.print-inventory{list-style:none;padding:0;margin:0}.print-inventory li{border-bottom:1px solid #888;padding:.1rem .2rem;min-height:1.1em}.trait-line,.cue-line{border-bottom:1px solid #888;padding:.1rem .2rem;min-height:1.2em}.cue-line{min-height:1.4em}.print-armor{margin-top:.5rem}.armor-pip-row{display:flex;align-items:center;gap:.4rem;margin-top:.25rem}.armor-pips{display:flex;gap:2px;flex-wrap:wrap}.print-cm .cm-track{display:flex;flex-direction:column;gap:.15rem;margin-top:.25rem}.print-cm .cm-row{display:flex;align-items:center;gap:.5rem}.print-cm .cm-pips{display:flex;gap:2px}.print-cm .hex-pip,.armor-pips .hex-pip{width:18px;height:21px;color:#111}.print-cm .cm-label{font-size:9pt;color:#111}.print-block .print-prose{white-space:pre-wrap;border:1px solid #888;padding:.35rem .5rem;min-height:2.5em;font-size:9pt}.blank-lines.tall{display:flex;flex-direction:column;gap:.35rem}.blank-line{border-bottom:1px solid #888;min-height:1.3em}.print-hardware-simple{margin-top:.4rem}.print-hardware-simple .muted{color:#666;font-size:8.5pt}@media print{@page{size:letter;margin:.4in}body{background:#fff;color:#111}.app,.app-header,.step-rail,.step-header,.step-nav,.validation,.review-tabs,.no-print,.review-actions,details{display:none!important}.wizard{display:block!important}.step-pane{background:#fff!important;border:none!important;padding:0!important}.printable{background:#fff!important;padding:0!important;border:none!important}.print-page{border:none!important;margin:0!important;padding:0!important;page-break-after:always;page-break-inside:avoid}.print-page:last-child{page-break-after:auto}}.print-tactical{margin-top:.4rem}.print-tactical-table{width:100%;border-collapse:collapse;font-size:9pt}.print-tactical-table th,.print-tactical-table td{border-bottom:1px solid #888;padding:.2rem .4rem;text-align:left;color:#111}.print-tactical-table th{font-size:8pt;text-transform:uppercase;letter-spacing:.04em}.print-tactical-table td:nth-child(3),.print-tactical-table td:nth-child(4),.print-tactical-table th:nth-child(3),.print-tactical-table th:nth-child(4){text-align:center;width:3rem}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}@media (max-width: 600px){.field-row{grid-template-columns:1fr}}.mode-selector{max-width:900px;margin:2rem auto}.mode-header h1{margin:0 0 .5rem;color:#f8fafc;font-size:1.8rem}.mode-header .muted{font-size:1rem;margin-bottom:2rem}.mode-cards{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:1.5rem}.mode-card{background:#1e293b;border:2px solid #334155;border-radius:12px;padding:1.5rem;text-align:left;cursor:pointer;color:#e5e7eb;font:inherit;transition:border-color .15s,transform .15s,background .15s}.mode-card:hover{background:#1e3a5f;border-color:#3b82f6;transform:translateY(-2px)}.mode-card h2{margin:0 0 .25rem;color:#f8fafc;font-size:1.4rem}.mode-card .mode-tagline{margin:0 0 1rem;color:#93c5fd;font-size:.95rem;font-weight:600}.mode-card ul{margin:0 0 1.25rem;padding-left:1.2rem;font-size:.9rem;line-height:1.5}.mode-card li{margin-bottom:.3rem}.mode-card .mode-action{display:inline-block;color:#93c5fd;font-weight:600;font-size:.95rem}.mode-footnote{margin-top:2rem;font-size:.85rem;text-align:center}@media (max-width: 700px){.mode-cards{grid-template-columns:1fr}}.tw-builder{max-width:1000px;margin:0 auto}.tw-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid #334155;flex-wrap:wrap}.tw-toolbar-right,.tw-tabs{display:flex;gap:.5rem;align-items:center}.tw-tabs .tab{background:transparent;border:1px solid #334155;color:#cbd5e1}.tw-tabs .tab.active{background:#1e3a5f;border-color:#3b82f6;color:#f8fafc}.tw-form{background:#1e293b;border:1px solid #334155;border-radius:8px;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.tw-form h2{margin:0;color:#f8fafc;font-size:1.2rem}.tw-form textarea{width:100%;resize:vertical}.tw-skills-table{border-collapse:collapse;font-size:11pt;width:auto;min-width:14rem}.tw-skills-table th,.tw-skills-table td{border-bottom:1px solid #888;padding:.3rem .75rem;text-align:left;color:#111}.atow-builder{display:flex;flex-direction:column;gap:1rem;padding:1rem}.atow-builder-toolbar{display:flex;gap:1rem;justify-content:flex-end}.atow-step-nav{display:flex;gap:.5rem;flex-wrap:wrap;padding-bottom:.5rem;border-bottom:1px solid var(--border, #ccc)}.atow-step-nav .step-pill{display:inline-flex;align-items:center;gap:.5rem;background:transparent;border:1px solid var(--border, #ccc);border-radius:999px;padding:.3rem .8rem;cursor:pointer;font-size:.9rem}.atow-step-nav .step-pill.active{background:var(--accent, #2a4a6a);color:#fff;border-color:var(--accent, #2a4a6a)}.atow-step-nav .step-pill .step-num{font-weight:700;opacity:.8}.atow-builder-body{display:grid;grid-template-columns:1fr 320px;gap:1.5rem;align-items:start}@media (max-width: 900px){.atow-builder-body{grid-template-columns:1fr}}.atow-step-pane{background:var(--bg, white);padding:1rem;border:1px solid var(--border, #ccc);border-radius:6px}.atow-ledger-sidebar{background:var(--bg-muted, #f5f5f5);padding:1rem;border:1px solid var(--border, #ccc);border-radius:6px;position:sticky;top:1rem;max-height:calc(100vh - 2rem);overflow-y:auto}.atow-ledger-sidebar .ledger-section+.ledger-section{margin-top:1rem;padding-top:1rem;border-top:1px dashed var(--border, #ccc)}.atow-ledger-sidebar h3{margin:0 0 .5rem;font-size:.95rem;text-transform:uppercase;letter-spacing:.5px;color:var(--muted, #666)}.ledger-grid{display:grid;grid-template-columns:auto 1fr;gap:.2rem .5rem;margin:0}.ledger-grid dt{font-weight:400;color:var(--muted, #666)}.ledger-grid dd{margin:0;text-align:right}.over-budget{color:#d33;font-weight:700}.attr-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.3rem 1rem;margin:0}.attr-grid-row{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}.attr-grid-row dt{font-weight:700;color:var(--muted, #666)}.attr-grid-row dd{margin:0;display:flex;flex-direction:column;align-items:flex-end}.attr-grid-row dd small{font-size:.7rem}.ledger-list{list-style:none;padding:0;margin:0;font-size:.85rem}.ledger-list li{padding:.15rem 0}.ledger-list.two-col{columns:2;font-size:.9rem}.ledger-list .issue-error{color:#d33}.ledger-list .issue-warning{color:#c80}.ledger-list .positive{color:#2a6}.ledger-list .negative{color:#c33}.atow-builder-nav{display:flex;justify-content:space-between;align-items:center;padding-top:1rem;border-top:1px solid var(--border, #ccc)}.atow-builder-nav button{padding:.5rem 1.2rem}.atow-builder-nav button.primary{background:var(--accent, #2a4a6a);color:#fff;border:none;border-radius:4px;cursor:pointer}.atow-builder-nav button.primary:disabled{opacity:.5;cursor:not-allowed}.step-counter{color:var(--muted, #666);font-size:.9rem}.affiliation-category{margin:.5rem 0}.affiliation-category h4{margin:.5rem 0 .25rem;font-size:.95rem;color:var(--muted, #666)}.affiliation-detail,.module-detail{margin-top:1.5rem;padding:1rem;background:var(--bg-muted, #f9f9f9);border-radius:6px}.affiliation-meta{display:grid;grid-template-columns:auto 1fr;gap:.3rem 1rem;margin:.5rem 0;font-size:.9rem}.affiliation-meta dt{font-weight:700;color:var(--muted, #666)}.affiliation-grants{margin-top:1rem}.affiliation-grants summary,.affiliation-notes summary{cursor:pointer;color:var(--muted, #666);font-size:.9rem}.field-tier{margin:.5rem 0}.field-tier h5{margin:.3rem 0;font-size:.9rem;color:var(--accent, #2a4a6a)}.flexible-notice{margin:1rem 0;padding:.5rem 1rem;background:#fff9e6;border-left:3px solid #c80;border-radius:4px;font-size:.9rem}.field-inline{display:inline-flex;align-items:center;gap:.5rem;margin:.3rem .5rem .3rem 0}.field-inline input[type=number]{width:80px}.unverified{color:#c80;font-style:italic}.capitalize{text-transform:capitalize}.callout.error{padding:1rem;background:#ffe0e0;border-left:4px solid #d33;margin:1rem 0}.atow-builder{color:#e5e7eb}.atow-step-pane,.atow-ledger-sidebar{background:#1e293b;border:1px solid #334155;color:#e5e7eb}.atow-ledger-sidebar h3{color:#cbd5e1}.atow-ledger-sidebar .ledger-section+.ledger-section{border-top:1px dashed #334155}.ledger-grid dt,.attr-grid-row dt{color:#94a3b8}.atow-step-nav{border-bottom-color:#334155}.atow-step-nav .step-pill{background:#1e293b;border-color:#334155;color:#cbd5e1}.atow-step-nav .step-pill.active{background:#1e3a5f;color:#f8fafc;border-color:#3b82f6}.atow-builder-nav{border-top-color:#334155}.atow-builder-nav .step-counter{color:#94a3b8}.affiliation-detail,.module-detail{background:#0f172a;border:1px solid #334155}.affiliation-detail h3,.module-detail h3{color:#f8fafc}.affiliation-category h4,.field-tier h5{color:#cbd5e1}.affiliation-meta dt{color:#94a3b8}.affiliation-grants summary,.affiliation-notes summary{color:#94a3b8}.flexible-notice{background:#3a2a0a;color:#f5d96f;border-left-color:#f59e0b}.unverified{color:#f59e0b}.callout.error{background:#3a0e0e;color:#fecaca;border-left-color:#ef4444}.radio-row,.checkbox-row{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:.5rem;padding:.25rem 0;cursor:pointer}.radio-row input[type=radio],.checkbox-row input[type=checkbox]{margin:0;align-self:center}.radio-row .radio-label,.checkbox-row .radio-label{display:inline;line-height:1.4}.radio-row:hover,.checkbox-row:hover{background:#3b82f614;border-radius:4px}.radio-row .muted,.checkbox-row .muted{color:#94a3b8}.atow-step-pane .field{display:block;margin:.75rem 0}.atow-step-pane .field-label{display:block;margin-bottom:.3rem;color:#cbd5e1;font-weight:600}.atow-step-pane .field input[type=text],.atow-step-pane .field textarea,.atow-step-pane .field-inline input,.atow-step-pane .field-inline select{background:#0f172a;color:#e5e7eb;border:1px solid #334155;border-radius:4px;padding:.4rem .6rem;font:inherit}.atow-step-pane .field input[type=text],.atow-step-pane .field textarea{width:100%}.atow-step-pane .field-inline{display:inline-flex;align-items:center;gap:.4rem;margin:.3rem .75rem .3rem 0}.atow-step-pane .field-inline span{color:#94a3b8}.atow-step-pane fieldset{border:1px solid #334155;border-radius:6px;padding:.85rem 1rem 1rem;margin:1rem 0}.atow-step-pane fieldset legend{padding:0 .4rem;color:#f8fafc;font-weight:600}.atow-step-pane .muted{color:#94a3b8}.atow-step-pane p{line-height:1.5}button.primary{background:#2563eb;color:#f8fafc;border:none;border-radius:4px;padding:.5rem 1rem;cursor:pointer}button.primary:disabled{opacity:.5;cursor:not-allowed}button.link{background:transparent;border:none;color:#60a5fa;cursor:pointer;padding:0}button.link:hover{text-decoration:underline}.applied-module-card{margin:1rem 0;padding:0;border:1px solid #334155;border-radius:6px;overflow:hidden}.applied-module-header{background:#1e3a5f;padding:.5rem 1rem;display:flex;align-items:center;gap:.5rem}.applied-module-header strong{color:#f8fafc}.applied-module-header .applied-remove{margin-left:auto;color:#fca5a5}.applied-module-header .applied-remove:hover{color:#ef4444}.applied-module-card .module-detail{background:#0f172a;border:none;border-radius:0;margin:0}.module-add-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.4rem}.module-add-btn{text-align:left;padding:.6rem .9rem;background:#0f172a;color:#e5e7eb;border:1px solid #334155;border-radius:4px;cursor:pointer;display:flex;flex-direction:column;gap:.15rem;font:inherit}.module-add-btn:hover{background:#1e3a5f;border-color:#3b82f6}.module-add-btn .module-add-name strong{color:#f8fafc}.atow-builder-toolbar{align-items:center;gap:.75rem}.atow-builder-toolbar .toolbar-spacer{flex:1}.atow-builder-toolbar .link{padding:.25rem .5rem}.atow-builder-toolbar .link:hover{background:#60a5fa1f;border-radius:4px}.random-menu{position:relative;display:inline-block}.random-menu-dropdown{position:absolute;top:calc(100% + 6px);right:0;background:#1e293b;border:1px solid #334155;border-radius:6px;box-shadow:0 8px 24px #00000080;min-width:320px;max-height:70vh;overflow-y:auto;z-index:50;padding:.25rem 0}.random-menu-item{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;width:100%;padding:.5rem .9rem;background:transparent;color:#e5e7eb;border:none;text-align:left;cursor:pointer;font:inherit}.random-menu-item:hover{background:#1e3a5f}.random-menu-item strong{color:#f8fafc}.random-menu-item small{color:#94a3b8;font-size:.78rem}.random-menu-sep{border:none;border-top:1px solid #334155;margin:.25rem 0}.atow-print-root{background:#fff;color:#000;font-family:Helvetica Neue,Arial,sans-serif;max-width:8.5in;margin:0 auto;font-size:9pt}.atow-page{width:8.5in;min-height:10.5in;padding:.4in .45in;box-sizing:border-box;page-break-after:always;break-after:page;background:#fff}.atow-page-2{page-break-after:avoid;break-after:avoid}.atow-print-header{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid black;padding-bottom:6pt;margin-bottom:8pt}.atow-print-logo .logo-line-1{font-size:22pt;font-weight:900;letter-spacing:.5pt;line-height:1}.atow-print-logo .logo-line-2{font-size:10pt;font-weight:700;letter-spacing:4pt;margin-top:2pt}.atow-print-title{font-size:12pt;font-weight:700;text-transform:uppercase;border:2px solid black;border-radius:8px;padding:4pt 12pt}.atow-box{border:1.5pt solid black;border-radius:6px;padding:6pt 8pt 4pt;margin:0 0 6pt;background:#fff;break-inside:avoid}.atow-box-legend{font-weight:800;font-size:9pt;text-transform:uppercase;letter-spacing:.5pt;padding:0 6pt;background:#fff;border:1.5pt solid black;border-radius:6px}.atow-grid{display:grid;gap:4pt 12pt}.atow-grid.two-col{grid-template-columns:1fr 1fr}.atow-grid.three-col{grid-template-columns:2fr 1fr 1fr}.atow-grid.four-col{grid-template-columns:repeat(4,1fr)}.atow-grid.two-col-split{grid-template-columns:minmax(180px,1fr) 2fr;gap:6pt}.atow-grid.compact{gap:2pt 6pt}.atow-grid.bio-grid{grid-template-columns:1.2fr 1fr;gap:8pt 12pt}.atow-field{display:flex;align-items:baseline;gap:4pt;font-size:9pt}.atow-field.block{display:block}.atow-field-label{font-weight:700;white-space:nowrap}.atow-field-value{flex:1;border-bottom:.75pt solid black;min-height:12pt;padding-left:4pt;padding-bottom:1pt;font-weight:500}.atow-field-suffix{padding-left:4pt;font-weight:400}.atow-field.long .atow-field-value{min-width:1in}.atow-field.block .atow-field-value{display:block;margin-top:1pt}.atow-table{width:100%;border-collapse:collapse;font-size:8.5pt}.atow-table th{text-align:left;font-weight:700;font-size:7.5pt;text-transform:uppercase;border-bottom:.75pt solid black;padding:1pt 3pt}.atow-table td{border-bottom:.5pt solid #444;padding:1pt 3pt;min-height:11pt;height:11pt}.atow-table td.c{text-align:center}.atow-table td.b{font-weight:700}.atow-table td.line{border-bottom:.5pt solid #999}.attr-table th,.attr-table td{padding-right:6pt}.attr-table td.c{font-weight:600}.compact-table{margin-top:3pt}.compact-table th{font-size:7pt}.compact-table td{height:10pt}.traits-table th:first-child{width:40%}.traits-table th:nth-child(3){width:20%}.traits-table th:nth-child(2),.traits-table th:nth-child(4){width:12%}.skills-table th:first-child{width:50%}.skills-cols .skills-table{font-size:8pt}.combat-block{font-size:8.5pt}.combat-row{display:flex;align-items:center;gap:6pt;padding:1pt 0}.combat-row.tight{gap:14pt}.combat-label{font-weight:700;text-transform:uppercase;font-size:7.5pt}.combat-sub{font-weight:600;font-size:8pt;min-width:88pt}.combat-sub.mt{margin-top:4pt;display:block}.pips-row{display:inline-flex;gap:1.5pt;flex-wrap:wrap}.pip{width:7pt;height:7pt;border:.6pt solid black;border-radius:50%;display:inline-block}.pip.filled{background:#000}.circle{display:inline-block;width:7pt;height:7pt;border:.6pt solid black;border-radius:50%;vertical-align:middle;margin-left:3pt}.inventory-table{margin-top:2pt}.inventory-table th:first-child{width:40%}.inventory-table th:nth-child(2){width:20%}.inventory-table td.line{height:14pt}.cbills-row{display:flex;align-items:center;gap:6pt;margin-top:4pt;font-size:9pt}.cbills-row .line-fill{flex:1;border-bottom:.75pt solid black;height:14pt}.vehicle-block{padding:3pt 0;border-bottom:.5pt dashed #888}.vehicle-block:last-child{border-bottom:none}.bio-line{display:flex;gap:4pt;padding:2pt 0;font-size:8.5pt;min-height:13pt}.bio-line .bio-label{font-weight:700;min-width:90pt}.bio-line .bio-value{flex:1;border-bottom:.5pt solid black}.bio-notes .bio-line{border-bottom:.5pt solid black}.mb{margin-bottom:3pt;display:block}@media print{body{background:#fff!important}.no-print{display:none!important}.atow-print-root{color:#000!important;background:#fff!important;max-width:none}.atow-page{margin:0}@page{size:letter;margin:.25in}}.equipment-section{margin:1.5rem 0}.equipment-section h3{margin:0 0 .5rem;color:#cbd5e1}.equipment-cat-tabs{display:flex;flex-wrap:wrap;gap:.25rem;margin-bottom:.5rem}.cat-tab{background:#0f172a;color:#cbd5e1;border:1px solid #334155;border-radius:4px;padding:.3rem .7rem;cursor:pointer;font:inherit;font-size:.85rem}.cat-tab:hover{background:#1e3a5f}.cat-tab.active{background:#2563eb;color:#f8fafc;border-color:#3b82f6}.equipment-template-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.4rem;max-height:280px;overflow-y:auto;padding-right:.25rem}.equipment-template-btn{background:#0f172a;color:#e5e7eb;border:1px solid #334155;border-radius:4px;text-align:left;padding:.5rem .7rem;cursor:pointer;font:inherit;display:flex;flex-direction:column;gap:.1rem}.equipment-template-btn:hover{background:#1e3a5f;border-color:#3b82f6}.equipment-template-btn .tpl-name strong{color:#f8fafc}.equipment-template-btn .tpl-data{font-size:.78rem}.equipment-template-btn .tpl-price{font-size:.78rem;align-self:flex-end}.equipment-inventory-table{width:100%;border-collapse:collapse;margin:.75rem 0}.equipment-inventory-table th,.equipment-inventory-table td{text-align:left;padding:.3rem .4rem;border-bottom:1px solid #334155;font-size:.85rem}.equipment-inventory-table th{color:#94a3b8;font-weight:600}.equipment-inventory-table input[type=text]{width:100%;background:#0f172a;color:#e5e7eb;border:1px solid #334155;border-radius:3px;padding:.2rem .4rem;font:inherit;font-size:.85rem}.vehicle-card{margin:1rem 0}.vehicle-card legend .link{margin-left:.5rem;color:#fca5a5}.advancement-pool{background:#1e3a5f;border:1px solid #3b82f6;border-radius:6px;padding:1rem;margin:1rem 0}.advancement-pool h3{margin:0 0 .5rem;color:#cbd5e1;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.advancement-pool dl{max-width:280px}.advancement-pool dd{color:#f8fafc}.advancement-pool dd strong{font-size:1.15rem}.advancement-section{margin:1.5rem 0}.advancement-section h3{margin:0 0 .5rem;color:#cbd5e1}.advancement-section h4{margin:.5rem 0 .3rem;color:#cbd5e1}.atow-grid.two-col-split.skills-cols,.skills-cols.two-col-split{grid-template-columns:1fr 1fr;gap:12pt}.skills-cols .skills-table{width:100%}@media print{html,body{background:#fff!important;color:#000!important;margin:0!important;padding:0!important;width:100%!important;height:auto!important}.app-header,.atow-builder-toolbar,.atow-step-nav,.atow-builder-nav,.atow-ledger-sidebar,.review-tabs,.no-print{display:none!important}.app,.atow-builder,.atow-builder-body,.atow-step-pane,.step-form{display:block!important;width:100%!important;max-width:none!important;padding:0!important;margin:0!important;background:#fff!important;color:#000!important;border:none!important;box-shadow:none!important}.atow-print-root{display:block!important;background:#fff!important;color:#000!important;max-width:none!important;margin:0!important}.atow-page{width:100%!important;min-height:auto!important;page-break-after:always;break-after:page;padding:0!important;margin:0!important;background:#fff!important}.atow-page-2{page-break-after:avoid;break-after:avoid}.atow-print-root *,.atow-print-root *:before,.atow-print-root *:after{color:#000!important;background:transparent!important;border-color:#000!important}.atow-print-root .pip.filled{background:#000!important}.atow-print-root .circle{border-color:#000!important}}@media print{.atow-page{min-height:0!important;width:8in!important;page-break-after:always!important;break-after:page!important}.atow-page-2{page-break-after:avoid!important;break-after:avoid!important}.atow-box,.atow-page>div,.atow-page>section{break-inside:avoid;page-break-inside:avoid}.atow-print-root{font-size:8.5pt!important}.atow-print-header{padding-bottom:4pt!important;margin-bottom:5pt!important}.atow-print-logo .logo-line-1{font-size:18pt!important}.atow-print-logo .logo-line-2{font-size:8pt!important;letter-spacing:3pt!important}.atow-print-title{font-size:10pt!important;padding:3pt 9pt!important}.atow-box{padding:4pt 6pt 3pt!important;margin:0 0 4pt!important}.atow-box-legend{font-size:8pt!important;padding:0 4pt!important}.atow-grid{gap:2pt 8pt!important}.atow-field{font-size:8pt!important}.atow-field-value{min-height:10pt!important;padding-bottom:0!important}.atow-table{font-size:7.5pt!important}.atow-table th{font-size:6.5pt!important;padding:0 2pt!important;line-height:1.1!important}.atow-table td{padding:0 2pt!important;height:9pt!important;min-height:9pt!important;line-height:1.1!important}.pip,.circle{width:6pt!important;height:6pt!important}.pips-row{gap:1pt!important}.combat-row{padding:0!important;gap:4pt!important}.combat-row.tight{gap:10pt!important}.combat-sub{font-size:7.5pt!important;min-width:78pt!important}.combat-sub.mt{margin-top:2pt!important}.combat-label{font-size:7pt!important}.inventory-table td.line{height:11pt!important}.vehicle-block{padding:2pt 0!important}.bio-line{padding:1pt 0!important;min-height:11pt!important;font-size:8pt!important}.bio-line .bio-label{min-width:84pt!important}}@media print{.atow-table{font-size:7pt!important}.atow-table th{font-size:6pt!important}.atow-table td{height:8pt!important;min-height:8pt!important;padding:0 2pt!important}.atow-field{font-size:7.5pt!important}.atow-field-value{min-height:9pt!important}.atow-box{margin-bottom:3pt!important;padding:3pt 5pt 2pt!important}.atow-grid{gap:1pt 6pt!important}.pip,.circle{width:5pt!important;height:5pt!important}.pips-row{gap:1pt!important}.combat-row{gap:3pt!important}.combat-sub{font-size:7pt!important;min-width:70pt!important}.combat-sub.mt{margin-top:1pt!important}.bio-line{padding:0!important;min-height:10pt!important;font-size:7.5pt!important}}
