.generator-tab-btn,.tool-card{cursor:pointer;text-align:center}.generator-header h2,.header h1,.portal-back-link,.tool-card h2{font-family:var(--font-display)}.empty-message,.food-dish,.generator-header,.generator-section h3,.generator-tab-btn,.header,.loot-result,.tool-card{text-align:center}.lookup-table-grid,.mechanics-table,.mini-table{border-collapse:collapse}.btn-primary,.city-economy-details h5,.city-faction-presence h5,.hazard-difficulty,.header h1,.linked-roll-label,.loot-category,.loot-rarity,.mechanics-table th,.menu-price-range,.menu-section-title,.mini-table th,.npc-faction-tag,.npc-section-title,.portal-back-link,.result-category,.subtitle,.tool-card.coming-soon::after{text-transform:uppercase}:root{--bg-primary:#121212;--bg-secondary:#1e1e1e;--bg-card:#2d2d2d;--bg-card-hover:#3d3d3d;--text-primary:#e0e0e0;--text-secondary:#a0a0a0;--text-muted:#707070;--accent-cyan:#00d4ff;--accent-purple:#9d4edd;--accent-gold:#ffd700;--border-subtle:#3d3d3d;--border-active:#505050;--spacing-xs:0.5rem;--spacing-sm:1rem;--spacing-md:1.5rem;--spacing-lg:2rem;--spacing-xl:3rem;--font-display:'Orbitron',sans-serif;--font-body:'Inter','Segoe UI',Tahoma,Geneva,Verdana,sans-serif;--transition-fast:0.15s ease;--transition-normal:0.25s ease;--shadow-card:0 4px 20px rgba(0, 0, 0, 0.3);--shadow-glow:0 0 20px rgba(0, 212, 255, 0.2)}*,::after,::before{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important}}body{font-family:var(--font-body);background-color:var(--bg-primary);background-image:url('../img/gm_tools_background.png');background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed;color:var(--text-primary);margin:0;min-height:100vh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.portal-back-link{position:fixed;top:20px;left:20px;color:rgba(0,212,255,.5);text-decoration:none;font-size:12px;letter-spacing:1px;z-index:9000;transition:all var(--transition-normal);border:1px solid rgba(0,212,255,.1);padding:5px 10px;border-radius:4px;background:rgba(0,0,0,.4);backdrop-filter:blur(2px)}.main-content,.tool-card{position:relative}.print-btn,.subtitle{color:var(--text-secondary)}.generator-tab-btn,.print-btn,.subtitle{font-family:var(--font-body)}.print-btn,.tool-card{border:1px solid var(--border-subtle)}.portal-back-link:hover{color:var(--accent-cyan);border-color:var(--accent-cyan);box-shadow:var(--shadow-glow);text-decoration:none}.container{max-width:1200px;margin:0 auto;padding:var(--spacing-lg);padding-top:calc(var(--spacing-xl) + 40px)}.header{margin-bottom:var(--spacing-xl)}.header h1{font-size:2.5rem;font-weight:700;letter-spacing:4px;margin:0 0 var(--spacing-sm) 0;background:linear-gradient(135deg,var(--accent-cyan),var(--accent-purple));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:0 0 30px rgba(0,212,255,.3)}.subtitle{font-size:1rem;letter-spacing:2px;margin:0}.print-btn{padding:var(--spacing-xs) var(--spacing-sm);background:var(--bg-card);transition:all var(--transition-fast)}.print-btn:hover{background:var(--bg-card-hover);border-color:var(--accent-cyan);color:var(--text-primary)}.tools-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-md)}.tool-card{background:linear-gradient(145deg,var(--bg-secondary) 0,var(--bg-card) 100%);border-radius:8px;padding:var(--spacing-lg);transition:all var(--transition-normal);overflow:hidden}.tool-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent-cyan),transparent);opacity:0;transition:opacity var(--transition-normal)}.tool-card:hover{background:linear-gradient(145deg,var(--bg-card) 0,var(--bg-card-hover) 100%);border-color:var(--border-active);transform:translateY(-4px);box-shadow:var(--shadow-card),var(--shadow-glow)}.action-btn.primary,.action-btn:hover,.btn-ghost:hover,.generator-tab-btn.active{border-color:var(--accent-cyan)}.tool-card:hover::before{opacity:1}.tool-card.coming-soon{opacity:.7;cursor:not-allowed}.tool-card.coming-soon::after{content:'Coming Soon';position:absolute;top:10px;right:-30px;background:var(--accent-purple);color:#fff;padding:2px 40px;font-size:.7rem;letter-spacing:1px;transform:rotate(45deg)}.tool-card.coming-soon:hover{transform:none;box-shadow:none}.tool-icon{font-size:3rem;margin-bottom:var(--spacing-sm);filter:grayscale(0);transition:filter var(--transition-normal)}.tool-card.coming-soon .tool-icon{filter:grayscale(.5)}.tool-card h2{font-size:1.2rem;font-weight:600;letter-spacing:1px;margin:0 0 var(--spacing-xs) 0;color:var(--text-primary)}.tool-card p{font-size:.9rem;color:var(--text-secondary);margin:0;line-height:1.5}@media (max-width:768px){.container{padding:var(--spacing-sm);padding-top:calc(var(--spacing-lg) + 50px)}.header h1{font-size:1.8rem;letter-spacing:2px}.subtitle{font-size:.85rem;letter-spacing:1px}.tools-grid{grid-template-columns:1fr;gap:var(--spacing-sm)}.tool-card{padding:var(--spacing-md)}.tool-icon{font-size:2.5rem}.portal-back-link{top:10px;left:10px;font-size:10px;padding:4px 8px}.header .print-btn,.print-btn{position:static!important;display:block;margin:var(--spacing-sm) auto 0 auto;width:fit-content;top:auto;right:auto}}@media (max-width:480px){.header h1{font-size:1.5rem}.tool-card h2{font-size:1rem}.tool-card p{font-size:.85rem}}.generator-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-md);padding:var(--spacing-xs);background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-subtle)}.generator-tab-btn{flex:0 1 auto;padding:var(--spacing-xs) var(--spacing-sm);background:0 0;border:1px solid transparent;border-radius:6px;color:var(--text-secondary);transition:all var(--transition-fast)}.generator-tab-btn:hover{color:var(--text-primary);background:var(--bg-card)}.generator-tab-btn.active{background:linear-gradient(145deg,var(--bg-card) 0,var(--bg-card-hover) 100%);color:var(--accent-cyan);box-shadow:0 0 10px rgba(0,212,255,.2)}.generator-panels{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:8px;padding:var(--spacing-lg);min-height:400px}.generator-tab-panel{display:none}.generator-tab-panel.active{display:block;animation:.3s fadeIn}.generator-result,.result-card.result-animate{animation:.3s slideIn}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.generator-header{margin-bottom:var(--spacing-md)}.generator-header h2{font-size:1.5rem;color:var(--accent-cyan);margin:0 0 var(--spacing-xs) 0;letter-spacing:2px}.generator-header p{color:var(--text-secondary);margin:0;font-size:.95rem}.generator-header-sub h3,.generator-section h3{font-family:var(--font-display);font-size:1.1rem;color:var(--accent-cyan);letter-spacing:1px}.generator-header-sub{text-align:center;margin-bottom:var(--spacing-sm)}.generator-header-sub h3{margin:0}.generator-section h3{margin:0 0 var(--spacing-sm) 0}.generator-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.btn,.primary-btn,.quick-generator-btn{display:inline-flex;gap:var(--spacing-xs);font-family:var(--font-display);cursor:pointer;transition:all var(--transition-fast);font-weight:600}.primary-btn,.quick-generator-btn{align-items:center;padding:var(--spacing-sm) var(--spacing-lg);background:linear-gradient(135deg,var(--accent-cyan) 0,var(--accent-purple) 100%);border:none;border-radius:6px;color:#fff;font-size:1rem;letter-spacing:1px;text-transform:uppercase}.primary-btn:hover,.quick-generator-btn:hover{transform:translateY(-2px);box-shadow:0 4px 20px rgba(0,212,255,.4)}.primary-btn:active,.quick-generator-btn:active{transform:translateY(0)}.action-btn{padding:var(--spacing-xs) var(--spacing-sm);background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:4px;color:var(--text-primary);font-size:.85rem;cursor:pointer;transition:all var(--transition-fast)}.action-btn:hover{background:var(--bg-card-hover)}.action-btn.primary{background:var(--accent-cyan);color:var(--bg-primary)}.btn{align-items:center;justify-content:center;padding:10px 20px;border-radius:6px;font-size:.9rem;letter-spacing:.5px;text-decoration:none;border:1px solid transparent;white-space:nowrap}.btn:focus{outline:0;box-shadow:0 0 0 2px rgba(0,212,255,.3)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.btn-primary{background:linear-gradient(135deg,var(--accent-cyan) 0,var(--accent-purple) 100%);border:none;color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 20px rgba(0,212,255,.4)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:0 0;border:1px solid var(--accent-cyan);color:var(--accent-cyan)}.btn-secondary:hover{background:rgba(0,212,255,.1);transform:translateY(-1px)}.btn-secondary:active{transform:translateY(0)}.btn-ghost{background:var(--bg-card);border:1px solid var(--border-subtle);color:var(--text-secondary)}.btn-ghost:hover{background:var(--bg-card-hover);color:var(--text-primary)}.btn-accent{background:rgba(157,78,221,.15);border:1px solid rgba(157,78,221,.4);color:var(--accent-purple)}.btn-sm,.btn-xs{border-radius:4px}.btn-accent:hover{background:rgba(157,78,221,.25);border-color:var(--accent-purple)}.btn-accent.logged,.btn-accent.success{background:rgba(76,175,80,.2);border-color:#4caf50;color:#4caf50}.btn-xs{padding:4px 8px;font-size:.75rem}.btn-sm{padding:6px 12px;font-size:.8rem}.btn-md{padding:10px 20px;font-size:.9rem}.btn-lg,.section-header{font-size:1rem;letter-spacing:1px}.btn-lg{padding:var(--spacing-sm) var(--spacing-lg)}.btn-icon{padding:8px;min-width:36px}.btn-icon.btn-sm{padding:4px;min-width:28px}.content-section{background:rgba(0,0,0,.2);border:1px solid var(--border-subtle);border-radius:8px;padding:var(--spacing-md);margin-bottom:var(--spacing-md)}.content-section:last-child{margin-bottom:0}.section-header{font-family:var(--font-display);color:var(--accent-cyan);margin:0 0 var(--spacing-sm) 0;padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--border-subtle)}.section-header.accent{color:var(--accent-purple);border-bottom-color:rgba(157,78,221,.3)}.section-header.gold{color:var(--accent-gold);border-bottom-color:rgba(255,215,0,.3)}.control-group input[type=text]:hover,.control-group select:hover{border-color:var(--accent-cyan)}.divider{height:1px;background:linear-gradient(to right,transparent,var(--border-subtle),transparent);margin:var(--spacing-lg) 0;border:none}.divider.subtle{margin:var(--spacing-md) 0}.lookup-table-section:last-child,.nested-subtable .lookup-table-grid.nested{margin-bottom:0}.npc-controls{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.control-group{display:flex;align-items:center;gap:var(--spacing-xs)}.control-group label{color:var(--text-secondary);font-size:.9rem}.control-group input[type=text],.control-group select{padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--border-subtle);color:var(--text-primary);font-size:.9rem;background:var(--bg-card)}.control-group select{border-radius:4px;cursor:pointer}.control-group input[type=text]{border-radius:4px;width:100%;max-width:250px}.control-group input[type=text]:focus{outline:0;border-color:var(--accent-cyan);box-shadow:0 0 0 2px rgba(0,212,255,.15)}.generator-results{margin-top:var(--spacing-md)}.generator-result{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;padding:var(--spacing-md)}@keyframes slideIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.result-roll{display:inline-block;background:var(--accent-purple);color:#fff;padding:2px 8px;border-radius:4px;font-size:.8rem;font-family:var(--font-display);margin-bottom:var(--spacing-xs)}.result-title{font-family:var(--font-display);color:var(--accent-cyan);margin:var(--spacing-xs) 0}.result-description{color:var(--text-secondary);line-height:1.6;margin:var(--spacing-sm) 0}.sub-result{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--border-subtle)}.sub-result-title{font-family:var(--font-display);font-size:1.1rem;color:var(--accent-gold);margin:var(--spacing-xs) 0}.npc-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;padding:var(--spacing-md);position:relative}.npc-card.generated{border-color:var(--accent-cyan);box-shadow:0 0 20px rgba(0,212,255,.1)}.npc-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--border-subtle)}.npc-name{font-family:var(--font-display);font-size:1.4rem;color:var(--accent-cyan);margin:0;letter-spacing:1px}.npc-culture{color:var(--text-muted);font-size:.85rem;font-style:italic}.npc-faction-badge{display:inline-block;padding:4px 10px;background:rgba(157,78,221,.2);border:1px solid rgba(157,78,221,.4);border-radius:12px;font-size:.75rem;color:var(--accent-purple);font-weight:600;margin-left:var(--spacing-sm)}.npc-quick-summary{background:linear-gradient(90deg,rgba(0,212,255,.1),transparent);border-left:3px solid var(--accent-cyan);padding:8px 12px;margin-bottom:var(--spacing-sm);border-radius:0 8px 8px 0}.npc-summary-text{margin:0;font-size:.95rem;color:var(--text-primary);font-style:italic}.npc-details,.npc-motivations,.npc-skills{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-xs);margin-bottom:var(--spacing-md)}.npc-detail{color:var(--text-primary);line-height:1.5}.npc-detail strong,.npc-field-description,.npc-notes-section label{color:var(--text-secondary)}.npc-motivations{padding:var(--spacing-sm);background:rgba(157,78,221,.1);border-radius:6px;border:1px solid rgba(157,78,221,.2)}.npc-skills{padding:var(--spacing-sm);background:rgba(0,212,255,.1);border-radius:6px;border:1px solid rgba(0,212,255,.2)}.npc-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--border-subtle)}.reroll-field-btn{background:0 0;border:none;cursor:pointer;font-size:.75rem;opacity:.3;padding:2px 4px;margin-left:4px;transition:all var(--transition-fast);vertical-align:middle}.reroll-field-btn:hover{opacity:1;transform:scale(1.2)}.npc-detail:hover .reroll-field-btn{opacity:.6}.reroll-name-btn{opacity:.5;font-size:.9rem}.npc-field-value{transition:background-color .3s}.npc-field-value.field-updated,.npc-name.field-updated{background-color:rgba(0,212,255,.3);border-radius:3px}.npc-detail.has-inline-description{flex-wrap:wrap;display:flex;align-items:center}.npc-field-description{width:100%;margin:var(--spacing-xs) 0 0 0;padding:var(--spacing-xs) var(--spacing-sm);background:rgba(0,212,255,.08);border-left:2px solid var(--accent-cyan);border-radius:0 4px 4px 0;font-size:.85rem;font-style:italic;line-height:1.4}.npc-notes-textarea,.saved-npc-item{border:1px solid var(--border-subtle)}.npc-notes-section{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--border-subtle)}.npc-notes-section label{display:block;margin-bottom:var(--spacing-xs)}.npc-notes-textarea{width:100%;min-height:80px;padding:var(--spacing-sm);background:var(--bg-secondary);border-radius:6px;color:var(--text-primary);font-family:var(--font-body);font-size:.9rem;resize:vertical;transition:border-color var(--transition-fast)}.npc-notes-textarea:focus{outline:0;border-color:var(--accent-cyan)}.npc-notes-textarea::placeholder{color:var(--text-muted)}.saved-npc-has-notes{font-size:.8rem;margin-left:6px;opacity:.7}.saved-npc-species{font-size:.75rem;color:var(--text-muted);margin-left:8px}.npc-name-row{display:flex;align-items:center;gap:var(--spacing-xs)}.npc-description{background:linear-gradient(135deg,rgba(0,212,255,.05),rgba(157,78,221,.05));border-left:3px solid var(--accent-cyan);padding:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-md);font-style:italic;color:var(--text-secondary);line-height:1.6}.city-detail strong,.city-planet-context h5,.encounter-detail strong,.food-detail strong,.npc-section-title,.patron-detail strong{color:var(--accent-cyan)}.npc-description-text{margin:0}.npc-section{margin-bottom:var(--spacing-md)}.npc-section-title{font-family:var(--font-display);font-size:.85rem;letter-spacing:2px;margin:0 0 var(--spacing-xs) 0;padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--border-subtle)}.npc-section-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:4px var(--spacing-md)}.npc-detail{display:flex;align-items:baseline;gap:4px;font-size:.9rem;padding:2px 0}.npc-label{color:var(--text-muted);flex-shrink:0}.menu-header,.menu-item-header{justify-content:space-between;display:flex}.npc-field-value.has-tooltip{border-bottom:1px dotted var(--accent-purple);cursor:help}.npc-motivations-section{background:rgba(157,78,221,.08);border-radius:6px;padding:var(--spacing-sm);border:1px solid rgba(157,78,221,.2)}.lookup-table-grid tbody tr:hover,.npc-swn-section{background:rgba(0,212,255,.08)}.npc-swn-section{border-radius:6px;padding:var(--spacing-sm);border:1px solid rgba(0,212,255,.2)}.menu-result{background:linear-gradient(135deg,var(--bg-card),rgba(255,193,68,.05));border:1px solid rgba(255,193,68,.3)}.menu-header{align-items:center;border-bottom:2px solid var(--accent-gold);padding-bottom:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.menu-venue-name{font-family:var(--font-display);font-size:1.4rem;color:var(--accent-gold);margin:0;letter-spacing:1px}.menu-price-range{background:var(--accent-gold);color:var(--bg-primary);padding:2px 8px;border-radius:3px;font-size:.75rem;font-weight:600}.menu-ambiance{color:var(--text-muted);font-style:italic;font-size:.85rem;margin:0 0 var(--spacing-md) 0}.menu-item-price,.menu-section-title{font-size:.9rem;font-family:var(--font-display)}.menu-section{margin-bottom:var(--spacing-md)}.menu-section-title{color:var(--text-secondary);letter-spacing:1px;margin:0 0 var(--spacing-sm) 0}.menu-item{background:rgba(0,0,0,.2);border-radius:4px;padding:var(--spacing-sm);margin-bottom:var(--spacing-xs)}.menu-item-header{align-items:center;margin-bottom:4px}.menu-item-name{font-weight:600;color:var(--text-primary)}.menu-item-price{color:var(--accent-gold)}.menu-item-desc{color:var(--text-muted);font-size:.8rem;margin:0;font-style:italic}.loot-condition,.planet-description,.result-condition{margin-top:var(--spacing-sm)}.drinks-section{border-top:1px dashed var(--border-subtle);padding-top:var(--spacing-sm)}.menu-item.drink{background:rgba(0,212,255,.1)}.loot-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.city-planet-context,.food-dish{margin-bottom:var(--spacing-md)}.loot-category{background:var(--bg-secondary);padding:2px 10px;border-radius:3px;font-size:.8rem;color:var(--text-secondary)}.loot-rarity{font-weight:600;font-size:.85rem;letter-spacing:1px}.loot-condition{padding-top:var(--spacing-sm);border-top:1px solid var(--border-subtle);color:var(--text-muted);font-size:.85rem}.city-details,.encounter-details,.food-details,.patron-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-sm)}.city-detail,.encounter-detail,.food-detail,.patron-detail{font-size:.9rem;line-height:1.5;padding:var(--spacing-xs) 0}.result-category{color:var(--text-muted);font-size:.85rem;letter-spacing:1px}.faction-government .faction-role,.result-condition{color:var(--accent-gold)}.result-condition{font-size:.9rem}.food-dish{background:rgba(255,215,0,.1);border:1px solid rgba(255,215,0,.2);border-radius:6px;padding:var(--spacing-md);font-size:1.1rem;line-height:1.6}.encounter-result.urban{border-left:4px solid var(--accent-cyan)}.encounter-result.wilderness{border-left:4px solid var(--accent-gold)}.city-planet-context{background:linear-gradient(135deg,rgba(0,212,255,.08),rgba(157,78,221,.08));border:1px solid rgba(0,212,255,.2);border-radius:8px;padding:var(--spacing-sm) var(--spacing-md)}.city-planet-context h5{margin:0 0 var(--spacing-xs) 0;font-family:var(--font-display);font-size:1rem;letter-spacing:1px}.planet-env-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-bottom:var(--spacing-xs)}.env-tag{background:rgba(0,0,0,.3);padding:2px 8px;border-radius:4px;font-size:.75rem;color:var(--text-secondary)}.planet-tags{font-size:.8rem;color:var(--accent-purple);font-style:italic}.city-faction-presence{background:linear-gradient(135deg,rgba(157,78,221,.08),rgba(0,212,255,.08));border:1px solid rgba(157,78,221,.2);border-radius:8px;padding:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-md)}.city-faction-presence h5{margin:0 0 var(--spacing-xs) 0;font-family:var(--font-display);font-size:.85rem;color:var(--accent-purple);letter-spacing:1px}.faction-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) 0;font-size:.9rem}.city-type-description,.planet-description{padding:var(--spacing-sm);background:rgba(0,0,0,.2);font-style:italic}.faction-item+.faction-item{border-top:1px solid rgba(255,255,255,.05)}.faction-role{color:var(--text-muted);font-size:.8rem;flex-shrink:0}.city-name-row,.city-type-row{align-items:center;gap:var(--spacing-xs);display:flex}.faction-name{color:var(--text-primary);font-weight:500}.planet-description,.planet-detail{color:var(--text-secondary);font-size:.85rem}.faction-base .faction-role{color:var(--accent-purple)}.planet-description{border-radius:4px;line-height:1.5}.planet-detail{margin-top:var(--spacing-xs);line-height:1.4}.planet-detail strong{color:var(--accent-cyan)}.city-name-row h4{margin:0}.city-name{margin:0;font-size:1.25rem;color:var(--text-primary)}.city-type-row{margin-top:var(--spacing-xs)}.city-type-description{color:var(--text-secondary);font-size:.9rem;line-height:1.6;margin:var(--spacing-sm) 0;border-left:3px solid rgba(0,212,255,.4);border-radius:0 6px 6px 0;position:relative;padding-right:30px}.city-type-description .reroll-description-btn{position:absolute;top:50%;right:5px;transform:translateY(-50%);opacity:0;transition:opacity .2s;background:0 0;border:none;color:var(--accent-cyan);font-size:1rem;cursor:pointer;padding:2px 5px}.deploy-card:hover,.deployment-card:hover{transform:translateX(4px);background:var(--bg-card-hover)}.economy-row.black-market,.world-tag{color:var(--accent-purple)}.city-type-description:hover .reroll-description-btn{opacity:1}.city-stat-row{display:flex;align-items:center;gap:var(--spacing-xs)}.city-quick-stats{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin:var(--spacing-sm) 0}.world-tag{display:inline-block;padding:2px 6px;background:rgba(157,78,221,.15);border:1px solid rgba(157,78,221,.3);border-radius:4px;font-size:.8rem;cursor:help;margin:2px}.world-tag.has-tooltip:hover{background:rgba(157,78,221,.25);border-color:rgba(157,78,221,.5)}.city-field-value{transition:background-color .3s}.field-updated{animation:.5s field-flash}@keyframes field-flash{0%{background-color:rgba(0,212,255,.4)}100%{background-color:transparent}}.city-detail{display:flex;align-items:flex-start;gap:var(--spacing-xs);padding:1px 0;flex-wrap:wrap}.city-detail .reroll-field-btn{opacity:0;transition:opacity .2s}.city-detail:hover .reroll-field-btn,.result-copy-btn:hover{opacity:1}.city-economy-details{background:rgba(255,193,68,.08);border:1px solid rgba(255,193,68,.2);border-radius:6px;padding:var(--spacing-sm);margin-top:var(--spacing-md)}.city-economy-details h5{margin:0 0 var(--spacing-xs) 0;font-family:var(--font-display);font-size:.85rem;color:var(--accent-gold);letter-spacing:1px}.economy-row strong,.saved-npc-info strong,.saved-section h3{color:var(--text-primary)}.economy-row{font-size:.9rem;color:var(--text-secondary);padding:2px 0}.saved-section{margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid var(--border-subtle)}.saved-section h3{font-family:var(--font-display);font-size:1.2rem;margin:0 0 var(--spacing-md) 0;letter-spacing:1px}.saved-list{display:grid;gap:var(--spacing-sm)}.saved-npc-actions,.saved-npc-name-row{display:flex;gap:var(--spacing-xs)}.empty-message{color:var(--text-muted);font-style:italic;padding:var(--spacing-lg)}.saved-npc-item{display:flex;justify-content:space-between;align-items:center;background:var(--bg-card);border-radius:6px;padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-fast)}.saved-npc-item:hover{border-color:var(--accent-cyan)}.saved-npc-info strong{display:block}.saved-npc-role{font-size:.85rem;color:var(--text-muted)}.saved-npc-actions button{padding:4px 12px;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:4px;color:var(--text-secondary);font-size:.8rem;cursor:pointer;transition:all var(--transition-fast)}.saved-npc-actions button:hover{background:var(--bg-card-hover);color:var(--text-primary)}.delete-npc-btn:hover{border-color:#f44;color:#f44}.saved-npc-name-row{align-items:center;flex-wrap:wrap}.npc-faction-tag{display:inline-block;padding:2px 8px;background:rgba(157,78,221,.2);border:1px solid rgba(157,78,221,.4);border-radius:4px;font-size:.7rem;color:var(--accent-purple);font-weight:500;letter-spacing:.5px}.lookup-table-title,.result-title{letter-spacing:1px;font-family:var(--font-display)}.saved-npc-meta{font-size:.8rem;color:var(--text-muted);margin-top:2px}.result-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;padding:var(--spacing-md);margin-bottom:var(--spacing-sm)}.result-content,.result-header{margin-bottom:var(--spacing-xs)}.result-header{display:flex;justify-content:space-between;align-items:center}.result-title{font-size:.9rem;color:var(--accent-cyan)}.result-copy-btn{background:0 0;border:none;cursor:pointer;font-size:1rem;opacity:.5;transition:opacity var(--transition-fast)}.result-content{font-size:1.1rem;color:var(--text-primary)}.error-message,.lookup-table-section{margin-bottom:var(--spacing-md)}.result-extras{margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--border-subtle)}.result-extra{font-size:.85rem;color:var(--text-secondary)}.error-message{background:rgba(255,68,68,.1);border:1px solid rgba(255,68,68,.3);border-radius:6px;padding:var(--spacing-md);display:flex;align-items:center;gap:var(--spacing-sm);color:#ff6b6b}.error-icon{font-size:1.2rem}@media (max-width:768px){.generator-tabs,.npc-header{flex-direction:column}.generator-tab-btn{min-width:auto;text-align:left;padding:var(--spacing-sm)}.generator-panels{padding:var(--spacing-md)}.generator-header h2{font-size:1.2rem}.city-details,.encounter-details,.npc-details,.npc-motivations,.npc-skills,.patron-details{grid-template-columns:1fr}.npc-header{gap:var(--spacing-xs)}.npc-actions{flex-direction:column}.npc-actions button{width:100%}}.print-btn,.view-table-btn{padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--border-subtle);cursor:pointer;transition:all var(--transition-fast);font-size:.85rem;color:var(--text-secondary)}@media (max-width:480px){.quick-generator-btn{width:100%;justify-content:center}.generator-actions{flex-direction:column}}.print-btn{position:absolute;top:0;right:0;background:0 0;border-radius:4px}.lookup-table,.print-btn:hover,.view-table-btn{background:var(--bg-card)}.print-btn:hover{border-color:var(--accent-cyan);color:var(--accent-cyan)}.header{position:relative}.view-table-btn{border-radius:4px}.linked-roll.nested-sub .linked-roll-label,.lookup-table-title{color:var(--accent-cyan)}.view-table-btn:hover{background:var(--bg-card-hover);border-color:var(--accent-cyan);color:var(--text-primary)}.lookup-table-grid tbody tr.has-subtable,.lookup-table-grid tr.has-subtable,.lookup-table-section.sub-table{border-left:3px solid var(--accent-purple)}.lookup-table-container{margin-top:var(--spacing-md);overflow:hidden;transition:max-height .3s}.lookup-table-container.collapsed{max-height:0;margin:0}.lookup-table{border:1px solid var(--border-subtle);border-radius:8px;padding:var(--spacing-md)}.lookup-table-section.sub-table{margin-left:var(--spacing-md);padding-left:var(--spacing-md)}.lookup-table-title{font-size:1rem;margin:0 0 var(--spacing-sm) 0}.lookup-table-title .dice-type{color:var(--text-muted);font-size:.85rem;font-weight:400}.lookup-table-category-title{font-family:var(--font-display);font-size:1.1rem;color:var(--text-primary);margin:var(--spacing-lg) 0 var(--spacing-md) 0;padding-bottom:var(--spacing-sm);border-bottom:2px solid var(--accent-purple)}.lookup-table-grid tbody tr.has-subtable .col-result,.sub-table-icon{color:var(--accent-purple)}.city-actions,.encounter-actions,.loot-actions,.npc-actions,.patron-actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-md);padding-top:var(--spacing-sm);border-top:1px solid var(--border-subtle);background:var(--bg-card);position:sticky;bottom:-16px;z-index:5;padding-bottom:4px}.generator-result{position:relative}.lookup-table-grid{width:100%;font-size:.85rem}.lookup-table-grid td,.lookup-table-grid th{padding:8px 12px;text-align:left;border-bottom:1px solid var(--border-subtle);vertical-align:top}.lookup-table-grid th{background:var(--bg-secondary);color:var(--text-secondary);font-weight:600;position:sticky;top:0}.lookup-table-grid .col-roll{width:70px;text-align:center;font-family:var(--font-mono)}.lookup-table-grid .col-result{width:200px;font-weight:500}.lookup-table-grid.with-descriptions .col-result{width:180px}.lookup-table-grid tbody tr:nth-child(2n){background:rgba(0,0,0,.1)}.sub-table-icon{font-size:.9rem;cursor:help;margin-left:4px}.table-desc{color:var(--text-secondary);font-size:.8rem;line-height:1.4;max-width:450px}.linked-roll-label,.lookup-table-grid tr.has-subtable .col-result,.nested-subtable-title{color:var(--accent-purple)}.lookup-table-grid tr.has-subtable{cursor:pointer}.lookup-table-grid tr.has-subtable:hover{background:rgba(157,78,221,.15)!important}.lookup-table-grid tr.has-subtable.expanded{background:rgba(157,78,221,.2)!important}.lookup-table-grid .col-expand{width:40px;text-align:center;color:var(--accent-purple)}.lookup-table-grid tr.has-subtable .expand-icon{font-size:.75rem;transition:transform .2s;display:inline-block}.lookup-table-grid tr.has-subtable.expanded .expand-icon{transform:rotate(90deg)}.subtable-row,.subtable-row:hover{background:0 0!important}.subtable-row td{padding:0!important;border:none!important}.nested-subtable{overflow:hidden;max-height:2000px;transition:max-height .3s,opacity .2s,padding .3s;padding:var(--spacing-md);margin:4px 0;border-left:none;background:rgba(157,78,221,.03);border-radius:4px}.deploy-card,.deployment-card,.flow-step-large,.secondary-btn{transition:all var(--transition-normal)}.nested-subtable.collapsed{max-height:0;opacity:0;padding:0 var(--spacing-md);margin:0}.nested-subtable-title{font-family:var(--font-display);font-size:.9rem;margin:0 0 var(--spacing-sm) 0;letter-spacing:.5px;opacity:.9}.encounter-controls,.hazard-section-block h3{margin-bottom:var(--spacing-md);display:flex}.nested-subtable-title .dice-type{color:var(--text-muted);font-size:.8rem;font-weight:400}.nested-subtable .lookup-table-grid.nested td{padding:6px 14px!important;border-bottom:1px solid rgba(157,78,221,.1)}.nested-subtable .lookup-table-grid.nested tr:last-child td{border-bottom:none}.nested-subtable .lookup-table-grid.nested .col-roll{width:60px;padding-left:0;color:var(--text-muted)}.nested-subtable .lookup-table-grid.nested .col-result{font-size:.9rem}.nested-subtable .lookup-table-grid.nested .table-desc{font-size:.85rem;line-height:1.6;color:var(--text-muted)}.encounter-controls{justify-content:center}.linked-roll{background:rgba(157,78,221,.1);border:1px solid rgba(157,78,221,.3);border-radius:6px;padding:var(--spacing-sm);margin-top:var(--spacing-sm)}.linked-roll-label{font-size:.8rem;font-weight:600;margin-bottom:var(--spacing-xs);letter-spacing:1px}.linked-roll.nested-sub{margin-left:var(--spacing-md);border-color:rgba(0,212,255,.3);background:rgba(0,212,255,.05)}.hazard-section-block{margin-bottom:var(--spacing-xl)}.hazard-section-block h3{color:var(--text-primary);font-family:var(--font-display);font-size:1.2rem;align-items:center;gap:var(--spacing-sm)}.flowchart-layout{display:grid;grid-template-columns:280px 1fr;gap:var(--spacing-lg);background:rgba(0,0,0,.3);border-radius:12px;padding:var(--spacing-lg);min-height:500px}.flowchart-main{display:flex;flex-direction:column;gap:0}.flow-step-large{background:var(--bg-card);border:2px solid var(--border-subtle);border-radius:10px;padding:var(--spacing-md) var(--spacing-lg);cursor:pointer}.flow-step-large.active,.flow-step-large:hover{border-color:var(--accent-cyan);background:var(--bg-card-hover)}.flow-step-large.active{box-shadow:0 0 15px rgba(0,212,255,.3)}.flow-step-header{display:flex;align-items:center;gap:var(--spacing-sm)}.flow-step-num{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:linear-gradient(135deg,var(--accent-cyan),var(--accent-purple));border-radius:50%;font-family:var(--font-display);font-weight:700;font-size:.9rem;color:#000;flex-shrink:0}.deploy-skills,.deployment-skills{font-family:'Roboto Mono',monospace}.flow-step-title{font-weight:600;font-size:1rem;color:var(--text-primary)}.flow-connector{text-align:center;color:var(--accent-cyan);font-size:1.2rem;padding:4px 0;opacity:.6}.decision-success,.fail-level-0 .fail-count{color:#4ade80}.flowchart-detail-panel,.mechanics-card-large{background:var(--bg-card);padding:var(--spacing-lg)}.flow-decision-node{border-color:var(--accent-purple)}.flow-end-node{border-color:var(--accent-gold)}.flow-decision-branches{display:flex;justify-content:center;gap:var(--spacing-md);margin-top:var(--spacing-xs);font-size:.85rem}.decision-failure{color:#f87171}.decision-loop,.flow-detail-content h4{color:var(--accent-cyan)}.decision-end{color:var(--accent-gold)}.flowchart-detail-panel{border-radius:10px;border:1px solid var(--border-subtle)}.detail-placeholder{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-size:1.1rem}.flow-detail-content h4{font-family:var(--font-display);margin:0 0 var(--spacing-md) 0;font-size:1.1rem}.flow-detail-content p{color:var(--text-secondary);line-height:1.6;margin:0 0 var(--spacing-md) 0}.flow-detail-content ul{color:var(--text-secondary);padding-left:var(--spacing-md);margin:0}.flow-detail-content li{margin-bottom:var(--spacing-xs)}.mechanics-grid-2x2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg)}.mechanics-card-large{border-radius:12px;border:1px solid var(--border-subtle)}.failure-row,.resource-row{padding:var(--spacing-sm);background:rgba(0,0,0,.2);border-radius:6px}.mechanics-card-large h4{color:var(--accent-cyan);font-family:var(--font-display);font-size:1rem;margin:0 0 var(--spacing-md) 0;text-align:center}.deploy-header,.deploy-skills,.practice-content strong{margin-bottom:var(--spacing-xs)}.mechanics-table{width:100%;font-size:.9rem}.mechanics-table td,.mechanics-table th{padding:8px 12px;text-align:center;border-bottom:1px solid var(--border-subtle)}.mechanics-table th{color:var(--text-muted);font-weight:600;font-size:.8rem}.mechanics-table tbody tr:last-child td{border-bottom:none}.mechanics-note{margin-top:var(--spacing-sm);font-size:.85rem;color:var(--text-muted);font-style:italic;text-align:center}.failure-schedule{display:flex;flex-direction:column;gap:var(--spacing-sm)}.failure-row{display:grid;grid-template-columns:90px 100px 1fr;gap:var(--spacing-sm);font-size:.9rem;align-items:center}.fail-count{font-weight:700}.fail-outcome{font-weight:600}.fail-example{color:var(--text-muted);font-size:.85rem}.fail-level-1 .fail-count{color:#facc15}.fail-level-2 .fail-count{color:#fb923c}.fail-level-3 .fail-count{color:#f87171}.resource-bonuses{display:flex;flex-direction:column;gap:var(--spacing-sm)}.resource-row{display:flex;justify-content:space-between;align-items:center}.deployment-grid-3x2,.practices-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md)}.resource-type{color:var(--text-secondary);font-size:.9rem}.resource-bonus{font-weight:700;padding:4px 10px;border-radius:4px;font-size:.85rem}.deploy-card,.practice-item{border-radius:10px;padding:var(--spacing-md)}.bonus-flat{background:rgba(74,222,128,.2);color:#4ade80}.bonus-adv{background:rgba(250,204,21,.2);color:#facc15}.bonus-auto{background:rgba(248,113,113,.2);color:#f87171}.deploy-card,.hazard-selector select,.mechanics-card,.practice-item{background:var(--bg-card)}.deploy-card{border-left:4px solid var(--accent-cyan)}.deploy-header{font-size:1.1rem;font-weight:700}.deploy-pilot .deploy-header{color:#66bb6a}.deploy-pilot{border-left-color:#66bb6a}.deploy-gunner .deploy-header{color:#ef5350}.deploy-gunner{border-left-color:#ef5350}.deploy-mechanic .deploy-header{color:#ffca28}.deploy-mechanic{border-left-color:#ffca28}.deploy-operator .deploy-header{color:#ab47bc}.deploy-operator{border-left-color:#ab47bc}.deploy-technician .deploy-header{color:#78909c}.deploy-technician{border-left-color:#78909c}.deploy-coordinator .deploy-header{color:#4fc3f7}.deploy-coordinator{border-left-color:#4fc3f7}.deploy-skills{font-size:.85rem;color:var(--text-secondary)}.deploy-actions{font-size:.85rem;color:var(--text-muted);font-style:italic}.practice-item{display:flex;gap:var(--spacing-sm)}.practice-icon{font-size:1.5rem;flex-shrink:0}.practice-content strong{color:var(--text-primary);display:block}.hazard-selector label,.practice-content p{color:var(--text-secondary);font-size:.9rem}.practice-content p{line-height:1.5;margin:0}.hazard-generator-controls{display:flex;gap:var(--spacing-md);align-items:center;flex-wrap:wrap;margin-bottom:var(--spacing-md)}.hazard-selector{display:flex;gap:var(--spacing-sm);align-items:center}.hazard-selector select{color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:6px;padding:8px 12px;font-size:.9rem;min-width:200px}.hazard-selector select:focus{border-color:var(--accent-cyan);outline:0}.generator-tabs{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);justify-content:center;margin-bottom:var(--spacing-lg)}.best-practices-grid,.deployment-cards,.mechanics-grid{display:grid;gap:var(--spacing-md)}.generator-tab-btn{padding:10px 16px;font-size:.9rem;white-space:nowrap}@media (max-width:1200px){.flowchart-layout{grid-template-columns:1fr}.flowchart-detail-panel{min-height:200px}}@media (max-width:900px){.mechanics-grid-2x2{grid-template-columns:1fr}.deployment-grid-3x2{grid-template-columns:repeat(2,1fr)}.failure-row,.practices-grid{grid-template-columns:1fr}.failure-row{text-align:center}}@media (max-width:600px){.deployment-grid-3x2{grid-template-columns:1fr}.hazard-generator-controls{flex-direction:column;align-items:stretch}.hazard-selector{flex-direction:column}}.mechanics-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.mechanics-card{border-radius:8px;padding:var(--spacing-md);border:1px solid var(--border-subtle)}.deployment-card,.practice-card{background:var(--bg-card);border-radius:10px;padding:var(--spacing-md)}.mechanics-card h4{color:var(--accent-cyan);font-family:var(--font-display);font-size:.9rem;margin:0 0 var(--spacing-sm) 0;text-align:center}.mini-table{width:100%;font-size:.85rem}.mini-table td,.mini-table th{padding:6px 8px;text-align:center;border-bottom:1px solid var(--border-subtle)}.mini-table th{color:var(--text-muted);font-weight:600;font-size:.75rem}.mini-table tr:last-child td{border-bottom:none}.fail-0{color:#4ade80}.fail-1{color:#facc15}.fail-2{color:#fb923c}.fail-3{color:#f87171}.failure-table td:first-child{font-weight:600;text-align:left}.failure-table td:last-child{text-align:left;color:var(--text-secondary)}.deployment-cards{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.deployment-card{border-left:4px solid var(--accent-cyan)}.deployment-card h4{margin:0 0 var(--spacing-xs) 0;font-size:1rem}.pilot-card{border-left-color:#66bb6a}.pilot-card h4{color:#66bb6a}.gunner-card{border-left-color:#ef5350}.gunner-card h4{color:#ef5350}.mechanic-card{border-left-color:#ffca28}.mechanic-card h4{color:#ffca28}.operator-card{border-left-color:#ab47bc}.operator-card h4{color:#ab47bc}.technician-card{border-left-color:#78909c}.technician-card h4{color:#78909c}.coordinator-card{border-left-color:#4fc3f7}.coordinator-card h4{color:#4fc3f7}.deployment-skills{font-size:.85rem;color:var(--text-secondary);margin-bottom:var(--spacing-xs)}.hazard-name,.secondary-btn,.session-id,.session-section h3{font-family:var(--font-display)}.hazard-description,.hazard-header,.hazard-result-card{margin-bottom:var(--spacing-md)}.deployment-examples{font-size:.8rem;color:var(--text-muted);font-style:italic}.best-practices-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.practice-card{border:1px solid var(--border-subtle)}.practice-card h4{color:var(--text-primary);margin:0 0 var(--spacing-sm) 0;font-size:1rem}.practice-card ul{margin:0;padding-left:var(--spacing-md);color:var(--text-secondary);font-size:.9rem}.practice-card li{margin-bottom:6px}.secondary-btn{background:0 0;border:1px solid var(--accent-cyan);color:var(--accent-cyan);padding:10px 20px;border-radius:6px;font-size:.9rem;cursor:pointer}.secondary-btn:hover{background:rgba(0,212,255,.1)}.secondary-btn.discovery-mode{border-color:var(--accent-gold);color:var(--accent-gold)}.secondary-btn.discovery-mode:hover{background:rgba(255,215,0,.1)}.hazard-result-card{background:var(--bg-card);border-radius:12px;padding:var(--spacing-lg);border:2px solid var(--border-subtle)}.hazard-result-card.hazard-mode{border-color:#f87171;background:linear-gradient(135deg,rgba(248,113,113,.1),var(--bg-card))}.hazard-result-card.discovery-mode{border-color:var(--accent-gold);background:linear-gradient(135deg,rgba(255,215,0,.1),var(--bg-card))}.activity-btn:hover,.activity-item:hover{background:var(--bg-card-hover)}.hazard-header{display:flex;align-items:center;justify-content:space-between}.hazard-name{font-size:1.3rem;color:var(--text-primary)}.hazard-difficulty{font-size:.8rem;padding:4px 12px;border-radius:20px;background:rgba(0,212,255,.2);color:var(--accent-cyan);letter-spacing:1px}.hazard-description{color:var(--text-secondary);line-height:1.6}.hazard-section{margin-top:var(--spacing-md)}.hazard-section-title{font-weight:600;color:var(--accent-cyan);margin-bottom:var(--spacing-xs);font-size:.9rem}.hazard-complications{list-style:none;padding:0;margin:0}.hazard-complications li{padding:6px 0 6px 20px;position:relative;color:var(--text-secondary);font-size:.9rem;border-bottom:1px solid var(--border-subtle)}.hazard-complications li:last-child{border-bottom:none}.hazard-complications li::before{content:'⚡';position:absolute;left:0;color:var(--accent-gold)}.hazard-skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--spacing-xs)}.hazard-skill-item{display:flex;flex-direction:column;padding:var(--spacing-xs);background:rgba(0,0,0,.2);border-radius:6px;font-size:.8rem}.hazard-skill-deployment{font-weight:600;color:var(--accent-cyan);text-transform:capitalize}.hazard-skill-action{color:var(--text-muted)}.consequence-text,.session-label{color:var(--text-secondary)}.hazard-consequences{display:flex;flex-direction:column;gap:var(--spacing-xs)}.consequence-item{display:flex;align-items:flex-start;gap:var(--spacing-sm);font-size:.9rem}.consequence-failures{font-weight:700;min-width:80px}.consequence-failures.fail-1{color:#facc15}.consequence-failures.fail-2{color:#fb923c}.consequence-failures.fail-3{color:#f87171}@media (max-width:900px){.flowchart-container{flex-direction:column;align-items:center}.flow-arrow{transform:rotate(90deg)}.flow-step{max-width:100%;width:100%}}@media print{.generator-actions,.generator-tabs,.npc-actions,.portal-back-link,.print-btn,.reroll-field-btn,.view-table-btn,button{display:none!important}body{background:#fff;color:#000}.container{max-width:100%;padding:0}.generator-result,.npc-card{break-inside:avoid;border:1px solid #ccc}}.session-log-controls{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--spacing-sm);padding:var(--spacing-sm);background:var(--bg-secondary);border-radius:8px;margin-bottom:var(--spacing-md)}.session-info{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.activity-list,.session-actions{gap:var(--spacing-xs);display:flex}.session-label{font-size:.9rem}.session-id{color:var(--accent-cyan);font-size:.85rem;padding:4px 12px;background:rgba(0,212,255,.1);border-radius:4px;border:1px solid rgba(0,212,255,.2)}.activity-count{color:var(--text-muted);font-size:.85rem}.session-log-content{background:var(--bg-card);border-radius:12px;padding:var(--spacing-md)}.session-section h3{color:var(--accent-cyan);font-size:1rem;margin:0 0 var(--spacing-sm) 0;letter-spacing:1px}.session-divider{height:1px;background:linear-gradient(to right,transparent,var(--border-subtle),transparent);margin:var(--spacing-md) 0}.activity-item,.campaign-notes-style{background:var(--bg-secondary);transition:var(--transition-fast)}.past-session-activities,.past-sessions-list{margin-top:var(--spacing-sm)}.gm-notes-section label,.note-entry-header,.past-session-item,.session-log-entry-header{margin-bottom:var(--spacing-xs)}.activity-list{flex-direction:column;max-height:400px;overflow-y:auto}.activity-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:10px 14px;border-radius:8px;border-left:3px solid var(--accent-cyan)}.activity-item.saved{border-left-color:var(--accent-gold)}.activity-icon{font-size:1.2rem;flex-shrink:0}.activity-content{flex:1;min-width:0}.activity-title{font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-time,.activity-type{color:var(--text-muted)}.activity-type{font-size:.8rem;text-transform:capitalize}.activity-time{font-size:.75rem;flex-shrink:0}.campaign-notes-style{width:100%;min-height:120px;padding:var(--spacing-sm);border:1px solid var(--border-subtle);border-radius:4px;color:var(--text-primary);font-family:var(--font-body);font-size:.9rem;line-height:1.5;resize:vertical}.npc-name-edit,.past-session-id{font-family:var(--font-display)}.campaign-notes-style:focus{border-color:var(--accent-cyan);outline:0;box-shadow:0 0 0 2px rgba(0,212,255,.1)}.activity-actions{display:flex;gap:4px;flex-shrink:0}.activity-btn{padding:4px 8px;font-size:.75rem;background:0 0;border:1px solid var(--border-subtle);border-radius:4px;color:var(--text-secondary);cursor:pointer;transition:var(--transition-fast)}.activity-btn:hover{color:var(--accent-cyan);border-color:var(--accent-cyan)}.past-session-item{padding:var(--spacing-sm);background:var(--bg-secondary);border-radius:8px}.past-session-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer}.past-session-id{color:var(--accent-purple);font-size:.85rem}.past-session-date{color:var(--text-muted);font-size:.8rem}.past-session-activities{display:none;padding-top:var(--spacing-sm);border-top:1px solid var(--border-subtle)}.past-session-item.expanded .past-session-activities{display:block}.copy-btn{padding:6px 12px;font-size:.8rem;background:rgba(0,212,255,.1);border:1px solid rgba(0,212,255,.3);border-radius:4px;color:var(--accent-cyan);cursor:pointer;transition:var(--transition-fast)}.copy-btn:hover{background:rgba(0,212,255,.2);border-color:var(--accent-cyan)}.copy-btn.copied{background:rgba(76,175,80,.2);border-color:#4caf50;color:#4caf50}.hidden{display:none!important}.saved-npc-item.npc-dead{opacity:.6;background:rgba(100,100,100,.1)}.saved-npc-item.npc-dead strong{text-decoration:line-through;color:var(--text-muted)}.npc-name-edit{font-size:1.3rem;background:rgba(0,0,0,.3);border:1px solid var(--accent-cyan);color:var(--text-primary);padding:4px 8px;border-radius:4px;width:auto;min-width:150px}.edit-name-btn{font-size:.85rem}.npc-alive-toggle{margin-top:var(--spacing-xs)}.alive-checkbox-label{display:flex;align-items:center;gap:6px;font-size:.9rem;color:var(--text-secondary);cursor:pointer}.alive-checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent-cyan);cursor:pointer}.session-log-btn{padding:8px 16px;font-size:.85rem;background:rgba(157,78,221,.15);border:1px solid rgba(157,78,221,.4);border-radius:4px;color:var(--accent-purple);cursor:pointer;transition:var(--transition-fast);margin-top:var(--spacing-sm)}.session-log-btn:hover{background:rgba(157,78,221,.25);border-color:var(--accent-purple)}.session-log-btn.logged{background:rgba(76,175,80,.2);border-color:#4caf50;color:#4caf50}.gm-notes-textarea:focus,.note-entry textarea:focus{outline:0;border-color:var(--accent-cyan)}.gm-notes-section{margin-top:var(--spacing-md);padding:var(--spacing-sm);background:rgba(0,0,0,.2);border-radius:6px;border:1px solid var(--border-subtle)}.gm-notes-textarea,.note-entry{border:1px solid var(--border-subtle)}.gm-notes-section label{display:block;font-size:.9rem;color:var(--text-secondary)}.gm-notes-textarea,.note-entry textarea{width:100%;padding:var(--spacing-sm);background:rgba(0,0,0,.3);color:var(--text-primary);font-family:var(--font-body);font-size:.9rem;resize:vertical}.gm-notes-textarea{min-height:80px;border-radius:4px}.notes-entry-container{display:flex;flex-direction:column;gap:var(--spacing-sm)}.note-entry{background:rgba(0,0,0,.2);border-radius:6px;padding:var(--spacing-sm)}.note-entry-header{display:flex;justify-content:space-between;align-items:center}.note-entry-timestamp{font-size:.75rem;color:var(--text-muted);font-family:var(--font-display)}.note-entry-actions{display:flex;gap:var(--spacing-xs)}.note-entry textarea{min-height:100px;border:1px solid var(--border-subtle);border-radius:4px}.log-note-btn{padding:6px 12px;font-size:.8rem;background:rgba(0,212,255,.1);border:1px solid rgba(0,212,255,.3);border-radius:4px;color:var(--accent-cyan);cursor:pointer;transition:var(--transition-fast)}.log-note-btn:hover{background:rgba(0,212,255,.2)}.session-log-entries{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.session-log-entry{background:rgba(157,78,221,.1);border:1px solid rgba(157,78,221,.3);border-radius:6px;padding:var(--spacing-sm)}.session-log-entry-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:var(--spacing-xs);border-bottom:1px solid rgba(157,78,221,.2)}.session-log-entry-type{font-family:var(--font-display);font-size:.75rem;text-transform:uppercase;color:var(--accent-purple)}.session-log-entry-timestamp{font-size:.7rem;color:var(--text-muted)}.session-log-entry-content{font-size:.85rem;color:var(--text-secondary)}.session-log-entry-notes{margin-top:var(--spacing-xs);font-style:italic;color:var(--text-muted);font-size:.8rem}