:root{--bg: #15110d;--panel: #1f1a14;--panel-2: #2a2218;--ink: #ece3d2;--ink-dim: #b7a98c;--accent: #f7b500;--accent-2: #d05a2b;--good: #6ec27a;--bad: #e25a5a;--line: #3a2f20;--mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--serif: "Iowan Old Style", "Palatino Linotype", Palatino, "Hoefler Text", Georgia, serif;--sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--paper-head: "Keania One", "Iowan Old Style", Georgia, serif;--paper-body: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--paper-bg: #f3eedd;--paper-soft: #ebe2c9;--paper-line: #c8b896;--paper-ink: #1a1206;--paper-dim: #5e4a25;--paper-muted: #8b7544;--paper-accent:#774a0a}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:var(--sans)}body{min-height:100vh}.topbar{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:linear-gradient(180deg,#221a10,#0e0a06);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:14px}.brand .logo{font-size:28px;color:var(--accent);text-shadow:0 0 12px rgba(247,181,0,.45);transform:translateY(-1.5px)}.brand h1{margin:0;font-size:20px;letter-spacing:.04em;text-transform:uppercase}.brand .atomizer{font-style:italic;font-weight:400;letter-spacing:.04em;margin-right:4px}.brand .sub{color:var(--ink-dim);font-weight:400;font-size:14px;letter-spacing:.06em}.brand h1 a{color:inherit;font:inherit;letter-spacing:inherit;text-decoration:none}.brand h1 a:hover{color:var(--accent)}.brand h1 a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.actions button{margin:0}.layout{display:grid;grid-template-columns:minmax(380px,1fr) minmax(420px,1fr);gap:20px;padding:20px;max-width:1400px;margin:0 auto}@media(max-width:980px){.layout{grid-template-columns:1fr}}.builder{display:flex;flex-direction:column;gap:16px}.card{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:14px 16px}.card legend{padding:0 8px;color:var(--accent);letter-spacing:.05em;text-transform:uppercase;font-size:13px;font-weight:600}.env-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.env-block{display:flex;flex-direction:column;gap:4px}.env-block-title{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:2px}.env-block .hint{margin:4px 0 0}.env-block select{padding:2px 6px}.env-block .env-subhead{margin-top:8px}.env-share{display:flex;justify-content:flex-end;margin-top:10px}.env-share .copy-icon{font-size:14px;margin-right:2px}.row{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}.row>label{flex:1 1 200px;display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--ink-dim)}.row.controls{align-items:center}input[type=text],select{background:var(--panel-2);color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:8px 10px;font:inherit;width:100%}select{appearance:none;padding-right:28px;background-image:linear-gradient(45deg,transparent 50%,var(--accent) 50%),linear-gradient(135deg,var(--accent) 50%,transparent 50%);background-position:calc(100% - 16px) 50%,calc(100% - 11px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}input[type=checkbox]{accent-color:var(--accent)}button{background:var(--accent);color:#1a1206;border:none;border-radius:6px;padding:8px 12px;cursor:pointer;font:inherit;font-weight:600}button:hover{filter:brightness(1.07)}button:disabled{background:#5a4f3a;color:#8a8270;cursor:not-allowed}button.ghost{background:transparent;color:var(--accent);border:1px solid var(--accent)}button.ghost:hover{background:#f7b50014}.hint{color:var(--ink-dim);font-size:12px;margin:6px 0 0}.muted{color:var(--ink-dim);font-weight:400}label.inline{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--ink-dim)}.panel{margin-top:10px;display:flex;flex-direction:column;gap:8px}.stats-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:10px}@media(max-width:700px){.stats-grid{grid-template-columns:repeat(3,1fr)}}.stat-box{background:var(--panel-2);border:1px solid var(--line);border-radius:6px;padding:8px;text-align:center}.stat-box .name{font-size:11px;color:var(--ink-dim);letter-spacing:.1em;text-transform:uppercase}.stat-box .num{font-family:var(--mono);font-size:22px;color:var(--ink);margin:2px 0}.stat-box .mod{color:var(--accent);font-weight:700;font-family:var(--mono)}.stat-box .base{font-size:10px;color:var(--ink-dim);font-family:var(--mono)}.stat-box.bumped .base{color:var(--good)}.stat-box.selectable{cursor:pointer}.stat-box.selectable:hover{border-color:var(--accent)}.stat-box.selected{outline:2px solid var(--accent)}.stat-box.bumped .num{color:var(--good)}.mutation{background:var(--panel-2);border:1px solid var(--line);border-left:3px solid var(--accent-2);border-radius:6px;padding:8px 10px}.mutation .title{color:var(--accent);font-weight:700;font-size:13px}.mutation .meta{font-size:12px;color:var(--ink-dim);margin:2px 0}.mutation .desc{font-size:13px}.appearance-list{list-style:square;padding-left:18px;color:var(--ink-dim);font-size:13px;margin:4px 0}.equipment-block>label{font-size:13px;color:var(--ink-dim)}.check-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:4px 12px;margin-top:6px;padding-right:4px;border-top:1px dashed var(--line);padding-top:6px}.check-grid label{font-size:12px;color:var(--ink);display:flex;gap:6px;align-items:center}.lang-tag{display:inline-block;font-size:12px;padding:2px 8px;margin:2px 4px 2px 0;background:var(--panel-2);border:1px solid var(--line);border-radius:999px;color:var(--ink)}.lang-tag.locked{color:var(--ink-dim);border-style:dashed}.budget{font-family:var(--mono);font-size:12px;color:var(--accent);margin-top:4px}.sheet{position:sticky;top:72px;align-self:flex-start;height:calc(100vh - 96px);overflow-y:auto}@media(max-width:980px){.sheet{position:static;height:auto}}.sheet-paper{background:var(--paper-bg);color:var(--paper-ink);border-radius:8px;padding:22px 24px;font-family:var(--paper-body);box-shadow:0 10px 30px #00000073}.sheet-paper h2{font-family:var(--paper-head);font-size:30px;margin:0 0 4px;letter-spacing:.01em;color:var(--paper-ink)}.sheet-paper h3{font-family:var(--paper-head);font-size:16px;letter-spacing:.06em;text-transform:uppercase;color:var(--paper-dim);margin:14px 0 4px;border-bottom:1px solid var(--paper-line);padding-bottom:2px}.sheet-paper .tagline{color:var(--paper-dim);font-style:italic;font-size:14px;margin-bottom:10px}.sheet-paper .stats-line{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;font-family:var(--mono)}.sheet-paper .stats-line div{background:var(--paper-soft);border:1px solid var(--paper-line);border-radius:4px;padding:6px 4px;text-align:center;font-size:12px}.sheet-paper .stats-line .lab{display:block}.sheet-paper .stats-line .v{font-size:16px;color:var(--paper-ink)}.sheet-paper .stats-line .m{font-size:16px;color:var(--paper-accent);font-weight:700;margin-left:4px}.sheet-paper .pair{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:13px}.sheet-paper .pair .box{background:var(--paper-soft);border:1px solid var(--paper-line);border-radius:4px;padding:6px 8px}.sheet-paper ul{margin:4px 0;padding-left:18px;font-size:13px}.sheet-paper .meta{font-size:12px;color:var(--paper-dim)}.sheet-paper .pill{display:inline-block;font-size:11px;padding:1px 7px;margin:1px 3px 1px 0;background:var(--paper-soft);border-radius:999px;color:var(--paper-ink);border:1px solid var(--paper-line)}.sheet-paper .empty{color:var(--paper-muted);font-style:italic}.sheet-paper ul.trait-sub{margin:2px 0;padding-left:18px;font-size:12px;color:var(--paper-dim);list-style:circle}.sheet-paper .slot-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}.sheet-paper ol.slot-ledger{list-style:none;padding:0;margin:4px 0;font-size:12px}.sheet-paper ol.slot-ledger>li{display:grid;grid-template-columns:28px 1fr;gap:6px;padding:3px 0;border-bottom:1px dotted var(--paper-line)}.sheet-paper ol.slot-ledger>li.empty-slot{color:var(--paper-muted);font-style:italic}.sheet-paper ol.slot-ledger .slot-num{color:var(--paper-accent);font-family:var(--mono);text-align:right;font-weight:700}.sheet-paper ol.slot-ledger .slot-label{color:var(--paper-ink)}.sheet-paper h3.subhead{font-family:var(--paper-head);font-size:13px;letter-spacing:.04em;margin:10px 0 2px;color:var(--paper-accent);border-bottom:1px dashed var(--paper-line);padding-bottom:1px}.sheet-paper .combat-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:4px 0 8px;font-size:13px;container-type:inline-size}@container (max-width: 380px){.sheet-paper .combat-summary .box{flex-direction:column;gap:1px}}.sheet-paper .combat-summary .blank{display:inline-block;min-width:24px;border-bottom:1px solid var(--paper-ink);margin:0 2px;vertical-align:baseline}.sheet-paper .combat-summary .box{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:2px 5px}.sheet-paper .combat-summary .lab{font-weight:600}.sheet-paper .combat-summary .val{white-space:nowrap}.sheet-paper h3.with-aside{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.sheet-paper h3.with-aside .aside{font-size:11px;letter-spacing:.08em;color:var(--paper-muted);text-transform:none;font-family:var(--mono)}.sheet-paper .combat-summary .box{background:var(--paper-soft);border:1px solid var(--paper-line);border-radius:4px;padding:6px 8px;text-align:center;font-family:var(--mono)}.sheet-paper .combat-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 8px}@media(max-width:700px){.sheet-paper .combat-grid{grid-template-columns:1fr}}.sheet-paper .combat-box{background:var(--paper-soft);border:1px solid var(--paper-line);border-radius:4px;padding:6px 8px}.sheet-paper .combat-box-title{font-family:var(--paper-head);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--paper-accent);margin:4px 0}.sheet-paper .combat-box-title:first-child{margin-top:0}.sheet-paper table.ac-table,.sheet-paper table.atk-table{width:100%;border-collapse:collapse;font-family:var(--mono);font-size:12px}.sheet-paper table.ac-table td,.sheet-paper table.atk-table td{padding:3px 4px;border-bottom:1px dotted var(--paper-line)}.sheet-paper table.ac-table tr:last-child td,.sheet-paper table.atk-table tr:last-child td{border-bottom:none}.sheet-paper table.ac-table td.num,.sheet-paper table.atk-table td.num{text-align:right;font-weight:700;color:var(--paper-accent);width:36px}.sheet-paper table.ac-table td.dex{text-align:right;font-size:10px;color:var(--paper-muted);width:60px;font-style:italic}.sheet-paper table.ac-table tr.current,.sheet-paper table.atk-table tr.current{background:#e8d99d}.sheet-paper table.ac-table tr.current td,.sheet-paper table.atk-table tr.current td{font-weight:700}.sheet-paper table.atk-table tr.callout td{color:var(--paper-dim);background:#f0e6b7}.sheet-paper .combat-note{font-size:11px;color:var(--paper-dim);margin:4px 0 0;line-height:1.4}.sheet-paper .weapon-row{padding:4px 0;border-bottom:1px dotted var(--paper-line)}.sheet-paper .weapon-row:last-child{border-bottom:none}.sheet-paper .weapon-head{display:flex;justify-content:space-between;gap:8px;font-size:12px;font-family:var(--mono)}.sheet-paper .weapon-name{color:var(--paper-ink);font-weight:700}.sheet-paper .weapon-stats{color:var(--paper-accent);font-weight:700;white-space:nowrap}.sheet-paper .weapon-meta{font-size:10px;color:var(--paper-dim);font-style:italic;margin-top:1px}.sheet-paper .weapon-hint{font-size:10px;color:var(--paper-muted);font-style:italic;margin-top:1px}.sheet-paper ul.combat-list{list-style:disc;padding-left:18px;margin:2px 0 4px;font-size:12px;color:var(--paper-ink)}.sheet-paper ul.combat-list li{padding:1px 0}.sheet-paper ol.slot-ledger .slot-sub{grid-column:2;list-style:disc;padding-left:16px;margin:2px 0 0;font-size:12px;color:var(--paper-dim)}.footnote{padding:16px 20px;color:var(--ink-dim);font-size:11px;text-align:center}.footnote em{color:var(--ink);font-style:normal}.footnote .build-stamp{margin-top:6px;font-family:var(--mono);font-size:10px;opacity:.6;letter-spacing:.04em}.footnote .build-stamp:empty{display:none}.footnote a{color:inherit;text-decoration:none}.footnote a:hover{color:var(--accent)}.footnote a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.bags-panel{margin-top:10px;display:grid;grid-template-columns:1fr 1fr;gap:10px}@media(max-width:700px){.bags-panel{grid-template-columns:1fr}}.bag{background:var(--panel-2);border:1px solid var(--line);border-radius:6px;padding:8px 10px}.bag .bag-title{color:var(--accent);font-size:12px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:4px}.bag .bag-sub{color:var(--ink-dim);font-size:11px;margin-bottom:6px}.bag .scrap-counts{display:flex;gap:12px;font-family:var(--mono);font-size:13px}.bag .scrap-counts span{background:var(--panel);border:1px solid var(--line);padding:2px 8px;border-radius:4px}.bag .scrap-counts .rare{color:var(--accent)}.bag .scrap-counts .uncommon{color:var(--good)}.bag ol.trade-items{margin:4px 0 0 18px;padding:0;font-size:12px;color:var(--ink)}.bag ol.trade-items li{margin:1px 0}.input-with-button{display:flex;gap:6px;align-items:stretch}.input-with-button input{flex:1 1 auto;min-width:0}.input-with-button button.suggest{flex:0 0 auto;padding:6px 10px;font-size:12px;white-space:nowrap}body:not(.edit-mode) .edit-only{display:none!important}body:not(.edit-mode) select{pointer-events:none;opacity:.85}body:not(.edit-mode) .env-card select{pointer-events:auto;opacity:1}body.hide-details .detail-card{display:none}.details-disclosure{align-self:stretch;display:flex;align-items:center;gap:6px;background:transparent;border:none;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--ink-dim);font-size:12px;letter-spacing:.06em;text-transform:uppercase;padding:6px 4px;cursor:pointer}.details-disclosure:hover{color:var(--accent)}.details-disclosure .disc-arrow{font-size:14px;transition:transform .12s ease}body.hide-details .details-disclosure .disc-arrow{transform:rotate(-90deg)}body:not(.edit-mode) .check-grid input[type=checkbox]{pointer-events:none;opacity:.55}body:not(.edit-mode) .stat-box.selectable{cursor:default}body:not(.edit-mode) .stat-box.selectable:hover{border-color:var(--line)}body.edit-mode #btn-mode-toggle{background:var(--accent);color:#1a1206;border-color:var(--accent)}.talent{background:var(--panel-2);border:1px solid var(--line);border-left:3px solid var(--accent-2);border-radius:6px;padding:8px 10px}.talent .title{color:var(--accent);font-weight:700;font-size:13px}.talent .desc{font-size:13px;margin:2px 0 4px}.talent .resolved{color:var(--good);font-family:var(--mono);font-size:12px}.talent.needs{border-left-color:var(--bad)}.talent .needs-badge{display:inline-block;margin-left:8px;background:var(--bad);color:#1a0606;font-size:10px;padding:1px 6px;border-radius:3px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.talent .choice-row{margin-top:6px;display:flex;gap:6px;align-items:center;flex-wrap:wrap;font-size:13px}.talent .choice-row select{width:auto;max-width:220px;font-size:13px}.build-log{font-family:var(--mono);font-size:12px;color:var(--ink);background:var(--panel-2);border:1px solid var(--line);border-radius:6px;padding:10px 12px}.build-log .group{margin-bottom:8px}.build-log .group-title{color:var(--accent);letter-spacing:.06em;text-transform:uppercase;font-size:11px;margin-bottom:2px}.build-log .line{padding-left:8px;border-left:2px solid var(--line);margin:1px 0;color:var(--ink)}.build-log .line.warn{border-left-color:var(--bad);color:var(--bad)}.build-log .line.bonus{color:var(--good)}@media print{@page{margin:12mm}html,body{height:auto;min-height:0}body{background:#fff}.topbar,.builder,.footnote,.actions{display:none!important}.layout{grid-template-columns:1fr;padding:0;margin:0;max-width:none;gap:0}.sheet{position:static;height:auto;overflow:visible;margin:0}main,.layout,.sheet{display:block}.sheet-paper{box-shadow:none;zoom:.65;margin:0;break-inside:avoid;page-break-inside:avoid}.sheet-paper .tagline,.sheet-paper .meta{display:inline}.sheet-paper .meta:before{content:" · "}.sheet-paper .stats-line>div{font-weight:700}}
/*# sourceMappingURL=styles.css.map */
