/* Traveller Character Generator v2 integration */
body.tn-generator-page .tn-site-main{background:radial-gradient(circle at 50% 0,rgba(112,221,185,.055),transparent 30%)}
body.tn-generator-page .tn-generator-content{margin:0}
body.tn-generator-page .tcg-shell{max-width:1320px;margin:0 auto;padding:0;background:transparent;border:0;border-radius:0;color:var(--tn-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
body.tn-generator-page .tcg-header{padding:24px 26px;margin:0 0 14px;background:linear-gradient(135deg,#111a20,#0b1116);border:1px solid var(--tn-line);border-radius:var(--tn-radius);position:relative;overflow:hidden}
body.tn-generator-page .tcg-header:before{content:"CHARACTER // CREATION NODE";position:absolute;right:22px;top:16px;font:700 9px ui-monospace,monospace;letter-spacing:.18em;color:var(--tn-muted)}
body.tn-generator-page .tcg-header:after{content:"";position:absolute;left:-1px;top:20px;width:3px;height:42px;background:var(--tn-accent)}
body.tn-generator-page .tcg-header h2{font-size:clamp(28px,4vw,42px);line-height:1;margin:0 0 7px;letter-spacing:-.025em}
body.tn-generator-page .tcg-header p,body.tn-generator-page .tcg-muted{color:var(--tn-muted)}
body.tn-generator-page .tcg-modebar{gap:6px;padding:6px;border:1px solid var(--tn-line);background:#080c10;border-radius:5px;width:max-content;max-width:100%}
body.tn-generator-page .tcg-mode{border:0;border-radius:3px;color:#9dabb2;font:800 11px ui-monospace,monospace;letter-spacing:.07em;text-transform:uppercase;padding:9px 13px}
body.tn-generator-page .tcg-mode.active{background:var(--tn-accent);color:#04110d}
body.tn-generator-page .tcg-progress{gap:5px;margin:14px 0}
body.tn-generator-page .tcg-progress span{border:1px solid var(--tn-line);border-radius:3px;background:#0a1015;color:#7f9098;font:750 10px ui-monospace,monospace;letter-spacing:.04em;text-transform:uppercase;padding:10px 8px}
body.tn-generator-page .tcg-progress span.on{border-color:rgba(112,221,185,.5);background:rgba(112,221,185,.08);color:var(--tn-accent-2)}
body.tn-generator-page .tcg-card{background:linear-gradient(145deg,#101820,#0b1116);border:1px solid var(--tn-line);border-radius:var(--tn-radius);padding:18px;box-shadow:0 12px 34px rgba(0,0,0,.16)}
body.tn-generator-page .tcg-card h4{font-size:13px;font-weight:850;letter-spacing:.075em;text-transform:uppercase;padding-bottom:10px;border-bottom:1px solid var(--tn-line)}
body.tn-generator-page .tcg-summary{border-left:3px solid var(--tn-accent)}
body.tn-generator-page .tcg-summary h3{font-size:30px;letter-spacing:-.02em}
body.tn-generator-page .tcg-cash{font-family:ui-monospace,monospace;color:var(--tn-accent);font-size:20px}
body.tn-generator-page .tcg-controls label{font:700 11px ui-monospace,monospace;letter-spacing:.045em;text-transform:uppercase;color:#95a5ad}
body.tn-generator-page .tcg-controls input,body.tn-generator-page .tcg-controls select,body.tn-generator-page .tcg-inline-form select,body.tn-generator-page .tcg-career-choice select{background:#070c10;color:var(--tn-text);border:1px solid var(--tn-line-2);border-radius:3px;padding:11px 10px;outline:none}
body.tn-generator-page .tcg-controls input:focus,body.tn-generator-page .tcg-controls select:focus,body.tn-generator-page select:focus{border-color:var(--tn-accent);box-shadow:0 0 0 2px rgba(112,221,185,.08)}
body.tn-generator-page .tcg-button{min-height:40px;border:1px solid var(--tn-line-2);background:#141e25;color:var(--tn-text);border-radius:3px;padding:9px 15px;font:800 11px ui-monospace,monospace;letter-spacing:.055em;text-transform:uppercase;transition:.18s ease}
body.tn-generator-page .tcg-button:hover{border-color:var(--tn-accent);transform:translateY(-1px)}
body.tn-generator-page .tcg-primary{background:var(--tn-accent);border-color:var(--tn-accent);color:#04110d}
body.tn-generator-page .tcg-primary:hover{background:var(--tn-accent-2);color:#04110d}
body.tn-generator-page .tcg-attrs div{background:#070c10;border-color:var(--tn-line);border-radius:3px}
body.tn-generator-page .tcg-attrs div b{font-family:ui-monospace,monospace;color:var(--tn-muted);letter-spacing:.07em}
body.tn-generator-page .tcg-attrs div span{font-family:ui-monospace,monospace;color:var(--tn-accent-2);font-weight:850}
body.tn-generator-page .tcg-radio-grid label,body.tn-generator-page .tcg-skill-picker label,body.tn-generator-page .tcg-career-card,body.tn-generator-page .tcg-career-choice.tcg-card{background:#0a1015;border-color:var(--tn-line);border-radius:4px;transition:.16s ease}
body.tn-generator-page .tcg-radio-grid label:hover,body.tn-generator-page .tcg-skill-picker label:hover,body.tn-generator-page .tcg-career-card:hover{border-color:#4a6977;background:#0d171c}
body.tn-generator-page input[type="radio"],body.tn-generator-page input[type="checkbox"]{accent-color:var(--tn-accent)}
body.tn-generator-page .tcg-required-skill{border-color:rgba(112,221,185,.36);background:rgba(112,221,185,.07);border-radius:3px;color:#dcebe5}
body.tn-generator-page .tcg-required-skill span,body.tn-generator-page .tcg-skill-picker label.tcg-is-required:after{color:var(--tn-accent)}
body.tn-generator-page .tcg-rule-note{border-left-color:var(--tn-amber);background:rgba(217,179,108,.055);color:#aebbc1}
body.tn-generator-page .tcg-event-decision{border-left-color:var(--tn-accent)}
body.tn-generator-page .tcg-event-decision p b{color:var(--tn-accent-2)}
body.tn-generator-page .tcg-alert{border-color:rgba(217,179,108,.55);background:rgba(217,179,108,.06)}
body.tn-generator-page .tcg-success-card,body.tn-generator-page .tcg-success{border-color:rgba(112,221,185,.48);background:rgba(112,221,185,.065)}
body.tn-generator-page .tcg-error{color:#f0978f}body.tn-generator-page .tcg-success{color:var(--tn-accent)}
body.tn-generator-page .tcg-tag{border-radius:3px;border-color:var(--tn-line-2);font:700 10px ui-monospace,monospace;letter-spacing:.04em}
body.tn-generator-page .tcg-tag.good{border-color:var(--tn-accent)}body.tn-generator-page .tcg-tag.warn{border-color:var(--tn-amber)}body.tn-generator-page .tcg-tag.bad{border-color:var(--tn-danger)}
body.tn-generator-page .tcg-card table{font-size:12px}body.tn-generator-page .tcg-card th{font:800 10px ui-monospace,monospace;color:var(--tn-muted);letter-spacing:.08em;text-transform:uppercase;background:#080d11}body.tn-generator-page .tcg-card th,body.tn-generator-page .tcg-card td{border-bottom-color:var(--tn-line);padding:10px}
body.tn-generator-page .tcg-story p{font-size:15px;color:#c8d2d7;line-height:1.72}
body.tn-generator-page .tcg-log{scrollbar-color:var(--tn-line-2) #080d11}
body.tn-generator-page .tcg-log p{border-bottom-color:var(--tn-line)}
body.tn-generator-page .tcg-jsonout,body.tn-generator-page #tcg-jsonout{background:#05080a;border:1px solid var(--tn-line);border-radius:3px;color:#a7d9c8;font-family:ui-monospace,monospace}
@media(max-width:760px){body.tn-generator-page .tn-generator-shell{padding-left:10px;padding-right:10px}body.tn-generator-page .tcg-header{padding:20px 16px}body.tn-generator-page .tcg-header:before{display:none}body.tn-generator-page .tcg-modebar{width:100%;display:grid;grid-template-columns:1fr 1fr}body.tn-generator-page .tcg-mode{text-align:center}body.tn-generator-page .tcg-card{padding:14px}body.tn-generator-page .tcg-actions{flex-wrap:wrap}}
