:root{--bg: #e8dfc9;--bg-deep: #ddd2b6;--surface: #f1eada;--surface-2: #ebe2c9;--ink: #15110d;--ink-2: #4a4339;--mute: #6e6552;--rule: #b8aa86;--rule-strong: #8c7e5f;--rust: #a8330c;--rust-deep: #6e1f06;--rust-bright: #c44518;--olive: #4f6132;--olive-deep: #344020;--steel: #2a3640;--steel-deep: #1a2229;--crimson: #8e2620;--crimson-deep: #5e1611;--teal: #16626e;--teal-deep: #0e424a;--teal-bright: #1f7886;--warn: #8a5a09;--perk: #8a5a09;--orange: #e07a26;--font-display: "Chakra Petch", "Bahnschrift", sans-serif;--font-stencil: "Schibsted Grotesk", system-ui, sans-serif;--font-body: "Schibsted Grotesk", system-ui, sans-serif;--font-mono: "Schibsted Grotesk", system-ui, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button{font-family:inherit}input,textarea{font-family:inherit;color:inherit;background:transparent}input:focus-visible,textarea:focus-visible,button:focus-visible{outline:2px solid var(--rust);outline-offset:2px}body{background-image:repeating-linear-gradient(0deg,rgba(0,0,0,.012) 0px,rgba(0,0,0,.012) 1px,transparent 1px,transparent 3px),repeating-linear-gradient(90deg,rgba(0,0,0,.008) 0px,rgba(0,0,0,.008) 1px,transparent 1px,transparent 3px)}.display{font-family:var(--font-display);font-weight:700;letter-spacing:.04em;text-transform:uppercase}.stencil{font-family:var(--font-stencil);font-weight:700;letter-spacing:.06em;text-transform:uppercase}.label{font-family:var(--font-stencil);font-weight:700;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}a{color:var(--rust)}a:hover{color:var(--rust-bright)}.scroll::-webkit-scrollbar{width:11px;height:11px}.scroll::-webkit-scrollbar-track{background:var(--bg-deep)}.scroll::-webkit-scrollbar-thumb{background:var(--rule-strong);border:2px solid var(--bg-deep)}input.txt,textarea.txt{border:1px solid var(--rule);background:var(--surface);padding:9px 11px;width:100%;font-size:15px;font-family:var(--font-display);transition:border-color .1s,background .1s}input.txt:hover,textarea.txt:hover{background:#f6efdf}input.txt:focus,textarea.txt:focus{border-color:var(--ink)}input.txt::placeholder,textarea.txt::placeholder{color:var(--mute)}textarea.txt{min-height:60px;resize:vertical}.roster-num{font-family:var(--font-mono);font-weight:700;font-variant-numeric:tabular-nums;font-size:12px;letter-spacing:.1em;color:var(--mute)}.btn-press{transition:transform 80ms ease-out,background .1s,color .1s,border-color .1s,box-shadow .1s}.btn-press:hover:not(:disabled){filter:brightness(1.04)}.btn-press:active:not(:disabled){transform:translateY(1px)}button{transition:background .11s,color .11s,border-color .11s,transform 80ms,box-shadow .11s,filter .11s}button:not(:disabled):active{transform:translateY(1px)}.chip-hover{border-radius:4px}.chip-hover:hover:not(:disabled){background:var(--surface-2);border-color:var(--ink)!important}.chip-hover.is-active:hover:not(:disabled){filter:brightness(1.08)}.step-hover:hover:not(:disabled){filter:brightness(1.08);transform:scale(1.07)}.step-button{transition:transform 90ms cubic-bezier(.4,0,.2,1)}.step-button:active:not(:disabled){transform:scale(.92)}.step-ripple{position:absolute;width:8px;height:8px;margin-left:-4px;margin-top:-4px;background:currentColor;border-radius:50%;opacity:.55;pointer-events:none;animation:step-ripple-grow .58s cubic-bezier(.16,.84,.44,1) forwards}@keyframes step-ripple-grow{0%{transform:scale(1);opacity:.55}to{transform:scale(14);opacity:0}}.step-pulse-ring{position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border:2px solid currentColor;border-radius:2px;pointer-events:none;z-index:1;animation:step-pulse .52s cubic-bezier(.16,.84,.44,1) forwards}@keyframes step-pulse{0%{transform:scale(1);opacity:.85}60%{opacity:.4}to{transform:scale(1.9);opacity:0}}.has-edit-hint{position:relative}.has-edit-hint .hover-edit-hint{position:absolute;top:6px;right:8px;display:inline-flex;align-items:center;gap:4px;padding:2px 6px;background:var(--ink);color:var(--surface);font-family:var(--font-stencil);font-size:9.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;pointer-events:none;opacity:0;transform:translateY(-2px);transition:opacity .14s ease-out,transform .14s ease-out;z-index:3}.has-edit-hint:hover .hover-edit-hint,.has-edit-hint:focus-visible .hover-edit-hint{opacity:1;transform:translateY(0)}.has-edit-hint-inline .hover-edit-hint{position:static;background:transparent;color:inherit;padding:0;margin-left:4px;font-size:9.5px;width:0;overflow:hidden;white-space:nowrap;transition:width .16s ease-out,opacity .14s ease-out,margin-left .14s ease-out;display:inline-flex}.has-edit-hint-inline:hover .hover-edit-hint,.has-edit-hint-inline:focus-visible .hover-edit-hint{width:auto;opacity:1;transform:none}.hover-edit-hint-label{line-height:1}.hover-edit-hint svg{display:block;flex-shrink:0}.add-btn{border-radius:4px;transition:background .1s,color .1s,border-color .1s,transform 80ms,box-shadow 80ms}.add-btn:hover:not(:disabled){filter:brightness(1.06);box-shadow:0 1px 0 var(--ink)}.add-btn:active:not(:disabled){transform:translateY(1px);box-shadow:none}.cta-mech{transition:transform 90ms ease-out,background .11s,box-shadow .12s,filter .11s;position:relative;overflow:hidden}.cta-mech:hover:not(:disabled){background:var(--rust-bright)!important;box-shadow:0 4px 0 var(--rust-deep),0 6px 14px #a8330c59;transform:translateY(-2px)}.cta-mech:active:not(:disabled){transform:translateY(2px);box-shadow:0 0 0 var(--rust-deep),0 1px 3px #0003;filter:brightness(.95)}.cta-mech:after{content:"";position:absolute;top:0;left:-120%;width:60%;height:100%;background:linear-gradient(110deg,transparent,rgba(255,255,255,.18),transparent);transition:left .6s ease-out;pointer-events:none}.cta-mech:hover:not(:disabled):after{left:130%}.cta-mech-icon{width:22px;height:22px;display:inline-block;filter:brightness(0) invert(1);flex-shrink:0}.cta-mech-icon.icon-dark{filter:none}.bottombar{border-top:2px solid var(--ink);background:var(--surface);padding:14px 18px}.bottombar-row-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.bottombar-points{position:relative;display:flex;align-items:stretch;flex:1 1 0;min-width:160px;max-width:440px}.bottombar-mission-button{border:1.5px solid var(--ink);border-right:none;padding:0 10px;height:36px;cursor:pointer;font-family:var(--font-stencil);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;display:inline-flex;align-items:center;gap:5px;white-space:nowrap;border-radius:4px 0 0 4px;flex-shrink:0;transition:filter .1s}.bottombar-mission-button:hover{filter:brightness(1.08)}.bottombar-mission-label{line-height:1}.bottombar-bar-wrap{flex:1 1 0;min-width:0;display:flex;align-items:center;gap:8px;padding:0 10px;height:36px;border:1.5px solid var(--ink);border-left:none;border-radius:0 4px 4px 0;background:var(--bg-deep);overflow:hidden}.bottombar-seg-bar{flex:1 1 0;min-width:0;display:flex;gap:2px;align-items:center}.bottombar-seg-block{flex:1 1 0;height:12px;border-radius:1px;min-width:0;transition:background .12s}.bottombar-ton-label{font-size:12px;font-weight:700;letter-spacing:.04em;white-space:nowrap;flex-shrink:0}.bottombar-mission-popover{position:absolute;bottom:calc(100% + 4px);left:0;background:var(--surface);border:2px solid var(--ink);box-shadow:0 -4px 12px #0000002e;min-width:220px;z-index:100}.mission-popover-item{display:flex;align-items:center;justify-content:space-between;width:100%;background:transparent;border:none;border-bottom:1px solid var(--rule);padding:9px 12px;cursor:pointer;font-family:var(--font-stencil);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);text-align:left}.mission-popover-item:last-child{border-bottom:none}.mission-popover-item:hover{background:var(--bg)}.mission-popover-item.is-active{background:var(--ink);color:var(--surface)}.mission-popover-item.is-active .mono{color:#f1eadab3!important}.bottombar-add-mech{min-height:36px;background:var(--rust);color:var(--surface);border:2px solid var(--rust);padding:5px 14px;cursor:pointer;font-family:var(--font-body);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;display:inline-flex;align-items:center;gap:5px;white-space:nowrap;border-radius:5px;box-shadow:0 2px 0 var(--rust-deep);transition:background .11s,box-shadow 80ms,transform 80ms}.bottombar-add-mech:hover{background:var(--rust-bright);border-color:var(--rust-bright);box-shadow:0 3px 0 var(--rust-deep)}.bottombar-add-mech:active{transform:translateY(1px);box-shadow:0 1px 0 var(--rust-deep)}.bottombar-add-support{min-height:36px;background:var(--teal);color:var(--surface);border:2px solid var(--teal);padding:5px 14px;cursor:pointer;font-family:var(--font-body);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;display:inline-flex;align-items:center;gap:5px;white-space:nowrap;border-radius:5px;box-shadow:0 2px 0 var(--teal-deep);transition:background .11s,box-shadow 80ms,transform 80ms}.bottombar-add-support:hover{background:var(--teal-bright);border-color:var(--teal-bright);box-shadow:0 3px 0 var(--teal-deep)}.bottombar-add-support:active{transform:translateY(1px);box-shadow:0 1px 0 var(--teal-deep)}.bottombar-force-input{flex:1 1 180px;display:flex;align-items:center;border-bottom:1.5px solid var(--rule-strong);padding-bottom:1px;min-width:140px;margin-left:auto}.bottombar-force-input input{flex:1;min-width:0;background:transparent;border:none;outline:none;padding:3px 0;font-family:var(--font-display);font-size:16px;font-weight:700;letter-spacing:.03em;color:var(--ink)}.bottombar-force-input input::placeholder{color:var(--mute);font-weight:500;letter-spacing:.02em}.util-btn{min-height:36px;background:transparent;border:1.5px solid var(--rule-strong);color:var(--ink);padding:5px 14px;cursor:pointer;display:inline-flex;align-items:center;gap:5px;font-family:var(--font-body);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;flex-shrink:0;border-radius:4px;transition:background .1s,border-color .1s}.util-btn:hover{background:var(--bg);border-color:var(--ink)}.util-btn-print{background:var(--ink);color:var(--surface);border-color:var(--ink)}.util-btn-print:hover{background:#2d2620;border-color:var(--ink)}@keyframes cta-pulse{0%,to{box-shadow:0 0 #a8330c8c}50%{box-shadow:0 0 0 10px #a8330c00}}.cta-pulse{animation:cta-pulse 1.6s ease-out infinite}.row-expand{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1.5px solid var(--rule-strong);color:var(--rule-strong);width:22px;height:22px;cursor:pointer;border-radius:3px;font-size:16px;line-height:1;font-family:var(--font-mono);font-weight:400;transition:background .1s,color .1s,border-color .1s;flex-shrink:0;-webkit-user-select:none;user-select:none}.row-expand:hover,.row-expand.open{background:var(--ink);color:var(--surface);border-color:var(--ink)}.drag-source{cursor:grab}.drag-source:active{cursor:grabbing}.drag-source{position:relative}.drag-source:after{content:"⦿⦿⦿";position:absolute;left:5px;top:50%;transform:translateY(-50%);font-size:8px;letter-spacing:1px;color:var(--rule-strong);opacity:0;transition:opacity .15s;pointer-events:none;line-height:1}.drag-source:hover:after{opacity:1}.faction-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:8px}.faction-tile{display:flex;flex-direction:column;gap:6px;padding:16px 14px;text-align:left;background:var(--surface);border:2px solid var(--rule-strong);cursor:pointer;transition:background .11s,border-color .11s,color .11s,transform 80ms;min-height:110px;position:relative;overflow:hidden;isolation:isolate}.faction-tile:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:var(--faction-hover-bg, none);background-repeat:no-repeat;background-position:100% 50%;background-size:55%;opacity:0;transition:opacity .22s ease;z-index:-1;filter:grayscale(.4)}.faction-tile:hover:before{opacity:.45}.faction-tile.is-active:before{opacity:.6;filter:grayscale(0)}.faction-tile-authorities{border-color:var(--olive);border-top-width:4px}.faction-tile-authorities:hover{background:#ede9d2;border-color:var(--olive-deep)}.faction-tile-authorities.is-active{background:var(--olive);border-color:var(--olive-deep);color:var(--surface)}.faction-tile-corporations{border-color:var(--steel);border-top-width:4px}.faction-tile-corporations:hover{background:#e1ddc7;border-color:var(--steel-deep)}.faction-tile-corporations.is-active{background:var(--steel);border-color:var(--steel-deep);color:var(--surface)}.faction-tile-freelancers{border-color:var(--crimson);border-top-width:4px}.faction-tile-freelancers:hover{background:#efd6c8;border-color:var(--crimson-deep)}.faction-tile-freelancers.is-active{background:var(--crimson);border-color:var(--crimson-deep);color:var(--surface)}.faction-tile-name{font-family:var(--font-display);font-size:17px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;line-height:1.1}.faction-tile-blurb{font-family:var(--font-body);font-size:12px;line-height:1.4;color:var(--ink-2)}.faction-tile.is-active .faction-tile-blurb{color:#f1eadac7}@media (max-width: 540px){.drag-source{cursor:grab}.drag-source:active{cursor:grabbing}.drag-source{position:relative}.drag-source:after{content:"⦿⦿⦿";position:absolute;left:5px;top:50%;transform:translateY(-50%);font-size:8px;letter-spacing:1px;color:var(--rule-strong);opacity:0;transition:opacity .15s;pointer-events:none;line-height:1}.drag-source:hover:after{opacity:1}.faction-tiles{grid-template-columns:1fr}.faction-tile{min-height:0;padding:12px}}.tok{display:inline;border-bottom:1.5px dotted var(--mute);cursor:help;padding-bottom:1px;transition:color .1s,border-color .1s,background .1s}.tok:hover,.tok:focus{color:var(--rust);border-bottom-color:var(--rust);background:#a8330c0f;outline:none}.tok.active{color:var(--rust);border-bottom:2px solid var(--rust)}.tooltip-popover{background:var(--ink);color:var(--surface);border:1.5px solid var(--rust);padding:11px 13px;font-family:var(--font-body);font-size:13px;line-height:1.5;width:max-content;max-width:min(340px,calc(100vw - 24px));z-index:200;box-shadow:0 6px 18px #00000059;pointer-events:auto}.tooltip-title{font-family:var(--font-stencil);font-weight:700;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--rust-bright);margin-bottom:4px}.navbar-strip{background:#000;color:#fff}.navbar-inner{max-width:1400px;margin:0 auto;padding:12px 22px;display:flex;align-items:center;gap:22px;flex-wrap:wrap}.navbar-logo{display:inline-flex;align-items:center}.navbar-logo img{height:28px;display:block;filter:brightness(0) invert(1)}.navbar-links{display:flex;gap:4px;align-items:center;flex:1;flex-wrap:wrap;justify-content:flex-end}.navbar-links a{color:var(--rust);text-decoration:none;font-family:var(--font-body);font-size:16px;font-weight:600;padding:6px 14px;transition:color .11s}.navbar-links a:hover{color:var(--rust-bright)}.navbar-buynow{background:var(--rust);color:#fff;text-decoration:none;font-family:var(--font-body);font-weight:700;font-size:15px;padding:8px 18px;border:2px solid var(--rust);border-radius:0;transition:background .11s,color .11s,border-color .11s,transform 80ms}.navbar-buynow:hover{background:var(--rust-bright);border-color:var(--rust-bright)}.navbar-buynow:active{transform:translateY(1px)}.workshop-tabs{display:flex;background:var(--bg);border-bottom:2px solid var(--ink);flex-shrink:0}.workshop-tab{flex:1;background:transparent;border:none;border-right:1px solid var(--rule);padding:14px 8px;cursor:pointer;font-family:var(--font-stencil);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);transition:background .11s,color .11s}.workshop-tab:last-child{border-right:none}.workshop-tab:hover{background:var(--surface-2);color:var(--ink)}.workshop-tab.is-active{background:var(--ink);color:var(--surface)}.workshop-content{flex:1;overflow-y:auto;padding:24px 28px 36px;min-height:0}.print-only{display:none}.print-preview-mode{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#444;overflow:auto;display:flex;flex-direction:column}.print-preview-toolbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--ink);color:var(--surface);padding:8px 14px;border-bottom:1px solid #000}.print-preview-toolbar-left{display:flex;align-items:baseline;gap:12px}.print-preview-toolbar-title{font-family:var(--font-stencil);font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.print-preview-toolbar-meta{font-family:var(--font-mono);font-size:11px;color:var(--mute);letter-spacing:.04em}.print-preview-toolbar-right{display:flex;gap:8px}.print-preview-toolbar .add-btn{background:var(--surface);color:var(--ink);border:1.5px solid var(--surface);padding:6px 12px;font-family:var(--font-stencil);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.print-preview-toolbar .add-btn:hover{filter:brightness(1.1)}.print-preview-pages{flex:1;padding:24px 0 40px;display:flex;flex-direction:column;align-items:center;gap:18px}.print-preview-pages .print-page{width:8.5in;min-height:11in;margin:0;background:#fff;box-shadow:0 0 12px #00000073;color:#000;position:relative}@media print{@page{size:Letter;margin:.25in}body{background:#fff!important;background-image:none!important}.no-print{display:none!important}.print-only{display:block!important}html,body{color:#000!important}.print-preview-mode{position:static!important;background:#fff!important;overflow:visible!important;display:block!important}.print-preview-pages{padding:0!important;gap:0!important;display:block!important}.print-preview-pages .print-page{width:auto!important;min-height:0!important;box-shadow:none!important;margin:0!important}.print-page{page-break-after:always;break-after:page;background:#fff}.print-page:last-child{page-break-after:auto;break-after:auto}}.print-agenda-page{padding:.55in .6in .5in;display:flex;flex-direction:column;gap:0}.agenda-page-header{border-bottom:2px solid #15110d;padding-bottom:6pt;margin-bottom:18pt;display:flex;align-items:baseline;gap:14pt}.agenda-page-title{font-family:Chakra Petch,sans-serif;font-size:22pt;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#15110d}.agenda-page-sub{font-size:9pt;color:#6e6552;font-family:Schibsted Grotesk,sans-serif;letter-spacing:.08em;text-transform:uppercase}.agenda-list{display:grid;grid-template-columns:1fr 1fr;gap:14pt 24pt;align-items:start}.agenda-entry{border-left:3px solid #a8330c;padding-left:10pt}.agenda-entry-head{display:flex;align-items:baseline;gap:8pt;margin-bottom:3pt}.agenda-entry-name{font-family:Chakra Petch,sans-serif;font-size:11pt;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#15110d}.agenda-entry-source{font-size:8pt;color:#a8330c;font-family:Schibsted Grotesk,sans-serif;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.agenda-entry-req{font-size:8pt;color:#6e6552;font-family:Schibsted Grotesk,sans-serif;font-style:italic;margin-bottom:4pt}.agenda-entry-text{font-size:9pt;color:#4a4339;font-family:Schibsted Grotesk,sans-serif;line-height:1.55}.print-cover{padding:.6in}.print-cover-inner{font-family:Schibsted Grotesk,system-ui,sans-serif;color:#000;max-width:7.4in}.print-faction-logo{max-width:1.4in;max-height:1.4in;object-fit:contain;margin-bottom:.18in}.print-force-id{border-bottom:2px solid #000;padding-bottom:.18in;margin-bottom:.24in}.print-force-eyebrow{font-family:var(--font-body),ui-monospace,monospace;font-size:9.5pt;letter-spacing:.22em;color:#555;margin-bottom:4pt}.print-force-name{font-family:Chakra Petch,sans-serif;font-size:32pt;font-weight:700;letter-spacing:.04em;text-transform:uppercase;line-height:1.05;margin-bottom:6pt}.print-force-meta{font-family:var(--font-body);font-size:10.5pt;color:#222}.print-block{margin-bottom:.18in}.print-block-label{font-family:var(--font-body);font-size:9pt;letter-spacing:.18em;text-transform:uppercase;color:#777;margin-bottom:3pt}.print-block-value{font-family:Chakra Petch,sans-serif;font-size:14pt;font-weight:600;letter-spacing:.03em}.print-block-sub{font-size:10pt;color:#333;margin-top:3pt;line-height:1.4}.print-italic{font-style:italic;color:#555}.print-cards-page{padding:0}.page-card-grid{display:grid;grid-template-columns:repeat(3,2.5in);grid-template-rows:repeat(3,3.5in);gap:0;width:7.5in;margin:0 auto;padding-top:.1in}.game-card{width:2.5in;height:3.5in;box-sizing:border-box;outline:1px solid #999;background:#fff;overflow:hidden;page-break-inside:avoid;break-inside:avoid;position:relative}.game-card-blank{outline:1px dashed #ccc}.game-card-inner{padding:4pt;font-family:Schibsted Grotesk,system-ui,sans-serif;font-size:8pt;line-height:1.3;color:#000;height:100%;display:flex;flex-direction:column}.card-name-band{font-family:Chakra Petch,sans-serif;font-weight:700;font-size:12pt;letter-spacing:.02em;text-transform:uppercase;line-height:1.05;padding:1pt 4pt 3pt;color:#000}.card-row{display:flex;gap:4pt}.card-row-id{margin-bottom:2pt;align-items:stretch}.card-class-band{flex:0 0 38%;background:#ddd;font-family:Chakra Petch,sans-serif;font-size:8pt;letter-spacing:.04em;padding:2pt 4pt;display:flex;align-items:center}.card-stats-table{flex:1;border-collapse:collapse;font-family:var(--font-body)}.card-stats-table th{font-family:Chakra Petch,sans-serif;font-weight:500;font-size:7.5pt;background:#ddd;padding:1pt 0;text-align:center}.card-stats-table td{font-size:9pt;font-weight:700;padding:1.5pt 0;text-align:center}.card-row-damage{display:grid;grid-template-columns:42% 58%;gap:3pt;margin-bottom:3pt}.card-armor-col{padding-right:1pt}.card-structure-col{display:flex;gap:3pt}.card-structure-stack{flex:1;min-width:0}.card-crit{padding-right:1pt}.hp-heading{font-family:Chakra Petch,sans-serif;font-size:7.5pt;letter-spacing:.04em;padding:1pt 4pt;background:#ddd;margin-bottom:1pt}.hp-container{padding-left:3pt;padding-top:1pt}.hp-row{display:flex;align-items:start;gap:1px;margin-bottom:1px}.hp{display:inline-flex;align-items:center;justify-content:center;width:9pt;height:9pt;border:1pt solid #000;font-family:var(--font-body);font-size:6pt;font-weight:700;line-height:1;background:#fff;flex-shrink:0}.hp-armor{border-radius:50%/25% 25% 75% 75%}.hp-structure{border-radius:50%}.card-crit-heading{font-family:Chakra Petch,sans-serif;font-size:7.5pt;letter-spacing:.04em;padding:1pt 0}.table-crit{border-collapse:collapse;font-size:6pt;font-family:Schibsted Grotesk,sans-serif}.table-crit td{padding:.5pt 2pt .5pt 0;white-space:nowrap}.table-crit .num{text-align:right;font-family:var(--font-body);font-weight:700}.card-section-heading{font-family:Chakra Petch,sans-serif;font-size:8pt;letter-spacing:.04em;background:#ddd;padding:1.5pt 4pt;margin:2pt 0}.card-weapons-table{width:100%;border-collapse:collapse;font-size:7pt}.card-weapons-table th{font-family:Chakra Petch,sans-serif;font-size:6.5pt;font-weight:500;text-align:left;padding:1pt 2pt .5pt 4pt;border-bottom:.4pt solid #444}.card-weapons-table th.num{text-align:center;padding-left:0;padding-right:0}.card-weapons-table td{padding:1pt 2pt 1pt 4pt;border-bottom:.25pt solid #aaa;vertical-align:top}.card-weapons-table td.num{text-align:center;font-family:var(--font-body);font-weight:700;padding-left:0;padding-right:0}.card-weapons-table tr:last-child td{border-bottom:none}.card-weapons-table .card-traits{font-size:6pt;color:#444;line-height:1.3}.card-upgrades-list{font-size:7pt;line-height:1.4;padding:1pt 4pt 0;margin-top:auto}.card-trait-defs,.card-upgrade-defs{padding:1pt 4pt;font-size:6.5pt;line-height:1.35;color:#222}.card-trait-def-entry,.card-upgrade-def-entry{margin-bottom:1.5pt}.card-trait-def-name{font-weight:700;font-family:Chakra Petch,sans-serif;font-size:6pt;letter-spacing:.03em;text-transform:uppercase}.card-upgrade-def-rule{color:#333}.card-support-summary{font-style:italic;font-size:7pt;color:#555;padding:1pt 4pt;margin:1pt 0 2pt;line-height:1.35}.card-loadout-list{margin:1pt 0 2pt;padding:1pt 4pt 1pt 16pt;font-size:7pt;line-height:1.4;color:#000}.card-loadout-list li{margin-bottom:1pt}.card-support-stats{width:100%;border-collapse:collapse;margin:1pt 0 2pt}.card-support-stats th{font-family:Chakra Petch,sans-serif;font-size:6.5pt;font-weight:500;color:#444;text-align:left;padding:1pt 3pt 1pt 4pt;border-bottom:.25pt solid #aaa;vertical-align:top;width:32%}.card-support-stats td{font-family:var(--font-body);font-size:7pt;padding:1pt 0;border-bottom:.25pt solid #aaa}.card-support-rules{font-size:6.5pt;line-height:1.4;color:#222;margin-top:auto;padding:2pt 4pt 0}.print-ref-page{padding:.5in .6in}.print-ref{font-family:Schibsted Grotesk,system-ui,sans-serif;color:#000;font-size:10pt;line-height:1.45}.print-ref-h1{font-family:Chakra Petch,sans-serif;font-size:24pt;font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin:0 0 .2in;border-bottom:2pt solid #000;padding-bottom:4pt}.print-ref-h2{font-family:var(--font-body);font-size:11pt;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin:.18in 0 .06in;color:#b04020}.print-ref-section{margin-bottom:.18in;page-break-inside:avoid}.print-ref-dl{margin:0;padding:0;display:grid;grid-template-columns:1.4in 1fr;gap:4pt 12pt}.print-ref-dl-2col{grid-template-columns:1.2in 1fr 1.2in 1fr}.print-ref-dl dt{font-weight:700;font-size:9.5pt}.print-ref-dl dd{margin:0;font-size:9pt;color:#222}.print-ref-team{margin-bottom:5pt}.print-ref-team-name{font-family:Chakra Petch,sans-serif;font-weight:600;font-size:10.5pt}.print-ref-team-blurb{font-size:9pt;color:#444}.app-shell{height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden}.app-shell>.navbar-strip,.app-shell>.topbar,.app-shell>.bottombar{flex-shrink:0}.app-shell>.layout{flex:1;min-height:0}@media (min-width: 961px){.layout{display:grid;grid-template-columns:minmax(440px,1fr) 1.35fr;overflow:hidden}.sidebar,.editor-col{overflow-y:auto}}@media (max-width: 960px){.layout{display:flex;flex-direction:column;overflow-y:auto}.sidebar,.editor-col{overflow:visible}.editor-col{border-left:none!important;border-top:1.5px solid var(--rule-strong)}.sidebar{border-right:none!important;border-bottom:1.5px solid var(--rule-strong)}}@media (max-width: 760px){body,html{font-size:14px}.navbar-inner{padding:8px 14px;gap:12px;flex-wrap:nowrap}.navbar-logo img{height:18px}.navbar-links{display:none}.navbar-buynow{font-size:11px;padding:6px 12px;margin-left:auto}.bottombar{padding:6px 8px!important}.bottombar-row-top{gap:5px!important}.bottombar-points{flex:1 1 100%!important}.bottombar-force-input{flex:1 1 100%!important;margin-left:0!important;order:1}.bottombar-force-input input{font-size:15px!important}.util-btn{padding:5px 8px;font-size:10.5px}.workshop-tab{font-size:11px;padding:9px 10px}.workshop-content{padding:12px 10px}.section-title{font-size:11px}.util-label{display:none}.bottombar-add-mech,.bottombar-add-support{min-height:36px;padding:5px 9px!important;font-size:10.5px!important}.sidebar{padding:14px 12px 20px!important}.editor-col{padding:18px 14px 28px!important}.ton-breakdown{grid-template-columns:repeat(3,1fr)!important}.ton-breakdown>*:nth-child(4),.ton-breakdown>*:nth-child(5){border-top:1px solid var(--rule)}.ton-breakdown>*:nth-child(3){border-right:none!important}.class-picker>button{padding:8px 4px!important}.class-picker .display{font-size:22px!important}.briefing-hero{font-size:28px!important;letter-spacing:.01em!important}}@media (max-width: 380px){.ton-breakdown{grid-template-columns:repeat(2,1fr)!important}}.assign-candidate:hover{background:var(--surface-2)!important}.editor-identity{overflow:hidden}.loadout-chip{display:inline-block;font-family:var(--font-mono);font-size:9.5px;font-weight:600;letter-spacing:.04em;padding:1px 5px;border-radius:2px;border:1px solid transparent;white-space:nowrap;animation:chip-load .18s cubic-bezier(.22,1,.36,1) both;transform-origin:left center}@keyframes chip-load{0%{opacity:0;transform:scaleX(.5) translate(-4px)}to{opacity:1;transform:scaleX(1) translate(0)}}.slot-pip{width:13px;height:13px;border-radius:50%;display:inline-block;flex-shrink:0;transition:background .12s,border-color .12s}.slot-pip-filled{animation:pip-pop .22s cubic-bezier(.34,1.56,.64,1) both}@keyframes pip-pop{0%{transform:scale(.4);opacity:.5}60%{transform:scale(1.25)}to{transform:scale(1);opacity:1}}.adjuster-grid{display:grid;grid-template-columns:minmax(240px,280px) minmax(240px,280px);gap:14px;margin-top:22px;align-items:stretch}.adjuster-grid--with-rule{grid-template-columns:minmax(240px,280px) minmax(240px,280px) minmax(220px,1fr)}.adjuster-rule-card{background:var(--surface-2);border:1px solid var(--rule);border-left:3px solid var(--rust);padding:10px 14px;font-size:12px;line-height:1.55;color:var(--ink-2);display:flex;flex-direction:column;justify-content:center;gap:4px}.adjuster-rule-card-title{font-family:var(--font-stencil);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);font-weight:700}.adjuster-rule-card-body{font-size:11.5px;line-height:1.5}@media (max-width: 540px){.loadout-chip{display:inline-block;font-family:var(--font-mono);font-size:9.5px;font-weight:600;letter-spacing:.04em;padding:1px 5px;border-radius:2px;border:1px solid transparent;white-space:nowrap;animation:chip-load .18s cubic-bezier(.22,1,.36,1) both;transform-origin:left center}@keyframes chip-load{0%{opacity:0;transform:scaleX(.5) translate(-4px)}to{opacity:1;transform:scaleX(1) translate(0)}}.slot-pip{width:13px;height:13px;border-radius:50%;display:inline-block;flex-shrink:0;transition:background .12s,border-color .12s}.slot-pip-filled{animation:pip-pop .22s cubic-bezier(.34,1.56,.64,1) both}@keyframes pip-pop{0%{transform:scale(.4);opacity:.5}60%{transform:scale(1.25)}to{transform:scale(1);opacity:1}}.adjuster-grid,.adjuster-grid--with-rule{grid-template-columns:1fr}}.weapon-row-main{display:grid;grid-template-columns:auto 1fr 128px auto auto auto 28px;align-items:center;gap:12px;padding:9px 14px}.weapon-row-bottom{display:contents}@media (max-width: 540px){.adjuster-grid{display:grid;grid-template-columns:minmax(240px,280px) minmax(240px,280px);gap:14px;margin-top:22px;align-items:stretch}.adjuster-grid--with-rule{grid-template-columns:minmax(240px,280px) minmax(240px,280px) minmax(220px,1fr)}.adjuster-rule-card{background:var(--surface-2);border:1px solid var(--rule);border-left:3px solid var(--rust);padding:10px 14px;font-size:12px;line-height:1.55;color:var(--ink-2);display:flex;flex-direction:column;justify-content:center;gap:4px}.adjuster-rule-card-title{font-family:var(--font-stencil);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);font-weight:700}.adjuster-rule-card-body{font-size:11.5px;line-height:1.5}.loadout-chip{display:inline-block;font-family:var(--font-mono);font-size:9.5px;font-weight:600;letter-spacing:.04em;padding:1px 5px;border-radius:2px;border:1px solid transparent;white-space:nowrap;animation:chip-load .18s cubic-bezier(.22,1,.36,1) both;transform-origin:left center}@keyframes chip-load{0%{opacity:0;transform:scaleX(.5) translate(-4px)}to{opacity:1;transform:scaleX(1) translate(0)}}.slot-pip{width:13px;height:13px;border-radius:50%;display:inline-block;flex-shrink:0;transition:background .12s,border-color .12s}.slot-pip-filled{animation:pip-pop .22s cubic-bezier(.34,1.56,.64,1) both}@keyframes pip-pop{0%{transform:scale(.4);opacity:.5}60%{transform:scale(1.25)}to{transform:scale(1);opacity:1}}.adjuster-grid,.adjuster-grid--with-rule{grid-template-columns:1fr}.weapon-row-main{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:8px 10px}.weapon-row-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:6px;gap:6px}}.equipped-summary{margin-top:18px;border:1px solid var(--rule);background:var(--surface)}.equipped-summary--empty{padding:14px 16px;font-size:12.5px;color:var(--mute);font-style:italic;text-align:center;background:var(--surface-2)}.equipped-summary-head{font-family:var(--font-stencil);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);background:var(--surface-2);padding:6px 12px;border-bottom:1px solid var(--rule);font-weight:700}.equipped-block+.equipped-block{border-top:1px solid var(--rule)}.equipped-block-label{font-family:var(--font-mono);font-size:8.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);padding:6px 12px 2px;font-weight:700}.equipped-weapon-row{display:grid;grid-template-columns:minmax(140px,200px) auto 1fr;gap:10px;align-items:center;padding:4px 12px 5px}.equipped-rule-row{display:grid;grid-template-columns:minmax(140px,200px) 1fr;gap:10px;align-items:baseline;padding:4px 12px 5px}.equipped-rule-row+.equipped-rule-row,.equipped-weapon-row+.equipped-weapon-row{border-top:1px dashed var(--rule)}.equipped-name{font-weight:600;font-size:12px;color:var(--ink);display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.equipped-count{font-family:var(--font-mono);font-size:10px;font-weight:700;color:var(--rust);letter-spacing:.04em}.equipped-traits{font-size:10.5px;color:var(--ink-2);line-height:1.4}.equipped-rule-text{font-size:10.5px;color:var(--ink-2);line-height:1.55}@media (max-width: 760px){.equipped-weapon-row,.equipped-rule-row{grid-template-columns:1fr;gap:4px}}.equipped-weapon-row{transition:background-color .2s ease-out}.equipped-weapon-row.fly-target-pulse{animation:fly-target-flash .6s ease-out}@keyframes fly-target-flash{0%{background-color:transparent}30%{background-color:#4f61322e}to{background-color:transparent}}.chip-popin{animation:chip-popin .38s cubic-bezier(.34,1.56,.64,1) both;transform-origin:left center}@keyframes chip-popin{0%{opacity:0;transform:scale(.55) translate(-12px)}60%{opacity:1;transform:scale(1.04) translate(2px)}to{opacity:1;transform:scale(1) translate(0)}}.slot-pip{border-radius:50%;display:inline-block;flex-shrink:0;transition:background .12s,border-color .12s}.slot-pip-filled{animation:slot-pip-burst .32s cubic-bezier(.34,1.9,.64,1) both}@keyframes slot-pip-burst{0%{transform:scale(.2);opacity:0}55%{transform:scale(1.5);opacity:1}80%{transform:scale(.9)}to{transform:scale(1)}}.cost-float{position:absolute;pointer-events:none;font-family:var(--font-stencil);font-size:14px;font-weight:700;letter-spacing:.08em;color:var(--rust);white-space:nowrap;transform:translate(-50%,-50%);animation:cost-float .75s cubic-bezier(.16,.84,.44,1) forwards;z-index:200;text-shadow:0 1px 3px rgba(0,0,0,.18)}@keyframes cost-float{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}18%{opacity:1;transform:translate(-50%,calc(-50% - 6px)) scale(1.22)}to{opacity:0;transform:translate(-50%,calc(-50% - 40px)) scale(.75)}}
