*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0a0c0f;--bg-card:#111418;--bg-hover:#181c22;--border:#2a2f3a;--accent:#00c8ff;--text:#c8d4e0;--text-dim:#7a8fa8;--damage:#e05252;--text-bright:#e8f0f8;--font-mono:"Courier New", "Lucida Console", monospace;--radius:2px}html,body,#root{background:var(--bg);height:100%;color:var(--text);font-family:var(--font-mono);font-size:14px;line-height:1.5}.screen{flex-direction:column;max-width:680px;min-height:100vh;margin:0 auto;padding:2rem 1.25rem;display:flex}.landing{justify-content:center;gap:3rem}.landing-header{text-align:center}.title{letter-spacing:.25em;color:var(--accent);text-shadow:0 0 20px #00c8ff66;font-size:3rem;font-weight:700}.subtitle{letter-spacing:.3em;color:var(--text-dim);margin-top:.4rem;font-size:.75rem}.landing-body{flex-direction:column;align-items:center;gap:2rem;display:flex}.flavour{color:var(--text-dim);text-align:center;font-size:.85rem;line-height:1.8}.landing-actions{flex-direction:column;gap:1rem;width:100%;max-width:360px;display:flex}.seed-load{align-items:stretch;gap:.5rem;margin-top:.5rem;display:flex}.seed-load-input{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-family:var(--font-mono);letter-spacing:.04em;outline:none;flex:1;padding:.6rem .75rem;font-size:.78rem;transition:border-color .15s}.seed-load-input::placeholder{color:var(--text-dim)}.seed-load-input:focus{border-color:var(--text-dim)}.seed-load-error .seed-load-input{border-color:var(--damage)}.seed-load-btn{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-family:var(--font-mono);letter-spacing:.15em;cursor:pointer;padding:0 1rem;font-size:.78rem;transition:border-color .15s,color .15s}.seed-load-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.seed-load-btn:disabled{opacity:.4;cursor:default}.seed-load-error-text{color:var(--damage);letter-spacing:.05em;margin-top:-.5rem;font-size:.7rem}.landing-footer{text-align:center}.version{color:var(--text-dim);letter-spacing:.15em;font-size:.7rem}.gallery-section{flex-direction:column;gap:.5rem;width:100%;max-width:360px;display:flex}.gallery-heading{letter-spacing:.2em;color:var(--text-dim);border-bottom:1px solid var(--border);padding-bottom:.4rem;font-size:.7rem}.gallery-list{flex-direction:column;gap:.3rem;max-height:220px;display:flex;overflow-y:auto}.gallery-entry{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:.5rem;padding:.45rem .65rem;display:flex}.gallery-info{flex:1;min-width:0}.gallery-name{color:var(--text-bright);letter-spacing:.04em;white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;overflow:hidden}.gallery-meta{color:var(--text-dim);letter-spacing:.06em;margin-top:.1rem;font-size:.62rem}.gallery-actions{flex-shrink:0;gap:.3rem;display:flex}.gallery-btn{letter-spacing:.1em;border:1px solid var(--border);border-radius:var(--radius);color:var(--text-dim);cursor:pointer;font-size:.65rem;font-family:var(--font-mono);background:0 0;padding:.2rem .45rem;transition:border-color .12s,color .12s}.gallery-btn:hover{border-color:var(--accent);color:var(--accent)}.gallery-btn-del:hover{border-color:var(--damage);color:var(--damage)}.btn{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);color:var(--text);cursor:pointer;font-family:var(--font-mono);text-align:left;flex-direction:column;align-items:flex-start;gap:.2rem;width:100%;padding:1rem 1.25rem;transition:border-color .15s,background .15s;display:flex}.btn-primary{border-color:var(--accent);color:var(--accent)}.btn-primary:hover{background:#00c8ff0f;box-shadow:0 0 12px #00c8ff26}.btn-secondary:hover{border-color:var(--text-dim)}.btn-sm{letter-spacing:.1em;flex-direction:row;width:auto;padding:.4rem .75rem;font-size:.75rem}.btn-label{letter-spacing:.15em;font-size:.9rem;font-weight:700}.btn-sub{color:var(--text-dim);letter-spacing:.05em;font-size:.7rem}.btn-ghost{color:var(--text-dim);cursor:pointer;font-family:var(--font-mono);letter-spacing:.1em;background:0 0;border:none;padding:0;font-size:.75rem}.btn-ghost:hover{color:var(--text)}.btn-reroll{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;border-radius:var(--radius);background:0 0;padding:.1rem .4rem;font-size:.9rem;transition:color .15s,border-color .15s}.btn-reroll:hover{color:var(--accent);border-color:var(--accent)}.quiz{gap:1.5rem}.quiz-header{justify-content:space-between;align-items:center;display:flex}.quiz-progress-label{color:var(--text-dim);letter-spacing:.15em;font-size:.7rem}.progress-bar{background:var(--border);border-radius:1px;height:2px;overflow:hidden}.progress-fill{background:var(--accent);height:100%;transition:width .3s}.quiz-card{flex-direction:column;flex:1;gap:1.25rem;display:flex}.quiz-question-area{flex-direction:column;flex:0 0 38vh;justify-content:flex-end;gap:.6rem;display:flex}.quiz-counter{color:var(--accent);letter-spacing:.2em;font-size:.7rem}.quiz-prompt{color:var(--text-bright);font-size:1rem;line-height:1.7}.quiz-choices{flex-direction:column;gap:.75rem;display:flex}.btn-choice{flex-direction:unset;align-items:unset;padding:.85rem 1rem;font-size:.85rem;line-height:1.5;display:block}.btn-choice:hover{border-color:var(--accent);color:var(--text-bright);background:#00c8ff0a}.quiz-done{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2rem;display:flex}.quiz-done-text{color:var(--text-dim);letter-spacing:.2em}.sheet{gap:1rem;padding-bottom:4rem}.sheet-header{justify-content:space-between;align-items:flex-start;gap:1rem;padding:0 .75rem;display:flex}.sheet-identity{flex-direction:column;gap:.6rem;display:flex}.sheet-archetype{flex-direction:column;gap:.12rem;display:flex}.sheet-header-right{flex-direction:column;align-items:flex-end;gap:.5rem;display:flex}.runner-name{letter-spacing:.08em;color:var(--text-bright);font-size:1.5rem;font-weight:700;line-height:1.1}.archetype-name{letter-spacing:.2em;color:var(--accent);font-size:.72rem;font-weight:700}.archetype-meta{color:var(--text-dim);letter-spacing:.08em;font-size:.7rem}.seed-display{border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;background:0 0;flex-direction:column;align-items:flex-end;gap:.1rem;max-width:200px;padding:.3rem .5rem;transition:border-color .15s;display:flex;overflow:hidden}.seed-display:hover{border-color:var(--text-dim)}.seed-label{letter-spacing:.2em;color:var(--text-dim);font-size:.65rem;font-family:var(--font-mono)}.seed-value{letter-spacing:.04em;color:var(--text);font-size:.7rem;font-family:var(--font-mono);white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.attr-hex-bar{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);flex-direction:column;gap:.4rem;padding:.5rem .75rem;display:flex;position:relative}.attr-hex-reroll{position:absolute;top:.4rem;right:.5rem}.attr-hex-row{justify-content:space-between;align-items:flex-end;gap:4px;display:flex}.attr-hex{flex-direction:column;flex:1;align-items:center;gap:4px;display:flex}.hex-outer{clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);background:var(--border);justify-content:center;align-items:center;width:52px;height:60px;display:flex}.hex-inner{clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);background:var(--bg-card);flex-direction:column;justify-content:center;align-items:center;gap:1px;width:44px;height:52px;display:flex}.hex-value{color:var(--text-bright);font-size:1.1rem;font-weight:700;line-height:1}.hex-inner.has-aug .hex-value{font-size:.9rem}.hex-label{letter-spacing:.1em;color:var(--text);font-size:.68rem;font-weight:700}.hex-aug{color:var(--text-bright);font-size:.65rem;font-weight:700;line-height:1}.attr-hex-dim .hex-outer{background:var(--bg)}.attr-hex-dim .hex-inner{background:var(--bg-card)}.attr-hex-dim .hex-value{color:var(--text-dim)}.attr-hex-meta{color:var(--text-dim);border-top:1px solid var(--border);align-items:baseline;gap:1.5rem;padding-top:.15rem;font-size:.72rem;display:flex}.attr-hex-meta .attr-hex-priorities{margin-left:auto}.sheet-columns{grid-template-columns:1fr 1fr;align-items:stretch;gap:.75rem;display:grid}.sheet-col{flex-direction:column;gap:.75rem;display:flex}.sheet-col .sheet-section:last-child{flex-direction:column;flex:1;display:flex}.sheet-col .sheet-section:last-child .section-body{flex:1}.stats-strip{grid-template-columns:repeat(3,1fr);align-items:stretch;gap:.75rem;display:grid}.sheet-section{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card)}.section-header{border-bottom:1px solid var(--border);background:var(--bg);border-radius:var(--radius) var(--radius) 0 0;justify-content:space-between;align-items:center;padding:.45rem .75rem;display:flex;overflow:hidden}.section-label{letter-spacing:.2em;color:var(--text-dim);font-size:.7rem}.section-body{padding:.65rem .75rem}.priority-grid{grid-template-columns:repeat(5,1fr);gap:.4rem;display:grid}.priority-cell{border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;align-items:center;padding:.35rem;display:flex}.priority-level{color:var(--accent);font-size:1rem;font-weight:700}.priority-cat{letter-spacing:.06em;color:var(--text-dim);font-size:.6rem}.skill-list{flex-direction:column;gap:.35rem;list-style:none;display:flex}.skill-row{grid-template-columns:1fr auto auto;align-items:center;gap:.6rem;display:grid}.skill-item{flex-direction:column;gap:.05rem;display:flex}.skill-name{color:var(--text);font-size:.82rem}.skill-desc{color:var(--text-dim);font-size:.68rem}.skill-rating{color:var(--accent);text-align:right;min-width:1rem;font-size:.82rem}.skill-dots{gap:3px;display:flex}.dot{border:1px solid var(--border);background:var(--bg);border-radius:50%;width:6px;height:6px}.dot.filled{background:var(--accent);border-color:var(--accent)}.dot-overflow{color:var(--accent);opacity:.85;margin-left:1px;font-size:.58rem;line-height:6px}.contacts-grid{grid-template-columns:repeat(4,1fr);gap:.4rem;display:grid}.contact-card{border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:.15rem;padding:.4rem .5rem;display:flex}.contact-name{color:var(--text-bright);font-size:.78rem}.contact-role{color:var(--text-dim);letter-spacing:.05em;font-size:.65rem}.contact-ratings{align-items:center;gap:.35rem;margin-top:.1rem;display:flex}.contact-rating-label{color:var(--text-dim);letter-spacing:.1em;font-size:.6rem}.contact-rating-val{color:var(--accent);min-width:.8rem;font-size:.75rem;font-weight:700}.background-text{font-size:.78rem;line-height:1.7}.lifestyle-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;padding:.2rem 0;font-size:.82rem;display:flex}.lifestyle-row:last-child{border-bottom:none}.lifestyle-name{color:var(--text)}.lifestyle-cost{color:var(--accent);white-space:nowrap;font-size:.75rem}.pool-list{flex-direction:column;gap:.3rem;display:flex}.pool-row{border-bottom:1px solid var(--border);align-items:center;gap:.4rem;padding:.12rem 0;display:flex}.pool-name{color:var(--text);white-space:nowrap;min-width:3.5rem;font-size:.78rem}.pool-value{color:var(--accent);text-align:right;min-width:1.1rem;font-size:.82rem;font-weight:700}.pool-boxes{flex-wrap:wrap;gap:2px;max-width:80px;display:flex}.pool-box{background:var(--accent);opacity:.85;border-radius:2px;width:12px;height:12px}.condition-body{flex-direction:column;gap:.4rem;display:flex}.condition-track{flex-direction:column;gap:.15rem;display:flex}.condition-track-label{letter-spacing:.12em;color:var(--text-dim);font-size:.6rem}.condition-boxes{align-items:flex-end;gap:3px;display:flex}.condition-cell{flex-direction:column;align-items:center;gap:1px;display:flex}.condition-sev{letter-spacing:.04em;color:var(--text-dim);cursor:default;font-size:.5rem;line-height:1}.condition-box{border:1px solid var(--border);background:var(--bg);cursor:pointer;border-radius:2px;width:14px;height:14px;padding:0;transition:background .1s,border-color .1s}.condition-box:hover{border-color:var(--text-dim)}.condition-box.hit{background:var(--damage);border-color:var(--damage)}.condition-penalties{border-top:1px solid var(--border);flex-wrap:wrap;gap:.4rem;padding-top:.25rem;display:flex}.condition-penalty-note{color:var(--text-dim);letter-spacing:.04em;font-size:.55rem}.attr-hex-priorities{font-family:var(--font-mono);letter-spacing:.18em;cursor:help}.attr-hex-priorities .pri-letters{color:var(--accent)}.combat-group{margin-bottom:.6rem}.combat-group:last-child{margin-bottom:0}.combat-group-label{letter-spacing:.15em;color:var(--text-dim);margin-bottom:.35rem;font-size:.65rem}.combat-table{border-collapse:collapse;width:100%;font-size:.75rem}.combat-table th{text-align:left;letter-spacing:.06em;color:var(--text-dim);white-space:nowrap;padding:0 .4rem .3rem 0;font-size:.62rem;font-weight:400}.combat-table th:first-child{padding-left:0}.combat-table td{color:var(--text);border-top:1px solid var(--border);padding:.18rem .4rem .18rem 0}.combat-table td:first-child{padding-left:0}.combat-stat{color:var(--accent);white-space:nowrap}.combat-target,.combat-ranges{color:var(--text-dim);font-size:.68rem}.loadout-group{margin-bottom:.6rem}.loadout-group:last-child{margin-bottom:0}.loadout-group-label{letter-spacing:.15em;color:var(--text-dim);margin-bottom:.35rem;font-size:.65rem}.loadout-list{flex-direction:column;gap:.35rem;list-style:none;display:flex}.loadout-item{flex-direction:column;gap:.08rem;display:flex}.loadout-row{justify-content:space-between;align-items:center;gap:.5rem;font-size:.8rem;display:flex}.loadout-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.loadout-meta{color:var(--text-dim);white-space:nowrap;flex-shrink:0;font-size:.7rem}.loadout-detail{color:var(--text-dim);font-size:.7rem}.quiz-results{flex-direction:column;align-items:center;gap:.75rem;padding-top:.75rem;display:flex}.quiz-results-label{color:var(--accent);letter-spacing:.25em;align-self:flex-start;font-size:.7rem}.axis-star{width:100%;max-width:300px;display:block}.sheet-axis-star{justify-content:center;padding:.5rem 0;display:flex}.quiz-generate-btn{width:100%;max-width:300px;margin-top:.5rem}.attr-hex-val-low .hex-outer{filter:drop-shadow(0 0 5px #b41e3c73);background:#c41a3e}.attr-hex-val-low .hex-inner{background:var(--bg-card)}.attr-hex-val-low .hex-value,.attr-hex-val-low .hex-aug{color:#e04060;text-shadow:0 0 5px #c832508c}.attr-hex-val-mid .hex-outer{filter:drop-shadow(0 0 5px #00a04673);background:#00a84a}.attr-hex-val-mid .hex-inner{background:var(--bg-card)}.attr-hex-val-mid .hex-value,.attr-hex-val-mid .hex-aug{color:#00cc58;text-shadow:0 0 5px #00b4508c}.attr-hex-val-high .hex-outer{filter:drop-shadow(0 0 5px #0096be73);background:#0096cc}.attr-hex-val-high .hex-inner{background:var(--bg-card)}.attr-hex-val-high .hex-value,.attr-hex-val-high .hex-aug{color:#00b8e0;text-shadow:0 0 5px #00aad28c}.attr-hex-val-max .hex-outer{filter:drop-shadow(0 0 5px #b48c0073);background:#c49800}.attr-hex-val-max .hex-inner{background:var(--bg-card)}.attr-hex-val-max .hex-value,.attr-hex-val-max .hex-aug{color:#e0b800;text-shadow:0 0 5px #c8a0008c}.attr-hex-priorities{font-family:var(--font-mono);cursor:help;flex-wrap:wrap;align-items:center;gap:.1rem;display:flex}.pri-cat{color:var(--text-dim);letter-spacing:.05em;font-size:.66rem}.pri-lvl{color:var(--accent);letter-spacing:.04em;font-size:.66rem}.pri-sep{color:var(--border);font-size:.7rem}.header-reroll-row{align-items:center;gap:.4rem;display:flex}.racial-traits{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.racial-mods{flex-wrap:wrap;gap:.3rem;display:flex}.racial-mod{color:var(--accent);border-radius:var(--radius);white-space:nowrap;background:#00c8ff14;border:1px solid #00c8ff33;padding:.1rem .4rem;font-size:.75rem}.racial-ability{color:var(--text-dim);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);white-space:nowrap;padding:.1rem .4rem;font-size:.75rem}.skill-conc-row{margin-top:.15rem}.skill-spec-row{margin-top:.1rem}.skill-conc-name{color:var(--accent);padding-left:.75rem;font-size:.75rem}.skill-conc-rating{color:var(--accent);font-size:.78rem}.skill-conc-row .dot.filled{background:var(--accent);opacity:.7}.skill-spec-name{color:var(--accent);opacity:.85;padding-left:1.5rem;font-size:.7rem}.skill-spec-rating{color:var(--accent);opacity:.85;font-size:.75rem}.skill-spec-row .dot.filled{background:var(--accent);opacity:.6}.skill-spec-row .dot.filled.over-cap{background:var(--accent);opacity:.9;box-shadow:0 0 4px var(--accent)}.details-grid{flex-direction:column;gap:.35rem;display:flex}.detail-row{border-bottom:1px solid var(--border);grid-template-columns:7rem 1fr;align-items:baseline;gap:.75rem;padding:.2rem 0;font-size:.8rem;display:grid}.detail-row:last-child{border-bottom:none}.detail-row-wide{grid-template-columns:7rem 1fr;align-items:start}.detail-label{letter-spacing:.1em;color:var(--text-dim);white-space:nowrap;font-size:.65rem}.detail-value{color:var(--text);line-height:1.5}.detail-value.background-text{font-size:.78rem}.deck-block,.vehicle-block{flex-direction:column;gap:.55rem;margin-bottom:.75rem;display:flex}.deck-block:last-child,.vehicle-block:last-child{margin-bottom:0}.deck-cm{align-items:center;gap:.5rem;padding-top:.25rem;display:flex}.deck-cm-label{letter-spacing:.12em;color:var(--text-dim);white-space:nowrap;min-width:5rem;font-size:.6rem}.deck-cm-boxes{flex-wrap:wrap;gap:3px;display:flex}.programs-block{margin-top:.25rem}.prog-cat[data-cat=offensive]{color:#c44}.prog-cat[data-cat=defensive]{color:#2a6}.prog-cat[data-cat=stealth]{color:#a8c}.prog-cat[data-cat=utility]{color:var(--text-dim)}@media (width<=520px){.screen{padding:1.25rem .75rem}.sheet-header{flex-wrap:wrap}.runner-name{font-size:1.2rem}.header-reroll-row{flex-wrap:wrap}.attr-hex-bar{padding:.4rem .5rem}.attr-hex-row{gap:2px}.hex-outer{width:34px;height:40px}.hex-inner{width:28px;height:34px}.hex-value{font-size:.85rem}.hex-label{font-size:.58rem}.attr-hex-meta{flex-wrap:wrap;gap:.4rem .75rem;font-size:.65rem}.attr-hex-meta .attr-hex-priorities{width:100%;margin-left:0}.stats-strip,.sheet-columns{grid-template-columns:1fr}.contacts-grid{grid-template-columns:repeat(2,1fr)}.section-body{overflow-x:auto}.detail-row{grid-template-columns:5rem 1fr}}.quiz-generating-text{color:var(--accent);letter-spacing:.3em;font-size:.85rem}.quiz-generating-dots{gap:.4rem;display:flex}.quiz-generating-dots span{background:var(--accent);opacity:.3;border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite pulse}.quiz-generating-dots span:nth-child(2){animation-delay:.2s}.quiz-generating-dots span:nth-child(3){animation-delay:.4s}@keyframes pulse{0%,to{opacity:.2}50%{opacity:1}}.import-error{color:#e04060;text-align:right;margin-top:.25rem;font-size:.7rem}.builder{gap:0;padding-top:1rem}.builder-header{border-bottom:1px solid var(--border);align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.builder-progress{flex-direction:column;flex:1;gap:.35rem;display:flex}.builder-step-counter{letter-spacing:.15em;color:var(--text-dim);font-size:.65rem}.builder-body{flex:1}.builder-step{flex-direction:column;gap:1.25rem;display:flex}.builder-step-title{letter-spacing:.2em;color:var(--accent);font-size:1.1rem;font-weight:700}.builder-step-hint{color:var(--text-dim);font-size:.78rem;line-height:1.6}.builder-warning{color:var(--damage);border-radius:var(--radius);background:#e0525214;border:1px solid #e052524d;padding:.5rem .75rem;font-size:.78rem}.builder-nav{border-top:1px solid var(--border);justify-content:space-between;align-items:center;margin-top:.5rem;padding-top:1rem;display:flex}.builder-archetype-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.6rem;display:grid}.builder-archetype-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;text-align:left;font-family:var(--font-mono);flex-direction:column;gap:.2rem;padding:.75rem;transition:border-color .15s;display:flex}.builder-archetype-card:hover{border-color:var(--text-dim)}.builder-archetype-card.selected{border-color:var(--accent);background:#00c8ff0d}.builder-archetype-name{letter-spacing:.1em;color:var(--text-bright);font-size:.8rem;font-weight:700}.builder-archetype-magic{letter-spacing:.1em;color:var(--accent);opacity:.8;font-size:.65rem}.builder-archetype-desc{color:var(--text-dim);font-size:.7rem}.pri-grid{flex-direction:column;gap:.35rem;display:flex}.pri-header-row,.pri-row{grid-template-columns:7rem repeat(5,1fr);align-items:center;gap:.35rem;display:grid}.pri-level-header{text-align:center;letter-spacing:.15em;color:var(--accent);font-size:.7rem}.pri-cat-label{letter-spacing:.12em;color:var(--text-dim);font-size:.7rem}.pri-cell{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;font-family:var(--font-mono);flex-direction:column;align-items:center;gap:.1rem;min-height:3rem;padding:.4rem .2rem;transition:border-color .12s,background .12s;display:flex}.pri-cell:hover{border-color:var(--text-dim)}.pri-cell.selected{border-color:var(--accent);background:#00c8ff14}.pri-cell.dim{opacity:.4}.pri-cell-level{color:var(--text-bright);font-size:.85rem;font-weight:700}.pri-cell-desc{color:var(--text-dim);text-align:center;font-size:.6rem;line-height:1.3}.attr-pool-bar{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.75rem;display:flex}.attr-pool-label{letter-spacing:.12em;color:var(--text-dim)}.attr-pool-remaining{color:var(--accent);font-weight:700}.attr-pool-remaining.over{color:var(--damage)}.attr-pool-hint{color:var(--text-dim);margin-left:auto;font-size:.68rem}.attr-grid{flex-direction:column;gap:.4rem;display:flex}.attr-row{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);justify-content:space-between;align-items:center;padding:.5rem .75rem;display:flex}.attr-info{flex:1;align-items:center;gap:1rem;display:flex}.attr-abbr{letter-spacing:.1em;color:var(--text-bright);width:3rem;font-size:.85rem;font-weight:700}.attr-linked{color:var(--text-dim);font-size:.7rem}.attr-range{color:var(--text-dim);margin-left:auto;font-size:.65rem}.attr-control{align-items:center;gap:.6rem;display:flex}.attr-btn{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);width:1.6rem;height:1.6rem;color:var(--text);cursor:pointer;font-family:var(--font-mono);justify-content:center;align-items:center;font-size:1rem;transition:border-color .12s;display:flex}.attr-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.attr-btn:disabled{opacity:.3;cursor:not-allowed}.attr-value{color:var(--accent);text-align:center;min-width:1.5rem;font-size:1.1rem;font-weight:700}.attr-derived{color:var(--text-dim);gap:1.5rem;padding:.4rem 0;font-size:.72rem;display:flex}.builder-tabs{flex-wrap:wrap;gap:.35rem;margin-bottom:.75rem;display:flex}.builder-tab{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-dim);cursor:pointer;font-family:var(--font-mono);letter-spacing:.1em;padding:.3rem .65rem;font-size:.68rem;transition:border-color .12s,color .12s}.builder-tab:hover{color:var(--text);border-color:var(--text-dim)}.builder-tab.active{border-color:var(--accent);color:var(--accent)}.resource-list{flex-direction:column;gap:.35rem;max-height:45vh;padding-right:.25rem;display:flex;overflow-y:auto}.resource-list::-webkit-scrollbar{width:4px}.resource-list::-webkit-scrollbar-track{background:var(--bg)}.resource-list::-webkit-scrollbar-thumb{background:var(--border)}.resource-item{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem .75rem;display:flex}.resource-item.selected{background:#00c8ff0a;border-color:#00c8ff66}.resource-item-info{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.resource-item-name{color:var(--text-bright);font-size:.78rem;font-weight:700}.resource-item-detail{color:var(--text-dim);font-size:.68rem}.resource-item-cost{color:var(--text-dim);font-size:.72rem}.resource-item-actions{align-items:center;gap:.4rem;display:flex}.skill-item{flex-wrap:wrap}.skill-owned-controls{align-items:center;gap:.5rem;display:flex}.skill-conc-toggle{border:1px solid var(--border);border-radius:var(--radius);color:var(--text-dim);cursor:pointer;font-size:.68rem;font-family:var(--font-mono);background:var(--bg);white-space:nowrap;padding:.2rem .4rem}.skill-conc-toggle.has-conc{border-color:var(--accent);color:var(--accent)}.skill-conc-picker{border-top:1px solid var(--border);flex-wrap:wrap;gap:.3rem;width:100%;margin-top:.25rem;padding-top:.4rem;display:flex}.skill-conc-opt{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-dim);cursor:pointer;font-size:.68rem;font-family:var(--font-mono);padding:.2rem .5rem;transition:border-color .1s}.skill-conc-opt:hover{border-color:var(--text-dim);color:var(--text)}.skill-conc-opt.active{border-color:var(--accent);color:var(--accent)}.skill-summary{border-top:1px solid var(--border);padding:.5rem}.identity-grid{flex-direction:column;gap:.75rem;display:flex}.identity-row{flex-direction:column;gap:.25rem;display:flex}.identity-row.identity-static{flex-direction:row;align-items:center;gap:1rem}.identity-label{letter-spacing:.15em;color:var(--text-dim);font-size:.65rem}.identity-value{color:var(--text);font-size:.78rem}.identity-input{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-family:var(--font-mono);resize:vertical;outline:none;padding:.4rem .6rem;font-size:.78rem;transition:border-color .12s}.identity-input:focus{border-color:var(--text-dim)}.review-section{flex-direction:column;gap:.5rem;display:flex}.review-header{letter-spacing:.2em;color:var(--text-dim);font-size:.65rem}.review-row{flex-wrap:wrap;gap:.5rem;display:flex}.review-badge{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-dim);padding:.2rem .5rem;font-size:.72rem}.review-attr-row{flex-wrap:wrap;gap:.6rem;display:flex}.review-attr{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;align-items:center;gap:.1rem;min-width:2.8rem;padding:.4rem .5rem;display:flex}.review-attr-abbr{color:var(--text-dim);letter-spacing:.1em;font-size:.62rem}.review-attr-val{color:var(--accent);font-size:1rem;font-weight:700}.review-tags{flex-wrap:wrap;gap:.35rem;display:flex}.review-tag{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);padding:.2rem .5rem;font-size:.72rem}.review-nuyen{color:var(--text-dim);margin-top:.25rem;font-size:.72rem}.meta-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.6rem;display:grid}.builder-errors{flex-direction:column;gap:.35rem;display:flex}
