*,:before,:after{box-sizing:border-box}:root{--conlang-glyphs:"Noto Sans Manichaean", "Noto Sans Deseret", "Noto Sans Glagolitic", "Noto Sans Bamum", "Noto Sans Brahmi", "Noto Sans Gothic", "Noto Sans Runic", "Noto Sans Symbols 2", "Noto Music"}body{font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", var(--conlang-glyphs), sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}.conlang-glyph{font-family:var(--conlang-glyphs), -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif}@font-face{font-family:Travoglyph;src:url(/fonts/travoglyph_font/Travoglyph.otf)format("opentype");font-display:swap}.conlang-glyph--travoglyph{font-family:"Travoglyph", var(--conlang-glyphs), -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif}@font-face{font-family:Sylvaneth;src:url(/fonts/sylvaneth_font/Sylvaneth.otf)format("opentype");font-display:swap}.conlang-glyph--sylvaneth{font-family:"Sylvaneth", var(--conlang-glyphs), -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif}@font-face{font-family:Durinkhald;src:url(/fonts/durinkhald_font/Durinkhald.otf)format("opentype");font-display:swap}.conlang-glyph--durinkhold{font-family:"Durinkhald", var(--conlang-glyphs), -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif}@font-face{font-family:Glimmertongue;src:url(/fonts/glimmertongue_font/Glimmertongue.otf)format("opentype");font-display:swap}.conlang-glyph--glimmertongue{font-family:"Glimmertongue", var(--conlang-glyphs), -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif}@font-face{font-family:Einspeak;src:url(/fonts/einspeak_font/Einspeak.otf)format("opentype");font-display:swap}.conlang-glyph--einspeak{font-family:"Einspeak", var(--conlang-glyphs), -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif}@font-face{font-family:Aerlyish;src:url(/fonts/aerlyish_font/Aerlyish.otf)format("opentype");font-display:swap}.conlang-glyph--aerlyish{font-family:"Aerlyish", var(--conlang-glyphs), -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif}@font-face{font-family:Alnirish;src:url(/fonts/alnirish_font/Alnirish.otf)format("opentype");font-display:swap}.conlang-glyph--alnirish{font-family:"Alnirish", var(--conlang-glyphs), -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif}@font-face{font-family:Aztrolari;src:url(/fonts/aztrolari_font/Aztrolari.otf)format("opentype");font-display:swap}.conlang-glyph--aztrolari{font-family:"Aztrolari", var(--conlang-glyphs), -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif}@font-face{font-family:Cogtongue;src:url(/fonts/cogtongue_font/Cogtongue.otf)format("opentype");font-display:swap}.conlang-glyph--cogtongue{font-family:"Cogtongue", var(--conlang-glyphs), -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif}@font-face{font-family:Gearscript;src:url(/fonts/gearscript_font/Gearscript.otf)format("opentype");font-display:swap}.conlang-glyph--gearscript{font-family:"Gearscript", var(--conlang-glyphs), -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif}@font-face{font-family:Glacialyn;src:url(/fonts/glacialyn_font/Glacialyn.otf)format("opentype");font-display:swap}.conlang-glyph--glacialyn{font-family:"Glacialyn", var(--conlang-glyphs), -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif}@font-face{font-family:Khazgrun;src:url(/fonts/khazgrun_font/Khazgrun.otf)format("opentype");font-display:swap}.conlang-glyph--khazgrun{font-family:"Khazgrun", var(--conlang-glyphs), -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif}@font-face{font-family:Liltstride;src:url(/fonts/liltstride_font/Liltstride.otf)format("opentype");font-display:swap}.conlang-glyph--liltstride{font-family:"Liltstride", var(--conlang-glyphs), -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif}@font-face{font-family:Mechaton;src:url(/fonts/mechaton_font/Mechaton.otf)format("opentype");font-display:swap}.conlang-glyph--machine-language{font-family:"Mechaton", var(--conlang-glyphs), -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif}@font-face{font-family:Orish;src:url(/fonts/orish_font/Orish.otf)format("opentype");font-display:swap}.conlang-glyph--orish{font-family:"Orish", var(--conlang-glyphs), -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif}@font-face{font-family:Rootword;src:url(/fonts/rootword_font/Rootword.otf)format("opentype");font-display:swap}.conlang-glyph--rootword{font-family:"Rootword", var(--conlang-glyphs), -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif}@font-face{font-family:ShareynsSpeech;src:url(/fonts/shareyn_font/ShareynsSpeech.otf)format("opentype");font-display:swap}.conlang-glyph--shareyns-speech{font-family:"ShareynsSpeech", var(--conlang-glyphs), -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif}@font-face{font-family:Sylvan;src:url(/fonts/sylvan_font/Sylvan.otf)format("opentype");font-display:swap}.conlang-glyph--sylvan{font-family:"Sylvan", var(--conlang-glyphs), -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif}@font-face{font-family:Taharim;src:url(/fonts/taharim_font/Taharim.otf)format("opentype");font-display:swap}.conlang-glyph--ephemeral-tongue{font-family:"Taharim", var(--conlang-glyphs), -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif}@font-face{font-family:Enorneze;src:url(/fonts/enorneze_font/Enorneze.otf)format("opentype");font-display:swap}.conlang-glyph--enorneze{font-family:"Enorneze", var(--conlang-glyphs), -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{text-align:center;color:#e0e0e0;background:linear-gradient(135deg,#0f0f23 0%,#1a1a2e 100%);min-height:100vh}.App-logo{pointer-events:none;filter:drop-shadow(0 0 10px #ff00d1);height:40vmin}@media (prefers-reduced-motion:no-preference){.App-logo{animation:20s linear infinite App-logo-spin}}.App-header{color:#e0e0e0;background:linear-gradient(135deg,#0f0f23 0%,#2e2e42 100%);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;font-size:calc(10px + 2vmin);display:flex}.App-link{color:#ff00d1;text-shadow:0 0 5px #ff00d180}@keyframes App-logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn{color:#0f0f23;cursor:pointer;background:linear-gradient(135deg,#ff00d1 0%,#cb36b0 100%);border:none;border-radius:6px;margin-right:1em;padding:.5em 2em;font-family:Cinzel,serif;font-weight:600;text-decoration:none;transition:all .3s;display:inline-block;box-shadow:0 4px 15px #ff00d133}.btn:hover{color:#fff;background:linear-gradient(135deg,#00e5ff 0%,#9d4edd 100%);transform:translateY(-2px);box-shadow:0 6px 20px #00e5ff4d}.character-list{text-align:center;background:linear-gradient(135deg,#0f0f23 0%,#1a1a2e 100%);min-height:100vh;padding:2em}.character-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2em;max-width:1200px;margin-top:2em;margin-left:auto;margin-right:auto;display:grid}.character-card{color:#e0e0e0;background:linear-gradient(135deg,#2e2e42 0%,#3c3c5c 100%);border:2px solid #444;border-radius:12px;padding:1.5em;transition:all .3s;box-shadow:0 8px 25px #0006}.character-card:hover{border-color:#9d4edd;transform:translateY(-3px);box-shadow:0 12px 30px #9d4edd4d}.card-actions{justify-content:space-between;gap:.5em;margin-top:1.5em;display:flex}.btn{color:#0f0f23;cursor:pointer;background:linear-gradient(135deg,#ff00d1 0%,#cb36b0 100%);border:none;border-radius:6px;padding:.6em 1.2em;font-family:Cinzel,serif;font-weight:600;transition:all .3s}.btn:hover{color:#fff;background:linear-gradient(135deg,#00e5ff 0%,#9d4edd 100%);transform:translateY(-1px)}.btn-danger{color:#fff;background:linear-gradient(135deg,#ff4757 0%,#c44569 100%)}.btn-danger:hover{background:linear-gradient(135deg,#ff3742 0%,#b33454 100%);box-shadow:0 4px 15px #ff475766}.login-page{color:#e0e0e0;background:linear-gradient(135deg,#2e2e42 0%,#3c3c5c 100%);border:2px solid #9d4edd;border-radius:15px;max-width:450px;margin:3rem auto;padding:2.5rem;box-shadow:0 10px 30px #9d4edd33}.login-page h2{text-align:center;color:#ff00d1;text-shadow:0 0 10px #ff00d180;margin-bottom:2rem;font-family:Cinzel,serif;font-size:2rem;font-weight:700}.login-page form{flex-direction:column;gap:1.5rem;display:flex}.login-page label{color:#00e5ff;flex-direction:column;font-family:Cinzel,serif;font-size:1.1rem;font-weight:600;display:flex}.login-page input{color:#e0e0e0;background:linear-gradient(135deg,#1a1a2e 0%,#2e2e42 100%);border:2px solid #444;border-radius:8px;margin-top:.5rem;padding:1rem;font-family:Inter,sans-serif;font-size:1rem;transition:all .3s}.login-page input:focus{background:linear-gradient(135deg,#2e2e42 0%,#3c3c5c 100%);border-color:#ff00d1;outline:none;box-shadow:0 0 15px #ff00d166}.login-page input:disabled{cursor:not-allowed;opacity:.6;background:#1a1a2e}.login-page button{color:#0f0f23;cursor:pointer;text-transform:uppercase;letter-spacing:1px;background:linear-gradient(135deg,#ff00d1 0%,#cb36b0 100%);border:none;border-radius:8px;padding:1rem;font-family:Cinzel,serif;font-size:1.1rem;font-weight:700;transition:all .3s;box-shadow:0 4px 15px #ff00d14d}.login-page button:hover:not(:disabled){color:#fff;background:linear-gradient(135deg,#00e5ff 0%,#9d4edd 100%);transform:translateY(-2px);box-shadow:0 6px 20px #00e5ff66}.login-page button:disabled{color:#888;cursor:not-allowed;box-shadow:none;background:#444;transform:none}.social-login{flex-direction:column;gap:.6rem;margin-top:1.25rem;display:flex}.social-divider{color:#6b6b80;text-transform:uppercase;letter-spacing:1px;align-items:center;gap:.75rem;margin:.25rem 0;font-size:.8rem;display:flex}.social-divider:before,.social-divider:after{content:"";background:#ffffff1f;flex:1;height:1px}.login-page button.social-btn{color:#cfcfe0;text-transform:none;letter-spacing:normal;box-shadow:none;background:#ffffff0a;border:1px solid #ffffff2e;border-radius:8px;padding:.7rem 1rem;font-family:Inter,sans-serif;font-size:.95rem;font-weight:500;transition:background .2s,border-color .2s}.login-page button.social-btn:hover:not(:disabled){color:#fff;box-shadow:none;background:#ffffff17;border-color:#ffffff4d;transform:none}.login-page button.social-btn:disabled{opacity:.5;cursor:not-allowed}.login-page .error{color:#ff4757;text-align:center;background:linear-gradient(135deg,#ff47571a 0%,#ff47570d 100%);border:1px solid #ff4757;border-left-width:4px;border-radius:8px;margin-top:1rem;padding:1rem;font-weight:500}.login-page .success{color:#2ed573;text-align:center;background:linear-gradient(135deg,#2ed5731a 0%,#2ed5730d 100%);border:1px solid #2ed573;border-left-width:4px;border-radius:8px;margin-top:1rem;padding:1rem;font-weight:500}.login-page .success-message{color:#2ed573;text-align:center;background:linear-gradient(135deg,#2ed5731a 0%,#2ed5730d 100%);border:1px solid #2ed573;border-left-width:4px;border-radius:8px;margin:1rem 0;padding:1rem;font-weight:500}.login-page .success-message p{margin:.5rem 0}.login-page p{text-align:center;color:#ccc;margin-top:1.5rem;font-size:.95rem}.login-page a{color:#ff00d1;font-weight:600;text-decoration:none;transition:all .3s}.login-page a:hover{color:#00e5ff;text-shadow:0 0 5px #00e5ff80}.link-button{color:#ff00d1;cursor:pointer;font-size:inherit;background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline;transition:all .3s}.link-button:hover{color:#00e5ff;text-shadow:0 0 5px #00e5ff80}.loading-container{color:#00e5ff;background:linear-gradient(135deg,#0f0f23 0%,#1a1a2e 100%);flex-direction:column;justify-content:center;align-items:center;gap:1rem;height:100vh;font-size:1.2rem;display:flex}.loading-container:before{content:"⚡";color:#ff00d1;font-size:3rem;animation:2s ease-in-out infinite neonPulse}.user-info{color:#00e5ff;text-shadow:0 0 5px #00e5ff4d;margin:0 1rem;font-family:Cinzel,serif;font-size:1rem;font-weight:500}.login-page input[type=checkbox]{accent-color:#ff00d1;width:auto;margin-right:.5rem}.login-page label:has(input[type=checkbox]){flex-direction:row;align-items:center;font-size:1rem;font-weight:400}@media (width<=768px){.character-grid{grid-template-columns:1fr;gap:1.5em;margin-top:1.5em}.login-page{margin:1rem;padding:2rem}.login-page h2{font-size:1.8rem}.character-card{padding:1.2em}.card-actions{flex-direction:column;gap:.8em}.btn{padding:.7em 1.5em;font-size:.9rem}}@media (width<=480px){.login-page{padding:1.5rem}.character-list{padding:1em}.App-header{padding:2rem;font-size:calc(8px + 2vmin)}}@keyframes neonPulse{0%,to{text-shadow:0 0 5px,0 0 10px,0 0 15px}50%{text-shadow:0 0 10px,0 0 20px,0 0 30px}}*{scrollbar-width:thin;scrollbar-color:#a8295c #ffffff0a}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#ffffff08;border-radius:10px}::-webkit-scrollbar-thumb{background-color:#a8295c;background-clip:padding-box;border:2px solid #0000;border-radius:10px}::-webkit-scrollbar-thumb:hover{background-color:#cb36b0;background-clip:padding-box;border:2px solid #0000}::-webkit-scrollbar-corner{background:0 0}.tab-strip{-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;flex-wrap:nowrap;gap:.25rem;display:flex;overflow:auto hidden}.tab-strip::-webkit-scrollbar{width:0;height:0;display:none}.background-picker{max-width:800px;margin:0 auto;padding:2em}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes skeletonShimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes cardFadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.character-card-animated{opacity:0;animation:.5s ease-out forwards cardFadeInUp}@keyframes gmPageEnter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.gm-page-enter{animation:.4s ease-out gmPageEnter}.background-card{background:#2e2e42;border-radius:10px;margin-bottom:1em;overflow:hidden;box-shadow:0 0 8px #0000004d}.background-card .card-toggle{text-align:left;color:#fff;cursor:pointer;text-transform:uppercase;background:0 0;border:none;width:100%;padding:1em;font-family:Cinzel,serif;font-size:1.2em;font-weight:600}.background-card .card-toggle:hover{color:#ff00d1}.background-details{color:#f1f1f1;background:#2e2e42;padding:1em}button{color:#e0e0e0;cursor:pointer;background:#3c7dd9;border:none;border-radius:6px;padding:.6em 1.2em;font-family:Cinzel,serif;font-size:1rem;font-weight:600;transition:background .2s,color .2s}button:disabled{opacity:.5;cursor:not-allowed}button.secondary{color:#00e5ff;background:#212132}button.secondary:hover:not(:disabled){color:#ff00d1}body{color:#e0e0e0;letter-spacing:.02em;-webkit-tap-highlight-color:transparent;background-color:#000;font-family:Inter,sans-serif;font-size:16px;line-height:1.6}@media (width<=768px){body{overscroll-behavior:contain}input,select,textarea{font-size:16px!important}select{max-width:100%!important;padding:.5rem .75rem!important}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:2px}}h2,h3,h4,h5,.forge-btn{font-family:Cinzel,serif;font-weight:600}h3{margin-top:.2em;margin-bottom:.3em}h1,.title-large{font-family:Cinzel,serif;font-weight:900}em,.small-note{opacity:.85;font-family:Cinzel,serif;font-style:italic}.card-toggle{text-align:left;color:#fff;cursor:pointer;background:#2e2e42;border:none;width:100%;padding:1em;font-size:1.2em}.character-name-input{width:300px;padding:.4em;font-size:1rem}.genotype-details{color:#f1f1f1;background:#2e2e42;padding:1em}.genotype-details ul{padding-left:1.5em;list-style-type:disc}.genotype-details ul li strong{color:#b4d9ff}.genotype-picker{max-width:800px;margin:0 auto;padding:2em}.genotype-card{background:#2e2e42;border-radius:10px;margin-bottom:1em;overflow:hidden;box-shadow:0 0 8px #0000004d}.genotype-card .card-toggle{color:#fff;cursor:pointer;text-transform:uppercase;background:0 0;border:none;padding:.4em .6em;font-family:Cinzel,serif;font-size:1.2rem;font-weight:600}.genotype-card .card-toggle:hover{color:#ff00d1}.genotype-card .nested-toggle{margin-left:1em;font-size:1.1rem}.forge-btn{color:#fff;cursor:pointer;background:#3c7dd9;border:none;border-radius:6px;margin-top:1em;padding:.6em 1.2em}.forge-btn:hover{background:#345fc7}.grouped-genotypes{background:#2a2a3f;padding:.5em 1em}a{color:#1e90ff}.nested{border:1px solid #444;border-radius:8px;margin-top:.5em}.nested-toggle{background-color:#393960;font-size:1rem}.variant-buttons .btn{color:#00e5ff;cursor:pointer;background:#212132;border:none;padding:.3em .6em;font-family:Cinzel,serif;font-size:.9rem;font-weight:600;transition:color .2s}.variant-buttons .btn:hover,.variant-buttons .btn.active{color:#ff00d1}.thumbnail-preview{align-items:center;margin-top:.5em;display:flex}.thumbnail-img{object-fit:cover;border:2px solid #00e5ff;border-radius:8px;width:80px;height:80px;margin-right:.5em}.error-text{color:#f55;margin-top:.5em}.wizard-steps{gap:1em;margin-bottom:1em;display:flex}.step-btn{color:#e0e0e0;cursor:pointer;background:0 0;border:none;font-family:Cinzel,serif}.step-btn:hover:not(.active){color:#ff00d1}.step-btn.disabled{color:#666;cursor:not-allowed}.choice-selector{background:#1a1a2e;border:1px solid #2e2e42;border-radius:8px;margin-top:1.5em;padding:1em}.choice-selector h4{color:#00e5ff;margin-bottom:.5em;font-size:1.1em}.language-selector{background:#1a1a2e;border:1px solid #2e2e42;border-radius:8px;margin-top:1.5em;padding:1em}.language-selector h4{color:#00e5ff;margin-bottom:.5em;font-size:1.1em}.info-section{border-top:1px solid #444;margin-top:1em;padding-top:.5em}.info-section strong{color:#00e5ff;margin-bottom:.3em;display:block}.info-note{background:#1a1a2e;border-left:3px solid #00e5ff;border-radius:6px;margin-top:1em;padding:1em}.choice-selector button,.language-selector button{text-transform:none;font-family:Inter,sans-serif;font-weight:400;box-shadow:0 2px 4px #0003}.choice-selector button:hover:not(:disabled),.language-selector button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 3px 6px #0000004d}.secondary{color:#e0e0e0;cursor:pointer;background:#444;border:1px solid #666;border-radius:4px;padding:.5em 1em;font-family:Cinzel,serif;font-size:.9em}.secondary:hover{color:#00e5ff;background:#555}.secondary:active{background:#333}.step-btn{color:#e0e0e0;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.5em 1em;font-family:Cinzel,serif;font-size:1em;transition:all .2s;position:relative}.step-btn.active{color:#ff00d1;text-decoration:underline}.step-btn:hover:not(.active):not(.disabled){color:#ff00d1;background:#ff00d11a}.step-btn.disabled{opacity:.5;color:#666!important;cursor:not-allowed!important;background:0 0!important}.step-btn.disabled:hover{color:#666!important;background:0 0!important;transform:none!important}.step-btn.completed:not(.active){color:#8a086e}.step-btn.completed:not(.active):hover{color:#9d119f;background:#8d086e1a}.step-btn .validation-error{background:#ff6b6b;border-radius:50%;width:8px;height:8px;position:absolute;top:-5px;right:-5px}.nav-button{color:#fff;cursor:pointer;white-space:nowrap;background:#444;border:1px solid #666;border-radius:4px;padding:.6em 1em;font-family:Inter,sans-serif;font-size:.85em;transition:all .2s}.nav-button:hover:not(:disabled){background:#555;border-color:#777;transform:translateY(-1px)}.nav-button:disabled{color:#aaa;cursor:not-allowed;opacity:.6;background:#666}.nav-button.next{color:#fff;background:#373838;font-weight:700}.nav-button.next:hover:not(:disabled){background:#484849}.wizard-steps{border-bottom:1px solid #333;flex-wrap:wrap;justify-content:center;align-items:center;gap:.5em;margin-bottom:1em;padding:1em 0;display:flex}@media (width<=768px){.wizard-steps{flex-direction:column;gap:1em}.wizard-steps>div{order:1}.nav-button{order:2;width:100%;max-width:200px}}.companions-container{max-width:900px;margin:0 auto;padding:2em}.companions-header{text-align:center;margin-bottom:2em}.companions-header h2{color:#9d4edd;margin:0 0 1em;font-family:Cinzel,serif;font-size:2em}.companions-header p{color:#aaa;max-width:600px;margin:0 auto;font-size:1.1em;line-height:1.5}.companions-actions{flex-wrap:wrap;justify-content:center;gap:1em;margin-bottom:2em;display:flex}.companion-action-btn{color:#fff;cursor:pointer;background:#9d4edd;border:none;border-radius:6px;padding:.8em 1.5em;font-family:Cinzel,serif;font-size:1em;transition:all .3s}.companion-action-btn:hover{background:#b968f0;transform:translateY(-1px);box-shadow:0 3px 10px #9d4edd4d}.companion-action-btn.secondary{color:#e0e0e0;background:#333;border:1px solid #666}.companion-action-btn.secondary:hover{background:#444;border-color:#999}.companions-empty{text-align:center;background:#1a1a2e;border:2px solid #333;border-radius:12px;padding:3em 1em}.companions-empty-icon{color:#666;margin-bottom:1em;font-size:3em}.companions-empty h3{color:#e0e0e0;margin-bottom:1em;font-family:Cinzel,serif}.companions-empty p{color:#aaa;margin-bottom:2em;line-height:1.5}.companions-grid{gap:1em;display:grid}.companion-card{cursor:pointer;background:#1a1a2e;border:1px solid #333;border-radius:8px;justify-content:space-between;align-items:center;padding:1.5em;transition:all .3s;display:flex}.companion-card:hover{background:#252547;border-color:#9d4edd;transform:translateY(-2px);box-shadow:0 4px 15px #9d4edd33}.companion-card-info h4{color:#e0e0e0;margin:0 0 .5em;font-family:Cinzel,serif;font-size:1.2em}.companion-card-type{color:#9d4edd;margin-bottom:.3em;font-size:.9em;font-weight:500}.companion-card-details{color:#aaa;font-size:.8em}.companion-card-arrow{color:#666;font-size:1.5em;transition:all .3s}.companion-card:hover .companion-card-arrow{color:#9d4edd;transform:translate(5px)}.companion-modal-overlay{z-index:9999;background:#000c;justify-content:center;align-items:center;width:100%;height:100%;animation:.3s ease-out fadeIn;display:flex;position:fixed;top:0;left:0}.companion-modal{background:#1a1a2e;border:2px solid #9d4edd;border-radius:12px;max-width:600px;max-height:80vh;padding:2em;animation:.3s ease-out slideInUp;position:relative;overflow-y:auto;box-shadow:0 10px 40px #00000080}.companion-modal-header{border-bottom:1px solid #333;justify-content:space-between;align-items:center;margin-bottom:1.5em;padding-bottom:1em;display:flex}.companion-modal-title{color:#9d4edd;margin:0;font-family:Cinzel,serif;font-size:1.5em}.companion-modal-close{color:#ff6b6b;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.2em;font-size:1.5em;transition:all .2s}.companion-modal-close:hover{background:#ff6b6b1a;transform:scale(1.1)}.companion-stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1em;margin-bottom:2em;display:grid}.companion-stat-block{background:#333;border-left:3px solid #9d4edd;border-radius:6px;padding:1em}.companion-stat-block h4{color:#00e5ff;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5em;font-size:1em}.companion-stat-block div{color:#e0e0e0;margin-bottom:.3em}.companion-abilities-grid{background:#333;border-radius:6px;grid-template-columns:repeat(3,1fr);gap:.5em;margin-bottom:2em;padding:1em;display:grid}.companion-ability-score{text-align:center}.companion-ability-name{color:#00e5ff;margin-bottom:.2em;font-size:.9em;font-weight:700}.companion-ability-value{color:#e0e0e0;font-size:1.2em;font-weight:700}.companion-abilities-section{margin-bottom:2em}.companion-abilities-list{background:#333;border-radius:6px;padding:1em}.companion-ability-item{margin-bottom:1em}.companion-ability-item:last-child{margin-bottom:0}.companion-ability-name-detail{color:#00e5ff;margin-bottom:.3em;font-weight:700}.companion-ability-description{color:#e0e0e0;font-size:.9em;line-height:1.4}.companion-description{color:#e0e0e0;background:#0003;border-left:3px solid #9d4edd;border-radius:6px;padding:1rem;line-height:1.5}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@media (width<=768px){.companions-container{padding:1em}.companions-actions{flex-direction:column;align-items:center}.companion-action-btn{width:100%;max-width:250px}.companion-card{padding:1em}.companion-modal{margin:1em;padding:1.5em}.companion-stats-grid{grid-template-columns:1fr}.companion-abilities-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=480px){.companions-header h2{font-size:1.5em}.companions-header p{font-size:1em}.companion-abilities-grid{grid-template-columns:1fr}}.equipment-filter select,.equipment-filter input,.equipment-filter * select,.equipment-filter * input{color:#e0e0e0!important;background:#ffffff0d!important;border:1px solid #fff3!important}.equipment-filter *{color:#e0e0e0!important;background-color:#0000!important}.equipment-details *,.equipment-details{color:#e0e0e0!important;background:0 0!important}.equipment-filter div[style*=background],.equipment-details div[style*=background]{background:#ffffff0d!important}.equipment-filter select,.equipment-filter * select{color:#fff!important;background:#ffffff0d!important;border:1px solid #fff3!important}.equipment-filter select option,.equipment-filter * select option{color:#000!important;background:#fcfcfc!important;padding:.5rem!important}.equipment-filter select option:hover,.equipment-filter * select option:hover{color:#00e5ff!important;background:#2e2e42!important}.equipment-filter input,.equipment-filter * input{color:#e0e0e0!important;background:#ffffff0d!important;border:1px solid #fff3!important}.equipment-filter input::placeholder,.equipment-filter * input::placeholder{color:#888!important}.gm-notebook select,[class*=gm-notebook] select,[style*=gm-notebook] select,div[style*="padding: '2rem'"] select{color:#e0e0e0!important;cursor:pointer!important;background:#1e1e2ef2!important;border:1px solid #fff3!important;transition:all .2s!important}.gm-notebook select:hover,[class*=gm-notebook] select:hover,div[style*="padding: '2rem'"] select:hover{background:#232332f2!important;border-color:#00e5ff80!important}.gm-notebook select:focus,[class*=gm-notebook] select:focus,div[style*="padding: '2rem'"] select:focus{border-color:#00e5ff!important;outline:none!important;box-shadow:0 0 0 2px #00e5ff1a!important}.gm-notebook select option,[class*=gm-notebook] select option,div[style*="padding: '2rem'"] select option,.equipment-filter select option,.equipment-filter * select option{color:#e0e0e0!important;background:#1a1a2e!important;border:none!important;padding:.5rem!important}.gm-notebook select option:hover,.gm-notebook select option:checked,.gm-notebook select option:focus,[class*=gm-notebook] select option:hover,[class*=gm-notebook] select option:checked,div[style*="padding: '2rem'"] select option:hover,.equipment-filter select option:hover,.equipment-filter select option:checked{color:#00e5ff!important;background:#2e2e42!important}.gm-notebook select option:disabled,[class*=gm-notebook] select option:disabled{color:#666!important;cursor:not-allowed!important;background:#0f0f23!important}select[style*="background: 'rgba(255, 255, 255, 0.05)'"]{color:#e0e0e0!important;background:#1e1e2ef2!important}select[style*="background: 'rgba(255, 255, 255, 0.05)'"] option{color:#e0e0e0!important;background:#1a1a2e!important}select[style*="background: rgba(255, 255, 255, 0.05)"],select[value=easy],select[value=moderate],select[value=hard],select[value=deadly],select[value=draft],select[value=ready],select[value=running],select[value=completed],select[value=planning],select[value=active],select[value=paused]{color:#e0e0e0!important;background:#1e1e2ef2!important}.gm-notebook input[type=text],.gm-notebook input[type=number],.gm-notebook textarea,[class*=gm-notebook] input[type=text],[class*=gm-notebook] input[type=number],[class*=gm-notebook] textarea{color:#e0e0e0!important;background:#1e1e2ef2!important;border:1px solid #fff3!important}.gm-notebook input::placeholder,.gm-notebook textarea::placeholder,[class*=gm-notebook] input::placeholder,[class*=gm-notebook] textarea::placeholder{color:#888!important;opacity:1!important}.gm-notebook .dropdown-menu,.gm-notebook .select-menu,[class*=dropdown][class*=gm]{background:#1a1a2e!important;border:1px solid #fff3!important;box-shadow:0 4px 12px #00000080!important}.gm-notebook .dropdown-item,.gm-notebook .select-item{color:#e0e0e0!important;background:0 0!important;padding:.5rem 1rem!important;transition:all .2s!important}.gm-notebook .dropdown-item:hover,.gm-notebook .select-item:hover{color:#00e5ff!important;background:#00e5ff1a!important}.gm-notebook select::-webkit-scrollbar{width:8px!important}[class*=gm-notebook] select::-webkit-scrollbar{width:8px!important}.gm-notebook select::-webkit-scrollbar-track{background:#1a1a2e!important}[class*=gm-notebook] select::-webkit-scrollbar-track{background:#1a1a2e!important}.gm-notebook select::-webkit-scrollbar-thumb{background:#fff3!important;border-radius:4px!important}[class*=gm-notebook] select::-webkit-scrollbar-thumb{background:#fff3!important;border-radius:4px!important}.gm-notebook select::-webkit-scrollbar-thumb:hover{background:#ffffff4d!important}[class*=gm-notebook] select::-webkit-scrollbar-thumb:hover{background:#ffffff4d!important}select option{background-image:none!important;background-clip:padding-box!important}body .gm-notebook select option,body [class*=gm-notebook] select option,body div[style*="padding: '2rem'"] select option{color:#e0e0e0!important;background:#1a1a2e!important}
