:root{font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}*{box-sizing:border-box}body{margin:0;font-family:Georgia,serif;background:#1a1a2e;color:#eee;min-height:100vh}.loading,.error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:2rem}.error h1{color:#e74c3c}.character-select{max-width:900px;margin:0 auto;padding:2rem}.character-select h1{text-align:center;font-size:2.5rem;margin-bottom:.5rem;color:#f0c674}.character-select .subtitle{text-align:center;color:#888;margin-bottom:2rem}.character-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.character-card{background:#16213e;border:2px solid #0f3460;border-radius:12px;padding:1.5rem;cursor:pointer;transition:all .2s ease;text-align:left;color:inherit;font-family:inherit}.character-card:hover{border-color:#f0c674;transform:translateY(-4px);box-shadow:0 8px 24px #0006}.character-card h2{margin:0 0 1rem;font-size:1.2rem;color:#f0c674}.attributes{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.attribute{display:flex;justify-content:space-between;font-size:.9rem}.attr-name{text-transform:capitalize;color:#aaa}.attr-value{color:#81a1c1;font-weight:700}.traits{display:flex;flex-wrap:wrap;gap:.5rem}.trait{background:#e74c3c33;color:#e74c3c;padding:.25rem .75rem;border-radius:999px;font-size:.8rem}.game-container{max-width:700px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column}.game-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background:#16213e;border-bottom:1px solid #0f3460}.character-name{color:#f0c674;font-weight:700}.step-counter{color:#666;font-size:.9rem}.scenario-player{flex:1;display:flex;flex-direction:column;padding:2rem}.scenario-content{flex:1;line-height:1.8}.scenario-content h1{color:#f0c674;margin-top:0;border-bottom:1px solid #333;padding-bottom:1rem}.scenario-content p{margin:1rem 0}.choices{display:flex;flex-direction:column;gap:.75rem;margin-top:2rem;padding-top:2rem;border-top:1px solid #333}.choice-button{background:#16213e;border:2px solid #0f3460;border-radius:8px;padding:1rem 1.5rem;color:#eee;font-family:inherit;font-size:1rem;text-align:left;cursor:pointer;transition:all .2s ease}.choice-button:hover{border-color:#f0c674;background:#1a2744}.no-choices{color:#e74c3c;text-align:center}.ending-screen{margin-top:2rem;padding-top:2rem;border-top:1px solid #333;text-align:center}.restart-button{background:#f0c674;color:#1a1a2e;border:none;border-radius:8px;padding:1rem 2rem;font-family:inherit;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .2s ease}.restart-button:hover{background:#ffdb8a;transform:scale(1.05)}.character-creator{min-height:100vh;display:flex;flex-direction:column}.creator-header{background:#16213e;padding:1.5rem 2rem;border-bottom:1px solid #0f3460}.creator-header h1{margin:0 0 1rem;color:#f0c674;font-size:1.8rem}.name-input-container{display:flex;align-items:center;gap:1rem}.name-input-container label{color:#aaa}.name-input{flex:1;max-width:300px;padding:.5rem 1rem;background:#0f1729;border:1px solid #0f3460;border-radius:6px;color:#eee;font-family:inherit;font-size:1rem}.name-input:focus{outline:none;border-color:#f0c674}.creator-layout{display:flex;flex:1}.creator-main{flex:1;display:flex;flex-direction:column;overflow:hidden}.creator-sidebar{width:340px;background:#16213e;border-left:1px solid #0f3460;padding:1.5rem;overflow-y:auto}.category-nav{display:flex;flex-wrap:wrap;gap:.25rem;padding:.5rem 1rem;background:#0f1729;border-bottom:1px solid #0f3460}.category-tab{padding:.5rem .75rem;background:transparent;border:1px solid transparent;border-radius:4px;color:#888;font-family:inherit;font-size:.85rem;cursor:pointer;transition:all .2s ease}.category-tab:hover{color:#eee;background:#1a2744}.category-tab.active{color:#f0c674;background:#1a2744;border-color:#f0c674}.category-tab.complete{color:#4ade80}.category-tab .check{margin-left:.25rem}.category-tab-wrapper{display:contents}.category-tab-wrapper.edit-mode{display:flex;align-items:stretch;gap:0}.category-tab-wrapper.edit-mode .category-tab{border-top-right-radius:0;border-bottom-right-radius:0}.category-edit-controls{display:flex;flex-direction:column;gap:1px}.cat-edit-btn,.cat-move-btn{background:#1a2744;border:1px solid #0f3460;border-left:none;color:#888;font-size:.65rem;cursor:pointer;padding:0 .25rem;transition:all .2s ease;line-height:1}.cat-edit-btn{border-top-right-radius:4px;flex:1}.cat-move-btn:last-child{border-bottom-right-radius:4px}.cat-edit-btn:hover,.cat-move-btn:hover{color:#f0c674;background:#243656}.cat-move-btn:disabled{opacity:.3;cursor:not-allowed}.add-category-btn{color:#4ade80!important;border-style:dashed!important;border-color:#4ade80!important;background:transparent!important}.add-category-btn:hover{background:#4ade801a!important}.category-selector{flex:1;padding:1.5rem;overflow-y:auto}.category-header{margin-bottom:1.5rem}.category-header h2{margin:0 0 .5rem;color:#f0c674}.category-description{color:#aaa;margin:0 0 .5rem}.pick-count{color:#666;font-size:.9rem;margin:0}.options-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.option-card{position:relative;background:#16213e;border:2px solid #0f3460;border-radius:8px;padding:1rem;text-align:left;color:inherit;font-family:inherit;cursor:pointer;transition:all .2s ease}.option-card:hover:not(:disabled){border-color:#f0c674;transform:translateY(-2px)}.option-card.selected{border-color:#4ade80;background:linear-gradient(135deg,#16213e,#1a3a2e);box-shadow:0 0 0 2px #4ade80,0 0 20px #4ade804d}.selected-indicator{position:absolute;top:8px;right:8px;width:28px;height:28px;background:#4ade80;color:#0f1729;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;z-index:10;box-shadow:0 2px 8px #0006}.option-card.drawback .selected-indicator{background:#e74c3c;color:#fff}.option-card.drawback{border-color:#7c2d12}.option-card.drawback:hover:not(:disabled){border-color:#e74c3c}.option-card.drawback.selected{border-color:#e74c3c;background:linear-gradient(135deg,#16213e,#2e1a1a);box-shadow:0 0 0 2px #e74c3c,0 0 20px #e74c3c4d}.option-card.unavailable{opacity:.5;cursor:not-allowed}.option-card:disabled{cursor:not-allowed}.option-card.has-image{padding:0;overflow:hidden}.option-image-container{width:100%;aspect-ratio:1 / 1;overflow:hidden;background:#0f1729}.option-image{width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .3s ease}.option-card:hover:not(:disabled) .option-image{transform:scale(1.05)}.option-card.has-image .option-card-content{padding:1rem}.subcategory-groups{display:flex;flex-direction:column;gap:2rem}.subcategory-heading{margin:0 0 1rem;padding-bottom:.5rem;border-bottom:1px solid #0f3460;color:#81a1c1;font-size:1.1rem;font-weight:400;text-transform:uppercase;letter-spacing:.05em}.option-name{margin:0 0 .5rem;font-size:1rem;color:#eee;display:flex;align-items:center;gap:.5rem}.fate-badge{font-size:.75rem;padding:.15rem .5rem;border-radius:999px;font-weight:400}.fate-badge.positive{background:#166534;color:#4ade80}.fate-badge.negative{background:#7c2d12;color:#fca5a5}.option-description{margin:0 0 .75rem;font-size:.9rem;color:#aaa;line-height:1.4}.option-effects{display:flex;flex-direction:column;gap:.5rem}.effect-row{display:flex;flex-wrap:wrap;gap:.35rem}.attr-mod{font-size:.75rem;padding:.15rem .4rem;border-radius:3px;background:#1a2744}.attr-mod.positive{color:#4ade80}.attr-mod.negative{color:#fca5a5}.trait-badge{font-size:.7rem;padding:.15rem .4rem;border-radius:3px;background:#312e81;color:#a5b4fc}.trait-badge.more{background:#1e1b4b}.unavailable-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#000000bf;border-radius:6px;font-size:.8rem;color:#888;padding:1rem;text-align:center;gap:.5rem}.unavailable-label{font-weight:600;color:#a88;font-size:.9rem}.unmet-requirements{display:none;flex-direction:column;gap:.25rem;max-height:0;overflow:hidden;transition:max-height .2s ease}.option-card:hover .unmet-requirements{display:flex;max-height:200px}.unmet-requirement{font-size:.75rem;color:#c99;background:#ff64641a;padding:.2rem .5rem;border-radius:4px;border:1px solid rgba(255,100,100,.2)}.creator-navigation{display:flex;justify-content:space-between;padding:1rem 1.5rem;background:#0f1729;border-top:1px solid #0f3460}.nav-button{padding:.75rem 1.5rem;background:#16213e;border:1px solid #0f3460;border-radius:6px;color:#eee;font-family:inherit;font-size:1rem;cursor:pointer;transition:all .2s ease}.nav-button:hover:not(:disabled){background:#1a2744;border-color:#f0c674}.nav-button:disabled{opacity:.5;cursor:not-allowed}.nav-button.primary{background:#0f3460;border-color:#1a4a7a}.nav-button.finish{background:#166534;border-color:#22c55e;color:#fff}.nav-button.finish:hover:not(:disabled){background:#15803d}.name-selector{padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem}.name-selector-header{text-align:center}.name-selector-header h2{margin:0 0 .5rem;color:#f0c674;font-size:1.5rem}.name-selector-subtitle{color:#888;margin:0}.current-name-display{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem;background:linear-gradient(135deg,#16213e,#1a3a2e);border:2px solid #4ade80;border-radius:8px;box-shadow:0 0 20px #4ade8033}.current-name-label{color:#888;font-size:.9rem}.current-name-value{font-size:1.5rem;font-weight:700;color:#4ade80}.name-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem}.name-chip{position:relative;padding:.75rem 1rem;background:#16213e;border:2px solid #0f3460;border-radius:8px;color:#eee;font-family:inherit;font-size:1.1rem;cursor:pointer;transition:all .2s ease;text-align:center}.name-chip:hover{border-color:#f0c674;transform:translateY(-2px);background:#1a2744}.name-chip.selected{border-color:#4ade80;background:linear-gradient(135deg,#16213e,#1a3a2e);box-shadow:0 0 0 2px #4ade80,0 0 15px #4ade804d}.name-check{position:absolute;top:-8px;right:-8px;width:22px;height:22px;background:#4ade80;color:#0f1729;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.name-actions{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.shuffle-btn,.custom-name-btn{padding:.75rem 1.5rem;background:#16213e;border:1px solid #0f3460;border-radius:6px;color:#eee;font-family:inherit;font-size:1rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.shuffle-btn:hover,.custom-name-btn:hover{background:#1a2744;border-color:#f0c674}.shuffle-icon{font-size:1.2rem}.custom-name-input-container{display:flex;flex-direction:column;gap:.75rem;padding:1rem;background:#0f1729;border-radius:8px;border:1px solid #0f3460}.custom-name-input{padding:.75rem 1rem;background:#16213e;border:2px solid #0f3460;border-radius:6px;color:#eee;font-family:inherit;font-size:1.2rem;text-align:center}.custom-name-input:focus{outline:none;border-color:#f0c674}.custom-name-input::placeholder{color:#666}.custom-name-buttons{display:flex;justify-content:center;gap:.75rem}.custom-name-confirm,.custom-name-cancel{padding:.5rem 1.25rem;border-radius:6px;font-family:inherit;font-size:.9rem;cursor:pointer;transition:all .2s ease}.custom-name-confirm{background:#166534;border:1px solid #22c55e;color:#fff}.custom-name-confirm:hover:not(:disabled){background:#15803d}.custom-name-confirm:disabled{opacity:.5;cursor:not-allowed}.custom-name-cancel{background:#16213e;border:1px solid #0f3460;color:#eee}.custom-name-cancel:hover{background:#1a2744;border-color:#f0c674}.name-hint{text-align:center;color:#666;font-size:.85rem;margin:0}.name-edit-controls{display:flex;flex-direction:column;gap:.5rem}.add-name-row{display:flex;gap:.75rem}.add-name-input{flex:1;padding:.75rem 1rem;background:#16213e;border:2px solid #0f3460;border-radius:6px;color:#eee;font-family:inherit;font-size:1rem}.add-name-input:focus{outline:none;border-color:#f0c674}.add-name-input::placeholder{color:#666}.add-name-btn{padding:.75rem 1.25rem;background:#166534;border:1px solid #22c55e;border-radius:6px;color:#fff;font-family:inherit;font-size:1rem;cursor:pointer;transition:all .2s ease;white-space:nowrap}.add-name-btn:hover:not(:disabled){background:#15803d}.add-name-btn:disabled{opacity:.5;cursor:not-allowed}.create-list-hint{color:#f0c674;font-size:.85rem;margin:0;font-style:italic}.fallback-notice{color:#fca5a5;font-style:italic}.name-grid.edit-mode{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.name-chip-wrapper{position:relative;display:flex}.name-chip-wrapper .name-chip{flex:1}.name-grid.edit-mode .name-chip{cursor:default;padding-right:2rem}.name-grid.edit-mode .name-chip:hover{transform:none;border-color:#0f3460}.name-delete-btn{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:24px;height:24px;background:#7c2d12;border:none;border-radius:4px;color:#fca5a5;font-size:16px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.name-delete-btn:hover{background:#991b1b;color:#fff}.character-summary{color:#eee}.summary-portrait{margin-bottom:1rem;border-radius:8px;overflow:hidden;border:2px solid #0f3460;cursor:zoom-in;transition:border-color .2s}.summary-portrait:hover{border-color:#f0c674}.summary-portrait img{width:100%;aspect-ratio:3 / 4;object-fit:cover;display:block}.character-summary h2{margin:0 0 1rem;color:#f0c674;font-size:1.2rem;padding-bottom:.5rem;border-bottom:1px solid #0f3460}.fate-section{margin-bottom:1.5rem;padding:.75rem;background:#0f1729;border-radius:6px;border:1px solid #1a2744;transition:all .3s ease}.fate-section.fate-low{background:linear-gradient(135deg,#1a1a2e,#1f2a3d);border-color:#3b82f6;box-shadow:0 0 10px #3b82f633}.fate-section.fate-high{background:linear-gradient(135deg,#1a1a2e,#2a1f3d);border-color:#6366f1;box-shadow:0 0 15px #6366f14d,inset 0 0 20px #6366f11a;animation:fateHighPulse 3s ease-in-out infinite}.fate-section.fate-epic{background:linear-gradient(135deg,#1a1a2e,#2d2a1f);border-color:#f59e0b;box-shadow:0 0 20px #f59e0b66,inset 0 0 25px #f59e0b1a;animation:fateEpicPulse 2.5s ease-in-out infinite}.fate-section.fate-legendary{background:linear-gradient(135deg,#1a1a2e,#2d281f,#3d2f1f);border-color:#fbbf24;box-shadow:0 0 25px #fbbf2480,0 0 50px #fbbf2433,inset 0 0 30px #fbbf2426;animation:fateLegendaryPulse 2s ease-in-out infinite}.fate-section.fate-mythic{background:linear-gradient(135deg,#1a1a2e,#2a1f3d,#3d2f1f,#1f3d2a,#1a1a2e);background-size:400% 400%;border-color:#fff;box-shadow:0 0 30px #fff6,0 0 60px #a78bfa4d,0 0 90px #fbbf2433,inset 0 0 40px #ffffff1a;animation:fateMythicShimmer 4s ease-in-out infinite,fateMythicPulse 2s ease-in-out infinite}@keyframes fateHighPulse{0%,to{box-shadow:0 0 15px #6366f14d,inset 0 0 20px #6366f11a}50%{box-shadow:0 0 25px #6366f180,inset 0 0 30px #6366f126}}@keyframes fateEpicPulse{0%,to{box-shadow:0 0 20px #f59e0b66,inset 0 0 25px #f59e0b1a}50%{box-shadow:0 0 35px #f59e0b99,inset 0 0 35px #f59e0b33}}@keyframes fateLegendaryPulse{0%,to{box-shadow:0 0 25px #fbbf2480,0 0 50px #fbbf2433,inset 0 0 30px #fbbf2426;border-color:#fbbf24}50%{box-shadow:0 0 40px #fbbf24b3,0 0 70px #fbbf244d,inset 0 0 40px #fbbf2433;border-color:#fcd34d}}@keyframes fateMythicShimmer{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes fateMythicPulse{0%,to{box-shadow:0 0 30px #fff6,0 0 60px #a78bfa4d,0 0 90px #fbbf2433,inset 0 0 40px #ffffff1a}50%{box-shadow:0 0 50px #fff9,0 0 80px #a78bfa66,0 0 110px #fbbf244d,inset 0 0 50px #ffffff26}}.fate-display{display:flex;align-items:center;gap:.5rem}.fate-label{color:#888}.fate-value{font-weight:700}.fate-value.positive{color:#4ade80}.fate-section.fate-high .fate-value.positive{color:#a78bfa;text-shadow:0 0 10px rgba(167,139,250,.5)}.fate-section.fate-epic .fate-value.positive{color:#fbbf24;text-shadow:0 0 12px rgba(251,191,36,.6);font-weight:700}.fate-section.fate-legendary .fate-value.positive{color:#fcd34d;text-shadow:0 0 10px rgba(252,211,77,.8),0 0 20px rgba(251,191,36,.4);font-weight:700;letter-spacing:.02em}.fate-section.fate-mythic .fate-value.positive{background:linear-gradient(90deg,#fcd34d,#a78bfa,#4ade80,#fcd34d);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:none;font-weight:700;letter-spacing:.03em;animation:mythicTextShimmer 3s linear infinite}@keyframes mythicTextShimmer{0%{background-position:0% 50%}to{background-position:300% 50%}}.fate-value.negative{color:#fca5a5}.fate-number{color:#666;font-size:.9rem}.fate-description{margin:.75rem 0 0;font-size:.8rem;color:#888;font-style:italic;line-height:1.4;padding-top:.5rem;border-top:1px solid #1a2744}.fate-section.fate-high .fate-description{color:#a5b4fc}.fate-section.fate-epic .fate-description{color:#fcd34d}.fate-section.fate-legendary .fate-description{color:#fef08a;text-shadow:0 0 5px rgba(254,240,138,.3)}.fate-section.fate-mythic .fate-description{color:#fff;text-shadow:0 0 8px rgba(255,255,255,.4)}.fate-section.fate-low .fate-description{color:#93c5fd}.attributes-section,.traits-section{margin-bottom:1.5rem}.attributes-section h3,.traits-section h3{margin:0 0 .75rem;font-size:.9rem;color:#888;text-transform:uppercase;letter-spacing:.05em}.attributes-list{display:flex;flex-direction:column;gap:.35rem}.attribute-row{display:flex;justify-content:space-between;font-size:.9rem}.attribute-name{color:#aaa}.attribute-value{font-weight:700}.attribute-value.positive{color:#4ade80}.attribute-value.negative{color:#fca5a5}.traits-list{display:flex;flex-wrap:wrap;gap:.35rem}.trait-tag{font-size:.75rem;padding:.2rem .5rem;border-radius:3px;background:#312e81;color:#a5b4fc}.no-traits{color:#666;font-size:.9rem;font-style:italic;margin:0}.appearance-selector{padding:1.5rem}.appearance-steps{display:flex;gap:.5rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #0f3460}.appearance-step{flex:1;display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#0f1729;border:1px solid #0f3460;border-radius:6px;color:#888;font-family:inherit;font-size:.9rem;cursor:pointer;transition:all .2s ease}.appearance-step:hover:not(:disabled){background:#16213e;color:#eee}.appearance-step.active{background:#16213e;border-color:#f0c674;color:#f0c674}.appearance-step.complete{color:#4ade80}.appearance-step.disabled{opacity:.5;cursor:not-allowed}.step-number{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:#0f3460;border-radius:50%;font-size:.8rem;font-weight:700}.appearance-step.active .step-number{background:#f0c674;color:#1a1a2e}.appearance-step.complete .step-number{background:#166534;color:#4ade80}.step-label{flex:1}.step-check{color:#4ade80}.appearance-summary{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;margin-bottom:1.5rem;background:#0f1729;border-radius:6px;font-size:.9rem}.summary-label{color:#888}.summary-value{color:#f0c674}.appearance-step-header{margin-bottom:1.5rem}.appearance-step-header h3{margin:0 0 .5rem;color:#f0c674}.appearance-step-header p{margin:0;color:#aaa}.appearance-options-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.appearance-option{display:flex;flex-direction:column;background:#16213e;border:2px solid #0f3460;border-radius:8px;padding:0;overflow:hidden;text-align:left;color:inherit;font-family:inherit;cursor:pointer;transition:all .2s ease}.appearance-option:hover{border-color:#f0c674;transform:translateY(-2px)}.appearance-option.selected{border-color:#4ade80;box-shadow:0 0 0 1px #4ade80}.appearance-option-image{width:100%;aspect-ratio:1 / 1;overflow:hidden;background:#0f1729}.appearance-option-image img{width:100%;height:100%;object-fit:cover}.appearance-option-content{padding:1rem}.appearance-option-name{margin:0 0 .5rem;font-size:1rem;color:#eee;display:flex;align-items:center;gap:.5rem}.appearance-option-description{margin:0;font-size:.85rem;color:#aaa;line-height:1.4}.appearance-option-traits{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.75rem}.portrait-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2rem;max-width:1200px;margin:0 auto}.portrait-option{display:flex;flex-direction:column;background:#16213e;border:4px solid #0f3460;border-radius:12px;padding:0;overflow:hidden;color:inherit;font-family:inherit;cursor:pointer;transition:all .2s ease}.portrait-option:hover{border-color:#f0c674;transform:translateY(-4px);box-shadow:0 12px 32px #00000080}.portrait-option.selected{border-color:#4ade80;box-shadow:0 0 0 3px #4ade80,0 12px 32px #4ade804d}.portrait-option img{width:100%;aspect-ratio:3 / 4;object-fit:cover;background:#0f1729}.no-portraits{text-align:center;padding:3rem 2rem;background:#0f1729;border-radius:8px}.no-portraits p{margin:0 0 .5rem;color:#888}.no-portraits-hint{font-size:.85rem;color:#666}@media(max-width:900px){.creator-layout{flex-direction:column}.creator-sidebar{width:100%;border-left:none;border-top:1px solid #0f3460}}.header-controls{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.edit-mode-toggle{padding:.5rem 1rem;background:#16213e;border:2px solid #0f3460;border-radius:6px;color:#888;font-size:.85rem;cursor:pointer;transition:all .2s ease}.edit-mode-toggle:hover{border-color:#f0c674;color:#f0c674}.edit-mode-toggle.active{background:#2a4a1e;border-color:#4a8a2e;color:#8fc76a}.option-card-wrapper{position:relative}.option-card-wrapper.edit-mode .option-card{cursor:default}.option-card-wrapper.edit-mode .option-card:hover{transform:none;border-color:#0f3460}.edit-buttons{position:absolute;top:.5rem;right:.5rem;display:flex;gap:.25rem;z-index:10}.edit-btn,.delete-btn{padding:.25rem .5rem;font-size:.75rem;border:none;border-radius:4px;cursor:pointer;transition:all .15s ease}.edit-btn{background:#2c5aa0;color:#fff}.edit-btn:hover{background:#3a6eb5}.delete-btn{background:#8a2a2a;color:#fff}.delete-btn:hover{background:#a53a3a}.add-option-card{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;background:transparent;border:2px dashed #0f3460;border-radius:8px;color:#666;cursor:pointer;transition:all .2s ease;font-family:inherit}.add-option-card:hover{border-color:#4a8a2e;color:#8fc76a;background:#4a8a2e1a}.add-option-card .add-icon{font-size:2rem;margin-bottom:.5rem}.modal-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:#16213e;border:2px solid #0f3460;border-radius:12px;width:100%;max-width:600px;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid #0f3460}.modal-header h2{margin:0;font-size:1.25rem;color:#f0c674}.modal-close{background:none;border:none;color:#888;font-size:1.5rem;cursor:pointer;padding:0;line-height:1}.modal-close:hover{color:#e74c3c}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid #0f3460}.option-editor-form{padding:1.5rem}.form-error{background:#e74c3c33;border:1px solid #e74c3c;border-radius:6px;padding:.75rem 1rem;margin-bottom:1rem;color:#e74c3c}.form-row{display:flex;gap:1rem;margin-bottom:1rem}.form-row .form-group{flex:1}.form-row .form-group.small{flex:0 0 100px}.form-row .form-group.checkbox{display:flex;align-items:center;flex:0 0 auto}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.35rem;font-size:.85rem;color:#aaa}.form-group.checkbox label{display:flex;align-items:center;gap:.5rem;cursor:pointer;color:#ccc}.form-group input[type=text],.form-group input[type=number],.form-group textarea{width:100%;padding:.5rem .75rem;background:#0f1729;border:1px solid #0f3460;border-radius:6px;color:#eee;font-family:inherit;font-size:.95rem}.form-group textarea{resize:vertical}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#f0c674}.form-group input:disabled{opacity:.6;cursor:not-allowed}.attributes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.attribute-input{display:flex;align-items:center;gap:.5rem;background:#0f1729;padding:.35rem .5rem;border-radius:4px}.attribute-input .attr-label{font-size:.75rem;color:#888;width:30px}.attribute-input input{width:50px;padding:.25rem;text-align:center;background:#16213e;border:1px solid #0f3460;border-radius:4px;color:#eee}.requirements-list{list-style:none;padding:0;margin:0 0 .75rem}.requirement-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:#0f1729;border-radius:4px;margin-bottom:.35rem;font-size:.9rem}.requirement-item span{flex:1;color:#ccc}.btn-remove{background:transparent;border:none;color:#e74c3c;font-size:1.25rem;cursor:pointer;padding:0 .25rem;line-height:1;opacity:.7;transition:opacity .2s}.btn-remove:hover{opacity:1}.no-requirements{color:#666;font-style:italic;font-size:.9rem;margin:0 0 .75rem}.btn-add-requirement{background:transparent;border:1px dashed #0f3460;color:#94a3b8;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.9rem;transition:all .2s}.btn-add-requirement:hover{border-color:#e94560;color:#e94560}.add-requirement-form{background:#0f1729;border-radius:6px;padding:1rem}.add-requirement-form select,.add-requirement-form input[type=text],.add-requirement-form input[type=number]{flex:1;min-width:0}.attribute-requirement,.selection-requirement{gap:.5rem}.attribute-requirement input[type=number]{width:70px;flex:0 0 70px}.requirement-actions{justify-content:flex-end;margin-top:.75rem;margin-bottom:0}.requirement-actions .btn-secondary,.requirement-actions .btn-primary{padding:.4rem .9rem;font-size:.85rem}.incompatible-options{display:flex;flex-wrap:wrap;gap:.5rem}.incompatible-checkbox{display:flex;align-items:center;gap:.35rem;padding:.35rem .65rem;background:#0f1729;border-radius:4px;font-size:.85rem;cursor:pointer;transition:background .2s}.incompatible-checkbox:hover{background:#16213e}.incompatible-checkbox input{accent-color:#e94560}.incompatible-checkbox span{color:#ccc}.btn-primary,.btn-secondary{padding:.6rem 1.25rem;border:none;border-radius:6px;font-size:.95rem;cursor:pointer;transition:all .2s ease}.btn-primary{background:#2a8a4a;color:#fff}.btn-primary:hover:not(:disabled){background:#3aa05a}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:#444;color:#ccc}.btn-secondary:hover{background:#555}.portrait-manager{padding:1rem}.portrait-manager h3{margin:0 0 1rem;color:#f0c674}.portrait-manager h4{margin:0 0 .5rem;color:#ddd;font-size:1rem}.portrait-stats{display:flex;gap:1.5rem;margin-bottom:1.5rem;padding:1rem;background:#16213e;border-radius:8px}.portrait-stats .stat{display:flex;flex-direction:column;align-items:center}.portrait-stats .stat-value{font-size:1.5rem;font-weight:700;color:#f0c674}.portrait-stats .stat-label{font-size:.8rem;color:#888;text-transform:uppercase}.generation-progress{margin-bottom:1.5rem;padding:1rem;background:#1a3a5c;border-radius:8px}.generation-progress .progress-text{margin-bottom:.5rem;color:#81a1c1}.generation-progress .current-item{color:#888;font-size:.85rem}.generation-progress .progress-bar{height:8px;background:#0f1729;border-radius:4px;overflow:hidden}.generation-progress .progress-fill{height:100%;background:linear-gradient(90deg,#f0c674,#e0b654);border-radius:4px;transition:width .3s ease}.prompt-config{background:#16213e;border-radius:8px;padding:1rem;margin-bottom:1rem}.prompt-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.prompt-header h4{margin:0;color:#ddd;font-size:1rem}.prompt-actions{display:flex;gap:.5rem}.btn-small{padding:.3rem .6rem;font-size:.8rem}.prompt-editor{display:flex;flex-direction:column;gap:.75rem}.prompt-field label{display:block;font-size:.85rem;color:#888;margin-bottom:.25rem}.prompt-field textarea{width:100%;padding:.5rem;background:#0f1729;border:1px solid #1a2a4a;border-radius:4px;color:#eee;font-family:inherit;font-size:.9rem;resize:vertical}.prompt-field textarea:focus{outline:none;border-color:#f0c674}.prompt-field-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.prompt-field-header label{margin-bottom:0}.prompt-presets .preset-list{display:flex;flex-wrap:wrap;gap:.5rem}.prompt-presets .preset-item{display:flex;align-items:center;gap:.25rem}.preset-load{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preset-delete{padding:.15rem .4rem!important;font-size:.9rem;line-height:1}.btn-tiny{padding:.2rem .5rem;font-size:.8rem}.save-preset-inline{display:flex;align-items:center;gap:.35rem}.preset-name-input{width:120px;padding:.2rem .4rem;font-size:.85rem;background:#0f1729;border:1px solid #1a2a4a;border-radius:4px;color:#eee}.preset-name-input:focus{outline:none;border-color:#f0c674}.prompt-preview{background:#0f1729;border-radius:4px;padding:.75rem}.prompt-text{font-size:.9rem;color:#ccc;line-height:1.4}.prompt-style{font-size:.85rem;color:#888;margin-top:.5rem;font-style:italic}.model-select{width:100%;padding:.5rem;background:#0f1729;border:1px solid #333;border-radius:4px;color:#e0e0e0;font-size:.9rem;cursor:pointer}.model-select:hover{border-color:#555}.model-select:focus{outline:none;border-color:#6a8cff}.model-display{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;flex-wrap:wrap}.model-label{color:#888;font-size:.85rem}.model-value{color:#6a8cff;font-weight:500}.rate-limit-badge{background:#1a2744;border:1px solid #2a4070;color:#88a4d4;padding:.2rem .5rem;border-radius:4px;font-size:.75rem;margin-left:auto;cursor:help}.rate-limit-badge:hover{background:#243050;border-color:#3a5080}.generation-controls{background:#16213e;border-radius:8px;padding:1rem;margin-bottom:1.5rem}.generation-controls .help-text{color:#888;font-size:.9rem;margin-bottom:1rem}.checkbox-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1rem}.checkbox-group{background:#0f1729;border-radius:6px;padding:.75rem}.checkbox-group-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px solid #1a2a4a}.checkbox-group-label{display:flex;align-items:center;gap:.5rem;font-weight:700;color:#ddd;cursor:pointer}.checkbox-group-label input[type=checkbox]{width:16px;height:16px;cursor:pointer}.missing-badge{font-size:.7rem;padding:.15rem .4rem;background:#3d1a1a;color:#e88;border-radius:3px}.checkbox-group-options{display:flex;flex-direction:column;gap:.25rem}.checkbox-option{display:flex;align-items:center;gap:.5rem;padding:.25rem;cursor:pointer;border-radius:4px;transition:background .15s}.checkbox-option:hover{background:#1a2a4a}.checkbox-option input[type=checkbox]{width:14px;height:14px;cursor:pointer}.checkbox-option span{font-size:.9rem;color:#ccc}.generation-summary{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-top:1rem;border-top:1px solid #1a2a4a}.generation-count-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.count-label{display:flex;align-items:center;gap:.5rem;color:#aaa;font-size:.9rem}.count-input{width:60px;padding:.35rem .5rem;background:#0f1729;border:1px solid #1a2a4a;border-radius:4px;color:#eee;font-size:.9rem;text-align:center}.count-input:focus{outline:none;border-color:#f0c674}.generation-summary .combination-count{color:#81a1c1;font-size:.95rem}.generation-summary .missing-only-toggle{display:flex;align-items:center;gap:.4rem;cursor:pointer;padding:.25rem .5rem;background:#81a1c126;border-radius:4px;font-size:.9rem;color:#81a1c1;-webkit-user-select:none;user-select:none}.generation-summary .missing-only-toggle:hover{background:#81a1c140}.generation-summary .missing-only-toggle input{margin:0;cursor:pointer}.generation-summary .missing-in-selection{color:#ebcb8b;font-size:.9rem;font-weight:500;padding:.25rem .5rem;background:#ebcb8b26;border-radius:4px}.generation-summary .missing-in-selection.all-covered{color:#a3be8c;background:#a3be8c26}.generation-summary .generate-btn{min-width:120px;flex-shrink:0}.pending-review{background:#16213e;border-radius:8px;padding:1rem}.pending-header h4{margin:0}.pending-actions .btn-secondary,.pending-actions .btn-danger{padding:.4rem .8rem;font-size:.85rem}.btn-danger{background:#8b3a3a;color:#fff;border:none;border-radius:6px;cursor:pointer;transition:background .2s}.btn-danger:hover{background:#a04545}.pending-portrait{background:#0f1729;border-radius:8px;overflow:hidden;display:flex;flex-direction:column;position:relative}.pending-portrait img{width:100%;aspect-ratio:3/4;object-fit:cover;background:#1a1a2e;cursor:zoom-in;transition:transform .2s ease}.pending-portrait:hover img{transform:scale(1.02)}.portrait-lightbox{position:fixed;inset:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:1000;cursor:zoom-out;padding:2rem}.portrait-lightbox img{max-width:90%;max-height:90%;object-fit:contain;border-radius:8px;box-shadow:0 0 60px #00000080}.portrait-lightbox-info{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);background:#000c;padding:.75rem 1.5rem;border-radius:8px;color:#ccc;text-align:center}.portrait-lightbox-info .lightbox-title{font-size:1.1rem;color:#f0c674;margin-bottom:.25rem}.portrait-lightbox-info .lightbox-details{font-size:.9rem;color:#888}.pending-info{padding:.5rem;display:flex;flex-direction:column;gap:.2rem}.pending-id{font-size:.85rem;color:#ddd;font-weight:500}.pending-details{font-size:.75rem;color:#888}.pending-buttons{display:flex;border-top:1px solid #1a2a4a}.pending-buttons button{flex:1;padding:.5rem;border:none;cursor:pointer;font-size:1rem;transition:background .15s}.btn-accept{background:#1a3a2a;color:#4a9}.btn-accept:hover{background:#2a5a3a}.btn-reject{background:#3a1a1a;color:#a55}.btn-reject:hover{background:#5a2a2a}.portrait-manager .error-message{background:#4a2020;color:#e88;padding:.75rem 1rem;border-radius:6px;margin-bottom:1rem}.generation-buttons{display:flex;gap:.75rem;margin-top:.5rem}.generation-buttons .generate-btn{flex:1}.batch-btn{white-space:nowrap}.batch-jobs-panel{background:#16213e;border-radius:8px;padding:1rem;margin-top:1.5rem}.batch-jobs-panel h4{margin:0 0 1rem;color:#f0c674}.batch-jobs-list{display:flex;flex-direction:column;gap:.75rem}.batch-job{background:#0f1729;border-radius:6px;padding:.75rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;border-left:3px solid #444}.batch-job.succeeded{border-left-color:#4a9}.batch-job.imported{border-left-color:#6a8cff;opacity:.7}.batch-job-info{flex:1;min-width:0}.batch-job-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.25rem}.batch-job-name{font-weight:500;color:#ddd;font-size:.9rem}.batch-job-state{font-size:.7rem;padding:.15rem .4rem;border-radius:3px;text-transform:uppercase;font-weight:600}.batch-job-state.state-pending{background:#3a3a20;color:#cc9}.batch-job-state.state-running{background:#203a3a;color:#9cc}.batch-job-state.state-succeeded{background:#1a3a2a;color:#4a9}.batch-job-state.state-failed{background:#3a1a1a;color:#a55}.batch-job-details{display:flex;flex-wrap:wrap;gap:.5rem 1rem;font-size:.75rem;color:#888}.batch-job-details .imported-badge{color:#6a8cff}.batch-job-actions{display:flex;gap:.5rem;flex-shrink:0}.btn-small{padding:.35rem .6rem;font-size:.8rem;border:none;border-radius:4px;cursor:pointer;transition:background .15s}.btn-small.btn-secondary{background:#2a3a5a;color:#aac}.btn-small.btn-secondary:hover{background:#3a4a6a}.btn-small.btn-primary{background:#2a5a3a;color:#afa}.btn-small.btn-primary:hover{background:#3a6a4a}.btn-small.btn-danger{background:#4a2a2a;color:#c88}.btn-small.btn-danger:hover{background:#5a3a3a}.option-image-manager{padding:1rem;height:calc(100vh - 120px);overflow:hidden}.option-manager-layout{display:flex;gap:1rem;height:100%}.option-manager-left{width:350px;flex-shrink:0;display:flex;flex-direction:column;gap:.5rem;overflow:hidden}.option-manager-right{flex:1;display:flex;flex-direction:column;gap:1rem;overflow-y:auto;padding-right:.5rem}.selection-bar{display:flex;gap:.5rem}.selection-bar button{flex:1;background:#2a3a5a;color:#aac;border:none;padding:.4rem .5rem;border-radius:4px;cursor:pointer;font-size:.8rem}.selection-bar button:hover:not(:disabled){background:#3a4a6a}.selection-bar button:disabled{opacity:.5;cursor:not-allowed}.option-stats-bar{display:flex;gap:1.5rem;padding:.75rem 1rem;background:#1a2a3a;border-radius:8px;flex-shrink:0}.option-stats-bar .stat{display:flex;flex-direction:column;align-items:center}.option-stats-bar .stat-value{font-size:1.5rem;font-weight:700;color:#7a9}.option-stats-bar .stat-value.missing{color:#c77}.option-stats-bar .stat-value.pending{color:#ca7}.option-stats-bar .stat-label{font-size:.8rem;color:#889}.prompt-config-section{background:#1a2a3a;border-radius:8px;padding:1rem;margin-bottom:1.5rem}.prompt-config-section h3{margin:0 0 1rem;color:#9ab;font-size:1rem}.prompt-fields{display:flex;flex-direction:column;gap:.75rem}.prompt-fields label{display:flex;flex-direction:column;gap:.25rem;color:#889;font-size:.85rem}.prompt-fields textarea{background:#0d1520;border:1px solid #2a3a4a;border-radius:4px;color:#cde;padding:.5rem;font-family:inherit;font-size:.9rem;resize:vertical}.prompt-options{display:flex;gap:1rem}.prompt-options label{flex-direction:row;align-items:center;gap:.5rem}.prompt-options select{background:#0d1520;border:1px solid #2a3a4a;border-radius:4px;color:#cde;padding:.35rem .5rem}.save-config-btn{align-self:flex-start;background:#2a5a3a;color:#afa;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;margin-top:.5rem}.save-config-btn:hover{background:#3a6a4a}.option-filters{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:#1a2a3a;border-radius:8px;flex-shrink:0}.option-filters label{display:flex;align-items:center;gap:.5rem;color:#889;font-size:.85rem}.option-filters select{flex:1;background:#0d1520;border:1px solid #2a3a4a;border-radius:4px;color:#cde;padding:.35rem .5rem;font-size:.85rem}.checkbox-label,.checkbox-label input{cursor:pointer}.generation-actions{display:flex;gap:.75rem;flex-shrink:0}.generate-btn,.batch-btn{padding:.6rem 1.2rem;border:none;border-radius:4px;cursor:pointer;font-size:.95rem}.generate-btn{background:#2a5a3a;color:#afa}.generate-btn:hover:not(:disabled){background:#3a6a4a}.batch-btn{background:#3a4a6a;color:#aac}.batch-btn:hover:not(:disabled){background:#4a5a7a}.generate-btn:disabled,.batch-btn:disabled{opacity:.5;cursor:not-allowed}.generation-progress{background:#1a2a3a;padding:.75rem 1rem;border-radius:4px;flex-shrink:0}.generation-progress .progress-bar{height:6px;background:#0d1520;border-radius:3px;overflow:hidden;margin-bottom:.5rem}.generation-progress .progress-fill{height:100%;background:#4a8;transition:width .3s}.generation-progress span{font-size:.85rem;color:#9ab}.options-list{background:#1a2a3a;border-radius:8px;overflow-y:auto;flex:1;min-height:0}.category-section{border-bottom:1px solid #2a3a4a}.category-section:last-child{border-bottom:none}.category-header{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#1a2a3a;cursor:pointer;-webkit-user-select:none;user-select:none}.category-header:hover{background:#1e2e3e}.expand-icon{font-size:.75rem;color:#667;width:1rem}.category-name{font-weight:500;color:#9ab}.category-count{font-size:.85rem;color:#667}.category-options{padding:.5rem;display:flex;flex-direction:column;gap:.25rem;background:#151f2a}.option-item{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;border-radius:4px;cursor:pointer;transition:background .15s}.option-item:hover{background:#1a2a3a}.option-item.selected{background:#2a3a5a}.option-item.missing-image{border-left:3px solid #c77}.option-item.has-image{border-left:3px solid #4a8}.option-item input[type=checkbox]{cursor:pointer}.option-thumbnail{width:40px;height:40px;border-radius:4px;overflow:hidden;flex-shrink:0}.option-thumbnail img{width:100%;height:100%;object-fit:cover}.option-thumbnail .no-image{width:100%;height:100%;background:#2a3a4a;display:flex;align-items:center;justify-content:center;color:#667;font-size:1.2rem}.option-info{display:flex;flex-direction:column;gap:.1rem;flex:1;min-width:0}.option-name{color:#cde;font-size:.9rem}.option-subcategory{font-size:.75rem;color:#667}.drawback-badge{font-size:.7rem;background:#5a3a3a;color:#c88;padding:.15rem .4rem;border-radius:3px}.pending-review-section{background:#1a2a3a;border-radius:8px;padding:1rem;flex-shrink:0}.pending-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.pending-header h3{margin:0;color:#ca7;font-size:1rem}.pending-actions{display:flex;gap:.5rem}.pending-actions button{padding:.4rem .75rem;border:none;border-radius:4px;cursor:pointer;font-size:.85rem}.accept-all-btn{background:#2a5a3a;color:#afa}.accept-all-btn:hover{background:#3a6a4a}.reject-all-btn{background:#5a3a3a;color:#c88}.reject-all-btn:hover{background:#6a4a4a}.pending-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem}.pending-image-card{background:#151f2a;border-radius:6px;overflow:hidden}.pending-image-card img{width:100%;aspect-ratio:1;object-fit:cover;cursor:pointer}.pending-image-card img:hover{opacity:.9}.pending-image-info{padding:.5rem;display:flex;flex-direction:column;gap:.1rem}.pending-image-name{color:#cde;font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pending-image-category{font-size:.75rem;color:#667}.pending-image-actions{display:flex;gap:0}.pending-image-actions button{flex:1;padding:.5rem;border:none;cursor:pointer;font-size:1rem}.pending-image-actions .accept-btn{background:#2a5a3a;color:#afa}.pending-image-actions .accept-btn:hover{background:#3a6a4a}.pending-image-actions .reject-btn{background:#5a3a3a;color:#c88}.pending-image-actions .reject-btn:hover{background:#6a4a4a}.editor-controls{display:flex;gap:.5rem;align-items:center}.option-images-btn{padding:.5rem 1rem;border:1px solid #3a5a7a;background:transparent;color:#7a9aba;border-radius:4px;cursor:pointer;transition:all .2s}.option-images-btn:hover{background:#2a3a5a;color:#9abadc}.option-images-btn.active{background:#3a5a7a;color:#fff}.option-lightbox{position:fixed;inset:0;background:#000000f2;display:flex;align-items:center;justify-content:center;z-index:1000;cursor:zoom-out;padding:2rem}.option-lightbox img{max-width:90%;max-height:90%;object-fit:contain;border-radius:8px;box-shadow:0 0 60px #00000080}.prompt-config-section{background:#1a2a3a;border-radius:8px;flex-shrink:0}.prompt-config-section summary{padding:.75rem 1rem;cursor:pointer;color:#9ab;font-size:.9rem;font-weight:500;-webkit-user-select:none;user-select:none}.prompt-config-section summary:hover{color:#abc}.prompt-config-section[open] summary{border-bottom:1px solid #2a3a4a}.prompt-config-section .prompt-fields{padding:1rem}.character-review{max-width:1200px;margin:0 auto;padding:2rem;min-height:100vh;display:flex;flex-direction:column}.review-header{text-align:center;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:2px solid #0f3460}.review-header h1{margin:0 0 .5rem;font-size:2rem;color:#f0c674}.review-subtitle{color:#888;margin:0;font-size:1.1rem}.review-content{display:grid;grid-template-columns:420px 1fr;gap:2rem;flex:1}.review-overview{background:#16213e;border:1px solid #0f3460;border-radius:8px;padding:1.5rem;height:fit-content;position:sticky;top:1rem}.review-portrait{width:100%;aspect-ratio:3 / 4;background:#0f1729;border-radius:8px;overflow:hidden;margin-bottom:1.5rem}.review-portrait img{width:100%;height:100%;object-fit:cover}.review-identity{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #0f3460}.review-name{margin:0 0 .75rem;font-size:1.5rem;color:#f0c674}.review-attributes{margin-bottom:1.5rem}.review-attributes h3,.review-traits h3{margin:0 0 .75rem;font-size:.9rem;color:#888;text-transform:uppercase;letter-spacing:.05em}.attributes-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem 1rem}.attr-item{display:flex;justify-content:space-between;align-items:center;padding:.4rem .6rem;background:#0f1729;border-radius:4px;font-size:.85rem;min-width:0}.attr-name{color:#888;white-space:nowrap;margin-right:.5rem}.attr-value{white-space:nowrap;text-align:right}.attr-value.positive{color:#4ade80}.attr-value.negative{color:#fca5a5}.review-traits .traits-list{display:flex;flex-wrap:wrap;gap:.35rem}.review-selections{background:#16213e;border:1px solid #0f3460;border-radius:8px;padding:1.5rem}.review-selections>h3{margin:0 0 1.5rem;font-size:1.2rem;color:#f0c674;padding-bottom:.75rem;border-bottom:1px solid #0f3460}.review-categories-grid{column-count:2;column-gap:2rem}.review-category{break-inside:avoid;margin-bottom:1.5rem}.review-category h4{margin:0 0 .75rem;font-size:.9rem;color:#9ab;text-transform:uppercase;letter-spacing:.05em}.review-options{display:flex;flex-wrap:wrap;gap:.75rem}.review-option{display:flex;align-items:center;gap:.75rem;background:#0f1729;border:1px solid #1a2744;border-radius:6px;padding:.5rem .75rem;min-width:180px;position:relative;cursor:pointer;transition:all .2s ease}.review-option:hover{border-color:#3b82f6;background:#111b2e}.review-option.drawback{border-color:#7f1d1d;background:linear-gradient(135deg,#0f1729,#1a1020)}.review-option.drawback:hover{border-color:#dc2626}.review-option-image{width:40px;height:40px;border-radius:4px;object-fit:cover;background:#1a2744}.review-option-info{display:flex;align-items:center;gap:.5rem;flex:1}.review-option-name{font-size:.95rem;color:#ddd}.review-option .fate-badge{font-size:.75rem;padding:.15rem .4rem;border-radius:3px}.review-option .fate-badge.positive{background:#166534;color:#4ade80}.review-option .fate-badge.negative{background:#7f1d1d;color:#fca5a5}.review-tooltip-overlay{position:fixed;inset:0;pointer-events:none;z-index:1000}.review-option-tooltip{position:fixed;background:#1a2744;border:1px solid #3b82f6;border-radius:8px;padding:1rem;width:300px;z-index:1001;box-shadow:0 10px 40px #00000080;pointer-events:auto;animation:tooltipFadeIn .15s ease}.review-option-tooltip:before{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border:8px solid transparent;border-bottom-color:#3b82f6}@keyframes tooltipFadeIn{0%{opacity:0}to{opacity:1}}.tooltip-image{width:100%;aspect-ratio:1 / 1;object-fit:cover;border-radius:6px;margin-bottom:.75rem}.tooltip-content{display:flex;flex-direction:column;gap:.5rem}.tooltip-name{margin:0;font-size:1rem;color:#f0c674}.tooltip-description{margin:0;font-size:.85rem;color:#aaa;line-height:1.4}.tooltip-traits{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.25rem}.tooltip-traits .trait-tag,.tooltip-trait{font-size:.7rem;padding:.15rem .4rem;background:#312e81;color:#a5b4fc;border-radius:3px}.tooltip-attributes{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.5rem}.tooltip-attr{font-size:.75rem;padding:.15rem .4rem;border-radius:3px}.tooltip-attr.positive{background:#22c55e33;color:#4ade80}.tooltip-attr.negative{background:#ef444433;color:#f87171}.review-actions{display:flex;justify-content:center;gap:1.5rem;margin-top:2rem;padding-top:2rem;border-top:2px solid #0f3460}.review-back-btn,.review-confirm-btn{padding:1rem 2rem;font-size:1.1rem;font-family:inherit;border-radius:8px;cursor:pointer;transition:all .2s ease}.review-back-btn{background:#16213e;border:1px solid #0f3460;color:#888}.review-back-btn:hover{background:#1a2744;border-color:#1a4a7a;color:#aaa}.review-confirm-btn{background:linear-gradient(135deg,#166534,#15803d);border:1px solid #22c55e;color:#fff;font-weight:600;box-shadow:0 0 15px #22c55e33}.review-confirm-btn:hover{background:linear-gradient(135deg,#15803d,#16a34a);box-shadow:0 0 25px #22c55e4d;transform:translateY(-1px)}@media(max-width:900px){.review-content{grid-template-columns:1fr}.review-overview{position:static;display:grid;grid-template-columns:200px 1fr;gap:1.5rem}.review-portrait{margin-bottom:0}}.category-editor-modal{padding:1.5rem}.category-editor-modal h2{margin:0 0 1rem;color:#f0c674;font-size:1.25rem}.category-editor-modal .editor-error{background:#e74c3c33;border:1px solid #e74c3c;border-radius:6px;padding:.75rem 1rem;margin-bottom:1rem;color:#e74c3c}.category-editor-modal .editor-form{display:flex;flex-direction:column;gap:.5rem}.category-editor-modal .form-group{display:flex;flex-direction:column;gap:.35rem}.category-editor-modal .form-group label{font-size:.85rem;color:#aaa}.category-editor-modal .label-hint{font-size:.75rem;color:#666;margin-left:.5rem}.category-editor-modal input,.category-editor-modal textarea{background:#0f1729;border:1px solid #0f3460;border-radius:6px;padding:.5rem .75rem;color:#eee;font-family:inherit;font-size:.9rem}.category-editor-modal input:focus,.category-editor-modal textarea:focus{outline:none;border-color:#f0c674}.category-editor-modal input[type=number]{width:80px}.category-editor-modal .form-row{display:flex;gap:1rem}.category-editor-modal .field-hint{font-size:.7rem;color:#666;margin-top:.25rem}.category-editor-modal .picks-preview{background:#f0c6741a;border:1px solid rgba(240,198,116,.3);border-radius:6px;padding:.5rem .75rem;margin-top:.5rem}.category-editor-modal .preview-text{font-size:.85rem;color:#f0c674}.category-editor-modal .category-stats{font-size:.8rem;color:#888;margin-top:.5rem}.category-editor-modal .modal-actions{display:flex;gap:.75rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid #0f3460}.category-editor-modal .modal-actions .spacer{flex:1}.category-editor-modal .btn-primary,.category-editor-modal .btn-secondary,.category-editor-modal .btn-delete{padding:.5rem 1rem;border-radius:6px;font-family:inherit;font-size:.9rem;cursor:pointer;transition:all .2s ease}.category-editor-modal .btn-primary{background:linear-gradient(135deg,#166534,#15803d);border:1px solid #22c55e;color:#fff}.category-editor-modal .btn-primary:hover{background:linear-gradient(135deg,#15803d,#16a34a)}.category-editor-modal .btn-secondary{background:#16213e;border:1px solid #0f3460;color:#888}.category-editor-modal .btn-secondary:hover{background:#1a2744;color:#aaa}.category-editor-modal .btn-delete{background:#e74c3c33;border:1px solid #e74c3c;color:#e74c3c}.category-editor-modal .btn-delete:hover{background:#e74c3c4d}.category-editor-modal button:disabled{opacity:.5;cursor:not-allowed}
